5a8f0b40aea9e872010fd370711e6ae8e3e94162
[gnulib.git] / ChangeLog
1 2010-07-30  Bruno Haible  <bruno@clisp.org>
2
3         truncl: Fix autoconf test.
4         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
5         whether truncl works.
6         Reported by Rainer Tammer.
7
8 2010-07-30  Bruno Haible  <bruno@clisp.org>
9
10         round: Update regarding AIX.
11         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
12         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
13         Reported by Rainer Tammer.
14
15 2010-07-30  Bruno Haible  <bruno@clisp.org>
16
17         rename: Update regarding AIX.
18         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
19         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
20         Reported by Rainer Tammer.
21
22 2010-07-30  Bruno Haible  <bruno@clisp.org>
23
24         printf.m4: Update regarding AIX.
25         * m4/printf.m4: Update comments regarding AIX.
26         Reported by Rainer Tammer.
27
28 2010-07-30  Bruno Haible  <bruno@clisp.org>
29
30         iconv: Update regarding AIX.
31         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
32         AIX 7.
33         Reported by Rainer Tammer.
34
35 2010-07-30  Bruno Haible  <bruno@clisp.org>
36
37         getopt: Update regarding AIX.
38         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
39         no on AIX.
40         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
41         Reported by Rainer Tammer.
42
43 2010-07-30  Bruno Haible  <bruno@clisp.org>
44
45         ldexpl; Update regarding AIX.
46         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
47         on AIX 7.
48         Reported by Rainer Tammer.
49
50 2010-07-30  Bruno Haible  <bruno@clisp.org>
51
52         frexpl: Update regarding AIX.
53         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
54         on AIX 7.
55         Reported by Rainer Tammer.
56
57 2010-07-30  Bruno Haible  <bruno@clisp.org>
58
59         open, fopen: Update regarding AIX.
60         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
61         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
62         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
63         * doc/posix-functions/fopen.texi: Likewise.
64         Reported by Rainer Tammer.
65
66 2010-07-30  Bruno Haible  <bruno@clisp.org>
67
68         chown: Update doc regarding AIX.
69         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
70         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
71         Reported by Rainer Tammer.
72
73 2010-07-30  Eric Blake  <eblake@redhat.com>
74
75         strtod: fix bug in replacement function on AIX
76         * lib/strtod.c (strtod): Special case broken "0x" parse in
77         underlying strtod.
78         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
79         * doc/posix-functions/strtod.texi (strtod): Likewise.
80         Reported by Rainer Tammer.
81
82 2010-07-30  Bruno Haible  <bruno@clisp.org>
83
84         mbrlen: Fix cross-compilation guess for AIX.
85         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
86         guess. Leftover from 2008-12-22.
87
88 2010-07-30  Bruno Haible  <bruno@clisp.org>
89
90         mbrtowc: Fix cross-compilation guess for AIX.
91         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
92         guess. Leftover from 2008-12-21.
93
94 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
95
96         init.sh: work around trap limitation of some shells
97         * tests/init.sh (setup_): Move exit trap outside of shell function.
98
99 2010-07-29  Eric Blake  <eblake@redhat.com>
100
101         strtod: aid debugging
102         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
103         understanding why strtod is rejected.
104
105 2010-07-28  Bruno Haible  <bruno@clisp.org>
106
107         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
108         * lib/unistr/u8-chr.c: Include <string.h>.
109         * tests/unistr/test-u8-chr.c: Likewise.
110         * tests/unistr/test-u16-chr.c: Likewise.
111         * tests/unistr/test-u32-chr.c: Likewise.
112         * tests/unistr/test-u8-strchr.c: Likewise.
113         * tests/unistr/test-u16-strchr.c: Likewise.
114         * tests/unistr/test-u32-strchr.c: Likewise.
115         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
116         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
117         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
118         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
119
120 2010-07-28  Bruno Haible  <bruno@clisp.org>
121
122         Use spaces for indentation, not tabs.
123         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
124
125 2010-07-27  Bruno Haible  <bruno@clisp.org>
126
127         mbspcasecmp: Fix function specification.
128         * lib/string.in.h (mbspcasecmp): Fix specification comment.
129         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
130         Reported by Eric Blake <eblake@redhat.com>.
131
132 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
133
134         timespec: use cast and not conditional, as truncation isn't possible
135         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
136         instead of a conditional.  Comment about the situation in more detail.
137         This undoes most of the 2009-10-29 patch.
138
139 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
140
141         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
142         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
143         * lib/unistr/u8-strchr.c: Likewise.
144         * modules/unistr/u8-chr: Depend on memchr.
145
146         unistr/u*-strchr: add tests
147         * modules/unistr/u8-strchr-tests: New file.
148         * modules/unistr/u16-strchr-tests: New file.
149         * modules/unistr/u32-strchr-tests: New file.
150         * tests/unistr/test-strchr.h: New file.
151         * tests/unistr/test-u8-strchr.c: New file.
152         * tests/unistr/test-u16-strchr.c: New file.
153         * tests/unistr/test-u32-strchr.c: New file.
154
155         unistr/u*-chr: test multibyte sequences more
156         * tests/unistr/test-chr.h: Do complete testing of the characters in the
157         test vector.
158         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
159         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
160         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
161
162         unistr/u*-chr: test multibyte sequences
163         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
164
165         unistr/u*-chr: prepare for multibyte tests
166         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
167         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
168         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
169         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
170         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
171         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
172
173 2010-07-18  Bruno Haible  <bruno@clisp.org>
174
175         unistr/u8-strchr: Optimize non-ASCII argument case.
176         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
177         because the first byte often matches anyway.
178         Reported by Pádraig Brady <P@draigbrady.com>.
179
180 2010-07-15  Karl Berry  <karl@gnu.org>
181
182         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
183
184 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
185
186         getcwd: on Solaris, work better if ancestors are inaccessible
187         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
188         buffer and size, try again with a large buffer.  This works better
189         on Solaris, since its getcwd succeeds even if the path to the root
190         is inaccessible, and this is helpful in common cases such as .zfs
191         hidden directories.  Problem reported by J Chapman Flack in
192         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
193         Use system getcwd if it's declared, not merely if it's partly
194         working; use the partly-working test only to avoid needless effort
195         if the system getcwd fails.
196         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
197         comment that was already obsolete and is now even more obsolete.
198         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
199         now might call strdup.
200
201 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
202
203         pthread: Add enough so that coreutils/src/sort.c compiles.
204         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
205         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
206         gnulib. Include <sched.h> and <time.h>, as per POSIX.
207         Include <sys/types.h>, in case it defines pthread_t.
208         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
209         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
210         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
211         (pthread_rwlockattr_t, pthread_spinlock_t):
212         New typedefs, if HAVE_PTHREAD_T is not defined.
213         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
214         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
215         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
216         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
217         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
218         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
219         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
220         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
221         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
222         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
223         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
224         New macros.
225         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
226         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
227         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
228         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
229         (pthread_spin_unlock): New dummy functions.
230         (pthread_create): Return EAGAIN; don't set errno.
231         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
232         require AC_C_INLINE.
233         * modules/pthread (Depends-on): Add sched, time.
234         (pthread.h): Use AM_V_GEN.
235
236 2010-07-13  Bruno Haible  <bruno@clisp.org>
237
238         striconveh: Don't malloc memory if the result buffer is sufficient.
239         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
240         buffer if its size is sufficient.
241         Reported by Ludovic Courtès <ludo@gnu.org>.
242
243 2010-07-13  Bruno Haible  <bruno@clisp.org>
244
245         strtod: Add safety check.
246         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
247
248 2010-07-12  Bruno Haible  <bruno@clisp.org>
249
250         Unify tests that set gl_cv_func_ldexpl_no_libm.
251         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
252         gl_FUNC_LDEXPL.
253         (gl_FUNC_LDEXPL): Invoke it.
254         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
255
256 2010-07-12  Bruno Haible  <bruno@clisp.org>
257
258         Unify tests that set gl_cv_func_ldexp_no_libm.
259         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
260         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
261         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
262         (configure.ac): Simply invoke gl_FUNC_LDEXP.
263         * modules/strtod (Files): Add m4/ldexp.m4.
264
265 2010-07-12  Bruno Haible  <bruno@clisp.org>
266
267         Unify tests that set gl_cv_func_frexpl_no_libm.
268         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
269         gl_FUNC_FREXPL_NO_LIBM.
270         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
271         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
272
273 2010-07-12  Bruno Haible  <bruno@clisp.org>
274
275         Unify tests that set gl_cv_func_frexp_no_libm.
276         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
277         gl_FUNC_FREXP_NO_LIBM.
278         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
279         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
280
281 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
282
283         memcoll: clarify sizes versus lengths, document better, and tweak perf
284         * lib/memcoll.c (strcoll_loop, memcoll0):
285         Improve quality of descriptive comments.  Name variables
286         consistently as to whether they are lengths (which do not include
287         terminating null) versus sizes (which do).
288         * lib/xmemcoll.c (xmemcoll0): Likewise.
289         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
290         returned when s1size == 0; this is easier to compile and saves
291         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
292
293 2010-07-12  Bruno Haible  <bruno@clisp.org>
294
295         Tests for module '_Exit'.
296         * modules/_Exit-tests: New file.
297         * tests/test-_Exit.sh: New file.
298         * tests/test-_Exit.c: New file.
299
300         New module '_Exit'.
301         * lib/stdlib.in.h (__attribute__): New macro.
302         (_Exit): New declaration.
303         * lib/_Exit.c: New file.
304         * m4/_Exit.m4: New file.
305         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
306         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
307         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
308         * modules/_Exit: New file.
309         * tests/test-stdlib-c++.cc (_Exit): Check signature.
310         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
311
312 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
313
314         strtod: make it more-accurate typically, and don't require libm
315         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
316         Include limits.h.  Don't include string.h.
317         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
318         (locale_isspace): New function, so that no casts are needed to
319         check whether *s is a space.
320         (ldexp): Provide an unused dummy if not available.
321         (scale_radix_exp, parse_number, underlying_strtod): New functions.
322         (strtod): Use them.  This implementation prefers to use the
323         underlying strtod if available, falling back on our own code
324         only to fix known bugs.  This is more likely to produce an
325         accurate result.  Also, it avoids the use of libm functions.
326         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
327         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
328         was absent, but it caused a test failure with coreutils.
329         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
330         with libm.
331         * modules/strtod (Makefile.am, Link): libm is no longer needed.
332         * modules/strtod-tests (Makefile.am): Likewise.
333
334 2010-07-11  Pádraig Brady  <P@draigBrady.com>
335             Bruno Haible  <bruno@clisp.org>
336
337         unistr/u8-strchr: Optimize ASCII argument case.
338         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
339
340 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
341
342         (x)memcoll: minor tweaks
343         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
344         is after the type that it qualifies.
345         (memcoll0): Likewise.
346         * lib/memcoll.h (memcoll0): Likewise.
347         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
348         * lib/xmemcoll.h (xmemcoll0): Likewise.
349         * lib/memcoll.c (memcoll0): Correct the comment.  This function
350         differs from memcoll in that the NUL byte is part of the argument.
351         Omit the abort-checks, as performance is a real issue here.  Plus,
352         the checks were wrong anyway (an off-by-one error).  Omit local
353         variable 'diff', as it's a bit clearer that way.
354         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
355         no longer needed.
356
357 2010-07-08  Chen Guo <chenguo4@yahoo.com>
358
359         (x)memcoll: speedup when input is known to be NUL delimited
360         * lib/memcoll.c: Include stdlib.
361         (memcoll0) New function.
362         (strcoll_loop) New function, refactored for use in both memcoll
363         and memcoll0.
364         * lib/memcoll.h: Add prototype for memcoll0.
365         * lib/xmemcoll.c: (xmemcoll0) New function.
366         (collate_error) New function, refactored for use in both xmemcoll
367         and xmemcoll0.
368         * lib/xmemcoll.h: Add prototype for xmemcoll0.
369         * m4/memcoll.m4: add inline invocation.
370
371 2010-07-06  Pádraig Brady  <P@draigBrady.com>
372
373         * build-aux/bootstrap: Remove any local translations
374         from the translation project synchronization directory,
375         so that local only translations are not distributed.
376
377 2010-07-04  Bruno Haible  <bruno@clisp.org>
378
379         fsusage: Clarify which code applies to which platforms.
380         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
381         platform.
382         * lib/fsusage.c (get_fs_usage): Likewise.
383
384 2010-07-04  Bruno Haible  <bruno@clisp.org>
385
386         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
387         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
388         Reported by Martin Lambers <marlam@marlam.de>.
389
390 2010-07-04  Jim Meyering  <meyering@redhat.com>
391
392         hash: once again explicitly disallow insertion of NULL
393         * lib/hash.c (hash_insert0): Reinstate just-removed test:
394         inserting a NULL pointer cannot work with these functions.
395         Add a comment with details.
396         This reverts part of the 2010-07-01 commit, 5bef1a35
397         "hash: extend module to deal with non-pointer keys".
398
399 2010-07-01  Bruno Haible  <bruno@clisp.org>
400
401         stdbool: Update doc.
402         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
403         Info from Christian Weisgerber <naddy@mips.inka.de>.
404
405 2010-07-01  Jim Meyering  <meyering@redhat.com>
406
407         hash: extend module to deal with non-pointer keys
408         * lib/hash.c (hash_insert0): New interface, much like hash_insert
409         but that allows insertion of non-pointer entries.
410         Do not disallow an ENTRY value of NULL.
411         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
412         * lib/hash.h (hash_insert0): Declare.
413
414 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
415
416         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
417         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
418         not present (i.e. with autoconf 2.59 and when using gettextize, not
419         gnulib), require AC_GNU_SOURCE instead.
420
421 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
422
423         idpriv-drop: Fix tests.
424         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
425         not to the test-idpriv-droptemp program.
426
427 2010-06-29  Bruno Haible  <bruno@clisp.org>
428
429         string: Fix syntax error with g++ 2.96.
430         * lib/string.in.h (__pure__): Remove definition.
431         (_GL_ATTRIBUTE_PURE): New macro.
432         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
433         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
434         Reported by Christian Weisgerber <naddy@mips.inka.de>.
435
436 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
437
438         unitypes: Fix bug introduced on 2010-05-18.
439         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
440
441 2010-06-22  Eric Blake  <eblake@redhat.com>
442
443         memmem: slight optimization
444         * lib/str-two-way.h (critical_factorization): Update comments.
445         Reduce work during factorization phase.
446         Reported by Carlos Bueno <carlos@bueno.org>.
447
448 2010-06-21  Bruno Haible  <bruno@clisp.org>
449
450         Fix HAVE_CALLOC_POSIX misnomer.
451         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
452         !HAVE_CALLOC_POSIX.
453         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
454         HAVE_CALLOC_POSIX.
455         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
456         instead of HAVE_CALLOC_POSIX.
457         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
458         HAVE_CALLOC_POSIX.
459
460         Use modern idiom for calloc() replacement.
461         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
462         AC_FUNC_CALLOC.
463         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
464         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
465         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
466         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
467         (gl_REPLACE_CALLOC): New macro.
468
469 2010-06-21  Bruno Haible  <bruno@clisp.org>
470
471         Fix HAVE_REALLOC_POSIX misnomer.
472         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
473         !HAVE_REALLOC_POSIX.
474         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
475         HAVE_REALLOC_POSIX.
476         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
477         instead of HAVE_REALLOC_POSIX.
478         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
479         HAVE_REALLOC_POSIX.
480
481         Use modern idiom for realloc() replacement.
482         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
483         AC_FUNC_REALLOC.
484         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
485         Autoconf's AC_FUNC_REALLOC.
486         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
487         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
488         (gl_REPLACE_REALLOC): New macro.
489         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
490
491 2010-06-21  Bruno Haible  <bruno@clisp.org>
492
493         Fix HAVE_MALLOC_POSIX misnomer.
494         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
495         !HAVE_MALLOC_POSIX.
496         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
497         HAVE_MALLOC_POSIX.
498         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
499         instead of HAVE_MALLOC_POSIX.
500         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
501         HAVE_MALLOC_POSIX.
502
503         Use modern idiom for malloc() replacement.
504         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
505         AC_FUNC_MALLOC.
506         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
507         Autoconf's AC_FUNC_MALLOC.
508         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
509         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
510         (gl_REPLACE_MALLOC): New macro.
511         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
512
513 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
514
515         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
516         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
517         This macro takes 3 arguments, not 4.
518
519 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
520
521         ipv6: fix detection under mingw
522         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
523         in6_addr.
524
525 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
526
527         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
528         that strtod() works when cross-compiling to a glibc version known
529         to work.
530
531 2010-06-15  Bruno Haible  <bruno@clisp.org>
532
533         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
534
535 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
536
537         select: Correct timeout.
538         * lib/select.c (rpl_select): Compute wait_timeout correctly.
539
540 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
541
542         git-version-gen: init shell var to avoid env var influence
543         * build-aux/git-version-gen (v): Init shell var to empty.
544
545 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
546
547         priv-set: Don't assume that priv.h exists merely because getppriv does.
548         See Jan Andersen's bug report about AIX 5L in
549         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
550         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
551         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
552         * lib/priv-set.h: Likewise.
553         * tests/test-priv-set.c: Likewise.
554
555 2010-06-13  Bruno Haible  <bruno@clisp.org>
556
557         relocatable: Make it easier to test whether to install wrappers.
558         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
559         RELOCATABLE_VIA_WRAPPER.
560
561 2010-06-13  Bruno Haible  <bruno@clisp.org>
562
563         gnulib-tool: Display specified modules and dependencies differently.
564         * gnulib-tool (func_show_module_list): New function.
565         (func_import, func_create_testdir): Invoke it.
566         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
567
568 2010-06-13  Bruno Haible  <bruno@clisp.org>
569
570         gnulib-tool: Align code of func_import and func_create_testdir.
571         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
572         specified_modules.
573
574 2010-06-12  Jim Meyering  <meyering@redhat.com>
575
576         test-inttostr: avoid spurious failure on Solaris 9
577         * tests/test-inttostr.c (main): Skip the test when snprintf fails
578         to accept "%ju".  Reported by Bruno Haible.
579
580 2010-06-11  Jim Meyering  <meyering@redhat.com>
581
582         test-sys_socket: mark variables as used more readably
583         * tests/test-sys_socket.c (main): Mark otherwise unused variables
584         as "used" explicitly via (void) statement casts.  This is more
585         readable than using them in an artificial return expression.
586         Suggestion from Bruno Haible.
587
588 2010-06-11  Bruno Haible  <bruno@clisp.org>
589
590         Avoid some more warnings from "gcc -Wwrite-strings".
591         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
592         to 'const char *'.
593         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
594         * tests/test-c-strcasestr.c (main): Likewise.
595         * tests/test-mbscasestr1.c (main): Likewise.
596         * tests/test-mbscasestr2.c (main): Likewise.
597         * tests/test-memmem.c (main): Likewise.
598         * tests/test-strstr.c (main): Likewise.
599         * tests/test-strcasestr.c (main): Likewise.
600
601 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
602
603         init.sh: change framework_failure_ to fail with status 99, not 1
604         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
605         automake's parallel-tests rule that this is an unexpected failure,
606         even if the test is listed in XFAIL_TESTS.
607
608 2010-06-11  Jim Meyering  <meyering@redhat.com>
609
610         test-inttostr: avoid warnings about 4-6KB literal strings
611         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
612         Include "macros.h", for its definition of ASSERT.
613         (CK): s/assert/ASSERT/
614         * modules/inttostr-tests (Files): Add macros.h.
615
616         init.sh: don't use $ME_ or skip_ before they are defined
617         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
618         their first uses.  Also hoist their companions: warn_, fail_,
619         framework_failure_, $stderr_fileno.  Prompted by a patch from
620         Stefano Lattarini.
621
622         test-sys_socket: avoid set-but-not-used warnings from gcc
623         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
624         avoid warning about set-but-not-used variables.
625
626         test-xvasprintf: avoid 'const' discard warnings
627         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
628         "const" when assigning from literal strings.
629         (test_xasprintf): Add "void" in function argument list to placate
630         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
631
632         tests: avoid compilation warnings in argmatch and exclude tests...
633         in packages that define ARGMATCH_DIE_DECL, like coreutils.
634         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
635         Since it always exits, declare with the "noreturn" attribute.
636         * tests/test-argmatch.c: Likewise.
637
638         tests: avoid 'const' discard warnings in mbsstr tests
639         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
640         * tests/test-mbsstr2.c (main): Likewise.
641
642         test-verify: avoid warning from gcc's -Wmissing-declarations
643         * tests/test-verify.c (function): Declare to be static.
644
645         test-inttostr.c: include <string.h> for use of strcmp
646         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
647
648         test-linkat: avoid failed assertion on "other" architectures
649         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
650         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
651         sparc: https://bugs.launchpad.net/bugs/591968
652
653 2010-06-11  Jim Meyering  <meyering@redhat.com>
654
655         printf.m4: avoid autoconf's "Expanded Before Required" warning
656         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
657         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
658         autoconf warning.
659
660 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
661
662         Replacement header templates are now named with ".in", not "_".
663         * doc/gnulib-intro.texi: Correct.
664
665 2010-06-10  Jim Meyering  <meyering@redhat.com>
666
667         inttostr-tests: depend on snprintf, not snprintf-posix
668         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
669         snprintf-posix, to avoid this aclocal failure:
670           missing file gnulib-tests/vasnprintf.c
671           configure.ac:45: error: expected source file, required through \
672           AC_LIBSOURCES, not found
673
674 2010-06-10  Jim Meyering  <meyering@redhat.com>
675
676         inttostr: add a new function, inttostr, and tests
677         The namesake function was not available.  The existence of the
678         template file, inttostr.c makes its addition nontrivial.
679         * lib/anytostr.c: Rename from inttostr.c.
680         (anytostr): Rename from inttostr.
681         * lib/inttostr.c: New file.
682         * modules/inttostr (Files): Add anytostr.c.
683         (Makefile.am): Set lib_SOURCES instead of ...
684         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
685         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
686         * lib/offtostr.c: Likewise.
687         * lib/uinttostr.c: Likewise.
688         * lib/umaxtostr.c: Likewise.
689         * modules/inttostr-tests: New file.
690         * tests/test-inttostr.c: New file.  Test these functions.
691
692 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
693             Bruno Haible  <bruno@clisp.org>
694
695         Add "Extending Gnulib" chapter to manual.
696         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
697         chapter.
698         (Extending Gnulib): New chapter.
699         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
700         chapter.
701
702 2010-06-09  Bruno Haible  <bruno@clisp.org>
703
704         Avoid relocwrapper link errors due to gnulib replacement functions.
705         * lib/areadlink.c: Use the system's malloc, realloc functions.
706         (areadlink): Set errno to ENOMEM explicitly.
707         * modules/areadlink (Depends-on): Remove malloc-posix.
708         Reported by Ben Pfaff <blp@cs.stanford.edu>.
709
710 2010-06-09  Bruno Haible  <bruno@clisp.org>
711
712         Avoid relocwrapper link errors due to gnulib replacement functions.
713         * lib/canonicalize-lgpl.c: Use the system's malloc function.
714         * lib/malloca.c: Likewise.
715         * lib/relocatable.c: Likewise.
716         * lib/progreloc.c: Use the system's malloc, sprintf functions.
717         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
718         * lib/setenv.c: Use the system's malloc, realloc functions.
719         * lib/strerror.c: Use the system's sprintf function.
720         Reported by Ben Pfaff <blp@cs.stanford.edu>.
721
722 2010-06-04  Bruno Haible  <bruno@clisp.org>
723
724         Prefer documented low-level autoconf macro names.
725         * m4/lib-link.m4: Use m4_translit instead of translit.
726         * m4/environ.m4: Likewise.
727         * m4/mathfunc.m4: Likewise.
728         * m4/onceonly.m4: Likewise.
729         * m4/stdint.m4: Likewise.
730         Suggested by Eric Blake.
731
732 2010-06-04  Martin Lambers  <marlam@marlam.de>
733             Bruno Haible  <bruno@clisp.org>
734
735         havelib: Allow library names with '+' characters.
736         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
737         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
738
739 2010-06-09  Bruno Haible  <bruno@clisp.org>
740
741         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
742         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
743         realloc failed.
744
745 2010-06-08  Peter Simons  <simons@cryp.to>
746
747         maint.mk: make the news-check rule more configurable
748         * top/maint.mk (news-check-lines-spec) New variable.
749         (news-check): Use "sed -n 1,10p" in place of "head".
750
751 2010-06-07  Jim Meyering  <meyering@redhat.com>
752
753         do-release-commit-and-tag: fix typo in --help
754         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
755
756         regex: avoid new dead-code warning with gcc-4.6.0
757         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
758         if-block containing a while-loop.  It's been unused for at least
759         5 years.
760
761 2010-06-05  Bruno Haible  <bruno@clisp.org>
762
763         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
764         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
765
766 2010-06-04  Bruno Haible  <bruno@clisp.org>
767
768         Update to GNU gettext 0.18.1.
769         * modules/gettext (configure.ac): Require gettext infrastructure from
770         version 0.18.1.
771
772 2010-06-03  Bruno Haible  <bruno@clisp.org>
773
774         Don't use AC_LIBOBJ with file names in subdirectories.
775         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
776         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
777         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
778         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
779         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
780         gl_LIBUNISTRING_LIBSOURCE.
781         (Makefile.am): Augment lib_SOURCES here, conditionally.
782         * NEWS: Drop requirement for Automake option 'subdir-objects'.
783
784 2010-06-03  Bruno Haible  <bruno@clisp.org>
785
786         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
787         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
788         expansion does not end with a newline.
789         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
790         unnecessary newline.
791
792 2010-06-03  Bruno Haible  <bruno@clisp.org>
793
794         Reduce dependencies.
795         * tests/test-quotearg.h: New file, extracted from
796         tests/test-quotearg.c.
797         * tests/test-quotearg-simple.c: New file, extracted from
798         tests/test-quotearg.c.
799         * tests/test-quotearg.c: Don't include <ctype.h>.
800         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
801         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
802         use_quote_double_quotes, use_quotearg_colon): Moved to
803         tests/test-quotearg.h.
804         (results_g, flag_results, custom_quotes, custom_results): Moved
805         to tests/test-quotearg-simple.c.
806         (main): Moved the part that does not depend on gettext to
807         tests/test-quotearg-simple.c. Return 77 if the test cannot be
808         performed.
809         * modules/quotearg-simple: New file.
810         * modules/quotearg-simple-tests: New file.
811         * modules/quotearg (Depends-on): Add quotearg-simple.
812         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
813         (Files): Add tests/test-quotearg.h.
814         Reported by Paolo Bonzini.
815
816 2010-06-03  Bruno Haible  <bruno@clisp.org>
817
818         Reduce dependencies.
819         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
820
821 2010-06-03  Bruno Haible  <bruno@clisp.org>
822
823         time: Undefine more broken macros.
824         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
825         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
826         Reported by Eric Blake.
827
828 2010-06-03  Bruno Haible  <bruno@clisp.org>
829
830         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
831         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
832         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
833         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
834         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
835         Reported by Ludovic Courtès <ludo@gnu.org>.
836
837 2010-06-02  Eric Blake  <eblake@redhat.com>
838
839         time: work with mingw + pthreads-win32 library
840         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
841         if timespec is defined only in pthread.h.
842         * modules/time (Makefile.am): Substitute it.
843         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
844         <pthread.h>, when needed.
845         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
846         from the library.
847
848 2010-05-31  Bruno Haible  <bruno@clisp.org>
849
850         Avoid expanding two macros in the wrong order.
851         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
852         gl_LIBUNISTRING if it is defined.
853         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
854         autoconf >= 2.64.
855         Reported by Ludovic Courtès <ludo@gnu.org>.
856
857 2010-05-27  Jim Meyering  <meyering@redhat.com>
858
859         maint.mk: also prohibit "#undef" of always-defined symbols
860         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
861         Allow more than one space before the symbol name.
862         (sc_prohibit_always-defined_macros): Use grep's -E, now that
863         the regexp uses alternation.
864
865 2010-05-26  Eric Blake  <eblake@redhat.com>
866
867         maint.mk: avoid echo -e
868         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
869         Convert all uses of echo -* to printf.
870         Reported by Matthias Bolte.
871
872 2010-05-25  Bruno Haible  <bruno@clisp.org>
873
874         Update to GNU gettext 0.18, part 2.
875         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
876         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
877
878 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
879
880         Add missing include in test-pwrite.c.
881         * tests/test-pwrite.c: Include string.h, for strcmp.
882
883 2010-05-24  Bruno Haible  <bruno@clisp.org>
884
885         * NEWS: Mention requirement for Automake option 'subdir-objects'.
886
887 2010-05-24  Bruno Haible  <bruno@clisp.org>
888
889         Don't use conversion with transliteration in u{8,16,32}_strcoll.
890         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
891         iconveh_error argument.
892         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
893         U_STRCONV_TO_LOCALE.
894         * lib/unistr/u16-strcoll.c: Likewise.
895         * lib/unistr/u32-strcoll.c: Likewise.
896         * modules/unistr/u8-strcoll (Depends-on): Add
897         uniconv/u8-strconv-to-enc, localcharset. Remove
898         uniconv/u8-strconv-to-locale.
899         (configure.ac): Bump version number.
900         * modules/unistr/u16-strcoll (Depends-on): Add
901         uniconv/u16-strconv-to-enc, localcharset. Remove
902         uniconv/u16-strconv-to-locale.
903         (configure.ac): Bump version number.
904         * modules/unistr/u32-strcoll (Depends-on): Add
905         uniconv/u32-strconv-to-enc, localcharset. Remove
906         uniconv/u32-strconv-to-locale.
907         (configure.ac): Bump version number.
908
909 2010-05-24  Bruno Haible  <bruno@clisp.org>
910
911         Avoid a test failure on NetBSD 5.0.
912         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
913         an iconv() bug.
914
915 2010-05-24  Bruno Haible  <bruno@clisp.org>
916
917         Adjust #include directive style.
918         * modules/regex (Includes): Recommend to write <regex.h>.
919
920 2010-05-24  Bruno Haible  <bruno@clisp.org>
921
922         regex: Don't require alloca.
923         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
924         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
925         only inside if (0).
926
927 2010-05-23  Jim Meyering  <meyering@redhat.com>
928
929         test-renameat.c: include <sys/stat.h>
930         * tests/test-renameat.c: Include <sys/stat.h>; required for
931         definition of S_IS* macros.
932
933 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
934
935         Update maintainer documentation for 'relocatable-prog' module.
936         * doc/relocatable-maint.texi: Update.
937         Comments by Bruno Haible.
938
939 2010-05-23  Bruno Haible  <bruno@clisp.org>
940
941         git-merge-changelog: Enable --split-merged-entry by default.
942         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
943         (usage): Don't mention this option any more.
944         Reported by Ralf Wildenhues.
945
946 2010-05-23  Jim Meyering  <meyering@redhat.com>
947
948         test-pwrite: do not leave behind a test file named "out"
949         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
950         The trivial-looking use of init.sh is really necessary.
951         It ensures that the temporary file, "out", is created in
952         a temporary directory, and removed upon termination.
953         * tests/test-pwrite.sh: Re-add file.
954         * modules/pwrite-tests: Reference it.
955
956 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
957
958         Fix output redirection buglet in init.sh.
959         * tests/init.sh: Fix redirection of stderr.
960
961 2010-05-20  Simon Josefsson  <simon@josefsson.org>
962
963         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
964
965 2010-05-17  Simon Josefsson  <simon@josefsson.org>
966
967         * modules/valgrind-tests: New file.
968         * m4/valgrind-tests.m4: New file.
969         * doc/valgrind-tests.texi: New file.
970         * doc/gnulib.texi (Running self-tests under valgrind): New
971         section.
972
973 2010-05-19  Bruno Haible  <bruno@clisp.org>
974
975         Clean up dead code in recent commit.
976         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
977         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
978         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
979         Suggested by Paolo Bonzini.
980
981 2010-05-19  Bruno Haible  <bruno@clisp.org>
982
983         Avoid valgrind error reports from libunistring.
984         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
985         * modules/libunistring (Files): Add it.
986         * modules/libunistring-optional (Files): Likewise.
987
988 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
989             Bruno Haible  <bruno@clisp.org>
990
991         New module 'libunistring-optional'.
992         * modules/libunistring-optional: New file.
993         * m4/libunistring-base.m4: New file.
994         * m4/libunistring-optional.m4: New file.
995         * lib/unicase.in.h: Renamed from lib/unicase.h.
996         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
997         * lib/unictype.in.h: Renamed from lib/unictype.h.
998         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
999         * lib/uniname.in.h: Renamed from lib/uniname.h.
1000         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
1001         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
1002         * lib/unistr.in.h: Renamed from lib/unistr.h.
1003         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
1004         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
1005         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
1006         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
1007         gl_LIBUNISTRING. If the library was found, determine the installed
1008         version and set LIBUNISTRING_VERSION.
1009         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
1010         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
1011         handle a configuration option --with-included-libunistring.
1012         * modules/libunistring (Files): Add m4/absolute-header.m4.
1013         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
1014         Add m4/libunistring-base.m4.
1015         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1016         (Makefile.am): Build unicase.h from unicase.in.h.
1017         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
1018         Add m4/libunistring-base.m4.
1019         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1020         (Makefile.am): Build uniconv.h from uniconv.in.h.
1021         * modules/unictype/base (Files): Use unictype.in.h instead of
1022         unictype.h. Add m4/libunistring-base.m4.
1023         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1024         (Makefile.am): Build unictype.h from unictype.in.h.
1025         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
1026         Add m4/libunistring-base.m4.
1027         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1028         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
1029         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
1030         Add m4/libunistring-base.m4.
1031         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1032         (Makefile.am): Build uniname.h from uniname.in.h.
1033         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
1034         Add m4/libunistring-base.m4.
1035         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1036         (Makefile.am): Build uninorm.h from uninorm.in.h.
1037         * modules/unistdio/base (Files): Use unistdio.in.h instead of
1038         unistdio.h. Add m4/libunistring-base.m4.
1039         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1040         (Makefile.am): Build unistdio.h from unistdio.in.h.
1041         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
1042         Add m4/libunistring-base.m4.
1043         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1044         (Makefile.am): Build unistr.h from unistr.in.h.
1045         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
1046         Add m4/libunistring-base.m4.
1047         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1048         (Makefile.am): Build unitypes.h from unitypes.in.h.
1049         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
1050         Add m4/libunistring-base.m4.
1051         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1052         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
1053         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
1054         uniwidth.h. Add m4/libunistring-base.m4.
1055         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1056         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
1057         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
1058         instead of augmenting lib_SOURCES.
1059         * modules/unicase/empty-suffix-context: Likewise.
1060         * modules/unicase/locale-language: Likewise.
1061         * modules/unicase/tolower: Likewise.
1062         * modules/unicase/totitle: Likewise.
1063         * modules/unicase/toupper: Likewise.
1064         * modules/unicase/u8-casecmp: Likewise.
1065         * modules/unicase/u8-casecoll: Likewise.
1066         * modules/unicase/u8-casefold: Likewise.
1067         * modules/unicase/u8-casexfrm: Likewise.
1068         * modules/unicase/u8-ct-casefold: Likewise.
1069         * modules/unicase/u8-ct-tolower: Likewise.
1070         * modules/unicase/u8-ct-totitle: Likewise.
1071         * modules/unicase/u8-ct-toupper: Likewise.
1072         * modules/unicase/u8-is-cased: Likewise.
1073         * modules/unicase/u8-is-casefolded: Likewise.
1074         * modules/unicase/u8-is-lowercase: Likewise.
1075         * modules/unicase/u8-is-titlecase: Likewise.
1076         * modules/unicase/u8-is-uppercase: Likewise.
1077         * modules/unicase/u8-prefix-context: Likewise.
1078         * modules/unicase/u8-suffix-context: Likewise.
1079         * modules/unicase/u8-tolower: Likewise.
1080         * modules/unicase/u8-totitle: Likewise.
1081         * modules/unicase/u8-toupper: Likewise.
1082         * modules/unicase/u16-casecmp: Likewise.
1083         * modules/unicase/u16-casecoll: Likewise.
1084         * modules/unicase/u16-casefold: Likewise.
1085         * modules/unicase/u16-casexfrm: Likewise.
1086         * modules/unicase/u16-ct-casefold: Likewise.
1087         * modules/unicase/u16-ct-tolower: Likewise.
1088         * modules/unicase/u16-ct-totitle: Likewise.
1089         * modules/unicase/u16-ct-toupper: Likewise.
1090         * modules/unicase/u16-is-cased: Likewise.
1091         * modules/unicase/u16-is-casefolded: Likewise.
1092         * modules/unicase/u16-is-lowercase: Likewise.
1093         * modules/unicase/u16-is-titlecase: Likewise.
1094         * modules/unicase/u16-is-uppercase: Likewise.
1095         * modules/unicase/u16-prefix-context: Likewise.
1096         * modules/unicase/u16-suffix-context: Likewise.
1097         * modules/unicase/u16-tolower: Likewise.
1098         * modules/unicase/u16-totitle: Likewise.
1099         * modules/unicase/u16-toupper: Likewise.
1100         * modules/unicase/u32-casecmp: Likewise.
1101         * modules/unicase/u32-casecoll: Likewise.
1102         * modules/unicase/u32-casefold: Likewise.
1103         * modules/unicase/u32-casexfrm: Likewise.
1104         * modules/unicase/u32-ct-casefold: Likewise.
1105         * modules/unicase/u32-ct-tolower: Likewise.
1106         * modules/unicase/u32-ct-totitle: Likewise.
1107         * modules/unicase/u32-ct-toupper: Likewise.
1108         * modules/unicase/u32-is-cased: Likewise.
1109         * modules/unicase/u32-is-casefolded: Likewise.
1110         * modules/unicase/u32-is-lowercase: Likewise.
1111         * modules/unicase/u32-is-titlecase: Likewise.
1112         * modules/unicase/u32-is-uppercase: Likewise.
1113         * modules/unicase/u32-prefix-context: Likewise.
1114         * modules/unicase/u32-suffix-context: Likewise.
1115         * modules/unicase/u32-tolower: Likewise.
1116         * modules/unicase/u32-totitle: Likewise.
1117         * modules/unicase/u32-toupper: Likewise.
1118         * modules/unicase/ulc-casecmp: Likewise.
1119         * modules/unicase/ulc-casecoll: Likewise.
1120         * modules/unicase/ulc-casexfrm: Likewise.
1121         * modules/uniconv/u8-conv-from-enc: Likewise.
1122         * modules/uniconv/u8-conv-to-enc: Likewise.
1123         * modules/uniconv/u8-strconv-from-enc: Likewise.
1124         * modules/uniconv/u8-strconv-from-locale: Likewise.
1125         * modules/uniconv/u8-strconv-to-enc: Likewise.
1126         * modules/uniconv/u8-strconv-to-locale: Likewise.
1127         * modules/uniconv/u16-conv-from-enc: Likewise.
1128         * modules/uniconv/u16-conv-to-enc: Likewise.
1129         * modules/uniconv/u16-strconv-from-enc: Likewise.
1130         * modules/uniconv/u16-strconv-from-locale: Likewise.
1131         * modules/uniconv/u16-strconv-to-enc: Likewise.
1132         * modules/uniconv/u16-strconv-to-locale: Likewise.
1133         * modules/uniconv/u32-conv-from-enc: Likewise.
1134         * modules/uniconv/u32-conv-to-enc: Likewise.
1135         * modules/uniconv/u32-strconv-from-enc: Likewise.
1136         * modules/uniconv/u32-strconv-from-locale: Likewise.
1137         * modules/uniconv/u32-strconv-to-enc: Likewise.
1138         * modules/uniconv/u32-strconv-to-locale: Likewise.
1139         * modules/unictype/bidicategory-byname: Likewise.
1140         * modules/unictype/bidicategory-name: Likewise.
1141         * modules/unictype/bidicategory-of: Likewise.
1142         * modules/unictype/bidicategory-test: Likewise.
1143         * modules/unictype/block-list: Likewise.
1144         * modules/unictype/block-test: Likewise.
1145         * modules/unictype/category-C: Likewise.
1146         * modules/unictype/category-Cc: Likewise.
1147         * modules/unictype/category-Cf: Likewise.
1148         * modules/unictype/category-Cn: Likewise.
1149         * modules/unictype/category-Co: Likewise.
1150         * modules/unictype/category-Cs: Likewise.
1151         * modules/unictype/category-L: Likewise.
1152         * modules/unictype/category-Ll: Likewise.
1153         * modules/unictype/category-Lm: Likewise.
1154         * modules/unictype/category-Lo: Likewise.
1155         * modules/unictype/category-Lt: Likewise.
1156         * modules/unictype/category-Lu: Likewise.
1157         * modules/unictype/category-M: Likewise.
1158         * modules/unictype/category-Mc: Likewise.
1159         * modules/unictype/category-Me: Likewise.
1160         * modules/unictype/category-Mn: Likewise.
1161         * modules/unictype/category-N: Likewise.
1162         * modules/unictype/category-Nd: Likewise.
1163         * modules/unictype/category-Nl: Likewise.
1164         * modules/unictype/category-No: Likewise.
1165         * modules/unictype/category-P: Likewise.
1166         * modules/unictype/category-Pc: Likewise.
1167         * modules/unictype/category-Pd: Likewise.
1168         * modules/unictype/category-Pe: Likewise.
1169         * modules/unictype/category-Pf: Likewise.
1170         * modules/unictype/category-Pi: Likewise.
1171         * modules/unictype/category-Po: Likewise.
1172         * modules/unictype/category-Ps: Likewise.
1173         * modules/unictype/category-S: Likewise.
1174         * modules/unictype/category-Sc: Likewise.
1175         * modules/unictype/category-Sk: Likewise.
1176         * modules/unictype/category-Sm: Likewise.
1177         * modules/unictype/category-So: Likewise.
1178         * modules/unictype/category-Z: Likewise.
1179         * modules/unictype/category-Zl: Likewise.
1180         * modules/unictype/category-Zp: Likewise.
1181         * modules/unictype/category-Zs: Likewise.
1182         * modules/unictype/category-and: Likewise.
1183         * modules/unictype/category-and-not: Likewise.
1184         * modules/unictype/category-byname: Likewise.
1185         * modules/unictype/category-name: Likewise.
1186         * modules/unictype/category-none: Likewise.
1187         * modules/unictype/category-of: Likewise.
1188         * modules/unictype/category-or: Likewise.
1189         * modules/unictype/category-test: Likewise.
1190         * modules/unictype/combining-class: Likewise.
1191         * modules/unictype/ctype-alnum: Likewise.
1192         * modules/unictype/ctype-alpha: Likewise.
1193         * modules/unictype/ctype-blank: Likewise.
1194         * modules/unictype/ctype-cntrl: Likewise.
1195         * modules/unictype/ctype-digit: Likewise.
1196         * modules/unictype/ctype-graph: Likewise.
1197         * modules/unictype/ctype-lower: Likewise.
1198         * modules/unictype/ctype-print: Likewise.
1199         * modules/unictype/ctype-punct: Likewise.
1200         * modules/unictype/ctype-space: Likewise.
1201         * modules/unictype/ctype-upper: Likewise.
1202         * modules/unictype/ctype-xdigit: Likewise.
1203         * modules/unictype/decimal-digit: Likewise.
1204         * modules/unictype/digit: Likewise.
1205         * modules/unictype/mirror: Likewise.
1206         * modules/unictype/numeric: Likewise.
1207         * modules/unictype/property-alphabetic: Likewise.
1208         * modules/unictype/property-ascii-hex-digit: Likewise.
1209         * modules/unictype/property-bidi-arabic-digit: Likewise.
1210         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
1211         * modules/unictype/property-bidi-block-separator: Likewise.
1212         * modules/unictype/property-bidi-boundary-neutral: Likewise.
1213         * modules/unictype/property-bidi-common-separator: Likewise.
1214         * modules/unictype/property-bidi-control: Likewise.
1215         * modules/unictype/property-bidi-embedding-or-override: Likewise.
1216         * modules/unictype/property-bidi-eur-num-separator: Likewise.
1217         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
1218         * modules/unictype/property-bidi-european-digit: Likewise.
1219         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
1220         * modules/unictype/property-bidi-left-to-right: Likewise.
1221         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
1222         * modules/unictype/property-bidi-other-neutral: Likewise.
1223         * modules/unictype/property-bidi-pdf: Likewise.
1224         * modules/unictype/property-bidi-segment-separator: Likewise.
1225         * modules/unictype/property-bidi-whitespace: Likewise.
1226         * modules/unictype/property-byname: Likewise.
1227         * modules/unictype/property-combining: Likewise.
1228         * modules/unictype/property-composite: Likewise.
1229         * modules/unictype/property-currency-symbol: Likewise.
1230         * modules/unictype/property-dash: Likewise.
1231         * modules/unictype/property-decimal-digit: Likewise.
1232         * modules/unictype/property-default-ignorable-code-point: Likewise.
1233         * modules/unictype/property-deprecated: Likewise.
1234         * modules/unictype/property-diacritic: Likewise.
1235         * modules/unictype/property-extender: Likewise.
1236         * modules/unictype/property-format-control: Likewise.
1237         * modules/unictype/property-grapheme-base: Likewise.
1238         * modules/unictype/property-grapheme-extend: Likewise.
1239         * modules/unictype/property-grapheme-link: Likewise.
1240         * modules/unictype/property-hex-digit: Likewise.
1241         * modules/unictype/property-hyphen: Likewise.
1242         * modules/unictype/property-id-continue: Likewise.
1243         * modules/unictype/property-id-start: Likewise.
1244         * modules/unictype/property-ideographic: Likewise.
1245         * modules/unictype/property-ids-binary-operator: Likewise.
1246         * modules/unictype/property-ids-trinary-operator: Likewise.
1247         * modules/unictype/property-ignorable-control: Likewise.
1248         * modules/unictype/property-iso-control: Likewise.
1249         * modules/unictype/property-join-control: Likewise.
1250         * modules/unictype/property-left-of-pair: Likewise.
1251         * modules/unictype/property-line-separator: Likewise.
1252         * modules/unictype/property-logical-order-exception: Likewise.
1253         * modules/unictype/property-lowercase: Likewise.
1254         * modules/unictype/property-math: Likewise.
1255         * modules/unictype/property-non-break: Likewise.
1256         * modules/unictype/property-not-a-character: Likewise.
1257         * modules/unictype/property-numeric: Likewise.
1258         * modules/unictype/property-other-alphabetic: Likewise.
1259         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
1260         * modules/unictype/property-other-grapheme-extend: Likewise.
1261         * modules/unictype/property-other-id-continue: Likewise.
1262         * modules/unictype/property-other-id-start: Likewise.
1263         * modules/unictype/property-other-lowercase: Likewise.
1264         * modules/unictype/property-other-math: Likewise.
1265         * modules/unictype/property-other-uppercase: Likewise.
1266         * modules/unictype/property-paired-punctuation: Likewise.
1267         * modules/unictype/property-paragraph-separator: Likewise.
1268         * modules/unictype/property-pattern-syntax: Likewise.
1269         * modules/unictype/property-pattern-white-space: Likewise.
1270         * modules/unictype/property-private-use: Likewise.
1271         * modules/unictype/property-punctuation: Likewise.
1272         * modules/unictype/property-quotation-mark: Likewise.
1273         * modules/unictype/property-radical: Likewise.
1274         * modules/unictype/property-sentence-terminal: Likewise.
1275         * modules/unictype/property-soft-dotted: Likewise.
1276         * modules/unictype/property-space: Likewise.
1277         * modules/unictype/property-terminal-punctuation: Likewise.
1278         * modules/unictype/property-test: Likewise.
1279         * modules/unictype/property-titlecase: Likewise.
1280         * modules/unictype/property-unassigned-code-value: Likewise.
1281         * modules/unictype/property-unified-ideograph: Likewise.
1282         * modules/unictype/property-uppercase: Likewise.
1283         * modules/unictype/property-variation-selector: Likewise.
1284         * modules/unictype/property-white-space: Likewise.
1285         * modules/unictype/property-xid-continue: Likewise.
1286         * modules/unictype/property-xid-start: Likewise.
1287         * modules/unictype/property-zero-width: Likewise.
1288         * modules/unictype/scripts: Likewise.
1289         * modules/unictype/syntax-c-ident: Likewise.
1290         * modules/unictype/syntax-c-whitespace: Likewise.
1291         * modules/unictype/syntax-java-ident: Likewise.
1292         * modules/unictype/syntax-java-whitespace: Likewise.
1293         * modules/unilbrk/u8-possible-linebreaks: Likewise.
1294         * modules/unilbrk/u8-width-linebreaks: Likewise.
1295         * modules/unilbrk/u16-possible-linebreaks: Likewise.
1296         * modules/unilbrk/u16-width-linebreaks: Likewise.
1297         * modules/unilbrk/u32-possible-linebreaks: Likewise.
1298         * modules/unilbrk/u32-width-linebreaks: Likewise.
1299         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
1300         * modules/unilbrk/ulc-width-linebreaks: Likewise.
1301         * modules/uniname/uniname: Likewise.
1302         * modules/uninorm/canonical-decomposition: Likewise.
1303         * modules/uninorm/composition: Likewise.
1304         * modules/uninorm/decomposing-form: Likewise.
1305         * modules/uninorm/decomposition: Likewise.
1306         * modules/uninorm/filter: Likewise.
1307         * modules/uninorm/nfc: Likewise.
1308         * modules/uninorm/nfd: Likewise.
1309         * modules/uninorm/nfkc: Likewise.
1310         * modules/uninorm/nfkd: Likewise.
1311         * modules/uninorm/u8-normalize: Likewise.
1312         * modules/uninorm/u8-normcmp: Likewise.
1313         * modules/uninorm/u8-normcoll: Likewise.
1314         * modules/uninorm/u8-normxfrm: Likewise.
1315         * modules/uninorm/u16-normalize: Likewise.
1316         * modules/uninorm/u16-normcmp: Likewise.
1317         * modules/uninorm/u16-normcoll: Likewise.
1318         * modules/uninorm/u16-normxfrm: Likewise.
1319         * modules/uninorm/u32-normalize: Likewise.
1320         * modules/uninorm/u32-normcmp: Likewise.
1321         * modules/uninorm/u32-normcoll: Likewise.
1322         * modules/uninorm/u32-normxfrm: Likewise.
1323         * modules/unistdio/u8-asnprintf: Likewise.
1324         * modules/unistdio/u8-asprintf: Likewise.
1325         * modules/unistdio/u8-snprintf: Likewise.
1326         * modules/unistdio/u8-sprintf: Likewise.
1327         * modules/unistdio/u8-u8-asnprintf: Likewise.
1328         * modules/unistdio/u8-u8-asprintf: Likewise.
1329         * modules/unistdio/u8-u8-snprintf: Likewise.
1330         * modules/unistdio/u8-u8-sprintf: Likewise.
1331         * modules/unistdio/u8-u8-vasnprintf: Likewise.
1332         * modules/unistdio/u8-u8-vasprintf: Likewise.
1333         * modules/unistdio/u8-u8-vsnprintf: Likewise.
1334         * modules/unistdio/u8-u8-vsprintf: Likewise.
1335         * modules/unistdio/u8-vasnprintf: Likewise.
1336         * modules/unistdio/u8-vasprintf: Likewise.
1337         * modules/unistdio/u8-vsnprintf: Likewise.
1338         * modules/unistdio/u8-vsprintf: Likewise.
1339         * modules/unistdio/u16-asnprintf: Likewise.
1340         * modules/unistdio/u16-asprintf: Likewise.
1341         * modules/unistdio/u16-snprintf: Likewise.
1342         * modules/unistdio/u16-sprintf: Likewise.
1343         * modules/unistdio/u16-u16-asnprintf: Likewise.
1344         * modules/unistdio/u16-u16-asprintf: Likewise.
1345         * modules/unistdio/u16-u16-snprintf: Likewise.
1346         * modules/unistdio/u16-u16-sprintf: Likewise.
1347         * modules/unistdio/u16-u16-vasnprintf: Likewise.
1348         * modules/unistdio/u16-u16-vasprintf: Likewise.
1349         * modules/unistdio/u16-u16-vsnprintf: Likewise.
1350         * modules/unistdio/u16-u16-vsprintf: Likewise.
1351         * modules/unistdio/u16-vasnprintf: Likewise.
1352         * modules/unistdio/u16-vasprintf: Likewise.
1353         * modules/unistdio/u16-vsnprintf: Likewise.
1354         * modules/unistdio/u16-vsprintf: Likewise.
1355         * modules/unistdio/u32-asnprintf: Likewise.
1356         * modules/unistdio/u32-asprintf: Likewise.
1357         * modules/unistdio/u32-snprintf: Likewise.
1358         * modules/unistdio/u32-sprintf: Likewise.
1359         * modules/unistdio/u32-u32-asnprintf: Likewise.
1360         * modules/unistdio/u32-u32-asprintf: Likewise.
1361         * modules/unistdio/u32-u32-snprintf: Likewise.
1362         * modules/unistdio/u32-u32-sprintf: Likewise.
1363         * modules/unistdio/u32-u32-vasnprintf: Likewise.
1364         * modules/unistdio/u32-u32-vasprintf: Likewise.
1365         * modules/unistdio/u32-u32-vsnprintf: Likewise.
1366         * modules/unistdio/u32-u32-vsprintf: Likewise.
1367         * modules/unistdio/u32-vasnprintf: Likewise.
1368         * modules/unistdio/u32-vasprintf: Likewise.
1369         * modules/unistdio/u32-vsnprintf: Likewise.
1370         * modules/unistdio/u32-vsprintf: Likewise.
1371         * modules/unistdio/ulc-asnprintf: Likewise.
1372         * modules/unistdio/ulc-asprintf: Likewise.
1373         * modules/unistdio/ulc-fprintf: Likewise.
1374         * modules/unistdio/ulc-snprintf: Likewise.
1375         * modules/unistdio/ulc-sprintf: Likewise.
1376         * modules/unistdio/ulc-vasnprintf: Likewise.
1377         * modules/unistdio/ulc-vasprintf: Likewise.
1378         * modules/unistdio/ulc-vfprintf: Likewise.
1379         * modules/unistdio/ulc-vsnprintf: Likewise.
1380         * modules/unistdio/ulc-vsprintf: Likewise.
1381         * modules/unistr/u8-check: Likewise.
1382         * modules/unistr/u8-chr: Likewise.
1383         * modules/unistr/u8-cmp: Likewise.
1384         * modules/unistr/u8-cmp2: Likewise.
1385         * modules/unistr/u8-cpy: Likewise.
1386         * modules/unistr/u8-cpy-alloc: Likewise.
1387         * modules/unistr/u8-endswith: Likewise.
1388         * modules/unistr/u8-mblen: Likewise.
1389         * modules/unistr/u8-mbsnlen: Likewise.
1390         * modules/unistr/u8-mbtouc: Likewise.
1391         * modules/unistr/u8-mbtouc-unsafe: Likewise.
1392         * modules/unistr/u8-mbtoucr: Likewise.
1393         * modules/unistr/u8-move: Likewise.
1394         * modules/unistr/u8-next: Likewise.
1395         * modules/unistr/u8-prev: Likewise.
1396         * modules/unistr/u8-set: Likewise.
1397         * modules/unistr/u8-startswith: Likewise.
1398         * modules/unistr/u8-stpcpy: Likewise.
1399         * modules/unistr/u8-stpncpy: Likewise.
1400         * modules/unistr/u8-strcat: Likewise.
1401         * modules/unistr/u8-strchr: Likewise.
1402         * modules/unistr/u8-strcmp: Likewise.
1403         * modules/unistr/u8-strcoll: Likewise.
1404         * modules/unistr/u8-strcpy: Likewise.
1405         * modules/unistr/u8-strcspn: Likewise.
1406         * modules/unistr/u8-strdup: Likewise.
1407         * modules/unistr/u8-strlen: Likewise.
1408         * modules/unistr/u8-strmblen: Likewise.
1409         * modules/unistr/u8-strmbtouc: Likewise.
1410         * modules/unistr/u8-strncat: Likewise.
1411         * modules/unistr/u8-strncmp: Likewise.
1412         * modules/unistr/u8-strncpy: Likewise.
1413         * modules/unistr/u8-strnlen: Likewise.
1414         * modules/unistr/u8-strpbrk: Likewise.
1415         * modules/unistr/u8-strrchr: Likewise.
1416         * modules/unistr/u8-strspn: Likewise.
1417         * modules/unistr/u8-strstr: Likewise.
1418         * modules/unistr/u8-strtok: Likewise.
1419         * modules/unistr/u8-to-u16: Likewise.
1420         * modules/unistr/u8-to-u32: Likewise.
1421         * modules/unistr/u8-uctomb: Likewise.
1422         * modules/unistr/u16-check: Likewise.
1423         * modules/unistr/u16-chr: Likewise.
1424         * modules/unistr/u16-cmp: Likewise.
1425         * modules/unistr/u16-cmp2: Likewise.
1426         * modules/unistr/u16-cpy: Likewise.
1427         * modules/unistr/u16-cpy-alloc: Likewise.
1428         * modules/unistr/u16-endswith: Likewise.
1429         * modules/unistr/u16-mblen: Likewise.
1430         * modules/unistr/u16-mbsnlen: Likewise.
1431         * modules/unistr/u16-mbtouc: Likewise.
1432         * modules/unistr/u16-mbtouc-unsafe: Likewise.
1433         * modules/unistr/u16-mbtoucr: Likewise.
1434         * modules/unistr/u16-move: Likewise.
1435         * modules/unistr/u16-next: Likewise.
1436         * modules/unistr/u16-prev: Likewise.
1437         * modules/unistr/u16-set: Likewise.
1438         * modules/unistr/u16-startswith: Likewise.
1439         * modules/unistr/u16-stpcpy: Likewise.
1440         * modules/unistr/u16-stpncpy: Likewise.
1441         * modules/unistr/u16-strcat: Likewise.
1442         * modules/unistr/u16-strchr: Likewise.
1443         * modules/unistr/u16-strcmp: Likewise.
1444         * modules/unistr/u16-strcoll: Likewise.
1445         * modules/unistr/u16-strcpy: Likewise.
1446         * modules/unistr/u16-strcspn: Likewise.
1447         * modules/unistr/u16-strdup: Likewise.
1448         * modules/unistr/u16-strlen: Likewise.
1449         * modules/unistr/u16-strmblen: Likewise.
1450         * modules/unistr/u16-strmbtouc: Likewise.
1451         * modules/unistr/u16-strncat: Likewise.
1452         * modules/unistr/u16-strncmp: Likewise.
1453         * modules/unistr/u16-strncpy: Likewise.
1454         * modules/unistr/u16-strnlen: Likewise.
1455         * modules/unistr/u16-strpbrk: Likewise.
1456         * modules/unistr/u16-strrchr: Likewise.
1457         * modules/unistr/u16-strspn: Likewise.
1458         * modules/unistr/u16-strstr: Likewise.
1459         * modules/unistr/u16-strtok: Likewise.
1460         * modules/unistr/u16-to-u32: Likewise.
1461         * modules/unistr/u16-to-u8: Likewise.
1462         * modules/unistr/u16-uctomb: Likewise.
1463         * modules/unistr/u32-check: Likewise.
1464         * modules/unistr/u32-chr: Likewise.
1465         * modules/unistr/u32-cmp: Likewise.
1466         * modules/unistr/u32-cmp2: Likewise.
1467         * modules/unistr/u32-cpy: Likewise.
1468         * modules/unistr/u32-cpy-alloc: Likewise.
1469         * modules/unistr/u32-endswith: Likewise.
1470         * modules/unistr/u32-mblen: Likewise.
1471         * modules/unistr/u32-mbsnlen: Likewise.
1472         * modules/unistr/u32-mbtouc: Likewise.
1473         * modules/unistr/u32-mbtouc-unsafe: Likewise.
1474         * modules/unistr/u32-mbtoucr: Likewise.
1475         * modules/unistr/u32-move: Likewise.
1476         * modules/unistr/u32-next: Likewise.
1477         * modules/unistr/u32-prev: Likewise.
1478         * modules/unistr/u32-set: Likewise.
1479         * modules/unistr/u32-startswith: Likewise.
1480         * modules/unistr/u32-stpcpy: Likewise.
1481         * modules/unistr/u32-stpncpy: Likewise.
1482         * modules/unistr/u32-strcat: Likewise.
1483         * modules/unistr/u32-strchr: Likewise.
1484         * modules/unistr/u32-strcmp: Likewise.
1485         * modules/unistr/u32-strcoll: Likewise.
1486         * modules/unistr/u32-strcpy: Likewise.
1487         * modules/unistr/u32-strcspn: Likewise.
1488         * modules/unistr/u32-strdup: Likewise.
1489         * modules/unistr/u32-strlen: Likewise.
1490         * modules/unistr/u32-strmblen: Likewise.
1491         * modules/unistr/u32-strmbtouc: Likewise.
1492         * modules/unistr/u32-strncat: Likewise.
1493         * modules/unistr/u32-strncmp: Likewise.
1494         * modules/unistr/u32-strncpy: Likewise.
1495         * modules/unistr/u32-strnlen: Likewise.
1496         * modules/unistr/u32-strpbrk: Likewise.
1497         * modules/unistr/u32-strrchr: Likewise.
1498         * modules/unistr/u32-strspn: Likewise.
1499         * modules/unistr/u32-strstr: Likewise.
1500         * modules/unistr/u32-strtok: Likewise.
1501         * modules/unistr/u32-to-u16: Likewise.
1502         * modules/unistr/u32-to-u8: Likewise.
1503         * modules/unistr/u32-uctomb: Likewise.
1504         * modules/uniwbrk/u8-wordbreaks: Likewise.
1505         * modules/uniwbrk/u16-wordbreaks: Likewise.
1506         * modules/uniwbrk/u32-wordbreaks: Likewise.
1507         * modules/uniwbrk/ulc-wordbreaks: Likewise.
1508         * modules/uniwbrk/wordbreak-property: Likewise.
1509         * modules/uniwidth/u8-strwidth: Likewise.
1510         * modules/uniwidth/u8-width: Likewise.
1511         * modules/uniwidth/u16-strwidth: Likewise.
1512         * modules/uniwidth/u16-width: Likewise.
1513         * modules/uniwidth/u32-strwidth: Likewise.
1514         * modules/uniwidth/u32-width: Likewise.
1515         * modules/uniwidth/width: Likewise.
1516         * modules/unicase/cased-tests (Makefile.am): Link all test programs
1517         with $(LIBUNISTRING).
1518         * modules/unicase/ignorable-tests: Likewise.
1519         * modules/unicase/locale-language-tests: Likewise.
1520         * modules/unicase/tolower-tests: Likewise.
1521         * modules/unicase/totitle-tests: Likewise.
1522         * modules/unicase/toupper-tests: Likewise.
1523         * modules/unicase/u8-casecmp-tests: Likewise.
1524         * modules/unicase/u8-casecoll-tests: Likewise.
1525         * modules/unicase/u8-casefold-tests: Likewise.
1526         * modules/unicase/u8-is-cased-tests: Likewise.
1527         * modules/unicase/u8-is-casefolded-tests: Likewise.
1528         * modules/unicase/u8-is-lowercase-tests: Likewise.
1529         * modules/unicase/u8-is-titlecase-tests: Likewise.
1530         * modules/unicase/u8-is-uppercase-tests: Likewise.
1531         * modules/unicase/u8-tolower-tests: Likewise.
1532         * modules/unicase/u8-totitle-tests: Likewise.
1533         * modules/unicase/u8-toupper-tests: Likewise.
1534         * modules/unicase/u16-casecmp-tests: Likewise.
1535         * modules/unicase/u16-casecoll-tests: Likewise.
1536         * modules/unicase/u16-casefold-tests: Likewise.
1537         * modules/unicase/u16-is-cased-tests: Likewise.
1538         * modules/unicase/u16-is-casefolded-tests: Likewise.
1539         * modules/unicase/u16-is-lowercase-tests: Likewise.
1540         * modules/unicase/u16-is-titlecase-tests: Likewise.
1541         * modules/unicase/u16-is-uppercase-tests: Likewise.
1542         * modules/unicase/u16-tolower-tests: Likewise.
1543         * modules/unicase/u16-totitle-tests: Likewise.
1544         * modules/unicase/u16-toupper-tests: Likewise.
1545         * modules/unicase/u32-casecmp-tests: Likewise.
1546         * modules/unicase/u32-casecoll-tests: Likewise.
1547         * modules/unicase/u32-casefold-tests: Likewise.
1548         * modules/unicase/u32-is-cased-tests: Likewise.
1549         * modules/unicase/u32-is-casefolded-tests: Likewise.
1550         * modules/unicase/u32-is-lowercase-tests: Likewise.
1551         * modules/unicase/u32-is-titlecase-tests: Likewise.
1552         * modules/unicase/u32-is-uppercase-tests: Likewise.
1553         * modules/unicase/u32-tolower-tests: Likewise.
1554         * modules/unicase/u32-totitle-tests: Likewise.
1555         * modules/unicase/u32-toupper-tests: Likewise.
1556         * modules/unicase/ulc-casecmp-tests: Likewise.
1557         * modules/unicase/ulc-casecoll-tests: Likewise.
1558         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
1559         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
1560         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
1561         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
1562         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
1563         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
1564         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
1565         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
1566         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
1567         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
1568         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
1569         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
1570         * modules/unictype/bidicategory-byname-tests: Likewise.
1571         * modules/unictype/bidicategory-name-tests: Likewise.
1572         * modules/unictype/bidicategory-of-tests: Likewise.
1573         * modules/unictype/bidicategory-test-tests: Likewise.
1574         * modules/unictype/block-list-tests: Likewise.
1575         * modules/unictype/block-of-tests: Likewise.
1576         * modules/unictype/block-test-tests: Likewise.
1577         * modules/unictype/category-C-tests: Likewise.
1578         * modules/unictype/category-Cc-tests: Likewise.
1579         * modules/unictype/category-Cf-tests: Likewise.
1580         * modules/unictype/category-Cn-tests: Likewise.
1581         * modules/unictype/category-Co-tests: Likewise.
1582         * modules/unictype/category-Cs-tests: Likewise.
1583         * modules/unictype/category-L-tests: Likewise.
1584         * modules/unictype/category-Ll-tests: Likewise.
1585         * modules/unictype/category-Lm-tests: Likewise.
1586         * modules/unictype/category-Lo-tests: Likewise.
1587         * modules/unictype/category-Lt-tests: Likewise.
1588         * modules/unictype/category-Lu-tests: Likewise.
1589         * modules/unictype/category-M-tests: Likewise.
1590         * modules/unictype/category-Mc-tests: Likewise.
1591         * modules/unictype/category-Me-tests: Likewise.
1592         * modules/unictype/category-Mn-tests: Likewise.
1593         * modules/unictype/category-N-tests: Likewise.
1594         * modules/unictype/category-Nd-tests: Likewise.
1595         * modules/unictype/category-Nl-tests: Likewise.
1596         * modules/unictype/category-No-tests: Likewise.
1597         * modules/unictype/category-P-tests: Likewise.
1598         * modules/unictype/category-Pc-tests: Likewise.
1599         * modules/unictype/category-Pd-tests: Likewise.
1600         * modules/unictype/category-Pe-tests: Likewise.
1601         * modules/unictype/category-Pf-tests: Likewise.
1602         * modules/unictype/category-Pi-tests: Likewise.
1603         * modules/unictype/category-Po-tests: Likewise.
1604         * modules/unictype/category-Ps-tests: Likewise.
1605         * modules/unictype/category-S-tests: Likewise.
1606         * modules/unictype/category-Sc-tests: Likewise.
1607         * modules/unictype/category-Sk-tests: Likewise.
1608         * modules/unictype/category-Sm-tests: Likewise.
1609         * modules/unictype/category-So-tests: Likewise.
1610         * modules/unictype/category-Z-tests: Likewise.
1611         * modules/unictype/category-Zl-tests: Likewise.
1612         * modules/unictype/category-Zp-tests: Likewise.
1613         * modules/unictype/category-Zs-tests: Likewise.
1614         * modules/unictype/category-and-not-tests: Likewise.
1615         * modules/unictype/category-and-tests: Likewise.
1616         * modules/unictype/category-byname-tests: Likewise.
1617         * modules/unictype/category-name-tests: Likewise.
1618         * modules/unictype/category-none-tests: Likewise.
1619         * modules/unictype/category-of-tests: Likewise.
1620         * modules/unictype/category-or-tests: Likewise.
1621         * modules/unictype/category-test-withtable-tests: Likewise.
1622         * modules/unictype/combining-class-tests: Likewise.
1623         * modules/unictype/ctype-alnum-tests: Likewise.
1624         * modules/unictype/ctype-alpha-tests: Likewise.
1625         * modules/unictype/ctype-blank-tests: Likewise.
1626         * modules/unictype/ctype-cntrl-tests: Likewise.
1627         * modules/unictype/ctype-digit-tests: Likewise.
1628         * modules/unictype/ctype-graph-tests: Likewise.
1629         * modules/unictype/ctype-lower-tests: Likewise.
1630         * modules/unictype/ctype-print-tests: Likewise.
1631         * modules/unictype/ctype-punct-tests: Likewise.
1632         * modules/unictype/ctype-space-tests: Likewise.
1633         * modules/unictype/ctype-upper-tests: Likewise.
1634         * modules/unictype/ctype-xdigit-tests: Likewise.
1635         * modules/unictype/decimal-digit-tests: Likewise.
1636         * modules/unictype/digit-tests: Likewise.
1637         * modules/unictype/mirror-tests: Likewise.
1638         * modules/unictype/numeric-tests: Likewise.
1639         * modules/unictype/property-alphabetic-tests: Likewise.
1640         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
1641         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
1642         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
1643         * modules/unictype/property-bidi-block-separator-tests: Likewise.
1644         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
1645         * modules/unictype/property-bidi-common-separator-tests: Likewise.
1646         * modules/unictype/property-bidi-control-tests: Likewise.
1647         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
1648         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
1649         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
1650         * modules/unictype/property-bidi-european-digit-tests: Likewise.
1651         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
1652         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
1653         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
1654         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
1655         * modules/unictype/property-bidi-pdf-tests: Likewise.
1656         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
1657         * modules/unictype/property-bidi-whitespace-tests: Likewise.
1658         * modules/unictype/property-byname-tests: Likewise.
1659         * modules/unictype/property-combining-tests: Likewise.
1660         * modules/unictype/property-composite-tests: Likewise.
1661         * modules/unictype/property-currency-symbol-tests: Likewise.
1662         * modules/unictype/property-dash-tests: Likewise.
1663         * modules/unictype/property-decimal-digit-tests: Likewise.
1664         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
1665         * modules/unictype/property-deprecated-tests: Likewise.
1666         * modules/unictype/property-diacritic-tests: Likewise.
1667         * modules/unictype/property-extender-tests: Likewise.
1668         * modules/unictype/property-format-control-tests: Likewise.
1669         * modules/unictype/property-grapheme-base-tests: Likewise.
1670         * modules/unictype/property-grapheme-extend-tests: Likewise.
1671         * modules/unictype/property-grapheme-link-tests: Likewise.
1672         * modules/unictype/property-hex-digit-tests: Likewise.
1673         * modules/unictype/property-hyphen-tests: Likewise.
1674         * modules/unictype/property-id-continue-tests: Likewise.
1675         * modules/unictype/property-id-start-tests: Likewise.
1676         * modules/unictype/property-ideographic-tests: Likewise.
1677         * modules/unictype/property-ids-binary-operator-tests: Likewise.
1678         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
1679         * modules/unictype/property-ignorable-control-tests: Likewise.
1680         * modules/unictype/property-iso-control-tests: Likewise.
1681         * modules/unictype/property-join-control-tests: Likewise.
1682         * modules/unictype/property-left-of-pair-tests: Likewise.
1683         * modules/unictype/property-line-separator-tests: Likewise.
1684         * modules/unictype/property-logical-order-exception-tests: Likewise.
1685         * modules/unictype/property-lowercase-tests: Likewise.
1686         * modules/unictype/property-math-tests: Likewise.
1687         * modules/unictype/property-non-break-tests: Likewise.
1688         * modules/unictype/property-not-a-character-tests: Likewise.
1689         * modules/unictype/property-numeric-tests: Likewise.
1690         * modules/unictype/property-other-alphabetic-tests: Likewise.
1691         * modules/unictype/property-other-default-ignorable-code-point-tests:
1692         Likewise.
1693         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
1694         * modules/unictype/property-other-id-continue-tests: Likewise.
1695         * modules/unictype/property-other-id-start-tests: Likewise.
1696         * modules/unictype/property-other-lowercase-tests: Likewise.
1697         * modules/unictype/property-other-math-tests: Likewise.
1698         * modules/unictype/property-other-uppercase-tests: Likewise.
1699         * modules/unictype/property-paired-punctuation-tests: Likewise.
1700         * modules/unictype/property-paragraph-separator-tests: Likewise.
1701         * modules/unictype/property-pattern-syntax-tests: Likewise.
1702         * modules/unictype/property-pattern-white-space-tests: Likewise.
1703         * modules/unictype/property-private-use-tests: Likewise.
1704         * modules/unictype/property-punctuation-tests: Likewise.
1705         * modules/unictype/property-quotation-mark-tests: Likewise.
1706         * modules/unictype/property-radical-tests: Likewise.
1707         * modules/unictype/property-sentence-terminal-tests: Likewise.
1708         * modules/unictype/property-soft-dotted-tests: Likewise.
1709         * modules/unictype/property-space-tests: Likewise.
1710         * modules/unictype/property-terminal-punctuation-tests: Likewise.
1711         * modules/unictype/property-test-tests: Likewise.
1712         * modules/unictype/property-titlecase-tests: Likewise.
1713         * modules/unictype/property-unassigned-code-value-tests: Likewise.
1714         * modules/unictype/property-unified-ideograph-tests: Likewise.
1715         * modules/unictype/property-uppercase-tests: Likewise.
1716         * modules/unictype/property-variation-selector-tests: Likewise.
1717         * modules/unictype/property-white-space-tests: Likewise.
1718         * modules/unictype/property-xid-continue-tests: Likewise.
1719         * modules/unictype/property-xid-start-tests: Likewise.
1720         * modules/unictype/property-zero-width-tests: Likewise.
1721         * modules/unictype/scripts-tests: Likewise.
1722         * modules/unictype/syntax-c-ident-tests: Likewise.
1723         * modules/unictype/syntax-c-whitespace-tests: Likewise.
1724         * modules/unictype/syntax-java-ident-tests: Likewise.
1725         * modules/unictype/syntax-java-whitespace-tests: Likewise.
1726         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
1727         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
1728         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
1729         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
1730         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
1731         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
1732         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
1733         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
1734         * modules/uniname/uniname-tests: Likewise.
1735         * modules/uninorm/canonical-decomposition-tests: Likewise.
1736         * modules/uninorm/compat-decomposition-tests: Likewise.
1737         * modules/uninorm/composition-tests: Likewise.
1738         * modules/uninorm/decomposing-form-tests: Likewise.
1739         * modules/uninorm/decomposition-tests: Likewise.
1740         * modules/uninorm/filter-tests: Likewise.
1741         * modules/uninorm/nfc-tests: Likewise.
1742         * modules/uninorm/nfd-tests: Likewise.
1743         * modules/uninorm/nfkc-tests: Likewise.
1744         * modules/uninorm/nfkd-tests: Likewise.
1745         * modules/uninorm/u8-normcmp-tests: Likewise.
1746         * modules/uninorm/u8-normcoll-tests: Likewise.
1747         * modules/uninorm/u16-normcmp-tests: Likewise.
1748         * modules/uninorm/u16-normcoll-tests: Likewise.
1749         * modules/uninorm/u32-normcmp-tests: Likewise.
1750         * modules/uninorm/u32-normcoll-tests: Likewise.
1751         * modules/unistdio/u8-asnprintf-tests: Likewise.
1752         * modules/unistdio/u8-vasnprintf-tests: Likewise.
1753         * modules/unistdio/u8-vasprintf-tests: Likewise.
1754         * modules/unistdio/u8-vsnprintf-tests: Likewise.
1755         * modules/unistdio/u8-vsprintf-tests: Likewise.
1756         * modules/unistdio/u16-asnprintf-tests: Likewise.
1757         * modules/unistdio/u16-vasnprintf-tests: Likewise.
1758         * modules/unistdio/u16-vasprintf-tests: Likewise.
1759         * modules/unistdio/u16-vsnprintf-tests: Likewise.
1760         * modules/unistdio/u16-vsprintf-tests: Likewise.
1761         * modules/unistdio/u32-asnprintf-tests: Likewise.
1762         * modules/unistdio/u32-vasnprintf-tests: Likewise.
1763         * modules/unistdio/u32-vasprintf-tests: Likewise.
1764         * modules/unistdio/u32-vsnprintf-tests: Likewise.
1765         * modules/unistdio/u32-vsprintf-tests: Likewise.
1766         * modules/unistdio/ulc-asnprintf-tests: Likewise.
1767         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
1768         * modules/unistdio/ulc-vasprintf-tests: Likewise.
1769         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
1770         * modules/unistdio/ulc-vsprintf-tests: Likewise.
1771         * modules/unistr/u8-check-tests: Likewise.
1772         * modules/unistr/u8-chr-tests: Likewise.
1773         * modules/unistr/u8-cmp-tests: Likewise.
1774         * modules/unistr/u8-cmp2-tests: Likewise.
1775         * modules/unistr/u8-cpy-alloc-tests: Likewise.
1776         * modules/unistr/u8-cpy-tests: Likewise.
1777         * modules/unistr/u8-mblen-tests: Likewise.
1778         * modules/unistr/u8-mbsnlen-tests: Likewise.
1779         * modules/unistr/u8-mbtouc-tests: Likewise.
1780         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
1781         * modules/unistr/u8-mbtoucr-tests: Likewise.
1782         * modules/unistr/u8-move-tests: Likewise.
1783         * modules/unistr/u8-next-tests: Likewise.
1784         * modules/unistr/u8-prev-tests: Likewise.
1785         * modules/unistr/u8-set-tests: Likewise.
1786         * modules/unistr/u8-stpcpy-tests: Likewise.
1787         * modules/unistr/u8-stpncpy-tests: Likewise.
1788         * modules/unistr/u8-strcat-tests: Likewise.
1789         * modules/unistr/u8-strcmp-tests: Likewise.
1790         * modules/unistr/u8-strcoll-tests: Likewise.
1791         * modules/unistr/u8-strcpy-tests: Likewise.
1792         * modules/unistr/u8-strdup-tests: Likewise.
1793         * modules/unistr/u8-strlen-tests: Likewise.
1794         * modules/unistr/u8-strmblen-tests: Likewise.
1795         * modules/unistr/u8-strmbtouc-tests: Likewise.
1796         * modules/unistr/u8-strncat-tests: Likewise.
1797         * modules/unistr/u8-strncmp-tests: Likewise.
1798         * modules/unistr/u8-strncpy-tests: Likewise.
1799         * modules/unistr/u8-strnlen-tests: Likewise.
1800         * modules/unistr/u8-to-u16-tests: Likewise.
1801         * modules/unistr/u8-to-u32-tests: Likewise.
1802         * modules/unistr/u8-uctomb-tests: Likewise.
1803         * modules/unistr/u16-check-tests: Likewise.
1804         * modules/unistr/u16-chr-tests: Likewise.
1805         * modules/unistr/u16-cmp-tests: Likewise.
1806         * modules/unistr/u16-cmp2-tests: Likewise.
1807         * modules/unistr/u16-cpy-alloc-tests: Likewise.
1808         * modules/unistr/u16-cpy-tests: Likewise.
1809         * modules/unistr/u16-mblen-tests: Likewise.
1810         * modules/unistr/u16-mbsnlen-tests: Likewise.
1811         * modules/unistr/u16-mbtouc-tests: Likewise.
1812         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
1813         * modules/unistr/u16-mbtoucr-tests: Likewise.
1814         * modules/unistr/u16-move-tests: Likewise.
1815         * modules/unistr/u16-next-tests: Likewise.
1816         * modules/unistr/u16-prev-tests: Likewise.
1817         * modules/unistr/u16-set-tests: Likewise.
1818         * modules/unistr/u16-stpcpy-tests: Likewise.
1819         * modules/unistr/u16-stpncpy-tests: Likewise.
1820         * modules/unistr/u16-strcat-tests: Likewise.
1821         * modules/unistr/u16-strcmp-tests: Likewise.
1822         * modules/unistr/u16-strcoll-tests: Likewise.
1823         * modules/unistr/u16-strcpy-tests: Likewise.
1824         * modules/unistr/u16-strdup-tests: Likewise.
1825         * modules/unistr/u16-strlen-tests: Likewise.
1826         * modules/unistr/u16-strmblen-tests: Likewise.
1827         * modules/unistr/u16-strmbtouc-tests: Likewise.
1828         * modules/unistr/u16-strncat-tests: Likewise.
1829         * modules/unistr/u16-strncmp-tests: Likewise.
1830         * modules/unistr/u16-strncpy-tests: Likewise.
1831         * modules/unistr/u16-strnlen-tests: Likewise.
1832         * modules/unistr/u16-to-u32-tests: Likewise.
1833         * modules/unistr/u16-to-u8-tests: Likewise.
1834         * modules/unistr/u16-uctomb-tests: Likewise.
1835         * modules/unistr/u32-check-tests: Likewise.
1836         * modules/unistr/u32-chr-tests: Likewise.
1837         * modules/unistr/u32-cmp-tests: Likewise.
1838         * modules/unistr/u32-cmp2-tests: Likewise.
1839         * modules/unistr/u32-cpy-alloc-tests: Likewise.
1840         * modules/unistr/u32-cpy-tests: Likewise.
1841         * modules/unistr/u32-mblen-tests: Likewise.
1842         * modules/unistr/u32-mbsnlen-tests: Likewise.
1843         * modules/unistr/u32-mbtouc-tests: Likewise.
1844         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
1845         * modules/unistr/u32-mbtoucr-tests: Likewise.
1846         * modules/unistr/u32-move-tests: Likewise.
1847         * modules/unistr/u32-next-tests: Likewise.
1848         * modules/unistr/u32-prev-tests: Likewise.
1849         * modules/unistr/u32-set-tests: Likewise.
1850         * modules/unistr/u32-stpcpy-tests: Likewise.
1851         * modules/unistr/u32-stpncpy-tests: Likewise.
1852         * modules/unistr/u32-strcat-tests: Likewise.
1853         * modules/unistr/u32-strcmp-tests: Likewise.
1854         * modules/unistr/u32-strcoll-tests: Likewise.
1855         * modules/unistr/u32-strcpy-tests: Likewise.
1856         * modules/unistr/u32-strdup-tests: Likewise.
1857         * modules/unistr/u32-strlen-tests: Likewise.
1858         * modules/unistr/u32-strmblen-tests: Likewise.
1859         * modules/unistr/u32-strmbtouc-tests: Likewise.
1860         * modules/unistr/u32-strncat-tests: Likewise.
1861         * modules/unistr/u32-strncmp-tests: Likewise.
1862         * modules/unistr/u32-strncpy-tests: Likewise.
1863         * modules/unistr/u32-strnlen-tests: Likewise.
1864         * modules/unistr/u32-to-u16-tests: Likewise.
1865         * modules/unistr/u32-to-u8-tests: Likewise.
1866         * modules/unistr/u32-uctomb-tests: Likewise.
1867         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
1868         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
1869         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
1870         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
1871         * modules/uniwidth/u8-strwidth-tests: Likewise.
1872         * modules/uniwidth/u8-width-tests: Likewise.
1873         * modules/uniwidth/u16-strwidth-tests: Likewise.
1874         * modules/uniwidth/u16-width-tests: Likewise.
1875         * modules/uniwidth/u32-strwidth-tests: Likewise.
1876         * modules/uniwidth/u32-width-tests: Likewise.
1877         * modules/uniwidth/width-tests: Likewise.
1878
1879 2010-05-18  Richard Jones  <rjones@redhat.com>
1880
1881         doc: users.txt: list hivex
1882         * users.txt: Add hivex.
1883
1884 2010-05-18  Richard Jones  <rjones@redhat.com>
1885
1886         doc: users.txt: list febootstrap
1887         * users.txt: Add febootstrap.
1888
1889 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
1890
1891         bootstrap: fix an error when gnulib is not used as a git submodule
1892         * build-aux/bootstrap (gnulib_path): If its length is zero then
1893         assign "gnulib" to it.
1894         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
1895
1896 2010-05-16  Bruno Haible  <bruno@clisp.org>
1897
1898         Avoid autoconf warnings about AM_ICONV.
1899         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
1900         2.64.
1901
1902 2010-05-16  Bruno Haible  <bruno@clisp.org>
1903
1904         absolute-header: Make the macro usable in more situations.
1905         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
1906         from gl_ABSOLUTE_HEADER.
1907         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
1908
1909 2010-05-16  James Youngman  <jay@gnu.org>
1910
1911         doc: update users.txt
1912         * users.txt: Add CSSC.
1913
1914 2010-05-16  Jim Meyering  <meyering@redhat.com>
1915
1916         init.sh: fix an error in the previous change; add more comments
1917         * tests/init.sh: Compare exit code in loop against 9, not 2.
1918         Patch by Bruno Haible.
1919         Make the two tests more similar by adding an empty "then" clause.
1920         Add comments.
1921
1922         init.sh: avoid unnecessary shell re-exec
1923         * tests/init.sh: Improve the re-exec-required check to first test the
1924         current shell.  If it passes the test, do not search for a shell that
1925         does pass, and do not re-exec.  This test is particularly contorted to
1926         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
1927         of $(...) evokes a syntax error and causes immediate shell exit with
1928         status 2.  Bruno Haible reported that the re-exec made it impossible
1929         to single-step through any init.sh-using script.
1930
1931 2010-05-16  Bruno Haible  <bruno@clisp.org>
1932
1933         Fix collision between gnulib's and libintl's printf replacements.
1934         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
1935         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
1936         (printf): When using GNU C, map the __printf__ function to rpl_printf
1937         via __asm__. When not using GNU C, define rpl_printf instead of
1938         __printf__.
1939         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
1940         commit.
1941         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
1942         commit.
1943         * m4/asm-underscore.m4: New file.
1944         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
1945         * modules/stdio (Files): Add m4/asm-underscore.m4.
1946         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
1947         Reported by Ben Pfaff.
1948
1949 2010-05-16  Bruno Haible  <bruno@clisp.org>
1950
1951         verify: Avoid skipping the test on openSUSE 11.0.
1952         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
1953
1954 2010-05-13  Bruno Haible  <bruno@clisp.org>
1955
1956         Avoid useless warnings from G++.
1957         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
1958         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
1959         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
1960
1961 2010-05-11  Jim Meyering  <meyering@redhat.com>
1962
1963         maint.mk: tweak preceding change
1964         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
1965         regexps tighter by anchoring at EOL, and make the new group "shy"
1966         for slightly decreased overhead.
1967
1968 2010-05-11  Eric Blake  <eblake@redhat.com>
1969
1970         maint.mk: gnulib doesn't guarantee NSIG
1971         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
1972
1973 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
1974
1975         test-pwrite.c: Remove unused variable declaration.
1976         * tests/test-pwrite.c (main): Remove read_buf declaration.
1977
1978         Remove useless test-pwrite.sh file.
1979         * tests/test-pwrite.sh: Delete file.
1980         * modules/pwrite-tests: Remove references.
1981         Reported by Bruno Haible.
1982
1983 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
1984
1985         init.sh: fix a typo
1986         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
1987
1988 2010-05-10  Jim Meyering  <meyering@redhat.com>
1989
1990         maint.mk: avoid using a temporary file in the always-defined-macros check
1991         * top/maint.mk (.re-defmac): Remove rule.
1992         (gl_trap_): Remove definition.
1993         (sc_prohibit_always-defined_macros): Rewrite not to create and
1994         depend on a temporary file.  Instead, depend on GNU grep's ability
1995         to read a list of regular expressions from stdin when given "-f -".
1996
1997 2010-05-09  Bruno Haible  <bruno@clisp.org>
1998
1999         Update to GNU gettext 0.18, part 1.
2000         * m4/gettext.m4: Update to GNU gettext 0.18.
2001         * m4/intl.m4: Likewise.
2002         * m4/po.m4: Likewise.
2003         * modules/gettext (Files): Add m4/fcntl-o.m4.
2004         (configure.ac): Require gettext infrastructure from version 0.18.
2005
2006 2010-05-09  Jim Meyering  <meyering@redhat.com>
2007
2008         init.sh: enable MALLOC_PERTURB_
2009         * tests/init.sh: Enable glibc's malloc-perturbing option.
2010
2011         maint.mk: improve sc_cross_check_PATH_usage_in_tests
2012         With my recent change in init.sh from the two-line form:
2013             -#   : ${srcdir=.}
2014             -#   . "$srcdir/init.sh"; path_prepend_ .
2015             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
2016         I noticed that using the one-line form would cause this test
2017         to fail with a false-positive, or to stop working altogether,
2018         depending on whether help-version changed or all the tests did.
2019         * top/maint.mk (_hv_regex): Remove this definition.
2020         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
2021         (_hv_regex_strong): Use a stronger regex to check for conformance.
2022         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
2023         Give a separate diagnostic for lack of conforming use.
2024
2025         maint.mk: prohibit definition of symbols defined by gnulib
2026         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
2027         definition of symbols defined by gnulib.
2028
2029 2010-05-09  Bruno Haible  <bruno@clisp.org>
2030
2031         acl: Avoid test failure on Cygwin-hosted mingw.
2032         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
2033
2034 2010-05-09  Bruno Haible  <bruno@clisp.org>
2035
2036         error: Use system's fcntl function.
2037         * lib/error.c (fcntl): Undefine.
2038
2039 2010-05-09  Jim Meyering  <meyering@redhat.com>
2040
2041         verify: adjust formatting to be more consistent
2042         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
2043         argument-list '('s, and after one comma.
2044
2045 2010-05-09  Bruno Haible  <bruno@clisp.org>
2046
2047         error: More reliable output on mingw.
2048         * lib/error.c: Include <windows.h>.
2049         (is_open): New function.
2050         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
2051         defined.
2052
2053 2010-05-09  Bruno Haible  <bruno@clisp.org>
2054
2055         vasnprintf: Fix syntax errors in libintl build on mingw.
2056         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
2057         pad_ourselves and prec_ourselves after use.
2058
2059 2010-05-08  Bruno Haible  <bruno@clisp.org>
2060
2061         * lib/config.charset: Update comments for Cygwin 1.7.
2062         * lib/localcharset.c: Likewise.
2063
2064 2010-05-07  Jim Meyering  <meyering@redhat.com>
2065
2066         init.sh: improve comments
2067         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
2068         . "${srcdir=.}/init.sh"; path_prepend_ .
2069         Add a note about path_prepend_ and the alternative of using
2070         TESTS_ENVIRONMENT.
2071
2072 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
2073
2074         exclude: Unescape hashed patterns in wildcard mode.
2075         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
2076         to the hash list.
2077         * tests/test-exclude8.sh: New test case.
2078         * modules/exclude-tests: Add new test.
2079
2080 2010-05-05  Eric Blake  <eblake@redhat.com>
2081
2082         verify: automate tests
2083         * modules/verify-tests: New module.
2084         * tests/test-verify.sh: New file.
2085         * tests/test-verify.c: Guard each negative test with a unique id.
2086         Also avoid warning about unused left hand of comma expressions.
2087
2088 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
2089
2090         Further improvements to verify.h, suggested by Eric Blake.
2091         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
2092         the GL_* versions, to avoid collision with OpenGL.
2093         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
2094         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
2095         than testing merely whether it's defined.
2096
2097         Modify verify.h to pacify gcc -Wredundant_decls.
2098         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
2099         These use the prefix "GL_" since they're likely to be useful elsewhere.
2100         We may need to break them out into a different .h file.
2101         (__COUNTER__): Define to 0 if the compiler doesn't support it.
2102         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
2103         of verify_function__.
2104
2105 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
2106
2107         Tests for module pwrite.
2108         * modules/pwrite-tests: New file.
2109         * tests/test-pwrite.sh: New file.
2110         * tests/test-pwrite.c: New file.
2111
2112         New module pwrite.
2113         * lib/unistd.in.h (pwrite): New declaration.
2114         * lib/pwrite.c: New file, from glibc with modifications.
2115         * m4/pwrite.m4: New file.
2116         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
2117         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
2118         REPLACE_PWRITE.
2119         * modules/pwrite: New file.
2120         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
2121         REPLACE_PWRITE.
2122         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
2123         * doc/posix-functions/pwrite.texi: Mention the new module.
2124
2125 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
2126
2127         pread: Update documentation.
2128         * doc/posix-functions/pread.texi: Mention the 'pread' module.
2129
2130 2010-05-04  Eric Blake  <eblake@redhat.com>
2131
2132         docs: update cygwin progress
2133         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
2134         this bug.
2135         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
2136         Added in cygwin 1.7.2.
2137         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
2138         Likewise.
2139         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
2140         Likewise.
2141         * doc/glibc-functions/dup3.texi (dup3): Likewise.
2142         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
2143         * doc/glibc-functions/accept4.texi (accept4): Likewise.
2144         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
2145         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
2146         Mention nproc module.
2147         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
2148         bug in cygwin 1.7.5 addition.
2149         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
2150         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
2151         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
2152         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
2153         1.7.5.
2154         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
2155         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
2156         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
2157         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
2158         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
2159         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
2160         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
2161         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
2162         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
2163         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
2164         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
2165         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
2166         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
2167         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
2168         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
2169         Likewise.
2170         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
2171         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
2172         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
2173         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
2174         Likewise.
2175         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
2176         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
2177         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
2178         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
2179         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
2180         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
2181         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
2182         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
2183         Likewise.
2184         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
2185         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
2186         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
2187         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
2188         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
2189         Likewise.
2190         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
2191         Likewise.
2192         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
2193         Likewise.
2194         * doc/glibc-functions/xdrrec_endofrecord.texi
2195         (xdrrec_endofrecord): Likewise.
2196         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
2197         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
2198         Likewise.
2199         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
2200         Likewise.
2201
2202 2010-05-04  Jim Meyering  <meyering@redhat.com>
2203
2204         gendocs.sh: make its "-s FILE" option more useful
2205         * build-aux/gendocs.sh: When honoring the -s FILE option, update
2206         $PACKAGE to reflect the probably-different basename of "FILE".
2207
2208 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
2209
2210         bootstrap: don't ignore download_po_files failure
2211         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
2212         failure.
2213
2214 2010-05-03  Jim Meyering  <meyering@redhat.com>
2215
2216         maint.mk: allow to pass options to gendocs.sh
2217         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
2218         (gendocs_options_): New overridable variable.
2219
2220         gnu-web-doc-update: don't ignore configure or build failure
2221         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
2222
2223         announce-gen: backslash-escape '@'s in --help output
2224         * build-aux/announce-gen: Fix syntax errors.
2225
2226         maint.mk, announce-gen: allow project-specific announcement mail headers
2227         * top/maint.mk (translation_project_): Define default.
2228         (announcement_Cc_, announcement_mail_headers_): Likewise.
2229         (announcement): Invoke announce-gen with new --mail-headers option.
2230         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
2231
2232         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
2233         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
2234         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
2235         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
2236         line in the "err2" output file when running "make check" in verbose
2237         mode (i.e., with set -x enabled).
2238
2239 2010-05-03  Bruno Haible  <bruno@clisp.org>
2240
2241         wctob: Fix for weird platforms.
2242         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
2243         argument value.
2244
2245 2010-05-03  Jim Meyering  <meyering@redhat.com>
2246
2247         maint.mk: prohibit unwarranted use of <strings.h>
2248         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
2249         strings.h in a file that does not also use strcasecmp, strncasecmp,
2250         ffs or ffsll.
2251
2252         maint.mk: remove obsolete comments
2253         * top/maint.mk: Remove stale, commented-out rules.
2254
2255 2010-05-02  Bruno Haible  <bruno@clisp.org>
2256
2257         wcwidth: Declare also when it's aliased.
2258         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
2259         macro.
2260
2261 2010-05-02  Bruno Haible  <bruno@clisp.org>
2262
2263         Fix regression from 2010-04-25.
2264         * gnulib-tool (func_modules_transitive_closure): Check the status of
2265         all modules, not only of the tests that are of the form foo-tests where
2266         foo is a module.
2267
2268 2010-05-02  Bruno Haible  <bruno@clisp.org>
2269
2270         wctob: Work around nasty Cygwin 1.7.2 bug.
2271         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
2272         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
2273
2274 2010-05-01  Bruno Haible  <bruno@clisp.org>
2275
2276         fpurge: Sharper test.
2277         * tests/test-fpurge.c (main): Add one more ftell check.
2278         * modules/fpurge-tests (Depends-on): Add ftell.
2279         Suggested by Eric Blake.
2280
2281 2010-05-01  Bruno Haible  <bruno@clisp.org>
2282
2283         ftello: Another test.
2284         * tests/test-ftello3.c: New file.
2285         * modules/ftello-tests (Files): Add it.
2286         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
2287         MOSTLYCLEANFILES.
2288
2289         ftell: Another test.
2290         * tests/test-ftell3.c: New file.
2291         * modules/ftell-tests (Files): Add it.
2292         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
2293         MOSTLYCLEANFILES.
2294
2295 2010-05-01  Bruno Haible  <bruno@clisp.org>
2296
2297         ftell, ftello: Work around Solaris bug.
2298         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
2299         * lib/ftello.c: Include stdio-impl.h.
2300         (ftello): On Solaris, when _IOWRT is set, compute the result without
2301         looking at _IOREAD.
2302         * modules/ftello (Files): Add lib/stdio-impl.h.
2303         * doc/posix-functions/ftell.texi: Mention Solaris bug.
2304         * doc/posix-functions/ftello.texi: Likewise.
2305         Reported by Eric Blake.
2306
2307 2010-05-01  Bruno Haible  <bruno@clisp.org>
2308
2309         freading: Adapt to special meaning of _IOREAD flag on Solaris.
2310         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
2311         the _IOWRT flag is also set.
2312
2313 2010-05-01  Bruno Haible  <bruno@clisp.org>
2314
2315         Fix doc about a HP-UX stdio bug.
2316         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
2317         * doc/posix-functions/ftello.texi: Likewise.
2318
2319 2010-05-01  Bruno Haible  <bruno@clisp.org>
2320
2321         lseek test: Fix failure on Solaris.
2322         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
2323         output.
2324
2325 2010-04-30  Jim Meyering  <meyering@redhat.com>
2326
2327         bootstrap: don't ignore failure to generate po*/Makevars
2328         * build-aux/bootstrap (with_gettext): Don't ignore failure
2329         to create po/Makevars or runtime-po/Makevars.
2330
2331 2010-04-29  Eric Blake  <eblake@redhat.com>
2332
2333         headers: relax license to LGPLv2+
2334         * modules/fcntl-h (License): Relax license.
2335         * modules/getopt-posix (License): Likewise.
2336         * modules/locale (License): Likewise.
2337         * modules/math (License): Likewise.
2338         * modules/pty (License): Likewise.
2339         * modules/sched (License): Likewise.
2340         * modules/search (License): Likewise.
2341         * modules/spawn (License): Likewise.
2342         * modules/stdarg (License): Likewise.
2343         * modules/sysexits (License): Likewise.
2344
2345 2010-04-29  Jim Meyering  <meyering@redhat.com>
2346
2347         inttypes: relax license to LGPLv2+
2348         * modules/inttypes (License): Relax license.
2349
2350 2010-04-29  Simon Josefsson  <simon@josefsson.org>
2351
2352         * top/maint.mk (indent): Run twice to produce idempotent results.
2353
2354 2010-04-28  Bruno Haible  <bruno@clisp.org>
2355
2356         getdate: Generate getdate.c in the source directory.
2357         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
2358         MOSTLYCLEANFILES.
2359         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
2360
2361 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
2362
2363         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
2364         is not declared as a const *; avoid warnings in that case.
2365
2366 2010-04-28  Eric Blake  <eblake@redhat.com>
2367
2368         canonicalize-lgpl: avoid compiler warning
2369         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
2370         declaration' / 'extraneous semicolon' warning with some compilers.
2371         Reported by Andreas Gruenbacher.
2372
2373 2010-04-28  Jim Meyering  <meyering@redhat.com>
2374
2375         init.sh: ensure a more reliable exit status when exiting via trap
2376         * tests/init.sh (setup_): Don't rely on $? in signal handler.
2377         Inspired by patches from Dmitry V. Levin.
2378         Also trap on signal 3 (SIGQUIT).
2379
2380 2010-04-27  Bruno Haible  <bruno@clisp.org>
2381
2382         Update doc about utimes().
2383         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
2384         'utimens' module.
2385         Reported by Andreas Gruenbacher <agruen@suse.de>.
2386
2387 2010-04-27  Eric Blake  <eblake@redhat.com>
2388
2389         full-read, full-write: relax license
2390         * modules/full-read (License): Drop to LGPLv2+.
2391         * modules/full-write (License): Likewise.
2392         * modules/safe-read (License): Likewise.
2393         * modules/safe-write (License): Likewise.
2394
2395         pthread: mention library for linking
2396         * modules/pthread (Link): Mention $(LIB_PTHREAD).
2397
2398 2010-04-27  Jim Meyering  <meyering@redhat.com>
2399
2400         maint.mk: fix a bug introduced in last change
2401         * top/maint.mk (gl_assured_headers_): Now that all names are on
2402         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
2403         is not anchored to end of word, it should be adequate.
2404
2405         maint.mk: avoid side-effect in latest syntax-check
2406         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
2407         to run commands via $(shell...), and hence to incur cost only when
2408         the new rule is actually run.
2409
2410         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
2411         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
2412         and use that to create a regexp used to detect all #if HAVE_..._H uses.
2413         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
2414         (gl_assured_headers_, az_, AZ_): Define.
2415         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
2416
2417 2010-04-26  Jim Meyering  <jim@meyering.net>
2418             Bruno Haible  <bruno@clisp.org>
2419
2420         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
2421         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
2422         Prompted by an exchange with Gilles Espinasse.
2423
2424 2010-04-26  Jim Meyering  <meyering@redhat.com>
2425
2426         git-version-gen: aesthetic tweak
2427         * build-aux/git-version-gen: Use "$nl" rather than a literal,
2428         so that the command remains on a single line.
2429
2430 2010-04-26  Eric Blake  <eblake@redhat.com>
2431
2432         git-version-gen: allow use on EBCDIC hosts
2433         * build-aux/git-version-gen (dirty): Use literal rather than tying
2434         ourselves to ascii.
2435         Reported by Steve Goetze.
2436
2437 2010-04-25  Bruno Haible  <bruno@clisp.org>
2438
2439         netdb: Add support for GNULIB_POSIXCHECK.
2440         * lib/netdb.in.h: Include warn-on-use.h.
2441         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
2442         functions are used when GNULIB_POSIXCHECK is defined and the
2443         getaddrinfo module is not in use.
2444         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
2445         freeaddrinfo, gai_strerror, getnameinfo are declared.
2446         * modules/netdb (Depends-on): Add warn-on-use.
2447         (Makefile.am): Include warn-on-use.h in netdb.h.
2448
2449 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
2450
2451         build: avoid "make check" failure without .git/ directory
2452         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
2453         there is no .git/ directory.
2454
2455 2010-04-25  Bruno Haible  <bruno@clisp.org>
2456
2457         ptsname: Fix misuse of ttyname_r.
2458         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
2459         of errno.
2460
2461 2010-04-25  Bruno Haible  <bruno@clisp.org>
2462
2463         ttyname_r: Make it work on Solaris 10.
2464         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
2465         if the system function has the POSIX declaration. Test whether the
2466         function fails if the buffer is less than 128 bytes large.
2467         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
2468         system's ttyname_r function. Provide a reasonably large buffer.
2469         * modules/ttyname_r (Depends-on): Add extensions.
2470         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
2471
2472 2010-04-25  Bruno Haible  <bruno@clisp.org>
2473
2474         Use the 'extensions' module for some more functions on Solaris.
2475         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
2476         module.
2477         * doc/posix-functions/ctime_r.texi: Likewise.
2478         * doc/posix-functions/getgrgid_r.texi: Likewise.
2479         * doc/posix-functions/getgrnam_r.texi: Likewise.
2480         * doc/posix-functions/getpwnam_r.texi: Likewise.
2481         * doc/posix-functions/getpwuid_r.texi: Likewise.
2482         * doc/posix-functions/readdir_r.texi: Likewise.
2483         * doc/posix-functions/sigwait.texi: Likewise.
2484         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
2485         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
2486
2487 2010-04-25  Bruno Haible  <bruno@clisp.org>
2488
2489         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
2490         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
2491         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
2492         * lib/ttyname_r.c: Include <limits.h>.
2493         (ttyname_r): Define using the system's ttyname_r function, if it exists
2494         and not on Solaris.
2495         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
2496         set.
2497         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
2498         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
2499         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
2500         Reported by Simon Josefsson.
2501
2502 2010-04-25  Bruno Haible  <bruno@clisp.org>
2503
2504         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
2505         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
2506         * doc/posix-functions/ctime_r.texi: Likewise.
2507         * doc/posix-functions/getgrgid_r.texi: Likewise.
2508         * doc/posix-functions/getgrnam_r.texi: Likewise.
2509         * doc/posix-functions/getlogin_r.texi: Likewise.
2510         * doc/posix-functions/getpwnam_r.texi: Likewise.
2511         * doc/posix-functions/getpwuid_r.texi: Likewise.
2512         * doc/posix-functions/readdir_r.texi: Likewise.
2513         * doc/posix-functions/sigwait.texi: Likewise.
2514         * doc/posix-functions/ttyname_r.texi: Likewise.
2515         Reported by Simon Josefsson.
2516
2517 2010-04-25  Bruno Haible  <bruno@clisp.org>
2518
2519         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
2520         * gnulib-tool (func_usage): Document that --with-*-tests options apply
2521         also to --create-testdir.
2522         (func_acceptable): Don't consider the status of *-tests modules here.
2523         (func_modules_transitive_closure): Consider it here, before including a
2524         test module.
2525         (func_import, func_create_testdir): Set inc_all_direct_tests,
2526         inc_all_indirect_tests.
2527         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
2528         --create-testdir and --create-megatestdir.
2529
2530 2010-04-25  Bruno Haible  <bruno@clisp.org>
2531
2532         gnulib-tool: Add --without-*-tests options.
2533         * gnulib-tool (func_usage): Document the --without-*-tests options.
2534         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
2535         excl_unportable_tests): New variables.
2536         Fail if they are specified with --import or --update.
2537         (func_acceptable): Respect the excl_*_tests variables.
2538         (func_import): Set the excl_*_tests variables to empty.
2539
2540 2010-04-25  Simon Josefsson  <simon@josefsson.org>
2541             Bruno Haible  <bruno@clisp.org>
2542
2543         Work around a MacOS X 10.4 bug with openpty.
2544         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
2545         * tests/test-openpty.c (main): Close the master side explicitly.
2546
2547 2010-04-25  Bruno Haible  <bruno@clisp.org>
2548
2549         strnlen: Fix a C++ test error on MacOS X and Solaris.
2550         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
2551         the function is not declared.
2552         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
2553         Simon Josefsson.
2554
2555 2010-04-24  Bruno Haible  <bruno@clisp.org>
2556
2557         Avoid a gcc warning.
2558         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
2559         of correct type for %08lx directive.
2560         Reported by Eric Blake.
2561
2562 2010-04-24  Bruno Haible  <bruno@clisp.org>
2563
2564         vasnprintf: Correct errno value in case of out-of-memory.
2565         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
2566         or sprintf. Use the errno value from SNPRINTF or sprintf.
2567         Reported by Ian Beckwith <ianb@erislabs.net>.
2568
2569 2010-04-24  Bruno Haible  <bruno@clisp.org>
2570
2571         ansi-c++-opt: Find correct compiler when cross-compiling.
2572         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
2573         AC_CHECK_PROGS.
2574         Reported by Simon Josefsson.
2575
2576 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
2577
2578         vc-list-files: Add support for subversion
2579         * build-aux/vc-list-files: Use "svn list" to generate the list of
2580         files controlled by subversion.
2581
2582 2010-04-23  Jim Meyering  <meyering@redhat.com>
2583
2584         vc-list-files tests: convert to use init.sh
2585         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
2586         path_prepend_.
2587         Use Exit, not exit.
2588         Use skip_ rather than open coding it.
2589         Remove trap set-up and compare definitions.
2590         * tests/test-vc-list-files-git.sh: Likewise.
2591         * modules/vc-list-files-tests (Files): Add tests/init.sh.
2592
2593 2010-04-22  Simon Josefsson  <simon@josefsson.org>
2594
2595         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
2596         backup files.
2597
2598 2010-04-21  Simon Josefsson  <simon@josefsson.org>
2599
2600         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
2601
2602 2010-04-20  Eric Blake  <eblake@redhat.com>
2603
2604         tests: be robust to ignored SIGPIPE
2605         * tests/test-select-in.sh: Consume all output.
2606         * tests/test-lseek.sh: Check correct exit status, while avoiding
2607         EPIPE.
2608
2609 2010-04-20  Simon Josefsson  <simon@josefsson.org>
2610             Bruno Haible  <bruno@clisp.org>
2611
2612         visibility: Don't use -fvisibility if it leads to a warning.
2613         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
2614         yes, don't pretend that visibility works if it leads to a warning.
2615         Reported by Mike Gran <spk121@yahoo.com>.
2616
2617 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
2618
2619         * build-aux/bootstrap: Use "git -h" for testing for supported options
2620         instead of "git --help".  The short-form option only shows a summary,
2621         and doesn't layout the full man page.  Grep for the full option name
2622         in the summary, too.
2623
2624 2010-04-19  Bruno Haible  <bruno@clisp.org>
2625
2626         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
2627         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
2628         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
2629         mention of RELOCATABLE_STRIP.
2630         Reported by Sylvain Beucler <beuc@beuc.net>.
2631
2632 2010-04-19  Bruno Haible  <bruno@clisp.org>
2633
2634         * lib/diffseq.h: Fix typo in comment.
2635         Reported by Eric Blake.
2636
2637 2010-04-19  Bruno Haible  <bruno@clisp.org>
2638
2639         ioctl: Move autoconf macro to a .m4 file.
2640         * m4/ioctl.m4: New file, extracted from modules/ioctl.
2641         * modules/ioctl (Files): Add it.
2642         (configure.ac): Simply invoke gl_FUNC_IOCTL.
2643         Reported by Ian Beckwith <ianb@erislabs.net>.
2644
2645 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
2646             Bruno Haible  <bruno@clisp.org>
2647
2648         diffseq: Accommodate use-case with abstract arrays.
2649         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
2650         is not defined.
2651         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
2652         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
2653
2654 2010-04-18  Bruno Haible  <bruno@clisp.org>
2655
2656         * doc/posix-headers/stdbool.texi: More precise wording.
2657
2658 2010-04-17  Jim Meyering  <meyering@redhat.com>
2659
2660         maint.mk: use gnu-style indentation in an embedded perl script
2661         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
2662         Rename variable: s/two/last_two_bytes/
2663
2664 2010-04-16  Eric Blake  <eblake@redhat.com>
2665
2666         test-stdbool: skip test that fails with Solaris CC
2667         * tests/test-stdbool.c (f): Skip test that causes compilation
2668         error under buggy C++ compiler.
2669         * lib/stdbool.in.h: Document the limitation.
2670         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
2671
2672         setenv: allow compilation with C++
2673         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
2674         register keyword.
2675
2676         stdint: allow test to pass with C++
2677         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
2678
2679         getopt: allow compilation with C++
2680         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
2681         struct.
2682         * lib/getopt.c (_getopt_internal_r): Use correct type.
2683         Reported by Dagobert Michelson, via Joel E. Denny.
2684
2685 2010-04-16  Bruno Haible  <bruno@clisp.org>
2686
2687         Override netdb.h always.
2688         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
2689         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
2690         Reported by Ludovic Courtès <ludo@gnu.org>.
2691
2692 2010-04-15  Bruno Haible  <bruno@clisp.org>
2693
2694         openpty: Fix mistake from 2010-03-21.
2695         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
2696         Reported by Simon Josefsson.
2697
2698 2010-04-15  Eric Blake  <eblake@redhat.com>
2699
2700         test-forkpty: fix expected signature
2701         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
2702         Reported by Simon Josefsson.
2703
2704 2010-04-15  Jim Meyering  <meyering@redhat.com>
2705
2706         maint.mk: texinfo_suffix_re_: correct the default regexp
2707         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
2708
2709         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
2710         make it configurable via texinfo_suffix_re_.
2711
2712 2010-04-14  Eric Blake  <eblake@redhat.com>
2713
2714         strtok_r: relax license to LGPLv2+
2715         * modules/strtok_r (License): Relax license.
2716         Reported by Matthias Bolte.
2717
2718 2010-04-14  Simon Josefsson  <simon@josefsson.org>
2719
2720         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
2721         version 1.4.4 by default instead of requiring the libgcrypt
2722         version used during build.  This makes it possible to use the
2723         application with older but still binary compatible libgcrypt
2724         versions.
2725
2726 2010-04-13  Eric Blake  <eblake@redhat.com>
2727
2728         getopt-gnu: match recent glibc fixes and posix ruling
2729         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
2730         '+' handling, when requesting extensions.
2731         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
2732         'W;' handling.
2733         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
2734         * doc/posix-functions/getopt.texi (getopt): Document this.
2735         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
2736         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
2737         Likewise.
2738
2739         getopt: merge bug fixes from glibc
2740         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
2741         diagnostics.  Honor '+:' correctly.  Reject ';'.
2742
2743         getopt-posix: detect MacOS bug
2744         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
2745         optind when missing a required argument.
2746         * doc/posix-functions/getopt.texi (getopt): Document the bug.
2747         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
2748         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
2749         Likewise.
2750
2751         getopt-posix: avoid spurious failure on Solaris
2752         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
2753         an indicator that setting optind=1 is sufficient for reset.
2754
2755         getopt-posix: avoid spurious failure on FreeBSD
2756         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
2757         in POSIX mode, since the m4 test uses it.
2758
2759         gnulib-tool: silence warning on BSD sh
2760         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
2761
2762 2010-04-13  Jim Meyering  <meyering@redhat.com>
2763
2764         doc: users.txt: GNU patch now uses gnulib
2765         * users.txt: Add patch.
2766
2767 2010-04-12  Jim Meyering  <meyering@redhat.com>
2768
2769         maint.mk: generate more concise timing data for syntax-check rules
2770         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
2771         " done" from each line that reports a syntax-check test duration.
2772
2773 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
2774
2775         git-version-gen: use "git update-index..." rather than "git status"
2776         * build-aux/git-version-gen: Use git update-index --refresh, not
2777         "git status".  With some versions of git, "git status" would fail
2778         to update the index and result in an unwarranted "-dirty" suffix.
2779
2780 2010-04-11  Jim Meyering  <meyering@redhat.com>
2781
2782         openat: correct formatting (no semantic change)
2783         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
2784         Suggested by Bruno Haible.
2785
2786 2010-04-11  Bruno Haible  <bruno@clisp.org>
2787
2788         Stricter declaration checking in testdirs.
2789         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
2790         If for_tests is true, augment AM_CPPFLAGS to define
2791         GNULIB_STRICT_CHECKING.
2792         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
2793         GNULIB_STRICT_CHECKING is defined, verify that the function is
2794         declared.
2795
2796 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
2797             Bruno Haible  <bruno@clisp.org>
2798
2799         libunistring: Improve configure output.
2800         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
2801         Don't say "consider installing GNU libunistring" when checking again
2802         with libiconv.
2803
2804 2010-04-11  Bruno Haible  <bruno@clisp.org>
2805
2806         libunistring: Correct value of $LTLIBUNISTRING.
2807         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
2808         correct the value of $LTLIBUNISTRING.
2809
2810 2010-04-11  Bruno Haible  <bruno@clisp.org>
2811
2812         havelib: Add static libraries to LIBS in the right order.
2813         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
2814         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
2815
2816 2010-04-11  Bruno Haible  <bruno@clisp.org>
2817
2818         libunistring: Detect libunistring also when it depends on libiconv.
2819         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
2820         the second AC_LIB_HAVE_LINKFLAGS invocation.
2821
2822 2010-04-11  James Youngman  <jay@gnu.org>
2823
2824         close-stream: declare local scalars to be "const"
2825         * lib/close-stream.c (close_stream): Make boolean variables const
2826         to document the fact that we set but do not change them.
2827
2828 2010-04-11  Bruno Haible  <bruno@clisp.org>
2829
2830         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
2831
2832 2010-04-11  Jim Meyering  <meyering@redhat.com>
2833
2834         maint.mk: don't include dist-check.mk
2835         * top/maint.mk: Remove bogus include directive.
2836
2837         maint.mk: improve empty-line-at-EOF check
2838         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
2839         solution, rather than tail+Perl-based one.  The latter would read
2840         a few kilobytes from the end of each file, and did not handle empty
2841         files properly.
2842
2843         maint.mk: print the elapsed time for each syntax-check rule
2844         * top/maint.mk (sc_m_rules_): Save start time in a file.
2845         (sc_z_rules_): New rules: remove temp file and print elapsed time.
2846         (local-check): Interpose the .z rules
2847
2848 2010-04-11  Jim Meyering  <meyering@redhat.com>
2849
2850         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
2851         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
2852         empty file with one that ends in an empty line.
2853
2854 2010-04-10  Bruno Haible  <bruno@clisp.org>
2855
2856         mkdir: Make it work on mingw64.
2857         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
2858         * lib/mkdir.c: Update comment.
2859         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
2860
2861 2010-04-10  Bruno Haible  <bruno@clisp.org>
2862
2863         Don't override improved macro from newer autoconf.
2864         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
2865         autoconf >= 2.62.
2866         Reported by Joel E. Denny <jdenny@clemson.edu>.
2867
2868 2010-04-10  Jim Meyering  <meyering@redhat.com>
2869
2870         maint.mk: new syntax-check rule: prohibit empty lines at end of file
2871         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
2872
2873         maint.mk: correct a diagnostic
2874         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
2875         in diagnostic; now use $prohibit.
2876
2877 2010-04-10  Bruno Haible  <address@hidden>
2878
2879         fchownat: Fix a C++ test error on Solaris 8.
2880         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
2881         the function does not exist.
2882
2883 2010-04-10  Bruno Haible  <bruno@clisp.org>
2884
2885         vasnprintf: Add more tests.
2886         * tests/test-vasnprintf-posix.c: Include <errno.h>.
2887         (test_function): Test converting an invalid wide string.
2888
2889         vasnprintf: Correct handling of unconvertible wide string arguments.
2890         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
2891         VASNPRINTF.
2892         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
2893         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
2894         smaller than the expected maximum need for the directive. Set errno to
2895         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
2896         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
2897         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
2898         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
2899         * modules/vasnprintf (Files): Add m4/printf.m4.
2900         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
2901
2902 2010-04-10  Bruno Haible  <bruno@clisp.org>
2903
2904         vasnprintf: Fix crash in %ls directive.
2905         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
2906         string is passed as argument to %ls, with no precision and no width.
2907         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
2908
2909 2010-04-10  Bruno Haible  <bruno@clisp.org>
2910
2911         vasnprintf: Fix multiple test failures on mingw.
2912         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
2913         _snprintf, or snwprintf, not _snwprintf.
2914
2915 2010-04-10  Bruno Haible  <bruno@clisp.org>
2916
2917         write: Fix a C++ test error on mingw.
2918         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
2919
2920 2010-04-10  Bruno Haible  <bruno@clisp.org>
2921
2922         vasnprintf test: Reduce code duplication.
2923         * tests/test-vasnprintf.c (test_function): New function, extracted from
2924         test_vasnprintf.
2925         (test_vasnprintf, test_asnprintf): Invoke it.
2926
2927 2010-04-10  Bruno Haible  <bruno@clisp.org>
2928
2929         strnlen: Fix warning in C++ mode on MacOS X.
2930         * lib/string.in.h (strnlen): Use the modern idiom.
2931         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
2932         defining strnlen as a macro already in <config.h>.
2933         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
2934         REPLACE_STRNLEN.
2935         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
2936         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
2937
2938 2010-04-08  James Youngman  <jay@gnu.org>
2939
2940         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
2941         the example.
2942
2943 2010-04-09  Jim Meyering  <meyering@redhat.com>
2944
2945         maint.mk: print better diagnostic when there is no $(_hv_file)
2946         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
2947         announce that when $(_hv_file) (aka help-version) does not exist.
2948
2949         init.sh: run tr in the "C" locale to avoid multibyte interpretation
2950         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
2951         not try to interpret its random input bytes.  Jarno Rajahalme reported
2952         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
2953         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
2954         (mktempd_): Likewise, just in case.
2955
2956         ftruncate: add two years to projected module removal date: 2012
2957         * m4/ftruncate.m4: Adjust comments.
2958
2959         ftruncate: mark module as obsolete; even MinGW provides it, now
2960         * modules/ftruncate (Status): Obsolete.
2961         (Notice): Say that.
2962         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
2963         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
2964
2965 2010-04-08  Bruno Haible  <bruno@clisp.org>
2966
2967         Fix side effects from tests-related modules.
2968         * modules/dprintf-posix (Comment): New section.
2969         * modules/fprintf-posix (Comment): Likewise.
2970         * modules/obstack-printf-posix (Comment): Likewise.
2971         * modules/printf-posix (Comment): Likewise.
2972         * modules/snprintf-posix (Comment): Likewise.
2973         * modules/sprintf-posix (Comment): Likewise.
2974         * modules/vasnprintf-posix (Comment): Likewise.
2975         * modules/vasprintf-posix (Comment): Likewise.
2976         * modules/vdprintf-posix (Comment): Likewise.
2977         * modules/vfprintf-posix (Comment): Likewise.
2978         * modules/vprintf-posix (Comment): Likewise.
2979         * modules/vsnprintf-posix (Comment): Likewise.
2980         * modules/vsprintf-posix (Comment): Likewise.
2981         * modules/xprintf-posix (Comment): Likewise.
2982         * modules/xvasprintf-posix (Comment): Likewise.
2983         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
2984         * modules/floorf-tests (Depends-on): Likewise.
2985         * modules/round-tests (Depends-on): Likewise.
2986         * modules/roundf-tests (Depends-on): Likewise.
2987         * modules/trunc-tests (Depends-on): Likewise.
2988         * modules/truncf-tests (Depends-on): Likewise.
2989         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
2990         'fprintf-posix' module is not present.
2991         * tests/test-floorf2.c (check): Likewise.
2992         * tests/test-trunc2.c (check): Likewise.
2993         * tests/test-truncf2.c (check): Likewise.
2994         * tests/test-round2.c (equal): Likewise.
2995         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
2996
2997 2010-04-07  Karl Berry  <karl@gnu.org>
2998
2999         * config/srclist.txt,
3000         * config/srclistvars.sh,
3001         * config/srclist-update: doc fixes.
3002
3003 2010-04-07  Jim Meyering  <meyering@redhat.com>
3004
3005         maint.mk: add a PATH crosschecking syntax-check rule
3006         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
3007         Useful if you use a test like the one in help-version (coreutils,
3008         diffutils, grep, gzip) that ensures $(VERSION) matches what is
3009         printed by prog --version.
3010
3011 2010-04-06  Bruno Haible  <bruno@clisp.org>
3012
3013         Fix link error on mingw.
3014         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
3015         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
3016
3017 2010-04-06  Bruno Haible  <bruno@clisp.org>
3018
3019         Assume rmdir exists.
3020         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
3021
3022 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
3023
3024         doc: update users.txt
3025         * users.txt: Add gcal.
3026
3027 2010-04-06  Jim Meyering  <meyering@redhat.com>
3028
3029         init.sh: simply unset TMPDIR rather than risking env -i
3030         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
3031         although it probably works fine on all Unix-based systems, some
3032         systems (Cygwin?) cannot tolerate a totally cleared environment.
3033         Suggestion from Eric Blake.
3034
3035 2010-04-06  Jim Meyering  <meyering@redhat.com>
3036
3037         init.sh: portability fix: use env's POSIX-specified -i option not -u
3038         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
3039         than unportable env -u.  Solaris 5.11's env lacks support for -u.
3040
3041 2010-04-05  Bruno Haible  <bruno@clisp.org>
3042
3043         btowc: Work around Cygwin 1.7.2 bug.
3044         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
3045         does not map NUL to 0.
3046         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
3047
3048 2010-04-05  Bruno Haible  <bruno@clisp.org>
3049
3050         Make the multithread modules work on Cygwin 1.7.2.
3051         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
3052         imported symbols can be declared weak, so that it returns "no" on
3053         Cygwin 1.7.2.
3054
3055 2010-04-05  Bruno Haible  <bruno@clisp.org>
3056
3057         Use the module 'strncat'.
3058         * modules/unistr/u8-strncat (Depends-on): Add strncat.
3059
3060         Tests for module 'strncat'.
3061         * modules/strncat-tests: New file.
3062         * tests/test-strncat.c: New file.
3063
3064         New module 'strncat'.
3065         * lib/string.in.h (strncat): New declaration.
3066         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
3067         * m4/strncat.m4: New file, based on m4/memchr.m4.
3068         * modules/strncat: New file.
3069         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
3070         is declared.
3071         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
3072         REPLACE_STRNCAT.
3073         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
3074         REPLACE_STRNCAT.
3075         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
3076         module.
3077         * tests/test-string-c++.cc: Check signature of strncat.
3078
3079 2010-04-05  Jim Meyering  <meyering@redhat.com>
3080
3081         xstrtoumax-tests: convert to use init.sh
3082         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
3083         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
3084         Use Exit, not exit.
3085         Remove uses of $EXEEXT and "./" to run a program in the current dir.
3086
3087         xstrtoimax-tests: convert to use init.sh
3088         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
3089         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
3090         Use Exit, not exit.
3091         Remove uses of $EXEEXT and "./" to run a program in the current dir.
3092
3093 2010-04-05  Bruno Haible  <bruno@clisp.org>
3094
3095         sys_socket: Avoid #define replacements in C++ mode.
3096         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
3097         warning to the function if possible, rather than #defining the symbol
3098         to a dysfunctional alias.
3099
3100 2010-04-05  Bruno Haible  <bruno@clisp.org>
3101
3102         fseeko: Fix C++ test error on mingw.
3103         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
3104         gl_FUNC_FSEEKO.
3105         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
3106         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
3107         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
3108         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
3109
3110 2010-04-05  Bruno Haible  <bruno@clisp.org>
3111
3112         duplocale: Improve test output.
3113         * tests/test-duplocale.c (main): Print reason for skipped test.
3114
3115 2010-04-05  Bruno Haible  <bruno@clisp.org>
3116
3117         Assume rmdir exists.
3118         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
3119         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
3120
3121 2010-04-05  Bruno Haible  <bruno@clisp.org>
3122
3123         Fix link error on Solaris 8 with cc.
3124         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
3125
3126 2010-04-05  Bruno Haible  <bruno@clisp.org>
3127
3128         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
3129         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
3130
3131 2010-04-05  Bruno Haible  <bruno@clisp.org>
3132
3133         vasprintf: Update documentation.
3134         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
3135
3136 2010-04-05  Bruno Haible  <bruno@clisp.org>
3137
3138         ptsname: Improve test.
3139         * tests/test-ptsname.c (main): Also try the various master names of BSD
3140         systems.
3141
3142 2010-04-05  Bruno Haible  <bruno@clisp.org>
3143
3144         memchr: Avoid a possible C++ test error.
3145         * lib/string.in.h (memchr): Provide declaration if function is missing.
3146         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
3147         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
3148         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
3149         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
3150
3151 2010-04-05  Bruno Haible  <bruno@clisp.org>
3152
3153         strtok_r: Improve idiom.
3154         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
3155         AC_LIBOBJ is used.
3156
3157 2010-04-05  Bruno Haible  <bruno@clisp.org>
3158
3159         strdup: Improve idiom.
3160         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
3161         AC_LIBOBJ is used.
3162         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
3163         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
3164         when AC_LIBOBJ is used.
3165
3166 2010-04-05  Bruno Haible  <bruno@clisp.org>
3167
3168         mbsinit, mbrtowc, wcrtomb: Improve idioms.
3169         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
3170         don't set REPLACE_MBSINIT to 1.
3171         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
3172         don't set REPLACE_MBRTOWC to 1.
3173         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
3174         exist, don't set REPLACE_MBSRTOWCS to 1.
3175         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
3176         exist, don't set REPLACE_MBSNRTOWCS to 1.
3177         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
3178         don't set REPLACE_WCRTOMB to 1.
3179         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
3180         exist, don't set REPLACE_WCSRTOMBS to 1.
3181         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
3182         exist, don't set REPLACE_WCSNRTOMBS to 1.
3183
3184 2010-04-05  Bruno Haible  <bruno@clisp.org>
3185
3186         ldexpl: Improve idiom.
3187         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
3188         make sure to set HAVE_DECL_LDEXPL to 0.
3189
3190 2010-04-05  Jim Meyering  <meyering@redhat.com>
3191
3192         xstrtol-tests: convert to use init.sh
3193         * modules/xstrtol-tests (Files): Add tests/init.sh.
3194         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
3195         Use Exit, not exit.
3196         Remove uses of $EXEEXT and "./" to run a program in the current dir.
3197
3198         atexit-tests: convert to use init.sh
3199         * modules/atexit-tests (Files): Add tests/init.sh.
3200         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
3201         Use Exit, not exit.
3202         Remove uses of $EXEEXT and "./" to run a program in the current dir.
3203
3204         init.sh: fix typo
3205         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
3206
3207         init.sh: make it easier for a test script to write to the tty, ...
3208         when using automake's parallel-tests mode.
3209         * tests/init.sh (stderr_fileno_): Define overridable variable.
3210         (warn_): New function, to use it.
3211         (fail_, skip_, framework_failure_): Use warn_.
3212
3213 2010-04-04  Bruno Haible  <bruno@clisp.org>
3214
3215         btowc: Avoid warning.
3216         * lib/btowc.c: Include <stdlib.h>.
3217         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
3218
3219 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
3220             Bruno Haible  <bruno@clisp.org>
3221
3222         wchar: Port to NetBSD 1.5.
3223         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
3224         * lib/wctype.in.h (WEOF): Likewise.
3225
3226 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
3227             Bruno Haible  <bruno@clisp.org>
3228
3229         Port extended stdio to NetBSD 1.5.
3230         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
3231         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
3232         older.
3233
3234 2010-04-04  Bruno Haible  <bruno@clisp.org>
3235
3236         string: Remove unused substitution.
3237         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
3238         HAVE_DECL_STRERROR.
3239         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
3240
3241 2010-04-04  Bruno Haible  <bruno@clisp.org>
3242
3243         strtod: Avoid a possible C++ test error.
3244         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
3245         set REPLACE_STRTOD.
3246
3247 2010-04-04  Bruno Haible  <bruno@clisp.org>
3248
3249         strerror: Update documentation.
3250         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
3251
3252 2010-04-04  Bruno Haible  <bruno@clisp.org>
3253
3254         stdio: Fix some C++ test errors on Solaris 8 with GCC.
3255         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
3256         _GL_CXXALIAS_SYS_CAST.
3257
3258 2010-04-04  Bruno Haible  <bruno@clisp.org>
3259
3260         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
3261         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
3262         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
3263         REPLACE_FREXPL to 1.
3264         * doc/posix-functions/frexpl.texi: Update documentation.
3265
3266 2010-04-04  Bruno Haible  <bruno@clisp.org>
3267
3268         math: Fix some C++ test errors on Solaris 8 and Cygwin.
3269         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
3270
3271 2010-04-04  Bruno Haible  <bruno@clisp.org>
3272
3273         Implement nanosleep for native Windows.
3274         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
3275
3276 2010-04-04  Bruno Haible  <bruno@clisp.org>
3277
3278         math: Fix some C++ test errors on Solaris 8.
3279         * lib/math.in.h (truncf, trunc): Use simpler idiom.
3280
3281 2010-04-04  Bruno Haible  <bruno@clisp.org>
3282
3283         math: Fix some C++ test errors on Cygwin.
3284         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
3285         truncl): Provide declaration if the system does not have it.
3286         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
3287         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
3288         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
3289         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
3290         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
3291         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
3292         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
3293         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
3294         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
3295         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
3296         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
3297         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
3298         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
3299         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
3300         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
3301         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
3302         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
3303         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
3304         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
3305         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
3306         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
3307         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
3308
3309 2010-04-04  Bruno Haible  <bruno@clisp.org>
3310
3311         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
3312         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
3313         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
3314         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
3315         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
3316         * m4/isinf.m4 (gl_ISINF): Likewise.
3317         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
3318
3319 2010-04-04  Bruno Haible  <bruno@clisp.org>
3320
3321         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
3322         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
3323
3324 2010-04-04  Bruno Haible  <bruno@clisp.org>
3325
3326         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
3327         * modules/tmpfile (configure.ac): Update.
3328
3329         tmpfile: Fix C++ test error on mingw.
3330         * lib/stdio.in.h (tmpfile): New declaration.
3331         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
3332         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
3333         * modules/tmpfile (Depends-on): Add stdio.
3334         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
3335         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
3336         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
3337         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
3338         REPLACE_TMPFILE.
3339         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
3340
3341 2010-04-04  Bruno Haible  <bruno@clisp.org>
3342
3343         ioctl: Fix C++ test error on mingw.
3344         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
3345         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
3346         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
3347
3348 2010-04-03  Bruno Haible  <bruno@clisp.org>
3349
3350         wcwidth: Fix C++ test error on mingw.
3351         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
3352         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
3353         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
3354
3355 2010-04-03  Bruno Haible  <bruno@clisp.org>
3356
3357         nanosleep: Fix C++ test error on mingw.
3358         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
3359         * lib/time.in.h (nanosleep): Use modern idiom.
3360         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
3361         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
3362         REPLACE_NANOSLEEP to 1.
3363         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
3364         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
3365
3366 2010-04-03  Bruno Haible  <bruno@clisp.org>
3367
3368         strptime: Fix C++ test error on mingw.
3369         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
3370         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
3371         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
3372         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
3373         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
3374         not REPLACE_STRPTIME.
3375         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
3376         REPLACE_STRPTIME.
3377
3378 2010-04-03  Bruno Haible  <bruno@clisp.org>
3379
3380         timegm: Fix C++ test error on mingw.
3381         * lib/time.in.h (timegm): Use modern idiom.
3382         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
3383         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
3384         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
3385         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
3386
3387 2010-04-03  Bruno Haible  <bruno@clisp.org>
3388
3389         timegm: Assume declaration if function exists.
3390         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
3391         if it exists. Don't clobber ac_cv_func_timegm.
3392
3393 2010-04-03  Bruno Haible  <bruno@clisp.org>
3394
3395         time_r: Fix C++ test error on mingw.
3396         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
3397         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
3398         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
3399         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
3400         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
3401
3402 2010-04-03  Bruno Haible  <bruno@clisp.org>
3403
3404         time_r: Minor updates.
3405         * modules/time_r (Description): Mention the provided functions.
3406         * lib/time_r.c: Don't include <string.h>.
3407         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
3408         * doc/posix-functions/localtime_r.texi: Likewise.
3409
3410 2010-04-03  Bruno Haible  <bruno@clisp.org>
3411
3412         time: Fix regression introduced on 2010-03-08.
3413         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
3414         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
3415
3416 2010-04-03  Jim Meyering  <meyering@redhat.com>
3417
3418         maint.mk: don't silently disable project-specific syntax-check rules
3419         * top/maint.mk (_prohibit_regexp): Define, to help people realize
3420         that they need to convert their project-specific syntax-check rules
3421         to use the new _sc_search_regexp.
3422
3423 2010-04-03  Bruno Haible  <bruno@clisp.org>
3424
3425         fchdir: Fix regression introduced on 2010-03-08.
3426         * lib/unistd.in.h (fchdir): Fix declaration.
3427         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
3428         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
3429         REPLACE_FCHDIR.
3430         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
3431         REPLACE_FCHDIR.
3432
3433 2010-04-03  Bruno Haible  <bruno@clisp.org>
3434
3435         getpagesize: Fix C++ test error on mingw.
3436         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
3437         system does not declare the function.
3438         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
3439         declared.
3440         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
3441         HAVE_DECL_GETPAGESIZE.
3442         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
3443
3444 2010-04-03  Bruno Haible  <bruno@clisp.org>
3445
3446         stdio: Make C++ tests work on mingw.
3447         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
3448         does not declare the function.
3449
3450 2010-04-03  Bruno Haible  <bruno@clisp.org>
3451
3452         ftello: Fix C++ test error on mingw.
3453         * lib/stdio.in.h (ftello): Use modern idiom.
3454         * lib/ftello.c (ftello): Renamed from rpl_ftello.
3455         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
3456         is missing and that it needs to be replaced.
3457         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
3458         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
3459         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
3460
3461 2010-04-03  Bruno Haible  <bruno@clisp.org>
3462
3463         fseeko: Fix C++ test error on mingw.
3464         * lib/stdio.in.h (fseeko): Use modern idiom.
3465         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
3466         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
3467         is missing and that it needs to be replaced.
3468         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
3469         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
3470         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
3471
3472 2010-04-03  Bruno Haible  <bruno@clisp.org>
3473
3474         mkstemp: Fix C++ test error on mingw.
3475         * lib/stdlib.in.h (mkstemp): Use modern idiom.
3476         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
3477         function is missing and that it needs to be replaced.
3478         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
3479         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
3480
3481 2010-04-03  Bruno Haible  <bruno@clisp.org>
3482
3483         stpncpy: Fix C++ test error on mingw.
3484         * lib/string.in.h (stpncpy): Use modern idiom.
3485         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
3486         function is missing and that it needs to be replaced.
3487         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
3488         REPLACE_STPNCPY.
3489         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
3490
3491 2010-04-03  Bruno Haible  <bruno@clisp.org>
3492
3493         sys_stat: Fix C++ test error on mingw.
3494         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
3495         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
3496
3497 2010-04-03  Bruno Haible  <bruno@clisp.org>
3498
3499         pty: Update doc.
3500         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
3501
3502 2010-04-03  Bruno Haible  <bruno@clisp.org>
3503
3504         unistd: Fix C++ test error on mingw.
3505         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
3506
3507 2010-04-03  Bruno Haible  <bruno@clisp.org>
3508
3509         Update doc regarding mingw.
3510         * doc/glibc-functions/openpty.texi: Update regarding mingw.
3511         * doc/glibc-functions/login_tty.texi: Likewise.
3512         * doc/glibc-functions/forkpty.texi: Likewise.
3513
3514 2010-04-03  Bruno Haible  <bruno@clisp.org>
3515
3516         stdlib: Avoid compilation failure of c-strtold on mingw.
3517         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
3518
3519 2010-04-03  Bruno Haible  <bruno@clisp.org>
3520
3521         locale: Make C++ tests work on Cygwin and mingw.
3522         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
3523         cannot provide the function.
3524         Reported by Simon Josefsson.
3525
3526 2010-04-03  Bruno Haible  <bruno@clisp.org>
3527
3528         localename: Port to MacOS X 10.6.
3529         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
3530         memory layout of the locales in MacOS X 10.6 as well.
3531         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
3532
3533 2010-04-02  Bruno Haible  <bruno@clisp.org>
3534
3535         gnulib-tool: Ensure that long-running tests are executed last.
3536         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
3537         running tests after the one for the other tests.
3538
3539 2010-04-02  Bruno Haible  <bruno@clisp.org>
3540
3541         gnulib-tool: Ensure the tests in the main directory are executed first.
3542         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
3543         start with the current directory.
3544
3545 2010-04-02  Bruno Haible  <bruno@clisp.org>
3546
3547         Tests for module 'havelib', moved here from GNU gettext.
3548         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
3549         modifications.
3550         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
3551         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
3552         with modifications.
3553         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
3554         modifications.
3555         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
3556         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
3557         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
3558         with modifications.
3559         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
3560         with modifications.
3561         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
3562         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
3563         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
3564         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
3565         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
3566         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
3567         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
3568         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
3569         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
3570         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
3571         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
3572         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
3573         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
3574         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
3575         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
3576         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
3577         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
3578         with modifications.
3579         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
3580         with modifications.
3581         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
3582         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
3583         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
3584         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
3585         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
3586         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
3587         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
3588         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
3589         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
3590         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
3591         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
3592         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
3593         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
3594         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
3595         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
3596         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
3597         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
3598         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
3599         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
3600         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
3601         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
3602         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
3603         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
3604         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
3605         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
3606         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
3607         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
3608         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
3609         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
3610         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
3611         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
3612         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
3613         * tests/havelib/rpathx/rpathx.c: New file, from
3614         gettext/autoconf-lib-link.
3615         * tests/havelib/rpathx/Makefile.am: New file, from
3616         gettext/autoconf-lib-link.
3617         * tests/havelib/rpathx/configure.ac: New file, from
3618         gettext/autoconf-lib-link with modifications.
3619         * tests/havelib/rpathy/rpathy.c: New file, from
3620         gettext/autoconf-lib-link.
3621         * tests/havelib/rpathy/Makefile.am: New file, from
3622         gettext/autoconf-lib-link.
3623         * tests/havelib/rpathy/configure.ac: New file, from
3624         gettext/autoconf-lib-link with modifications.
3625         * tests/havelib/rpathz/rpathz.c: New file, from
3626         gettext/autoconf-lib-link.
3627         * tests/havelib/rpathz/Makefile.am: New file, from
3628         gettext/autoconf-lib-link.
3629         * tests/havelib/rpathz/configure.ac: New file, from
3630         gettext/autoconf-lib-link with modifications.
3631         * tests/havelib/rpathlx/usex.c: New file, from
3632         gettext/autoconf-lib-link.
3633         * tests/havelib/rpathlx/Makefile.am: New file, from
3634         gettext/autoconf-lib-link.
3635         * tests/havelib/rpathlx/configure.ac: New file, from
3636         gettext/autoconf-lib-link with modifications.
3637         * tests/havelib/rpathly/usey.c: New file, from
3638         gettext/autoconf-lib-link.
3639         * tests/havelib/rpathly/Makefile.am: New file, from
3640         gettext/autoconf-lib-link.
3641         * tests/havelib/rpathly/configure.ac: New file, from
3642         gettext/autoconf-lib-link with modifications.
3643         * tests/havelib/rpathlz/usez.c: New file, from
3644         gettext/autoconf-lib-link.
3645         * tests/havelib/rpathlz/Makefile.am: New file, from
3646         gettext/autoconf-lib-link.
3647         * tests/havelib/rpathlz/configure.ac: New file, from
3648         gettext/autoconf-lib-link with modifications.
3649         * tests/havelib/rpathlyx/usey.c: New file, from
3650         gettext/autoconf-lib-link.
3651         * tests/havelib/rpathlyx/Makefile.am: New file, from
3652         gettext/autoconf-lib-link.
3653         * tests/havelib/rpathlyx/configure.ac: New file, from
3654         gettext/autoconf-lib-link with modifications.
3655         * tests/havelib/rpathlzyx/usez.c: New file, from
3656         gettext/autoconf-lib-link.
3657         * tests/havelib/rpathlzyx/Makefile.am: New file, from
3658         gettext/autoconf-lib-link.
3659         * tests/havelib/rpathlzyx/configure.ac: New file, from
3660         gettext/autoconf-lib-link with modifications.
3661         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
3662         with modifications.
3663
3664 2010-04-02  Bruno Haible  <bruno@clisp.org>
3665
3666         gnulib-tool: Create distributed built sources also for the tests.
3667         * gnulib-tool (func_create_testdir): Also generate distributed built
3668         sources in the tests directory.
3669
3670 2010-04-02  Bruno Haible  <bruno@clisp.org>
3671
3672         gnulib-tool: Obey user's environment variables.
3673         * gnulib-tool (func_create_testdir): When creating built sources,
3674         respect the environment variables for autoconf, automake, etc. given by
3675         the user.
3676
3677 2010-04-02  Bruno Haible  <bruno@clisp.org>
3678
3679         gnulib-tool: Provide the value of --m4-base to modules.
3680         * gnulib-tool (func_import, func_create_testdir): Emit a definition
3681         of gl_m4_base.
3682
3683 2010-04-02  Eric Blake  <eblake@redhat.com>
3684
3685         maint.mk: fix some fallout
3686         * NEWS: Document the incompatible change, and its effect on cfg.mk.
3687         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
3688
3689 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
3690
3691         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
3692         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
3693         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
3694         (sc_cast_of_x_alloc_return_value): Likewise.
3695         (sc_cast_of_alloca_return_value): Likewise.
3696         (sc_space_tab): Likewise.
3697         (sc_prohibit_atoi_atof): Likewise.
3698         (sc_prohibit_magic_number_exit): Likewise.
3699         (sc_error_exit_success): Likewise.
3700         (sc_file_system): Likewise.
3701         (sc_prohibit_have_config_h): Likewise.
3702         (sc_require_config_h): Likewise.
3703         (sc_prohibit_HAVE_MBRTOWC): Likewise.
3704         (sc_obsolete_symbols): Likewise.
3705         (sc_changelog): Likewise.
3706         (sc_program_name): Likewise.
3707         (sc_the_the): Likewise.
3708         (sc_trailing_blank): Likewise.
3709         (sc_two_space_separator_in_usage): Likewise.
3710         (sc_useless_cpp_parens): Likewise.
3711         (sc_GPL_version): Likewise.
3712         (sc_GFDL_version): Likewise.
3713         (sc_texinfo_acronym): Likewise.
3714         (sc_prohibit_cvs_keyword): Likewise.
3715         (sc_prohibit_stat_st_blocks): Likewise.
3716         (sc_prohibit_S_IS_definition): Likewise.
3717         (sc_redundant_const): Likewise.
3718         (sc_makefile_TAB_only_indentation): Likewise.
3719         (sc_m4_quote_check): Likewise.
3720         (sc_makefile_path_separator_check): Likewise.
3721         (sc_copyright_check): Likewise.
3722         (sc_Wundef_boolean): Likewise.
3723         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
3724
3725         maint.mk: match 0 or more whitespace-before-function-call '('
3726         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
3727         that have zero or two-and-more spaces between the function name
3728         and the open parenthesis.
3729         (sc_error_message_warn_fatal): Likewise.
3730         (sc_error_message_uppercase): Likewise.
3731         (sc_error_message_period): Likewise.
3732
3733 2010-03-31  Eric Blake  <eblake@redhat.com>
3734
3735         maint.mk: check for [ as well as test
3736         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
3737         Based on a libvirt report by Matthias Bolte.
3738
3739         gnumakefile: don't squelch _version output
3740         * top/GNUmakefile (_version): Create one-shot dependency rather
3741         than using $(shell) when version must be regenerated.
3742         (_autoreconf): Run verbosely, by default.
3743
3744         sys_time: avoid compiler warnings
3745         * lib/sys_time.in.h (includes): Ensure gcc pragma is
3746         unconditional, fixing regression from 2010-03-29.
3747         Reported by Simon Josefsson.
3748
3749 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
3750
3751         maint.mk: s/_header_without_use/_sc_header_without_use/
3752         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
3753         (sc_prohibit_assert_without_use): Use the new name.
3754         (sc_prohibit_close_stream_without_use): Likewise.
3755         (sc_prohibit_getopt_without_use): Likewise.
3756         (sc_prohibit_quotearg_without_use): Likewise.
3757         (sc_prohibit_quote_without_use): Likewise.
3758         (sc_prohibit_long_options_without_use): Likewise.
3759         (sc_prohibit_inttostr_without_use): Likewise.
3760         (sc_prohibit_ignore_value_without_use): Likewise.
3761         (sc_prohibit_error_without_use): Likewise.
3762         (sc_prohibit_xalloc_without_use): Likewise.
3763         (sc_prohibit_hash_without_use): Likewise.
3764         (sc_prohibit_hash_pjw_without_use): Likewise.
3765         (sc_prohibit_safe_read_without_use): Likewise.
3766         (sc_prohibit_argmatch_without_use): Likewise.
3767         (sc_prohibit_canonicalize_without_use): Likewise.
3768         (sc_prohibit_root_dev_ino_without_use): Likewise.
3769         (sc_prohibit_openat_without_use): Likewise.
3770         (sc_prohibit_c_ctype_without_use): Likewise.
3771         (sc_prohibit_signal_without_use): Likewise.
3772         (sc_prohibit_intprops_without_use): Likewise.
3773
3774 2010-03-30  Eric Blake  <eblake@redhat.com>
3775
3776         maint: improve module indicators
3777         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
3778         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
3779         columns, and avoid extra macro expansion.
3780
3781         fdopendir: work around FreeBSD bug
3782         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
3783         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
3784         * modules/dirent (Makefile.am): Substitute it.
3785         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
3786         declaration.
3787         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
3788         fix.
3789         Reported by Christian Weisgerber <naddy@mips.inka.de>.
3790
3791 2010-03-29  Bruno Haible  <bruno@clisp.org>
3792
3793         Emit #pragma system_header after the inclusion guard, not before.
3794         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
3795         guard that spans the entire file, not before. This enables an
3796         optimization in GCC's preprocessor.
3797         * lib/ctype.in.h: Likewise.
3798         * lib/dirent.in.h: Likewise.
3799         * lib/errno.in.h: Likewise.
3800         * lib/float.in.h: Likewise.
3801         * lib/getopt.in.h: Likewise.
3802         * lib/iconv.in.h: Likewise.
3803         * lib/langinfo.in.h: Likewise.
3804         * lib/locale.in.h: Likewise.
3805         * lib/math.in.h: Likewise.
3806         * lib/netdb.in.h: Likewise.
3807         * lib/netinet_in.in.h: Likewise.
3808         * lib/pty.in.h: Likewise.
3809         * lib/sched.in.h: Likewise.
3810         * lib/se-selinux.in.h: Likewise.
3811         * lib/search.in.h: Likewise.
3812         * lib/spawn.in.h: Likewise.
3813         * lib/stdarg.in.h: Likewise.
3814         * lib/stdint.in.h: Likewise.
3815         * lib/string.in.h: Likewise.
3816         * lib/strings.in.h: Likewise.
3817         * lib/sys_file.in.h: Likewise.
3818         * lib/sys_ioctl.in.h: Likewise.
3819         * lib/sys_time.in.h: Likewise.
3820         * lib/sys_times.in.h: Likewise.
3821         * lib/sys_utsname.in.h: Likewise.
3822         * lib/sys_wait.in.h: Likewise.
3823         * lib/sysexits.in.h: Likewise.
3824         * lib/wctype.in.h: Likewise.
3825
3826 2010-03-28  James Youngman  <jay@gnu.org>
3827
3828         save-cwd: don't leak a file descriptor when the caller execs.
3829         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
3830         saved file descriptor.
3831         * modules/save-cwd (Depends-on): Depend on cloexec.
3832
3833 2010-03-29  Bruno Haible  <bruno@clisp.org>
3834
3835         Remove vestiges of fts-lgpl module.
3836         * lib/fts_.h: Assume GNULIB_FTS is 1.
3837         * lib/fts.c: Likewise.
3838         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
3839
3840 2010-03-28  Bruno Haible  <bruno@clisp.org>
3841
3842         Fix definition of tests witness macro.
3843         * gnulib-tool (func_import): Fix definition of witness macro.
3844
3845 2010-03-28  Bruno Haible  <bruno@clisp.org>
3846
3847         Fix ioctl's protoype on glibc systems.
3848         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
3849         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
3850         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
3851         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
3852         signature. If not, arrange to replace the ioctl function.
3853         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
3854         REPLACE_IOCTL.
3855         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
3856         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
3857         Reported by Ludovic Courtès <ludo@gnu.org>.
3858
3859 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
3860
3861         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
3862         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
3863         made it so grep -r --include=GLOB* ... did not work.
3864
3865 2010-03-26  Jim Meyering  <meyering@redhat.com>
3866             Eric Blake  <eblake@redhat.com>
3867
3868         maint.mk: prohibit use of test's -o and -a operators
3869         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
3870
3871 2010-03-28  Bruno Haible  <bruno@clisp.org>
3872
3873         Remove unused GNULIB_XYZ macro definitions.
3874         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
3875         invocation.
3876
3877 2010-03-28  Bruno Haible  <bruno@clisp.org>
3878
3879         Mark privileged tests modules.
3880         * modules/idpriv-drop-tests (Status): New section.
3881         * modules/idpriv-droptemp-tests (Status): New section.
3882
3883 2010-03-28  Bruno Haible  <bruno@clisp.org>
3884
3885         Split C++ tests into separate tests modules.
3886         * modules/dirent-c++-tests: New file, extracted from
3887         modules/dirent-tests.
3888         * modules/dirent-tests: Depend on it.
3889         * modules/fcntl-h-c++-tests: New file, extracted from
3890         modules/fcntl-h-tests.
3891         * modules/fcntl-h-tests: Depend on it.
3892         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
3893         * modules/glob-tests: Depend on it.
3894         * modules/iconv-h-c++-tests: New file, extracted from
3895         modules/iconv-h-tests.
3896         * modules/iconv-h-tests: Depend on it.
3897         * modules/langinfo-c++-tests: New file, extracted from
3898         modules/langinfo-tests.
3899         * modules/langinfo-tests: Depend on it.
3900         * modules/locale-c++-tests: New file, extracted from
3901         modules/locale-tests.
3902         * modules/locale-tests: Depend on it.
3903         * modules/math-c++-tests: New file, extracted from modules/math-tests.
3904         * modules/math-tests: Depend on it.
3905         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
3906         * modules/pty-tests: Depend on it.
3907         * modules/search-c++-tests: New file, extracted from
3908         modules/search-tests.
3909         * modules/search-tests: Depend on it.
3910         * modules/signal-c++-tests: New file, extracted from
3911         modules/signal-tests.
3912         * modules/signal-tests: Depend on it.
3913         * modules/spawn-c++-tests: New file, extracted from
3914         modules/spawn-tests.
3915         * modules/spawn-tests: Depend on it.
3916         * modules/stdio-c++-tests: New file, extracted from
3917         modules/stdio-tests.
3918         * modules/stdio-tests: Depend on it.
3919         * modules/stdlib-c++-tests: New file, extracted from
3920         modules/stdlib-tests.
3921         * modules/stdlib-tests: Depend on it.
3922         * modules/string-c++-tests: New file, extracted from
3923         modules/string-tests.
3924         * modules/string-tests: Depend on it.
3925         * modules/sys_ioctl-c++-tests: New file, extracted from
3926         modules/sys_ioctl-tests.
3927         * modules/sys_ioctl-tests: Depend on it.
3928         * modules/sys_select-c++-tests: New file, extracted from
3929         modules/sys_select-tests.
3930         * modules/sys_select-tests: Depend on it.
3931         * modules/sys_socket-c++-tests: New file, extracted from
3932         modules/sys_socket-tests.
3933         * modules/sys_socket-tests: Depend on it.
3934         * modules/sys_stat-c++-tests: New file, extracted from
3935         modules/sys_stat-tests.
3936         * modules/sys_stat-tests: Depend on it.
3937         * modules/sys_time-c++-tests: New file, extracted from
3938         modules/sys_time-tests.
3939         * modules/sys_time-tests: Depend on it.
3940         * modules/time-c++-tests: New file, extracted from modules/time-tests.
3941         * modules/time-tests: Depend on it.
3942         * modules/unistd-c++-tests: New file, extracted from
3943         modules/unistd-tests.
3944         * modules/unistd-tests: Depend on it.
3945         * modules/wchar-c++-tests: New file, extracted from
3946         modules/wchar-tests.
3947         * modules/wchar-tests: Depend on it.
3948         * modules/wctype-c++-tests: New file, extracted from
3949         modules/wctype-tests.
3950         * modules/wctype-tests: Depend on it.
3951         Reported by Simon Josefsson.
3952
3953 2010-03-28  Bruno Haible  <bruno@clisp.org>
3954
3955         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
3956         * gnulib-tool (func_exists_module): New function, extracted from
3957         func_verify_module.
3958         (func_verify_module): Use it.
3959         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
3960         'foo' only if 'foo' exists.
3961         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
3962         module.
3963
3964 2010-03-28  Bruno Haible  <bruno@clisp.org>
3965
3966         gnulib-tool: Add support for special categories of tests.
3967         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
3968         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
3969         (func_usage): Document them.
3970         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
3971         inc_unportable_tests, inc_all_tests): New variables.
3972         (func_acceptable): Consider these variables.
3973         (func_modules_transitive_closure): Make it work when the 'Status' field
3974         consists of multiple words.
3975         (func_import): Store and restore the values of inc_cxx_tests,
3976         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
3977         inc_all_tests in gnulib-comp.m4.
3978         (func_create_testdir): Set inc_all_tests to true.
3979         * doc/gnulib.texi (Extra tests modules): New section.
3980         Suggested by Jim Meyering.
3981
3982 2010-03-28  Bruno Haible  <bruno@clisp.org>
3983
3984         ansi-c++-opt: Allow turning off the C++ build by default.
3985         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
3986         gl_CXX_CHOICE_DEFAULT_NO is defined.
3987         Requested by Eric Blake.
3988
3989 2010-03-28  Bruno Haible  <bruno@clisp.org>
3990
3991         unistd: Avoid #define replacements in C++ mode.
3992         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
3993         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
3994         setsockopt, shutdown, select): In C++, attach a warning to the function
3995         if possible, rather than #defining the symbol to a dysfunctional alias.
3996         Reported by John W. Eaton <jwe@gnu.org>.
3997
3998 2010-03-28  Bruno Haible  <bruno@clisp.org>
3999
4000         Fix link errors on mingw.
4001         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
4002         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
4003         $(LIBSOCKET).
4004         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
4005         $(LIBSOCKET).
4006
4007 2010-03-28  Bruno Haible  <bruno@clisp.org>
4008             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4009
4010         lib-ignore: Determine different options for different compilers.
4011         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
4012         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
4013         Add comments.
4014         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
4015         * NEWS: Mention the change.
4016
4017 2010-03-27  Bruno Haible  <bruno@clisp.org>
4018
4019         Remove unused GNULIB_XYZ macro definitions.
4020         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
4021         * modules/fseek (configure.ac): Likewise.
4022         * modules/ioctl (configure.ac): Likewise.
4023         * modules/open (configure.ac): Likewise.
4024         * modules/stdlib-safer (configure.ac): Likewise.
4025
4026 2010-03-27  Bruno Haible  <bruno@clisp.org>
4027
4028         Add a remark about certain modules.
4029         * modules/malloc (Comment): New section.
4030         * modules/realloc (Comment): Likewise.
4031         * modules/sigpipe (Comment): Likewise.
4032
4033 2010-03-27  Bruno Haible  <bruno@clisp.org>
4034
4035         Resolve conflict between the two kinds of module indicators.
4036         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
4037         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
4038         * modules/canonicalize (configure.ac): Invoke
4039         gl_MODULE_INDICATOR_FOR_TESTS.
4040         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
4041         GNULIB_XYZ.
4042         * tests/test-dirent-c++.cc: Likewise.
4043         * tests/test-dirent-safer.c: Likewise.
4044         * tests/test-dup2.c: Likewise.
4045         * tests/test-fchdir.c: Likewise.
4046         * tests/test-fcntl-h-c++.cc: Likewise.
4047         * tests/test-getopt.c: Likewise.
4048         * tests/test-getopt.h: Likewise.
4049         * tests/test-langinfo-c++.cc: Likewise.
4050         * tests/test-locale-c++.cc: Likewise.
4051         * tests/test-math-c++.cc: Likewise.
4052         * tests/test-pty-c++.cc: Likewise.
4053         * tests/test-search-c++.cc: Likewise.
4054         * tests/test-signal-c++.cc: Likewise.
4055         * tests/test-spawn-c++.cc: Likewise.
4056         * tests/test-stdio-c++.cc: Likewise.
4057         * tests/test-stdlib-c++.cc: Likewise.
4058         * tests/test-string-c++.cc: Likewise.
4059         * tests/test-sys_ioctl-c++.cc: Likewise.
4060         * tests/test-sys_select-c++.cc: Likewise.
4061         * tests/test-sys_socket-c++.cc: Likewise.
4062         * tests/test-sys_stat-c++.cc: Likewise.
4063         * tests/test-sys_time-c++.cc: Likewise.
4064         * tests/test-time-c++.cc: Likewise.
4065         * tests/test-unistd-c++.cc: Likewise.
4066         * tests/test-wchar-c++.cc: Likewise.
4067         * tests/uninorm/test-u8-nfc.c: Likewise.
4068         * tests/uninorm/test-u8-nfd.c: Likewise.
4069         * tests/uninorm/test-u8-nfkc.c: Likewise.
4070         * tests/uninorm/test-u8-nfkd.c: Likewise.
4071         * tests/uninorm/test-u16-nfc.c: Likewise.
4072         * tests/uninorm/test-u16-nfd.c: Likewise.
4073         * tests/uninorm/test-u16-nfkc.c: Likewise.
4074         * tests/uninorm/test-u16-nfkd.c: Likewise.
4075         * tests/uninorm/test-u32-nfc.c: Likewise.
4076         * tests/uninorm/test-u32-nfc-big.c: Likewise.
4077         * tests/uninorm/test-u32-nfd.c: Likewise.
4078         * tests/uninorm/test-u32-nfd-big.c: Likewise.
4079         * tests/uninorm/test-u32-nfkc.c: Likewise.
4080         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
4081         * tests/uninorm/test-u32-nfkd.c: Likewise.
4082         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
4083         * tests/uninorm/test-u32-normalize-big.c: Likewise.
4084
4085 2010-03-27  Bruno Haible  <bruno@clisp.org>
4086
4087         Distinguish two kinds of module indicators.
4088         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
4089         gl_MODULE_INDICATOR.
4090         (gl_MODULE_INDICATOR): New macro.
4091         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
4092         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
4093         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
4094         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
4095         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
4096         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
4097         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
4098         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
4099         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
4100         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
4101         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
4102         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
4103         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
4104         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
4105         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
4106         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
4107         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
4108         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
4109         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
4110         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
4111         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
4112         * modules/cloexec (configure.ac): Likewise.
4113         * modules/getopt-gnu (configure.ac): Likewise.
4114         * modules/uninorm/u8-normalize (configure.ac): Likewise.
4115         * modules/uninorm/u16-normalize (configure.ac): Likewise.
4116         * modules/uninorm/u32-normalize (configure.ac): Likewise.
4117         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
4118
4119 2010-03-27  Bruno Haible  <bruno@clisp.org>
4120
4121         New module description field 'Comment'.
4122         * gnulib-tool: New option --extract-comment.
4123         (func_usage): Document it.
4124         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
4125         (func_get_comment): New function.
4126         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
4127
4128 2010-03-27  Bruno Haible  <bruno@clisp.org>
4129
4130         Addendum to 2010-02-07 commit.
4131         * gnulib-tool (func_usage): Document --extract-applicability option.
4132
4133 2010-03-27  Bruno Haible  <bruno@clisp.org>
4134
4135         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
4136         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
4137         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
4138         rather than link errors.
4139
4140 2010-03-27  Bruno Haible  <bruno@clisp.org>
4141
4142         Avoid side effects from tests-related modules on the compilation of lib.
4143         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
4144         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
4145         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
4146         parameter. Emit into AM_CPPFLAGS a definition of the designated C
4147         macro.
4148         (func_import): Define a witness macro. Assign it a value that depends
4149         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
4150         tests-related modules.
4151         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
4152         Reported by Jim Meyering.
4153
4154 2010-03-27  Bruno Haible  <bruno@clisp.org>
4155
4156         Factorize common .m4 code.
4157         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
4158         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
4159         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
4160         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
4161         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
4162         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
4163         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
4164         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
4165         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
4166         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
4167         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
4168         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
4169         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
4170         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
4171         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
4172         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
4173         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
4174         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
4175         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
4176         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
4177         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
4178         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
4179         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
4180         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
4181         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
4182         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
4183         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
4184         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
4185         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
4186         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
4187         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
4188         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
4189
4190 2010-03-27  Bruno Haible  <bruno@clisp.org>
4191
4192         Fix a compilation error on Cygwin with g++ >= 4.3.
4193         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
4194         if it is undefined or if we alias it to chmod.
4195         (lstat): Don't warn about the use of this function if it is undefined
4196         or if we alias it to stat.
4197         Reported by Simon Josefsson.
4198
4199 2010-03-27  Bruno Haible  <bruno@clisp.org>
4200
4201         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
4202         * modules/getlogin (configure.ac): Update.
4203
4204         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
4205         * modules/getlogin_r (configure.ac): Update.
4206
4207         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
4208         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
4209         * modules/inet_ntop (configure.ac): Update.
4210
4211         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
4212         * modules/inet_pton (configure.ac): Update.
4213
4214         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
4215         * modules/mbslen (configure.ac): Update.
4216
4217         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
4218         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
4219         * modules/forkpty (configure.ac): Update.
4220         * modules/openpty (configure.ac): Update.
4221
4222 2010-03-26  Simon Josefsson  <simon@josefsson.org>
4223
4224         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
4225         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
4226
4227 2010-03-25  Eric Blake  <eblake@redhat.com>
4228
4229         maint: use pragma consistently across replacement headers
4230         * lib/ctype.in.h (system_header): Hoist for consistent placement.
4231         * lib/dirent.in.h (system_header): Likewise.
4232         * lib/errno.in.h (system_header): Likewise.
4233         * lib/float.in.h (system_header): Likewise.
4234         * lib/getopt.in.h (system_header): Likewise.
4235         * lib/iconv.in.h (system_header): Likewise.
4236         * lib/inttypes.in.h (system_header): Likewise.
4237         * lib/langinfo.in.h (system_header): Likewise.
4238         * lib/locale.in.h (system_header): Likewise.
4239         * lib/math.in.h (system_header): Likewise.
4240         * lib/netdb.in.h (system_header): Likewise.
4241         * lib/netinet_in.in.h (system_header): Likewise.
4242         * lib/pty.in.h (system_header): Likewise.
4243         * lib/sched.in.h (system_header): Likewise.
4244         * lib/se-selinux.in.h (system_header): Likewise.
4245         * lib/search.in.h (system_header): Likewise.
4246         * lib/spawn.in.h (system_header): Likewise.
4247         * lib/stdarg.in.h (system_header): Likewise.
4248         * lib/stdint.in.h (system_header): Likewise.
4249         * lib/string.in.h (system_header): Likewise.
4250         * lib/strings.in.h (system_header): Likewise.
4251         * lib/sys_file.in.h (system_header): Likewise.
4252         * lib/sys_ioctl.in.h (system_header): Likewise.
4253         * lib/sys_socket.in.h (system_header): Likewise.
4254         * lib/sys_times.in.h (system_header): Likewise.
4255         * lib/sys_utsname.in.h (system_header): Likewise.
4256         * lib/sys_wait.in.h (system_header): Likewise.
4257         * lib/sysexits.in.h (system_header): Likewise.
4258         * lib/unistd.in.h (system_header): Likewise.
4259         * lib/wctype.in.h (system_header): Likewise.
4260
4261         arpa/inet: fix mingw compilation warning
4262         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
4263         Reported by Matthew Bolte.
4264
4265 2010-03-25  Bruno Haible  <bruno@clisp.org>
4266
4267         Avoid collision between gnulib wrapper and libintl wrapper.
4268         * lib/printf.c (printf): Don't define if a printf wrapper is already
4269         defined in intl/printf.c.
4270         Reported by Michel Boaventura <michel@michelboaventura.com>.
4271
4272 2010-03-25  Bruno Haible  <bruno@clisp.org>
4273
4274         Use ANSI C.
4275         * lib/readutmp.h (getutent): Provide ANSI C prototype.
4276
4277 2010-03-25  Bruno Haible  <bruno@clisp.org>
4278
4279         Minor formatting changes.
4280         * lib/acosl.c: Insert space before function argument list.
4281         * lib/argz.c: Likewise.
4282         * lib/asinl.c: Likewise.
4283         * lib/expl.c: Likewise.
4284         * lib/gen-uni-tables.c: Likewise.
4285         * lib/gettext.h: Likewise.
4286         * lib/glthread/lock.h: Likewise.
4287         * lib/tanl.c: Likewise.
4288         * lib/uniname/uniname.c: Likewise.
4289         * tests/test-idpriv-drop.c: Likewise.
4290         * tests/test-idpriv-droptemp.c: Likewise.
4291         * tests/test-lock.c: Likewise.
4292         * tests/test-tls.c: Likewise.
4293         * lib/argp-help.c: Insert space before function-like macro argument
4294         list.
4295         * lib/memcmp.c: Likewise.
4296         * tests/test-base64.c: Likewise.
4297         * lib/localename.c: Insert space before sizeof's argument list.
4298         * lib/safe-alloc.h: Likewise.
4299         * lib/file-set.h: Insert space before macro argument list.
4300         * tests/test-argp.c: Likewise.
4301         * lib/argp-namefrob.h: Insert space before function parameter list.
4302         * lib/getaddrinfo.c: Likewise.
4303         * lib/netdb.in.h: Likewise.
4304         * lib/parse-duration.h: Likewise.
4305         * lib/parse-duration.c: Likewise.
4306         * lib/poll.c: Likewise.
4307         * lib/select.c: Likewise.
4308         * lib/trim.h: Likewise.
4309         * tests/test-usleep.c: Likewise.
4310         * lib/ldexpl.c: Insert space before function parameter list and before
4311         function argument list.
4312         * lib/logl.c: Likewise.
4313         * lib/sqrtl.c: Likewise.
4314         * lib/trim.c: Likewise.
4315         * lib/cosl.c: Use GNU style indentation. Insert space before function
4316         argument list.
4317         * lib/sinl.c: Likewise.
4318         * lib/tsearch.c: Insert space after 'for'.
4319         Reported by Jim Meyering.
4320
4321 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
4322
4323         * maint.mk (sc_Wundef_boolean): Check for the presence of the
4324         config header before grepping, as it's not present before
4325         autoreconf/configure are run.  Reported by Simon Josefsson.
4326
4327 2010-03-23  Bruno Haible  <bruno@clisp.org>
4328
4329         pt_chown: Make it work with automake < 1.11.
4330         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
4331         Reported by Simon Josefsson.
4332
4333 2010-03-23  Bruno Haible  <bruno@clisp.org>
4334
4335         pt_chown: Don't depend on GPLed modules.
4336         * lib/pt_chown.c: Don't include idpriv.h.
4337         (main): Don't drop privileges.
4338         * modules/pt_chown (Depends-on): Remove idpriv-drop.
4339         Reported by Simon Josefsson.
4340
4341 2010-03-24  Simon Josefsson  <simon@josefsson.org>
4342
4343         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
4344         suggestions from karl@freefriends.org (Karl Berry).
4345
4346 2010-03-22  Eric Blake  <eblake@redhat.com>
4347
4348         gethostname: further tweaks
4349         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
4350         are overriding gethostname.
4351         Suggested by Bruno Haible.
4352
4353 2010-03-21  Bruno Haible  <bruno@clisp.org>
4354
4355         Fix comments.
4356         * lib/forkpty.c (rpl_forkpty): Fix comment.
4357         * lib/openpty.c (rpl_openpty): Likewise.
4358         Reported by Eric Blake.
4359
4360 2010-03-22  Eric Blake  <eblake@redhat.com>
4361
4362         gethostname: fix build on mingw
4363         * lib/unistd.in.h (includes): Work around fact that mingw
4364         <winsock2.h> re-includes <unistd.h>, by avoiding any
4365         redeclarations if we are being included by <winsock2.h>.
4366         Reported by Matthias Bolte.
4367
4368 2010-03-21  Bruno Haible  <bruno@clisp.org>
4369
4370         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
4371         * lib/forkpty.c (forkpty): New replacement function, from glibc with
4372         modifications.
4373         * lib/pty.in.h (forkpty): Update declaration. Add comments.
4374         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
4375         provide the replacement.
4376         * modules/forkpty (Depends-on): Add openpty, login_tty.
4377         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
4378         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
4379         * doc/glibc-functions/forkpty.texi: More supported platforms.
4380         * config/srclist.txt: Add forkpty.c (commented).
4381
4382 2010-03-21  Bruno Haible  <bruno@clisp.org>
4383
4384         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
4385         (Makefile.am): Verify that PTY_LIB is defined.
4386
4387         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
4388
4389 2010-03-21  Bruno Haible  <bruno@clisp.org>
4390
4391         Tests for module 'login_tty'.
4392         * modules/login_tty-tests: New file.
4393         * tests/test-login_tty.c: New file.
4394
4395         New module 'login_tty'.
4396         * lib/login_tty.c: New file.
4397         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
4398         * modules/login_tty: New file.
4399         * doc/glibc-functions/login_tty.texi: Mention the new module.
4400
4401 2010-03-21  Bruno Haible  <bruno@clisp.org>
4402
4403         login_tty: Documentation.
4404         * doc/glibc-functions/login_tty.texi: New file.
4405         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
4406
4407 2010-03-21  Bruno Haible  <bruno@clisp.org>
4408
4409         pty: Consistent macro naming.
4410         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
4411         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
4412         * modules/pty (configure.ac): Update.
4413
4414 2010-03-21  Bruno Haible  <bruno@clisp.org>
4415
4416         Tests for openpty: Make stricter.
4417         * tests/test-openpty.c (main): Add test of canonical processing and
4418         erase.
4419         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
4420
4421         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
4422         * lib/openpty.c (openpty): New replacement function.
4423         * lib/pty.in.h: Include <termios.h>.
4424         (openpty): Update declaration. Add comments.
4425         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
4426         is not declared, arrange to provide the replacement. Check for _getpty
4427         and posix_openpt.
4428         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
4429         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
4430         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
4431         * modules/pty-tests (test_pty_c___LDADD): New variable.
4432         * doc/glibc-functions/openpty.texi: More supported platforms.
4433
4434 2010-03-21  Bruno Haible  <bruno@clisp.org>
4435
4436         setenv: Tweaks.
4437         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
4438         the test program.
4439         * doc/posix-functions/setenv.texi: Update platforms list.
4440
4441 2010-03-21  Bruno Haible  <bruno@clisp.org>
4442
4443         New module 'unlockpt'.
4444         * lib/unlockpt.c: New file, from glibc with modifications.
4445         * m4/unlockpt.m4: New file.
4446         * modules/unlockpt: New file.
4447         * lib/stdlib.in.h (unlockpt): New declaration.
4448         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
4449         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
4450         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
4451         HAVE_UNLOCKPT.
4452         * doc/posix-functions/unlockpt.texi: Mention the new module.
4453         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
4454         * config/srclist.txt: Add unlockpt.c (commented).
4455
4456 2010-03-21  Jim Meyering  <meyering@redhat.com>
4457
4458         maint.mk: prohibit inclusion of "intprops.h" without use
4459         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
4460
4461 2010-03-21  Bruno Haible  <bruno@clisp.org>
4462
4463         New module 'grantpt'.
4464         * lib/grantpt.c: New file, from glibc with modifications.
4465         * m4/grantpt.m4: New file.
4466         * modules/grantpt: New file.
4467         * lib/stdlib.in.h (grantpt): New declaration.
4468         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
4469         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
4470         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
4471         HAVE_GRANTPT.
4472         * doc/posix-functions/grantpt.texi: Mention the new module.
4473         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
4474         * config/srclist.txt: Add grantpt.c (commented).
4475
4476 2010-03-21  Bruno Haible  <bruno@clisp.org>
4477
4478         New module 'pt_chown'.
4479         * lib/pt_chown.c: New file, from glibc with modifications.
4480         * lib/pty-private.h: New file, from glibc with modifications.
4481         * modules/pt_chown: New file.
4482         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
4483
4484 2010-03-21  Bruno Haible  <bruno@clisp.org>
4485
4486         Tests for module 'ptsname'.
4487         * modules/ptsname-tests: New file.
4488         * tests/test-ptsname.c: New file.
4489
4490         New module 'ptsname'.
4491         * lib/ptsname.c: New file, from glibc with modifications.
4492         * m4/ptsname.m4: New file.
4493         * modules/ptsname: New file.
4494         * lib/stdlib.in.h (ptsname): New declaration.
4495         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
4496         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
4497         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
4498         HAVE_PTSNAME.
4499         * doc/posix-functions/ptsname.texi: Mention the new module.
4500         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
4501         * config/srclist.txt: Add ptsname.c (commented).
4502
4503 2010-03-21  Bruno Haible  <bruno@clisp.org>
4504
4505         Tests for module 'ttyname_r'.
4506         * modules/ttyname_r-tests: New file.
4507         * tests/test-ttyname_r.c: New file.
4508
4509         New module 'ttyname_r'.
4510         * lib/ttyname_r.c: New file.
4511         * m4/ttyname_r.m4: New file.
4512         * modules/ttyname_r: New file.
4513         * lib/unistd.in.h (ttyname_r): New declaration.
4514         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
4515         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
4516         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
4517         HAVE_TTYNAME_R.
4518         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
4519         * doc/posix-functions/ttyname_r.texi: Mention the new module.
4520
4521 2010-03-20  Bruno Haible  <bruno@clisp.org>
4522
4523         signal: Undefine macro definitions in C++ mode.
4524         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
4525         sigfillset): Undefine macro definitions from the system header in C++
4526         mode.
4527         Reported by John W. Eaton <jwe@gnu.org>.
4528
4529 2010-03-20  Bruno Haible  <bruno@clisp.org>
4530
4531         Ensure no #include statements inside extern "C" { ... }.
4532         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
4533         contain #include statements.
4534         * lib/time.in.h: Likewise.
4535
4536 2010-03-20  Bruno Haible  <bruno@clisp.org>
4537
4538         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
4539         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
4540         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
4541         Reported by John W. Eaton <jwe@gnu.org>.
4542
4543 2010-03-20  Bruno Haible  <bruno@clisp.org>
4544
4545         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
4546         Reported by Jim Meyering.
4547
4548 2010-03-20  Bruno Haible  <bruno@clisp.org>
4549
4550         pipe: Set errno upon failure.
4551         * lib/pipe.h: Specify that when -1 is returned, errno is set.
4552         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
4553         errno value in error message.
4554
4555 2010-03-20  Bruno Haible  <bruno@clisp.org>
4556             Jim Meyering  <meyering@redhat.com>
4557
4558         lchown: Avoid "unused variable" warning.
4559         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
4560
4561 2010-03-20  Bruno Haible  <bruno@clisp.org>
4562
4563         Work around unlink() bug on MacOS X 10.5.6.
4564         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
4565         attempting to unlink a parent directory.
4566         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
4567         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
4568         activate for the replacement function.
4569         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
4570
4571 2010-03-20  Bruno Haible  <bruno@clisp.org>
4572
4573         Fix link errors on Solaris 8.
4574         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
4575         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
4576
4577 2010-03-19  Jim Meyering  <meyering@redhat.com>
4578
4579         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
4580         The _LIBC implementation of build_range_exp correctly honors the
4581         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
4582         However, the non-_LIBC implementation would ignore that syntax-bit
4583         flag and return REG_ERANGE unconditionally.
4584         This change makes it honor that flag.
4585         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
4586         Make two pointer parameters "const".
4587         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
4588         (parse_bracket_exp): Update caller.
4589
4590         regex.m4: correct the reversed range endpoint ([b-a]) test
4591         * m4/regex.m4: When requiring that [b-a] evoke failure,
4592         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
4593         test pass once again for x86-based systems.
4594
4595 2010-03-19  Bruno Haible  <bruno@clisp.org>
4596
4597         scandir: Fix link error on Solaris 8.
4598         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
4599         macros.
4600
4601 2010-03-19  Bruno Haible  <bruno@clisp.org>
4602
4603         getusershell: Fix documentation.
4604         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
4605         module.
4606         * doc/glibc-functions/setusershell.texi: Likewise.
4607
4608         getusershell: Provide declaration, missing on Solaris 9.
4609         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
4610         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
4611         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
4612         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
4613         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
4614         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
4615         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
4616         HAVE_GETUSERSHELL.
4617         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
4618
4619 2010-03-19  Bruno Haible  <bruno@clisp.org>
4620
4621         wctype: Provide iswblank function.
4622         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
4623         exists and is fine.
4624         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
4625         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
4626         * tests/test-wctype.c (main): Re-enable the iswblank tests.
4627         * doc/posix-functions/iswblank.texi: Update.
4628
4629 2010-03-19  Bruno Haible  <bruno@clisp.org>
4630
4631         Tests of module 'pty' in C++ mode.
4632         * modules/pty-tests: New file.
4633         * tests/test-pty-c++.cc: New file.
4634         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
4635
4636 2010-03-19  Eric Blake  <eblake@redhat.com>
4637
4638         logb: fix documentation
4639         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
4640         1.5 declaration bug.
4641
4642         forkpty, openpty: prefer glibc's const-safe prototype
4643         * lib/forkpty.c (rpl_forkpty): New file.
4644         * lib/openpty.c (rpl_openpty): Likewise.
4645         * modules/forkpty (Files): Distribute it.
4646         * modules/openpty (Files): Likewise.
4647         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
4648         check...
4649         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
4650         replacement for for non-const BSD signature.
4651         * modules/pty (Makefile.am): Substitute witnesses.
4652         * lib/pty.in.h (forkpty, openpty): Declare replacements.
4653         * tests/test-forkpty.c: Update signature check.
4654         * tests/test-openpty.c: Likewise.
4655         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
4656         * doc/glibc-functions/openpty.texi (openpty): Likewise.
4657
4658         forkpty, openpty: split functions into new modules
4659         * modules/pty (Makefile.am): Substitute new witnesses.
4660         (Libraries): Move library detection...
4661         * modules/forkpty: ...into new module.
4662         * modules/openpty: Another new module.
4663         * modules/pty-tests: Rename and split...
4664         * modules/forkpty-tests: ...to this...
4665         * modules/openpty-tests: ...and this.
4666         * tests/test-pty.c: Rename and split...
4667         * tests/test-forkpty.c: ...to this...
4668         * tests/test-openpty.c: ...and this.
4669         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
4670         (gl_PTY): Split library searching...
4671         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
4672         (gl_FORKPTY, gl_OPENPTY): New macros.
4673         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
4674         * NEWS: Mention the split.
4675         * MODULES.html.sh (Misc): Document the modules.
4676         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
4677         * doc/glibc-functions/openpty.texi (openpty): Likewise.
4678
4679         pty: improve replacement header
4680         * lib/pty.in.h: New file.
4681         * modules/pty (Files): Ship it.
4682         (Makefile.am): Always build replacement.
4683         * m4/pty.m4: Rename...
4684         * m4/pty_h.m4: ...to this.
4685         (gl_PTY): Modernize setting of witness macros; update check of
4686         forkpty to take proper advantage of cache.
4687         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
4688
4689         getopt: avoid compiler warning
4690         * lib/getopt.c (attribute_hidden): Remove unused macro.
4691
4692 2010-03-18  Bruno Haible  <bruno@clisp.org>
4693
4694         Fix link errors on Solaris 8.
4695         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
4696         * modules/search-tests (test_search_c___LDADD): Likewise.
4697         * modules/signal-tests (test_signal_c___LDADD): Likewise.
4698         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
4699         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
4700         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
4701         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
4702         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
4703         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
4704
4705 2010-03-18  Bruno Haible  <bruno@clisp.org>
4706
4707         Fix bug introduced on 2010-03-14.
4708         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
4709         (gl_SPAWN_H): Require it.
4710         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
4711         Reported by Simon Josefsson.
4712
4713 2010-03-18  Bruno Haible  <bruno@clisp.org>
4714
4715         Fix typo introduced on 2009-12-31.
4716         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
4717         posix_spawn_file_actions_adddup2.
4718
4719 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
4720         and Eric Blake  <eblake@redhat.com>
4721
4722         test-vc-list-files-git: make more robust
4723         * tests/test-vc-list-files-git.sh: Unset problematic environment
4724         variables.  Chain commands together.
4725
4726 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
4727
4728         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
4729         `AC_CHECK_DECL' invocation.
4730
4731 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
4732
4733         * lib/inttostr.c (inttostr): Make sure the invocation of verify
4734         appears before executable statements. Suggested by Petr Sumbera
4735         <Petr.Sumbera@Sun.COM>.
4736
4737 2010-03-14  Bruno Haible  <bruno@clisp.org>
4738
4739         * tests/test-flock.c (test_exclusive): Comment out a test that causes
4740         portability problems. Instead use a simpler test.
4741         (main): Check that invalid arguments are rejected only on Linux.
4742
4743 2010-03-14  Bruno Haible  <bruno@clisp.org>
4744
4745         Fix bug introduced on 2009-12-31.
4746         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
4747         gl_PREREQ_SYS_H_WINSOCK2 always.
4748         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
4749         SYS_SOCKET_H variable.
4750         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
4751         Update comments.
4752         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
4753         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
4754         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
4755         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
4756         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
4757
4758 2010-03-14  Bruno Haible  <bruno@clisp.org>
4759
4760         Fix values returned by sinl, cosl.
4761         * lib/trigl.h: Add specification comments.
4762         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
4763         that combines the values from the precomputed table with the values of
4764         the Chebyshev polynomials.
4765
4766 2010-03-14  Bruno Haible  <bruno@clisp.org>
4767
4768         Fix compilation error when modules 'posix_spawn[p]' are not used.
4769         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
4770         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
4771
4772 2010-03-14  Bruno Haible  <bruno@clisp.org>
4773
4774         Fix compilation error on mingw when module 'time_r' is not used.
4775         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
4776         is 1.
4777         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
4778         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
4779         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
4780         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
4781
4782 2010-03-14  Bruno Haible  <bruno@clisp.org>
4783
4784         Fix compilation error with Sun C.
4785         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
4786         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
4787         instead of GCC specific ULONG_LONG_MAX.
4788         * lib/xstrtoll.c: Likewise.
4789         * lib/xstrtoull.c: Likewise.
4790
4791 2010-03-13  Bruno Haible  <bruno@clisp.org>
4792
4793         Allow the user to disable C++ code and tests.
4794         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
4795         (gl_PROG_ANSI_CXX): Require it.
4796
4797 2010-03-13  Bruno Haible  <bruno@clisp.org>
4798
4799         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
4800         cases.
4801
4802 2010-03-13  Bruno Haible  <bruno@clisp.org>
4803
4804         Test that gnulib does not break the standard C++ headers.
4805         * tests/test-locale-c++2.cc: New file.
4806         * modules/locale-tests (Files): Add it.
4807         (Makefile.am): Compile it for test-locale-c++.
4808         * tests/test-math-c++2.cc: New file.
4809         * modules/math-tests (Files): Add it.
4810         (Makefile.am): Compile it for test-math-c++.
4811         * tests/test-signal-c++2.cc: New file.
4812         * modules/signal-tests (Files): Add it.
4813         (Makefile.am): Compile it for test-signal-c++.
4814         * tests/test-stdio-c++2.cc: New file.
4815         * modules/stdio-tests (Files): Add it.
4816         (Makefile.am): Compile it for test-stdio-c++.
4817         * tests/test-stdlib-c++2.cc: New file.
4818         * modules/stdlib-tests (Files): Add it.
4819         (Makefile.am): Compile it for test-stdlib-c++.
4820         * tests/test-string-c++2.cc: New file.
4821         * modules/string-tests (Files): Add it.
4822         (Makefile.am): Compile it for test-string-c++.
4823         * tests/test-time-c++2.cc: New file.
4824         * modules/time-tests (Files): Add it.
4825         (Makefile.am): Compile it for test-time-c++.
4826         Reported by John W. Eaton <jwe@gnu.org>.
4827
4828 2010-03-13  Bruno Haible  <bruno@clisp.org>
4829
4830         * gnulib-tool (func_usage): Clarify which options are available for
4831         --create-testdir and --create-megatestdir.
4832
4833 2010-03-13  Bruno Haible  <bruno@clisp.org>
4834
4835         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
4836         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
4837         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
4838         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
4839         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
4840         when appropriate.
4841         Reported by Jim Meyering.
4842
4843 2010-03-12  Simon Josefsson  <simon@josefsson.org>
4844
4845         * gnulib-tool (func_import): Explain origin of code.
4846
4847 2010-03-12  Bruno Haible  <bruno@clisp.org>
4848
4849         Fix problem with automake's definition of CXXLINK.
4850         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
4851         Reported by Simon Josefsson and Ludovic Courtès.
4852
4853 2010-03-12  Bruno Haible  <bruno@clisp.org>
4854
4855         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
4856         stable releases.
4857
4858 2010-03-11  Bruno Haible  <bruno@clisp.org>
4859
4860         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
4861         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
4862         whether the system provides one variant or multiple variants of the
4863         function.
4864         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
4865         C++ compilers.
4866         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
4867         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
4868         Reported by Jim Meyering.
4869
4870 2010-03-09  Simon Josefsson  <simon@josefsson.org>
4871
4872         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
4873
4874 2010-03-08  Bruno Haible  <bruno@clisp.org>
4875
4876         gnulib-tool: Add support for --libtool in --create-testdir.
4877         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
4878         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
4879
4880 2010-03-08  Eric Blake  <eblake@redhat.com>
4881
4882         gnulib-tool.texi: mention possibility of git submodule
4883         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
4884         submodules.
4885         * doc/.gitignore: Ignore another generated file.
4886
4887 2010-03-08  Karl Berry  <karl@gnu.org>
4888
4889         * doc/gnulib-tool.texi (VCS Issues): Mention third option
4890         of committing gnulib files while skipping others.
4891
4892 2010-03-07  Bruno Haible  <bruno@clisp.org>
4893
4894         Tests of module 'wctype' in C++ mode.
4895         * tests/test-wctype-c++.cc: New file.
4896         * modules/wctype-tests (Files): Add it and tests/signature.h.
4897         (Depends-on): Add ansi-c++-opt.
4898         (Makefile.am): Arrange to compile and run test-wctype-c++.
4899
4900         Tests of module 'wchar' in C++ mode.
4901         * tests/test-wchar-c++.cc: New file.
4902         * modules/wchar-tests (Files): Add it and tests/signature.h.
4903         (Depends-on): Add ansi-c++-opt.
4904         (Makefile.am): Arrange to compile and run test-wchar-c++.
4905         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
4906         gl_MODULE_INDICATOR.
4907
4908         Tests of module 'unistd' in C++ mode.
4909         * tests/test-unistd-c++.cc: New file.
4910         * modules/unistd-tests (Files): Add it and tests/signature.h.
4911         (Depends-on): Add ansi-c++-opt.
4912         (Makefile.am): Arrange to compile and run test-unistd-c++.
4913         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
4914         gl_MODULE_INDICATOR.
4915
4916         Tests of module 'time' in C++ mode.
4917         * tests/test-time-c++.cc: New file.
4918         * modules/time-tests (Files): Add it and tests/signature.h.
4919         (Depends-on): Add ansi-c++-opt.
4920         (Makefile.am): Arrange to compile and run test-time-c++.
4921         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
4922
4923         Tests of module 'sys_time' in C++ mode.
4924         * tests/test-sys_time-c++.cc: New file.
4925         * modules/sys_time-tests (Files): Add it and tests/signature.h.
4926         (Depends-on): Add ansi-c++-opt.
4927         (Makefile.am): Arrange to compile and run test-sys_time-c++.
4928         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
4929         gl_MODULE_INDICATOR.
4930
4931         Tests of module 'sys_stat' in C++ mode.
4932         * tests/test-sys_stat-c++.cc: New file.
4933         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
4934         (Depends-on): Add ansi-c++-opt.
4935         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
4936         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
4937         gl_MODULE_INDICATOR.
4938
4939         Tests of module 'sys_socket' in C++ mode.
4940         * tests/test-sys_socket-c++.cc: New file.
4941         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
4942         (Depends-on): Add ansi-c++-opt.
4943         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
4944         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
4945         gl_MODULE_INDICATOR.
4946
4947         Tests of module 'sys_select' in C++ mode.
4948         * tests/test-sys_select-c++.cc: New file.
4949         * modules/sys_select-tests (Files): Add it and tests/signature.h.
4950         (Depends-on): Add ansi-c++-opt.
4951         (Makefile.am): Arrange to compile and run test-sys_select-c++.
4952         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
4953         gl_MODULE_INDICATOR.
4954
4955         Tests of module 'sys_ioctl' in C++ mode.
4956         * tests/test-sys_ioctl-c++.cc: New file.
4957         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
4958         (Depends-on): Add ansi-c++-opt.
4959         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
4960         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
4961         gl_MODULE_INDICATOR.
4962
4963         Tests of module 'string' in C++ mode.
4964         * tests/test-string-c++.cc: New file.
4965         * modules/string-tests (Files): Add it and tests/signature.h.
4966         (Depends-on): Add ansi-c++-opt.
4967         (Makefile.am): Arrange to compile and run test-string-c++.
4968         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
4969         gl_MODULE_INDICATOR.
4970
4971         Tests of module 'stdlib' in C++ mode.
4972         * tests/test-stdlib-c++.cc: New file.
4973         * modules/stdlib-tests (Files): Add it and tests/signature.h.
4974         (Depends-on): Add ansi-c++-opt.
4975         (Makefile.am): Arrange to compile and run test-stdlib-c++.
4976         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
4977         gl_MODULE_INDICATOR.
4978
4979         Tests of module 'stdio' in C++ mode.
4980         * tests/test-stdio-c++.cc: New file.
4981         * modules/stdio-tests (Files): Add it and tests/signature.h.
4982         (Depends-on): Add ansi-c++-opt.
4983         (Makefile.am): Arrange to compile and run test-stdio-c++.
4984         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
4985         gl_MODULE_INDICATOR.
4986
4987         Tests of module 'spawn' in C++ mode.
4988         * tests/test-spawn-c++.cc: New file.
4989         * modules/spawn-tests (Files): Add it and tests/signature.h.
4990         (Depends-on): Add ansi-c++-opt.
4991         (Makefile.am): Arrange to compile and run test-spawn-c++.
4992         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
4993         gl_MODULE_INDICATOR.
4994
4995         Tests of module 'signal' in C++ mode.
4996         * tests/test-signal-c++.cc: New file.
4997         * modules/signal-tests (Files): Add it and tests/signature.h.
4998         (Depends-on): Add ansi-c++-opt.
4999         (Makefile.am): Arrange to compile and run test-signal-c++.
5000         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
5001         gl_MODULE_INDICATOR.
5002
5003         Tests of module 'search' in C++ mode.
5004         * tests/test-search-c++.cc: New file.
5005         * modules/search-tests (Files): Add it and tests/signature.h.
5006         (Depends-on): Add ansi-c++-opt.
5007         (Makefile.am): Arrange to compile and run test-search-c++.
5008         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
5009         gl_MODULE_INDICATOR.
5010
5011         Tests of module 'math' in C++ mode.
5012         * tests/test-math-c++.cc: New file.
5013         * modules/math-tests (Files): Add it and tests/signature.h.
5014         (Depends-on): Add ansi-c++-opt.
5015         (Makefile.am): Arrange to compile and run test-math-c++.
5016         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
5017
5018         Tests of module 'locale' in C++ mode.
5019         * tests/test-locale-c++.cc: New file.
5020         * modules/locale-tests (Files): Add it and tests/signature.h.
5021         (Depends-on): Add ansi-c++-opt.
5022         (Makefile.am): Arrange to compile and run test-locale-c++.
5023         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
5024         gl_MODULE_INDICATOR.
5025
5026         Tests of module 'langinfo' in C++ mode.
5027         * tests/test-langinfo-c++.cc: New file.
5028         * modules/langinfo-tests (Files): Add it and tests/signature.h.
5029         (Depends-on): Add ansi-c++-opt.
5030         (Makefile.am): Arrange to compile and run test-langinfo-c++.
5031         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
5032         gl_MODULE_INDICATOR.
5033
5034         Tests of module 'iconv-h' in C++ mode.
5035         * tests/test-iconv-h-c++.cc: New file.
5036         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
5037         (Depends-on): Add ansi-c++-opt.
5038         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
5039
5040         Tests of module 'glob' in C++ mode.
5041         * tests/test-glob-c++.cc: New file.
5042         * modules/glob-tests (Files): Add it.
5043         (Depends-on): Add ansi-c++-opt.
5044         (Makefile.am): Arrange to compile and run test-glob-c++.
5045
5046         Tests of module 'fcntl-h' in C++ mode.
5047         * tests/test-fcntl-h-c++.cc: New file.
5048         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
5049         (Depends-on): Add ansi-c++-opt.
5050         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
5051         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
5052         gl_MODULE_INDICATOR.
5053
5054         Tests of module 'dirent' in C++ mode.
5055         * tests/test-dirent-c++.cc: New file.
5056         * modules/dirent-tests (Files): Add it and tests/signature.h.
5057         (Depends-on): Add ansi-c++-opt.
5058         (Makefile.am): Arrange to compile and run test-dirent-c++.
5059         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
5060         gl_MODULE_INDICATOR.
5061
5062         New module 'ansi-c++-opt'.
5063         * modules/ansi-c++-opt: New file.
5064         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
5065
5066         Document C++ namespace mode.
5067         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
5068
5069         wctype: Avoid #define replacements in C++ mode.
5070         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
5071         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
5072         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
5073         In C++, define a namespaced alias symbol.
5074         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
5075         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
5076         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
5077         rule.
5078
5079         wchar: Avoid #define replacements in C++ mode.
5080         * lib/wchar.in.h: Include c++defs.h.
5081         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
5082         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
5083         symbol.
5084         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
5085         * modules/wchar (Depends-on): Add c++defs.
5086         (Makefile.am): Update wchar.h rule.
5087
5088         unistd: Avoid #define replacements in C++ mode.
5089         * lib/unistd.in.h: Include c++defs.h.
5090         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
5091         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
5092         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
5093         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
5094         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
5095         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
5096         symbol.
5097         (environ): Update.
5098         * modules/unistd (Depends-on): Add c++defs.
5099         (Makefile.am): Update unistd.h rule.
5100
5101         time: Avoid #define replacements in C++ mode.
5102         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
5103         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
5104         define a namespaced alias symbol.
5105         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
5106         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
5107         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
5108         * modules/time (Depends-on): Add c++defs, warn-on-use.
5109         (Makefile.am): Update time.h rule.
5110         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
5111         * modules/nanosleep (configure.ac): Likewise.
5112         * modules/strptime (configure.ac): Likewise.
5113         * modules/timegm (configure.ac): Likewise.
5114
5115         sys_time: Avoid #define replacements in C++ mode.
5116         * lib/sys_time.in.h: Include c++defs.h.
5117         (gettimeofday): In C++, define a namespaced alias symbol.
5118         * modules/sys_time (Depends-on): Add c++defs.
5119         (Makefile.am): Update sys/time.h rule.
5120
5121         sys_stat: Avoid #define replacements in C++ mode.
5122         * lib/sys_stat.in.h: Include c++defs.h.
5123         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
5124         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
5125         namespaced alias symbol.
5126         In C++, define a namespaced alias symbol.
5127         * modules/sys_stat (Depends-on): Add c++defs.
5128         (Makefile.am): Update sys/stat.h rule.
5129
5130         sys_socket: Avoid #define replacements in C++ mode.
5131         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
5132         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
5133         definitions also when the system has a <sys/socket.h>.
5134         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
5135         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
5136         In C++, define a namespaced alias symbol.
5137         * modules/sys_socket (Depends-on): Add c++defs.
5138         (Makefile.am): Update sys/socket.h rule.
5139
5140         sys_select: Avoid #define replacements in C++ mode.
5141         * lib/sys_select.in.h: Include c++defs.h. Enable the function
5142         definitions also when the system has a <sys/select.h>.
5143         (select): In C++, define a namespaced alias symbol.
5144         * modules/sys_select (Depends-on): Add c++defs.
5145         (Makefile.am): Update sys/select.h rule.
5146
5147         sys_ioctl: Avoid #define replacements in C++ mode.
5148         * lib/sys_ioctl.in.h: Include c++defs.h.
5149         (ioctl): In C++, define a namespaced alias symbol.
5150         * modules/sys_ioctl (Depends-on): Add c++defs.
5151         (Makefile.am): Update sys/ioctl.h rule.
5152
5153         string: Avoid #define replacements in C++ mode.
5154         * lib/string.in.h: Include c++defs.h.
5155         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
5156         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
5157         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
5158         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
5159         strsignal, strverscmp): In C++, define a namespaced alias symbol.
5160         * modules/string (Depends-on): Add c++defs.
5161         (Makefile.am): Update string.h rule.
5162
5163         stdlib: Avoid #define replacements in C++ mode.
5164         * lib/stdlib.in.h: Include c++defs.h.
5165         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
5166         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
5167         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
5168         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
5169         symbol.
5170         * modules/stdlib (Depends-on): Add c++defs.
5171         (Makefile.am): Update stdlib.h rule.
5172
5173         stdio: Avoid #define replacements in C++ mode.
5174         * lib/stdio.in.h: Include c++defs.h.
5175         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
5176         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
5177         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
5178         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
5179         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
5180         namespaced alias symbol.
5181         * modules/stdio (Depends-on): Add c++defs.
5182         (Makefile.am): Update stdio.h rule.
5183
5184         spawn: Avoid #define replacements in C++ mode.
5185         * lib/spawn.in.h: Include c++defs.h.
5186         (posix_spawn, posix_spawnp, posix_spawnattr_init,
5187         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
5188         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
5189         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
5190         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
5191         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
5192         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
5193         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
5194         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
5195         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
5196         In C++, define a namespaced alias symbol.
5197         * modules/spawn (Depends-on): Add c++defs.
5198         (Makefile.am): Update spawn.h rule.
5199
5200         signal: Avoid #define replacements in C++ mode.
5201         * lib/signal.in.h: Include c++defs.h.
5202         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
5203         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
5204         namespaced alias symbol.
5205         * modules/signal (Depends-on): Add c++defs.
5206         (Makefile.am): Update signal.h rule.
5207
5208         search: Avoid #define replacements in C++ mode.
5209         * lib/search.in.h: Include c++defs.h.
5210         (_gl_search_compar_fn, _gl_search_action_fn): New types.
5211         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
5212         symbol.
5213         * modules/search (Depends-on): Add c++defs.
5214         (Makefile.am): Update search.h rule.
5215
5216         math: Avoid #define replacements in C++ mode.
5217         * lib/math.in.h: Include c++defs.h.
5218         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
5219         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
5220         trunc, truncl): In C++, define a namespaced alias symbol.
5221         * modules/math (Depends-on): Add c++defs.
5222         (Makefile.am): Update math.h rule.
5223
5224         locale: Avoid #define replacements in C++ mode.
5225         * lib/locale.in.h: Include c++defs.h.
5226         (duplocale): In C++, define a namespaced alias symbol.
5227         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
5228         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
5229         * modules/locale (Depends-on): Add c++defs.
5230         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
5231
5232         langinfo: Avoid #define replacements in C++ mode.
5233         * lib/langinfo.in.h: Include c++defs.h.
5234         (nl_langinfo): In C++, define a namespaced alias symbol.
5235         * modules/langinfo (Depends-on): Add c++defs.
5236         (Makefile.am): Update langinfo.h rule.
5237
5238         iconv-h: Avoid #define replacements in C++ mode.
5239         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
5240         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
5241         symbol.
5242         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
5243         whenever iconv is present.
5244         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
5245         (Makefile.am): Update iconv.h rule.
5246
5247         glob: Avoid #define replacements in C++ mode.
5248         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
5249         (_gl_glob_errfunc_fn): New type.
5250         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
5251         symbol.
5252         * modules/glob (Depends-on): Add c++defs, warn-on-use.
5253         (Makefile.am): Update glob.h rule.
5254
5255         fcntl-h: Avoid #define replacements in C++ mode.
5256         * lib/fcntl.in.h: Include c++defs.h.
5257         (fcntl, open, openat): In C++, define a namespaced alias symbol.
5258         * modules/fcntl-h (Depends-on): Add c++defs.
5259         (Makefile.am): Update fcntl.h rule.
5260
5261         dirent: Avoid #define replacements in C++ mode.
5262         * lib/dirent.in.h: Include c++defs.h.
5263         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
5264         namespaced alias symbol.
5265         (dirfd): Update declaration.
5266         * modules/dirent (Depends-on): Add c++defs.
5267         (Makefile.am): Update dirent.h rule.
5268
5269         ctype: Make it usable in C++ code.
5270         * lib/ctype.in.h: Include c++defs.h.
5271         (isblank): Declare as extern "C".
5272         * modules/ctype (Depends-on): Add c++defs.
5273         (Makefile.am): Update ctype.h rule.
5274
5275         New module 'c++defs'.
5276         * modules/c++defs: New file.
5277         * build-aux/c++defs.h: New file.
5278         Reported by John W. Eaton <jwe@gnu.org>.
5279
5280 2010-03-07  Bruno Haible  <bruno@clisp.org>
5281
5282         logb: Provide missing declaration for Cygwin.
5283         * lib/math.in.h (logb): New declaration.
5284         * m4/logb.m4: New file.
5285         * modules/logb (Files): Add m4/logb.m4.
5286         (Depends-on): Add math.
5287         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
5288         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
5289         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
5290         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
5291         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
5292
5293 2010-03-07  Bruno Haible  <bruno@clisp.org>
5294
5295         Fix test-cond link error.
5296         * tests/test-cond.c: Include <stdio.h>.
5297
5298 2010-03-07  Bruno Haible  <bruno@clisp.org>
5299
5300         Fix test-dirent-safer link error.
5301         * modules/dirent-safer-tests (Makefile.am): Define
5302         test_dirent_safer_LDADD.
5303
5304 2010-03-07  Bruno Haible  <bruno@clisp.org>
5305
5306         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
5307         among default module list.
5308
5309 2010-03-07  Bruno Haible  <bruno@clisp.org>
5310
5311         Fix link error on platforms with GNU libiconv.
5312         * modules/unistr/u8-strcoll-tests (Makefile): Define
5313         test_u8_strcoll_LDADD.
5314         * modules/unistr/u16-strcoll-tests (Makefile): Define
5315         test_u16_strcoll_LDADD.
5316         * modules/unistr/u32-strcoll-tests (Makefile): Define
5317         test_u32_strcoll_LDADD.
5318
5319 2010-03-07  Bruno Haible  <bruno@clisp.org>
5320
5321         Use POSIX declarations for socket functions.
5322         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
5323         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
5324         rpl_sendto): Change declaration to match POSIX.
5325         * lib/connect.c (rpl_connect): Likewise.
5326         * lib/accept.c (rpl_accept): Likewise.
5327         * lib/bind.c (rpl_bind): Likewise.
5328         * lib/getpeername.c (rpl_getpeername): Likewise.
5329         * lib/getsockname.c (rpl_getsockname): Likewise.
5330         * lib/recv.c (rpl_recv): Likewise.
5331         * lib/send.c (rpl_send): Likewise.
5332         * lib/recvfrom.c (rpl_recvfrom): Likewise.
5333         * lib/sendto.c (rpl_sendto): Likewise.
5334
5335 2010-03-06  Bruno Haible  <bruno@clisp.org>
5336
5337         Clarify access, euidaccess, faccessat.
5338         * doc/posix-functions/faccessat.texi: Mention security problem under
5339         "Other problems", not "Portability problems".
5340         * doc/posix-functions/access.texi: Likewise. Mention a related security
5341         problem.
5342         * doc/glibc-functions/euidaccess.texi: Mention security problems.
5343         * lib/euidaccess.c: Add comments about platforms.
5344         * lib/unistd.in.h (access, euidaccess): Add warnings.
5345
5346 2010-03-07  Bruno Haible  <bruno@clisp.org>
5347
5348         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
5349         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
5350         (POSIX_SPAWN_SETSCHEDULER): Likewise.
5351         (POSIX_SPAWN_USEVFORK): Define in a way that works when
5352         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
5353         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
5354         declare when POSIX_SPAWN_SETSCHEDULER is zero.
5355         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
5356         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
5357         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
5358         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
5359         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
5360         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
5361         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
5362         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
5363         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
5364         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
5365         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
5366         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
5367         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
5368         Likewise.
5369         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
5370         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
5371         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
5372         Likewise.
5373         * tests/test-spawn.c (main): Make it work when
5374         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
5375
5376 2010-03-07  Bruno Haible  <bruno@clisp.org>
5377
5378         Fix incorrect Makefile.am generation in German locale.
5379         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
5380         Execute sed command with character range in C locale.
5381
5382 2010-03-06  Bruno Haible  <bruno@clisp.org>
5383
5384         Tests for module 'iconv-h'.
5385         * modules/iconv-h-tests: New file.
5386         * tests/test-iconv-h.c: New file.
5387
5388         New module 'iconv-h'.
5389         * modules/iconv-h: New file.
5390         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
5391         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
5392         (configure.ac): Remove gl_ICONV_H.
5393         (Makefile.am): Remove rule for iconv.h.
5394
5395 2010-03-06  Bruno Haible  <bruno@clisp.org>
5396
5397         More consistent naming of *.m4 files.
5398         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
5399         * modules/wctype (Files): Update.
5400
5401         More consistent naming of *.m4 files.
5402         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
5403         * modules/wchar (Files): Update.
5404
5405 2010-03-06  Jim Meyering  <meyering@redhat.com>
5406
5407         euidaccess: relax license to LGPLv2+
5408         * modules/euidaccess (License): Relax to LGPLv2+.
5409
5410 2010-03-06  Bruno Haible  <bruno@clisp.org>
5411
5412         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
5413         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
5414         (Makefile.am): Augment lib_SOURCES instead.
5415
5416 2010-03-04  Jim Meyering  <meyering@redhat.com>
5417
5418         utime: remove obsolete module
5419         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
5420         unnecessary for years, and has been marked as obsolete for 10 months.
5421         * modules/utime: Remove file.
5422         * lib/utime.c: Remove file.
5423         * m4/utime.m4: Remove file.
5424         * m4/utimes-null.m4: Remove file.
5425         * doc/posix-functions/utime.texi (utime): Remove reference to
5426         the module.  Move the sole "fixed by gnulib" item into the
5427         "problems not fixed by Gnulib" list.
5428         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
5429
5430 2010-03-05  Simon Josefsson  <simon@josefsson.org>
5431
5432         * modules/exit (License): Relax license to LGPLv2+.
5433         (Status): Mark as obsolete.
5434         * NEWS: Mention deprecated 'exit' module.
5435         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
5436         of now obsolete 'exit'.
5437
5438 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5439
5440         fts-lgpl: remove unused module
5441         * modules/fts-lgpl: Remove.
5442         * MODULES.html.sh (func_all_modules): Adjust.
5443         * check-module (find_included_lib_files): Adjust.
5444         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
5445
5446 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
5447
5448         copy-acl: enhance Solaris ACL error handling
5449         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
5450         * lib/set-mode-acl.c (qset_acl): Likewise.
5451
5452 2010-03-02  Bruno Haible  <bruno@clisp.org>
5453
5454         spawn: Don't override the system defined values on FreeBSD 8.
5455         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
5456         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
5457         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
5458         if HAVE_POSIX_SPAWN is 1.
5459         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
5460
5461 2010-03-01  Bruno Haible  <bruno@clisp.org>
5462
5463         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
5464         regarding Automake.
5465
5466 2010-02-25  Bruno Haible  <bruno@clisp.org>
5467
5468         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
5469         * gnulib-tool: Define 'echo' as a function only before the ksh alias
5470         setting, not afterwards.
5471         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
5472
5473 2010-02-24  Eric Blake  <eblake@redhat.com>
5474
5475         bootstrap, git-version-gen: use timestamp
5476         * build-aux/git-version-gen (scriptversion): Force UTC.
5477         * build-aux/bootstrap (scriptversion): New variable.
5478
5479         bootstrap: allow older git
5480         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
5481         older than 1.6.4.  Requested by the libvirt project.
5482
5483 2010-02-23  Eric Blake  <eblake@redhat.com>
5484
5485         warn-on-use: work with old autoconf
5486         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
5487         AS_VAR semantics of autoconf 2.60.
5488         Reported by Bruno Haible.
5489
5490         bootstrap: improve some comments
5491         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
5492         clarification comments.
5493
5494         gettimeofday: provide correct function
5495         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
5496         when replacement is declared, otherwise provide gettimeofday.
5497         Reported by Michael Goffioul.
5498
5499 2010-02-23  Jim Meyering  <meyering@redhat.com>
5500
5501         lib-ignore: relax license to "unlimited", not LGPLv2+
5502         * modules/lib-ignore (License): Relax to "unlimited".
5503
5504 2010-02-23  Jim Meyering  <meyering@redhat.com>
5505
5506         lib-ignore: relax license to LGPLv2+
5507         * modules/lib-ignore (License): Relax to LGPLv2+.
5508
5509 2010-02-22  Eric Blake  <eblake@redhat.com>
5510
5511         lseek: avoid bash 3.2 broken pipe bug
5512         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
5513         warning from bash 3.2.
5514         Reported by Ben Pfaff, with analysis from Bruno Haible.
5515
5516         bootstrap: support non-FSF copyright holder
5517         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
5518         bootstrap.conf override of COPYRIGHT_HOLDER.
5519         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
5520
5521         bootstrap: interoperate with gettext 0.14.1
5522         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
5523
5524         bootstrap: allow for alternate submodule location
5525         * build-aux/bootstrap (gnulib_path): New variable; use instead of
5526         hardcoding submodule location.
5527         (gnulib_mk): Allow direct use of Makefile.am.
5528
5529         bootstrap: use GNULIB_SRCDIR to reduce disk usage
5530         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
5531         rather than reconfiguring where the submodule points.
5532
5533         gettimeofday: restore support for platforms that lack function
5534         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
5535         replacement if function is missing.
5536         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
5537         * modules/sys_time (Makefile.am): Substitute it.
5538         * lib/sys_time.in.h (gettimeofday): Check it.
5539         Reported by Michael Goffioul.
5540
5541 2010-02-21  Bruno Haible  <bruno@clisp.org>
5542
5543         * lib/stdio.in.h (obstack_printf): Fix typo.
5544
5545 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
5546
5547         vc-list-files: use bzr ls's -R option
5548         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
5549         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
5550
5551 2010-02-21  Jim Meyering  <meyering@redhat.com>
5552
5553         init.sh: fix EXEEXT shims to work also for names like test-prog
5554         * tests/init.sh: Re-exec a better shell, when needed.
5555         If the current shell lacks support for posix $(...), an init.sh-using
5556         test will now try to find a shell that supports that.  If EXEEXT is
5557         nonempty, we also require support for hyphen-in-alias-name and shell
5558         substitutions like ${var#glob}.  Failure to find such a shell results
5559         in a skipped test.
5560
5561 2010-02-21  Bruno Haible  <bruno@clisp.org>
5562
5563         Really work around around "broken pipe" error message from bash 3.2.
5564         * gnulib-tool (func_reset_sigpipe): Remove function.
5565         (echo): In bash 3.2, define to a function that uses printf.
5566         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
5567
5568 2010-02-20  Bruno Haible  <bruno@clisp.org>
5569
5570         Restore support for automake 1.9.6 with autoconf 2.61.
5571         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
5572         Reported by James Youngman <jay@gnu.org>.
5573
5574 2010-02-20  Bruno Haible  <bruno@clisp.org>
5575
5576         Improve *printf warning condition.
5577         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
5578         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
5579         and the function is overridden due to SIGPIPE emulation.
5580
5581 2010-02-20  Bruno Haible  <bruno@clisp.org>
5582
5583         * lib/stdio.in.h: Tweak comments.
5584
5585 2010-02-19  Bruno Haible  <bruno@clisp.org>
5586
5587         Make it easier to find modules. New gnulib-tool option '--find'.
5588         * gnulib-tool: New option --find.
5589         (func_usage): Document it.
5590         (func_sanitize_modulelist): New function, extracted from
5591         func_all_modules.
5592         (func_all_modules): Invoke it.
5593         * doc/gnulib-tool.texi (Which modules?): New node.
5594
5595 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
5596
5597         * lib/sys_select.in.h: Provide select replacement even if
5598         sys/select.h exists on a system, for Interix.
5599
5600 2010-02-18  Jim Meyering  <meyering@redhat.com>
5601
5602         init.sh: don't use $(...) just yet
5603         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
5604         to accommodate e.g., Solaris' /bin/sh.
5605
5606 2010-02-17  Bruno Haible  <bruno@clisp.org>
5607
5608         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
5609         Reported by Ludovic Courtès <ludo@gnu.org>.
5610
5611 2010-02-16  Simon Josefsson  <simon@josefsson.org>
5612
5613         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
5614         linking with -lintl.
5615
5616 2010-02-17  Simon Josefsson  <simon@josefsson.org>
5617
5618         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
5619         if not provided by the system's netdb.h.  Reported by
5620         ludo@gnu.org (Ludovic Courtès).
5621
5622 2010-02-15  Jim Meyering  <meyering@redhat.com>
5623
5624         init.sh: improve portability and efficiency
5625         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
5626         "dummy" in a for loop.
5627         Use '!', not '^' to select the complement of a character set used
5628         in a "case" statement.
5629         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
5630         Suggestions from Eric Blake.
5631
5632         init.sh: automatically accommodate programs with the .exe suffix
5633         Automatically arrange for an invocation of "prog" to execute the
5634         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
5635         may use the simpler "prog", yet still work when built on a system
5636         that requires specifying the added suffix.
5637         Do this by constructing a function named "prog" that invokes
5638         "prog.exe" for each .exe file in selected directories.
5639         * tests/init.sh (find_exe_basenames_): New function.
5640         (create_exe_shim_functions_): New function.
5641         (path_prepend_): Use it.
5642
5643         maint.mk: mark syntax-check sc_*.m rules as .PHONY
5644         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
5645         "make -t syntax-check" doesn't create a ton of sc_*.m files.
5646
5647 2010-02-14  Jim Meyering  <meyering@redhat.com>
5648
5649         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
5650         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
5651         (sc_prohibit_hash_pjw_without_use): New rule.
5652
5653         maint.mk: allow the default upload destination dir to be overridden
5654         * top/maint.mk (upload_dest_dir_): Define with a default that
5655         preserves the status quo.
5656         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
5657         Reported by Peter Simons.
5658
5659         maint.mk: prohibit inclusion of "hash.h" without_use
5660         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
5661
5662 2010-02-10  Jim Meyering  <meyering@redhat.com>
5663
5664         maint.mk: prohibit inclusion of "ignore-value.h" without_use
5665         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
5666
5667 2010-02-09  Eric Blake  <ebb9@byu.net>
5668         and Bruno Haible  <bruno@clisp.org>
5669
5670         obstack-printf-posix: ensure declaration
5671         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
5672         extracted from gl_FUNC_OBSTACK_PRINTF.
5673         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
5674         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
5675         Likewise.
5676         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
5677         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
5678         0.
5679
5680 2010-02-08  Bruno Haible  <bruno@clisp.org>
5681
5682         gnulib-tool: Fix typo in 2010-02-07 commit.
5683         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
5684         Reported by Eric Blake.
5685
5686 2010-02-07  Bruno Haible  <bruno@clisp.org>
5687
5688         gnulib-tool: Fix up caching patches.
5689         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
5690         option --no-cache. Use associative arrays when supported by the shell.
5691         (sed_comments): New variable.
5692         (modcache): Renamed from do_cache.
5693         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
5694         abbreviate unnecessarily.
5695         (have_associative): New variable.
5696         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
5697         way also for ksh and zsh.
5698         (func_init_sed_convert_to_cache_statements): New function, extracted
5699         from func_cache_lookup_module. Add support for associative arrays.
5700         Don't set the c_MODULE_cached variable here. Ignore all lines before
5701         the first field header. Remove only the final newline, not all trailing
5702         newlines. Support empty fields correctly. Limit the use of 'eval' to
5703         assignments.
5704         (func_get_description, func_get_status, func_get_notice,
5705         func_get_applicability, func_get_filelist, func_get_dependencies,
5706         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
5707         func_get_automake_snippet, func_get_include_directive,
5708         func_get_link_directive, func_get_license, func_get_maintainer):
5709         Update documentation. List the unoptimized code first. Add support for
5710         associative arrays. Limit the use of 'eval' to assignments.
5711         (func_get_applicability): Undo stylistic pessimisations.
5712         (func_get_automake_snippet, func_get_include_directive): Reduce code
5713         duplication.
5714         (func_modules_transitive_closure, func_modules_add_dummy,
5715         func_modules_notice, func_modules_to_filelist, func_add_file,
5716         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
5717         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
5718         func_create_testdir, func_create_megatestdir): Update documentation.
5719
5720 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5721
5722         * gnulib-tool (func_cache_lookup_module): Store the module name
5723         belonging to the cache variable; error out if two different
5724         module names map to the same cache variable name.
5725
5726 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5727
5728         gnulib-tool: Make caching optional.
5729         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
5730         Update matching short versions of --no-changelog.
5731         (func_usage): Update.
5732         (sed_extract_cache_prog): Renamed from ...
5733         (sed_extract_prog): ... this; revert to old extraction script.
5734         (func_get_description, func_get_status)
5735         (func_get_notice, func_get_applicability, func_get_filelist)
5736         (func_get_dependencies, func_get_autoconf_early_snippet)
5737         (func_get_autoconf_snippet, func_get_automake_snippet)
5738         (func_get_include_directive, func_get_link_directive)
5739         (func_get_license, func_get_maintainer): If $do_cache is false,
5740         use old, non-caching extraction scripts.
5741         Suggestion by Bruno Haible.
5742
5743 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5744
5745         gnulib-tool: cache module metainformation.
5746         * gnulib-tool (sed_extract_prog): Match newline before each
5747         header, and rewrite header to a shell variable suffix.
5748         (func_cache_var, func_cache_lookup_module): New functions,
5749         to turn a module name into a cache variable prefix, and to
5750         look up and cache module metainformation.
5751         (func_get_description, func_get_status)
5752         (func_get_notice, func_get_applicability, func_get_filelist)
5753         (func_get_dependencies, func_get_autoconf_early_snippet)
5754         (func_get_autoconf_snippet, func_get_automake_snippet)
5755         (func_get_include_directive, func_get_link_directive)
5756         (func_get_license, func_get_maintainer): Use
5757         func_cache_lookup_module.
5758
5759 2010-02-07  Bruno Haible  <bruno@clisp.org>
5760
5761         fnctl: Fix missing dependency.
5762         * modules/fcntl (Depends-on): Add getdtablesize.
5763         Reported by John W. Eaton <jwe@gnu.org>.
5764
5765 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
5766
5767         Argp: fix recognition of short alias options.
5768
5769         * lib/argp-parse.c (convert_options): Fix improper use of
5770         `|' between character values.
5771         * tests/test-argp.c (group1_option): New alias option
5772         --read (-r).
5773         (group1_parser): Special handling for 'r'.
5774         (test15): New test case.
5775         (test_fun): Add test15.
5776         * tests/test-argp-2.sh: Update expected --help and --usage
5777         outputs.
5778
5779 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
5780
5781         * tests/test-argp.c: Fix indentation.
5782
5783 2010-02-04  Eric Blake  <ebb9@byu.net>
5784
5785         gettimeofday: expose type of second argument
5786         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
5787         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
5788         * tests/test-gettimeofday.c: Use it to silence warning.
5789         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
5790         the issue.
5791
5792 2010-02-03  Jim Meyering  <meyering@redhat.com>
5793
5794         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
5795         * lib/regcomp.c (TYPE_SIGNED): Define.
5796         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
5797
5798         regcomp.c: avoid a new -Wshadow warning
5799         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
5800
5801 2010-02-01  Jim Meyering  <meyering@redhat.com>
5802
5803         removing useless parentheses in cpp #define directives
5804         For motivation, see commit c0221df4, "define STREQ(a,b)
5805         consistently, removing useless parentheses"
5806         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
5807         * lib/mountlist.c (MNT_IGNORE): Likewise.
5808         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
5809
5810 2010-02-01  Eric Blake  <ebb9@byu.net>
5811
5812         sys_time: use link-warning
5813         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
5814         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
5815         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
5816         * modules/sys_time (Depends-on): Add warn-on-use.
5817         (Makefile.am): Always build replacement.
5818         (configure.ac): Update substitutions.
5819         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
5820         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
5821         bother with SYS_TIME_H.
5822         * modules/gettimeofday (configure.ac): Declare indicator.
5823         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
5824         in use.
5825
5826         closein-tests: silence compiler warning
5827         * tests/test-closein.c (main): Ignore fread result.
5828         * modules/closein-tests (Depends-on): Add ignore-value.
5829
5830         tests: silence warning about system return
5831         * tests/test-areadlink-with-size.c (main): Ignore system result.
5832         * tests/test-areadlink.c (main): Likewise.
5833         * tests/test-areadlinkat-with-size.c (main): Likewise.
5834         * tests/test-areadlinkat.c (main): Likewise.
5835         * tests/test-canonicalize-lgpl.c (main): Likewise.
5836         * tests/test-canonicalize.c (main): Likewise.
5837         * tests/test-chown.c (main): Likewise.
5838         * tests/test-fchownat.c (main): Likewise.
5839         * tests/test-fdutimensat.c (main): Likewise.
5840         * tests/test-fstatat.c (main): Likewise.
5841         * tests/test-futimens.c (main): Likewise.
5842         * tests/test-lchown.c (main): Likewise.
5843         * tests/test-link.c (main): Likewise.
5844         * tests/test-linkat.c (main): Likewise.
5845         * tests/test-lstat.c (main): Likewise.
5846         * tests/test-mkdir.c (main): Likewise.
5847         * tests/test-mkdirat.c (main): Likewise.
5848         * tests/test-mkfifo.c (main): Likewise.
5849         * tests/test-mkfifoat.c (main): Likewise.
5850         * tests/test-mknod.c (main): Likewise.
5851         * tests/test-readlink.c (main): Likewise.
5852         * tests/test-remove.c (main): Likewise.
5853         * tests/test-rename.c (main): Likewise.
5854         * tests/test-renameat.c (main): Likewise.
5855         * tests/test-rmdir.c (main): Likewise.
5856         * tests/test-symlink.c (main): Likewise.
5857         * tests/test-symlinkat.c (main): Likewise.
5858         * tests/test-unlink.c (main): Likewise.
5859         * tests/test-unlinkat.c (main): Likewise.
5860         * tests/test-utimens.c (main): Likewise.
5861         * tests/test-utimensat.c (main): Likewise.
5862         * modules/areadlink-tests (Depends-on): Add ignore-value.
5863         * modules/areadlink-with-size-tests (Depends-on): Likewise.
5864         * modules/areadlinkat-tests (Depends-on): Likewise.
5865         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
5866         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
5867         * modules/canonicalize-tests (Depends-on): Likewise.
5868         * modules/chown-tests (Depends-on): Likewise.
5869         * modules/fdutimensat-tests (Depends-on): Likewise.
5870         * modules/futimens-tests (Depends-on): Likewise.
5871         * modules/lchown-tests (Depends-on): Likewise.
5872         * modules/link-tests (Depends-on): Likewise.
5873         * modules/linkat-tests (Depends-on): Likewise.
5874         * modules/lstat-tests (Depends-on): Likewise.
5875         * modules/mkdir-tests (Depends-on): Likewise.
5876         * modules/mkfifo-tests (Depends-on): Likewise.
5877         * modules/mkfifoat-tests (Depends-on): Likewise.
5878         * modules/mknod-tests (Depends-on): Likewise.
5879         * modules/openat-tests (Depends-on): Likewise.
5880         * modules/readlink-tests (Depends-on): Likewise.
5881         * modules/remove-tests (Depends-on): Likewise.
5882         * modules/rename-tests (Depends-on): Likewise.
5883         * modules/renameat-tests (Depends-on): Likewise.
5884         * modules/rmdir-tests (Depends-on): Likewise.
5885         * modules/symlink-tests (Depends-on): Likewise.
5886         * modules/symlinkat-tests (Depends-on): Likewise.
5887         * modules/unlink-tests (Depends-on): Likewise.
5888         * modules/utimens-tests (Depends-on): Likewise.
5889         * modules/utimensat-tests (Depends-on): Likewise.
5890
5891 2010-01-31  Bruno Haible  <bruno@clisp.org>
5892
5893         Perform the same test for many <math.h> functions.
5894         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
5895         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
5896         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
5897         of gl_MATHFUNC.
5898         * modules/acos (configure.ac): Likewise.
5899         * modules/asin (configure.ac): Likewise.
5900         * modules/atan (configure.ac): Likewise.
5901         * modules/atan2 (configure.ac): Likewise.
5902         * modules/cbrt (configure.ac): Likewise.
5903         * modules/copysign (configure.ac): Likewise.
5904         * modules/cos (configure.ac): Likewise.
5905         * modules/cosh (configure.ac): Likewise.
5906         * modules/erf (configure.ac): Likewise.
5907         * modules/erfc (configure.ac): Likewise.
5908         * modules/exp (configure.ac): Likewise.
5909         * modules/fmod (configure.ac): Likewise.
5910         * modules/hypot (configure.ac): Likewise.
5911         * modules/j0 (configure.ac): Likewise.
5912         * modules/j1 (configure.ac): Likewise.
5913         * modules/jn (configure.ac): Likewise.
5914         * modules/lgamma (configure.ac): Likewise.
5915         * modules/log (configure.ac): Likewise.
5916         * modules/log10 (configure.ac): Likewise.
5917         * modules/log1p (configure.ac): Likewise.
5918         * modules/pow (configure.ac): Likewise.
5919         * modules/remainder (configure.ac): Likewise.
5920         * modules/sin (configure.ac): Likewise.
5921         * modules/sinh (configure.ac): Likewise.
5922         * modules/tan (configure.ac): Likewise.
5923         * modules/tanh (configure.ac): Likewise.
5924         * modules/y0 (configure.ac): Likewise.
5925         * modules/y1 (configure.ac): Likewise.
5926         * modules/yn (configure.ac): Likewise.
5927         Suggested by Paolo Bonzini.
5928
5929 2010-01-31  Bruno Haible  <bruno@clisp.org>
5930
5931         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
5932
5933 2010-01-31  Bruno Haible  <bruno@clisp.org>
5934
5935         Work around getdelim() bug on FreeBSD 8.0.
5936         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
5937         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
5938         not work.
5939         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
5940         is 1.
5941         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
5942         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
5943         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
5944         a non-zero size.
5945         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
5946
5947 2010-01-31  Bruno Haible  <bruno@clisp.org>
5948
5949         Work around getline() bug on FreeBSD 8.0.
5950         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
5951         and a non-zero size.
5952         * tests/test-getline.c (main): Likewise.
5953         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
5954         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
5955
5956 2010-01-28  Eric Blake  <ebb9@byu.net>
5957
5958         regex: fix build failure
5959         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
5960         platforms.
5961
5962 2010-01-28  Jim Meyering  <meyering@redhat.com>
5963
5964         regex: do not ignore memory allocation failure
5965         * lib/regex_internal.c (create_cd_newstate): Detect
5966         re_node_set_init_copy failure.   Extracted from glibc commit
5967         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
5968
5969         regex: sync more white-space changes from libc
5970         * lib/regex_internal.c: White-space only changes.
5971         * lib/regexec.c: Likewise.
5972
5973         regex: add many uses of __attribute_warn_unused_result__
5974         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
5975         * lib/regexec.c: Likewise.
5976         Extracted from a messy glibc commit.
5977
5978         regcomp.c: spelling and merge-artifact from glibc
5979         * lib/regcomp.c: Merge remainder of glibc's
5980         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
5981
5982         regcomp.c: sync white-space changes from glibc
5983         * lib/regcomp.c: Merge to accommodate white space
5984         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
5985
5986         regcomp.c: do not ignore internal return values
5987         * lib/regcomp.c: Do not ignore internal return values.
5988         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
5989         but without its white-space changes and spelling fixes.
5990
5991         regex_internal.h: define __attribute_warn_unused_result__
5992         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
5993
5994         maint: add a syntax-check rule to check for vulnerable Makefile.in
5995         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
5996
5997 2010-01-27  Jim Meyering  <meyering@redhat.com>
5998
5999         ncftpput-ftp: clean up spaces
6000         * build-aux/ncftpput-ftp: Make Copyright line consistent.
6001         Remove trailing blanks.
6002
6003 2010-01-27  Simon Josefsson  <simon@josefsson.org>
6004
6005         * build-aux/git-version-gen: Fix copyright statement.
6006         * build-aux/gnupload: Likewise.
6007         * tests/test-arcfour.c: Likewise.
6008         * tests/test-arctwo.c: Likewise.
6009         * tests/test-count-one-bits.c: Likewise.
6010         * tests/test-crc.c: Likewise.
6011         * tests/test-des.c: Likewise.
6012         * tests/test-gc-arcfour.c: Likewise.
6013         * tests/test-gc-arctwo.c: Likewise.
6014         * tests/test-gc-des.c: Likewise.
6015         * tests/test-gc-hmac-md5.c: Likewise.
6016         * tests/test-gc-hmac-sha1.c: Likewise.
6017         * tests/test-gc-md2.c: Likewise.
6018         * tests/test-gc-md4.c: Likewise.
6019         * tests/test-gc-md5.c: Likewise.
6020         * tests/test-gc-pbkdf2-sha1.c: Likewise.
6021         * tests/test-gc-rijndael.c: Likewise.
6022         * tests/test-gc-sha1.c: Likewise.
6023         * tests/test-gc.c: Likewise.
6024         * tests/test-gethostname.c: Likewise.
6025         * tests/test-gettimeofday.c: Likewise.
6026         * tests/test-hash.c: Likewise.
6027         * tests/test-hmac-md5.c: Likewise.
6028         * tests/test-hmac-sha1.c: Likewise.
6029         * tests/test-md2.c: Likewise.
6030         * tests/test-md4.c: Likewise.
6031         * tests/test-md5.c: Likewise.
6032         * tests/test-memchr.c: Likewise.
6033         * tests/test-memchr2.c: Likewise.
6034         * tests/test-memcmp.c: Likewise.
6035         * tests/test-memmem.c: Likewise.
6036         * tests/test-memrchr.c: Likewise.
6037         * tests/test-rawmemchr.c: Likewise.
6038         * tests/test-read-file.c: Likewise.
6039         * tests/test-rijndael.c: Likewise.
6040         * tests/test-sockets.c: Likewise.
6041         * tests/test-strchrnul.c: Likewise.
6042         * tests/test-strstr.c: Likewise.
6043         * tests/test-strtod.c: Likewise.
6044         * build-aux/ncftpput-ftp: Likewise.
6045
6046 2010-01-26  Eric Blake  <ebb9@byu.net>
6047
6048         ignore-value: update recommended header name
6049         * modules/ignore-value (Include): Only use <> for headers that
6050         exist in glibc.
6051
6052 2010-01-26  Jim Meyering  <meyering@redhat.com>
6053
6054         test-userspec.c: avoid compiler warnings
6055         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
6056         and "initialization discards qualifiers..." warnings.
6057         Put the first "uid" in its own scope, and make char* members "const".
6058
6059 2010-01-25  Bruno Haible  <bruno@clisp.org>
6060
6061         gnulib-tool: Make warning diagnostics consistent.
6062         * gnulib-tool (func_warning): New function.
6063         Use it everywhere where gnulib-tool produces output to stderr and it is
6064         not a fatal error.
6065
6066 2010-01-25  Bruno Haible  <bruno@clisp.org>
6067
6068         Fix test dependencies.
6069         * modules/xstrtol-tests (Depends-on): Add inttypes.
6070         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
6071
6072 2010-01-25 Pádraig Brady <P@draigBrady.com>
6073
6074         syntax-check: detect incorrect boolean macro values in config.h
6075         * modules/maintainer-makefile (configure.ac): Parameterize the location
6076         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
6077         The logic is from Eric Blake and the location indicated by Jim Meyering.
6078         Note the more natural CONFIG_HEADER name is prohibited by automake
6079         for backwards compatibility reasons.
6080         * top/maint.mk (sc_Wundef_boolean): New rule.
6081
6082 2010-01-25  Jim Meyering  <meyering@redhat.com>
6083
6084         bootstrap: detect MacOS 10.6's shasum, too
6085         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
6086         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
6087
6088 2010-01-23  Jim Meyering  <meyering@redhat.com>
6089
6090         xstrtoll: new module
6091         * modules/xstrtoll: New file.
6092         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
6093         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
6094         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
6095         ./configure fails if you use this module and lack "long long".
6096         * modules/xstrtoll-tests: New module.
6097         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
6098         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
6099         new init.sh-based test framework.
6100
6101 2010-01-24  Bruno Haible  <bruno@clisp.org>
6102
6103         Tests for module 'yn'.
6104         * modules/yn-tests: New file.
6105         * tests/test-yn.c: New file.
6106
6107         Tests for module 'y1'.
6108         * modules/y1-tests: New file.
6109         * tests/test-y1.c: New file.
6110
6111         Tests for module 'y0'.
6112         * modules/y0-tests: New file.
6113         * tests/test-y0.c: New file.
6114
6115         Tests for module 'tanh'.
6116         * modules/tanh-tests: New file.
6117         * tests/test-tanh.c: New file.
6118
6119         Tests for module 'tan'.
6120         * modules/tan-tests: New file.
6121         * tests/test-tan.c: New file.
6122
6123         Tests for module 'sqrt'.
6124         * modules/sqrt-tests: New file.
6125         * tests/test-sqrt.c: New file.
6126
6127         Tests for module 'sinh'.
6128         * modules/sinh-tests: New file.
6129         * tests/test-sinh.c: New file.
6130
6131         Tests for module 'sin'.
6132         * modules/sin-tests: New file.
6133         * tests/test-sin.c: New file.
6134
6135         Tests for module 'rint'.
6136         * modules/rint-tests: New file.
6137         * tests/test-rint.c: New file.
6138
6139         Tests for module 'remainder'.
6140         * modules/remainder-tests: New file.
6141         * tests/test-remainder.c: New file.
6142
6143         Tests for module 'pow'.
6144         * modules/pow-tests: New file.
6145         * tests/test-pow.c: New file.
6146
6147         Tests for module 'nextafter'.
6148         * modules/nextafter-tests: New file.
6149         * tests/test-nextafter.c: New file.
6150
6151         Tests for module 'modf'.
6152         * modules/modf-tests: New file.
6153         * tests/test-modf.c: New file.
6154
6155         Tests for module 'logb'.
6156         * modules/logb-tests: New file.
6157         * tests/test-logb.c: New file.
6158
6159         Tests for module 'log1p'.
6160         * modules/log1p-tests: New file.
6161         * tests/test-log1p.c: New file.
6162
6163         Tests for module 'log10'.
6164         * modules/log10-tests: New file.
6165         * tests/test-log10.c: New file.
6166
6167         Tests for module 'log'.
6168         * modules/log-tests: New file.
6169         * tests/test-log.c: New file.
6170
6171         Tests for module 'lgamma'.
6172         * modules/lgamma-tests: New file.
6173         * tests/test-lgamma.c: New file.
6174
6175         Tests for module 'ldexp'.
6176         * modules/ldexp-tests: New file.
6177         * tests/test-ldexp.c: New file.
6178
6179         Tests for module 'jn'.
6180         * modules/jn-tests: New file.
6181         * tests/test-jn.c: New file.
6182
6183         Tests for module 'j1'.
6184         * modules/j1-tests: New file.
6185         * tests/test-j1.c: New file.
6186
6187         Tests for module 'j0'.
6188         * modules/j0-tests: New file.
6189         * tests/test-j0.c: New file.
6190
6191         Tests for module 'hypot'.
6192         * modules/hypot-tests: New file.
6193         * tests/test-hypot.c: New file.
6194
6195         Tests for module 'fmod'.
6196         * modules/fmod-tests: New file.
6197         * tests/test-fmod.c: New file.
6198
6199         Tests for module 'fabs'.
6200         * modules/fabs-tests: New file.
6201         * tests/test-fabs.c: New file.
6202
6203         Tests for module 'exp'.
6204         * modules/exp-tests: New file.
6205         * tests/test-exp.c: New file.
6206
6207         Tests for module 'erfc'.
6208         * modules/erfc-tests: New file.
6209         * tests/test-erfc.c: New file.
6210
6211         Tests for module 'erf'.
6212         * modules/erf-tests: New file.
6213         * tests/test-erf.c: New file.
6214
6215         Tests for module 'cosh'.
6216         * modules/cosh-tests: New file.
6217         * tests/test-cosh.c: New file.
6218
6219         Tests for module 'cos'.
6220         * modules/cos-tests: New file.
6221         * tests/test-cos.c: New file.
6222
6223         Tests for module 'copysign'.
6224         * modules/copysign-tests: New file.
6225         * tests/test-copysign.c: New file.
6226
6227         Tests for module 'cbrt'.
6228         * modules/cbrt-tests: New file.
6229         * tests/test-cbrt.c: New file.
6230
6231         Tests for module 'atan2'.
6232         * modules/atan2-tests: New file.
6233         * tests/test-atan2.c: New file.
6234
6235         Tests for module 'atan'.
6236         * modules/atan-tests: New file.
6237         * tests/test-atan.c: New file.
6238
6239         Tests for module 'asin'.
6240         * modules/asin-tests: New file.
6241         * tests/test-asin.c: New file.
6242
6243         Tests for module 'acos'.
6244         * modules/acos-tests: New file.
6245         * tests/test-acos.c: New file.
6246
6247 2010-01-24  Bruno Haible  <bruno@clisp.org>
6248
6249         Fix tests for common <math.h> functions.
6250         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
6251         code snippet that references the function pointer, rather than merely
6252         calling the function. Substitute the FUNC_LIBM variable.
6253         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
6254         * modules/acos (configure.ac): Likewise.
6255         * modules/asin (configure.ac): Likewise.
6256         * modules/atan (configure.ac): Likewise.
6257         * modules/atan2 (configure.ac): Likewise.
6258         * modules/cbrt (configure.ac): Likewise.
6259         * modules/copysign (configure.ac): Likewise.
6260         * modules/cos (configure.ac): Likewise.
6261         * modules/cosh (configure.ac): Likewise.
6262         * modules/erf (configure.ac): Likewise.
6263         * modules/erfc (configure.ac): Likewise.
6264         * modules/exp (configure.ac): Likewise.
6265         * modules/fabs (configure.ac): Likewise.
6266         * modules/fmod (configure.ac): Likewise.
6267         * modules/hypot (configure.ac): Likewise.
6268         * modules/j0 (configure.ac): Likewise.
6269         * modules/j1 (configure.ac): Likewise.
6270         * modules/jn (configure.ac): Likewise.
6271         * modules/ldexp (configure.ac): Likewise.
6272         * modules/lgamma (configure.ac): Likewise.
6273         * modules/log (configure.ac): Likewise.
6274         * modules/log10 (configure.ac): Likewise.
6275         * modules/log1p (configure.ac): Likewise.
6276         * modules/logb (configure.ac): Likewise.
6277         * modules/modf (configure.ac): Likewise.
6278         * modules/nextafter (configure.ac): Likewise.
6279         * modules/pow (configure.ac): Likewise.
6280         * modules/remainder (configure.ac): Likewise.
6281         * modules/rint (configure.ac): Likewise.
6282         * modules/sin (configure.ac): Likewise.
6283         * modules/sinh (configure.ac): Likewise.
6284         * modules/tan (configure.ac): Likewise.
6285         * modules/tanh (configure.ac): Likewise.
6286         * modules/y0 (configure.ac): Likewise.
6287         * modules/y1 (configure.ac): Likewise.
6288         * modules/yn (configure.ac): Likewise.
6289
6290 2010-01-24  Bruno Haible  <bruno@clisp.org>
6291
6292         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
6293         * tests/test-acosl.c (x): New variable.
6294         (main): Store argument in x and fetch it from x.
6295         * tests/test-asinl.c (x): New variable.
6296         (main): Store argument in x and fetch it from x.
6297         * tests/test-atanl.c (x): New variable.
6298         (main): Store argument in x and fetch it from x.
6299         * tests/test-cosl.c (x): New variable.
6300         (main): Store argument in x and fetch it from x.
6301         * tests/test-expl.c (x): New variable.
6302         (main): Store argument in x and fetch it from x.
6303         * tests/test-logl.c (x): New variable.
6304         (main): Store argument in x and fetch it from x.
6305         * tests/test-sinl.c (x): New variable.
6306         (main): Store argument in x and fetch it from x.
6307         * tests/test-sqrtl.c (x): New variable.
6308         (main): Store argument in x and fetch it from x.
6309         * tests/test-tanl.c (x): New variable.
6310         (main): Store argument in x and fetch it from x.
6311
6312 2010-01-24  Bruno Haible  <bruno@clisp.org>
6313
6314         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
6315         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
6316         assignments to the initial TESTS_ENVIRONMENT.
6317         * doc/gnulib.texi (Unit test modules): Document it.
6318         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
6319         TESTS_ENVIRONMENT.
6320         * modules/btowc-tests (Makefile.am): Likewise.
6321         * modules/c-stack-tests (Makefile.am): Likewise.
6322         * modules/c-strcase-tests (Makefile.am): Likewise.
6323         * modules/copy-file-tests (Makefile.am): Likewise.
6324         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
6325         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
6326         * modules/mbrtowc-tests (Makefile.am): Likewise.
6327         * modules/mbscasecmp-tests (Makefile.am): Likewise.
6328         * modules/mbscasestr-tests (Makefile.am): Likewise.
6329         * modules/mbschr-tests (Makefile.am): Likewise.
6330         * modules/mbscspn-tests (Makefile.am): Likewise.
6331         * modules/mbsinit-tests (Makefile.am): Likewise.
6332         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
6333         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
6334         * modules/mbspbrk-tests (Makefile.am): Likewise.
6335         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
6336         * modules/mbsrchr-tests (Makefile.am): Likewise.
6337         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
6338         * modules/mbsspn-tests (Makefile.am): Likewise.
6339         * modules/mbsstr-tests (Makefile.am): Likewise.
6340         * modules/nl_langinfo-tests (Makefile.am): Likewise.
6341         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
6342         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
6343         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
6344         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
6345         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
6346         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
6347         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
6348         * modules/wcrtomb-tests (Makefile.am): Likewise.
6349         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
6350         * modules/wcsrtombs-tests (Makefile.am): Likewise.
6351         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
6352         assignments from TESTS_ENVIRONMENT.
6353         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
6354         augmentation.
6355         * modules/argp-version-etc-tests (Makefile.am): Likewise.
6356         * modules/atexit-tests (Makefile.am): Likewise.
6357         * modules/binary-io-tests (Makefile.am): Likewise.
6358         * modules/closein-tests (Makefile.am): Likewise.
6359         * modules/dprintf-posix-tests (Makefile.am): Likewise.
6360         * modules/exclude-tests (Makefile.am): Likewise.
6361         * modules/fflush-tests (Makefile.am): Likewise.
6362         * modules/fpending-tests (Makefile.am): Likewise.
6363         * modules/fprintf-posix-tests (Makefile.am): Likewise.
6364         * modules/freadahead-tests (Makefile.am): Likewise.
6365         * modules/freadptr-tests (Makefile.am): Likewise.
6366         * modules/freadseek-tests (Makefile.am): Likewise.
6367         * modules/fseek-tests (Makefile.am): Likewise.
6368         * modules/fseeko-tests (Makefile.am): Likewise.
6369         * modules/ftell-tests (Makefile.am): Likewise.
6370         * modules/ftello-tests (Makefile.am): Likewise.
6371         * modules/idpriv-drop-tests (Makefile.am): Likewise.
6372         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
6373         * modules/lseek-tests (Makefile.am): Likewise.
6374         * modules/parse-duration-tests (Makefile.am): Likewise.
6375         * modules/perror-tests (Makefile.am): Likewise.
6376         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
6377         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
6378         * modules/pipe-tests (Makefile.am): Likewise.
6379         * modules/pread-tests (Makefile.am): Likewise.
6380         * modules/printf-posix-tests (Makefile.am): Likewise.
6381         * modules/select-tests (Makefile.am): Likewise.
6382         * modules/sigpipe-tests (Makefile.am): Likewise.
6383         * modules/tsearch-tests (Makefile.am): Likewise.
6384         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
6385         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
6386         * modules/uniname/uniname-tests (Makefile.am): Likewise.
6387         * modules/uniwidth/width-tests (Makefile.am): Likewise.
6388         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
6389         * modules/version-etc-tests (Makefile.am): Likewise.
6390         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
6391         * modules/vprintf-posix-tests (Makefile.am): Likewise.
6392         * modules/xalloc-die-tests (Makefile.am): Likewise.
6393         * modules/xprintf-posix-tests (Makefile.am): Likewise.
6394         * modules/xstrtoimax-tests (Makefile.am): Likewise.
6395         * modules/xstrtol-tests (Makefile.am): Likewise.
6396         * modules/xstrtoumax-tests (Makefile.am): Likewise.
6397         * modules/yesno-tests (Makefile.am): Likewise.
6398         Suggested by Jim Meyering.
6399
6400 2010-01-24  Bruno Haible  <bruno@clisp.org>
6401
6402         More documentation.
6403         * doc/gnulib.texi (Writing modules): New chapter.
6404         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
6405         the new chapter.
6406
6407 2010-01-24  Jim Meyering  <meyering@redhat.com>
6408
6409         maint.mk: do not prepend "./" after filtering
6410         * top/maint.mk (_prepend_srcdir_prefix): New variable
6411         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
6412         "./" when $(srcdir) is ".".
6413
6414         define STREQ(a,b) consistently, removing useless parentheses
6415         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
6416         since the only risk is that "a" or "b" contains an unparenthesized
6417         comma, but if either did that, STREQ would have 3 or more arguments.
6418         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
6419         * lib/fts.c (STREQ): Remove unnecessary parentheses.
6420         * lib/hash-triple.c (STREQ): Likewise.
6421         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
6422         * lib/getugroups.c (STREQ): Likewise.
6423
6424 2010-01-23  Jim Meyering  <meyering@redhat.com>
6425
6426         maint.mk: fix syntax-check in a non-srcdir build directory
6427         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
6428         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
6429
6430 2010-01-22  Jim Meyering  <meyering@redhat.com>
6431
6432         userspec: add unit tests
6433         * tests/test-userspec.c: New file.
6434         * modules/userspec-tests: Likewise.
6435
6436 2010-01-21  Jim Meyering  <meyering@redhat.com>
6437
6438         maint.mk: handle source file names containing "." robustly
6439         * top/maint.mk (_dot_escaped_srcdir): Define.
6440         (VC_LIST): Use it in LHS of sed substitution.
6441
6442 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
6443
6444         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
6445         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
6446         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
6447         from a non-srcdir build.
6448
6449 2010-01-20  Eric Blake  <ebb9@byu.net>
6450
6451         warn-on-use: use instead of link-warning
6452         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
6453         * modules/unistd (Depends-on, Makefile.am): Likewise.
6454         * modules/arpa_inet (Depends-on): Replace link-warning with
6455         warn-on-use.
6456         (Makefile.am): Update rules accordingly.
6457         * modules/ctype (Depends-on, Makefile.am): Likewise.
6458         * modules/dirent (Depends-on, Makefile.am): Likewise.
6459         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
6460         * modules/inttypes (Depends-on, Makefile.am): Likewise.
6461         * modules/langinfo (Depends-on, Makefile.am): Likewise.
6462         * modules/locale (Depends-on, Makefile.am): Likewise.
6463         * modules/math (Depends-on, Makefile.am): Likewise.
6464         * modules/search (Depends-on, Makefile.am): Likewise.
6465         * modules/signal (Depends-on, Makefile.am): Likewise.
6466         * modules/spawn (Depends-on, Makefile.am): Likewise.
6467         * modules/stdlib (Depends-on, Makefile.am): Likewise.
6468         * modules/string (Depends-on, Makefile.am): Likewise.
6469         * modules/strings (Depends-on, Makefile.am): Likewise.
6470         * modules/sys_file (Depends-on, Makefile.am): Likewise.
6471         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
6472         * modules/sys_select (Depends-on, Makefile.am): Likewise.
6473         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
6474         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
6475         * modules/sys_times (Depends-on, Makefile.am): Likewise.
6476         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
6477         * modules/wchar (Depends-on, Makefile.am): Likewise.
6478         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
6479         should be poisoned.
6480         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
6481         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
6482         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
6483         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
6484         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
6485         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
6486         * m4/math_h.m4 (gl_MATH_H): Likewise.
6487         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
6488         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
6489         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
6490         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
6491         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
6492         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
6493         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
6494         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
6495         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
6496         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
6497         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
6498         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
6499         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
6500         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
6501         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
6502         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
6503         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
6504         GL_LINK_WARNING.
6505         * lib/ctype.in.h: Likewise.
6506         * lib/dirent.in.h: Likewise.
6507         * lib/fcntl.in.h: Likewise.
6508         * lib/inttypes.in.h: Likewise.
6509         * lib/langinfo.in.h: Likewise.
6510         * lib/locale.in.h: Likewise.
6511         * lib/math.in.h: Likewise.
6512         * lib/search.in.h: Likewise.
6513         * lib/signal.in.h: Likewise.
6514         * lib/spawn.in.h: Likewise.
6515         * lib/stdio.in.h: Likewise.
6516         * lib/stdlib.in.h: Likewise.
6517         * lib/string.in.h: Likewise.
6518         * lib/strings.in.h: Likewise.
6519         * lib/sys_file.in.h: Likewise.
6520         * lib/sys_ioctl.in.h: Likewise.
6521         * lib/sys_select.in.h: Likewise.
6522         * lib/sys_socket.in.h: Likewise.
6523         * lib/sys_stat.in.h: Likewise.
6524         * lib/sys_times.in.h: Likewise.
6525         * lib/sys_utsname.in.h: Likewise.
6526         * lib/unistd.in.h: Likewise.
6527         * lib/wchar.in.h: Likewise.
6528
6529 2010-01-20  Bruno Haible  <bruno@clisp.org>
6530
6531         Avoid duplicate -lm.
6532         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
6533         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
6534         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
6535         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
6536         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
6537         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
6538         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
6539         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
6540         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
6541         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
6542         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
6543         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
6544         Reported by Paolo Bonzini.
6545
6546 2010-01-19  Bruno Haible  <bruno@clisp.org>
6547
6548         langinfo, nl_langinfo: Relicense under LGPLv2+.
6549         * modules/langinfo (License): Change to LGPLv2+.
6550         * modules/nl_langinfo (License): Likewise.
6551         Patch by David Lutterkort <lutter@redhat.com>.
6552
6553 2010-01-19  Bruno Haible  <bruno@clisp.org>
6554
6555         Avoid compilation error with cc on OSF/1 5.1.
6556         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
6557         statement, not before.
6558         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6559
6560 2010-01-18  Bruno Haible  <bruno@clisp.org>
6561
6562         Avoid a link error due to the __printf__ symbol.
6563         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
6564         and 2.6.x.
6565         (__format__, __printf__): Remove definitions.
6566         * lib/argp-fmtstream.h: Likewise.
6567         * lib/argp.h: Likewise.
6568         * lib/error.h: Likewise.
6569         * lib/vasnprintf.h: Likewise.
6570         * lib/xprintf.h: Likewise.
6571         * lib/xvasprintf.h: Likewise.
6572         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6573
6574 2010-01-18  Bruno Haible  <bruno@clisp.org>
6575
6576         Tests for module 'tanl'.
6577         * modules/tanl-tests: New file.
6578         * tests/test-tanl.c: New file.
6579
6580         Tests for module 'sqrtl'.
6581         * modules/sqrtl-tests: New file.
6582         * tests/test-sqrtl.c: New file.
6583
6584         Tests for module 'sinl'.
6585         * modules/sinl-tests: New file.
6586         * tests/test-sinl.c: New file.
6587
6588         Tests for module 'logl'.
6589         * modules/logl-tests: New file.
6590         * tests/test-logl.c: New file.
6591
6592         Tests for module 'expl'.
6593         * modules/expl-tests: New file.
6594         * tests/test-expl.c: New file.
6595
6596         Tests for module 'cosl'.
6597         * modules/cosl-tests: New file.
6598         * tests/test-cosl.c: New file.
6599
6600         Tests for module 'atanl'.
6601         * modules/atanl-tests: New file.
6602         * tests/test-atanl.c: New file.
6603
6604         Tests for module 'asinl'.
6605         * modules/asinl-tests: New file.
6606         * tests/test-asinl.c: New file.
6607
6608         Tests for module 'acosl'.
6609         * modules/acosl-tests: New file.
6610         * tests/test-acosl.c: New file.
6611
6612         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
6613         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
6614         tanl): Use the standard gnulib idiom.
6615         * lib/cosl.c: Don't include trigl.c and sincosl.c.
6616         * lib/sinl.c: Likewise.
6617         * lib/tanl.c: Don't include trigl.c.
6618         (kernel_tanl): Make static.
6619         * lib/sincosl.c: Include trigl.h first.
6620         * lib/trigl.c: Likewise.
6621         * m4/acosl.m4: New file.
6622         * m4/asinl.m4: New file.
6623         * m4/atanl.m4: New file.
6624         * m4/cosl.m4: New file.
6625         * m4/expl.m4: New file.
6626         * m4/logl.m4: New file.
6627         * m4/sinl.m4: New file.
6628         * m4/sqrtl.m4: New file.
6629         * m4/tanl.m4: New file.
6630         * m4/mathl.m4: Remove file.
6631         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
6632         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
6633         Don't initialize GNULIB_MATHL.
6634         * modules/acosl: New file.
6635         * modules/asinl: New file.
6636         * modules/atanl: New file.
6637         * modules/cosl: New file.
6638         * modules/expl: New file.
6639         * modules/logl: New file.
6640         * modules/sinl: New file.
6641         * modules/sqrtl: New file.
6642         * modules/tanl: New file.
6643         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
6644         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
6645         substitute GNULIB_MATHL.
6646         * modules/mathl: Rewritten.
6647         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
6648         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
6649         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
6650         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
6651         * doc/posix-functions/expl.texi: Mention the 'expl' module.
6652         * doc/posix-functions/logl.texi: Mention the 'logl' module.
6653         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
6654         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
6655         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
6656
6657 2010-01-18  Bruno Haible  <bruno@clisp.org>
6658
6659         sqrt: Make gl_FUNC_SQRT requirable.
6660         * m4/sqrt.m4: New file.
6661         * modules/sqrt (Files): Add it.
6662         (configure.ac): Invoke gl_FUNC_SQRT.
6663
6664 2010-01-18  Bruno Haible  <bruno@clisp.org>
6665
6666         New modules for common <math.h> functions.
6667         * m4/mathfunc.m4: New file.
6668         * modules/acos: New file.
6669         * modules/asin: New file.
6670         * modules/atan: New file.
6671         * modules/atan2: New file.
6672         * modules/cbrt: New file.
6673         * modules/copysign: New file.
6674         * modules/cos: New file.
6675         * modules/cosh: New file.
6676         * modules/erf: New file.
6677         * modules/erfc: New file.
6678         * modules/exp: New file.
6679         * modules/fabs: New file.
6680         * modules/fmod: New file.
6681         * modules/hypot: New file.
6682         * modules/j0: New file.
6683         * modules/j1: New file.
6684         * modules/jn: New file.
6685         * modules/ldexp: New file.
6686         * modules/lgamma: New file.
6687         * modules/log: New file.
6688         * modules/log10: New file.
6689         * modules/log1p: New file.
6690         * modules/logb: New file.
6691         * modules/modf: New file.
6692         * modules/nextafter: New file.
6693         * modules/pow: New file.
6694         * modules/remainder: New file.
6695         * modules/rint: New file.
6696         * modules/sin: New file.
6697         * modules/sinh: New file.
6698         * modules/sqrt: New file.
6699         * modules/tan: New file.
6700         * modules/tanh: New file.
6701         * modules/y0: New file.
6702         * modules/y1: New file.
6703         * modules/yn: New file.
6704         * doc/posix-functions/acos.texi: Mention the 'acos' module.
6705         * doc/posix-functions/asin.texi: Mention the 'asin' module.
6706         * doc/posix-functions/atan.texi: Mention the 'atan' module.
6707         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
6708         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
6709         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
6710         * doc/posix-functions/cos.texi: Mention the 'cos' module.
6711         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
6712         * doc/posix-functions/erf.texi: Mention the 'erf' module.
6713         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
6714         * doc/posix-functions/exp.texi: Mention the 'exp' module.
6715         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
6716         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
6717         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
6718         * doc/posix-functions/j0.texi: Mention the 'j0' module.
6719         * doc/posix-functions/j1.texi: Mention the 'j1' module.
6720         * doc/posix-functions/jn.texi: Mention the 'jn' module.
6721         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
6722         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
6723         * doc/posix-functions/log.texi: Mention the 'log' module.
6724         * doc/posix-functions/log10.texi: Mention the 'log10' module.
6725         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
6726         * doc/posix-functions/logb.texi: Mention the 'logb' module.
6727         * doc/posix-functions/modf.texi: Mention the 'modf' module.
6728         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
6729         * doc/posix-functions/pow.texi: Mention the 'pow' module.
6730         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
6731         * doc/posix-functions/rint.texi: Mention the 'rint' module.
6732         * doc/posix-functions/sin.texi: Mention the 'sin' module.
6733         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
6734         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
6735         * doc/posix-functions/tan.texi: Mention the 'tan' module.
6736         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
6737         * doc/posix-functions/y0.texi: Mention the 'y0' module.
6738         * doc/posix-functions/y1.texi: Mention the 'y1' module.
6739         * doc/posix-functions/yn.texi: Mention the 'yn' module.
6740
6741 2010-01-18  Jim Meyering  <meyering@redhat.com>
6742
6743         ignore-value: relax license to LGPLv2+
6744         * modules/ignore-value (License): Relax to LGPLv2+.
6745
6746         getdate: don't leak when TZ contains two or more '"'s
6747         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
6748         double quote in TZ after the first one.
6749
6750         readtokens: do not leak internal token_lengths buffer
6751         * lib/readtokens.c (readtokens): Free the local, lengths,
6752         when the supplied "token_lengths" parameter is NULL.
6753
6754 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6755
6756         Fix a couple of missing LIBTHREAD link failures on AIX.
6757         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
6758         $(LIBTHREAD).
6759         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
6760
6761         Link test-poll against INET_PTON_LIB.
6762         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
6763         for inet_pton on Solaris 10.
6764
6765 2010-01-17  Bruno Haible  <bruno@clisp.org>
6766
6767         unistdio/*-sprintf: Fix typo in module description.
6768         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
6769         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
6770         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
6771         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
6772         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
6773         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
6774         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
6775         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6776
6777 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6778
6779         gnulib-tool: fix filelist for AIX, HP-UX ksh.
6780         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
6781         variables in shell case patterns, for AIX and HP-UX ksh.
6782
6783         Split large sed scripts, for HP-UX sed.
6784         * modules/stdio: Split sed scripts around 50 sed commands,
6785         to avoid HP-UX limit of 99 commands, in the near future.
6786         * modules/string: Likewise.
6787         * modules/unistd: Likewise.
6788
6789         gnulib-tool: avoid writing in the current directory.
6790         * gnulib-tool (func_emit_lib_Makefile_am)
6791         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
6792         not in the current directory, so concurrent gnulib-tool
6793         instances do not interfere.
6794
6795 2010-01-16  Jim Meyering  <meyering@redhat.com>
6796
6797         doc: update users.txt
6798         * users.txt: Add grep.
6799         (diffutils, gzip): Update URLs.
6800
6801 2010-01-12  Bruno Haible  <bruno@clisp.org>
6802
6803         posix_spawn: Avoid test failure on Cygwin.
6804         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
6805         characters.
6806         Reported by Simon Josefsson.
6807
6808 2010-01-12  Bruno Haible  <bruno@clisp.org>
6809
6810         * tests/test-cond.c (main): When skipping the test, show the reason.
6811
6812 2010-01-12  Simon Josefsson  <simon@josefsson.org>
6813
6814         * lib/striconv.c (str_cd_iconv): Avoid if before free.
6815
6816 2010-01-12  Simon Josefsson  <simon@josefsson.org>
6817
6818         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
6819         VC_LIST_ALWAYS_EXCLUDE_REGEX.
6820
6821 2010-01-12  Eric Blake  <ebb9@byu.net>
6822
6823         build: guarantee AS_VAR_IF
6824         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
6825         (gl_AS_VAR_IF): Move...
6826         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
6827         Reported by Simon Josefsson.
6828
6829 2010-01-12  Simon Josefsson  <simon@josefsson.org>
6830
6831         * lib/stdio.in.h: Fix typo.
6832
6833 2010-01-12  Simon Josefsson  <simon@josefsson.org>
6834
6835         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
6836         libgpg-error.
6837
6838 2010-01-12  Simon Josefsson  <simon@josefsson.org>
6839
6840         * tests/test-xalloc-die.sh: Use $EXEEXT.
6841
6842 2010-01-12  Simon Josefsson  <simon@josefsson.org>
6843             Bruno Haible  <bruno@clisp.org>
6844
6845         getlogin, getlogin_r: Avoid test failure.
6846         * tests/test-getlogin.c: Include <stdio.h>.
6847         (main): Skip the test when the function fails because stdin is not a
6848         tty.
6849         * tests/test-getlogin_r.c: Include <stdio.h>.
6850         (main): Skip the test when the function fails because stdin is not a
6851         tty.
6852
6853 2010-01-11  Eric Blake  <ebb9@byu.net>
6854
6855         tests: avoid more large file warnings
6856         * tests/test-fflush.c: Avoid warning about ftell use.
6857         * tests/test-fseek.c: Avoid warning about fseek use.
6858
6859 2010-01-10  Bruno Haible  <bruno@clisp.org>
6860
6861         nproc: Work better on Linux when /proc and /sys are not mounted.
6862         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
6863         as lower bound when, on glibc/Linux systems,
6864         sysconf (_SC_NPROCESSORS_CONF) returns 1.
6865         Suggested by Pádraig Brady <P@draigbrady.com>.
6866         Reported by Dmitry V. Levin <ldv@altlinux.org>.
6867
6868         nproc: Refactor.
6869         * lib/nproc.c (num_processors_via_affinity_mask): New function,
6870         extracted from num_processors.
6871         (num_processors): Call it.
6872
6873 2010-01-11  Jim Meyering  <meyering@redhat.com>
6874
6875         utimecmp: avoid new warning from upcoming gcc-4.5.0
6876         * lib/utimecmp.c (BILLION): Define using #define rather than an
6877         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
6878
6879 2010-01-11  Eric Blake  <ebb9@byu.net>
6880
6881         math: add portability warnings for classification macros
6882         * modules/math (Depends-on): Add warn-on-use.
6883         (Makefile.am): Provide new substitutions.
6884         * m4/math_h.m4 (gl_MATH_H): Require inline.
6885         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
6886         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
6887         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
6888         implement warnings.
6889
6890         unistd: warn on use of environ without module
6891         * modules/unistd (Depends-on): Add warn-on-use.
6892         (Makefile.am): Provide new substitutions.
6893         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
6894         * lib/unistd.in.h (environ): Wrap with a warning helper function.
6895
6896         stdio: warn on suspicious uses
6897         * modules/stdio (Depends-on): Add warn-on-use.
6898         (Makefile.am): Provide new substitutions.
6899         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
6900         fseeko.
6901         * lib/stdio.in.h (gets): Always warn on use.
6902         (fseek, ftell): Adjust when warnings are issued, and honor
6903         _GL_NO_LARGE_FILES as a way to silence the warning.
6904         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
6905         any warning about large file offsets.
6906         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
6907         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
6908         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
6909         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
6910         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
6911         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
6912         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
6913         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
6914
6915         warn-on-use: new module
6916         * modules/warn-on-use: New file.
6917         * build-aux/warn-on-use.h: Likewise.
6918         * m4/warn-on-use.m4: Likewise.
6919         * MODULES.html.sh (Support for building): Mention it.
6920
6921 2010-01-10  Bruno Haible  <bruno@clisp.org>
6922
6923         Tests for module 'unistr/u32-strdup'.
6924         * modules/unistr/u32-strdup-tests: New file.
6925         * tests/unistr/test-u32-strdup.c: New file.
6926
6927         Tests for module 'unistr/u16-strdup'.
6928         * modules/unistr/u16-strdup-tests: New file.
6929         * tests/unistr/test-u16-strdup.c: New file.
6930
6931         Tests for module 'unistr/u8-strdup'.
6932         * modules/unistr/u8-strdup-tests: New file.
6933         * tests/unistr/test-u8-strdup.c: New file.
6934         * tests/unistr/test-strdup.h: New file.
6935
6936         Tests for module 'unistr/u32-strncmp'.
6937         * modules/unistr/u32-strncmp-tests: New file.
6938         * tests/unistr/test-u32-strncmp.c: New file.
6939
6940         Tests for module 'unistr/u16-strncmp'.
6941         * modules/unistr/u16-strncmp-tests: New file.
6942         * tests/unistr/test-u16-strncmp.c: New file.
6943
6944         Tests for module 'unistr/u8-strncmp'.
6945         * modules/unistr/u8-strncmp-tests: New file.
6946         * tests/unistr/test-u8-strncmp.c: New file.
6947         * tests/unistr/test-strncmp.h: New file.
6948
6949         Tests for module 'unistr/u32-strcoll'.
6950         * modules/unistr/u32-strcoll-tests: New file.
6951         * tests/unistr/test-u32-strcoll.c: New file.
6952
6953         Tests for module 'unistr/u16-strcoll'.
6954         * modules/unistr/u16-strcoll-tests: New file.
6955         * tests/unistr/test-u16-strcoll.c: New file.
6956
6957         Tests for module 'unistr/u8-strcoll'.
6958         * modules/unistr/u8-strcoll-tests: New file.
6959         * tests/unistr/test-u8-strcoll.c: New file.
6960
6961         Tests for module 'unistr/u32-strcmp'.
6962         * modules/unistr/u32-strcmp-tests: New file.
6963         * tests/unistr/test-u32-strcmp.c: New file.
6964         * tests/unistr/test-u32-strcmp.h: New file.
6965
6966         Tests for module 'unistr/u16-strcmp'.
6967         * modules/unistr/u16-strcmp-tests: New file.
6968         * tests/unistr/test-u16-strcmp.c: New file.
6969         * tests/unistr/test-u16-strcmp.h: New file.
6970
6971         Tests for module 'unistr/u8-strcmp'.
6972         * modules/unistr/u8-strcmp-tests: New file.
6973         * tests/unistr/test-u8-strcmp.c: New file.
6974         * tests/unistr/test-u8-strcmp.h: New file.
6975         * tests/unistr/test-strcmp.h: New file.
6976
6977         Tests for module 'unistr/u32-strncat'.
6978         * modules/unistr/u32-strncat-tests: New file.
6979         * tests/unistr/test-u32-strncat.c: New file.
6980
6981         Tests for module 'unistr/u16-strncat'.
6982         * modules/unistr/u16-strncat-tests: New file.
6983         * tests/unistr/test-u16-strncat.c: New file.
6984
6985         Tests for module 'unistr/u8-strncat'.
6986         * modules/unistr/u8-strncat-tests: New file.
6987         * tests/unistr/test-u8-strncat.c: New file.
6988         * tests/unistr/test-strncat.h: New file.
6989
6990         Tests for module 'unistr/u32-strcat'.
6991         * modules/unistr/u32-strcat-tests: New file.
6992         * tests/unistr/test-u32-strcat.c: New file.
6993
6994         Tests for module 'unistr/u16-strcat'.
6995         * modules/unistr/u16-strcat-tests: New file.
6996         * tests/unistr/test-u16-strcat.c: New file.
6997
6998         Tests for module 'unistr/u8-strcat'.
6999         * modules/unistr/u8-strcat-tests: New file.
7000         * tests/unistr/test-u8-strcat.c: New file.
7001         * tests/unistr/test-strcat.h: New file.
7002
7003         Tests for module 'unistr/u32-stpncpy'.
7004         * modules/unistr/u32-stpncpy-tests: New file.
7005         * tests/unistr/test-u32-stpncpy.c: New file.
7006
7007         Tests for module 'unistr/u16-stpncpy'.
7008         * modules/unistr/u16-stpncpy-tests: New file.
7009         * tests/unistr/test-u16-stpncpy.c: New file.
7010
7011         Tests for module 'unistr/u8-stpncpy'.
7012         * modules/unistr/u8-stpncpy-tests: New file.
7013         * tests/unistr/test-u8-stpncpy.c: New file.
7014         * tests/unistr/test-stpncpy.h: New file.
7015
7016         Tests for module 'unistr/u32-strncpy'.
7017         * modules/unistr/u32-strncpy-tests: New file.
7018         * tests/unistr/test-u32-strncpy.c: New file.
7019
7020         Tests for module 'unistr/u16-strncpy'.
7021         * modules/unistr/u16-strncpy-tests: New file.
7022         * tests/unistr/test-u16-strncpy.c: New file.
7023
7024         Tests for module 'unistr/u8-strncpy'.
7025         * modules/unistr/u8-strncpy-tests: New file.
7026         * tests/unistr/test-u8-strncpy.c: New file.
7027         * tests/unistr/test-strncpy.h: New file.
7028
7029         Tests for module 'unistr/u32-stpcpy'.
7030         * modules/unistr/u32-stpcpy-tests: New file.
7031         * tests/unistr/test-u32-stpcpy.c: New file.
7032
7033         Tests for module 'unistr/u16-stpcpy'.
7034         * modules/unistr/u16-stpcpy-tests: New file.
7035         * tests/unistr/test-u16-stpcpy.c: New file.
7036
7037         Tests for module 'unistr/u8-stpcpy'.
7038         * modules/unistr/u8-stpcpy-tests: New file.
7039         * tests/unistr/test-u8-stpcpy.c: New file.
7040         * tests/unistr/test-stpcpy.h: New file.
7041
7042         Tests for module 'unistr/u32-strcpy'.
7043         * modules/unistr/u32-strcpy-tests: New file.
7044         * tests/unistr/test-u32-strcpy.c: New file.
7045
7046         Tests for module 'unistr/u16-strcpy'.
7047         * modules/unistr/u16-strcpy-tests: New file.
7048         * tests/unistr/test-u16-strcpy.c: New file.
7049
7050         Tests for module 'unistr/u8-strcpy'.
7051         * modules/unistr/u8-strcpy-tests: New file.
7052         * tests/unistr/test-u8-strcpy.c: New file.
7053         * tests/unistr/test-strcpy.h: New file.
7054
7055         Tests for module 'unistr/u32-strnlen'.
7056         * modules/unistr/u32-strnlen-tests: New file.
7057         * tests/unistr/test-u32-strnlen.c: New file.
7058
7059         Tests for module 'unistr/u16-strnlen'.
7060         * modules/unistr/u16-strnlen-tests: New file.
7061         * tests/unistr/test-u16-strnlen.c: New file.
7062
7063         Tests for module 'unistr/u8-strnlen'.
7064         * modules/unistr/u8-strnlen-tests: New file.
7065         * tests/unistr/test-u8-strnlen.c: New file.
7066         * tests/unistr/test-strnlen.h: New file.
7067
7068         Tests for module 'unistr/u32-strlen'.
7069         * modules/unistr/u32-strlen-tests: New file.
7070         * tests/unistr/test-u32-strlen.c: New file.
7071
7072         Tests for module 'unistr/u16-strlen'.
7073         * modules/unistr/u16-strlen-tests: New file.
7074         * tests/unistr/test-u16-strlen.c: New file.
7075
7076         Tests for module 'unistr/u8-strlen'.
7077         * modules/unistr/u8-strlen-tests: New file.
7078         * tests/unistr/test-u8-strlen.c: New file.
7079
7080         Tests for module 'unistr/u32-prev'.
7081         * modules/unistr/u32-prev-tests: New file.
7082         * tests/unistr/test-u32-prev.c: New file.
7083
7084         Tests for module 'unistr/u16-prev'.
7085         * modules/unistr/u16-prev-tests: New file.
7086         * tests/unistr/test-u16-prev.c: New file.
7087
7088         Tests for module 'unistr/u8-prev'.
7089         * modules/unistr/u8-prev-tests: New file.
7090         * tests/unistr/test-u8-prev.c: New file.
7091
7092         Tests for module 'unistr/u32-next'.
7093         * modules/unistr/u32-next-tests: New file.
7094         * tests/unistr/test-u32-next.c: New file.
7095
7096         Tests for module 'unistr/u16-next'.
7097         * modules/unistr/u16-next-tests: New file.
7098         * tests/unistr/test-u16-next.c: New file.
7099
7100         Tests for module 'unistr/u8-next'.
7101         * modules/unistr/u8-next-tests: New file.
7102         * tests/unistr/test-u8-next.c: New file.
7103
7104         Tests for module 'unistr/u32-strmbtouc'.
7105         * modules/unistr/u32-strmbtouc-tests: New file.
7106         * tests/unistr/test-u32-strmbtouc.c: New file.
7107
7108         Tests for module 'unistr/u16-strmbtouc'.
7109         * modules/unistr/u16-strmbtouc-tests: New file.
7110         * tests/unistr/test-u16-strmbtouc.c: New file.
7111
7112         Tests for module 'unistr/u8-strmbtouc'.
7113         * modules/unistr/u8-strmbtouc-tests: New file.
7114         * tests/unistr/test-u8-strmbtouc.c: New file.
7115
7116         Tests for module 'unistr/u32-strmblen'.
7117         * modules/unistr/u32-strmblen-tests: New file.
7118         * tests/unistr/test-u32-strmblen.c: New file.
7119
7120         Tests for module 'unistr/u16-strmblen'.
7121         * modules/unistr/u16-strmblen-tests: New file.
7122         * tests/unistr/test-u16-strmblen.c: New file.
7123
7124         Tests for module 'unistr/u8-strmblen'.
7125         * modules/unistr/u8-strmblen-tests: New file.
7126         * tests/unistr/test-u8-strmblen.c: New file.
7127
7128         Tests for module 'unistr/u32-cpy-alloc'.
7129         * modules/unistr/u32-cpy-alloc-tests: New file.
7130         * tests/unistr/test-u32-cpy-alloc.c: New file.
7131
7132         Tests for module 'unistr/u16-cpy-alloc'.
7133         * modules/unistr/u16-cpy-alloc-tests: New file.
7134         * tests/unistr/test-u16-cpy-alloc.c: New file.
7135
7136         Tests for module 'unistr/u8-cpy-alloc'.
7137         * modules/unistr/u8-cpy-alloc-tests: New file.
7138         * tests/unistr/test-u8-cpy-alloc.c: New file.
7139         * tests/unistr/test-cpy-alloc.h: New file.
7140
7141         Tests for module 'unistr/u32-mbsnlen'.
7142         * modules/unistr/u32-mbsnlen-tests: New file.
7143         * tests/unistr/test-u32-mbsnlen.c: New file.
7144
7145         Tests for module 'unistr/u16-mbsnlen'.
7146         * modules/unistr/u16-mbsnlen-tests: New file.
7147         * tests/unistr/test-u16-mbsnlen.c: New file.
7148
7149         Tests for module 'unistr/u8-mbsnlen'.
7150         * modules/unistr/u8-mbsnlen-tests: New file.
7151         * tests/unistr/test-u8-mbsnlen.c: New file.
7152
7153         Tests for module 'unistr/u32-chr'.
7154         * modules/unistr/u32-chr-tests: New file.
7155         * tests/unistr/test-u32-chr.c: New file.
7156
7157         Tests for module 'unistr/u16-chr'.
7158         * modules/unistr/u16-chr-tests: New file.
7159         * tests/unistr/test-u16-chr.c: New file.
7160
7161         Tests for module 'unistr/u8-chr'.
7162         * modules/unistr/u8-chr-tests: New file.
7163         * tests/unistr/test-u8-chr.c: New file.
7164         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
7165
7166         Tests for module 'unistr/u32-cmp2'.
7167         * modules/unistr/u32-cmp2-tests: New file.
7168         * tests/unistr/test-u32-cmp2.c: New file.
7169
7170         Tests for module 'unistr/u16-cmp2'.
7171         * modules/unistr/u16-cmp2-tests: New file.
7172         * tests/unistr/test-u16-cmp2.c: New file.
7173
7174         Tests for module 'unistr/u8-cmp2'.
7175         * modules/unistr/u8-cmp2-tests: New file.
7176         * tests/unistr/test-u8-cmp2.c: New file.
7177         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
7178
7179         Tests for module 'unistr/u32-cmp'.
7180         * modules/unistr/u32-cmp-tests: New file.
7181         * tests/unistr/test-u32-cmp.c: New file.
7182
7183         Tests for module 'unistr/u16-cmp'.
7184         * modules/unistr/u16-cmp-tests: New file.
7185         * tests/unistr/test-u16-cmp.c: New file.
7186
7187         Tests for module 'unistr/u8-cmp'.
7188         * modules/unistr/u8-cmp-tests: New file.
7189         * tests/unistr/test-u8-cmp.c: New file.
7190         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
7191
7192         Tests for module 'unistr/u32-set'.
7193         * modules/unistr/u32-set-tests: New file.
7194         * tests/unistr/test-u32-set.c: New file.
7195
7196         Tests for module 'unistr/u16-set'.
7197         * modules/unistr/u16-set-tests: New file.
7198         * tests/unistr/test-u16-set.c: New file.
7199
7200         Tests for module 'unistr/u8-set'.
7201         * modules/unistr/u8-set-tests: New file.
7202         * tests/unistr/test-u8-set.c: New file.
7203         * tests/unistr/test-set.h: New file.
7204
7205         Tests for module 'unistr/u32-move'.
7206         * modules/unistr/u32-move-tests: New file.
7207         * tests/unistr/test-u32-move.c: New file.
7208
7209         Tests for module 'unistr/u16-move'.
7210         * modules/unistr/u16-move-tests: New file.
7211         * tests/unistr/test-u16-move.c: New file.
7212
7213         Tests for module 'unistr/u8-move'.
7214         * modules/unistr/u8-move-tests: New file.
7215         * tests/unistr/test-u8-move.c: New file.
7216         * tests/unistr/test-move.h: New file.
7217
7218         Tests for module 'unistr/u32-cpy'.
7219         * modules/unistr/u32-cpy-tests: New file.
7220         * tests/unistr/test-u32-cpy.c: New file.
7221
7222         Tests for module 'unistr/u16-cpy'.
7223         * modules/unistr/u16-cpy-tests: New file.
7224         * tests/unistr/test-u16-cpy.c: New file.
7225
7226         Tests for module 'unistr/u8-cpy'.
7227         * modules/unistr/u8-cpy-tests: New file.
7228         * tests/unistr/test-u8-cpy.c: New file.
7229         * tests/unistr/test-cpy.h: New file.
7230
7231 2010-01-09  Bruno Haible  <bruno@clisp.org>
7232
7233         Tests for module 'unistr/u32-uctomb'.
7234         * modules/unistr/u32-uctomb-tests: New file.
7235         * tests/unistr/test-u32-uctomb.c: New file.
7236
7237         Tests for module 'unistr/u16-uctomb'.
7238         * modules/unistr/u16-uctomb-tests: New file.
7239         * tests/unistr/test-u16-uctomb.c: New file.
7240
7241         Tests for module 'unistr/u8-uctomb'.
7242         * modules/unistr/u8-uctomb-tests: New file.
7243         * tests/unistr/test-u8-uctomb.c: New file.
7244
7245         Tests for module 'unistr/u32-mbtoucr'.
7246         * modules/unistr/u32-mbtoucr-tests: New file.
7247         * tests/unistr/test-u32-mbtoucr.c: New file.
7248
7249         Tests for module 'unistr/u16-mbtoucr'.
7250         * modules/unistr/u16-mbtoucr-tests: New file.
7251         * tests/unistr/test-u16-mbtoucr.c: New file.
7252
7253         Tests for module 'unistr/u8-mbtoucr'.
7254         * modules/unistr/u8-mbtoucr-tests: New file.
7255         * tests/unistr/test-u8-mbtoucr.c: New file.
7256
7257         Tests for module 'unistr/u32-mbtouc'.
7258         * modules/unistr/u32-mbtouc-tests: New file.
7259         * tests/unistr/test-u32-mbtouc.c: New file.
7260
7261         Tests for module 'unistr/u16-mbtouc'.
7262         * modules/unistr/u16-mbtouc-tests: New file.
7263         * tests/unistr/test-u16-mbtouc.c: New file.
7264
7265         Tests for module 'unistr/u8-mbtouc'.
7266         * modules/unistr/u8-mbtouc-tests: New file.
7267         * tests/unistr/test-u8-mbtouc.c: New file.
7268
7269         Tests for module 'unistr/u32-mbtouc-unsafe'.
7270         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
7271         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
7272         * tests/unistr/test-u32-mbtouc.h: New file.
7273
7274         Tests for module 'unistr/u16-mbtouc-unsafe'.
7275         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
7276         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
7277         * tests/unistr/test-u16-mbtouc.h: New file.
7278
7279         Tests for module 'unistr/u8-mbtouc-unsafe'.
7280         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
7281         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
7282         * tests/unistr/test-u8-mbtouc.h: New file.
7283
7284         Tests for module 'unistr/u32-mblen'.
7285         * modules/unistr/u32-mblen-tests: New file.
7286         * tests/unistr/test-u32-mblen.c: New file.
7287
7288         Tests for module 'unistr/u16-mblen'.
7289         * modules/unistr/u16-mblen-tests: New file.
7290         * tests/unistr/test-u16-mblen.c: New file.
7291
7292         Tests for module 'unistr/u8-mblen'.
7293         * modules/unistr/u8-mblen-tests: New file.
7294         * tests/unistr/test-u8-mblen.c: New file.
7295
7296         Tests for module 'unistr/u32-to-u16'.
7297         * modules/unistr/u32-to-u16-tests: New file.
7298         * tests/unistr/test-u32-to-u16.c: New file.
7299
7300         Tests for module 'unistr/u32-to-u8'.
7301         * modules/unistr/u32-to-u8-tests: New file.
7302         * tests/unistr/test-u32-to-u8.c: New file.
7303
7304         Tests for module 'unistr/u16-to-u32'.
7305         * modules/unistr/u16-to-u32-tests: New file.
7306         * tests/unistr/test-u16-to-u32.c: New file.
7307
7308         Tests for module 'unistr/u16-to-u8'.
7309         * modules/unistr/u16-to-u8-tests: New file.
7310         * tests/unistr/test-u16-to-u8.c: New file.
7311
7312         Tests for module 'unistr/u8-to-u32'.
7313         * modules/unistr/u8-to-u32-tests: New file.
7314         * tests/unistr/test-u8-to-u32.c: New file.
7315
7316         Tests for module 'unistr/u8-to-u16'.
7317         * modules/unistr/u8-to-u16-tests: New file.
7318         * tests/unistr/test-u8-to-u16.c: New file.
7319
7320         Tests for module 'unistr/u32-check'.
7321         * modules/unistr/u32-check-tests: New file.
7322         * tests/unistr/test-u32-check.c: New file.
7323
7324         Tests for module 'unistr/u16-check'.
7325         * modules/unistr/u16-check-tests: New file.
7326         * tests/unistr/test-u16-check.c: New file.
7327
7328         Tests for module 'unistr/u8-check'.
7329         * modules/unistr/u8-check-tests: New file.
7330         * tests/unistr/test-u8-check.c: New file.
7331
7332         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
7333         (category_equals): New function.
7334         (main): Add more tests.
7335         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
7336
7337         * tests/unictype/test-bidi_byname.c (main): Add more tests.
7338
7339 2010-01-10  Bruno Haible  <bruno@clisp.org>
7340
7341         unistr/u*-strcoll: Try harder to distinguish different strings.
7342         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
7343         compare s1 and s2 to see if they are different.
7344
7345 2010-01-10  Bruno Haible  <bruno@clisp.org>
7346
7347         unistr/u*-stpncpy: Fix the return value.
7348         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
7349         description of the return value consistent with stpncpy in glibc.
7350         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
7351         written non-NUL unit.
7352
7353 2010-01-10  Bruno Haible  <bruno@clisp.org>
7354
7355         unistr/u*-next: Add missing dependencies.
7356         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
7357         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
7358         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
7359
7360 2010-01-10  Bruno Haible  <bruno@clisp.org>
7361
7362         unistr/u8-mbsnlen: Fix return value for incomplete character.
7363         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
7364         u8_mblen.
7365         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
7366         Remove unistr/u8-mblen.
7367         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
7368         u16_mblen.
7369         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
7370         Remove unistr/u16-mblen.
7371
7372 2010-01-10  Bruno Haible  <bruno@clisp.org>
7373
7374         wchar: Fix compilation error when <wchar.h> is used from coreutils.
7375         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
7376         Reported by Brian Gough <bjg@gnu.org> and
7377         Chris Clayton <chris2553@googlemail.com> via
7378         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
7379
7380 2010-01-09  Bruno Haible  <bruno@clisp.org>
7381
7382         unistr/u16-to-u32: Reject invalid input.
7383         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
7384         u16_mbtouc.
7385         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
7386         Remove unistr/u16-mbtouc.
7387
7388         unistr/u16-to-u8: Reject invalid input.
7389         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
7390         u16_mbtouc.
7391         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
7392         Remove unistr/u16-mbtouc.
7393
7394         unistr/u8-to-u32: Reject invalid input.
7395         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
7396         u8_mbtouc.
7397         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
7398         Remove unistr/u8-mbtouc.
7399
7400         unistr/u8-to-u16: Reject invalid input.
7401         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
7402         u8_mbtouc.
7403         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
7404         Remove unistr/u8-mbtouc.
7405
7406 2010-01-09  Bruno Haible  <bruno@clisp.org>
7407
7408         Tests for module 'getlogin'.
7409         * modules/getlogin-tests: New file.
7410         * tests/test-getlogin.c: New file.
7411
7412         New module 'getlogin'.
7413         * lib/unistd.in.h (getlogin): New declaration.
7414         * lib/getlogin.c: New file.
7415         * m4/getlogin.m4: New file.
7416         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
7417         HAVE_GETLOGIN.
7418         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
7419         HAVE_GETLOGIN.
7420         * modules/getlogin: New file.
7421         * doc/posix-functions/getlogin.texi: Mention the new module.
7422         Reported by John W. Eaton <jwe@gnu.org>.
7423
7424 2010-01-09  Bruno Haible  <bruno@clisp.org>
7425
7426         getlogin_r: Support for native Windows.
7427         * lib/getlogin_r.c: Include <windows.h>
7428         (getlogin_r): Implement for native Windows.
7429         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
7430         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
7431         via John W. Eaton <jwe@gnu.org>.
7432
7433 2010-01-09  Bruno Haible  <bruno@clisp.org>
7434
7435         getlogin_r: Small fixes.
7436         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
7437         succeeds.
7438         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
7439         before testing whether getlogin_r is declared. No need to set
7440         HAVE_DECL_GETLOGIN_R to 1.
7441         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
7442
7443 2010-01-09  Bruno Haible  <bruno@clisp.org>
7444
7445         * lib/unistd.in.h (getlogin_r): Add comment.
7446
7447 2010-01-09  Bruno Haible  <bruno@clisp.org>
7448
7449         Tests for module 'getlogin_r'.
7450         * modules/getlogin_r-tests: New file.
7451         * tests/test-getlogin_r.c: New file.
7452
7453 2010-01-09  Jim Meyering  <meyering@redhat.com>
7454
7455         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
7456         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
7457         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
7458
7459 2010-01-08  Simon Josefsson  <simon@josefsson.org>
7460
7461         * lib/dup2.c (rpl_dup2): Improve comment.
7462
7463 2010-01-08  Eric Blake  <ebb9@byu.net>
7464
7465         maint.mk: allow packages to add makefile @@ exceptions
7466         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
7467         (sc_makefile_check): Rename...
7468         (sc_makefile_at_at_check): ...to this, and use hook.
7469
7470         dup2: work around mingw bug
7471         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
7472         Reported by Simon Josefsson.
7473
7474 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
7475
7476         glob: Fix C++ compilation.
7477         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
7478         C++.
7479
7480 2010-01-07  Bruno Haible  <bruno@clisp.org>
7481
7482         Fix indentation of wctype.in.h, broken since 2007-01-06.
7483         * lib/wctype.in.h: Fix indentation of preprocessor directives.
7484
7485 2010-01-07  Bruno Haible  <bruno@clisp.org>
7486
7487         mbslen: Avoid collision with system function.
7488         * lib/string.in.h [MirBSD]: Include <wchar.h>.
7489         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
7490         * m4/mbslen.m4: New file.
7491         * modules/mbslen (Files): Add it.
7492         (configure.ac): Invoke gl_MBSLEN.
7493         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
7494         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
7495         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
7496         via Ian Beckwith <ianb@erislabs.net>.
7497
7498 2010-01-07  Bruno Haible  <bruno@clisp.org>
7499
7500         dirent: Document the last fix.
7501         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
7502
7503 2010-01-07  Bruno Haible  <bruno@clisp.org>
7504
7505         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
7506         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
7507         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
7508         va_list are defined.
7509         * doc/posix-headers/stdio.texi: Document the bug of missing types.
7510         Reported by Eric Blake.
7511
7512 2010-01-07  Bruno Haible  <bruno@clisp.org>
7513
7514         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
7515         * modules/xlist (Depends-on): Add 'list',
7516         * modules/xoset (Depends-on): Add 'oset'.
7517         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
7518
7519 2010-01-07  Bruno Haible  <bruno@clisp.org>
7520
7521         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
7522         * doc/posix-functions/strncasecmp.texi: Likewise.
7523
7524 2010-01-07  Bruno Haible  <bruno@clisp.org>
7525
7526         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
7527
7528 2010-01-07  John W. Eaton  <jwe@octave.org>
7529
7530         wctype: allow C++ use
7531         * lib/wctype.in.h: Add extern "C" block for C++.
7532
7533 2010-01-06  Eric Blake  <ebb9@byu.net>
7534
7535         maint.mk: detect incorrect GFDL usage
7536         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
7537
7538 2010-01-06  Jim Meyering  <meyering@redhat.com>
7539         and Eric Blake  <ebb9@byu.net>
7540
7541         maint.mk: ignore multi-line copyright in NEWS
7542         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
7543
7544 2010-01-06  Eric Blake  <ebb9@byu.net>
7545
7546         select: add missing dependency
7547         * modules/select-tests (Depends-on): Move sockets dependency...
7548         * modules/select (Depends-on): ...here.
7549         Reported by Ian Beckwith.
7550
7551         doc: regenerate INSTALL
7552         * doc/INSTALL: Reflect recent autoconf update.
7553         * doc/INSTALL.ISO: Likewise.
7554         * doc/INSTALL.UTF-8: Likewise.
7555
7556         pread: fix compilation on glibc
7557         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
7558         Reported by Ralf Wildenhues.
7559
7560         dirent: fix test failure
7561         * lib/dirent.in.h (includes): Guarantee ino_t.
7562         Reported by Ralf Wildenhues.
7563
7564 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
7565
7566         linkat, renameat: avoid bad free
7567         * lib/at-func2.c (at_func2): Fix typo.
7568         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
7569
7570 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7571
7572         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
7573         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
7574         to avoid failure of symlink test later.
7575
7576 2010-01-06  Eric Blake  <ebb9@byu.net>
7577
7578         stdio, unistd: guarantee ssize_t
7579         * lib/unistd.in.h (includes): Ensure that types required by POSIX
7580         2008 are exposed when needed.
7581         * lib/stdio.in.h (includes): Likewise.
7582         Reported by Ralf Wildenhues.
7583
7584 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
7585
7586         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
7587         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
7588         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
7589
7590 2010-01-06  Jim Meyering  <meyering@redhat.com>
7591
7592         readtokens: this module *does* require xalloc.h
7593         It uses only functions that were omitted by the old syntax-check rule.
7594         * lib/readtokens.c: Include "xalloc.h" once again.
7595         * modules/readtokens (Depends-on): Add xalloc.
7596         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
7597
7598 2010-01-05  Eric Blake  <ebb9@byu.net>
7599
7600         maint: support 'make announcement' from a VPATH build
7601         * top/maint.mk (announcement): Look for correct NEWS file.
7602
7603 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
7604
7605         utimens (fdutimens): ignore a negative FD, per contract
7606         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
7607         when we have a valid file descriptor.  Otherwise, using a brand
7608         new glibc (with just-patched futimens that now fails with EBADF)
7609         would cause this function to fail with ENOSYS.
7610         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
7611         See also http://bugzilla.redhat.com/552320.
7612
7613 2010-01-05  Eric Blake  <ebb9@byu.net>
7614
7615         strcase: document what it provides
7616         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
7617         gnulib module.
7618         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
7619         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
7620
7621 2010-01-05  Jim Meyering  <meyering@redhat.com>
7622
7623         maint: remove useless inclusions of "xalloc.h"
7624         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
7625         * lib/readtokens.c: Likewise.
7626         * lib/same.c: Likewise.
7627         * modules/getloadavg (Depends-on): Remove xalloc.
7628         * modules/readtokens: Likewise.
7629         * modules/same: Likewise.
7630
7631         maint.mk: include 4 more function names in alloca.h-checking regexp
7632         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
7633         regexp.  Before, we would give a false-positive (saying alloca.h
7634         is included unnecessarily) when the only uses involved omitted symbols.
7635
7636         xalloc.h: use consistent formatting
7637         * lib/xalloc.h: Move declarations to start in the first column.
7638
7639 2010-01-05  Eric Blake  <ebb9@byu.net>
7640
7641         mkdir: avoid xalloc
7642         * lib/mkdir.c (includes): Drop unused header.
7643         Reported by John W. Eaton.
7644
7645 2010-01-04  Jim Meyering  <meyering@redhat.com>
7646
7647         nl_langinfo: avoid configure-time syntax error
7648         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
7649         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
7650         the empty string.  Don't let that provoke a shell syntax error.
7651
7652         regcomp, regexec, fnmatch: avoid array bounds read error
7653         * lib/regcomp.c (build_equiv_class): From glibc:
7654         Use only the low 24 bits of a findidx return value as an index
7655         into the weights array.  Patch by Ulrich Drepper:
7656         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
7657         * lib/regexec.c (check_node_accept_bytes): Likewise.
7658         * lib/fnmatch_loop.c (FCT): Likewise.
7659
7660         regcomp: skip collseq lookup when there are no rules
7661         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
7662         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
7663
7664         regcomp: recognize ill-formed { } expressions
7665         * lib/regcomp.c (parse_dup_op): From glibc:
7666         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
7667
7668         regcomp: fix typo in comment
7669         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
7670         s/satisfy/satisfies/.
7671
7672         regcomp: sync from glibc: remove dead store
7673         * lib/regcomp.c (duplicate_node_closure): Remove useless
7674         search_duplicated_node call and dead store.
7675
7676         regcomp: sync from glibc; always use nl_langinfo
7677         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
7678         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
7679         * modules/regex (Depends-on): Add nl_langinfo.
7680
7681 2010-01-04  Eric Blake  <ebb9@byu.net>
7682
7683         fdopendir: fix configure test
7684         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
7685
7686 2010-01-01  Bruno Haible  <bruno@clisp.org>
7687
7688         wchar: Remove unused configure check.
7689         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
7690
7691 2010-01-01  Eric Blake  <ebb9@byu.net>
7692
7693         headers: make check of system header explicit
7694         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
7695         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
7696         ourselves.
7697         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
7698         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
7699         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
7700         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
7701         internals.
7702         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
7703         missing.
7704         Suggested by Bruno Haible.
7705
7706 2010-01-01  Jim Meyering  <meyering@redhat.com>
7707
7708         ChangeLog: tweak to eliminate unnecessary copyright line
7709         * ChangeLog: Remove a copyright line that was mistakenly updated
7710         by today's update-copyright run.  Reported by Eric Blake.
7711
7712         test-update-copyright: don't let envvar setting cause test failure
7713         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
7714
7715 2010-01-01  Bruno Haible  <bruno@clisp.org>
7716
7717         localename: Avoid gcc warning.
7718         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
7719         function if it is not used.
7720
7721 2010-01-01  Jim Meyering  <meyering@redhat.com>
7722
7723         update nearly all FSF copyright year lists to include 2010
7724         Use the same procedure as for 2009, outlined in
7725         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
7726
7727         version-etc: set COPYRIGHT_YEAR to 2010
7728         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
7729
7730 2009-12-31  Eric Blake  <ebb9@byu.net>
7731
7732         doc: correct availability of cygwin 1.5.x getopt
7733         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
7734         variables.
7735         * doc/posix-functions/opterr.texi (opterr): Likewise.
7736         * doc/posix-functions/optind.texi (optind): Likewise.
7737         * doc/posix-functions/optopt.texi (optopt): Likewise.
7738         * doc/posix-functions/tzname.texi (tzname): Likewise.
7739
7740         openat: update maintainer
7741         * modules/openat (Maintainer): Add myself.
7742
7743         utimens: avoid shadowing warning
7744         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
7745         buffers into one, to avoid shadowing, as well as avoiding a
7746         redundant stat.
7747         Reported by Jim Meyering.
7748
7749         test-dup2: avoid compiler warning
7750         * tests/test-dup2.c (is_inheritable): Only define if used.
7751
7752 2010-01-01  Bruno Haible  <bruno@clisp.org>
7753
7754         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
7755         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
7756         defined, use wctomb instead of wcrtomb.
7757
7758 2010-01-01  Bruno Haible  <bruno@clisp.org>
7759
7760         iconv: Reject native Solaris iconv.
7761         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
7762         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
7763
7764 2009-12-31  Bruno Haible  <bruno@clisp.org>
7765
7766         * tests/test-signal.c (main): Remove test of 'SIG'.
7767
7768 2009-12-31  Bruno Haible  <bruno@clisp.org>
7769
7770         spawn: Fix incomplete fix.
7771         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
7772         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
7773         warnings for GNULIB_POSIXCHECK again.
7774         Reported by Eric Blake.
7775
7776 2009-12-31  Bruno Haible  <bruno@clisp.org>
7777
7778         Avoid namespace pollution on glibc systems.
7779         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
7780         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
7781         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
7782         glibc systems.
7783
7784 2009-12-31  Bruno Haible  <bruno@clisp.org>
7785
7786         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
7787         (gl_REPLACE_WCHAR_H): Turn into a no-op.
7788         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
7789         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
7790         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
7791         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
7792         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
7793
7794 2009-12-31  Bruno Haible  <bruno@clisp.org>
7795
7796         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
7797         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
7798         afterwards.
7799
7800 2009-12-31  Bruno Haible  <bruno@clisp.org>
7801
7802         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
7803         SYS_UTSNAME_H.
7804
7805 2009-12-31  Bruno Haible  <bruno@clisp.org>
7806
7807         spawn: Fix misapplied patch.
7808         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
7809         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
7810         warnings for GNULIB_POSIXCHECK.
7811
7812 2009-12-31  Bruno Haible  <bruno@clisp.org>
7813
7814         times: Update after sys_times changed.
7815         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
7816         * modules/times (Files): Add it.
7817         (configure.ac): Invoke gl_FUNC_TIMES.
7818
7819 2009-12-31  Bruno Haible  <bruno@clisp.org>
7820
7821         Use AC_C_INLINE where necessary.
7822         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
7823         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
7824         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
7825         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
7826         * m4/mbfile.m4 (gl_MBFILE): Likewise.
7827         * m4/mbiter.m4 (gl_MBITER): Likewise.
7828         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
7829         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
7830         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
7831         * modules/u64 (configure.ac): Likewise.
7832
7833 2009-12-31  Bruno Haible  <bruno@clisp.org>
7834
7835         Use AC_C_INLINE instead of module 'inline' where possible.
7836         * modules/inline (Description): Clarify purpose.
7837         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
7838         * modules/count-one-bits (Depends-on): Remove inline.
7839         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
7840         * modules/openat (Depends-on): Remove inline.
7841         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
7842         instead of depending on module 'inline'.
7843         * modules/filevercmp (Depends-on, configure.ac): Likewise.
7844         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
7845         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
7846         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
7847         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
7848         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
7849         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
7850         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
7851         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
7852         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
7853         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
7854         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
7855         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
7856         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
7857         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
7858         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
7859         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
7860         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
7861         Likewise.
7862         * modules/unictype/property-ascii-hex-digit (Depends-on,
7863         configure.ac): Likewise.
7864         * modules/unictype/property-bidi-arabic-digit (Depends-on,
7865         configure.ac): Likewise.
7866         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
7867         configure.ac): Likewise.
7868         * modules/unictype/property-bidi-block-separator (Depends-on,
7869         configure.ac): Likewise.
7870         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
7871         configure.ac): Likewise.
7872         * modules/unictype/property-bidi-common-separator (Depends-on,
7873         configure.ac): Likewise.
7874         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
7875         Likewise.
7876         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
7877         configure.ac): Likewise.
7878         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
7879         configure.ac): Likewise.
7880         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
7881         configure.ac): Likewise.
7882         * modules/unictype/property-bidi-european-digit (Depends-on,
7883         configure.ac): Likewise.
7884         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
7885         configure.ac): Likewise.
7886         * modules/unictype/property-bidi-left-to-right (Depends-on,
7887         configure.ac): Likewise.
7888         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
7889         configure.ac): Likewise.
7890         * modules/unictype/property-bidi-other-neutral (Depends-on,
7891         configure.ac): Likewise.
7892         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
7893         Likewise.
7894         * modules/unictype/property-bidi-segment-separator (Depends-on,
7895         configure.ac): Likewise.
7896         * modules/unictype/property-bidi-whitespace (Depends-on,
7897         configure.ac): Likewise.
7898         * modules/unictype/property-combining (Depends-on, configure.ac):
7899         Likewise.
7900         * modules/unictype/property-composite (Depends-on, configure.ac):
7901         Likewise.
7902         * modules/unictype/property-currency-symbol (Depends-on,
7903         configure.ac): Likewise.
7904         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
7905         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
7906         Likewise.
7907         * modules/unictype/property-default-ignorable-code-point (Depends-on,
7908         configure.ac): Likewise.
7909         * modules/unictype/property-deprecated (Depends-on, configure.ac):
7910         Likewise.
7911         * modules/unictype/property-diacritic (Depends-on, configure.ac):
7912         Likewise.
7913         * modules/unictype/property-extender (Depends-on, configure.ac):
7914         Likewise.
7915         * modules/unictype/property-format-control (Depends-on, configure.ac):
7916         Likewise.
7917         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
7918         Likewise.
7919         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
7920         Likewise.
7921         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
7922         Likewise.
7923         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
7924         Likewise.
7925         * modules/unictype/property-hyphen (Depends-on, configure.ac):
7926         Likewise.
7927         * modules/unictype/property-id-continue (Depends-on, configure.ac):
7928         Likewise.
7929         * modules/unictype/property-id-start (Depends-on, configure.ac):
7930         Likewise.
7931         * modules/unictype/property-ideographic (Depends-on, configure.ac):
7932         Likewise.
7933         * modules/unictype/property-ids-binary-operator (Depends-on,
7934         configure.ac): Likewise.
7935         * modules/unictype/property-ids-trinary-operator (Depends-on,
7936         configure.ac): Likewise.
7937         * modules/unictype/property-ignorable-control (Depends-on,
7938         configure.ac): Likewise.
7939         * modules/unictype/property-iso-control (Depends-on, configure.ac):
7940         Likewise.
7941         * modules/unictype/property-join-control (Depends-on, configure.ac):
7942         Likewise.
7943         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
7944         Likewise.
7945         * modules/unictype/property-line-separator (Depends-on, configure.ac):
7946         Likewise.
7947         * modules/unictype/property-logical-order-exception (Depends-on,
7948         configure.ac): Likewise.
7949         * modules/unictype/property-lowercase (Depends-on, configure.ac):
7950         Likewise.
7951         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
7952         * modules/unictype/property-non-break (Depends-on, configure.ac):
7953         Likewise.
7954         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
7955         Likewise.
7956         * modules/unictype/property-numeric (Depends-on, configure.ac):
7957         Likewise.
7958         * modules/unictype/property-other-alphabetic (Depends-on,
7959         configure.ac): Likewise.
7960         * modules/unictype/property-other-default-ignorable-code-point
7961         (Depends-on, configure.ac): Likewise.
7962         * modules/unictype/property-other-grapheme-extend (Depends-on,
7963         configure.ac): Likewise.
7964         * modules/unictype/property-other-id-continue (Depends-on,
7965         configure.ac): Likewise.
7966         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
7967         Likewise.
7968         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
7969         Likewise.
7970         * modules/unictype/property-other-math (Depends-on, configure.ac):
7971         Likewise.
7972         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
7973         Likewise.
7974         * modules/unictype/property-paired-punctuation (Depends-on,
7975         configure.ac): Likewise.
7976         * modules/unictype/property-paragraph-separator (Depends-on,
7977         configure.ac): Likewise.
7978         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
7979         Likewise.
7980         * modules/unictype/property-pattern-white-space (Depends-on,
7981         configure.ac): Likewise.
7982         * modules/unictype/property-private-use (Depends-on, configure.ac):
7983         Likewise.
7984         * modules/unictype/property-punctuation (Depends-on, configure.ac):
7985         Likewise.
7986         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
7987         Likewise.
7988         * modules/unictype/property-radical (Depends-on, configure.ac):
7989         Likewise.
7990         * modules/unictype/property-sentence-terminal (Depends-on,
7991         configure.ac): Likewise.
7992         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
7993         Likewise.
7994         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
7995         * modules/unictype/property-terminal-punctuation (Depends-on,
7996         configure.ac): Likewise.
7997         * modules/unictype/property-titlecase (Depends-on, configure.ac):
7998         Likewise.
7999         * modules/unictype/property-unassigned-code-value (Depends-on,
8000         configure.ac): Likewise.
8001         * modules/unictype/property-unified-ideograph (Depends-on,
8002         configure.ac): Likewise.
8003         * modules/unictype/property-uppercase (Depends-on, configure.ac):
8004         Likewise.
8005         * modules/unictype/property-variation-selector (Depends-on,
8006         configure.ac): Likewise.
8007         * modules/unictype/property-white-space (Depends-on, configure.ac):
8008         Likewise.
8009         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
8010         Likewise.
8011         * modules/unictype/property-xid-start (Depends-on, configure.ac):
8012         Likewise.
8013         * modules/unictype/property-zero-width (Depends-on, configure.ac):
8014         Likewise.
8015         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
8016         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
8017         Likewise.
8018
8019 2009-12-31  Bruno Haible  <bruno@clisp.org>
8020
8021         Remove unnecessary AC_C_INLINE invocation.
8022         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
8023         since 2009-08-21.
8024
8025 2009-12-31  Jim Meyering  <meyering@redhat.com>
8026
8027         maint.mk: don't require explicit gpg_key_ID in cfg.mk
8028         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
8029         With this change, we can all remove the gpg_key_ID = ... definition
8030         from our respective cfg.mk files.
8031
8032         maint.mk: create announcement template in ~/, not in /tmp
8033         * top/maint.mk (emit_upload_commands): Adjust.
8034         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
8035         Remove temporary file, .ci-msg.
8036
8037 2009-12-31  Eric Blake  <ebb9@byu.net>
8038
8039         link-warning: always build headers with link warnings
8040         * modules/arpa_inet (Makefile.am): Always build replacement
8041         header.
8042         * modules/ctype (Makefile.am): Likewise.
8043         * modules/dirent (Makefile.am): Likewise.
8044         * modules/inttypes (Makefile.am): Likewise.
8045         * modules/langinfo (Makefile.am): Likewise.
8046         * modules/locale (Makefile.am): Likewise.
8047         * modules/spawn (Makefile.am): Likewise.
8048         * modules/sys_file (Makefile.am): Likewise.
8049         * modules/sys_ioctl (Makefile.am): Likewise.
8050         * modules/sys_select (Makefile.am): Likewise.
8051         * modules/sys_socket (Makefile.am): Likewise.
8052         * modules/sys_times (Makefile.am): Likewise.
8053         * modules/sys_utsname (Makefile.am): Likewise.
8054         * modules/sys_wait (Makefile.am): Likewise.
8055         * modules/wchar (Makefile.am): Likewise.
8056         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
8057         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
8058         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
8059         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
8060         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
8061         Likewise.
8062         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
8063         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
8064         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
8065         Likewise.
8066         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
8067         Likewise.
8068         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
8069         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
8070         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
8071         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
8072         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
8073         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
8074         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
8075         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
8076         (gl_WCHAR_H_DEFAULTS): Likewise.
8077
8078 2009-12-31  Eric Blake  <ebb9@byu.net>
8079
8080         signal, spawn: use link warnings
8081         * lib/signal.in.h (sigset_t): Make unconditional.
8082         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
8083         (sigpending, sigprocmask, sigaction): Add link warnings.
8084         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
8085         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
8086         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
8087         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
8088         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
8089         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
8090         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
8091         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
8092         (posix_spawn_file_actions_destroy)
8093         (posix_spawn_file_actions_addopen)
8094         (posix_spawn_file_actions_addclose)
8095         (posix_spawn_file_actions_adddup2): Likewise.
8096         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
8097         * tests/test-signal.c (main): Enhance test.
8098
8099         spawn: improve wrapper support
8100         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
8101         (gl_SPAWN_H_DEFAULTS): New defaults.
8102         * modules/spawn (Makefile.am): Substitute them.
8103         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
8104         Only declare if missing or broken.
8105
8106         sys_times, sys_utsname: use include_next
8107         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
8108         header.
8109         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
8110         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
8111         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
8112         * modules/sys_times (Depends-on): Add include_next.
8113         (Makefile.am): Substitute additional values.
8114         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
8115         * lib/sys_times.in.h (includes): Include native header, if
8116         available.
8117         * lib/sys_utsname.in.h (includes): Likewise.
8118         * tests/test-sys_times.c (main): Enhance test.
8119
8120         fdutimensat: revert prior patch
8121         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
8122         utimens.h.
8123         Reported by Bruno Haible.
8124
8125 2009-12-30  Eric Blake  <ebb9@byu.net>
8126
8127         sys_wait: drop link-warning dependency
8128         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
8129         link-warning efforts.
8130         * lib/sys_wait.in.h: Likewise.
8131
8132         fdutimensat: remove bogus dependency
8133         * modules/fdutimensat (Depends-on): Drop inline.
8134
8135         unistd: fix typo
8136         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
8137
8138 2009-12-30  Bruno Haible  <bruno@clisp.org>
8139
8140         Fix compilation error with Solaris cc.
8141         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
8142         * lib/unicase/u16-is-invariant.c: Likewise.
8143         * lib/unicase/u32-is-invariant.c: Likewise.
8144         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
8145
8146 2009-12-30  Bruno Haible  <bruno@clisp.org>
8147
8148         Fix test crash.
8149         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
8150         locales.
8151         Reported by Simon Josefsson <simon@josefsson.org>.
8152
8153 2009-12-30  Bruno Haible  <bruno@clisp.org>
8154
8155         Fix compilation error on most platforms.
8156         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
8157         Reported by Simon Josefsson <simon@josefsson.org>
8158         and Nelson H. F. Beebe <beebe@math.utah.edu>.
8159
8160 2009-12-30  Eric Blake  <ebb9@byu.net>
8161
8162         futimens, utimensat: work around ntfs-3g bug
8163         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
8164         a ctime bug is present, and expand workaround to cover ntfs-3g.
8165         * lib/utimens.c (fdutimens, lutimens): Likewise.
8166         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
8167         (validate_timespec): Adjust return value.
8168         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
8169         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
8170         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
8171
8172 2009-12-29  Eric Blake  <ebb9@byu.net>
8173
8174         link-warning: make usage consistent
8175         * modules/ctype (Depends-on): Add link-warning.
8176         (Makefile.am): Update rules accordingly.
8177         * modules/langinfo (Depends-on, Makefile.am): Likewise.
8178         * modules/locale (Depends-on, Makefile.am): Likewise.
8179         * modules/sys_file (Makefile.am): Likewise.
8180         * modules/getopt-posix (Makefile.am): Delete unused link warning
8181         efforts.
8182         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
8183         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
8184         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
8185         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
8186
8187         stdio: remove unused variables
8188         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
8189         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
8190         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
8191
8192         tests: test more substitute headers
8193         * modules/ctype-tests: New file.
8194         * modules/dirent-tests: Likewise.
8195         * modules/spawn-tests: Likewise.
8196         * modules/sys_file-tests: Likewise.
8197         * modules/sys_ioctl-tests: Likewise.
8198         * modules/sys_wait-tests: Likewise.
8199         * tests/test-ctype.c: Likewise.
8200         * tests/test-dirent.c: Likewise.
8201         * tests/test-spawn.c: Likewise.
8202         * tests/test-sys_file.c: Likewise.
8203         * tests/test-sys_ioctl.c: Likewise.
8204         * tests/test-sys_wait.c: Likewise.
8205         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
8206         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
8207         whether or not flock is in use.
8208
8209         tests: remove License section from module
8210         * modules/arpa_inet-tests: Remove unneeded section.
8211         * modules/byteswap-tests: Likewise.
8212         * modules/ceilf-tests: Likewise.
8213         * modules/ceill-tests: Likewise.
8214         * modules/crypto/des-tests: Likewise.
8215         * modules/crypto/gc-arcfour-tests: Likewise.
8216         * modules/crypto/gc-arctwo-tests: Likewise.
8217         * modules/crypto/gc-des-tests: Likewise.
8218         * modules/crypto/gc-hmac-md5-tests: Likewise.
8219         * modules/crypto/gc-hmac-sha1-tests: Likewise.
8220         * modules/crypto/gc-md2-tests: Likewise.
8221         * modules/crypto/gc-md4-tests: Likewise.
8222         * modules/crypto/gc-md5-tests: Likewise.
8223         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
8224         * modules/crypto/gc-rijndael-tests: Likewise.
8225         * modules/crypto/gc-sha1-tests: Likewise.
8226         * modules/crypto/gc-tests: Likewise.
8227         * modules/crypto/md2-tests: Likewise.
8228         * modules/crypto/md4-tests: Likewise.
8229         * modules/fcntl-h-tests: Likewise.
8230         * modules/floorf-tests: Likewise.
8231         * modules/floorl-tests: Likewise.
8232         * modules/frexp-nolibm-tests: Likewise.
8233         * modules/frexp-tests: Likewise.
8234         * modules/frexpl-nolibm-tests: Likewise.
8235         * modules/frexpl-tests: Likewise.
8236         * modules/getaddrinfo-tests: Likewise.
8237         * modules/inttypes-tests: Likewise.
8238         * modules/isfinite-tests: Likewise.
8239         * modules/isinf-tests: Likewise.
8240         * modules/ldexpl-tests: Likewise.
8241         * modules/locale-tests: Likewise.
8242         * modules/math-tests: Likewise.
8243         * modules/netdb-tests: Likewise.
8244         * modules/netinet_in-tests: Likewise.
8245         * modules/printf-frexp-tests: Likewise.
8246         * modules/printf-frexpl-tests: Likewise.
8247         * modules/priv-set-tests: Likewise.
8248         * modules/random_r-tests: Likewise.
8249         * modules/round-tests: Likewise.
8250         * modules/roundf-tests: Likewise.
8251         * modules/roundl-tests: Likewise.
8252         * modules/search-tests: Likewise.
8253         * modules/select-tests: Likewise.
8254         * modules/signal-tests: Likewise.
8255         * modules/stdbool-tests: Likewise.
8256         * modules/stddef-tests: Likewise.
8257         * modules/stdint-tests: Likewise.
8258         * modules/stdio-tests: Likewise.
8259         * modules/stdlib-tests: Likewise.
8260         * modules/string-tests: Likewise.
8261         * modules/strings-tests: Likewise.
8262         * modules/sys_select-tests: Likewise.
8263         * modules/sys_socket-tests: Likewise.
8264         * modules/sys_stat-tests: Likewise.
8265         * modules/sys_time-tests: Likewise.
8266         * modules/sys_utsname-tests: Likewise.
8267         * modules/sysexits-tests: Likewise.
8268         * modules/time-tests: Likewise.
8269         * modules/trunc-tests: Likewise.
8270         * modules/truncf-tests: Likewise.
8271         * modules/truncl-tests: Likewise.
8272         * modules/tsearch-tests: Likewise.
8273         * modules/unistd-tests: Likewise.
8274         * modules/wchar-tests: Likewise.
8275         * modules/wctype-tests: Likewise.
8276
8277         tests: fix license on several tests
8278         * tests/test-des.c: Update to GPLv3+.
8279         * tests/test-flock.c: Likewise.
8280         * tests/test-fsync.c: Likewise.
8281         * tests/test-futimens.h: Likewise.
8282         * tests/test-gc-arcfour.c: Likewise.
8283         * tests/test-gc-arctwo.c: Likewise.
8284         * tests/test-gc-des.c: Likewise.
8285         * tests/test-gc-hmac-md5.c: Likewise.
8286         * tests/test-gc-hmac-sha1.c: Likewise.
8287         * tests/test-gc-md2.c: Likewise.
8288         * tests/test-gc-md4.c: Likewise.
8289         * tests/test-gc-md5.c: Likewise.
8290         * tests/test-gc-pbkdf2-sha1.c: Likewise.
8291         * tests/test-gc-rijndael.c: Likewise.
8292         * tests/test-gc-sha1.c: Likewise.
8293         * tests/test-gc.c: Likewise.
8294         * tests/test-getcwd.c: Likewise.
8295         * tests/test-link.c: Likewise.
8296         * tests/test-link.h: Likewise.
8297         * tests/test-lutimens.h: Likewise.
8298         * tests/test-md2.c: Likewise.
8299         * tests/test-md4.c: Likewise.
8300         * tests/test-mkdir.h: Likewise.
8301         * tests/test-rename.c: Likewise.
8302         * tests/test-rename.h: Likewise.
8303         * tests/test-safe-alloc.c: Likewise.
8304         * tests/test-utimens-common.h: Likewise.
8305         * tests/test-utimens.h: Likewise.
8306
8307         maint: sync license texts
8308         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
8309         * doc/gpl-3.0.texi: Revert copyright year update.
8310         * doc/lgpl-3.0.texi: Likewise.
8311
8312 2009-12-29  Jim Meyering  <meyering@redhat.com>
8313
8314         update nearly all FSF copyright year lists to include 2009
8315         The files named by the following are exempted:
8316             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
8317               test -f "$dst" && { echo "$dst"; continue; }
8318               test -d "$dst" || continue
8319               echo "$dst"/$(basename "$src")
8320             done > exempt
8321             git ls-files tests/unictype >> exempt
8322         In the remaining files, convert to all-interval notation if
8323         - there is already at least one year interval like 2000-2003
8324         - the file is maintained by me
8325         - the file is in lib/uni*/, where that style already prevails
8326         Otherwise, use update-copyright's default.
8327
8328 2009-12-29  Simon Josefsson  <simon@josefsson.org>
8329         and Eric Blake  <ebb9@byu.net>
8330
8331         tests: don't require debug system() to pass
8332         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
8333         * tests/test-rmdir.h (test_rmdir_func): Likewise.
8334         * tests/test-unlink.h (test_unlink_func): Likewise.
8335         * tests/test-fstatat.c (main): ...into callers.
8336         * tests/test-lstat.c (main): Likewise.
8337         * tests/test-rmdir.c (main): Likewise.
8338         * tests/test-unlink.c (main): Likewise.
8339         * tests/test-unlinkat.c (main): Likewise.
8340         * tests/test-areadlink-with-size.c (main): Don't require a
8341         debug-only system call to pass, aiding cross-testing to mingw.
8342         * tests/test-areadlink.c (main): Likewise.
8343         * tests/test-areadlinkat-with-size.c (main): Likewise.
8344         * tests/test-areadlinkat.c (main): Likewise.
8345         * tests/test-canonicalize-lgpl.c (main): Likewise.
8346         * tests/test-canonicalize.c (main): Likewise.
8347         * tests/test-chown.c (main): Likewise.
8348         * tests/test-fchownat.c (main): Likewise.
8349         * tests/test-lchown.c (main): Likewise.
8350         * tests/test-fdutimensat.c (main): Likewise.
8351         * tests/test-futimens.c (main): Likewise.
8352         * tests/test-link.c (main): Likewise.
8353         * tests/test-linkat.c (main): Likewise.
8354         * tests/test-mkdir.c (main): Likewise.
8355         * tests/test-mkdirat.c (main): Likewise.
8356         * tests/test-mkfifo.c (main): Likewise.
8357         * tests/test-mkfifoat.c (main): Likewise.
8358         * tests/test-mknod.c (main): Likewise.
8359         * tests/test-readlink.c (main): Likewise.
8360         * tests/test-remove.c (main): Likewise.
8361         * tests/test-rename.c (main): Likewise.
8362         * tests/test-renameat.c (main): Likewise.
8363         * tests/test-symlink.c (main): Likewise.
8364         * tests/test-symlinkat.c (main): Likewise.
8365         * tests/test-utimens.c (main): Likewise.
8366         * tests/test-utimensat.c (main): Likewise.
8367
8368 2009-12-29  Simon Josefsson  <simon@josefsson.org>
8369
8370         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
8371         on $(UNUSED_PARAMETER_H) to avoid build failure.
8372
8373 2009-12-28  Jim Meyering  <meyering@redhat.com>
8374
8375         update-copyright: you may specify a max. line length other than 72
8376         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
8377
8378         maint: use consistent FSF copyright line syntax
8379         * lib/posixtm.c: Add missing comma in FSF copyright line.
8380         * lib/posixtm.h: Likewise.
8381         * lib/getugroups.c: Add missing ", Inc.".
8382
8383         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
8384         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
8385         FSF copyright line.  Remove trailing blanks.
8386
8387 2009-12-28  Eric Blake  <ebb9@byu.net>
8388
8389         test-dup2: reduce dependencies
8390         * modules/cloexec (Configure.ac): Set witness.
8391         * modules/dup2-tests (Depends-on): Drop cloexec.
8392         * tests/test-dup2.c (main): Skip portion of test if cloexec module
8393         not present.
8394         Suggested by Bruno Haible.
8395
8396 2009-12-26  Bruno Haible  <bruno@clisp.org>
8397
8398         Remove an unneeded dependency.
8399         * modules/fseterr (Depends-on): Remove dup2.
8400
8401 2009-12-26  Eric Blake  <ebb9@byu.net>
8402
8403         tests: use macros.h in more places
8404         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
8405         (ASSERT_STREAM): Provide default of stderr.
8406         * tests/test-dirent-safer.c: Include macros.h, using alternate
8407         stream for assertions.
8408         * tests/test-dup-safer.c: Likewise.
8409         * tests/test-freopen-safer.c: Likewise.
8410         * tests/test-getopt.c: Likewise.
8411         * tests/test-openat-safer.c: Likewise.
8412         * tests/test-pipe.c: Likewise.
8413         * tests/test-popen-safer.c: Likewise.
8414         * modules/dirent-safer-tests (Files): Include macros.h.
8415         * modules/unistd-safer-tests (Files): Likewise.
8416         * modules/freopen-safer-tests (Files): Likewise.
8417         * modules/getopt-posix-tests (Files): Likewise.
8418         * modules/openat-safer-tests (Files): Likewise.
8419         * modules/pipe-tests (Files): Likewise.
8420
8421 2009-12-26  Bruno Haible  <bruno@clisp.org>
8422
8423         javacomp: Portability fix.
8424         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
8425         that it also works on Solaris.
8426
8427 2009-12-26  Bruno Haible  <bruno@clisp.org>
8428
8429         localename: Fix storage allocation of gl_locale_name_thread's result.
8430         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
8431         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
8432         all platforms that have 'uselocale'.
8433         (gl_locale_name_thread_unsafe): New function, extracted from
8434         gl_locale_name_thread.
8435         (gl_locale_name_thread): Call struniq on all platforms that have
8436         'uselocale'.
8437         * tests/test-localename.c (test_locale_name_thread): Check that the
8438         resulting strings are permanently allocated.
8439         * modules/localename-tests (Depends-on): Add strdup.
8440
8441 2009-12-26  Bruno Haible  <bruno@clisp.org>
8442
8443         * tests/test-localename.c (categories): Fill in the strings.
8444
8445 2009-12-26  Jim Meyering  <meyering@redhat.com>
8446
8447         isdir: complete the removal of m4/isdir.m4
8448         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
8449
8450         isdir: clean up, since at least grep still uses it
8451         * lib/isdir.c: Include "isdir.h".
8452         (S_ISDIR): Remove now-unneeded definition.
8453         * modules/isdir (Files): Add lib/isdir.h.
8454         * lib/isdir.h: New file, with declaration.
8455         * m4/isdir.m4: Remove file -- unneeded.
8456
8457 2009-12-25  Bruno Haible  <bruno@clisp.org>
8458
8459         selinux-h: Make generated .h files standalone.
8460         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
8461         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
8462         * lib/se-selinux.in.h: Likewise.
8463         * modules/selinux-h (Depends-on): Add unused-parameter.
8464         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
8465         selinux/selinux.h and selinux/context.h.
8466         Suggested by Eric Blake.
8467
8468 2009-12-25  Bruno Haible  <bruno@clisp.org>
8469
8470         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
8471         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
8472         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
8473         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
8474         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
8475
8476 2009-12-24  Bruno Haible  <bruno@clisp.org>
8477
8478         openat: Fix warning.
8479         * lib/openat-proc.c: Include <unistd.h>.
8480
8481 2009-12-24  Bruno Haible  <bruno@clisp.org>
8482
8483         New module 'unused-parameter'.
8484         * build-aux/unused-parameter.h: New file, extracted from earlier
8485         gnulib-common.m4.
8486         * modules/unused-parameter: New file.
8487         * lib/unistr.h: Include unused-parameter.h.
8488         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
8489         _GL_UNUSED.
8490         * modules/unistr/base (Depends-on): Add unused-parameter.
8491
8492 2009-12-24  Bruno Haible  <bruno@clisp.org>
8493
8494         Add missing dependencies to 'extensions' module.
8495         * m4/extensions.m4: Add comment.
8496         * modules/accept4 (Depends-on): Add extensions.
8497         * modules/dup3 (Depends-on): Likewise.
8498         * modules/fcntl (Depends-on): Likewise.
8499         * modules/futimens (Depends-on): Likewise.
8500         * modules/mknod (Depends-on): Likewise.
8501         * modules/pipe2 (Depends-on): Likewise.
8502         * modules/stat-time (Depends-on): Likewise.
8503         * modules/strcasestr-simple (Depends-on): Likewise.
8504         * modules/strsignal (Depends-on): Likewise.
8505         * modules/utimensat (Depends-on): Likewise.
8506         * modules/localcharset (Depends-on): Likewise. Needed because of
8507         gl_FCNTL_O_FLAGS.
8508         * modules/wcrtomb (Depends-on): Likewise. Needed because of
8509         AC_TYPE_MBSTATE_T.
8510         * modules/wcsnrtombs (Depends-on): Likewise.
8511         * modules/wcsrtombs (Depends-on): Likewise.
8512
8513 2009-12-24  Bruno Haible  <bruno@clisp.org>
8514
8515         binary-io: Avoid gcc warning due to SET_BINARY.
8516         * lib/binary-io.h (SET_BINARY): Cast the result to void.
8517         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
8518
8519 2009-12-24  Bruno Haible  <bruno@clisp.org>
8520
8521         Avoid future namespace pollution on glibc systems.
8522         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
8523         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
8524         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
8525         glibc systems.
8526
8527 2009-12-24  Bruno Haible  <bruno@clisp.org>
8528
8529         Refactor common macros used in tests.
8530         * tests/macros.h: New file.
8531         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
8532         and/or <stdlib.h>, if appropriate.
8533         (ASSERT, SIZEOF): Remove macros.
8534         * tests/test-areadlink-with-size.c: Likewise.
8535         * tests/test-areadlinkat.c: Likewise.
8536         * tests/test-areadlinkat-with-size.c: Likewise.
8537         * tests/test-argmatch.c: Likewise.
8538         * tests/test-argv-iter.c: Likewise.
8539         * tests/test-array-mergesort.c: Likewise.
8540         * tests/test-array_list.c: Likewise.
8541         * tests/test-array_oset.c: Likewise.
8542         * tests/test-avltree_list.c: Likewise.
8543         * tests/test-avltree_oset.c: Likewise.
8544         * tests/test-avltreehash_list.c: Likewise.
8545         * tests/test-base64.c: Likewise.
8546         * tests/test-binary-io.c: Likewise.
8547         * tests/test-bitrotate.c: Likewise.
8548         * tests/test-btowc.c: Likewise.
8549         * tests/test-byteswap.c: Likewise.
8550         * tests/test-c-ctype.c: Likewise.
8551         * tests/test-c-stack.c: Likewise.
8552         * tests/test-c-strcasecmp.c: Likewise.
8553         * tests/test-c-strcasestr.c: Likewise.
8554         * tests/test-c-strncasecmp.c: Likewise.
8555         * tests/test-c-strstr.c: Likewise.
8556         * tests/test-canonicalize-lgpl.c: Likewise.
8557         * tests/test-canonicalize.c: Likewise.
8558         * tests/test-carray_list.c: Likewise.
8559         * tests/test-ceilf1.c: Likewise.
8560         * tests/test-ceilf2.c: Likewise.
8561         * tests/test-ceill.c: Likewise.
8562         * tests/test-chown.c: Likewise.
8563         * tests/test-cloexec.c: Likewise.
8564         * tests/test-copy-acl.c: Likewise.
8565         * tests/test-copy-file.c: Likewise.
8566         * tests/test-count-one-bits.c: Likewise.
8567         * tests/test-dprintf-posix.c: Likewise.
8568         * tests/test-dup2.c: Likewise.
8569         * tests/test-dup3.c: Likewise.
8570         * tests/test-duplocale.c: Likewise.
8571         * tests/test-fbufmode.c: Likewise.
8572         * tests/test-fchdir.c: Likewise.
8573         * tests/test-fchownat.c: Likewise.
8574         * tests/test-fcntl-safer.c: Likewise.
8575         * tests/test-fcntl.c: Likewise.
8576         * tests/test-fdopendir.c: Likewise.
8577         * tests/test-fdutimensat.c: Likewise.
8578         * tests/test-fflush2.c: Likewise.
8579         * tests/test-file-has-acl.c: Likewise.
8580         * tests/test-filevercmp.c: Likewise.
8581         * tests/test-flock.c: Likewise.
8582         * tests/test-floorf1.c: Likewise.
8583         * tests/test-floorf2.c: Likewise.
8584         * tests/test-floorl.c: Likewise.
8585         * tests/test-fnmatch.c: Likewise.
8586         * tests/test-fopen.h: Likewise.
8587         * tests/test-fpending.c: Likewise.
8588         * tests/test-fprintf-posix.c: Likewise.
8589         * tests/test-fpurge.c: Likewise.
8590         * tests/test-freadable.c: Likewise.
8591         * tests/test-freadahead.c: Likewise.
8592         * tests/test-freading.c: Likewise.
8593         * tests/test-freadptr.c: Likewise.
8594         * tests/test-freadptr2.c: Likewise.
8595         * tests/test-freadseek.c: Likewise.
8596         * tests/test-freopen.c: Likewise.
8597         * tests/test-frexp.c: Likewise.
8598         * tests/test-frexpl.c: Likewise.
8599         * tests/test-fseek.c: Likewise.
8600         * tests/test-fseeko.c: Likewise.
8601         * tests/test-fstatat.c: Likewise.
8602         * tests/test-fstrcmp.c: Likewise.
8603         * tests/test-fsync.c: Likewise.
8604         * tests/test-ftell.c: Likewise.
8605         * tests/test-ftello.c: Likewise.
8606         * tests/test-func.c: Likewise.
8607         * tests/test-futimens.c: Likewise.
8608         * tests/test-fwritable.c: Likewise.
8609         * tests/test-fwriting.c: Likewise.
8610         * tests/test-getcwd.c: Likewise.
8611         * tests/test-getdate.c: Likewise.
8612         * tests/test-getdelim.c: Likewise.
8613         * tests/test-getdtablesize.c: Likewise.
8614         * tests/test-getgroups.c: Likewise.
8615         * tests/test-getline.c: Likewise.
8616         * tests/test-getndelim2.c: Likewise.
8617         * tests/test-glob.c: Likewise.
8618         * tests/test-hash.c: Likewise.
8619         * tests/test-i-ring.c: Likewise.
8620         * tests/test-iconv-utf.c: Likewise.
8621         * tests/test-iconv.c: Likewise.
8622         * tests/test-idpriv-drop.c: Likewise.
8623         * tests/test-idpriv-droptemp.c: Likewise.
8624         * tests/test-inet_ntop.c: Likewise.
8625         * tests/test-inet_pton.c: Likewise.
8626         * tests/test-isblank.c: Likewise.
8627         * tests/test-isfinite.c: Likewise.
8628         * tests/test-isinf.c: Likewise.
8629         * tests/test-isnan.c: Likewise.
8630         * tests/test-isnand.h: Likewise.
8631         * tests/test-isnanf.h: Likewise.
8632         * tests/test-isnanl.h: Likewise.
8633         * tests/test-lchown.c: Likewise.
8634         * tests/test-ldexpl.c: Likewise.
8635         * tests/test-link.c: Likewise.
8636         * tests/test-linkat.c: Likewise.
8637         * tests/test-linked_list.c: Likewise.
8638         * tests/test-linkedhash_list.c: Likewise.
8639         * tests/test-localename.c: Likewise.
8640         * tests/test-lseek.c: Likewise.
8641         * tests/test-lstat.c: Likewise.
8642         * tests/test-mbmemcasecmp.c: Likewise.
8643         * tests/test-mbmemcasecoll.c: Likewise.
8644         * tests/test-mbrtowc.c: Likewise.
8645         * tests/test-mbscasecmp.c: Likewise.
8646         * tests/test-mbscasestr1.c: Likewise.
8647         * tests/test-mbscasestr2.c: Likewise.
8648         * tests/test-mbscasestr3.c: Likewise.
8649         * tests/test-mbscasestr4.c: Likewise.
8650         * tests/test-mbschr.c: Likewise.
8651         * tests/test-mbscspn.c: Likewise.
8652         * tests/test-mbsinit.c: Likewise.
8653         * tests/test-mbsncasecmp.c: Likewise.
8654         * tests/test-mbsnrtowcs.c: Likewise.
8655         * tests/test-mbspbrk.c: Likewise.
8656         * tests/test-mbspcasecmp.c: Likewise.
8657         * tests/test-mbsrchr.c: Likewise.
8658         * tests/test-mbsrtowcs.c: Likewise.
8659         * tests/test-mbsspn.c: Likewise.
8660         * tests/test-mbsstr1.c: Likewise.
8661         * tests/test-mbsstr2.c: Likewise.
8662         * tests/test-mbsstr3.c: Likewise.
8663         * tests/test-memchr.c: Likewise.
8664         * tests/test-memchr2.c: Likewise.
8665         * tests/test-memcmp.c: Likewise.
8666         * tests/test-memmem.c: Likewise.
8667         * tests/test-memrchr.c: Likewise.
8668         * tests/test-mkdir.c: Likewise.
8669         * tests/test-mkdirat.c: Likewise.
8670         * tests/test-mkfifo.c: Likewise.
8671         * tests/test-mkfifoat.c: Likewise.
8672         * tests/test-mknod.c: Likewise.
8673         * tests/test-nanosleep.c: Likewise.
8674         * tests/test-nl_langinfo.c: Likewise.
8675         * tests/test-obstack-printf.c: Likewise.
8676         * tests/test-open.c: Likewise.
8677         * tests/test-openat.c: Likewise.
8678         * tests/test-pipe-filter-gi1.c: Likewise.
8679         * tests/test-pipe-filter-gi2-main.c: Likewise.
8680         * tests/test-pipe-filter-ii1.c: Likewise.
8681         * tests/test-pipe-filter-ii2-main.c: Likewise.
8682         * tests/test-pipe2.c: Likewise.
8683         * tests/test-popen.h: Likewise.
8684         * tests/test-posixtm.c: Likewise.
8685         * tests/test-pread.c: Likewise.
8686         * tests/test-printf-frexp.c: Likewise.
8687         * tests/test-printf-frexpl.c: Likewise.
8688         * tests/test-printf-posix.c: Likewise.
8689         * tests/test-priv-set.c: Likewise.
8690         * tests/test-quotearg.c: Likewise.
8691         * tests/test-random_r.c: Likewise.
8692         * tests/test-rawmemchr.c: Likewise.
8693         * tests/test-rbtree_list.c: Likewise.
8694         * tests/test-rbtree_oset.c: Likewise.
8695         * tests/test-rbtreehash_list.c: Likewise.
8696         * tests/test-readlink.c: Likewise.
8697         * tests/test-remove.c: Likewise.
8698         * tests/test-rename.c: Likewise.
8699         * tests/test-renameat.c: Likewise.
8700         * tests/test-rmdir.c: Likewise.
8701         * tests/test-round1.c: Likewise.
8702         * tests/test-roundf1.c: Likewise.
8703         * tests/test-roundl.c: Likewise.
8704         * tests/test-safe-alloc.c: Likewise.
8705         * tests/test-sameacls.c: Likewise.
8706         * tests/test-set-mode-acl.c: Likewise.
8707         * tests/test-setenv.c: Likewise.
8708         * tests/test-sigaction.c: Likewise.
8709         * tests/test-signbit.c: Likewise.
8710         * tests/test-sleep.c: Likewise.
8711         * tests/test-snprintf-posix.c: Likewise.
8712         * tests/test-snprintf.c: Likewise.
8713         * tests/test-sprintf-posix.c: Likewise.
8714         * tests/test-stat-time.c: Likewise.
8715         * tests/test-stat.c: Likewise.
8716         * tests/test-strcasestr.c: Likewise.
8717         * tests/test-strchrnul.c: Likewise.
8718         * tests/test-strerror.c: Likewise.
8719         * tests/test-striconv.c: Likewise.
8720         * tests/test-striconveh.c: Likewise.
8721         * tests/test-striconveha.c: Likewise.
8722         * tests/test-strsignal.c: Likewise.
8723         * tests/test-strstr.c: Likewise.
8724         * tests/test-strtod.c: Likewise.
8725         * tests/test-strverscmp.c: Likewise.
8726         * tests/test-symlink.c: Likewise.
8727         * tests/test-symlinkat.c: Likewise.
8728         * tests/test-trunc1.c: Likewise.
8729         * tests/test-trunc2.c: Likewise.
8730         * tests/test-truncf1.c: Likewise.
8731         * tests/test-truncf2.c: Likewise.
8732         * tests/test-truncl.c: Likewise.
8733         * tests/test-uname.c: Likewise.
8734         * tests/test-unlink.c: Likewise.
8735         * tests/test-unlinkat.c: Likewise.
8736         * tests/test-unsetenv.c: Likewise.
8737         * tests/test-usleep.c: Likewise.
8738         * tests/test-utimens.c: Likewise.
8739         * tests/test-utimensat.c: Likewise.
8740         * tests/test-vasnprintf-posix.c: Likewise.
8741         * tests/test-vasnprintf-posix2.c: Likewise.
8742         * tests/test-vasnprintf.c: Likewise.
8743         * tests/test-vasprintf-posix.c: Likewise.
8744         * tests/test-vasprintf.c: Likewise.
8745         * tests/test-vdprintf-posix.c: Likewise.
8746         * tests/test-vfprintf-posix.c: Likewise.
8747         * tests/test-vprintf-posix.c: Likewise.
8748         * tests/test-vsnprintf-posix.c: Likewise.
8749         * tests/test-vsnprintf.c: Likewise.
8750         * tests/test-vsprintf-posix.c: Likewise.
8751         * tests/test-wcrtomb.c: Likewise.
8752         * tests/test-wcsnrtombs.c: Likewise.
8753         * tests/test-wcsrtombs.c: Likewise.
8754         * tests/test-wctype.c: Likewise.
8755         * tests/test-wcwidth.c: Likewise.
8756         * tests/test-xfprintf-posix.c: Likewise.
8757         * tests/test-xmemdup0.c: Likewise.
8758         * tests/test-xprintf-posix.c: Likewise.
8759         * tests/test-xvasprintf.c: Likewise.
8760         * tests/unicase/test-locale-language.c: Likewise.
8761         * tests/unicase/test-mapping-part1.h: Likewise.
8762         * tests/unicase/test-predicate-part1.h: Likewise.
8763         * tests/unicase/test-u8-casecmp.c: Likewise.
8764         * tests/unicase/test-u8-casecoll.c: Likewise.
8765         * tests/unicase/test-u8-casefold.c: Likewise.
8766         * tests/unicase/test-u8-is-cased.c: Likewise.
8767         * tests/unicase/test-u8-is-casefolded.c: Likewise.
8768         * tests/unicase/test-u8-is-lowercase.c: Likewise.
8769         * tests/unicase/test-u8-is-titlecase.c: Likewise.
8770         * tests/unicase/test-u8-is-uppercase.c: Likewise.
8771         * tests/unicase/test-u8-tolower.c: Likewise.
8772         * tests/unicase/test-u8-totitle.c: Likewise.
8773         * tests/unicase/test-u8-toupper.c: Likewise.
8774         * tests/unicase/test-u16-casecmp.c: Likewise.
8775         * tests/unicase/test-u16-casecoll.c: Likewise.
8776         * tests/unicase/test-u16-casefold.c: Likewise.
8777         * tests/unicase/test-u16-is-cased.c: Likewise.
8778         * tests/unicase/test-u16-is-casefolded.c: Likewise.
8779         * tests/unicase/test-u16-is-lowercase.c: Likewise.
8780         * tests/unicase/test-u16-is-titlecase.c: Likewise.
8781         * tests/unicase/test-u16-is-uppercase.c: Likewise.
8782         * tests/unicase/test-u16-tolower.c: Likewise.
8783         * tests/unicase/test-u16-totitle.c: Likewise.
8784         * tests/unicase/test-u16-toupper.c: Likewise.
8785         * tests/unicase/test-u32-casecmp.c: Likewise.
8786         * tests/unicase/test-u32-casecoll.c: Likewise.
8787         * tests/unicase/test-u32-casefold.c: Likewise.
8788         * tests/unicase/test-u32-is-cased.c: Likewise.
8789         * tests/unicase/test-u32-is-casefolded.c: Likewise.
8790         * tests/unicase/test-u32-is-lowercase.c: Likewise.
8791         * tests/unicase/test-u32-is-titlecase.c: Likewise.
8792         * tests/unicase/test-u32-is-uppercase.c: Likewise.
8793         * tests/unicase/test-u32-tolower.c: Likewise.
8794         * tests/unicase/test-u32-totitle.c: Likewise.
8795         * tests/unicase/test-u32-toupper.c: Likewise.
8796         * tests/unicase/test-ulc-casecmp.c: Likewise.
8797         * tests/unicase/test-ulc-casecoll.c: Likewise.
8798         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
8799         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
8800         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
8801         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
8802         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
8803         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
8804         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
8805         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
8806         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
8807         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
8808         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
8809         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
8810         * tests/unictype/test-bidi_byname.c: Likewise.
8811         * tests/unictype/test-bidi_name.c: Likewise.
8812         * tests/unictype/test-bidi_of.c: Likewise.
8813         * tests/unictype/test-bidi_test.c: Likewise.
8814         * tests/unictype/test-block_list.c: Likewise.
8815         * tests/unictype/test-block_of.c: Likewise.
8816         * tests/unictype/test-block_test.c: Likewise.
8817         * tests/unictype/test-categ_and.c: Likewise.
8818         * tests/unictype/test-categ_and_not.c: Likewise.
8819         * tests/unictype/test-categ_byname.c: Likewise.
8820         * tests/unictype/test-categ_name.c: Likewise.
8821         * tests/unictype/test-categ_none.c: Likewise.
8822         * tests/unictype/test-categ_of.c: Likewise.
8823         * tests/unictype/test-categ_or.c: Likewise.
8824         * tests/unictype/test-categ_test_withtable.c: Likewise.
8825         * tests/unictype/test-combining.c: Likewise.
8826         * tests/unictype/test-decdigit.c: Likewise.
8827         * tests/unictype/test-digit.c: Likewise.
8828         * tests/unictype/test-mirror.c: Likewise.
8829         * tests/unictype/test-numeric.c: Likewise.
8830         * tests/unictype/test-pr_byname.c: Likewise.
8831         * tests/unictype/test-pr_test.c: Likewise.
8832         * tests/unictype/test-predicate-part1.h: Likewise.
8833         * tests/unictype/test-scripts.c: Likewise.
8834         * tests/unictype/test-sy_c_ident.c: Likewise.
8835         * tests/unictype/test-sy_java_ident.c: Likewise.
8836         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
8837         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
8838         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
8839         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
8840         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
8841         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
8842         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
8843         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
8844         * tests/uninorm/test-canonical-decomposition.c: Likewise.
8845         * tests/uninorm/test-compat-decomposition.c: Likewise.
8846         * tests/uninorm/test-composition.c: Likewise.
8847         * tests/uninorm/test-decomposing-form.c: Likewise.
8848         * tests/uninorm/test-decomposition.c: Likewise.
8849         * tests/uninorm/test-u8-nfc.c: Likewise.
8850         * tests/uninorm/test-u8-nfd.c: Likewise.
8851         * tests/uninorm/test-u8-nfkc.c: Likewise.
8852         * tests/uninorm/test-u8-nfkd.c: Likewise.
8853         * tests/uninorm/test-u8-normcmp.c: Likewise.
8854         * tests/uninorm/test-u8-normcoll.c: Likewise.
8855         * tests/uninorm/test-u16-nfc.c: Likewise.
8856         * tests/uninorm/test-u16-nfd.c: Likewise.
8857         * tests/uninorm/test-u16-nfkc.c: Likewise.
8858         * tests/uninorm/test-u16-nfkd.c: Likewise.
8859         * tests/uninorm/test-u16-normcmp.c: Likewise.
8860         * tests/uninorm/test-u16-normcoll.c: Likewise.
8861         * tests/uninorm/test-u32-nfc.c: Likewise.
8862         * tests/uninorm/test-u32-nfd.c: Likewise.
8863         * tests/uninorm/test-u32-nfkc.c: Likewise.
8864         * tests/uninorm/test-u32-nfkd.c: Likewise.
8865         * tests/uninorm/test-u32-normalize-big.c: Likewise.
8866         * tests/uninorm/test-u32-normcmp.c: Likewise.
8867         * tests/uninorm/test-u32-normcoll.c: Likewise.
8868         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
8869         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
8870         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
8871         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
8872         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
8873         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
8874         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
8875         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
8876         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
8877         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
8878         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
8879         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
8880         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
8881         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
8882         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
8883         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
8884         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
8885         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
8886         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
8887         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
8888         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
8889         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
8890         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
8891         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
8892         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
8893         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
8894         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
8895         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
8896         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
8897         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
8898         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
8899         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
8900         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
8901         * tests/uniwidth/test-u8-strwidth.c: Likewise.
8902         * tests/uniwidth/test-u8-width.c: Likewise.
8903         * tests/uniwidth/test-u16-strwidth.c: Likewise.
8904         * tests/uniwidth/test-u16-width.c: Likewise.
8905         * tests/uniwidth/test-u32-strwidth.c: Likewise.
8906         * tests/uniwidth/test-u32-width.c: Likewise.
8907         * tests/uniwidth/test-uc_width.c: Likewise.
8908         * tests/uniwidth/test-uc_width2.c: Likewise.
8909         * modules/acl-tests (Files): Add tests/macros.h.
8910         * modules/areadlink-tests (Files): Likewise.
8911         * modules/areadlink-with-size-tests (Files): Likewise.
8912         * modules/areadlinkat-tests (Files): Likewise.
8913         * modules/areadlinkat-with-size-tests (Files): Likewise.
8914         * modules/argmatch-tests (Files): Likewise.
8915         * modules/argv-iter-tests (Files): Likewise.
8916         * modules/array-list-tests (Files): Likewise.
8917         * modules/array-mergesort-tests (Files): Likewise.
8918         * modules/array-oset-tests (Files): Likewise.
8919         * modules/avltree-list-tests (Files): Likewise.
8920         * modules/avltree-oset-tests (Files): Likewise.
8921         * modules/avltreehash-list-tests (Files): Likewise.
8922         * modules/base64-tests (Files): Likewise.
8923         * modules/binary-io-tests (Files): Likewise.
8924         * modules/bitrotate-tests (Files): Likewise.
8925         * modules/btowc-tests (Files): Likewise.
8926         * modules/byteswap-tests (Files): Likewise.
8927         * modules/c-ctype-tests (Files): Likewise.
8928         * modules/c-stack-tests (Files): Likewise.
8929         * modules/c-strcase-tests (Files): Likewise.
8930         * modules/c-strcasestr-tests (Files): Likewise.
8931         * modules/c-strstr-tests (Files): Likewise.
8932         * modules/canonicalize-lgpl-tests (Files): Likewise.
8933         * modules/canonicalize-tests (Files): Likewise.
8934         * modules/carray-list-tests (Files): Likewise.
8935         * modules/ceilf-tests (Files): Likewise.
8936         * modules/ceill-tests (Files): Likewise.
8937         * modules/chown-tests (Files): Likewise.
8938         * modules/cloexec-tests (Files): Likewise.
8939         * modules/copy-file-tests (Files): Likewise.
8940         * modules/count-one-bits-tests (Files): Likewise.
8941         * modules/dprintf-posix-tests (Files): Likewise.
8942         * modules/dup2-tests (Files): Likewise.
8943         * modules/dup3-tests (Files): Likewise.
8944         * modules/duplocale-tests (Files): Likewise.
8945         * modules/fbufmode-tests (Files): Likewise.
8946         * modules/fchdir-tests (Files): Likewise.
8947         * modules/fcntl-safer-tests (Files): Likewise.
8948         * modules/fcntl-tests (Files): Likewise.
8949         * modules/fdopendir-tests (Files): Likewise.
8950         * modules/fdutimensat-tests (Files): Likewise.
8951         * modules/fflush-tests (Files): Likewise.
8952         * modules/filevercmp-tests (Files): Likewise.
8953         * modules/flock-tests (Files): Likewise.
8954         * modules/floorf-tests (Files): Likewise.
8955         * modules/floorl-tests (Files): Likewise.
8956         * modules/fnmatch-tests (Files): Likewise.
8957         * modules/fopen-safer-tests (Files): Likewise.
8958         * modules/fopen-tests (Files): Likewise.
8959         * modules/fpending-tests (Files): Likewise.
8960         * modules/fprintf-posix-tests (Files): Likewise.
8961         * modules/fpurge-tests (Files): Likewise.
8962         * modules/freadable-tests (Files): Likewise.
8963         * modules/freadahead-tests (Files): Likewise.
8964         * modules/freading-tests (Files): Likewise.
8965         * modules/freadptr-tests (Files): Likewise.
8966         * modules/freadseek-tests (Files): Likewise.
8967         * modules/freopen-tests (Files): Likewise.
8968         * modules/frexp-nolibm-tests (Files): Likewise.
8969         * modules/frexp-tests (Files): Likewise.
8970         * modules/frexpl-nolibm-tests (Files): Likewise.
8971         * modules/frexpl-tests (Files): Likewise.
8972         * modules/fseek-tests (Files): Likewise.
8973         * modules/fseeko-tests (Files): Likewise.
8974         * modules/fstrcmp-tests (Files): Likewise.
8975         * modules/fsync-tests (Files): Likewise.
8976         * modules/ftell-tests (Files): Likewise.
8977         * modules/ftello-tests (Files): Likewise.
8978         * modules/func-tests (Files): Likewise.
8979         * modules/futimens-tests (Files): Likewise.
8980         * modules/fwritable-tests (Files): Likewise.
8981         * modules/fwriting-tests (Files): Likewise.
8982         * modules/getcwd-tests (Files): Likewise.
8983         * modules/getdate-tests (Files): Likewise.
8984         * modules/getdelim-tests (Files): Likewise.
8985         * modules/getdtablesize-tests (Files): Likewise.
8986         * modules/getgroups-tests (Files): Likewise.
8987         * modules/getline-tests (Files): Likewise.
8988         * modules/getndelim2-tests (Files): Likewise.
8989         * modules/glob-tests (Files): Likewise.
8990         * modules/hash-tests (Files): Likewise.
8991         * modules/i-ring-tests (Files): Likewise.
8992         * modules/iconv-tests (Files): Likewise.
8993         * modules/iconv_open-utf-tests (Files): Likewise.
8994         * modules/idpriv-drop-tests (Files): Likewise.
8995         * modules/idpriv-droptemp-tests (Files): Likewise.
8996         * modules/inet_ntop-tests (Files): Likewise.
8997         * modules/inet_pton-tests (Files): Likewise.
8998         * modules/isblank-tests (Files): Likewise.
8999         * modules/isfinite-tests (Files): Likewise.
9000         * modules/isinf-tests (Files): Likewise.
9001         * modules/isnan-tests (Files): Likewise.
9002         * modules/isnand-nolibm-tests (Files): Likewise.
9003         * modules/isnand-tests (Files): Likewise.
9004         * modules/isnanf-nolibm-tests (Files): Likewise.
9005         * modules/isnanf-tests (Files): Likewise.
9006         * modules/isnanl-nolibm-tests (Files): Likewise.
9007         * modules/isnanl-tests (Files): Likewise.
9008         * modules/lchown-tests (Files): Likewise.
9009         * modules/ldexpl-tests (Files): Likewise.
9010         * modules/link-tests (Files): Likewise.
9011         * modules/linkat-tests (Files): Likewise.
9012         * modules/linked-list-tests (Files): Likewise.
9013         * modules/linkedhash-list-tests (Files): Likewise.
9014         * modules/localename-tests (Files): Likewise.
9015         * modules/lseek-tests (Files): Likewise.
9016         * modules/lstat-tests (Files): Likewise.
9017         * modules/mbmemcasecmp-tests (Files): Likewise.
9018         * modules/mbmemcasecoll-tests (Files): Likewise.
9019         * modules/mbrtowc-tests (Files): Likewise.
9020         * modules/mbscasecmp-tests (Files): Likewise.
9021         * modules/mbscasestr-tests (Files): Likewise.
9022         * modules/mbschr-tests (Files): Likewise.
9023         * modules/mbscspn-tests (Files): Likewise.
9024         * modules/mbsinit-tests (Files): Likewise.
9025         * modules/mbsncasecmp-tests (Files): Likewise.
9026         * modules/mbsnrtowcs-tests (Files): Likewise.
9027         * modules/mbspbrk-tests (Files): Likewise.
9028         * modules/mbspcasecmp-tests (Files): Likewise.
9029         * modules/mbsrchr-tests (Files): Likewise.
9030         * modules/mbsrtowcs-tests (Files): Likewise.
9031         * modules/mbsspn-tests (Files): Likewise.
9032         * modules/mbsstr-tests (Files): Likewise.
9033         * modules/memchr-tests (Files): Likewise.
9034         * modules/memchr2-tests (Files): Likewise.
9035         * modules/memcmp-tests (Files): Likewise.
9036         * modules/memmem-tests (Files): Likewise.
9037         * modules/memrchr-tests (Files): Likewise.
9038         * modules/mkdir-tests (Files): Likewise.
9039         * modules/mkfifo-tests (Files): Likewise.
9040         * modules/mkfifoat-tests (Files): Likewise.
9041         * modules/mknod-tests (Files): Likewise.
9042         * modules/nanosleep-tests (Files): Likewise.
9043         * modules/nl_langinfo-tests (Files): Likewise.
9044         * modules/obstack-printf-tests (Files): Likewise.
9045         * modules/open-tests (Files): Likewise.
9046         * modules/openat-tests (Files): Likewise.
9047         * modules/pipe-filter-gi-tests (Files): Likewise.
9048         * modules/pipe-filter-ii-tests (Files): Likewise.
9049         * modules/pipe2-tests (Files): Likewise.
9050         * modules/popen-safer-tests (Files): Likewise.
9051         * modules/popen-tests (Files): Likewise.
9052         * modules/posixtm-tests (Files): Likewise.
9053         * modules/pread-tests (Files): Likewise.
9054         * modules/printf-frexp-tests (Files): Likewise.
9055         * modules/printf-frexpl-tests (Files): Likewise.
9056         * modules/printf-posix-tests (Files): Likewise.
9057         * modules/priv-set-tests (Files): Likewise.
9058         * modules/quotearg-tests (Files): Likewise.
9059         * modules/random_r-tests (Files): Likewise.
9060         * modules/rawmemchr-tests (Files): Likewise.
9061         * modules/rbtree-list-tests (Files): Likewise.
9062         * modules/rbtree-oset-tests (Files): Likewise.
9063         * modules/rbtreehash-list-tests (Files): Likewise.
9064         * modules/readlink-tests (Files): Likewise.
9065         * modules/remove-tests (Files): Likewise.
9066         * modules/rename-tests (Files): Likewise.
9067         * modules/renameat-tests (Files): Likewise.
9068         * modules/rmdir-tests (Files): Likewise.
9069         * modules/round-tests (Files): Likewise.
9070         * modules/roundf-tests (Files): Likewise.
9071         * modules/roundl-tests (Files): Likewise.
9072         * modules/safe-alloc-tests (Files): Likewise.
9073         * modules/setenv-tests (Files): Likewise.
9074         * modules/sigaction-tests (Files): Likewise.
9075         * modules/signbit-tests (Files): Likewise.
9076         * modules/sleep-tests (Files): Likewise.
9077         * modules/snprintf-posix-tests (Files): Likewise.
9078         * modules/snprintf-tests (Files): Likewise.
9079         * modules/sprintf-posix-tests (Files): Likewise.
9080         * modules/stat-tests (Files): Likewise.
9081         * modules/stat-time-tests (Files): Likewise.
9082         * modules/strcasestr-tests (Files): Likewise.
9083         * modules/strchrnul-tests (Files): Likewise.
9084         * modules/strerror-tests (Files): Likewise.
9085         * modules/striconv-tests (Files): Likewise.
9086         * modules/striconveh-tests (Files): Likewise.
9087         * modules/striconveha-tests (Files): Likewise.
9088         * modules/strsignal-tests (Files): Likewise.
9089         * modules/strstr-tests (Files): Likewise.
9090         * modules/strtod-tests (Files): Likewise.
9091         * modules/strverscmp-tests (Files): Likewise.
9092         * modules/symlink-tests (Files): Likewise.
9093         * modules/symlinkat-tests (Files): Likewise.
9094         * modules/trunc-tests (Files): Likewise.
9095         * modules/truncf-tests (Files): Likewise.
9096         * modules/truncl-tests (Files): Likewise.
9097         * modules/uname-tests (Files): Likewise.
9098         * modules/unicase/cased-tests (Files): Likewise.
9099         * modules/unicase/ignorable-tests (Files): Likewise.
9100         * modules/unicase/locale-language-tests (Files): Likewise.
9101         * modules/unicase/tolower-tests (Files): Likewise.
9102         * modules/unicase/totitle-tests (Files): Likewise.
9103         * modules/unicase/toupper-tests (Files): Likewise.
9104         * modules/unicase/u8-casecmp-tests (Files): Likewise.
9105         * modules/unicase/u8-casecoll-tests (Files): Likewise.
9106         * modules/unicase/u8-casefold-tests (Files): Likewise.
9107         * modules/unicase/u8-is-cased-tests (Files): Likewise.
9108         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
9109         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
9110         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
9111         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
9112         * modules/unicase/u8-tolower-tests (Files): Likewise.
9113         * modules/unicase/u8-totitle-tests (Files): Likewise.
9114         * modules/unicase/u8-toupper-tests (Files): Likewise.
9115         * modules/unicase/u16-casecmp-tests (Files): Likewise.
9116         * modules/unicase/u16-casecoll-tests (Files): Likewise.
9117         * modules/unicase/u16-casefold-tests (Files): Likewise.
9118         * modules/unicase/u16-is-cased-tests (Files): Likewise.
9119         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
9120         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
9121         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
9122         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
9123         * modules/unicase/u16-tolower-tests (Files): Likewise.
9124         * modules/unicase/u16-totitle-tests (Files): Likewise.
9125         * modules/unicase/u16-toupper-tests (Files): Likewise.
9126         * modules/unicase/u32-casecmp-tests (Files): Likewise.
9127         * modules/unicase/u32-casecoll-tests (Files): Likewise.
9128         * modules/unicase/u32-casefold-tests (Files): Likewise.
9129         * modules/unicase/u32-is-cased-tests (Files): Likewise.
9130         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
9131         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
9132         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
9133         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
9134         * modules/unicase/u32-tolower-tests (Files): Likewise.
9135         * modules/unicase/u32-totitle-tests (Files): Likewise.
9136         * modules/unicase/u32-toupper-tests (Files): Likewise.
9137         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
9138         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
9139         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
9140         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
9141         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
9142         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
9143         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
9144         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
9145         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
9146         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
9147         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
9148         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
9149         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
9150         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
9151         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
9152         * modules/unictype/bidicategory-name-tests (Files): Likewise.
9153         * modules/unictype/bidicategory-of-tests (Files): Likewise.
9154         * modules/unictype/bidicategory-test-tests (Files): Likewise.
9155         * modules/unictype/block-list-tests (Files): Likewise.
9156         * modules/unictype/block-of-tests (Files): Likewise.
9157         * modules/unictype/block-test-tests (Files): Likewise.
9158         * modules/unictype/category-C-tests (Files): Likewise.
9159         * modules/unictype/category-Cc-tests (Files): Likewise.
9160         * modules/unictype/category-Cf-tests (Files): Likewise.
9161         * modules/unictype/category-Cn-tests (Files): Likewise.
9162         * modules/unictype/category-Co-tests (Files): Likewise.
9163         * modules/unictype/category-Cs-tests (Files): Likewise.
9164         * modules/unictype/category-L-tests (Files): Likewise.
9165         * modules/unictype/category-Ll-tests (Files): Likewise.
9166         * modules/unictype/category-Lm-tests (Files): Likewise.
9167         * modules/unictype/category-Lo-tests (Files): Likewise.
9168         * modules/unictype/category-Lt-tests (Files): Likewise.
9169         * modules/unictype/category-Lu-tests (Files): Likewise.
9170         * modules/unictype/category-M-tests (Files): Likewise.
9171         * modules/unictype/category-Mc-tests (Files): Likewise.
9172         * modules/unictype/category-Me-tests (Files): Likewise.
9173         * modules/unictype/category-Mn-tests (Files): Likewise.
9174         * modules/unictype/category-N-tests (Files): Likewise.
9175         * modules/unictype/category-Nd-tests (Files): Likewise.
9176         * modules/unictype/category-Nl-tests (Files): Likewise.
9177         * modules/unictype/category-No-tests (Files): Likewise.
9178         * modules/unictype/category-P-tests (Files): Likewise.
9179         * modules/unictype/category-Pc-tests (Files): Likewise.
9180         * modules/unictype/category-Pd-tests (Files): Likewise.
9181         * modules/unictype/category-Pe-tests (Files): Likewise.
9182         * modules/unictype/category-Pf-tests (Files): Likewise.
9183         * modules/unictype/category-Pi-tests (Files): Likewise.
9184         * modules/unictype/category-Po-tests (Files): Likewise.
9185         * modules/unictype/category-Ps-tests (Files): Likewise.
9186         * modules/unictype/category-S-tests (Files): Likewise.
9187         * modules/unictype/category-Sc-tests (Files): Likewise.
9188         * modules/unictype/category-Sk-tests (Files): Likewise.
9189         * modules/unictype/category-Sm-tests (Files): Likewise.
9190         * modules/unictype/category-So-tests (Files): Likewise.
9191         * modules/unictype/category-Z-tests (Files): Likewise.
9192         * modules/unictype/category-Zl-tests (Files): Likewise.
9193         * modules/unictype/category-Zp-tests (Files): Likewise.
9194         * modules/unictype/category-Zs-tests (Files): Likewise.
9195         * modules/unictype/category-and-not-tests (Files): Likewise.
9196         * modules/unictype/category-and-tests (Files): Likewise.
9197         * modules/unictype/category-byname-tests (Files): Likewise.
9198         * modules/unictype/category-name-tests (Files): Likewise.
9199         * modules/unictype/category-none-tests (Files): Likewise.
9200         * modules/unictype/category-of-tests (Files): Likewise.
9201         * modules/unictype/category-or-tests (Files): Likewise.
9202         * modules/unictype/category-test-withtable-tests (Files): Likewise.
9203         * modules/unictype/combining-class-tests (Files): Likewise.
9204         * modules/unictype/ctype-alnum-tests (Files): Likewise.
9205         * modules/unictype/ctype-alpha-tests (Files): Likewise.
9206         * modules/unictype/ctype-blank-tests (Files): Likewise.
9207         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
9208         * modules/unictype/ctype-digit-tests (Files): Likewise.
9209         * modules/unictype/ctype-graph-tests (Files): Likewise.
9210         * modules/unictype/ctype-lower-tests (Files): Likewise.
9211         * modules/unictype/ctype-print-tests (Files): Likewise.
9212         * modules/unictype/ctype-punct-tests (Files): Likewise.
9213         * modules/unictype/ctype-space-tests (Files): Likewise.
9214         * modules/unictype/ctype-upper-tests (Files): Likewise.
9215         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
9216         * modules/unictype/decimal-digit-tests (Files): Likewise.
9217         * modules/unictype/digit-tests (Files): Likewise.
9218         * modules/unictype/mirror-tests (Files): Likewise.
9219         * modules/unictype/numeric-tests (Files): Likewise.
9220         * modules/unictype/property-alphabetic-tests (Files): Likewise.
9221         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
9222         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
9223         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
9224         Likewise.
9225         * modules/unictype/property-bidi-block-separator-tests (Files):
9226         Likewise.
9227         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
9228         Likewise.
9229         * modules/unictype/property-bidi-common-separator-tests (Files):
9230         Likewise.
9231         * modules/unictype/property-bidi-control-tests (Files): Likewise.
9232         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
9233         Likewise.
9234         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
9235         Likewise.
9236         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
9237         Likewise.
9238         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
9239         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
9240         Likewise.
9241         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
9242         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
9243         Likewise.
9244         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
9245         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
9246         * modules/unictype/property-bidi-segment-separator-tests (Files):
9247         Likewise.
9248         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
9249         * modules/unictype/property-byname-tests (Files): Likewise.
9250         * modules/unictype/property-combining-tests (Files): Likewise.
9251         * modules/unictype/property-composite-tests (Files): Likewise.
9252         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
9253         * modules/unictype/property-dash-tests (Files): Likewise.
9254         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
9255         * modules/unictype/property-default-ignorable-code-point-tests (Files):
9256         Likewise.
9257         * modules/unictype/property-deprecated-tests (Files): Likewise.
9258         * modules/unictype/property-diacritic-tests (Files): Likewise.
9259         * modules/unictype/property-extender-tests (Files): Likewise.
9260         * modules/unictype/property-format-control-tests (Files): Likewise.
9261         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
9262         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
9263         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
9264         * modules/unictype/property-hex-digit-tests (Files): Likewise.
9265         * modules/unictype/property-hyphen-tests (Files): Likewise.
9266         * modules/unictype/property-id-continue-tests (Files): Likewise.
9267         * modules/unictype/property-id-start-tests (Files): Likewise.
9268         * modules/unictype/property-ideographic-tests (Files): Likewise.
9269         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
9270         * modules/unictype/property-ids-trinary-operator-tests (Files):
9271         Likewise.
9272         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
9273         * modules/unictype/property-iso-control-tests (Files): Likewise.
9274         * modules/unictype/property-join-control-tests (Files): Likewise.
9275         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
9276         * modules/unictype/property-line-separator-tests (Files): Likewise.
9277         * modules/unictype/property-logical-order-exception-tests (Files):
9278         Likewise.
9279         * modules/unictype/property-lowercase-tests (Files): Likewise.
9280         * modules/unictype/property-math-tests (Files): Likewise.
9281         * modules/unictype/property-non-break-tests (Files): Likewise.
9282         * modules/unictype/property-not-a-character-tests (Files): Likewise.
9283         * modules/unictype/property-numeric-tests (Files): Likewise.
9284         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
9285         * modules/unictype/property-other-default-ignorable-code-point-tests
9286         (Files): Likewise.
9287         * modules/unictype/property-other-grapheme-extend-tests (Files):
9288         Likewise.
9289         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
9290         * modules/unictype/property-other-id-start-tests (Files): Likewise.
9291         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
9292         * modules/unictype/property-other-math-tests (Files): Likewise.
9293         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
9294         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
9295         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
9296         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
9297         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
9298         * modules/unictype/property-private-use-tests (Files): Likewise.
9299         * modules/unictype/property-punctuation-tests (Files): Likewise.
9300         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
9301         * modules/unictype/property-radical-tests (Files): Likewise.
9302         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
9303         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
9304         * modules/unictype/property-space-tests (Files): Likewise.
9305         * modules/unictype/property-terminal-punctuation-tests (Files):
9306         Likewise.
9307         * modules/unictype/property-test-tests (Files): Likewise.
9308         * modules/unictype/property-titlecase-tests (Files): Likewise.
9309         * modules/unictype/property-unassigned-code-value-tests (Files):
9310         Likewise.
9311         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
9312         * modules/unictype/property-uppercase-tests (Files): Likewise.
9313         * modules/unictype/property-variation-selector-tests (Files): Likewise.
9314         * modules/unictype/property-white-space-tests (Files): Likewise.
9315         * modules/unictype/property-xid-continue-tests (Files): Likewise.
9316         * modules/unictype/property-xid-start-tests (Files): Likewise.
9317         * modules/unictype/property-zero-width-tests (Files): Likewise.
9318         * modules/unictype/scripts-tests (Files): Likewise.
9319         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
9320         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
9321         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
9322         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
9323         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
9324         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
9325         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
9326         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
9327         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
9328         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
9329         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
9330         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
9331         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
9332         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
9333         * modules/uninorm/composition-tests (Files): Likewise.
9334         * modules/uninorm/decomposing-form-tests (Files): Likewise.
9335         * modules/uninorm/decomposition-tests (Files): Likewise.
9336         * modules/uninorm/filter-tests (Files): Likewise.
9337         * modules/uninorm/nfc-tests (Files): Likewise.
9338         * modules/uninorm/nfd-tests (Files): Likewise.
9339         * modules/uninorm/nfkc-tests (Files): Likewise.
9340         * modules/uninorm/nfkd-tests (Files): Likewise.
9341         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
9342         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
9343         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
9344         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
9345         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
9346         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
9347         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
9348         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
9349         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
9350         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
9351         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
9352         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
9353         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
9354         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
9355         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
9356         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
9357         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
9358         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
9359         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
9360         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
9361         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
9362         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
9363         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
9364         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
9365         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
9366         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
9367         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
9368         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
9369         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
9370         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
9371         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
9372         * modules/uniwidth/u8-width-tests (Files): Likewise.
9373         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
9374         * modules/uniwidth/u16-width-tests (Files): Likewise.
9375         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
9376         * modules/uniwidth/u32-width-tests (Files): Likewise.
9377         * modules/uniwidth/width-tests (Files): Likewise.
9378         * modules/unlink-tests (Files): Likewise.
9379         * modules/unsetenv-tests (Files): Likewise.
9380         * modules/usleep-tests (Files): Likewise.
9381         * modules/utimens-tests (Files): Likewise.
9382         * modules/utimensat-tests (Files): Likewise.
9383         * modules/vasnprintf-posix-tests (Files): Likewise.
9384         * modules/vasnprintf-tests (Files): Likewise.
9385         * modules/vasprintf-posix-tests (Files): Likewise.
9386         * modules/vasprintf-tests (Files): Likewise.
9387         * modules/vdprintf-posix-tests (Files): Likewise.
9388         * modules/vfprintf-posix-tests (Files): Likewise.
9389         * modules/vprintf-posix-tests (Files): Likewise.
9390         * modules/vsnprintf-posix-tests (Files): Likewise.
9391         * modules/vsnprintf-tests (Files): Likewise.
9392         * modules/vsprintf-posix-tests (Files): Likewise.
9393         * modules/wcrtomb-tests (Files): Likewise.
9394         * modules/wcsnrtombs-tests (Files): Likewise.
9395         * modules/wcsrtombs-tests (Files): Likewise.
9396         * modules/wctype-tests (Files): Likewise.
9397         * modules/wcwidth-tests (Files): Likewise.
9398         * modules/xmemdup0-tests (Files): Likewise.
9399         * modules/xprintf-posix-tests (Files): Likewise.
9400         * modules/xvasprintf-tests (Files): Likewise.
9401
9402 2009-12-24  Eric Blake  <ebb9@byu.net>
9403
9404         test-nanosleep: fix typo
9405         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
9406         patch.
9407         Reported by Bruno Haible.
9408
9409 2009-12-24  Bruno Haible  <bruno@clisp.org>
9410
9411         Reduce namespace pollution on glibc systems.
9412         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
9413         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
9414         systems.
9415         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
9416         <getopt.h> on glibc systems.
9417         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
9418         systems.
9419         * lib/fcntl.c: Include <unistd.h> here instead.
9420
9421 2009-12-24  Bruno Haible  <bruno@clisp.org>
9422
9423         * lib/stdlib.in.h (includes): Fix typo in today's commit.
9424
9425 2009-12-24  Eric Blake  <ebb9@byu.net>
9426
9427         tests: add signature checks
9428         * tests/signature.h (SIGNATURE_CHECK): New file.
9429         * modules/atexit-tests (Files): Use it.
9430         * modules/btowc-tests (Files): Likewise.
9431         * modules/canonicalize-lgpl-tests (Files): Likewise.
9432         * modules/ceilf-tests (Files): Likewise.
9433         * modules/ceill-tests (Files): Likewise.
9434         * modules/chown-tests (Files): Likewise.
9435         * modules/dprintf-posix-tests (Files): Likewise.
9436         * modules/dup2-tests (Files): Likewise.
9437         * modules/dup3-tests (Files): Likewise.
9438         * modules/duplocale-tests (Files): Likewise.
9439         * modules/fchdir-tests (Files): Likewise.
9440         * modules/fcntl-tests (Files): Likewise.
9441         * modules/fdopendir-tests (Files): Likewise.
9442         * modules/fflush-tests (Files): Likewise.
9443         * modules/flock-tests (Files): Likewise.
9444         * modules/floorf-tests (Files): Likewise.
9445         * modules/floorl-tests (Files): Likewise.
9446         * modules/fnmatch-tests (Files): Likewise.
9447         * modules/fopen-tests (Files): Likewise.
9448         * modules/fprintf-posix-tests (Files): Likewise.
9449         * modules/freopen-tests (Files): Likewise.
9450         * modules/frexp-nolibm-tests (Files): Likewise.
9451         * modules/frexp-tests (Files): Likewise.
9452         * modules/frexpl-nolibm-tests (Files): Likewise.
9453         * modules/frexpl-tests (Files): Likewise.
9454         * modules/fseek-tests (Files): Likewise.
9455         * modules/fseeko-tests (Files): Likewise.
9456         * modules/fsync-tests (Files): Likewise.
9457         * modules/ftell-tests (Files): Likewise.
9458         * modules/ftello-tests (Files): Likewise.
9459         * modules/futimens-tests (Files): Likewise.
9460         * modules/getaddrinfo-tests (Files): Likewise.
9461         * modules/getcwd-tests (Files): Likewise.
9462         * modules/getdelim-tests (Files): Likewise.
9463         * modules/getdtablesize-tests (Files): Likewise.
9464         * modules/getgroups-tests (Files): Likewise.
9465         * modules/gethostname-tests (Files): Likewise.
9466         * modules/getline-tests (Files): Likewise.
9467         * modules/getopt-posix-tests (Files): Likewise.
9468         * modules/gettimeofday-tests (Files): Likewise.
9469         * modules/glob-tests (Files): Likewise.
9470         * modules/iconv-tests (Files): Likewise.
9471         * modules/inet_ntop-tests (Files): Likewise.
9472         * modules/inet_pton-tests (Files): Likewise.
9473         * modules/isblank-tests (Files): Likewise.
9474         * modules/lchown-tests (Files): Likewise.
9475         * modules/ldexpl-tests (Files): Likewise.
9476         * modules/link-tests (Files): Likewise.
9477         * modules/linkat-tests (Files): Likewise.
9478         * modules/lseek-tests (Files): Likewise.
9479         * modules/lstat-tests (Files): Likewise.
9480         * modules/mbrtowc-tests (Files): Likewise.
9481         * modules/mbsinit-tests (Files): Likewise.
9482         * modules/mbsnrtowcs-tests (Files): Likewise.
9483         * modules/mbsrtowcs-tests (Files): Likewise.
9484         * modules/memchr-tests (Files): Likewise.
9485         * modules/memcmp-tests (Files): Likewise.
9486         * modules/memmem-tests (Files): Likewise.
9487         * modules/memrchr-tests (Files): Likewise.
9488         * modules/mkdir-tests (Files): Likewise.
9489         * modules/mkfifo-tests (Files): Likewise.
9490         * modules/mkfifoat-tests (Files): Likewise.
9491         * modules/mknod-tests (Files): Likewise.
9492         * modules/nanosleep-tests (Files): Likewise.
9493         * modules/nl_langinfo-tests (Files): Likewise.
9494         * modules/obstack-printf-tests (Files): Likewise.
9495         * modules/open-tests (Files): Likewise.
9496         * modules/openat-tests (Files): Likewise.
9497         * modules/perror-tests (Files): Likewise.
9498         * modules/pipe2-tests (Files): Likewise.
9499         * modules/poll-tests (Files): Likewise.
9500         * modules/popen-tests (Files): Likewise.
9501         * modules/posix_spawn-tests (Files): Likewise.
9502         * modules/posix_spawnp-tests (Files): Likewise.
9503         * modules/pread-tests (Files): Likewise.
9504         * modules/printf-posix-tests (Files): Likewise.
9505         * modules/pty-tests (Files): Likewise.
9506         * modules/random_r-tests (Files): Likewise.
9507         * modules/rawmemchr-tests (Files): Likewise.
9508         * modules/readlink-tests (Files): Likewise.
9509         * modules/remove-tests (Files): Likewise.
9510         * modules/rename-tests (Files): Likewise.
9511         * modules/renameat-tests (Files): Likewise.
9512         * modules/rmdir-tests (Files): Likewise.
9513         * modules/round-tests (Files): Likewise.
9514         * modules/roundf-tests (Files): Likewise.
9515         * modules/roundl-tests (Files): Likewise.
9516         * modules/select-tests (Files): Likewise.
9517         * modules/setenv-tests (Files): Likewise.
9518         * modules/sigaction-tests (Files): Likewise.
9519         * modules/sleep-tests (Files): Likewise.
9520         * modules/snprintf-posix-tests (Files): Likewise.
9521         * modules/snprintf-tests (Files): Likewise.
9522         * modules/sprintf-posix-tests (Files): Likewise.
9523         * modules/stat-tests (Files): Likewise.
9524         * modules/strcasestr-tests (Files): Likewise.
9525         * modules/strchrnul-tests (Files): Likewise.
9526         * modules/strerror-tests (Files): Likewise.
9527         * modules/strsignal-tests (Files): Likewise.
9528         * modules/strstr-tests (Files): Likewise.
9529         * modules/strtod-tests (Files): Likewise.
9530         * modules/strverscmp-tests (Files): Likewise.
9531         * modules/symlink-tests (Files): Likewise.
9532         * modules/symlinkat-tests (Files): Likewise.
9533         * modules/times-tests (Files): Likewise.
9534         * modules/trunc-tests (Files): Likewise.
9535         * modules/truncf-tests (Files): Likewise.
9536         * modules/truncl-tests (Files): Likewise.
9537         * modules/tsearch-tests (Files): Likewise.
9538         * modules/uname-tests (Files): Likewise.
9539         * modules/unlink-tests (Files): Likewise.
9540         * modules/unsetenv-tests (Files): Likewise.
9541         * modules/usleep-tests (Files): Likewise.
9542         * modules/utimensat-tests (Files): Likewise.
9543         * modules/vasprintf-tests (Files): Likewise.
9544         * modules/vdprintf-posix-tests (Files): Likewise.
9545         * modules/vfprintf-posix-tests (Files): Likewise.
9546         * modules/vprintf-posix-tests (Files): Likewise.
9547         * modules/vsnprintf-posix-tests (Files): Likewise.
9548         * modules/vsnprintf-tests (Files): Likewise.
9549         * modules/vsprintf-posix-tests (Files): Likewise.
9550         * modules/wcrtomb-tests (Files): Likewise.
9551         * modules/wcsnrtombs-tests (Files): Likewise.
9552         * modules/wcsrtombs-tests (Files): Likewise.
9553         * modules/wcwidth-tests (Files): Likewise.
9554         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
9555         * tests/test-isinf.c (isinf): Likewise.
9556         * tests/test-isnan.c (isnan): Likewise.
9557         * tests/test-signbit.c (signbit): Likewise.
9558         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
9559         declaration, either as macro or with correct signature.
9560         (select): Ensure function under test is declared with correct
9561         signature in correct header.
9562         * tests/test-atexit.c (atexit): Likewise.
9563         * tests/test-btowc.c (btowc): Likewise.
9564         * tests/test-canonicalize-lgpl.c (realpath)
9565         (canonicalize_file_name): Likewise.
9566         * tests/test-ceilf1.c (ceilf): Likewise.
9567         * tests/test-ceill.c (ceill): Likewise.
9568         * tests/test-chown.c (chown): Likewise.
9569         * tests/test-dprintf-posix.c (dprintf): Likewise.
9570         * tests/test-dup2.c (dup2): Likewise.
9571         * tests/test-dup3.c (dup3): Likewise.
9572         * tests/test-duplocale.c (duplocale): Likewise.
9573         * tests/test-fchdir.c (fchdir): Likewise.
9574         * tests/test-fchownat.c (fchownat): Likewise.
9575         * tests/test-fcntl.c (fcntl): Likewise.
9576         * tests/test-fdopendir.c (fdopendir): Likewise.
9577         * tests/test-fflush.c (fflush): Likewise.
9578         * tests/test-flock.c (flock): Likewise.
9579         * tests/test-floorf1.c (floorf): Likewise.
9580         * tests/test-floorl.c (floorl): Likewise.
9581         * tests/test-fnmatch.c (fnmatch): Likewise.
9582         * tests/test-fopen.c (fopen): Likewise.
9583         * tests/test-fprintf-posix.c (fprintf): Likewise.
9584         * tests/test-freopen.c (freopen): Likewise.
9585         * tests/test-frexp.c (frexp): Likewise.
9586         * tests/test-frexpl.c (frexpl): Likewise.
9587         * tests/test-fseek.c (fseek): Likewise.
9588         * tests/test-fseeko.c (fseeko): Likewise.
9589         * tests/test-fstatat.c (fstatat): Likewise.
9590         * tests/test-fsync.c (fsync): Likewise.
9591         * tests/test-ftell.c (ftell): Likewise.
9592         * tests/test-ftello.c (ftello): Likewise.
9593         * tests/test-futimens.c (futimens): Likewise.
9594         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
9595         (gai_strerror): Likewise.
9596         * tests/test-getcwd.c (getcwd): Likewise.
9597         * tests/test-getdelim.c (getdelim): Likewise.
9598         * tests/test-getdtablesize.c (getdtablesize): Likewise.
9599         * tests/test-getgroups.c (getgroups): Likewise.
9600         * tests/test-gethostname.c (gethostname): Likewise.
9601         * tests/test-getline.c (getline): Likewise.
9602         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
9603         Likewise.
9604         * tests/test-gettimeofday.c (gettimeofday): Likewise.
9605         * tests/test-glob.c (glob, globfree): Likewise.
9606         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
9607         * tests/test-inet_ntop.c (inet_ntop): Likewise.
9608         * tests/test-inet_pton.c (inet_pton): Likewise.
9609         * tests/test-isblank.c (isblank): Likewise.
9610         * tests/test-lchown.c (lchown): Likewise.
9611         * tests/test-ldexpl.c (ldexpl): Likewise.
9612         * tests/test-link.c (link): Likewise.
9613         * tests/test-linkat.c (linkat): Likewise.
9614         * tests/test-lseek.c (lseek): Likewise.
9615         * tests/test-lstat.c (lstat): Likewise.
9616         * tests/test-mbrtowc.c (mbrtowc): Likewise.
9617         * tests/test-mbsinit.c (mbsinit): Likewise.
9618         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
9619         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
9620         * tests/test-memchr.c (memchr): Likewise.
9621         * tests/test-memcmp.c (memcmp): Likewise.
9622         * tests/test-memmem.c (memmem): Likewise.
9623         * tests/test-memrchr.c (memrchr): Likewise.
9624         * tests/test-mkdir.c (mkdir): Likewise.
9625         * tests/test-mkdirat.c (mkdirat): Likewise.
9626         * tests/test-mkfifo.c (mkfifo): Likewise.
9627         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
9628         * tests/test-mknod.c (mknod): Likewise.
9629         * tests/test-nanosleep.c (nanosleep): Likewise.
9630         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
9631         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
9632         Likewise.
9633         * tests/test-open.c (open): Likewise.
9634         * tests/test-openat.c (openat): Likewise.
9635         * tests/test-perror.c (perror): Likewise.
9636         * tests/test-pipe2.c (pipe2): Likewise.
9637         * tests/test-poll.c (poll): Likewise.
9638         * tests/test-popen.c (popen, pclose): Likewise.
9639         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
9640         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
9641         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
9642         (posix_spawn_file_actions_destroy)
9643         (posix_spawn_file_actions_addclose)
9644         (posix_spawn_file_actions_addopen)
9645         (posix_spawn_file_actions_adddup2): Likewise.
9646         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
9647         * tests/test-pread.c (pread): Likewise.
9648         * tests/test-printf-posix.c (printf): Likewise.
9649         * tests/test-pty.c (openpty, forkpty): Likewise.
9650         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
9651         (random_r): Likewise.
9652         * tests/test-rawmemchr.c (rawmemchr): Likewise.
9653         * tests/test-readlink.c (readlink): Likewise.
9654         * tests/test-remove.c (remove): Likewise.
9655         * tests/test-rename.c (rename): Likewise.
9656         * tests/test-renameat.c (renameat): Likewise.
9657         * tests/test-rmdir.c (rmdir): Likewise.
9658         * tests/test-round1.c (round): Likewise.
9659         * tests/test-roundf1.c (roundf): Likewise.
9660         * tests/test-roundl.c (roundl): Likewise.
9661         * tests/test-setenv.c (setenv): Likewise.
9662         * tests/test-sigaction.c (sigaction): Likewise.
9663         * tests/test-sleep.c (sleep): Likewise.
9664         * tests/test-snprintf.c (snprintf): Likewise.
9665         * tests/test-sprintf-posix.c (sprintf): Likewise.
9666         * tests/test-stat.c (stat): Likewise.
9667         * tests/test-stpncpy.c (stpncpy): Likewise.
9668         * tests/test-strcasestr.c (strcasestr): Likewise.
9669         * tests/test-strchrnul.c (strchrnul): Likewise.
9670         * tests/test-strerror.c (strerror): Likewise.
9671         * tests/test-strsignal.c (strsignal): Likewise.
9672         * tests/test-strstr.c (strstr): Likewise.
9673         * tests/test-strtod.c (strtod): Likewise.
9674         * tests/test-strverscmp.c (strverscmp): Likewise.
9675         * tests/test-symlink.c (symlink): Likewise.
9676         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
9677         * tests/test-times.c (times): Likewise.
9678         * tests/test-trunc1.c (trunc): Likewise.
9679         * tests/test-truncf1.c (truncf): Likewise.
9680         * tests/test-truncl.c (truncl): Likewise.
9681         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
9682         Likewise.
9683         * tests/test-uname.c (uname): Likewise.
9684         * tests/test-unlink.c (unlink): Likewise.
9685         * tests/test-unlinkat.c (unlinkat): Likewise.
9686         * tests/test-unsetenv.c (unsetenv): Likewise.
9687         * tests/test-usleep.c (usleep): Likewise.
9688         * tests/test-utimensat.c (utimensat): Likewise.
9689         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
9690         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
9691         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
9692         * tests/test-vprintf-posix.c (vprintf): Likewise.
9693         * tests/test-vsnprintf.c (vsnprintf): Likewise.
9694         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
9695         * tests/test-wcrtomb.c (wcrtomb): Likewise.
9696         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
9697         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
9698         * tests/test-wcwidth.c (wcwidth): Likewise.
9699
9700         build: pull in conditional headers during GNULIB_POSIXCHECK
9701         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
9702         definitions from any conditionally-included headers.
9703         * lib/stdlib.in.h (includes): Likewise.
9704         * lib/unistd.in.h (includes): Likewise.
9705
9706 2009-12-24  Bruno Haible  <bruno@clisp.org>
9707
9708         * tests/test-argv-iter.c: Include header file being tested immediately
9709         after config.h.
9710         * tests/test-base64.c: Likewise.
9711         * tests/test-flock.c: Likewise.
9712         * tests/test-fsync.c: Likewise.
9713         * tests/test-getdate.c: Likewise.
9714         * tests/test-getndelim2.c: Likewise.
9715         * tests/test-isfinite.c: Likewise.
9716         * tests/test-isinf.c: Likewise.
9717         * tests/test-strerror.c: Likewise.
9718         * tests/test-strsignal.c: Likewise.
9719
9720 2009-12-23  Eric Blake  <ebb9@byu.net>
9721
9722         unistd: work around cygwin bug
9723         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
9724         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
9725         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
9726
9727 2009-12-23  Bruno Haible  <bruno@clisp.org>
9728
9729         localename: More tests.
9730         * tests/test-localename.c (SIZEOF): New macro.
9731         (categories): New variable.
9732         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
9733         test_locale_name_default): Add test w.r.t. thread locale.
9734         (test_locale_name_thread): New function.
9735         (main): Invoke it.
9736
9737         localename: Make aware of thread locale.
9738         * lib/localename.h (gl_locale_name_thread): New declaration.
9739         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
9740         behaviour with respect to thread locale.
9741         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
9742         <langinfo.h>, glthread/lock.h.
9743         (SIZE_BITS): New macro.
9744         (string_hash): New function.
9745         (struct hash_node): New type.
9746         (HASH_TABLE_SIZE): New macro.
9747         (struniq_hash_table, struniq_lock): New variables.
9748         (struniq): New function.
9749         (gl_locale_name_thread): New function.
9750         (gl_locale_name): Invoke it.
9751         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
9752         * modules/localename (Depends-on): Add lock.
9753         Reported by Mike Gran <spk121@yahoo.com>.
9754
9755 2009-12-23  Eric Blake  <ebb9@byu.net>
9756
9757         va-args: new module
9758         * modules/va-args: New file.
9759         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
9760         * MODULES.html.sh (Core language properties): Mention it.
9761
9762         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
9763         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
9764         named alias for __attribute__((__unused__)).
9765         * lib/chown.c: Update client.
9766         * lib/fchmodat.c: Likewise.
9767         * lib/fts.c: Likewise.
9768         * lib/getdate.y: Likewise.
9769         * lib/getgroups.c: Likewise.
9770         * lib/getopt.c: Likewise.
9771         * lib/getugroups.c: Likewise.
9772         * lib/mkdir.c: Likewise.
9773         * lib/mkfifo.c: Likewise.
9774         * lib/mkfifoat.c: Likewise.
9775         * lib/mknod.c: Likewise.
9776         * lib/mknodat.c: Likewise.
9777         * lib/readlink.c: Likewise.
9778         * lib/se-context.in.h: Likewise.
9779         * lib/se-selinux.in.h: Likewise.
9780         * lib/sockets.c: Likewise.
9781         * lib/symlink.c: Likewise.
9782         * lib/symlinkat.c: Likewise.
9783         * lib/unicodeio.c: Likewise.
9784         * lib/unistr.h: Likewise.
9785         * tests/test-areadlink.c: Likewise.
9786         * tests/test-areadlinkat.c: Likewise.
9787         * tests/test-filenamecat.c: Likewise.
9788         * tests/test-fseeko.c: Likewise.
9789         * tests/test-ftello.c: Likewise.
9790         * tests/test-getdate.c: Likewise.
9791         * tests/test-getgroups.c: Likewise.
9792         * tests/test-gethostname.c: Likewise.
9793         * tests/test-quotearg.c: Likewise.
9794         * tests/test-version-etc.c: Likewise.
9795         * tests/test-xalloc-die.c: Likewise.
9796         * tests/test-xfprintf-posix.c: Likewise.
9797         * tests/test-xprintf-posix.c: Likewise.
9798         * tests/test-xvasprintf.c: Likewise.
9799
9800         tests: avoid compiler warnings
9801         * tests/test-fcntl.c (main): Delete unused parameters.
9802         * tests/test-freopen-safer.c (main): Likewise.
9803         * tests/test-xalloc-die.c (main): Mark unused parameters.
9804         * tests/test-fseeko.c (main): Likewise.
9805         * tests/test-ftello.c (main): Likewise.
9806         * tests/test-nanosleep.c (main): Avoid declaration warning.
9807         * tests/test-sleep.c (main): Likewise.
9808         * tests/test-unsetenv.c (main): Silence warning about string
9809         literal.
9810         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
9811
9812 2009-12-23  Bruno Haible  <bruno@clisp.org>
9813
9814         * tests/test-localename.c (test_locale_name): New function, extracted
9815         from main. Also test mixed situations.
9816         (test_locale_name_posix, test_locale_name_environ,
9817         test_locale_name_default): New functions.
9818         (main): Invoke them all.
9819         * modules/localename-tests (configure.ac): Test for newlocale.
9820
9821 2009-12-23  Bruno Haible  <bruno@clisp.org>
9822
9823         unistd: Ensure getcwd gets declared before being overridden.
9824         * lib/unistd.in.h: Conditionally include <io.h>.
9825
9826 2009-12-22  Bruno Haible  <bruno@clisp.org>
9827
9828         wchar: Diagnose broken combination of glibc and gcc versions and flags.
9829         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
9830         (gl_WCHAR_H): Invoke it.
9831         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
9832         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
9833         Reported by Karl Berry <karl@freefriends.org>.
9834
9835 2009-12-22  Eric Blake  <ebb9@byu.net>
9836
9837         math, unistd: avoid redundant includes
9838         * lib/math.in.h (isnan): No need to re-include <math.h>.
9839         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
9840
9841         getsubopt: work around cygwin bug
9842         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
9843         avoid conflicting with system getsubopt.
9844         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
9845         bug.
9846
9847         getopt: synchronize from glibc
9848         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
9849         parameter order.  Adjust all callers.
9850         (_getopt_internal_r, main): Adjust quoting in error messages.
9851         Drop considerations for outdated POSIX 1003.2 error message.
9852         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
9853         callers.
9854         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
9855
9856         test-getopt: test stderr behavior
9857         * modules/getopt-posix-tests (Depends-on): Add dup2.
9858         * tests/test-getopt.c (ASSERT): Avoid stderr.
9859         (main): Move stderr to a temporary file.
9860         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
9861         Instead, add parameter to inform caller if output occurred.
9862         (test_getopt): Adjust all existing tests to expect silence, and
9863         add new tests of leading ":".
9864         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
9865         glibc shortcomings with leading "-:" or "+:" in optstring.
9866         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
9867         Likewise.
9868         * doc/posix-functions/getopt.texi (getopt): Likewise.
9869
9870         test-getopt: enhance test
9871         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
9872         supports optind=0.
9873         * tests/test-getopt.c (OPTIND_MIN): Move...
9874         * tests/test-getopt.h (OPTIND_MIN): ...here.
9875         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
9876         Require that optind=0 works, since modern BSD supports it in
9877         addition to optreset, and since coreutils expects it.
9878         (test_getopt_long_only): New test.
9879         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
9880         glibc shortcomings with 'W;', and enforcement of optind=0.
9881         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
9882         Likewise.
9883
9884 2009-12-21  Bruno Haible  <bruno@clisp.org>
9885
9886         localename: Improvements for MacOS X and Cygwin.
9887         * lib/localename.h (gl_locale_name_environ): New declaration.
9888         * lib/localename.c (gl_locale_name_environ): New function, extracted from
9889         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
9890         (gl_locale_name_posix): Invoke it.
9891         (gl_locale_name_default): Add comments. Use Windows native API also on
9892         Cygwin.
9893
9894 2009-12-21  Bruno Haible  <bruno@clisp.org>
9895
9896         Update list of Win32 locale ids.
9897         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
9898         (LANG_SAMI): Renamed from LANG_SAAMI.
9899         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
9900         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
9901         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
9902         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
9903         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
9904         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
9905         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
9906         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
9907         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
9908         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
9909         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
9910         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
9911         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
9912         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
9913         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
9914         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
9915         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
9916         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
9917         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
9918         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
9919         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
9920         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
9921         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
9922         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
9923         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
9924         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
9925         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
9926         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
9927         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
9928         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
9929         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
9930         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
9931         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
9932         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
9933         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
9934         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
9935         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
9936         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
9937         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
9938         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
9939         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
9940         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
9941         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
9942         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
9943         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
9944         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
9945         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
9946         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
9947         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
9948         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
9949         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
9950         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
9951         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
9952         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
9953         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
9954         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
9955         Add more languages and countries for Sami, Sorbian. Add more countries
9956         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
9957         for Pashto. Change country for Syriac, Tswana.
9958
9959 2009-12-21  Eric Blake  <ebb9@byu.net>
9960
9961         test-utimens: avoid spurious failure
9962         * tests/test-chown.h (nap): Factor...
9963         * tests/nap.h: ...into new file.
9964         * tests/test-lchown.h (nap): Avoid duplication.
9965         * tests/test-utimens-common.h (nap): Use shared implementation,
9966         necessary on file systems with 1-second resolution.
9967         * modules/chown-tests (Files): Include new file.
9968         * modules/fdutimensat-tests (Files): Likewise.
9969         * modules/futimens-tests (Files): Likewise.
9970         * modules/lchown-tests (Files): Likewise.
9971         * modules/openat-tests (Files): Likewise.
9972         * modules/utimens-tests (Files): Likewise.
9973         * modules/utimensat-tests (Files): Likewise.
9974
9975 2009-12-19  Eric Blake  <ebb9@byu.net>
9976
9977         futimens, utimensat: work around Linux bug
9978         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
9979         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
9980         * lib/utimensat.c (rpl_utimensat): Work around it.
9981         * lib/futimens.c (rpl_futimens): Adjust comment.
9982
9983         utimens: work around Linux ctime bug
9984         * lib/utimens.c (detect_ctime_bug): New helper function.
9985         (update_timespec): Differentiate between workaround needed for
9986         this bug vs. what is needed for systems that lack utimensat.
9987         (fdutimens, lutimens): Work around bug.
9988
9989         utimens: check for ctime update
9990         * tests/test-utimens-common.h (check_ctime): Define.
9991         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
9992         * tests/test-futimens.h (test_futimens): Likewise.
9993         * tests/test-lutimens.h (test_lutimens): Likewise.
9994         * doc/posix-functions/futimens.texi (futimens): Document the bug.
9995         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
9996
9997 2009-12-19  Bruno Haible  <bruno@clisp.org>
9998
9999         dprintf-posix: Check against memory leak fixed on 2009-12-15.
10000         * tests/test-dprintf-posix2.sh: New file.
10001         * tests/test-dprintf-posix2.c: New file.
10002         * modules/dprintf-posix-tests (Files): Add them.
10003         (configure.ac): Check for getrlimit and setrlimit.
10004         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
10005
10006 2009-12-19  Bruno Haible  <bruno@clisp.org>
10007
10008         fprintf-posix: Check against memory leak fixed on 2009-12-15.
10009         * tests/test-fprintf-posix3.sh: New file.
10010         * tests/test-fprintf-posix3.c: New file.
10011         * modules/fprintf-posix-tests (Files): Add them.
10012         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
10013
10014 2009-12-19  Eric Blake  <ebb9@byu.net>
10015
10016         dirfd: fix prototype
10017         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
10018         * lib/dirfd.c (dirfd): Likewise.
10019
10020         canonicalize: reduce memory usage
10021         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
10022         allocation to size.
10023         Reported by Solar Designer <solar@openwall.com>.
10024
10025 2009-12-19  Bruno Haible  <bruno@clisp.org>
10026
10027         New module attribute 'Applicability'.
10028         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
10029         * gnulib-tool: New option --extract-applicability.
10030         (func_usage): Document it.
10031         (sed_extract_prog): Recognize it.
10032         (func_get_applicability): New function.
10033         (func_import): Generalize handling of 'link-warning' module.
10034         * modules/link-warning (Applicability): New section.
10035         * modules/arg-nonnull (Applicability): New section.
10036         Repoted by Simon Josefsson <simon@josefsson.org>.
10037
10038 2009-12-19  Bruno Haible  <bruno@clisp.org>
10039
10040         fflush: tweak
10041         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
10042         * lib/fseeko.c (rpl_fseeko): Likewise.
10043
10044 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
10045
10046         * lib/gl_list.h: Fix typo in comment.
10047
10048 2009-12-16  Eric Blake  <ebb9@byu.net>
10049
10050         fcntl: use to simplify other modules
10051         * modules/cloexec (Depends-on): Add fcntl.
10052         * modules/fchdir (Depends-on): Likewise.
10053         * modules/fd-safer-flag (Depends-on): Likewise.
10054         * modules/unistd-safer (Depends-on): Likewise.
10055         * modules/dup3 (configure.ac): Set module indicator.
10056         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
10057         missing.
10058         * lib/fchdir.c (_gl_register_dup): Fix comment.
10059         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
10060         * lib/dup-safer.c (dup_safer): Likewise.
10061         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
10062         * lib/dup3.c (dup3): Likewise.
10063         * tests/test-fchdir.c (main): Enhance test.
10064         Fixes a dup_cloexec bug reported by Ondřej Vašík.
10065
10066         fcntl: port portions of fcntl to mingw
10067         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
10068         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
10069         replacement for mingw.
10070         * modules/fcntl (Description): Update.
10071         (Depends-on): Add dup2.
10072         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
10073         * modules/fcntl-h (Makefile.am): Substitute it.
10074         * lib/fcntl.in.h (fcntl): Update declaration.
10075         (F_DUPFD, F_GETFD): New macros, when needed.
10076         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
10077         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
10078         * tests/test-fcntl.c (check_flags, main): Enhance test for items
10079         we now guarantee.
10080
10081         fcntl: work around cygwin bug in F_DUPFD
10082         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
10083         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
10084         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
10085         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
10086         * doc/posix-functions/fcntl.texi (fcntl): Document it.
10087
10088         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
10089         * modules/fcntl (Files): List new files.
10090         (configure.ac): Run a test.
10091         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
10092         * lib/fcntl.c (rpl_fcntl): Likewise.
10093         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
10094         (gl_FCNTL_H): Always replace fcntl.h.
10095         * modules/fcntl-h (Makefile.am): Substitute witnesses.
10096         * lib/fcntl.in.h (fcntl): Declare replacement.
10097         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
10098         needed, plus a witness.
10099         * doc/posix-functions/fcntl.texi (fcntl): Document this.
10100         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
10101         * tests/test-fcntl.c: New file.
10102         * modules/fcntl-tests: Likewise.
10103
10104         binary-io: avoid potential compilation warning
10105         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
10106         directives.
10107
10108         fflush: avoid compilation error on NetBSD
10109         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
10110         between off_t and fpos_t, since the latter is sometimes a struct.
10111         * lib/fseeko.c (rpl_fseeko): Likewise.
10112         Reported by Alexander Nasonov <alnsn@yandex.ru>.
10113
10114 2009-12-15  Eric Blake  <ebb9@byu.net>
10115
10116         fcntl-h, stdio, sys_ioctl: fix declarations
10117         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
10118         function must not take arguments.
10119         * lib/sys_ioctl.in.h (ioctl): Likewise.
10120         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
10121         (open): Add a link warning.
10122
10123 2009-12-15  Jim Meyering  <meyering@redhat.com>
10124
10125         areadlink, areadlink-with-size: relax license to LGPLv2+
10126         * modules/areadlink (License): Relax to LGPLv2+.
10127         * modules/areadlink-with-size (License): Likewise.
10128
10129 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
10130             Bruno Haible  <bruno@clisp.org>
10131
10132         *printf: Fix memory leak.
10133         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
10134         * lib/vfprintf.c (vfprintf): Likewise.
10135         * lib/dprintf.c (dprintf): Likewise.
10136         * lib/vdprintf.c (vdprintf): Likewise.
10137
10138 2009-12-14  Eric Blake  <ebb9@byu.net>
10139
10140         accept4: adjust module dependencies
10141         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
10142
10143         utimens: one more try at avoiding compiler warning
10144         * lib/utimens.c (lutimens): Lower scope of result.
10145
10146 2009-12-13  Bruno Haible  <bruno@clisp.org>
10147
10148         Move the malloc checking from module 'list' to new module 'xlist'.
10149         * modules/xlist: New file.
10150         * lib/gl_xlist.h: New file.
10151         * lib/gl_xlist.c: New file.
10152         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
10153         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
10154         gl_list_add_last, gl_list_add_before, gl_list_add_after,
10155         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
10156         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
10157         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
10158         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
10159         gl_sortedlist_nx_add): New declarations.
10160         (struct gl_list_implementation): Rename and change methods accordingly.
10161         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
10162         (gl_list_nx_create): Renamed from gl_list_create.
10163         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
10164         (gl_list_nx_set_at): Renamed from gl_list_set_at.
10165         (gl_list_nx_add_first): Renamed from gl_list_add_first.
10166         (gl_list_nx_add_last): Renamed from gl_list_add_last.
10167         (gl_list_nx_add_before): Renamed from gl_list_add_before.
10168         (gl_list_nx_add_after): Renamed from gl_list_add_after.
10169         (gl_list_nx_add_at): Renamed from gl_list_add_at.
10170         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
10171         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
10172         gl_list_create_empty.
10173         (gl_list_nx_create): Renamed from gl_list_create.
10174         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
10175         (gl_list_nx_set_at): Renamed from gl_list_set_at.
10176         (gl_list_nx_add_first): Renamed from gl_list_add_first.
10177         (gl_list_nx_add_last): Renamed from gl_list_add_last.
10178         (gl_list_nx_add_before): Renamed from gl_list_add_before.
10179         (gl_list_nx_add_after): Renamed from gl_list_add_after.
10180         (gl_list_nx_add_at): Renamed from gl_list_add_at.
10181         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
10182         * lib/gl_array_list.c: Don't include xalloc.h.
10183         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
10184         NULL upon out-of-memory.
10185         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
10186         out-of-memory.
10187         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
10188         Change return type to 'int'.
10189         (gl_array_nx_set_at): Renamed from gl_array_set_at.
10190         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
10191         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
10192         upon out-of-memory.
10193         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
10194         upon out-of-memory.
10195         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
10196         upon out-of-memory.
10197         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
10198         upon out-of-memory.
10199         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
10200         out-of-memory.
10201         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
10202         Update.
10203         (gl_array_list_implementation): Update.
10204         * lib/gl_carray_list.c: Don't include xalloc.h.
10205         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
10206         Return NULL upon out-of-memory.
10207         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
10208         out-of-memory.
10209         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
10210         Change return type to 'int'.
10211         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
10212         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
10213         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
10214         upon out-of-memory.
10215         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
10216         upon out-of-memory.
10217         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
10218         out-of-memory.
10219         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
10220         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
10221         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
10222         Update.
10223         (gl_carray_list_implementation): Update.
10224         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
10225         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
10226         gl_linked_create_empty. Return NULL upon out-of-memory.
10227         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
10228         out-of-memory.
10229         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
10230         Change return type to 'int'. Return -1 upon out-of-memory.
10231         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
10232         out-of-memory.
10233         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
10234         upon out-of-memory.
10235         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
10236         upon out-of-memory.
10237         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
10238         NULL upon out-of-memory.
10239         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
10240         upon out-of-memory.
10241         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
10242         out-of-memory.
10243         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
10244         Update.
10245         * lib/gl_linked_list.c: Don't include xalloc.h.
10246         (gl_linked_list_implementation): Update.
10247         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
10248         (add_to_bucket): Change return type to 'int'.
10249         (gl_linkedhash_list_implementation): Update.
10250         * lib/gl_anytree_list1.h (free_subtree): New function.
10251         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
10252         gl_tree_create_empty. Return NULL upon out-of-memory.
10253         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
10254         Change return type to 'int'. Return -1 upon out-of-memory.
10255         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
10256         out-of-memory.
10257         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
10258         (gl_tree_remove_node): New function, moved here from
10259         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
10260         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
10261         Update.
10262         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
10263         malloc, not xmalloc. Return NULL upon out-of-memory.
10264         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
10265         out-of-memory.
10266         (gl_tree_remove_node_from_tree): New function, extracted from
10267         gl_tree_remove_node.
10268         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
10269         upon out-of-memory.
10270         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
10271         out-of-memory.
10272         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
10273         upon out-of-memory.
10274         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
10275         upon out-of-memory.
10276         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
10277         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
10278         not xmalloc. Return NULL upon out-of-memory.
10279         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
10280         out-of-memory.
10281         (gl_tree_remove_node_from_tree): New function, extracted from
10282         gl_tree_remove_node.
10283         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
10284         upon out-of-memory.
10285         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
10286         out-of-memory.
10287         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
10288         upon out-of-memory.
10289         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
10290         upon out-of-memory.
10291         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
10292         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
10293         gl_anytree_list1.h before gl_anyavltree_list2.h.
10294         (gl_avltree_list_implementation): Update.
10295         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
10296         gl_anytree_list1.h before gl_anyavltree_list2.h.
10297         (gl_rbtree_list_implementation): Update.
10298         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
10299         Change return type to 'int'. Return -1 upon out-of-memory. Use
10300         __builtin_expect.
10301         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
10302         (gl_avltreehash_list_implementation): Update.
10303         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
10304         (gl_rbtreehash_list_implementation): Update.
10305         * modules/array-list (Depends-on): Remove xalloc.
10306         * modules/carray-list (Depends-on): Likewise.
10307         * modules/linked-list (Depends-on): Likewise.
10308         * modules/linkedhash-list (Depends-on): Likewise.
10309         * modules/avltree-list (Depends-on): Likewise.
10310         * modules/rbtree-list (Depends-on): Likewise.
10311         * modules/avltreehash-list (Depends-on): Likewise.
10312         * modules/rbtreehash-list (Depends-on): Likewise.
10313
10314         * modules/xsublist: New file.
10315         * lib/gl_xsublist.h: New file.
10316         * lib/gl_xsublist.c: New file.
10317         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
10318         (gl_sublist_nx_create): New declaration.
10319         * lib/gl_sublist.c: Don't include xalloc.h.
10320         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
10321         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
10322         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
10323         Change return type to 'int'. Return -1 upon out-of-memory.
10324         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
10325         upon out-of-memory.
10326         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
10327         NULL upon out-of-memory.
10328         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
10329         upon out-of-memory.
10330         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
10331         NULL upon out-of-memory.
10332         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
10333         NULL upon out-of-memory.
10334         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
10335         upon out-of-memory.
10336         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
10337         (gl_sublist_list_implementation): Update.
10338         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
10339         upon out-of-memory.
10340         * modules/sublist (Depends-on): Remove xalloc.
10341
10342         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
10343         * tests/test-carray_list.c: Likewise.
10344         * tests/test-linked_list.c: Likewise.
10345         * tests/test-linkedhash_list.c: Likewise.
10346         * tests/test-avltree_list.c: Likewise.
10347         * tests/test-rbtree_list.c: Likewise.
10348         * tests/test-avltreehash_list.c: Likewise.
10349         * tests/test-rbtreehash_list.c: Likewise.
10350         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
10351         * modules/carray-list-tests (Makefile.am): Likewise.
10352         * modules/linked-list-tests (Makefile.am): Likewise.
10353         * modules/linkedhash-list-tests (Makefile.am): Likewise.
10354         * modules/avltree-list-tests (Makefile.am): Likewise.
10355         * modules/rbtree-list-tests (Makefile.am): Likewise.
10356         * modules/avltreehash-list-tests (Makefile.am): Likewise.
10357         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
10358
10359         * NEWS: Mention the changes.
10360
10361         * lib/clean-temp.c: Include gl_xlist.h.
10362         * modules/clean-temp (Depends-on): Add xlist.
10363
10364         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
10365         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
10366
10367         * tests/test-array_oset.c: Include gl_xlist.h.
10368         * modules/array-oset-tests (Depends-on): Add xlist.
10369
10370         Reported by José E. Marchesi <jemarch@gnu.org>.
10371
10372 2009-12-13  Bruno Haible  <bruno@clisp.org>
10373
10374         Move the malloc checking from module 'oset' to new module 'xoset'.
10375         * modules/xoset: New file.
10376         * lib/gl_xoset.h: New file.
10377         * lib/gl_xoset.c: New file.
10378         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
10379         declarations.
10380         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
10381         (struct gl_oset_implementation): Rename and change methods accordingly.
10382         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
10383         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
10384         'int'. Mark as __warn_unused_result__.
10385         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
10386         gl_oset_create_empty.
10387         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
10388         'int'.
10389         * lib/gl_array_oset.c: Don't include xalloc.h.
10390         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
10391         malloc, not xmalloc.
10392         (grow): Change return type to 'int'. Don't call xalloc_die.
10393         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
10394         to 'int'.
10395         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
10396         'int'.
10397         (gl_array_oset_implementation): Update.
10398         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
10399         gl_tree_create_empty.
10400         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
10401         'int'.
10402         * lib/gl_avltree_oset.c: Don't include xalloc.h.
10403         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
10404         xmalloc.
10405         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
10406         not xmalloc.
10407         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
10408         xmalloc.
10409         (gl_avltree_oset_implementation): Update.
10410         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
10411         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
10412         xmalloc.
10413         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
10414         not xmalloc.
10415         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
10416         xmalloc.
10417         (gl_rbtree_oset_implementation): Update.
10418         * modules/array-oset (Depends-on): Remove xalloc.
10419         * modules/avltree-oset (Depends-on): Likewise.
10420         * modules/rbtree-oset (Depends-on): Likewise.
10421         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
10422         * tests/test-avltree_oset.c: Likewise.
10423         * tests/test-rbtree_oset.c: Likewise.
10424         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
10425         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
10426         * modules/rbtree-oset-tests (Makefile.am): Likewise.
10427         * NEWS: Mention the change.
10428
10429 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
10430
10431         maint.mk: allow a project to override release-prep commands
10432         * top/maint.mk (alpha, beta, stable): Move release-preparatory
10433         commands into a new rule.
10434         (release-prep): New rule.
10435         (release-prep-hook): New overridable variable.
10436
10437 2009-12-13  Bruno Haible  <bruno@clisp.org>
10438
10439         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
10440
10441 2009-12-13  Jim Meyering  <meyering@redhat.com>
10442
10443         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
10444         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
10445
10446 2009-12-12  Bruno Haible  <bruno@clisp.org>
10447
10448         duplocale: Tweak.
10449         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
10450
10451 2009-12-12  Karl Berry  <karl@gnu.org>
10452
10453         * config/srclist.txt (strtoll.c): tab changes, no more sync.
10454
10455 2009-12-12  Bruno Haible  <bruno@clisp.org>
10456
10457         * m4/po.m4: Undo incorrect untabification.
10458
10459 2009-12-12  Bruno Haible  <bruno@clisp.org>
10460
10461         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
10462         * modules/c-strtod (Depends-on): Add locale.
10463         * modules/c-strtold (Depends-on): Likewise.
10464
10465 2009-12-12  Bruno Haible  <bruno@clisp.org>
10466
10467         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
10468
10469 2009-12-11  Eric Blake  <ebb9@byu.net>
10470
10471         setenv: relax requirement in light of POSIX ruling
10472         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
10473         not NULL.
10474         * tests/test-setenv.c (main): Relax test.
10475         * tests/test-unsetenv.c (main): Likewise.
10476         * doc/posix-functions/setenv.texi (setenv): Document this.
10477         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
10478
10479 2009-12-11  Bruno Haible  <bruno@clisp.org>
10480
10481         New module 'fd-safer-flag'.
10482         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
10483         * lib/dup-safer.c (dup_safer_flag): Remove function.
10484         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
10485         * lib/fd-safer.c (fd_safer_flag): Remove function.
10486         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
10487         * modules/cloexec (configure.ac): Drop indicator macro.
10488         * modules/fd-safer-flag: New file.
10489         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
10490         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
10491         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
10492
10493 2009-12-11  Bruno Haible  <bruno@clisp.org>
10494
10495         Tests for module 'nl_langinfo'.
10496         * modules/nl_langinfo-tests: New file.
10497         * tests/test-nl_langinfo.sh: New file.
10498         * tests/test-nl_langinfo.c: New file.
10499
10500         New module 'nl_langinfo'.
10501         * lib/nl_langinfo.c: New file.
10502         * m4/nl_langinfo.m4: New file.
10503         * modules/nl_langinfo: New file.
10504         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
10505
10506 2009-12-11  Bruno Haible  <bruno@clisp.org>
10507
10508         Tests for module 'langinfo'.
10509         * modules/langinfo-tests: New file.
10510         * tests/test-langinfo.c: New file.
10511
10512         New module 'langinfo'.
10513         * lib/langinfo.in.h: New file.
10514         * m4/langinfo_h.m4: New file.
10515         * modules/langinfo: New file.
10516         * doc/posix-headers/langinfo.texi: Mention the new module.
10517
10518 2009-12-11  Bruno Haible  <bruno@clisp.org>
10519
10520         * lib/config.charset: Untabify.
10521
10522 2009-12-11  Bruno Haible  <bruno@clisp.org>
10523
10524         * modules/unistd-safer (configure.ac): Drop indicator macro.
10525
10526 2009-12-11  Bruno Haible  <bruno@clisp.org>
10527
10528         Move pipe2-safer code to its own file.
10529         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
10530         * lib/pipe-safer.c (pipe2_safer): Remove function.
10531         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
10532         (Makefile.am): Add it to lib_SOURCES.
10533
10534 2009-12-10  Bruno Haible  <bruno@clisp.org>
10535
10536         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
10537
10538 2009-12-10  Bruno Haible  <bruno@clisp.org>
10539
10540         Declare which arguments expect non-NULL values, for GCC and clang.
10541         * build-aux/arg-nonnull.h: New file.
10542         * modules/arg-nonnull: New file.
10543         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
10544         (inet_ntop, inet_pton): Use it.
10545         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
10546         (closedir, dirfd, opendir, scandir, alphasort): Use it.
10547         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
10548         (open, openat): Use it.
10549         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
10550         (fnmatch): Use it.
10551         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
10552         (getopt, getopt_long, getopt_long_only): Use it.
10553         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
10554         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
10555         Use it.
10556         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
10557         (iconv_open): Use it.
10558         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
10559         (strtoimax, strtoumax): Use it.
10560         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
10561         (duplocale): Use it.
10562         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
10563         (frexp, frexpl): Use it.
10564         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
10565         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
10566         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
10567         (tsearch, tfind, tdelete, twalk): Use it.
10568         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
10569         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
10570         sigpending): Use it.
10571         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
10572         (posix_spawn, posix_spawnp, posix_spawnattr_init,
10573         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
10574         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
10575         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
10576         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
10577         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
10578         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
10579         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
10580         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
10581         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
10582         Use it.
10583         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
10584         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
10585         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
10586         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
10587         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
10588         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
10589         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
10590         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
10591         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
10592         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
10593         strtoull, unsetenv): Use it.
10594         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
10595         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
10596         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
10597         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
10598         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
10599         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
10600         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
10601         (strcasecmp, strncasecmp): Use it.
10602         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
10603         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
10604         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
10605         rpl_setsockopt): Use it.
10606         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
10607         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
10608         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
10609         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
10610         (gettimeofday): Use it.
10611         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
10612         (times): Use it.
10613         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
10614         (uname): Use it.
10615         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
10616         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
10617         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
10618         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
10619         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
10620         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
10621         unlinkat, write): Use it.
10622         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
10623         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
10624         * lib/argv-iter.h: Include arg-nonnull.h.
10625         (_ATTRIBUTE_NONNULL_): Remove macro.
10626         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
10627         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
10628         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
10629         optimization.
10630         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
10631         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
10632         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
10633         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
10634         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
10635         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
10636         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
10637         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
10638         * modules/arpa_inet (Depends-on): Add arg-nonnull.
10639         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
10640         * modules/dirent (Depends-on): Add arg-nonnull.
10641         (Makefile.am): Insert arg-nonnull.h into dirent.h.
10642         * modules/fcntl-h (Depends-on): Add arg-nonnull.
10643         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
10644         * modules/fnmatch (Depends-on): Add arg-nonnull.
10645         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
10646         * modules/getopt-posix (Depends-on): Add arg-nonnull.
10647         (Makefile.am): Insert arg-nonnull.h into getopt.h.
10648         * modules/glob (Depends-on): Add arg-nonnull.
10649         (Makefile.am): Insert arg-nonnull.h into glob.h.
10650         * modules/iconv_open (Depends-on): Add arg-nonnull.
10651         (Makefile.am): Insert arg-nonnull.h into iconv.h.
10652         * modules/inttypes (Depends-on): Add arg-nonnull.
10653         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
10654         * modules/locale (Depends-on): Add arg-nonnull.
10655         (Makefile.am): Insert arg-nonnull.h into locale.h.
10656         * modules/math (Depends-on): Add arg-nonnull.
10657         (Makefile.am): Insert arg-nonnull.h into math.h.
10658         * modules/netdb (Depends-on): Add arg-nonnull.
10659         (Makefile.am): Insert arg-nonnull.h into netdb.h.
10660         * modules/search (Depends-on): Add arg-nonnull.
10661         (Makefile.am): Insert arg-nonnull.h into search.h.
10662         * modules/signal (Depends-on): Add arg-nonnull.
10663         (Makefile.am): Insert arg-nonnull.h into signal.h.
10664         * modules/spawn (Depends-on): Add arg-nonnull.
10665         (Makefile.am): Insert arg-nonnull.h into spawn.h.
10666         * modules/stdio (Depends-on): Add arg-nonnull.
10667         (Makefile.am): Insert arg-nonnull.h into stdio.h.
10668         * modules/stdlib (Depends-on): Add arg-nonnull.
10669         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
10670         * modules/string (Depends-on): Add arg-nonnull.
10671         (Makefile.am): Insert arg-nonnull.h into string.h.
10672         * modules/strings (Depends-on): Add arg-nonnull.
10673         (Makefile.am): Insert arg-nonnull.h into strings.h.
10674         * modules/sys_socket (Depends-on): Add arg-nonnull.
10675         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
10676         * modules/sys_stat (Depends-on): Add arg-nonnull.
10677         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
10678         * modules/sys_time (Depends-on): Add arg-nonnull.
10679         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
10680         * modules/sys_times (Depends-on): Add arg-nonnull.
10681         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
10682         * modules/sys_utsname (Depends-on): Add arg-nonnull.
10683         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
10684         * modules/time (Depends-on): Add arg-nonnull.
10685         (Makefile.am): Insert arg-nonnull.h into time.h.
10686         * modules/unistd (Depends-on): Add arg-nonnull.
10687         (Makefile.am): Insert arg-nonnull.h into unistd.h.
10688         * modules/wchar (Depends-on): Add arg-nonnull.
10689         (Makefile.am): Insert arg-nonnull.h into wchar.h.
10690         * modules/argv-iter (Depends-on): Add arg-nonnull.
10691         * tests/test-canonicalize.c (null_ptr): New function.
10692         (main): Use it.
10693         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
10694         (main): Use it.
10695         * tests/test-memmem.c (null_ptr): New function.
10696         (main): Use it.
10697         Reported by Jim Meyering.
10698
10699 2009-12-10  Bruno Haible  <bruno@clisp.org>
10700
10701         Use spaces for indentation, not tabs.
10702         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
10703         * m4/*.m4: Untabify.
10704         * build-aux/*.h: Untabify.
10705         * tests/**/*.[hc]: Untabify.
10706         * README: New section "Indent with spaces, not TABs", based on
10707         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
10708         * NEWS: Mention the change.
10709
10710 2009-12-10  Bruno Haible  <bruno@clisp.org>
10711
10712         pty test: Fix link error.
10713         * modules/pty-tests (Makefile.am): Add the default LDADD value to
10714         test_pty_LDADD.
10715
10716 2009-12-07  Simon Josefsson  <simon@josefsson.org>
10717
10718         * modules/pty: New file.
10719         * modules/pty-tests: New file.
10720         * m4/pty.m4: New file.
10721         * tests/test-pty.c: New file.
10722         * doc/glibc-headers/pty.texi: Modified.
10723         * doc/glibc-functions/forkpty.texi: Modified.
10724         * doc/glibc-functions/openpty.texi: Modified.
10725
10726 2009-12-10  Bruno Haible  <bruno@clisp.org>
10727
10728         Avoid syntax error in C++ mode.
10729         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
10730
10731 2009-12-10  Bruno Haible  <bruno@clisp.org>
10732
10733         Use sed with option -e.
10734         * gnulib-tool (func_version, func_emit_copyright_notice,
10735         func_emit_initmacro_end, func_import, func_create_testdir): Pass
10736         option -e to sed.
10737         * modules/link-warning (Makefile.am): Likewise.
10738
10739 2009-12-10  Jim Meyering  <meyering@redhat.com>
10740
10741         mgetgroups: do not write bytes beyond end of malloc'd buffer
10742         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
10743         username, we call getgroups with a one-element-shorter buffer,
10744         but still told it the length was original, max_n_groups.
10745
10746 2009-12-09  Eric Blake  <ebb9@byu.net>
10747
10748         cloexec: relax license
10749         * modules/cloexec (Maintainer): Add myself.
10750         (License): Use LGPL, not GPL.
10751
10752         link-warning: optimize generation
10753         * modules/link-warning (Makefile.am): Reduce process usage.
10754
10755 2009-12-09  Bruno Haible  <bruno@clisp.org>
10756
10757         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
10758         workaround was added on 2009-11-17.
10759
10760 2009-12-09  Jim Meyering  <meyering@redhat.com>
10761             Bruno Haible  <bruno@clisp.org>
10762
10763         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
10764         * modules/link-warning (Makefile.am): Make the comment-removing sed
10765         command more robust in the face of bootstrap-prepended comment lines.
10766
10767 2009-12-09  Bruno Haible  <bruno@clisp.org>
10768
10769         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
10770         most one group.
10771
10772 2009-12-09  Simon Josefsson <simon@josefsson.org>
10773             Bruno Haible  <bruno@clisp.org>
10774
10775         * build-aux/link-warning.h: Add copyright notice.
10776         * modules/link-warning (Makefile.am): Generate link-warning.h from
10777         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
10778         * NEWS: Mention change in link-warning module.
10779         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
10780         * modules/dirent (Makefile.am): Add dependency to dirent.h.
10781         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
10782         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
10783         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
10784         * modules/math (Makefile.am): Add dependency to math.h.
10785         * modules/search (Makefile.am): Add dependency to search.h.
10786         * modules/signal (Makefile.am): Add dependency to signal.h.
10787         * modules/spawn (Makefile.am): Add dependency to spawn.h.
10788         * modules/stdio (Makefile.am): Add dependency to stdio.h.
10789         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
10790         * modules/string (Makefile.am): Add dependency to string.h.
10791         * modules/strings (Makefile.am): Add dependency to strings.h.
10792         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
10793         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
10794         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
10795         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
10796         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
10797         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
10798         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
10799         * modules/unistd (Makefile.am): Add dependency to unistd.h.
10800         * modules/wchar (Makefile.am): Add dependency to wchar.h.
10801
10802 2009-12-09  Bruno Haible  <bruno@clisp.org>
10803
10804         fchdir: Optimize away rpl_fstat when possible.
10805         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
10806         REPLACE_OPEN_DIRECTORY.
10807         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
10808
10809 2009-12-09  Bruno Haible  <bruno@clisp.org>
10810
10811         * lib/fchdir.c: Update comment.
10812
10813 2009-12-09  Bruno Haible  <bruno@clisp.org>
10814
10815         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
10816
10817 2009-12-08  Eric Blake  <ebb9@byu.net>
10818
10819         fchdir: avoid memory leak on re-registration.
10820         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
10821
10822 2009-12-08  Jim Meyering  <meyering@redhat.com>
10823
10824         init.sh: avoid Solaris 10 /bin/sh portability problem
10825         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
10826         sourced script:
10827           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
10828           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
10829           bar
10830         tests/init.sh relied on that, accepting a --set-path=DIR argument,
10831         and two tests used that idiom.
10832         * tests/init.sh: Update suggested usage comments.
10833         (path_prepend_): New function, to be used in place
10834         of the --src-path=DIR option.
10835         (setup_): Move PATH-prepending code into path_prepend_.
10836         * tests/test-pread.sh: Adapt to new usage.
10837         * tests/test-xalloc-die.sh: Likewise.
10838
10839 2009-12-08  Simon Josefsson  <simon@josefsson.org>
10840
10841         * doc/gnulib.texi (Glibc pty.h): Add.
10842         * doc/glibc-functions/forkpty.texi: Add.
10843         * doc/glibc-functions/openpty.texi: Add.
10844         Suggested by Bruno Haible.
10845
10846 2009-12-08  Eric Blake  <ebb9@byu.net>
10847
10848         fchdir: fix logic bugs
10849         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
10850         * tests/test-fchdir.c (main): Enhance test.
10851         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
10852         is in use.
10853
10854         dup2: fix logic bugs
10855         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
10856         REPLACE_DUP2 to decide when rpl_dup2 is needed.
10857         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
10858         exists.
10859         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
10860
10861 2009-12-07  Eric Blake  <ebb9@byu.net>
10862
10863         unlink: fix m4 detection
10864         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
10865
10866         unistd-safer: add unit test
10867         * modules/unistd-safer-tests: New file.
10868         * tests/test-dup-safer.c: Likewise.
10869         * tests/test-cloexec.c (setmode): Avoid compiler warning.
10870         * tests/test-dup2.c (setmode): Likewise.
10871         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
10872
10873         cloexec: preserve text vs. binary across dup_cloexec
10874         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
10875         mode.
10876         * modules/dup2-tests (Depends-on): Add binary-io.
10877         * modules/cloexec-tests (Depends-on): Likewise.
10878         * tests/test-dup2.c (setmode, is_mode): New helpers.
10879         (main): Add tests that translation mode is preserved.
10880         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
10881         Reported by Bruno Haible.
10882
10883         mgetgroups: reduce duplicate listings
10884         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
10885         resulting array.
10886         * tests/test-chown.h (test_chown): Simplify client.
10887         * tests/test-lchown.h (test_lchown): Likewise.
10888
10889 2009-12-06  Bruno Haible  <bruno@clisp.org>
10890
10891         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
10892         value.
10893
10894 2009-12-06  Bruno Haible  <bruno@clisp.org>
10895
10896         * lib/progname.c: Include stdio.h, stdlib.h.
10897         (set_program_name): Reject a NULL argument.
10898
10899 2009-12-05  Eric Blake  <ebb9@byu.net>
10900
10901         pipe2-safer: new module
10902         * modules/pipe2-safer: New file.
10903         * lib/unistd-safer.h (pipe2_safer): New prototype.
10904         * lib/unistd--.h (pipe2): New wrapper.
10905         * lib/pipe-safer.c (pipe2_safer): New function.
10906         * modules/pipe (Depends-on): Add pipe2-safer.
10907         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
10908
10909         stdlib-safer: preserve cloexec flag for mkostemp[s]
10910         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
10911         fd_safer_flag.
10912
10913         unistd-safer: allow preservation of cloexec status via flag
10914         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
10915         prototypes.
10916         * lib/dup-safer.c (dup_safer_flag): New function.
10917         * lib/fd-safer.c (fd_safer_flag): Likewise.
10918         * modules/cloexec (configure.ac): Set witness.
10919
10920         test-dup2: enhance test
10921         * modules/dup2-tests (Depends-on): Add cloexec.
10922         * tests/test-dup2.c (main): Enhance test.
10923
10924         cloexec: add dup_cloexec
10925         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
10926         header and comments.
10927         * lib/cloexec.c (set_cloexec_flag): Add comments.
10928         (dup_cloexec): New function, with mingw implementation borrowed
10929         from...
10930         * lib/w32spawn.h (dup_noinherit): ...here.
10931         * modules/execute (Depends-on): Add cloexec.
10932         * modules/pipe (Depends-on): Likewise.
10933         * modules/cloexec (Depends-on): Add dup2.
10934         * modules/cloexec-tests (Files): New file.
10935         * tests/test-cloexec.c: Likewise.
10936
10937         test-xalloc-die: fix test for mingw
10938         * modules/xalloc-die-tests (Files): Add tests/init.sh.
10939         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
10940         directory and .exe suffix off argv[0] output.
10941
10942         test-fseeko: fix test for mingw
10943         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
10944         than undefining fseek, so test will pass on mingw.
10945
10946 2009-12-05  Bruno Haible  <bruno@clisp.org>
10947
10948         * lib/progname.h (set_program_name): Clarify specification.
10949         * lib/progname.c (set_program_name): Likewise.
10950         Reported by Jim Meyering.
10951
10952 2009-12-05  Jim Meyering  <meyering@redhat.com>
10953
10954         maint.mk: backslash-escape parens in default regexp
10955         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
10956         backslash-escape the literal parentheses.
10957
10958         maint.mk: news-date-check: use grep -E
10959         * top/maint.mk (today): Define a Make variable, not a...
10960         (news-date-check): ...shell variable.
10961         (news-date-regexp): Use the Make variable.
10962         Use grep's -E option.  Change the failing diagnostic to mention
10963         the variable, $(news-date-regexp).
10964
10965 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
10966
10967         maintainer-makefile: allow customization of NEWS entry format
10968         * top/maint.mk (news-date-regexp): New overridable variable.
10969         (news-date-check): Use it.
10970
10971 2009-12-04  Eric Blake  <ebb9@byu.net>
10972
10973         mgetgroups: add xgetgroups, and avoid ENOSYS failures
10974         * lib/mgetgroups.h (xgetgroups): New prototype.
10975         * lib/mgetgroups.c (xgetgroups): New wrapper.
10976         (mgetgroups): Handle ENOSYS.
10977         * modules/mgetgroups (Depends-on): Add realloc.
10978         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
10979
10980         mgetgroups: avoid argument promotion issues with -1
10981         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
10982         for invalid gid_t.
10983         * tests/test-chown.h (getegid, test_chown): Likewise.
10984         * tests/test-lchown.h (getegid, test_lchown): Likewise.
10985
10986 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
10987
10988         exclude: Fix header file problems.
10989         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
10990
10991 2009-12-01  Jim Meyering  <meyering@redhat.com>
10992
10993         fts: fts_open: do not let an empty string cause immediate failure
10994         This is required in support of GNU rm, for which the command
10995         "rm A '' B" must process and remove both A and B, in spite of
10996         the empty string argument.
10997         * lib/fts.c (fts_open): Do not let the presence of an empty string
10998         cause fts_open to fail immediately.  Most fts-using tools must be
10999         able to process all arguments, in order, and can be expected to
11000         diagnose such arguments themselves.
11001
11002 2009-11-30  Eric Blake  <ebb9@byu.net>
11003
11004         utimens: fix compilation error
11005         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
11006         Declare variable at right scope.
11007
11008 2009-11-29  Jim Meyering  <meyering@redhat.com>
11009
11010         bootstrap: handle perl-5.11's changed --version output
11011         * build-aux/bootstrap (get_version): Handle perl separately,
11012         since perl-5.11's --version output is different.
11013
11014 2009-11-28  Jim Meyering  <meyering@redhat.com>
11015
11016         userspec: depend on the inttostr module, too
11017         * modules/userspec (Depends-on): Add inttostr.
11018
11019         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
11020         * lib/userspec.c (parse_with_separator): Do not accept a user ID
11021         number of MAXUID when it evaluates to (uid_t) -1.
11022         Likewise for group ID.  Reported by Matt McCutchen in
11023         <http://savannah.gnu.org/bugs/?28113>
11024
11025         userspec: reformat to use spaces, not TABs
11026         * lib/userspec.c: Expand TABs to spaces.
11027         Add Emacs' "indent-tabs-mode: nil" hint.
11028
11029 2009-11-27  Eric Blake  <ebb9@byu.net>
11030
11031         getopt-gnu: flush out another BSD bug
11032         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
11033         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
11034         flush out BSD bug.
11035         * tests/test-getopt.h (test_getopt): End lists with NULL.
11036         * tests/test-getopt_long.h (test_getopt_long): Likewise.
11037         (test_getopt_long_posix): Enhance test.
11038         * modules/getopt-posix-tests (Depends-on): Add stdbool.
11039         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
11040         getopt-gnu.
11041         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
11042         Likewise.
11043
11044 2009-11-27  Simon Josefsson  <simon@josefsson.org>
11045
11046         * modules/idpriv-droptemp-tests (Notice): Fix text.
11047
11048 2009-11-27  Jim Meyering  <meyering@redhat.com>
11049
11050         test-xalloc-die: avoid spurious failure due to libtool argv difference
11051         In a libtool-enabled project, this test would fail due to a difference
11052         in the emitted program name, e.g.,
11053         -test-xalloc-die: memory exhausted
11054         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
11055         Use program to avoid that.
11056         * modules/xalloc-die-tests (Depends-on): Add progname.
11057         * tests/test-xalloc-die.c: Include progname.h".
11058         (program_name): Remove decl.
11059         (main): Call set_program_name.
11060         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
11061
11062 2009-11-26  Richard Jones  <rjones@redhat.com>
11063
11064         w32sock: leave win32 error in place.
11065         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
11066
11067 2009-11-26  Eric Blake  <ebb9@byu.net>
11068
11069         init.sh: suggest to use skip_ and fail_ functions in comments
11070         * tests/init.sh: Add a sentence.
11071
11072 2009-11-25  Bruno Haible  <bruno@clisp.org>
11073
11074         init.sh: add documentation in comments
11075         * tests/init.sh: Add some developer and user documentation.
11076
11077 2009-11-26  Jim Meyering  <meyering@redhat.com>
11078
11079         init.sh: accommodate even those who specify bogus srcdir manually
11080         * tests/init.sh: Normally, srcdir is guaranteed by automake and
11081         configure-time tests to be sanitized, so that there is no need to
11082         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
11083         (with no double quotes) suffices.  However, since tests may be
11084         invoked manually, and since you may explicitly set srcdir to the
11085         name of a directory containing spaces, do quote its uses here.
11086         * tests/test-pread.sh: Likewise.
11087         Suggested by Bruno Haible.
11088
11089         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
11090         * tests/test-pread.sh: Write no data into the pipe, because
11091         test-pread actually reads none.  This avoids a diagnostic,
11092         "bash: echo: write error: Broken pipe", that arises in the unusual
11093         event something is ignoring SIGPIPE, and might be interpreted
11094         as some sort of failure.  Reported by Bruno Haible.
11095
11096 2009-11-25  Jim Meyering  <meyering@redhat.com>
11097
11098         test-pread: cover failure with ESPIPE and EINVAL
11099         * tests/test-pread.c (main): Test for failure, too.
11100         * tests/test-pread.sh: Invoke with stdin on a pipe.
11101         Suggested by Eric Blake.
11102
11103         pread: improvement and fix
11104         * modules/pread (Depends-on): Depend on lseek, for portability to
11105         e.g., mingw.  Suggested by Eric Blake.
11106         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
11107
11108         unistd.in.h: correct declaration of pread
11109         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
11110         Reported by Richard W.M. Jones.
11111
11112         test-pread.sh: distribute the test script
11113         * modules/pread-tests (Files): Include test-pread.sh.
11114
11115         test-pread.sh: clean up
11116         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
11117         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
11118         That is unnecessary, since it's always ".".
11119         Suggestion from Eric Blake.
11120
11121         test-pread.sh: make executable
11122         * tests/test-pread.sh: Set executable bit.
11123         Reported by Eric Blake.
11124
11125         correct typo in test-pread.sh
11126         * tests/test-pread.sh: Add #! line.
11127
11128         test pread
11129         * tests/test-pread.c: New file.
11130         * tests/test-pread.sh: Likewise.
11131         * modules/pread-tests: Likewise.
11132
11133         pread: new module
11134         * modules/pread: New file.
11135         * lib/unistd.in.h (pread): Define/declare.
11136         * lib/pread.c (pread): New file.
11137         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
11138         * modules/unistd (Makefile.am): Substitute witnesses.
11139         * doc/posix-functions/pread.texi (pread): Update.
11140         * MODULES.html.sh: Add pread.
11141
11142 2009-11-25  Jim Meyering  <meyering@redhat.com>
11143
11144         tests/init.sh: new file to be used via most *.sh tests
11145         * tests/init.sh: New file.
11146
11147 2009-11-25  Eric Blake  <ebb9@byu.net>
11148
11149         utimens: work around older Linux failure with symlinks
11150         * lib/utimens.c (lutimensat_works_really): New variable.
11151         (fdutimens, lutimens): Use it to manage kernels that support
11152         nanosecond times on files, but not on symlinks.
11153         Reported by Ondřej Vašík.
11154
11155         utimes: fix configure grammar
11156         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
11157
11158 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
11159
11160         regex: Fix fastmap for multibyte character ranges.
11161         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
11162         characters when a multibyte character range is included.
11163
11164 2009-11-22  Andy Wingo  <wingo@pobox.com>
11165
11166         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
11167         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
11168
11169 2009-11-24  Bruno Haible  <bruno@clisp.org>
11170
11171         doc: Most *_l functions exist in MacOS X 10.5.
11172         * doc/posix-functions/duplocale.texi: Update platforms list.
11173         * doc/posix-functions/freelocale.texi: Likewise.
11174         * doc/posix-functions/newlocale.texi: Likewise.
11175         * doc/posix-functions/uselocale.texi: Likewise.
11176         * doc/posix-functions/isalnum_l.texi: Likewise.
11177         * doc/posix-functions/isalpha_l.texi: Likewise.
11178         * doc/posix-functions/isblank_l.texi: Likewise.
11179         * doc/posix-functions/iscntrl_l.texi: Likewise.
11180         * doc/posix-functions/isdigit_l.texi: Likewise.
11181         * doc/posix-functions/isgraph_l.texi: Likewise.
11182         * doc/posix-functions/islower_l.texi: Likewise.
11183         * doc/posix-functions/isprint_l.texi: Likewise.
11184         * doc/posix-functions/ispunct_l.texi: Likewise.
11185         * doc/posix-functions/isspace_l.texi: Likewise.
11186         * doc/posix-functions/isupper_l.texi: Likewise.
11187         * doc/posix-functions/iswalnum_l.texi: Likewise.
11188         * doc/posix-functions/iswalpha_l.texi: Likewise.
11189         * doc/posix-functions/iswblank_l.texi: Likewise.
11190         * doc/posix-functions/iswcntrl_l.texi: Likewise.
11191         * doc/posix-functions/iswctype_l.texi: Likewise.
11192         * doc/posix-functions/iswdigit_l.texi: Likewise.
11193         * doc/posix-functions/iswgraph_l.texi: Likewise.
11194         * doc/posix-functions/iswlower_l.texi: Likewise.
11195         * doc/posix-functions/iswprint_l.texi: Likewise.
11196         * doc/posix-functions/iswpunct_l.texi: Likewise.
11197         * doc/posix-functions/iswspace_l.texi: Likewise.
11198         * doc/posix-functions/iswupper_l.texi: Likewise.
11199         * doc/posix-functions/iswxdigit_l.texi: Likewise.
11200         * doc/posix-functions/isxdigit_l.texi: Likewise.
11201         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
11202         * doc/posix-functions/strcasecmp_l.texi: Likewise.
11203         * doc/posix-functions/strcoll_l.texi: Likewise.
11204         * doc/posix-functions/strfmon_l.texi: Likewise.
11205         * doc/posix-functions/strftime_l.texi: Likewise.
11206         * doc/posix-functions/strncasecmp_l.texi: Likewise.
11207         * doc/posix-functions/strxfrm_l.texi: Likewise.
11208         * doc/posix-functions/tolower_l.texi: Likewise.
11209         * doc/posix-functions/toupper_l.texi: Likewise.
11210         * doc/posix-functions/towctrans_l.texi: Likewise.
11211         * doc/posix-functions/towlower_l.texi: Likewise.
11212         * doc/posix-functions/towupper_l.texi: Likewise.
11213         * doc/posix-functions/wcscoll_l.texi: Likewise.
11214         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
11215         * doc/posix-functions/wctrans_l.texi: Likewise.
11216         * doc/posix-functions/wctype_l.texi: Likewise.
11217         * doc/glibc-functions/strptime_l.texi: Likewise.
11218         * doc/glibc-functions/strtod_l.texi: Likewise.
11219         * doc/glibc-functions/strtof_l.texi: Likewise.
11220         * doc/glibc-functions/strtol_l.texi: Likewise.
11221         * doc/glibc-functions/strtold_l.texi: Likewise.
11222         * doc/glibc-functions/strtoll_l.texi: Likewise.
11223         * doc/glibc-functions/strtoul_l.texi: Likewise.
11224         * doc/glibc-functions/strtoull_l.texi: Likewise.
11225         * doc/glibc-functions/wcsftime_l.texi: Likewise.
11226         * doc/glibc-functions/wcstod_l.texi: Likewise.
11227         * doc/glibc-functions/wcstof_l.texi: Likewise.
11228         * doc/glibc-functions/wcstol_l.texi: Likewise.
11229         * doc/glibc-functions/wcstold_l.texi: Likewise.
11230         * doc/glibc-functions/wcstoll_l.texi: Likewise.
11231         * doc/glibc-functions/wcstoul_l.texi: Likewise.
11232         * doc/glibc-functions/wcstoull_l.texi: Likewise.
11233
11234 2009-11-24  Bruno Haible  <bruno@clisp.org>
11235
11236         duplocale: Fix logic bug.
11237         * lib/duplocale.c: Don't include <langinfo.h>.
11238         (_NL_LOCALE_NAME): Remove macro.
11239         (rpl_duplocale): Use setlocale instead of nl_langinfo.
11240         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
11241
11242 2009-11-23  Jim Meyering  <meyering@redhat.com>
11243
11244         test-update-copyright: don't hard-code /usr/bin/perl
11245         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
11246         perl to print the current year.  Gilles Espinasse reported that
11247         the replaced use of perl was hard-coded as /usr/bin/perl.
11248
11249 2009-11-23  Bruno Haible  <bruno@clisp.org>
11250
11251         duplocale: Add support for glibc 2.3.x.
11252         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
11253
11254 2009-11-22  Bruno Haible  <bruno@clisp.org>
11255
11256         vasnprintf: Tiny optimization.
11257         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
11258         MacOS X.
11259
11260 2009-11-22  Bruno Haible  <bruno@clisp.org>
11261
11262         Tests for module 'duplocale'.
11263         * modules/duplocale-tests: New file.
11264         * tests/test-duplocale.c: New file.
11265
11266         New module 'duplocale'.
11267         * m4/duplocale.m4: New file.
11268         * lib/locale.in.h (duplocale): New declaration.
11269         * lib/duplocale.c: New file.
11270         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
11271         gl_LOCALE_H_DEFAULTS): New macros.
11272         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
11273         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
11274         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
11275         REPLACE_DUPLOCALE.
11276         * modules/duplocale: New file.
11277         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
11278
11279 2009-11-22  Bruno Haible  <bruno@clisp.org>
11280
11281         * modules/locale-tests (configure.ac): Test for newlocale function.
11282         * tests/test-locale.c: When the system has extended locale functions,
11283         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
11284
11285         locale: Make locale_t available when possible.
11286         * lib/locale.in.h: Include <xlocale.h> when it exists.
11287         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
11288         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
11289         * modules/locale (Depends-on): Add extensions.
11290         (Makefile.am): Also substitute HAVE_XLOCALE_H.
11291         * doc/posix-headers/locale.texi: Document the problem with locale_t.
11292
11293 2009-11-22  Bruno Haible  <bruno@clisp.org>
11294
11295         Add comments.
11296         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
11297         invocation.
11298         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
11299         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
11300         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
11301
11302 2009-11-22  Bruno Haible  <bruno@clisp.org>
11303
11304         error: account for the possibility of freopen (stdout).
11305         * lib/error.c: Include <unistd.h>.
11306         (flush_stdout): New function, extracted from error and error_at_line.
11307         Determine stdout's fd dynamically.
11308         (error, error_at_line): Invoke flush_stdout.
11309         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
11310         * modules/error (Depends-on): Add unistd.
11311
11312 2009-11-22  Bruno Haible  <bruno@clisp.org>
11313
11314         diffseq: Add comment.
11315         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
11316
11317 2009-11-22  Jim Meyering  <meyering@redhat.com>
11318
11319         c-stack: avoid defining an unused static function
11320         * lib/c-stack.c (find_stack_direction): Do not define this function
11321         when it will not be used.
11322
11323         diffseq: avoid spurious gcc warnings
11324         * lib/diffseq.h (IF_LINT2): Define.
11325         (compareseq): Use it to initialize two members of "part".
11326         This avoids two used-uninitialized warnings.
11327
11328 2009-11-21  Jim Meyering  <meyering@redhat.com>
11329
11330         c-stack: avoid "ignoring return value of `write'" warning
11331         * lib/c-stack.c: Include "ignore-value.h".
11332         (die): Explicitly ignore each write return value.
11333         * modules/c-stack (Depends-on): Add ignore-value.
11334
11335 2009-11-21  Bruno Haible  <bruno@clisp.org>
11336
11337         diffseq: reduce scope of variable 'best'.
11338         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
11339         variable, earlier used for two different purposes.
11340
11341 2009-11-21  Jim Meyering  <meyering@redhat.com>
11342
11343         diffseq: remove useless assignment to "best"
11344         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
11345         assignment.  At that point "best" is already guaranteed to be zero.
11346
11347 2009-11-20  Eric Blake  <ebb9@byu.net>
11348
11349         build: mention ftp redirector in release announcements
11350         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
11351         values that used to come from cfg.mk; mention FTP redirect URL.
11352         * build-aux/announce-gen: Mention the mirror list.
11353         Suggested by Karl Berry.
11354
11355         nanosleep: improve port to mingw
11356         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
11357         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
11358         LIB_NANOSLEEP, but only when needed.
11359         * modules/select (Link): Document LIBSOCKET.
11360         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
11361         enough.
11362
11363         nanosleep: work around cygwin bug
11364         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
11365         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
11366         bug.
11367         (getnow): Delete, not needed.
11368         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
11369         LIB_CLOCK_GETTIME.
11370         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
11371         clock-time, gettime.
11372         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
11373         bug.
11374         * modules/nanosleep-tests: New test.
11375         * tests/test-nanosleep.c: New file.
11376
11377         sleep: work around cygwin bug
11378         * lib/sleep.c (rpl_sleep): Work around the bug.
11379         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
11380         (gl_PREREQ_SLEEP): Delete unused macro.
11381         * modules/sleep (Depends-on): Add verify.
11382         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
11383         * modules/unistd (Makefile.am): Substitute witness.
11384         * lib/unistd.in.h (sleep): Update prototype.
11385         * doc/posix-functions/sleep.texi (sleep): Document the bug.
11386         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
11387         * modules/sleep-tests (Depends-on): Check for alarm.
11388
11389 2009-11-20  Jim Meyering  <meyering@redhat.com>
11390
11391         maint.mk: improve sc_prohibit_magic_number_exit
11392         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
11393         so it does not match uses like System.exit(1).
11394         Add comments showing how to correct all offenders.
11395
11396 2009-11-19  Eric Blake  <ebb9@byu.net>
11397
11398         xalloc-die-tests: add missing library
11399         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
11400
11401         test-xvasprintf: silence compiler warnings
11402         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
11403         empty string from gcc.
11404
11405 2009-11-19  Jim Meyering  <meyering@redhat.com>
11406
11407         xfreopen: new module, from coreutils
11408         * modules/xfreopen: New module.
11409         * lib/xfreopen.c: New file.
11410         * lib/xfreopen.h: New file.
11411         * MODULES.html.sh (File stream based Input/Output"): Add it.
11412
11413 2009-11-19  Eric Blake  <ebb9@byu.net>
11414
11415         manywarnings: depend on warnings
11416         * modules/manywarnings (Depends-on): Add warnings.
11417
11418         build: avoid compiler warnings
11419         * lib/select.c (rpl_select): Delete unused variable.
11420         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
11421
11422 2009-11-18  Eric Blake  <ebb9@byu.net>
11423
11424         tests: avoid false negative with --with-packager
11425         * tests/test-version-etc.sh: Discard packager information.
11426         * tests/test-argp-version-etc-1.sh: Likewise.
11427         Reported by Mike Frysinger.
11428
11429         utimens: fix regression on Solaris
11430         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
11431         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
11432         can only change fd timestamps via futimesat.  Instead, use an
11433         additional witness macro to avoid BSD bug.
11434         Reported by Jim Meyering.
11435
11436 2009-11-17  Eric Blake  <ebb9@byu.net>
11437
11438         usleep: use it to simplify tests
11439         * modules/stat-time-tests (Depends-on): Add usleep.
11440         (configure.ac): Drop usleep check.
11441         * modules/chown-tests (Depends-on, configure.ac): Likewise.
11442         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
11443         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
11444         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
11445         * modules/openat-tests (Depends-on, configure.ac): Likewise.
11446         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
11447         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
11448         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
11449         Likewise.
11450         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
11451         * tests/test-lchown.h (nap): Likewise.
11452         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
11453         * tests/test-stat-time.c (nap): Likewise.
11454         * tests/test-utimens-common.h (nap): Update comments.
11455
11456         usleep: new module
11457         * modules/usleep: New file.
11458         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
11459         * lib/usleep.c (usleep): Likewise.
11460         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
11461         * modules/unistd (Makefile.am): Substitute witnesses.
11462         * lib/unistd.in.h (usleep): Add declaration.
11463         * doc/pastposix-functions/usleep.texi (usleep): Document this.
11464         * MODULES.html.sh (Date and time): Likewise.
11465         * modules/usleep-tests (Depends-on): New test.
11466         * tests/test-usleep.c: New file.
11467
11468         chown: work around OpenBSD bug
11469         * lib/chown.c (rpl_chown): Work around the bug.
11470         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
11471         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
11472         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
11473         * modules/chown (Depends-on): Add stdbool.
11474         * modules/lchown (Depends-on): Likewise.
11475         * doc/posix-functions/chown.texi (chown): Document the bug.
11476         * doc/posix-functions/lchown.texi (lchown): Likewise.
11477         * tests/test-lchown.h (test_chown): Relax test.
11478
11479         mkstemp: avoid conflict with C++ keyword template
11480         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
11481         * lib/mkostemp.c (mkostemp): Likewise.
11482         * lib/mkostemps.c (mkostemps): Likewise.
11483         * lib/mkstemp.c (mkstemp): Likewise.
11484         * lib/mkstemps.c (mkstemps): Likewise.
11485
11486         xalloc-die-tests: optimize
11487         * tests/test-xalloc-die.sh: Reduce number of processes.
11488
11489 2009-11-17  Simon Josefsson  <simon@josefsson.org>
11490
11491         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
11492         patch from ludo@gnu.org (Ludovic Courtès).
11493
11494 2009-11-17  Jim Meyering  <meyering@redhat.com>
11495
11496         version-etc: use proper license string
11497         * modules/version-etc (License): Use LGPL, not LGPLv3+.
11498         * modules/version-etc-fsf: Likewise.
11499
11500 2009-11-17  Simon Josefsson  <simon@josefsson.org>
11501
11502         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
11503         printed to stdout.  Deal with EOL differences.
11504
11505 2009-11-17  Eric Blake  <ebb9@byu.net>
11506
11507         unsetenv: work around Solaris bug
11508         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
11509         * lib/unsetenv.c (rpl_unsetenv): Work around it.
11510         Reported by Jim Meyering.
11511
11512         vasnprintf: avoid compiler warnings
11513         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
11514         variables.
11515         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
11516
11517 2009-11-17  Simon Josefsson  <simon@josefsson.org>
11518
11519         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
11520         settings since xalloc-die is no longer the self test,
11521         xalloc-die.sh is.
11522
11523 2009-11-17  Jim Meyering  <meyering@redhat.com>
11524
11525         test-xalloc-die.sh: make the code agree with the commit log
11526         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
11527         at the end, just in case you happen to have a test-xalloc-die
11528         program in some other PATH directory.
11529
11530         test-xalloc-die.sh: fix a portability bug
11531         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
11532         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
11533         Otherwise, argv[0] (as often seen in diagnostics) would be too
11534         system-dependent, sometimes with, and sometimes without the leading "./".
11535
11536         version-etc-fsf: relax license to LGPLv3+
11537         * modules/version-etc-fsf (License): Relax license.
11538
11539 2009-11-16  Eric Blake  <ebb9@byu.net>
11540
11541         xalloc-die-tests: avoid printing null pointer
11542         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
11543         shell script.
11544         * tests/test-xalloc-die.c (program_name): Declare.
11545         * tests/test-xalloc-die.sh (tmpfiles): New file.
11546
11547         setenv, unsetenv: work around various bugs
11548         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
11549         (setenv) [HAVE_SETENV]: Work around bugs.
11550         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
11551         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
11552         for bugs.
11553         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
11554         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
11555         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
11556         * modules/stdlib (Makefile.am): Update substitutions.
11557         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
11558         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
11559         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
11560         * modules/setenv-tests: New test.
11561         * modules/unsetenv-tests: Likewise.
11562         * tests/test-setenv.c: New file.
11563         * tests/test-unsetenv.c: Likewise.
11564
11565 2009-11-16  Jim Meyering  <meyering@redhat.com>
11566
11567         version-etc: relax license to LGPLv3+
11568         * modules/version-etc (License): Relax license.
11569
11570         better AC_REQUIRE expanded-before-required-warning avoidance
11571         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
11572         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
11573         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
11574         which is no longer needed.
11575
11576 2009-11-16  Eric Blake  <ebb9@byu.net>
11577
11578         test-freading: clean up temporary file
11579         * tests/test-freading.c (main): Remove file on success, and use
11580         ASSERT more liberally.
11581         Reported by Jim Meyering.
11582
11583 2009-11-16  Jim Meyering  <meyering@redhat.com>
11584
11585         avoid new AC_REQUIRE expanded-before-required warnings
11586         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
11587         merely using it.
11588         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
11589         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
11590
11591 2009-11-15  Simon Josefsson  <simon@josefsson.org>
11592
11593         * tests/test-xalloc-die.c: New file.
11594         * modules/xalloc-die-tests: New file.
11595         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
11596         XFAIL_TESTS so it can be appended by modules.
11597
11598 2009-11-15  Simon Josefsson  <simon@josefsson.org>
11599
11600         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
11601         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
11602
11603 2009-11-14  Eric Blake  <ebb9@byu.net>
11604
11605         fnmatch: avoid compiler warning
11606         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
11607         to silence compiler warning about mismatch signedness in ?:.
11608         Reported by Robert Millan.
11609
11610         intprops: add double-inclusion guard
11611         * lib/intprops.h: Allow idempotent includes.
11612         Suggested by Bruce Korb.
11613
11614         openat: detect Solaris fchownat bug
11615         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
11616         penalizing glibc chownat when only lchownat is broken.
11617         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
11618         trailing slash bugs.
11619         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
11620         * modules/openat-tests (Files): Include more files.
11621         (Depends-on): Add mgetgroups, sleep, stat-time.
11622         (configure.ac): Add additional checks.
11623         (Makefile.am): Build new test.
11624         * tests/test-fchownat.c: New file.
11625
11626         lchown: detect Solaris and FreeBSD bug
11627         * lib/lchown.c (rpl_lchown): Work around bug.
11628         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
11629         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
11630         * modules/unistd (Makefile.am): Populate it.
11631         * lib/unistd.in.h (lchown): Update declaration.
11632         * doc/posix-functions/lchown.texi (lchown): Document the bug.
11633         * modules/lchown-tests: New file.
11634         * tests/test-lchown.h (test_lchown): Likewise.
11635         * tests/test-lchown.c (main): Likewise.
11636
11637         chown: detect Solaris and FreeBSD bug
11638         * lib/chown.c (rpl_chown): Work around bug.
11639         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
11640         (gl_PREREQ_CHOWN): Delete.
11641         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
11642         * modules/unistd (Makefile.am): Populate it.
11643         * lib/unistd.in.h (chown): Update declaration.
11644         * lib/lchown.c (chown): Update client.
11645         * modules/lchown (Depends-on): Add lstat.
11646         * doc/posix-functions/chown.texi (chown): Document the bug.
11647         * doc/posix-functions/getgroups.texi (getgroups): Document
11648         getgroups pitfall.
11649         * modules/chown-tests: New file.
11650         * tests/test-chown.h (test_chown): Likewise.
11651         * tests/test-chown.c (main): Likewise.
11652
11653 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
11654
11655         gnulib-tool: correctly detect absence of m4 directories
11656         * gnulib-tool: Avoid extra newline on data passed to wc -l.
11657
11658 2009-11-14  Jim Meyering  <meyering@redhat.com>
11659
11660         maint.mk: Prohibit inclusion of "xalloc.h" without use.
11661         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
11662
11663 2009-11-14  John W. Eaton  <jwe@gnu.org>
11664
11665         strftime.h: wrap funtion declaration in extern "C" block
11666         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
11667
11668 2009-11-13  Eric Blake  <ebb9@byu.net>
11669
11670         getgroups: avoid compiler warning
11671         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
11672
11673         getgroups: work around FreeBSD bug
11674         * lib/getgroups.c (rpl_getgroups): Work around the bug.
11675         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
11676         * doc/posix-functions/getgroups.texi (getgroups): Document it.
11677         * tests/test-getgroups.c (main): Fix buffer overrun.
11678
11679         getgroups: avoid compilation failure
11680         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
11681         * modules/getgroups (Depends-on): Add stdint.
11682
11683 2009-11-13  Jim Meyering  <meyering@redhat.com>
11684
11685         test-getgroups: avoid compilation failure
11686         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
11687
11688 2009-11-13  Eric Blake  <ebb9@byu.net>
11689
11690         mgetgroups: new module, taken from coreutils
11691         * modules/mgetgroups: New file.
11692         * lib/mgetgroups.h: Likewise.
11693         * lib/mgetgroups.c (mgetgroups): Likewise.
11694         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
11695         * MODULES.html.sh (Users and groups): Mention it.
11696
11697         getgroups: don't expose GETGROUPS_T to user
11698         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
11699         an element at a time if GETGROUPS_T is wrong size.
11700         * lib/getugroups.h (getugroups): Change signature.
11701         * lib/unistd.in.h (getgroups): Likewise.
11702         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
11703         signature needs fixing.
11704         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
11705         AC_TYPE_GETGROUPS.
11706         * modules/group-member (Depends-on): Add getgroups.
11707         * lib/group-member.c (group_info, get_group_info): Use gid_t.
11708         (group_member): Rely on getgroups replacement.
11709         * lib/getugroups.c (getugroups): Use gid_t.
11710         * tests/test-getgroups.c (main): Likewise.
11711         * NEWS: Mention the signature change.
11712         * doc/posix-functions/getgroups.texi (getgroups): Mention the
11713         problem with signature.
11714         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
11715         GETGROUPS_T is still useful for setgroups.
11716
11717         getgroups, getugroups: provide stubs for mingw
11718         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
11719         * lib/getugroups.c (getugroups): Likewise.
11720         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
11721         function.  Modernize replacement scheme.
11722         (gl_PREREQ_GETGROUPS): Delete.
11723         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
11724         * modules/getgroups (configure.ac): Declare witness.
11725         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
11726         * modules/unistd (Depends-on): Substitute witness.
11727         * lib/unistd.in.h (getgroups): Declare replacement.
11728
11729         getgroups: avoid calling exit
11730         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
11731         drop xalloc.
11732         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
11733         dependencies.
11734         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
11735         exiting, in the rare case of malloc failure.
11736
11737         getgroups: fix logic error
11738         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
11739         has more than 20 groups.
11740         * modules/getgroups-tests: New test.
11741         * tests/test-getgroups.c: New file.
11742
11743 2009-11-13  Simon Josefsson  <simon@josefsson.org>
11744
11745         * tests/test-base64.c: Improve.
11746
11747 2009-11-13  Simon Josefsson  <simon@josefsson.org>
11748
11749         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
11750         Blake <ebb9@byu.net>.
11751
11752 2009-11-13  Simon Josefsson  <simon@josefsson.org>
11753
11754         * tests/test-xvasprintf.c: Add %s%s related checks.
11755
11756 2009-11-12  Eric Blake  <ebb9@byu.net>
11757
11758         version-etc: match standards.texi style
11759         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
11760         and use <> only for URLs.
11761
11762 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
11763
11764         fts: do not fail on a submount during traversal
11765         * lib/fts.c (fts_build): Read the stat info again after opening
11766         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
11767         Original report at http://bugzilla.redhat.com/501848.
11768
11769 2009-11-12  Jim Meyering  <meyering@redhat.com>
11770
11771         bootstrap: sync from coreutils
11772         * build-aux/bootstrap (bootstrap_epilogue): New function.
11773         Use git_modules_config in one more place.  This make bootstrap's
11774         --gnulib-srcdir option more useful for testing.
11775
11776         bootstrap: generalize autoheader check
11777         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
11778         AC_CONFIG_HEADERS.
11779
11780 2009-11-11  Eric Blake  <ebb9@byu.net>
11781
11782         mkfifoat: use new modules for Solaris and BSD bugs
11783         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
11784         * lib/mkfifoat.c (mknodat): Split...
11785         * lib/mknodat.c (mknodat): ...into new file.
11786         * modules/mkfifoat (Files): Ship new file.
11787         (Depends-on): Add mkfifo, mknod.
11788         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
11789         (Depends-on): Add symlink.
11790         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
11791         redundant with test_mkfifo.h.
11792         (do_mkfifoat, do_mknodat): New helpers.
11793
11794         mknod: new module
11795         * modules/mknod: New file.
11796         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
11797         * lib/mknod.c (mknod): Likewise.
11798         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
11799         defaults.
11800         * modules/sys_stat (Makefile.am): Substitute them.
11801         * lib/sys_stat.in.h (mknod): Declare replacement.
11802         * MODULES.html.sh (Support for systems lacking POSIX:2008):
11803         Document it.
11804         * doc/posix-functions/mknod.texi (mknod): Likewise.
11805         * modules/mknod-tests: New test.
11806         * tests/test-mknod.c: Likewise.
11807
11808         mkfifo: new module
11809         * modules/mkfifo: New file.
11810         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
11811         * lib/mkfifo.c (mkfifo): Likewise.
11812         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
11813         defaults.
11814         * modules/sys_stat (Makefile.am): Substitute them.
11815         * lib/sys_stat.in.h (mkfifo): Declare replacement.
11816         * MODULES.html.sh (Support for systems lacking POSIX:2008):
11817         Document it.
11818         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
11819         * modules/mkfifo-tests: New test.
11820         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
11821         from test-mkfifoat.c.
11822         * tests/test-mkfifo.c: New file.
11823
11824         readlink: detect FreeBSD bug
11825         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
11826         slash on symlink.
11827         * doc/posix-functions/readlink.texi (readlink): Document the bug.
11828         * tests/test-readlink.h (test_readlink): Enhance test.
11829
11830         symlink: detect FreeBSD bug
11831         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
11832         slash on symlink.
11833         * doc/posix-functions/symlink.texi (symlink): Document the bug.
11834         * tests/test-symlink.h (test_symlink): Enhance test.
11835
11836 2009-11-10  Eric Blake  <ebb9@byu.net>
11837
11838         link: detect FreeBSD bug
11839         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
11840         symlink.
11841         * doc/posix-functions/link.texi (link): Document the bug.
11842         * tests/test-link.h (test_link): Enhance test.
11843         * tests/test-linkat.c (main): Update caller.
11844
11845         unlink, remove: detect FreeBSD bug
11846         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
11847         slash on symlink.
11848         * doc/posix-functions/unlink.texi (unlink): Document the bug.
11849         * doc/posix-functions/remove.texi (remove): Likewise.
11850         * tests/test-unlink.h (test_unlink): Enhance test.
11851         * tests/test-remove.c (main): Likewise.
11852
11853 2009-11-09  Eric Blake  <ebb9@byu.net>
11854
11855         rename: detect FreeBSD bug
11856         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
11857         slash on symlink.
11858         * modules/renameat-tests (Depends-on): Add filenamecat.
11859         * tests/test-rename.h (test_rename): Allow one more errno.
11860         * tests/test-renameat.c (main): Likewise.
11861         * doc/posix-functions/rename.texi (rename): Document the bug.
11862
11863         open: detect FreeBSD bug
11864         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
11865         symlink.
11866         * doc/posix-functions/open.texi (open): Document the bug.
11867         * doc/posix-functions/utimes.texi (utimes): Likewise.
11868         * tests/test-open.h (test_open): Add parameters, and test symlink
11869         handling.
11870         * tests/test-open.c (main): Adjust caller.
11871         * tests/test-fcntl-safer.c (main): Likewise.
11872         * modules/open-tests (Depends-on): Add stdbool, symlink.
11873         * modules/fcntl-safer-tests (Depends-on): Likewise.
11874         * tests/test-openat.c (main): Add test-open tests.
11875
11876         stat: detect FreeBSD bug
11877         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
11878         symlink.
11879         * doc/posix-functions/stat.texi (stat): Document the bug.
11880         * tests/test-stat.h (test_stat_func): Add argument.
11881         * tests/test-stat.c (main): Adjust caller.
11882         * tests/test-fstatat.c (main): Likewise.
11883         * modules/stat-tests (Depends-on): Add stdbool, symlink.
11884         Reported by Jim Meyering.
11885
11886 2009-11-09  James Youngman  <jay@gnu.org>
11887
11888         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
11889         * lib/strftime.c: Correct placement of #include "ignore-value.h".
11890
11891 2009-11-08  Jim Meyering  <meyering@redhat.com>
11892
11893         utimens: remove invalid futimesat call
11894         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
11895         It used the file descriptor of the target file as the DIR_FD
11896         parameter and NULL as the file name.  That caused failure with
11897         errno == EFAULT on FreeBSD-8.0-rc2
11898
11899 2009-11-07  Eric Blake  <ebb9@byu.net>
11900
11901         fflush, freadseek: use fseeko, not fseek
11902         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
11903         (clear_ungetc_buffer): Avoid potential problems on large files.
11904         * lib/freadseek.c (freadseek): Likewise.
11905         * modules/freadseek (Depends-on): Add fseeko.
11906         * modules/fseek (configure.ac): Set a witness.
11907         * tests/test-fflush.c (main): Use fseeko.
11908         * tests/test-fpurge.c (fseek): Disable link warning.
11909         * tests/test-freadable.c (fseek): Likewise.
11910         * tests/test-freading.c (fseek): Likewise.
11911         * tests/test-fseeko.c (fseek): Likewise.
11912         * tests/test-ftell.c (fseek): Likewise.
11913         * tests/test-ftello.c (fseek): Likewise.
11914         * tests/test-fwritable.c (fseek): Likewise.
11915         * tests/test-fwriting.c (fseek): Likewise.
11916
11917 2009-11-06  Simon Josefsson  <simon@josefsson.org>
11918
11919         * modules/memchr (Depends-on): Drop getpagesize dependency.
11920
11921 2009-11-06  Simon Josefsson  <simon@josefsson.org>
11922
11923         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
11924         Reported by Ludovic Courtès.
11925         * build-aux/pmccabe2html: Improve example usage.
11926         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
11927
11928 2009-11-06  Jim Meyering  <meyering@redhat.com>
11929
11930         do-release-commit-and-tag: New module.
11931         Automate the release-commit and tag process.
11932         * build-aux/do-release-commit-and-tag: New script, from coreutils.
11933         * modules/do-release-commit-and-tag: New file.
11934         * MODULES.html.sh (Support for maintaining and releasing): Add it.
11935
11936 2009-11-06  Simon Josefsson  <simon@josefsson.org>
11937
11938         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
11939         because test-select.c uses inet_pton.
11940
11941 2009-11-06  Simon Josefsson  <simon@josefsson.org>
11942
11943         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
11944         GETADDRINFO_LIB.  Bump serial number.
11945         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
11946         Suggested by Eric Blake <ebb9@byu.net>.
11947
11948 2009-11-05  Eric Blake  <ebb9@byu.net>
11949
11950         strtod: detect darwin bug
11951         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
11952         Reported by Leo Davis.
11953
11954         freopen-safer: new module
11955         * modules/freopen-safer: New module.
11956         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
11957         * lib/freopen-safer.c (freopen_safer): New file.
11958         * lib/stdio-safer.h (freopen_safer): New declaration.
11959         * lib/stdio--.h (freopen): New override.
11960         * MODULES.html.sh (File stream based Input/Output): Mention it.
11961         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
11962         freopen-safer module.
11963         * doc/posix-functions/stderr.texi (stderr): Likewise.
11964         * doc/posix-functions/stdin.texi (stdin): Likewise.
11965         * doc/posix-functions/stdout.texi (stdout): Likewise.
11966         * modules/freopen-safer-tests: New test.
11967         * tests/test-reopen-safer.c: New file.
11968
11969 2009-11-05  Jim Meyering  <meyering@redhat.com>
11970
11971         maint.mk: Prohibit inclusion of "close-stream.h" without use.
11972         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
11973
11974 2009-11-05  Simon Josefsson  <simon@josefsson.org>
11975
11976         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
11977
11978 2009-11-05  Simon Josefsson  <simon@josefsson.org>
11979
11980         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
11981
11982 2009-11-05  Simon Josefsson  <simon@josefsson.org>
11983
11984         Fix link error.
11985         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
11986         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
11987
11988 2009-11-05  Simon Josefsson  <simon@josefsson.org>
11989
11990         * tests/test-func.c: Also test value of __func__.
11991
11992 2009-11-05  Simon Josefsson  <simon@josefsson.org>
11993
11994         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
11995         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
11996
11997 2009-11-05  Bruno Haible  <bruno@clisp.org>
11998
11999         Fix link error.
12000         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
12001         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
12002         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
12003
12004 2009-11-05  Bruno Haible  <bruno@clisp.org>
12005
12006         Tests for module 'inet_pton'.
12007         * modules/inet_pton-tests: New file.
12008         * tests/test-inet_pton.c: New file.
12009
12010 2009-11-05  Bruno Haible  <bruno@clisp.org>
12011
12012         Tests for module 'inet_ntop'.
12013         * modules/inet_ntop-tests: New file.
12014         * tests/test-inet_ntop.c: New file.
12015
12016 2009-11-04  Eric Blake  <ebb9@byu.net>
12017
12018         stdlib-safer: wrap all mkstemp variants
12019         * modules/mkostemp (configure.ac): Set witness.
12020         * modules/mkostemps (configure.ac): Likewise.
12021         * modules/mkstemps (configure.ac): Likewise.
12022         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
12023         (mkstemps_safer): Wrap more functions.
12024         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
12025         wrapping.
12026         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
12027         (mkstemps_safer): Implement the wrappers.
12028
12029         mkstemps, mkostemps: new modules
12030         * modules/mkostemps: New module.
12031         * modules/mkstemps: Likewise.
12032         * lib/mkostemps.c (mkostemps): New file.
12033         * lib/mkstemps.c (mkstemps): Likewise.
12034         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
12035         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
12036         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
12037         * modules/stdlib (Makefile.am): Substitute them.
12038         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
12039         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
12040         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
12041         * doc/gnulib.texi (Glibc stdlib.h): Include them.
12042         * MODULES.html.sh (File system functions): Mention them.
12043
12044         tempname: resync from glibc
12045         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
12046         same values for __GT_FILE as glibc.  Abort even when assertions
12047         are disabled.
12048         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
12049         match its value otherwise.  Allow idempotent inclusion.
12050         * lib/mkdtemp.c (mkdtemp): Adjust caller.
12051         * lib/mkostemp.c (mkostemp): Likewise.
12052         * lib/mkstemp.c (mkstemp): Likewise.
12053         * lib/tmpfile.c (tmpfile): Likewise.
12054         * NEWS: Document this.
12055
12056         utimens: fix use of futimens on older Linux
12057         * lib/utimens.c (fdutimens): Use updated, rather than original,
12058         timespec to avoid bug in older Linux kernel.
12059         Reported by Simon Josefsson.
12060
12061 2009-11-04  Bruno Haible  <bruno@clisp.org>
12062
12063         Make num_processors more flexible and consistent.
12064         * lib/nproc.h (enum nproc_query): New type.
12065         (num_processors): Add a 'query' argument.
12066         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
12067         (num_processors): Add a 'query' argument. Test the value of the
12068         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
12069         mingw, count the number of CPUs available for the current process.
12070         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
12071         Check for sched_getaffinity and sched_getaffinity_np.
12072         * modules/nproc (Depends-on): Add c-ctype, extensions.
12073         * NEWS: Mention the change.
12074
12075 2009-11-03  Bruno Haible  <bruno@clisp.org>
12076
12077         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
12078
12079 2009-11-03  Jim Meyering  <meyering@redhat.com>
12080
12081         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
12082         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
12083         if it is defined.
12084
12085 2009-11-02  Eric Blake  <ebb9@byu.net>
12086
12087         mktime, timegm: share common declaration
12088         * lib/mktime-internal.h: New file.
12089         * lib/mktime.c: Use it rather than open-coding a declaration.
12090         * lib/timegm.c: Likewise.
12091         * modules/mktime (Files): Ship it.
12092         * modules/timegm (Files): Likewise.
12093         Suggested by Bruno Haible.
12094
12095         test-update-copyright: update test to match script changes
12096         * tests/test-update-copyright.sh: Avoid hard-coding perl
12097         location.  Don't update *.bak created by earlier runs.
12098
12099 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
12100             Simon Josefsson  <simon@josefsson.org>
12101             Bruno Haible  <bruno@clisp.org>
12102
12103         Fix link error on Solaris 8.
12104         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
12105         also in libnsl. Define also INET_PTON_LIB.
12106         * modules/inet_pton (Link): New section.
12107
12108 2009-11-02  Simon Josefsson  <simon@josefsson.org>
12109             Bruno Haible  <bruno@clisp.org>
12110
12111         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
12112         * modules/inet_ntop (Link): New section.
12113         Reported by Boyan Kasarov <bkasarov@gmail.com>.
12114
12115 2009-11-02  Eric Blake  <ebb9@byu.net>
12116
12117         maint: avoid compiler warnings in m4 macros
12118         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
12119         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
12120
12121 2009-11-02  Simon Josefsson  <simon@josefsson.org>
12122
12123         * m4/pmccabe2html.m4: Remove file.
12124         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
12125         function.  Change maintainer.
12126         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
12127         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
12128         Courtès).
12129
12130 2009-10-31  Eric Blake  <ebb9@byu.net>
12131
12132         fseeko: fix m4 regression
12133         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
12134         regression from 2009-10-27.
12135         Reported by Ralf Wildenhues.
12136
12137 2009-10-31  Jim Meyering  <meyering@redhat.com>
12138
12139         inttostr: aesthetics and improved (compile-time) safety
12140         Define inttype_is_signed rather than inttype_is_unsigned,
12141         since the sole use is via "#if inttype_is_signed".
12142         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
12143         inttype_is_unsigned.
12144         * lib/offtostr.c (inttype_is_signed): Likewise.
12145         * lib/uinttostr.c (inttype_is_signed): Likewise.
12146         * lib/umaxtostr.c (inttype_is_signed): Likewise.
12147         * lib/inttostr.c (inttostr): Use verify to cross-check the
12148         inttype_is_signed value and the signedness of the actual type.
12149         * modules/inttostr (Depends-on): Add verify.
12150
12151 2009-10-30  Eric Blake  <ebb9@byu.net>
12152
12153         build: avoid compiler warnings
12154         * lib/fchmodat.c (lchmod): Mark unused variables.
12155         * lib/getopt.c (_getopt_initialize): Likewise.
12156         * lib/mktime.c (__mktime_internal): Provide prototype.
12157         * lib/inttostr.c (inttostr): Avoid compiler warning even with
12158         older gcc that do not understand #pragma GCC diagnostic.
12159         * lib/uinttostr.c (inttype_is_unsigned): Define.
12160         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
12161
12162 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
12163
12164         stat: fix compilation on AIX
12165         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
12166         only see struct stat64.
12167
12168 2009-10-30  Eric Blake  <ebb9@byu.net>
12169
12170         exclude: make more robust
12171         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
12172         rather than masking a coding bug.
12173         Suggested by Bruno Haible.
12174
12175 2009-10-30  Jim Meyering  <meyering@redhat.com>
12176
12177         perl scripts: remove #!/usr/bin/perl in favor of more portable...
12178         Rather than putting #!/usr/bin/perl on the first line,
12179         start with a variant of what's recommended by "man perlrun" that
12180         invokes the first "perl" program from your shell's search path.
12181         * build-aux/gitlog-to-changelog: Replace #!... as above.
12182         Add a "Local Variables" perl mode setting.
12183         Prompted by a patch from Ludovic Courtès.
12184         Improved by Eric Blake.
12185         * build-aux/useless-if-before-free: Likewise.
12186         * build-aux/announce-gen: Likewise.
12187         * build-aux/update-copyright: Likewise.
12188
12189 2009-10-29  Eric Blake  <ebb9@byu.net>
12190
12191         filenamecat-lgpl: adjust clients
12192         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
12193         filenamecat.
12194         * modules/renameat (Depends-on): Likewise.
12195
12196         filenamecat: split into filenamecat-lgpl
12197         * modules/filenamecat-lgpl: New module.
12198         * modules/filenamecat (Files): Move library-safe files into
12199         filenamecat-lgpl.
12200         (Depends-on): Add filenamecat-lgpl.
12201         (configure.ac): Declare witness.
12202         * lib/filenamecat.h (file_name_concat): Only declare when using
12203         GPL module.
12204         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
12205         Move...
12206         * lib/filenamecat-lgpl.c: ...into new file.
12207         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
12208         (gl_FILE_NAME_CONCAT): Use it.
12209         * MODULES.html.sh (File system functions): Mention new module.
12210
12211         argp: avoid memory leak
12212         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
12213         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
12214         base_name, since the latter malloc()s and can call exit().
12215         Leak introduced 2006-07-03.
12216
12217         dirname-lgpl: adjust clients that don't need full dirname
12218         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
12219         * modules/filenamecat (Depends-on): Likewise.
12220         * modules/linkat (Depends-on): Likewise.
12221         * modules/mkancesdirs (Depends-on): Likewise.
12222         * modules/mkdir (Depends-on): Likewise.
12223         * modules/openat (Depends-on): Likewise.
12224         * modules/savewd (Depends-on): Likewise.
12225         * modules/rename (Depends-on): Likewise.
12226         (License): Relax license.
12227         * modules/mkdir-tests (Depends-on): Drop progname.
12228         (Makefile.am): Delete unneeded LDADD.
12229         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
12230
12231         dirname: split into dirname-lgpl
12232         * modules/dirname-lgpl: New module.
12233         * modules/dirname (Files): Move library-safe files into
12234         dirname-lgpl.
12235         (Depends-on): Add dirname-lgpl.
12236         (configure.ac): Declare witness.
12237         * modules/double-slash-root (License): Relax license.
12238         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
12239         module.
12240         * lib/dirname.c (dir_len, mdir_name): Move...
12241         * lib/dirname-lgpl.c: ...into new file.
12242         * lib/basename.c (last_component, base_len): Move...
12243         * lib/basename-lgpl.c: ...into new file.
12244         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
12245         (gl_DIRNAME): Use it.
12246         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
12247         Mention new module.
12248         * modules/dirname-tests (Depends-on): Add progname.
12249         * tests/test-dirname.c (program_name): Delete.
12250
12251         mkdir: make safe for libraries
12252         * modules/mkdir (Depends-on): Drop xalloc.
12253         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
12254         exit.
12255
12256         tests: avoid some compiler warnings
12257         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
12258         literals.
12259         * tests/test-memchr.c (main): Avoid type mismatch.
12260         * tests/test-arpa_inet.c (main): Avoid unused parameters.
12261         * tests/test-base64.c (main): Likewise.
12262         * tests/test-getdelim.c (main): Likewise.
12263         * tests/test-gethostname.c (main): Likewise.
12264         * tests/test-getline.c (main): Likewise.
12265         * tests/test-netinet_in.c (main): Likewise.
12266         * tests/test-select.c (open_server_socket, main): Likewise.
12267         * tests/test-select-stdin.c (main): Likewise.
12268         * tests/test-sockets.c (main): Likewise.
12269         * tests/test-strsignal.c (main): Likewise.
12270         * tests/test-sys_select.c (main): Likewise.
12271         * tests/test-sys_socket.c (main): Likewise.
12272         * tests/test-u64.c (main): Likewise.
12273         * tests/test-xfprintf-posix.c (main): Likewise.
12274         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
12275
12276         sockets: avoid compiler warning
12277         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
12278
12279         maint: detect usage(1) and other suspicious exits
12280         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
12281
12282 2009-10-29  Jim Meyering  <meyering@redhat.com>
12283
12284         timespec: long-to-int truncation could make timespec_cmp malfunction
12285         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
12286         a multiple of 2^32 nanoseconds as no difference.
12287
12288 2009-10-28  Jim Meyering  <meyering@redhat.com>
12289
12290         fprintftime: wrap macro code argument in "do {...} while(0)"
12291         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
12292         cpy macro must be a statement that can be followed by a semicolon.
12293         Now that the else clause contains a comment and is hence longer
12294         than one line, I require curly braces.  That in turn requires
12295         that we wrap this code block in the standard do...while(0).
12296
12297         fprintftime: remove stray semicolon from previous change
12298         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
12299
12300         fprintftime: avoid a warning about ignored fwrite return value
12301         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
12302         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
12303         that is unsafe.
12304         * modules/fprintftime (Depends-on): Add ignore-value.
12305
12306         exclude: avoid an unwarranted warning
12307         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
12308
12309 2009-10-27  Eric Blake  <ebb9@byu.net>
12310
12311         fseek: avoid compilation failure when fflush is replaced
12312         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
12313         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
12314         module is in use.
12315         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
12316         module is not in use; since REPLACE_FSEEK worked otherwise.
12317         (GNULIB_FTELLO): Likewise for ftell.
12318         Reported by Ian Beckwith and others.
12319
12320 2009-10-27  Bruno Haible  <bruno@clisp.org>
12321
12322         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
12323         Reported by Jim Meyering.
12324
12325 2009-10-27  Jim Meyering  <jim@meyering.net>
12326             Bruno Haible  <bruno@clisp.org>
12327
12328         Avoid warning despite dropping the return value of fwrite.
12329         * lib/unicodeio.c: Include ignore-value.h.
12330         (fwrite_success_callback): Explicitly ignore fwrite's return value.
12331         * modules/unicodeio (Depends-on): Add ignore-value.
12332
12333 2009-10-26  Eric Blake  <ebb9@byu.net>
12334
12335         areadlinkat: fix fallback path
12336         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
12337         pointer and zero.
12338
12339 2009-10-22  Pádraig Brady  <P@draigBrady.com>
12340
12341         Use a better IO block size for modern systems
12342         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
12343         * lib/md2.c: Likewise.
12344         * lib/md4.c: Likewise.
12345         * lib/md5.c: Likewise.
12346         * lib/sha1.c: Likewise.
12347         * lib/sha256.c: Likewise.
12348         * lib/sha512.c: Likewise.
12349
12350 2009-10-22  Eric Blake  <ebb9@byu.net>
12351
12352         tests: avoid several compiler warnings
12353         * tests/test-getcwd.c (main): Avoid buffer underflow.
12354         * tests/test-getdate.c (main): String literals are not safe with
12355         putenv, so use setenv.  Declare unused argument.
12356         * modules/getdate-tests (Depends-on): Add setenv.
12357         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
12358         problems with string literals in char *.
12359         * tests/test-hash.c (main): Avoid shadowing declaration.
12360         (insert_new): Treat string literals as char const *.
12361         * tests/test-getopt.h (test_getopt): Likewise.
12362         (getopt_loop): Alter types to minimize casting elsewhere.
12363         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
12364         (test_getopt_long_posix): Likewise.
12365         (do_getopt_long): Add wrapper to minimize casting.
12366         * tests/test-atexit.c (clear_temp_file): Use void.
12367         * tests/test-areadlink-with-size.c (main): Declare unused
12368         arguments.
12369         * tests/test-areadlink.c (main): Likewise.
12370         * tests/test-areadlinkat-with-size.c (main): Likewise.
12371         * tests/test-areadlinkat.c (main): Likewise.
12372         * tests/test-canonicalize-lgpl.c (main): Likewise.
12373         * tests/test-canonicalize.c (main): Likewise.
12374         * tests/test-dirent-safer.c (main): Likewise.
12375         * tests/test-dirname.c (main): Likewise.
12376         * tests/test-dup2.c (main): Likewise.
12377         * tests/test-fchdir.c (main): Likewise.
12378         * tests/test-fcntl-h.c (main): Likewise.
12379         * tests/test-fcntl-safer.c (main): Likewise.
12380         * tests/test-fdopendir.c (main): Likewise.
12381         * tests/test-fdutimensat.c (main): Likewise.
12382         * tests/test-fflush.c (main): Likewise.
12383         * tests/test-filenamecat.c (main): Likewise.
12384         * tests/test-filevercmp.c (main): Likewise.
12385         * tests/test-fopen-safer.c (main): Likewise.
12386         * tests/test-fopen.c (main): Likewise.
12387         * tests/test-fpending.c (main): Likewise.
12388         * tests/test-fpurge.c (main): Likewise.
12389         * tests/test-freading.c (main): Likewise.
12390         * tests/test-fstatat.c (main): Likewise.
12391         * tests/test-fsync.c (main): Likewise.
12392         * tests/test-futimens.c (main): Likewise.
12393         * tests/test-getndelim2.c (main): Likewise.
12394         * tests/test-gettimeofday.c (main): Likewise.
12395         * tests/test-getopt.c (main): Likewise.
12396         * tests/test-i-ring.c (main): Likewise.
12397         * tests/test-inttypes.c (main): Likewise.
12398         * tests/test-link.c (main): Likewise.
12399         * tests/test-lstat.c (main): Likewise.
12400         * tests/test-math.c (main): Likewise.
12401         * tests/test-md5.c (main): Likewise.
12402         * tests/test-memchr2.c (main): Likewise.
12403         * tests/test-memrchr.c (main): Likewise.
12404         * tests/test-mkdir.c (main): Likewise.
12405         * tests/test-mkdirat.c (main): Likewise.
12406         * tests/test-mkfifoat.c (main): Likewise.
12407         * tests/test-open.c (main): Likewise.
12408         * tests/test-openat-safer.c (main): Likewise.
12409         * tests/test-openat.c (main): Likewise.
12410         * tests/test-quotearg.c (main): Likewise.
12411         * tests/test-rawmemchr.c (main): Likewise.
12412         * tests/test-readlink.c (main): Likewise.
12413         * tests/test-remove.c (main): Likewise.
12414         * tests/test-rename.c (main): Likewise.
12415         * tests/test-renameat.c (main): Likewise.
12416         * tests/test-rmdir.c (main): Likewise.
12417         * tests/test-sha1.c (main): Likewise.
12418         * tests/test-signal.c (main): Likewise.
12419         * tests/test-sigaction.c (main): Likewise.
12420         * tests/test-stat.c (main): Likewise.
12421         * tests/test-stat-time.c (main): Likewise.
12422         * tests/test-stddef.c (main): Likewise.
12423         * tests/test-stdint.c (main): Likewise.
12424         * tests/test-stdio.c (main): Likewise.
12425         * tests/test-stdlib.c (main): Likewise.
12426         * tests/test-strchrnul.c (main): Likewise.
12427         * tests/test-strerror.c (main): Likewise.
12428         * tests/test-string.c (main): Likewise.
12429         * tests/test-strtod.c (main): Likewise.
12430         * tests/test-strverscmp.c (main): Likewise.
12431         * tests/test-symlink.c (main): Likewise.
12432         * tests/test-symlinkat.c (main): Likewise.
12433         * tests/test-sys_stat.c (main): Likewise.
12434         * tests/test-sys_time.c (main): Likewise.
12435         * tests/test-time.c (main): Likewise.
12436         * tests/test-unistd.c (main): Likewise.
12437         * tests/test-unlink.c (main): Likewise.
12438         * tests/test-unlinkat.c (main): Likewise.
12439         * tests/test-utimens.c (main): Likewise.
12440         * tests/test-utimensat.c (main): Likewise.
12441         * tests/test-version-etc.c (main): Likewise.
12442         * tests/test-wchar.c (main): Likewise.
12443         * tests/test-wctype.c (main): Likewise.
12444         * tests/test-xprintf-posix.c (main): Likewise.
12445         * tests/test-posixtm.c (main): Likewise.
12446         (STREQ): Delete unused macro.
12447         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
12448         shadowed variables.
12449         * tests/test-memchr.c (main): Likewise.
12450
12451 2009-10-21  Eric Blake  <ebb9@byu.net>
12452
12453         areadlinkat: avoid failure on older glibc
12454         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
12455         rather than mis-comparing 0 against FUNC_RESULT of char*.
12456
12457 2009-10-21  Bruno Haible  <bruno@clisp.org>
12458
12459         * modules/stpncpy (License): Relicense under LGPLv2+.
12460         Reported by David Lutterkort <lutter@redhat.com>.
12461
12462 2009-10-20  Eric Blake  <ebb9@byu.net>
12463
12464         utimensat: work around Solaris 9 bug
12465         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
12466         has trailing slash bugs.
12467         * tests/test-lutimens.h (test_lutimens): Enhance test.
12468         * tests/test-utimens.h (test_utimens): Likewise.
12469         * doc/posix-functions/utime.texi (utime): Enhance documentation.
12470         * doc/posix-functions/utimes.texi (utimes): Likewise.
12471         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
12472         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
12473         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
12474         * doc/posix-functions/futimens.texi (futimens): Likewise.
12475
12476         fdutimensat: new module
12477         * modules/fdutimensat: New file.
12478         * lib/fdutimensat.c (fdutimensat): Likewise.
12479         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
12480         * MODULES.html.sh (File system functions): Mention module.
12481         * modules/fdutimensat-tests: New test.
12482         * tests/test-fdutimensat.c: Likewise.
12483
12484         doc: regenerate INSTALL
12485         * doc/INSTALL: Reflect recent autoconf update.
12486         * doc/INSTALL.ISO: Likewise.
12487         * doc/INSTALL.UTF-8: Likewise.
12488
12489 2009-10-20  Pádraig Brady  <P@draigBrady.com>
12490
12491         acl: warn if ACL support is not detected
12492         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
12493
12494 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
12495
12496         * lib/nproc.h: Add extern "C" block for C++.
12497
12498 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
12499             Bruno Haible  <bruno@clisp.org>
12500
12501         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
12502         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
12503         * doc/posix-functions/isalpha.texi: Likewise.
12504         * doc/posix-functions/isblank.texi: Likewise.
12505         * doc/posix-functions/iscntrl.texi: Likewise.
12506         * doc/posix-functions/isdigit.texi: Likewise.
12507         * doc/posix-functions/isgraph.texi: Likewise.
12508         * doc/posix-functions/islower.texi: Likewise.
12509         * doc/posix-functions/isprint.texi: Likewise.
12510         * doc/posix-functions/ispunct.texi: Likewise.
12511         * doc/posix-functions/isspace.texi: Likewise.
12512         * doc/posix-functions/isupper.texi: Likewise.
12513         * doc/posix-functions/isxdigit.texi: Likewise.
12514
12515 2009-10-18  Bruno Haible  <bruno@clisp.org>
12516
12517         Tests for module 'isblank'.
12518         * modules/isblank-tests: New file.
12519         * tests/test-isblank.c: New file.
12520
12521         New module 'isblank'.
12522         * lib/isblank.c: New file.
12523         * m4/isblank.m4: New file.
12524         * modules/isblank: New file.
12525         * doc/posix-functions/isblank.texi: Mention the new module.
12526
12527 2009-10-18  Bruno Haible  <bruno@clisp.org>
12528
12529         New module 'ctype'.
12530         * lib/ctype.in.h: New file.
12531         * m4/ctype.m4: New file.
12532         * modules/ctype: New file.
12533         * doc/posix-headers/ctype.texi: Mention the new module.
12534
12535 2009-10-18  Jim Meyering  <meyering@redhat.com>
12536
12537         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
12538         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
12539         right after its initialization, rather than farther down.
12540         Keeping these in close proximity makes it easier to ensure
12541         that each such variable is initialized.  E.g.,
12542
12543             LIB_CLOCK_GETTIME=
12544             AC_SUBST([LIB_CLOCK_GETTIME])
12545
12546         This change also increments these serial numbers.
12547         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
12548         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
12549         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
12550
12551 2009-10-18  Bruno Haible  <bruno@clisp.org>
12552
12553         Don't let environment variables perturb build.
12554         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
12555         (gl_PREREQ_GETHRXTIME): ... not here.
12556
12557 2009-10-18  Bruno Haible  <bruno@clisp.org>
12558
12559         Avoid symlink attack in localcharset module.
12560         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
12561         (O_NOFOLLOW): Define fallback.
12562         (get_charset_aliases): Don't open the file if it is a symbolic link.
12563         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
12564         gl_FCNTL_H.
12565         (gl_FCNTL_H): Require it.
12566         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
12567         * modules/localcharset (Files): Add m4/fcntl_h.m4.
12568         Reported by Fergal Glynn <fglynn@veracode.com>.
12569
12570 2009-10-18  Bruno Haible  <bruno@clisp.org>
12571
12572         Implement nproc for mingw.
12573         * lib/nproc.c: Include <windows.h>
12574         (num_processors): On native Windows platforms, try GetSystemInfo.
12575
12576 2009-10-18  Bruno Haible  <bruno@clisp.org>
12577
12578         Implement nproc for IRIX.
12579         * lib/nproc.c: Include <sys/sysmp.h>.
12580         (num_processors): On IRIX systems, try sysmp.
12581         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
12582
12583 2009-10-18  Bruno Haible  <bruno@clisp.org>
12584
12585         Implement nproc for HP-UX.
12586         * lib/nproc.c: Include <sys/pstat.h>
12587         (num_processors): On HP-UX systems, try pstat_getdynamic.
12588         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
12589         pstat_getdynamic.
12590
12591 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
12592             Bruno Haible  <bruno@clisp.org>
12593
12594         Implement nproc for NetBSD, OpenBSD.
12595         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
12596         (ARRAY_SIZE): New macro.
12597         (num_processors): On BSD systems, try sysctl of HW_NCPU.
12598         * m4/nproc.m4: New file.
12599         * modules/nproc (Files): Add m4/nproc.m4.
12600         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
12601         (Makefile.am): Instead, augment lib_SOURCES.
12602
12603 2009-10-18  Bruno Haible  <bruno@clisp.org>
12604
12605         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
12606         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
12607         sys/param.h.
12608
12609 2009-10-16  Eric Blake  <ebb9@byu.net>
12610
12611         utimensat: new module
12612         * modules/utimensat: New file.
12613         * lib/utimensat.c (utimensat): Likewise.
12614         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
12615         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
12616         so we can work around Linux bugs.
12617         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
12618         * modules/sys_stat (Makefile.am): Substitute them.
12619         * lib/sys_stat.in.h (utimensat): Declare it.
12620         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
12621         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
12622         * modules/utimensat-tests: New test.
12623         * tests/test-utimensat.c: Likewise.
12624
12625         utimens: let lutimens work on non-symlinks
12626         * lib/utimens.c (lutimens): Fall back to utimens rather than
12627         failing with ENOSYS, when file is not a symlink.
12628         (utimens): Reduce redirection.
12629         * tests/test-lutimens.h (test_lutimens): Update test to cover
12630         non-symlinks.
12631         * tests/test-utimens.h (test_utimens): Update test to cover
12632         symlinks.
12633         * tests/test-utimens.c (main): Update caller.
12634
12635         utimens: cache whether utimensat syscall works
12636         * lib/utimens.c (utimensat_works_really): New cache variable.
12637         (fdutimens, lutimens): Use it to avoid failing syscall.
12638
12639         test-stat-time, test-utimens: improve portability
12640         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
12641         ext4 on alpha, and for cygwin.
12642         * tests/test-utimens-common.h: New file.
12643         (nap): Factor delays into single function.
12644         * tests/test-lutimens.h (test_lutimens): Use new header.
12645         * tests/test-futimens.h (test_futimens): Likewise.
12646         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
12647         timestamps to occur from same machine, as was done previously for
12648         test_utimens.
12649         * modules/utimens-tests (Files): Ship new file.
12650         * modules/futimens-tests (Files): Likewise.
12651         Reported in part by Jim Meyering.
12652
12653         sys_stat: sort replacement declarations
12654         * lib/sys_stat.in.h: Sort declarations.
12655         * lib/futimens.c (futimens): Fix typo.
12656
12657 2009-10-15  Jim Meyering  <meyering@redhat.com>
12658
12659         don't let environment settings perturb build
12660         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
12661         could cause a configure-time and/or build-time malfunction.
12662         Typically, a configure-time function-in-library test is performed
12663         via code like this:
12664
12665           LIB_VAR=
12666           AC_SUBST([LIB_VAR])
12667           prefix_saved_LIBS=$LIBS
12668             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
12669                        [test "$ac_cv_search_FUNC" = "none required" ||
12670                         LIB_VAR=$ac_cv_search_FUNC])
12671           LIBS=$prefix_saved_LIBS
12672
12673         However, in each of the files affected by this change, the LIB_VAR=
12674         initialization was omitted.  Thus, when set in the environment, its
12675         value would propagate into generated Makefiles when FUNC is not found
12676         in LIB_NAME.
12677         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
12678         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
12679         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
12680
12681 2009-10-14  Eric Blake  <ebb9@byu.net>
12682
12683         fchdir: avoid infinite recursion in mingw
12684         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
12685         recursing.
12686
12687         test-stat-time: port to mingw
12688         * tests/test-stat-time.c (force_unlink): Return a value.
12689         (test_ctime) [W32]: Fix compilation error.
12690         (nap): Don't call usleep with too large an argument.  Use
12691         force_unlink.
12692         * doc/pastposix-functions/usleep.texi (usleep): Document the
12693         portability issue.
12694
12695 2009-10-13  Jim Meyering  <meyering@redhat.com>
12696
12697         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
12698         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
12699         * modules/pipe-filter-ii: Likewise.
12700         * modules/sys_socket-tests: Likewise.
12701         * modules/tsearch-tests: Likewise.
12702         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
12703         (check): Depend on it.
12704
12705 2009-10-12  Eric Blake  <ebb9@byu.net>
12706
12707         utimens-tests: port to NFS file systems
12708         * tests/test-utimens.h (test_utimens): Refactor utimecmp
12709         comparisons to avoid spurious failures from timestamp drift
12710         between NFS machines.
12711
12712 2009-10-12  Eric Blake  <ebb9@byu.net>
12713
12714         stat-time-tests: minor cleanups
12715         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
12716         * tests/test-stat-time.c (nap): Separate assignment from call.
12717         Suggested by Paolo Bonzini and Bruno Haible.
12718
12719         sys_stat: guarantee struct timespec
12720         * lib/sys_stat.in.h (includes): Always include <time.h>
12721         * modules/sys_stat (Depends-on): Add time.
12722         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
12723         mode_t permission values.
12724         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
12725         get at subsecond timestamps.
12726
12727 2009-10-10  Eric Blake  <ebb9@byu.net>
12728
12729         futimens: new module
12730         * modules/futimens: New file.
12731         * lib/futimens.c (futimens): Likewise.
12732         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
12733         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
12734         we can work around Linux bugs.
12735         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
12736         * modules/sys_stat (Makefile.am): Substitute them.
12737         * lib/sys_stat.in.h (futimens): Declare it.
12738         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
12739         * doc/posix-functions/futimens.texi (futimens): Likewise.
12740         * modules/futimens-tests: New test.
12741         * tests/test-futimens.c: Likewise.
12742
12743         utimens: introduce fdutimens
12744         * lib/utimens.h (fdutimens): New prototype.
12745         * lib/utimens.c (gl_futimens): Move guts...
12746         (fdutimens): ...to new interface.
12747         * tests/test-utimens.c (do_fdutimens): Use it.
12748
12749         utimens: add UTIME_NOW and UTIME_OMIT support
12750         * lib/utimens.c (validate_timespec, update_timespec): New helper
12751         functions.
12752         (gl_futimens, lutimens): Use them.
12753         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
12754         stdbool, sys_stat.
12755         (Link): Mention resulting library dependency.
12756         * modules/utimecmp (Link): Likewise.
12757         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
12758         (Makefile.am): Pick up library dependency.
12759         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
12760         definition.
12761         * tests/test-sys_stat.c: Test the definitions.
12762         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
12763         * NEWS: Document library dependency.
12764
12765         utimecmp: support symlink timestamps
12766         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
12767         hashing when possible.  Use pathconf when available.
12768         (SYSCALL_RESOLUTION): Recognize tighter resolution.
12769         * modules/utimecmp (Depends-on): Add lstat.
12770
12771         utimens: add lutimens interface
12772         * lib/utimens.c (lutimens): New function.
12773         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
12774         * lib/utimens.h (lutimens): Declare new interface.
12775         * tests/test-utimens.c (main): Enhance test.
12776         * tests/test-lutimens.h (test_lutimens): New file.
12777         * modules/utimens-tests (Files): Distribute it.
12778         (Depends-on): Add symlink.
12779         (configure.ac): Check for usleep.
12780
12781         utimens: validate futimens usage
12782         * lib/utimens.c (gl_futimens): Require valid fd up front, using
12783         fewer syscalls on failure later on.  Avoid compiler warning on
12784         mingw.
12785         * modules/utimens (Depends-on): Add dup2.
12786
12787         utimens: add test
12788         * modules/utimens-tests: New test.
12789         * tests/test-utimens.h: New file.
12790         * tests/test-futimens.h: Likewise.
12791         * tests/test-utimens.c: Likewise.
12792
12793         doc: mention timestamp portability issues
12794         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
12795         instead.
12796         * doc/posix-functions/utime.texi (utime): Likewise.
12797         * doc/posix-functions/utimes.texi (utimes): Likewise.
12798         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
12799         instead.
12800         * doc/posix-functions/futimens.texi (futimens): Mention utimens
12801         module.
12802         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
12803         Mention weakness with symlink timestamps.
12804         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
12805         to utimensat/futimens instead.
12806         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
12807
12808         test-dup2: enhance test
12809         * tests/test-dup2.c (main): Also check AT_FDCWD.
12810
12811         test-stat-time: avoid more spurious failures
12812         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
12813         xfs; and avoid race if the two timestamps cross quantization edge.
12814
12815         relocatable: prefer 'file system' over 'filesystem'
12816         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
12817         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
12818         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
12819         * doc/relocatable.texi (Enabling Relocatability): Likewise.
12820         * lib/relocatable.c (compute_curr_prefix): Likewise.
12821
12822 2009-10-10  Jim Meyering  <meyering@redhat.com>
12823
12824         stat-time-tests: check for the usleep function
12825         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
12826
12827 2009-10-10  Bruno Haible  <bruno@clisp.org>
12828
12829         * modules/xnanosleep: Put the Link section after the Include section.
12830
12831 2009-10-09  Eric Blake  <ebb9@byu.net>
12832
12833         dup2: work around FreeBSD 6.1 bug
12834         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
12835         * doc/posix-functions/dup2.texi (dup2): Document it.
12836         Reported by Nelson H. F. Beebe and Jim Meyering.
12837
12838         test-stat-time: port to buggy NFS clients
12839         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
12840         (test_ctime): Also skip test if mtime and ctime are skewed.
12841
12842         maint: prefer 'file system' over 'filesystem'
12843         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
12844         * doc/posix-functions/lstat.texi (lstat): Likewise.
12845         * lib/file-has-acl.c (file_has_acl): Likewise.
12846         * lib/fwriteerror.c [TEST]: Likewise.
12847         * tests/test-areadlink.h (test_areadlink): Likewise.
12848         * tests/test-areadlinkat-with-size.c (main): Likewise.
12849         * tests/test-areadlinkat.c (main): Likewise.
12850         * tests/test-canonicalize-lgpl.c (main): Likewise.
12851         * tests/test-canonicalize.c (main): Likewise.
12852         * tests/test-fstatat.c (main): Likewise.
12853         * tests/test-linkat.c (main): Likewise.
12854         * tests/test-lstat.h (test_lstat_func): Likewise.
12855         * tests/test-mkdir.h (test_mkdir): Likewise.
12856         * tests/test-readlink.h (test_readlink): Likewise.
12857         * tests/test-remove.c (main): Likewise.
12858         * tests/test-rename.h (test_rename): Likewise.
12859         * tests/test-renameat.c (main): Likewise.
12860         * tests/test-rmdir.h (test_rmdir_func): Likewise.
12861         * tests/test-symlink.h (test_symlink): Likewise.
12862         * tests/test-symlinkat.c (main): Likewise.
12863         * tests/test-unlink.h (test_unlink_func): Likewise.
12864         * tests/test-unlinkat.c (main): Likewise.
12865
12866         maint: make realtime library usage explicit
12867         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
12868         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
12869         * modules/settime (Link): Likewise.
12870         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
12871
12872         test-stat-time: speed up execution
12873         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
12874         warning on mingw.
12875         (nap): New helper function.
12876         (prepare_test): Use it to reduce sleep time.
12877         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
12878         execution.
12879         * modules/stat-time-tests (configure.ac): Check for usleep.
12880
12881 2009-10-09  Jim Meyering  <meyering@redhat.com>
12882
12883         selinux-h: always use getfilecon wrappers
12884         * lib/getfilecon.c: New file.
12885         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
12886         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
12887         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
12888         (fgetfilecon): Provide a stub.
12889         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
12890         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
12891         file unconditionally.
12892         When <selinux/selinux.h> is found, arrange to use wrappers.
12893         * modules/selinux-h (Files): Add getfilecon.c.
12894         (Makefile.am): Substitute include-next-related bits
12895         into the now-always-generated selinux/selinux.h file.
12896         * doc/glibc-functions/lgetfilecon.texi: New file.
12897         * doc/glibc-functions/fgetfilecon.texi: New file.
12898         * doc/glibc-functions/getfilecon.texi: New file.
12899         * doc/glibc-functions/getfilecon-desc.texi: New file.
12900         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
12901         which to pull in the new files.
12902         * MODULES.html.sh (Misc): Add selinux-h.
12903
12904 2009-10-08  Jim Meyering  <meyering@redhat.com>
12905
12906         unistd: fix comment typo
12907         * lib/unistd.in.h (euidaccess): Fix a comment typo.
12908
12909 2009-10-08  Eric Blake  <ebb9@byu.net>
12910
12911         areadlink: use SIZE_MAX consistently
12912         * modules/areadlink (Depends-on): Add stdint.
12913         * modules/areadlink-with-size (Depends-on): Likewise.
12914         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
12915         gives NULL; drop sys/types, since unistd gives size_t; and add
12916         stdint for SIZE_MAX.
12917         (SIZE_MAX): Rely on headers.
12918         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
12919         and add stdint.
12920         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
12921         (SIZE_MAX): Likewise.
12922         (INITIAL_BUF_SIZE): Turn into enum.
12923         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
12924
12925 2009-10-08  Jim Meyering  <meyering@redhat.com>
12926
12927         areadlinkat: avoid compilation failure
12928         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
12929         Fix typo in comment.
12930
12931 2009-10-07  Eric Blake  <ebb9@byu.net>
12932
12933         areadlinkat-with-size: new module
12934         * modules/areadlinkat-with-size: New module.
12935         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
12936         * lib/areadlink.h (areadlinkat): Declare it.
12937         * MODULES.html.sh (File system functions): Mention it.
12938         * modules/areadlinkat-with-size-tests: New test.
12939         * tests/test-areadlinkat-with-size.c: New file.
12940
12941         xreadlinkat: new module
12942         * modules/xreadlinkat: New module.
12943         * lib/xreadlinkat.c (xreadlinkat): New file.
12944         * lib/xreadlink.h (xreadlinkat): Declare it.
12945         * MODULES.html.sh (File system functions): Mention it.
12946
12947         areadlinkat: new module
12948         * lib/at-func.c (FUNC_FAIL): New define.
12949         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
12950         * modules/areadlinkat: New module.
12951         * lib/linkat.c (areadlinkat): Move...
12952         * lib/areadlinkat.c (areadlinkat): ...to new file.
12953         * lib/areadlink.h (areadlinkat): Declare it.
12954         * modules/linkat (Depends-on): Add areadlinkat.
12955         * MODULES.html.sh (File system functions): Mention it.
12956         * modules/areadlinkat-tests: New test.
12957         * tests/test-areadlinkat.c: New file.
12958
12959         areadlink, areadlink-with-size: add tests
12960         * modules/areadlink-tests: New test.
12961         * modules/areadlink-with-size-tests: Likewise.
12962         * tests/test-areadlink.h: New file.
12963         * tests/test-areadlink.c: Likewise.
12964         * tests/test-areadlink-with-size.c: Likewise.
12965
12966         maint: minor cleanups
12967         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
12968         _UNUSED_PARAMETER_ instead.
12969         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
12970         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
12971         * modules/linkat-tests (Files): Distribute test-link.h.
12972
12973         openat, utimens: whitespace cleanup
12974         * lib/openat.c: Prefer space throughout, rather than mix of 8
12975         spaces vs. tabs.
12976         * lib/at-func.c: Likewise.
12977         * lib/utimens.c: Likewise.
12978
12979         openat: avoid using wrong fd
12980         * lib/openat.c (openat_permissive): Reject user's fd if saving the
12981         working directory chooses same fd.
12982         * lib/at-func.c (AT_FUNC_NAME): Likewise.
12983
12984         mkdir, mkdirat: fix cygwin 1.5.x bug
12985         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
12986         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
12987         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
12988         bug.
12989         (gl_PREREQ_MKDIR): Delete unused macro.
12990         * modules/mkdir (Files): Track file rename.
12991         (configure.ac): Update macro name.
12992         * modules/openat (Depends-on): Add mkdir.
12993         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
12994
12995         mkdir, mkdirat: add tests
12996         * modules/mkdir-tests: New test.
12997         * tests/test-mkdir.h: New file.
12998         * tests/test-mkdir.c: Likewise.
12999         * tests/test-mkdirat.c: Likewise.
13000         * modules/openat-tests (Files): Add new files.
13001         (Makefile.am): Run new test.
13002
13003 2009-10-06  Eric Blake  <ebb9@byu.net>
13004
13005         doc: tweak *at function documentation
13006         * doc/posix-functions/faccessat.texi (faccessat): Mention
13007         known issue with replacement.
13008         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
13009         * doc/posix-functions/linkat.texi (linkat): Likewise.
13010         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
13011         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
13012         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
13013         * doc/posix-functions/renameat.texi (renameat): Likewise.
13014         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
13015
13016         openat: fix GNU/Hurd bug in unlinkat
13017         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
13018         broken.
13019         * doc/posix-functions/unlink.texi (unlink): Document this.
13020         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
13021
13022         fdopendir: fix GNU/Hurd bug
13023         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
13024         allowing non-directory fds.
13025         * lib/fdopendir.c (rpl_fdopendir): Work around it.
13026         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
13027         * modules/dirent (Makefile.am): Substitute it.
13028         * lib/dirent.in.h (fdopendir): Declare replacement.
13029         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
13030         * tests/test-fdopendir.c (main): Test something other than
13031         /dev/null, since on Hurd that behaves like a directory.
13032
13033         test-symlink: port to GNU/Hurd
13034         * tests/test-symlink.h (test_symlink): Relax expected errno.
13035
13036         doc: tweak more cygwin information
13037         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
13038         now compatible with glibc.
13039         * doc/posix-functions/getopt.texi (getopt): Likewise.
13040
13041         getopt-gnu: add another test
13042         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
13043         guarantee behavior relied on by m4.
13044         * tests/test-getopt.c (main): Use it.
13045         * modules/getopt-posix-tests (Depends-on): Add setenv.
13046         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
13047
13048         getopt: fix compilation on darwin
13049         * lib/getopt.in.h (includes): Leave breadcrumbs during system
13050         include.
13051         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
13052         Reported by Ludovic Courtès.
13053
13054 2009-10-06  Bruno Haible  <bruno@clisp.org>
13055
13056         * modules/size_max (Description): Discourage its use.
13057         Reported by Simon Josefsson.
13058
13059 2009-10-06  Jim Meyering  <meyering@redhat.com>
13060
13061         linkat: avoid compilation failure
13062         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
13063
13064 2009-10-05  Eric Blake  <ebb9@byu.net>
13065
13066         linkat: support Linux 2.6.17
13067         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
13068         linkat on Linux, but allow cache variable override.
13069         * lib/linkat.c (rpl_linkat): Define override.
13070         * modules/linkat (Depends-on): Add symlinkat.
13071         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
13072         * modules/unistd (Makefile.am): Substitute it.
13073         * lib/unistd.in.h (linkat): Declare replacement.
13074         Reported by Pádraig Brady.
13075
13076         quotearg: port test to systems with C.UTF-8 locale
13077         * tests/test-quotearg.c (struct result_strings): Add another
13078         member, differentiating between C.ASCII and C.UTF-8 handling.
13079         (compare_strings): Add parameter.
13080         (main): Adjust all callers.
13081
13082         getopt: avoid clash with FreeBSD _getopt_internal
13083         * lib/getopt.in.h (_getopt_internal): Override the name.
13084         * lib/getopt_int.h (includes): Pick up any overrides.
13085         Reported by Reuben Thomas.
13086
13087         hash: allow C89 compilation
13088         * lib/hash.c (check_tuning): Move declaration before statement.
13089         Reported by Reuben Thomas.
13090
13091 2009-10-05  Karl Berry  <karl@gnu.org>
13092
13093         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
13094
13095 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
13096             Bruno Haible  <bruno@clisp.org>
13097
13098         * lib/uname.c (uname): Use a table-driven algorithm to compute
13099         Windows NT versions.
13100
13101 2009-10-04  Bruno Haible  <bruno@clisp.org>
13102
13103         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
13104         program_invocation_short_name.
13105         * modules/progname (configure.ac): Test for presence of
13106         program_invocation_short_name.
13107         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
13108
13109 2009-10-04  Bruno Haible  <bruno@clisp.org>
13110
13111         * lib/progname.c (set_program_name): Fix comment.
13112         Reported by Jim Meyering.
13113
13114 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
13115             Bruno Haible  <bruno@clisp.org>
13116
13117         * lib/uname.c: Include <string.h>.
13118         (uname): Do only one call to GetVersionEx in the common case.
13119
13120 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
13121             Bruno Haible  <bruno@clisp.org>
13122
13123         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
13124         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
13125         (uname): Add support for Windows CE and various non-x86 CPU types.
13126
13127 2009-10-03  Bruno Haible  <bruno@clisp.org>
13128
13129         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
13130         invocation to tests/configure.ac.
13131         Reported by Ian Beckwith <ianb@erislabs.net>.
13132
13133 2009-10-02  Eric Blake  <ebb9@byu.net>
13134
13135         fchdir: avoid compiler warning
13136         * lib/fchdir.c (canonicalize_file_name)
13137         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
13138
13139         test-open: support mingw errno values
13140         * tests/test-open.h (test_open): Relax test.
13141         * tests/test-fopen.h (test_fopen): Likewise.
13142         * tests/test-openat-safer.c (main): Likewise.
13143
13144         open: fix opening directory on mingw
13145         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
13146
13147         test-open: on GNU/Hurd, /dev/null is a directory
13148         * tests/test-fopen.h (main): Rename...
13149         (test_fopen): ...to this.  Use a guaranteed non-directory when
13150         confirming open behavior on trailing slash.
13151         * tests/test-openat-safer.c (main): Likewise.
13152         * tests/test-open.h (main): Likewise....
13153         (test_open): ...to this.
13154         * tests/test-fopen.c (main): Adjust caller.
13155         * tests/test-fopen-safer.c (main): Likewise.
13156         * tests/test-open.c (main): Likewise.
13157         * tests/test-fcntl-safer.c (main): Likewise.
13158         Reported by Samuel Thibault.
13159
13160         rename, fchdir: don't ignore chdir failure
13161         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
13162         * lib/rename.c (rpl_rename) [W32]: Likewise.
13163         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
13164         an empty destination directory if source cannot be renamed,
13165         although there is still possibility for failure.
13166         * doc/posix-functions/rename.texi (rename): Document the race.
13167         Reported by Jim Meyering.
13168
13169         maint: cleanup whitespace in recent commits
13170         * lib/rename.c (rpl_rename): Remove tabs.
13171         * tests/test-link.h (test_link): Likewise.
13172         * lib/fchdir.c (get_name): Likewise.
13173         Reported by Jim Meyering.
13174
13175 2009-10-02  Ben Pfaff  <blp@gnu.org>
13176
13177         relocatable-prog-wrapper: Add missing dependency on
13178         double-slash-root.
13179         * modules/relocatable-prog-wrapper: Add dependency.
13180         Reported by Ian Beckwith <ianb@erislabs.net>.
13181
13182 2009-10-02  Eric Blake  <ebb9@byu.net>
13183
13184         renameat: fix Solaris bugs
13185         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
13186         needed fixing.
13187         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
13188         * modules/stdio (Makefile.am): Substitute it.
13189         * lib/stdio.in.h (renameat): Declare replacement.
13190         * lib/renameat.c (rpl_renameat): Implement fix.
13191
13192         renameat: new module
13193         * modules/renameat: New file.
13194         * lib/renameat.c (renameat): Likewise.
13195         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
13196         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
13197         * modules/stdio (Makefile.am): Substitute them.
13198         * lib/stdio.in.h (renameat): Declare it.
13199         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
13200         * doc/posix-functions/renameat.texi (renameat): Likewise.
13201         * modules/renameat-tests: New test.
13202         * tests/test-renameat.c: Likewise.
13203
13204         rename: fix mingw bugs
13205         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
13206         directory overwrite bugs.
13207
13208         rename: fix another cygwin 1.5 bug
13209         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
13210         checks.
13211         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
13212         unnecessary cygwin workarounds.  Also work around bug with moving
13213         full directory onto an empty one.
13214         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
13215
13216         rename-dest-slash: merge into rename module
13217         * modules/rename-dest-slash (Status): Mark obsolete.
13218         (Depends-on): Add rename.
13219         (Files): Let rename do it all.
13220         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
13221         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
13222         * m4/rename-dest-slash.m4: ...so this file can be deleted.
13223         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
13224         * lib/rename.c (rpl_rename): Update comments.
13225
13226         rename: fix cygwin 1.5.x bugs
13227         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
13228         * lib/rename.c (rpl_rename): Work around them.
13229         * modules/rename (Depends-on): Add same-inode.
13230
13231         rename: fix Solaris 10 bug
13232         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
13233         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
13234         was the only bug.
13235
13236         rename: fix Solaris 9 bug
13237         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
13238         on non-directory.  Avoid calling exit.
13239         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
13240         strdup.
13241         * modules/rename-tests (Depends-on): Drop lstat.
13242         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
13243         (gl_PREREQ_RENAME): Delete unused macro.
13244
13245         rename-dest-slash: fix NetBSD bug
13246         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
13247         links.
13248         * modules/rename-dest-slash (Depends-on): Add same-inode.
13249
13250         rename-tests: new test, exposes several platform bugs
13251         * modules/rename-tests: New file.
13252         * tests/test-rename.h: Likewise.
13253         * tests/test-rename.c: Likewise.
13254         * doc/posix-functions/rename.texi (rename): Improve documentation,
13255         including bugs that will eventually be fixed in gnulib.
13256
13257 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
13258
13259         * lib/uname.c: Include <stdlib.h>
13260         (uname): Assume version info is available.
13261
13262 2009-10-02  Jim Meyering  <meyering@redhat.com>
13263
13264         gnu-web-doc-update: correct --help output
13265         * build-aux/gnu-web-doc-update: Make --help output relevant.
13266
13267         gnu-web-doc-update: add standard options
13268         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
13269
13270         gnu-web-doc-update: New module.
13271         Use this script to automatically update the on-line web documentation
13272         for your GNU project at http://www.gnu.org/software/$pkg/manual/
13273         * modules/gnu-web-doc-update: New file, from coreutils.
13274         * build-aux/gnu-web-doc-update: New script.
13275
13276 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
13277
13278         link: LoadLibrary is not needed.
13279         * lib/link.c: Use GetModuleHandle.
13280
13281 2009-10-01  Eric Blake  <ebb9@byu.net>
13282
13283         getopt: bump serial number
13284         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
13285         change.
13286
13287         tests: tighten link, rmdir, and remove tests
13288         * tests/test-link.h (includes): No need to use <config.h> here.
13289         Clean up if directory hard link was created, otherwise test for
13290         trailing '.'.
13291         * tests/test-linkat.c (main): Simplify.
13292         * tests/test-remove.c (main): Enhance test for trailing '.'.
13293         * tests/test-rmdir.h (test_rmdir_func): Likewise.
13294
13295 2009-10-01  Jim Meyering  <meyering@redhat.com>
13296
13297         maint.mk: requiring "make major" was annoying, for a "minor" release.
13298         What is intended is "stable", to contrast with alpha and beta,
13299         so require "make stable", not "make major".
13300         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
13301         (get_tool_versions): Likewise.
13302         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
13303
13304 2009-09-30  Ben Pfaff  <blp@gnu.org>
13305
13306         Fix broken build of replacement for Windows tmpfile().
13307         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
13308         flags argument added along with the 'mkostemp' module.
13309
13310 2009-09-28  Bruno Haible  <bruno@clisp.org>
13311
13312         Avoid identifier clash with POSIX function 'remove' defined as a macro.
13313         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
13314         to 'remove_elt'.
13315         (gl_list_remove): Update.
13316         * lib/gl_list.c (gl_list_remove): Update.
13317         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
13318         to 'remove_elt'.
13319         (gl_oset_remove): Update.
13320         * lib/gl_list.c (gl_oset_remove): Update.
13321         Reported by Eric Blake.
13322
13323 2009-09-28  Eric Blake  <ebb9@byu.net>
13324
13325         doc: mention yet more cygwin 1.7 status
13326         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
13327         cygwin.
13328         * doc/glibc-functions/execvpe.texi (execvpe): New file.
13329         * doc/gnulib.texi (Glibc unistd.h): Mention it.
13330
13331         argp: fix test failure
13332         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
13333         that are not upper-case.  Pass correct range to tolower.
13334
13335 2009-09-27  Jim Meyering  <meyering@redhat.com>
13336
13337         test-yesno: work around sparc-dash here-document infelicity
13338         Without this change, the literal \177 byte in a here document
13339         would make dash 0.5.5.1-3 access uninitialized memory.
13340         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
13341         Instead, use a marker, "@", and filter through tr to create the desired
13342         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
13343
13344 2009-09-27  Bruno Haible  <bruno@clisp.org>
13345
13346         Disable untested support for new flavours of ACLs on AIX.
13347         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
13348         progress.
13349         * lib/set-mode-acl.c (qset_acl): Likewise.
13350
13351 2008-12-07  Bruno Haible  <bruno@clisp.org>
13352
13353         Add support for new flavours of ACLs on AIX. (Untested.)
13354         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
13355         (file_has_acl): Add support for newer AIX.
13356         * lib/set-mode-acl.c (qset_acl): Likewise.
13357         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
13358         Rainer Tammer <tammer@tammer.net>.
13359
13360 2009-09-26  Eric Blake  <ebb9@byu.net>
13361
13362         argp: fix compilation of getopt
13363         * lib/getopt.in.h (includes): Use different guard than glibc.
13364         Reported by Sergey Poznyakoff.
13365
13366         doc: mention more cygwin 1.7 status
13367         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
13368         bug.
13369         * doc/posix-functions/execl.texi (execl): Likewise.
13370         * doc/posix-functions/execle.texi (execle): Likewise.
13371         * doc/posix-functions/execlp.texi (execlp): Likewise.
13372         * doc/posix-functions/execv.texi (execv): Likewise.
13373         * doc/posix-functions/execve.texi (execve): Likewise.
13374         * doc/posix-functions/execvp.texi (execvp): Likewise.
13375         * doc/glibc-functions/canonicalize_file_name.texi
13376         (canonicalize_file_name): Cygwin 1.7 now provides this.
13377         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
13378         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
13379         on AT_SYMLINK_NOFOLLOW.
13380
13381 2009-09-24  Eric Blake  <ebb9@byu.net>
13382
13383         test-linkat: make test more robust
13384         * tests/test-linkat.c (main): Avoid collision with EEXIST.
13385
13386         getopt: fix inclusion guards for cygwin
13387         * modules/getopt-posix (Depends-on): Add include-next.
13388         (Makefile.am): Substitute more items in replacement header.
13389         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
13390         <getopt.h>.
13391         * lib/getopt.in.h (includes): Use split inclusion guard, and
13392         prefer <getopt.h> over include <unistd.h> when one is present.
13393         (option): Also override name of 'struct option'.
13394
13395         same-inode: revert prior change; it is not yet ready
13396         * NEWS: Undo mention of this change.
13397         * lib/same-inode.h (same-inode.h): Undo tri-state change.
13398         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
13399         * lib/cycle-check.c (cycle_check): Likewise.
13400         * lib/same.c (same_name): Likewise.
13401         * lib/at-func2.c (at_func2): Likewise.
13402
13403 2009-09-23  Eric Blake  <ebb9@byu.net>
13404
13405         linkat: new module
13406         * modules/linkat: New file.
13407         * lib/at-func2.c (at_func2): Likewise.
13408         * lib/linkat.c (linkat): Likewise.
13409         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
13410         * lib/openat-priv.h (at_func2): Add declaration.
13411         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
13412         * modules/unistd (Makefile.am): Substitute them.
13413         * lib/unistd.in.h (linkat): Declare it.
13414         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
13415         * doc/posix-functions/linkat.texi (linkat): Likewise.
13416         * doc/posix-functions/link.texi (link): Tweak wording.
13417         * tests/test-link.c (main): Move guts...
13418         * tests/test-link.h (test_link): ...into new file.
13419         * modules/linkat-tests: New test.
13420         * tests/test-linkat.c: Likewise.
13421         * modules/link-tests (Files): Ship new file.
13422         (Depends-on): Add stdbool.
13423
13424         dirname: add library-safe mdir_name
13425         * lib/dirname.h (mdir_name): New prototype.
13426         * lib/dirname.c (dir_name): Move guts...
13427         (mdir_name): ...to new function that avoids xalloc_die.
13428
13429         fchdir: another mingw fix
13430         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
13431         * lib/fchdir.c (get_name): New helper method; skips canonicalize
13432         on mingw (where it has not yet been ported), and make it optional
13433         elsewhere.
13434         (_gl_register_fd): Use it.
13435
13436         same-inode: make SAME_INODE tri-state, to port to mingw
13437         * NEWS: Mention this change.
13438         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
13439         st_ino always being 0.
13440         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
13441         * lib/cycle-check.c (cycle_check): Likewise.
13442         * lib/same.c (same_name): Likewise.
13443
13444         lstat: avoid mingw compilation error
13445         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
13446         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
13447         lstat ourselves.
13448         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
13449         was adequate.
13450         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
13451         the checks for lstat.
13452         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
13453
13454         link: fix test failure on Solaris 9
13455         * lib/link.c (rpl_link): Don't assume link will catch bogus
13456         trailing slash on source.
13457
13458         test-symlinkat: enhance test
13459         * tests/test-readlink.c (main): Move guts...
13460         * tests/test-readlink.h (test_readlink): ...into new file.
13461         * tests/test-symlink.c (main): Move guts...
13462         * tests/test-symlink.h (test_symlink): ...into new file.
13463         * tests/test-symlinkat.c (main): Use new files for further
13464         coverage.
13465         (do_symlink, do_readlink): New helper functions.
13466         * modules/symlink-tests (Files): Ship new file.
13467         (Depends-on): Add stdbool.
13468         * modules/readlink-tests (Files): Ship new file.
13469         (Depends-on): Add stdbool.
13470         * modules/symlinkat-tests (Files): Use new files.
13471
13472 2009-09-23  Eric Blake  <ebb9@byu.net>
13473
13474         readlink: document portability issue with symlink length
13475         * doc/posix-functions/lstat.texi (lstat): Mention that some file
13476         systems have bogus st_size on symlinks, and mention the
13477         areadlink-with-size module.
13478         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
13479         * doc/posix-functions/readlink.texi (readlink): Mention the
13480         areadlink module, and ERANGE failure.
13481         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
13482         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
13483
13484         readlink: fix Solaris 9 bug with trailing slash
13485         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
13486         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
13487         * doc/posix-functions/readlink.texi (readlink): Document this.
13488         * modules/readlink-tests: New test.
13489         * tests/test-readlink.c: Likewise.
13490
13491         readlink: fix cygwin 1.5.x bug with return type
13492         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
13493         * lib/unistd.in.h (readlink): Use ssize_t.
13494         * lib/readlink.c (readlink): Likewise.
13495         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
13496         * modules/unistd (Makefile.am): Substitute it.
13497         * lib/unistd.in.h (readlink): Declare replacement.
13498         * doc/posix-functions/readlink.texi (readlink): Document this.
13499
13500         symlink: use throughout gnulib
13501         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
13502         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
13503         symlink is not used.
13504         * modules/symlinkat (Depends-on): Add symlink.
13505         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
13506         * modules/canonicalize-tests (Depends-on): Likewise.
13507         * modules/lstat-tests (Depends-on): Likewise.
13508         * modules/openat-tests (Depends-on): Likewise.
13509         * modules/remove-tests (Depends-on): Likewise.
13510         * modules/rmdir-tests (Depends-on): Likewise.
13511         * modules/unlink-tests (Depends-on): Likewise.
13512         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
13513         * tests/test-canonicalize.c (symlink): Likewise.
13514         * tests/test-fstatat.c (symlink): Likewise.
13515         * tests/test-lstat.c (symlink): Likewise.
13516         * tests/test-remove.c (symlink): Likewise.
13517         * tests/test-rmdir.c (symlink): Likewise.
13518         * tests/test-unlink.c (symlink): Likewise.
13519         * tests/test-unlinkat.c (symlink): Likewise.
13520
13521         symlink: new module, for Solaris 9 bug
13522         * modules/symlink: New file.
13523         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
13524         * lib/symlink.c: Likewise.
13525         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
13526         * modules/unistd (Makefile.am): Substitute them.
13527         * lib/unistd.in.h (symlink): Declare replacement.
13528         * MODULES.html.sh (File system functions): Mention it.
13529         * doc/posix-functions/symlink.texi (symlink): Likewise.
13530         * modules/symlink-tests: New test.
13531         * tests/test-symlink.c: Likewise.
13532
13533 2009-09-23  Bruno Haible  <bruno@clisp.org>
13534
13535         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
13536         when needed.
13537         Test case: gnulib-tool --import --with-tests atexit inttypes.
13538         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
13539
13540 2009-09-23  Bruno Haible  <bruno@clisp.org>
13541
13542         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
13543         subcommand, not in a subshell.
13544
13545 2009-09-22  Eric Blake  <ebb9@byu.net>
13546
13547         unistd: sort replacement declarations
13548         * lib/unistd.in.h: Sort declarations.
13549
13550         open, openat: minor optimization
13551         * lib/open.c (open): If open succeeded, len is non-zero.
13552         * lib/openat.c (rpl_openat): Likewise.
13553
13554         link-follow: ensure correct result
13555         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
13556         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
13557         distinguish between possible failures.
13558
13559 2009-09-21  Eric Blake  <ebb9@byu.net>
13560
13561         fts: avoid compiler warning
13562         * lib/fts.c (dirent_inode_sort_may_be_useful)
13563         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
13564
13565 2009-09-19  Bruno Haible  <bruno@clisp.org>
13566
13567         * lib/progreloc.c (canonicalize_file_name): New declaration.
13568
13569 2009-09-19  Eric Blake  <ebb9@byu.net>
13570
13571         link: fix quoting
13572         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
13573
13574         openat: fix openat bugs on Solaris 9
13575         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
13576         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
13577         * modules/openat (Depends-on): Add open.
13578         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
13579         * modules/fcntl-h (Makefile.am): Substitute it.
13580         * lib/fcntl.in.h (openat): Declare replacement.
13581         * doc/posix-functions/openat.texi (openat): Document this.
13582
13583         openat: move fstatat and unlinkat into correct files
13584         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
13585         compiled.
13586         * lib/openat.c (fstatat, unlinkat): Move...
13587         * lib/fstatat.c (fstatat): ...into correct files.
13588         * lib/unlinkat.c (unlinkat): Likewise.
13589
13590         openat: fix unlinkat bugs on Solaris 9
13591         * lib/unlinkat.c (unlinkat): New file.
13592         * modules/openat (Depends-on): Add unlink.
13593         (Files): Distribute it.
13594         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
13595         trailing slash behavior is broken.
13596         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
13597         * modules/unistd (Makefile.am): Substitute it.
13598         * lib/unistd.in.h (unlinkat): Declare replacement.
13599         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
13600
13601         openat: fix fstatat bugs on Solaris 9
13602         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
13603         stat.
13604         * doc/posix-functions/fstatat.texi (fstatat): Document this.
13605
13606         test-unlinkat: enhance test, to expose Solaris 9 bug
13607         * tests/test-unlink.c (main): Factor guts...
13608         * tests/test-unlink.h (test_rmdir_func): ...into new file.
13609         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
13610         * tests/test-rmdir.c (main): Adjust caller.
13611         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
13612         (unlinker): New helper function.
13613         (rmdirat): Enhance check.
13614         * modules/rmdir-tests (Depends-on): Add stdbool.
13615         * modules/unlink-tests (Depends-on): Likewise.
13616         (Files): Add test-unlink.h.
13617         * modules/openat-tests (Files): Likewise.
13618         (Depends-on): Add unlinkdir.
13619
13620         test-fstatat: new test, to expose Solaris 9 bugs
13621         * tests/test-stat.c (main): Factor guts...
13622         * tests/test-stat.h (test_stat_func): ...into new file.
13623         * tests/test-lstat.c (main): Factor guts...
13624         * tests/test-lstat.h (test_lstat_func): ...into new file.
13625         * tests/test-fstatat.c: New file.
13626         * modules/stat-tests (Files): Add test-stat.h.
13627         * modules/lstat-tests (Files): Add test-lstat.h.
13628         (Depends-on): Add stdbool.
13629         * modules/openat-tests (Depends-on): Add pathmax.
13630         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
13631         (Makefile.am): Run new test.
13632
13633         remove: new module, for mingw and Solaris 9 bugs
13634         * modules/remove: New file.
13635         * lib/remove.c: Likewise.
13636         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
13637         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
13638         * modules/stdio (Makefile.am): Use them.
13639         * lib/stdio.in.h (remove): Declare replacement.
13640         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
13641         * doc/posix-functions/remove.texi (remove): Likewise.
13642         * modules/remove-tests: New test.
13643         * tests/test-remove.c: Likewise.
13644
13645         unlink: new module, for Solaris 9 bug
13646         * modules/unlink: New file.
13647         * lib/unlink.c: Likewise.
13648         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
13649         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
13650         * modules/unistd (Makefile.am): Use them.
13651         * lib/unistd.in.h (stat): Declare replacement.
13652         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
13653         * doc/posix-functions/unlink.texi (unlink): Likewise.
13654         * modules/unlink-tests: New test.
13655         * tests/test-unlink.c: Likewise.
13656
13657         lstat: fix Solaris 9 bug
13658         * lib/lstat.c (lstat): Also check for trailing slash on
13659         non-symlink, non-directories.  Use stat module to simplify logic.
13660         * doc/posix-functions/lstat.texi (lstat): Document it.
13661         * modules/lstat-tests (Depends-on): Add errno, same-inode.
13662         (configure.ac): Check for symlink.
13663         * tests/test-lstat.c (main): Add more tests.
13664
13665         stat: add as dependency to other modules
13666         * modules/chown (Depends-on): Add stat.
13667         * modules/euidaccess (Depends-on): Likewise.
13668         * modules/fchdir (Depends-on): Likewise.
13669         * modules/isdir (Depends-on): Likewise.
13670         * modules/link (Depends-on): Likewise.
13671         * modules/lstat (Depends-on): Likewise.
13672         * modules/mkdir-p (Depends-on): Likewise.
13673         * modules/modechange (Depends-on): Likewise.
13674         * modules/open (Depends-on): Likewise.
13675         * modules/readlink (Depends-on): Likewise.
13676         * modules/same (Depends-on): Likewise.
13677
13678         stat: fix Solaris 9 bug
13679         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
13680         slash.
13681         * lib/stat.c (rpl_stat): Work around it.
13682         * doc/posix-functions/stat.texi (stat): Update documentation.
13683
13684         stat: new module, for mingw bug
13685         * modules/stat: New file.
13686         * lib/stat.c: Likewise.
13687         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
13688         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
13689         * modules/sys_stat (Makefile.am): Use them.
13690         * lib/sys_stat.in.h (stat): Declare replacement.
13691         * lib/openat.c (fstatat): Deal with lstat and stat being function
13692         macros.
13693         * modules/openat (Depends-on): Add inline.
13694         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
13695         * doc/posix-functions/stat.texi (stat): Likewise.
13696         * modules/stat-tests: New test.
13697         * tests/test-stat.c: Likewise.
13698
13699 2009-09-19  Jim Meyering  <meyering@redhat.com>
13700
13701         syntax-check: detect unnecessary inclusion of canonicalize.h
13702         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
13703
13704 2009-09-19  Eric Blake  <ebb9@byu.net>
13705
13706         canonicalize-lgpl: adjust clients to use correct header
13707         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
13708         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
13709         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
13710         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
13711         * lib/progreloc.c (includes): Likewise.
13712
13713 2009-09-19  Jim Meyering  <meyering@redhat.com>
13714
13715         test-posixtm.c: correct a comment
13716         * tests/test-posixtm.c: Correct first-line comment.
13717         Spotted by Eric Blake.
13718
13719 2009-09-16  Jim Meyering  <meyering@redhat.com>
13720
13721         posixtm-tests: make T const-correct; add a test case
13722         * tests/test-posixtm.c (T): Declare const.
13723         Add a test for -(2^31+1).
13724         Remove useless can-succeed-only-in-2002 test.
13725
13726         posixtm-tests: adjust the sole failing test
13727         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
13728         expected output matches what mktime now produces.  Cross-checked via
13729         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
13730
13731         posixtm: move #ifdef'd tests into a new module
13732         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
13733         * tests/test-posixtm.c: ... this new file.
13734         * modules/posixtm-tests: New module.
13735
13736 2009-09-19  Eric Blake  <ebb9@byu.net>
13737
13738         openat: simplify use of at-func.c
13739         * lib/at-func.c (includes): Include prerequisites here, to
13740         simplify requirements on client files.
13741         * lib/openat-priv.h: Add double-inclusion guard.
13742         * lib/faccessat.c (includes): Simplify.
13743         * lib/fchmodat.c (includes): Likewise.
13744         * lib/fchownat.c (includes): Likewise.
13745         * lib/mkdirat.c (includes): Likewise.
13746         * lib/mkfifoat.c (includes): Likewise.
13747         * lib/symlinkat.c (includes): Likewise.
13748
13749         openat: allow return of fd 0
13750         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
13751         * modules/save-cwd (Depends-on): Replace fcntl-safer with
13752         unistd-safer.
13753         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
13754         <fcntl.h>; this module does not leak fds.
13755         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
13756         must be allowed to return 0, leaving openat_safer to add the
13757         safety.
13758         (openat_permissive): Avoid writing to just-opened fd 2 if
13759         restoring the current directory fails.
13760         * lib/openat-die.c (openat_restore_fail): Add comment.
13761         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
13762         (save_cwd): Guarantee safe fd, but without use of open_safer.
13763         * tests/test-openat.c: New test.
13764         * modules/openat-tests (Files, Makefile.am): Distribute and build
13765         new file.
13766
13767         relocatable-prog-wrapper: fix build
13768         * modules/relocatable-prog-wrapper (Files): Update name of
13769         canonicalize m4 file, broken on 2009-09-17.
13770         Reported by emad hajjar <aleppos@hotmail.com>.
13771
13772 2009-09-19  Bruno Haible  <bruno@clisp.org>
13773
13774         * lib/safe-alloc.h: Use the standard header with GPL copyright.
13775         * lib/safe-alloc.c: Likewise.
13776         Reported by Ian Beckwith <ianb@erislabs.net>.
13777
13778 2009-09-18  Bruno Haible  <bruno@clisp.org>
13779
13780         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
13781         Reported by <erobles@sensacd.com.mx>.
13782
13783 2009-09-17  Eric Blake  <ebb9@byu.net>
13784
13785         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
13786         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
13787         slashes when checking if last component is missing.
13788         * tests/test-canonicalize.c (main): Test this.
13789
13790         canonicalize, canonicalize-lgpl: honor // if distinct from /
13791         * modules/canonicalize (Files): Add double-slash-root.m4.
13792         * modules/canonicalize-lgpl (Files): Likewise.
13793         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
13794         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
13795         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
13796         fallback definition.
13797         (canonicalize_filename_mode): Use it to protect //.
13798         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
13799         (__realpath): Likewise.
13800         * tests/test-canonicalize.c (main): Test this.
13801         * tests/test-canonicalize-lgpl.c (main): Likewise.
13802         * modules/canonicalize-tests (Depends-on): Add same-inode.
13803         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
13804
13805         canonicalize-lgpl: fix glibc bug with trailing slash
13806         * m4/canonicalize-lgpl.m4: Move contents...
13807         * m4/canonicalize.m4: ...here.
13808         (gl_CANONICALIZE_LGPL): Factor realpath check...
13809         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
13810         glibc 2.3.5 bug, fixed 2005-04-27.
13811         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
13812         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
13813         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
13814         * modules/canonicalize-lgpl (Files): Manage file rename.
13815         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
13816         * modules/stdlib (Makefile.am): Substitute witness.
13817         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
13818         is needed.
13819         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
13820         replacement is required.
13821         * lib/canonicalize.c (canonicalize_file_name): Likewise.
13822         * doc/glibc-functions/canonicalize_file_name.texi
13823         (canonicalize_file_name): Document this.
13824         * doc/posix-functions/realpath.texi (realpath): Likewise.
13825
13826         canonicalize-lgpl: reject non-directory with trailing slash
13827         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
13828         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
13829         catches failures in glibc 2.3.5.
13830         * tests/test-canonicalize.c (main): Likewise.
13831
13832         canonicalize-lgpl: use native realpath if it works
13833         * lib/canonicalize-lgpl.c (realpath): Guard with
13834         FUNC_REALPATH_WORKS.
13835         * lib/stdlib.in.h (realpath): Make declaration optional based on
13836         HAVE_REALPATH.
13837         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
13838         native realpath works.
13839         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
13840         * modules/stdlib (Makefile.am): Substitute witness.
13841
13842         canonicalize, canonicalize-lgpl: use <stdlib.h>
13843         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
13844         (Include): Mention <stdlib.h>.
13845         (configure.ac): Mention functions we provide.
13846         * modules/canonicalize (configure.ac): Likewise.
13847         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
13848         realpath if canonicalize_file_name is missing.
13849         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
13850         * modules/stdlib (Makefile.am): Substitute witnesses.
13851         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
13852         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
13853         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
13854         * NEWS: Document this.
13855         * doc/glibc-functions/canonicalize_file_name.texi
13856         (canonicalize_file_name): Likewise.
13857         * doc/posix-functions/realpath.texi (realpath): Likewise.
13858         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
13859
13860         test-canonicalize: consolidate into single C program
13861         * tests/test-canonicalize.sh: Delete; move setup into...
13862         * tests/test-canonicalize.c (main): ...the program, making it
13863         easier to run in debugger.  Add some tests.
13864         * modules/canonicalize-tests (Files): Remove unused file.
13865         (Depends-on): Add progname.
13866         (configure.ac, Makefile.am): Simplify.
13867
13868         test-canonicalize-lgpl: consolidate into single C program
13869         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
13870         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
13871         easier to run in debugger.  Add some tests.
13872         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
13873         (configure.ac, Makefile.am): Simplify.
13874
13875         canonicalize: avoid resolvepath
13876         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
13877         unnecessary checks.
13878         * lib/canonicalize.c (includes): Simplify.
13879         (canonicalize_file_name): Drop resolvepath implementation.
13880         * modules/canonicalize (Depends-on): Drop filenamecat.
13881
13882         canonicalize: don't lose errno
13883         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
13884         over calls to free.
13885
13886         canonicalize: simplify errno handling
13887         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
13888         assignment.
13889
13890         canonicalize, canonicalize-lgpl: update module dependencies
13891         * modules/canonicalize (Depends-on): Add extensions, lstat,
13892         pathmax, stdlib.
13893         (Files): Drop pathmax.h.
13894         (configure.ac): Adjust macro name.
13895         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
13896         lstat, stdlib, sys_stat.
13897         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
13898         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
13899         extensions.
13900         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
13901         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
13902         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
13903         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
13904         declaration, if available.
13905         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
13906         we can rely on the readlink module.
13907         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
13908         (includes): Use <unistd.h> unconditionally.
13909
13910 2009-09-17  Eric Blake  <ebb9@byu.net>
13911
13912         maint: make Include sections of modules consistent
13913         * modules/alloca: Use only header name; no need to list #include.
13914         * modules/alloca-opt: Likewise.
13915         * modules/arpa_inet: Likewise.
13916         * modules/canon-host: Likewise.
13917         * modules/configmake: Likewise.
13918         * modules/dirent: Likewise.
13919         * modules/eealloc: Likewise.
13920         * modules/environ: Likewise.
13921         * modules/fchdir: Likewise.
13922         * modules/fcntl: Likewise.
13923         * modules/fcntl-h: Likewise.
13924         * modules/gethrxtime: Likewise.
13925         * modules/gettime: Likewise.
13926         * modules/ignore-value: Likewise.
13927         * modules/inet_ntop: Likewise.
13928         * modules/inet_pton: Likewise.
13929         * modules/inttypes: Likewise.
13930         * modules/isnand-nolibm: Likewise.
13931         * modules/isnanf-nolibm: Likewise.
13932         * modules/mbchar: Likewise.
13933         * modules/mbfile: Likewise.
13934         * modules/mbiter: Likewise.
13935         * modules/mbuiter: Likewise.
13936         * modules/netdb: Likewise.
13937         * modules/netinet_in: Likewise.
13938         * modules/nproc: Likewise.
13939         * modules/pagealign_alloc: Likewise.
13940         * modules/poll: Likewise.
13941         * modules/printf-frexp: Likewise.
13942         * modules/pthread: Likewise.
13943         * modules/putenv: Likewise.
13944         * modules/random_r: Likewise.
13945         * modules/relocatable-prog: Likewise.
13946         * modules/search: Likewise.
13947         * modules/select: Likewise.
13948         * modules/selinux-h: Likewise.
13949         * modules/settime: Likewise.
13950         * modules/signal: Likewise.
13951         * modules/size_max: Likewise.
13952         * modules/socklen: Likewise.
13953         * modules/ssize_t: Likewise.
13954         * modules/stdarg: Likewise.
13955         * modules/stdbool: Likewise.
13956         * modules/stddef: Likewise.
13957         * modules/stdint: Likewise.
13958         * modules/stdio: Likewise.
13959         * modules/stdlib: Likewise.
13960         * modules/string: Likewise.
13961         * modules/strings: Likewise.
13962         * modules/sys_file: Likewise.
13963         * modules/sys_ioctl: Likewise.
13964         * modules/sys_select: Likewise.
13965         * modules/sys_socket: Likewise.
13966         * modules/sys_stat: Likewise.
13967         * modules/sys_time: Likewise.
13968         * modules/sys_times: Likewise.
13969         * modules/sys_utsname: Likewise.
13970         * modules/sys_wait: Likewise.
13971         * modules/sysexits: Likewise.
13972         * modules/time: Likewise.
13973         * modules/times: Likewise.
13974         * modules/tmpfile: Likewise.
13975         * modules/trim: Likewise.
13976         * modules/unistd: Likewise.
13977         * modules/wchar: Likewise.
13978         * modules/wctype: Likewise.
13979
13980 2009-09-17  Bruno Haible  <bruno@clisp.org>
13981
13982         Make getdate.y compile on QNX and NetBSD 5 / i386.
13983         * m4/getdate.m4 (gl_GETDATE): Conditionally define
13984         TIME_T_FITS_IN_LONG_INT.
13985         * lib/getdate.y (long_time_t): New type.
13986         (relative_time): Change type of 'seconds' field to long_time_t.
13987         (get_date): Update types of local variables. Check against overflow
13988         during conversion from long_time_t to time_t.
13989         Reported by Matt Kraai <kraai@ftbfs.org>
13990         and Hasso Tepper <hasso@netbsd.org>.
13991
13992 2009-09-17  Bruno Haible  <bruno@clisp.org>
13993
13994         * modules/COPYING: Update copyright years.
13995         * modules/README: Likeiwse.
13996         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
13997         Reported by Ian Beckwith <ianb@erislabs.net>.
13998
13999 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
14000
14001         * users.txt: Update references for gnuit package.
14002
14003 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
14004
14005         * m4/getdelim.m4: Fix typo in copyright line.
14006
14007 2009-09-17  Bruno Haible  <bruno@clisp.org>
14008
14009         * lib/atoll.c: Use the standard header with GPL copyright.
14010         * lib/argz.in.h: Likewise.
14011         * lib/glob.c: Likewise.
14012         * lib/glob-libc.h: Likewise.
14013         * lib/random_r.c: Likewise.
14014         * lib/siglist.h: Likewise.
14015         * lib/strsignal.c: Likewise.
14016         Reported by Ian Beckwith <ianb@erislabs.net>.
14017
14018 2009-09-17  Eric Blake  <ebb9@byu.net>
14019
14020         rmdir: ensure correct dependency order
14021         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
14022
14023 2009-09-17  Bruno Haible  <bruno@clisp.org>
14024
14025         Disable assertion that fails on NetBSD 5 / i386.
14026         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
14027         Reported by Sam Steingold <sds@gnu.org>
14028         and Hasso Tepper <hasso@netbsd.org>.
14029
14030 2009-09-16  Eric Blake  <ebb9@byu.net>
14031
14032         unlinkdir: port to mingw
14033         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
14034         on which no one can unlink a directory.
14035
14036         stdlib: sort witness names
14037         * modules/stdlib (Makefile.am): Sort replacements.
14038         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
14039         * lib/stdlib.in.h: Likewise.
14040
14041         parse-duration-tests: avoid link failure
14042         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
14043         LIBINTL.
14044         Reported by Tom G. Christensen.
14045
14046         openat-tests: ensure unlinkat behaves like rmdir
14047         * tests/test-rmdir.c (main): Factor guts...
14048         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
14049         * modules/rmdir-tests (Files): Ship new file.
14050         * modules/openat-tests: New test.
14051         * tests/test-unlinkat.c: Likewise.
14052
14053         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
14054         * modules/rmdir-errno (Status, Notice): Now obsolete.
14055
14056         rmdir: work around cygwin 1.5.x and mingw bugs
14057         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
14058         * lib/rmdir.c (rmdir): Work around it.
14059         * modules/rmdir (Status, Notice): No longer obsolete.
14060         (Files): Add dos.m4.
14061         (Depends-on): Add unistd.
14062         (configure.ac): Set witnesses.
14063         (License): Relax to LGPLv2+.
14064         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
14065         * modules/unistd (Makefile.am): Substitute witnesses.
14066         * lib/unistd.in.h (rmdir): Declare replacement.
14067         * doc/posix-functions/rmdir.texi (rmdir): Document this.
14068         * modules/rmdir-tests: New tests.
14069         * tests/test-rmdir.c: Likewise.
14070
14071 2009-09-15  Eric Blake  <ebb9@byu.net>
14072
14073         fchdir: improve use of replacement functions
14074         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
14075         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
14076         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
14077         REPLACE_CLOSEDIR.
14078         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
14079         * modules/sys_stat (Makefile.am): Substitute correct witness.
14080         * modules/dirent (Makefile.am): Likewise.
14081         * modules/unistd (Makefile.am): Likewise.
14082         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
14083         * lib/unistd.in.h (dup): Likewise.
14084         * lib/sys_stat.in.h (fstat): Likewise.
14085
14086         maint: ignore gnulib-tool temp files
14087         * .gitignore: Ignore files created during gnulib-tool --test.
14088
14089 2009-09-13  Jim Meyering  <meyering@redhat.com>
14090
14091         posixtm: don't reject a time that specify "60" as the number of seconds
14092         * lib/posixtm.c (posixtime): The code to reject invalid dates
14093         would also reject a time specified with the .60 suffix.
14094         But POSIX allows that, in order to accommodate leap seconds.
14095         So don't reject it.
14096         (main): Adjust tests accordingly.
14097         * modules/posixtm (Depends-on): Add stpcpy.
14098
14099 2009-09-11  Jim Meyering  <meyering@redhat.com>
14100
14101         announce-gen: include [$release_type] in emitted Subject:
14102         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
14103         e.g., [stable] in the emitted Subject: line.
14104
14105 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14106
14107         Remove obsolete macros from several modules.
14108         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
14109         obsolete Autoconf macros with their modern counterparts.
14110         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
14111         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
14112         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
14113         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
14114         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
14115         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
14116         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
14117         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
14118         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
14119         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
14120         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
14121         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
14122         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
14123         * m4/sockets.m4 (gl_SOCKETS): Likewise.
14124         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
14125         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
14126         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
14127         * m4/time_r.m4 (gl_TIME_R): Likewise.
14128         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
14129         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
14130         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
14131
14132         Fix copyright header in build-aux scripts.
14133         * build-aux/git-version-gen: Fix copyright header to match GPLv3
14134         recommendation.
14135         * build-aux/ncftpput-ftp: Likewise.
14136         * build-aux/update-copyright: Likewise.
14137
14138 2009-09-09  Eric Blake  <ebb9@byu.net>
14139
14140         test-link: allow Linux choice of errno
14141         * tests/test-link.c (main): Relax test for alternate error.
14142
14143         strndup: fix improper m4 caching
14144         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
14145         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
14146         (gl_PREREQ_STRNDUP): Delete.
14147         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
14148         * modules/string (Makefile.am): Substitute it.
14149         * lib/string.in.h (strndup): Modernize prototype.
14150
14151         getcwd: port to mingw
14152         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
14153         different from the POSIX assumptions made throughout the getcwd
14154         module; fortunately, the mingw getcwd does not need replacement.
14155         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
14156         * modules/getcwd-tests: New test.
14157         * tests/test-getcwd.c: Likewise.
14158
14159         link: fix platform bugs
14160         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
14161         * lib/link.c (link): Work around them.  Fix related mingw bug.
14162         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
14163         * modules/unistd (Makefile.am): Substitute it.
14164         * lib/unistd.in.h (link): Declare replacement.
14165         * doc/posix-functions/link.texi (link): Document this.
14166         * modules/link (Depends-on): Add strdup-posix, sys_stat.
14167
14168         test-link: consolidate into single C program, test more cases
14169         * tests/test-link.sh: Delete.
14170         * tests/test-link.c: Test more error conditions.  Exposes bugs on
14171         at least Cygwin and Solaris.
14172         * modules/link-tests (Files): Remove unused file.
14173         (Depends-on): Add errno, sys_stat.
14174         (Makefile.am): Simplify.
14175
14176 2009-09-08  Bruno Haible  <bruno@clisp.org>
14177
14178         Work around towlower, towupper bug on mingw.
14179         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
14180         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
14181         * doc/posix-functions/towlower.texi: Mention the mingw bug.
14182         * doc/posix-functions/towupper.texi: Likewise.
14183         Reported by Eric Blake.
14184
14185 2009-09-08  Jim Meyering  <meyering@redhat.com>
14186
14187         build: don't try to run autoheader if we don't use it
14188         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
14189         is not used in configure.ac.
14190
14191 2009-09-08  Eric Blake  <ebb9@byu.net>
14192
14193         euidaccess: fix compilation error
14194         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
14195
14196         rawmemchr: relax license
14197         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
14198         okay.
14199         Reported by Jim Meyering.
14200
14201         mkfifoat: new module
14202         * modules/mkfifoat: New file.
14203         * lib/mkfifoat.c: Likewise.
14204         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
14205         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
14206         * modules/sys_stat (Makefile.am): Use them.
14207         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
14208         * MODULES.html.sh (File system functions): Mention module.
14209         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
14210         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
14211         * modules/mkfifoat-tests: New test.
14212         * tests/test-mkfifoat.c: Likewise.
14213
14214         strchrnul: relax license
14215         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
14216         okay.
14217         Reported by Jim Meyering.
14218
14219 2009-09-08  Eric Blake  <ebb9@byu.net>
14220
14221         fstatat: fix compilation on Solaris
14222         * lib/fstatat.c (includes): Add fcntl.h.
14223         Reported by Pádraig Brady.
14224
14225 2009-09-07  Eric Blake  <ebb9@byu.net>
14226
14227         rename: modernize replacement
14228         * modules/rename (Depends-on): Add stdio.
14229         (configure.ac): Declare witness.
14230         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
14231         stdio take care of replacement.
14232         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
14233         * modules/stdio (Makefile.am): Substitute them.
14234         * lib/stdio.in.h (rename): Declare replacement.
14235         * lib/rename.c (includes): Allow cross-compilation to non-windows
14236         machines.
14237         * doc/posix-functions/rename.texi (rename): Improve
14238         documentation.
14239
14240         stdio: sort witness names
14241         * modules/stdio (Makefile.am): Sort replacements.
14242         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
14243         * lib/stdio.in.h: Likewise.
14244
14245         getcwd: minor cleanups
14246         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
14247         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
14248
14249         openat: provide more convenience names
14250         * modules/faccessat (configure.ac): Add C witness.
14251         * lib/unistd.in.h (readlinkat): Fix typo.
14252         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
14253         convenience wrappers.
14254         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
14255         wrappers in syntax checks.
14256
14257 2009-09-06  Eric Blake  <ebb9@byu.net>
14258
14259         doc: fix comments in recent patches
14260         * lib/faccessat.c: Mention correct function.
14261         * lib/fchmodat.c: Likewise.
14262         * lib/fchownat.c: Likewise.
14263         * lib/symlinkat.c: Likewise.
14264         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
14265         constants.
14266
14267         faccessat, symlinkat: continue cleanup of previous patch
14268         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
14269         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
14270         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
14271         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
14272         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
14273         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
14274         set.
14275
14276 2009-09-06  Bruno Haible  <bruno@clisp.org>
14277
14278         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
14279         (fstatat): Declare if GNULIB_FSTATAT is set.
14280         (mkdirat): Declare if GNULIB_MKDIRAT is set.
14281         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
14282         (unlinkat): Declare if GNULIB_UNLINKAT is set.
14283         * modules/fcntl-h (Files): Remove m4/openat.m4.
14284         * modules/sys_stat (Files): Remove m4/openat.m4.
14285         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
14286         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
14287         * modules/unistd (Files): Remove m4/openat.m4.
14288         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
14289         GNULIB_OPENAT.
14290         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
14291         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
14292         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
14293         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
14294         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
14295         gl_OPENAT_DEFAULTS.
14296         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
14297         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
14298         Don't require gl_OPENAT_DEFAULTS.
14299         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
14300         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
14301         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
14302         (gl_OPENAT_DEFAULTS): Remove macro.
14303
14304 2009-09-06  Bruno Haible  <bruno@clisp.org>
14305
14306         * modules/openat (configure.ac): Remove unneeded witness.
14307
14308 2009-09-06  Bruno Haible  <bruno@clisp.org>
14309
14310         Set errno to ENOSYS when a function is entirely unsupported.
14311         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
14312         EOPNOTSUPP.
14313         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
14314         * modules/chown (Depends-on): Remove errno.
14315
14316 2009-09-06  Bruno Haible  <bruno@clisp.org>
14317
14318         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
14319
14320 2009-09-06  Bruno Haible  <bruno@clisp.org>
14321
14322         * lib/sys_stat.in.h: Fix preprocessor command indentation.
14323
14324 2009-09-06  Ben Pfaff  <blp@gnu.org>
14325             Bruno Haible  <bruno@clisp.org>
14326
14327         Work around a glibc bug in strtok_r.
14328         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
14329         Undefine if UNDEFINE_STRTOK_R is set.
14330         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
14331         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
14332         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
14333         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
14334         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
14335         UNDEFINE_STRTOK_R.
14336         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
14337
14338 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
14339
14340         exclude: minor fix
14341         * lib/exclude.c: Include wctype.h
14342
14343 2009-09-06  Akim Demaille  <demaille@gostai.com>
14344
14345         bootstrap: improve error message
14346         * build-aux/bootstrap (find_tool): Upon failure, report the list
14347         of candidates.
14348         Honor the initial value of the envvar.
14349
14350 2009-09-05  Eric Blake  <ebb9@byu.net>
14351
14352         symlinkat: new module
14353         * modules/symlinkat: New file.
14354         * lib/symlinkat.c: Likewise.
14355         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
14356         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
14357         * modules/unistd (Makefile.am): Use them.
14358         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
14359         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
14360         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
14361         * MODULES.html.sh (File system functions): Mention module.
14362         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
14363         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
14364         * modules/symlinkat-tests: New test.
14365         * tests/test-symlinkat.c: Likewise.
14366
14367         test-openat-safer: add more checks
14368         * tests/test-openat-safer.c (main): Check more code paths.
14369
14370 2009-09-05  Jim Meyering  <meyering@redhat.com>
14371
14372         syntax-check: detect unnecessary inclusion of openat.h
14373         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
14374
14375 2009-09-05  Bruno Haible  <bruno@clisp.org>
14376
14377         Support towlower, towupper.
14378         * doc/posix-functions/towlower.texi: Mention module wctype.
14379         * doc/posix-functions/towupper.texi: Likewise.
14380         * lib/wctype.in.h (towlower, towupper): New functions.
14381         * tests/test-wctype.c: Include stdio.h, stdlib.h.
14382         (ASSERT): New macro.
14383         (e): New variable.
14384         (main): Test also towlower, towupper. Test WEOF argument.
14385         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
14386
14387 2009-09-05  Bruno Haible  <bruno@clisp.org>
14388
14389         Fix conversion behaviour when the input is invalid.
14390         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
14391         mark occurring in first pass of indirect conversion.
14392         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
14393         input.
14394         Found by clang's static analyzer.
14395
14396 2009-09-05  Bruno Haible  <bruno@clisp.org>
14397
14398         * tests/test-striconveh.c (main): Test indirect conversion on platforms
14399         where direct conversion is possible.
14400
14401 2009-09-04  Eric Blake  <ebb9@byu.net>
14402
14403         openat: fail with ENOENT on empty name
14404         * lib/openat-proc.c (openat_proc_name): Special-case the empty
14405         buffer.
14406
14407         link-follow: fix logic bug in prior patch
14408         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
14409         reversed sense of yes and no in prior patch.  Avoid confusing
14410         compilation failure with desired semantics.
14411
14412         link-follow: accomodate mingw and cross-compilation
14413         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
14414         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
14415         cross-compilation results to -1, to make linkat easier to
14416         implement when cross-compiling.  Trivially support mingw.
14417         * modules/link-follow (configure.ac): Call new name.
14418         * NEWS: Mention this.
14419
14420 2009-09-03  Eric Blake  <ebb9@byu.net>
14421
14422         faccessat: compile replacement
14423         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
14424         needed.
14425
14426         fts: fix compilation error
14427         * lib/fts.c (includes): Re-add "openat.h", for
14428         openat_needs_fchdir.
14429
14430         faccessat: new module
14431         * modules/faccessat: New file.
14432         * lib/faccessat.c: Likewise.
14433         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
14434         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
14435         * modules/unistd (Makefile.am): Use it.
14436         * lib/unistd.in.h (faccessat): Declare it.
14437         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
14438         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
14439         * MODULES.html.sh (File system functions): Mention it.
14440         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
14441         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
14442
14443         euidaccess: prefer POSIX over non-standard implementation
14444         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
14445         * lib/euidaccess.c (euidaccess): Use it if available.
14446
14447         openat: make template easier to use
14448         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
14449         AT_FUNC_F2 to be undefined.
14450         (VALIDATE_FLAG): New macro; use it to reject bad flags.
14451         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
14452         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
14453         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
14454         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
14455         Likewise.
14456         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
14457         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
14458         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
14459         Likewise.
14460
14461         openat: declare in POSIX headers
14462         * NEWS: Mention this.
14463         * modules/openat (configure.ac): Declare witnesses.
14464         (Depends-on): Add fcntl-h, sys_stat, unistd.
14465         (Include): Mention correct headers.
14466         * modules/fcntl-h (Depends-on): Add link-warning.
14467         (Files): Add openat.m4.
14468         (Makefile.am): Substitute witnesses.
14469         * modules/sys_stat (Files, Makefile.am): Likewise.
14470         * modules/unistd (Files, Makefile.am): Likewise.
14471         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
14472         (gl_OPENAT_DEFAULTS): New macro.
14473         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
14474         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
14475         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
14476         (SYS_STAT_H): Remove unused variable.
14477         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
14478         * lib/fcntl--.h (includes): Remove unneeded header.
14479         * lib/openat-safer.c (includes): Likewise.
14480         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
14481         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
14482         appropriate headers.
14483         (__OPENAT_PREFIX): Delete.
14484         * lib/fcntl.in.h (openat): Provide declaration.
14485         (AT_FDCWD): Fix Solaris bug.
14486         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
14487         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
14488         * lib/fchmodat.c (includes):  Adjust to find declaration.
14489         * lib/fchownat.c (includes): Likewise.
14490         * lib/mkdirat.c (includes): Likewise.
14491         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
14492         still visible.
14493
14494 2009-09-02  Eric Blake  <ebb9@byu.net>
14495
14496         errno: use consistently
14497         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
14498         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
14499         * lib/canonicalize.c (ELOOP): Likewise.
14500         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
14501         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
14502         * lib/lchown.c (EOPNOTSUPP): Likewise.
14503         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
14504         * lib/savewd.c (ESTALE): Likewise.
14505         * lib/settime.c (ENOSYS): Likewise.
14506         * lib/utimens.c (ENOSYS): Likewise.
14507         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
14508         * lib/chdir-safer.c (ELOOP): Likewise.
14509         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
14510         * modules/c-stack (Depends-on): Add errno.
14511         * modules/canonicalize (Depends-on): Likewise.
14512         * modules/chdir-safer (Depends-on): Likewise.
14513         * modules/fdopendir (Depends-on): Likewise.
14514         * modules/inet_ntop (Depends-on): Likewise.
14515         * modules/inet_pton (Depends-on): Likewise.
14516         * modules/lchown (Depends-on): Likewise.
14517         * modules/openat (Depends-on): Likewise.
14518         * modules/savewd (Depends-on): Likewise.
14519         * modules/settime (Depends-on): Likewise.
14520         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
14521
14522         fts: avoid leaking fds
14523         * modules/fts (Depends-on): Add cloexec.
14524         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
14525         flag.
14526
14527         fts: make directory fds more robust
14528         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
14529         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
14530
14531         backupfile, chdir-long, fts, savedir: make safer
14532         * lib/backupfile.c (includes): Use "dirent--.h", since
14533         numbered_backup can write to stderr during readdir.
14534         * lib/savedir.c (includes): Likewise.
14535         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
14536         emulation can write to stderr on failure.
14537         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
14538         * lib/getcwd.c: Document why opendir_safer is unused.
14539         * lib/glob.c: Likewise.
14540         * lib/scandir.c: Likewise.
14541         * lib/openat-proc.c: Likewise, for open_safer.
14542         * modules/backupfile (Depends-on): Add dirent-safer.
14543         * modules/savedir (Depends-on): Likewise.
14544         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
14545         * modules/chdir-long (Depends-on): Add openat-safer.
14546
14547         openat-safer: new module
14548         * modules/openat-safer: New file.
14549         * lib/openat-safer.c: Likewise.
14550         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
14551         * lib/fcntl-safer.h (openat_safer): Declare.
14552         * lib/fcntl--.h (openat): Override.
14553         * MODULES.html.sh (File descriptor based I/O): Mention it.
14554         * lib/openat.h: Add double-inclusion guards.
14555         * lib/openat.c (includes): Only include "fcntl-safer.h", not
14556         "fcntl--.h", so we can implement openat.
14557         * modules/openat-safer-tests: New test.
14558         * tests/test-openat-safer.c: New file.
14559
14560         dirent-safer: new module
14561         * modules/dirent-safer: New file.
14562         * lib/dirent--.h: Likewise.
14563         * lib/dirent-safer.h: Likewise.
14564         * lib/opendir-safer.c: Likewise.
14565         * m4/dirent-safer.m4: Likewise.
14566         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
14567         * modules/dirent-safer-tests: New test.
14568         * tests/test-dirent-safer.c: New file.
14569         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
14570
14571         fdopendir: optimize on mingw
14572         * lib/unistd.in.h (_gl_directory_name): New prototype.
14573         * lib/fchdir.c (_gl_directory_name): Implement it.
14574         (fchdir): Use it to simplify implementation.
14575         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
14576         fchdir, when available, to avoid calling [f]chdir().
14577
14578         fdopendir: split into its own module
14579         * lib/openat.c (fdopendir): Move...
14580         * lib/fdopendir.c: ...into new file.
14581         * modules/fdopendir: New module.
14582         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
14583         * modules/openat (Depends-on): Add fdopendir.
14584         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
14585         fdopendir here.
14586         * modules/savedir (Depends-on): Only need fdopendir, not full
14587         openat.
14588         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
14589         * lib/openat.h (fdopendir): Drop prototype.
14590         * lib/dirent.in.h (fdopendir): Provide prototype.
14591         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
14592         * modules/dirent (Makefile.am): Substitute them.
14593         * MODULES.html.sh (File system functions): Mention it.
14594         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
14595         * modules/fdopendir-tests: New file.
14596         * tests/test-fdopendir.c: Likewise.
14597
14598         fchdir: use more consistent macro convention
14599         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
14600         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
14601         REPLACE_FCHDIR, rather than relying on config.h macros.
14602         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
14603         inside a single make-time REPLACE_FCHDIR block, rather than using
14604         the config.h FCHDIR_REPLACEMENT.
14605         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
14606         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
14607         Manage fstat replacement.
14608         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
14609         REPLACE_FCHDIR.
14610         * modules/sys_stat (Files): Add m4/unistd_h.m4.
14611         (Makefile.am): Substitute REPLACE_FCHDIR.
14612         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
14613         FCHDIR_REPLACEMENT.
14614         * lib/dup-safer.c (dup_safer): Likewise.
14615         * lib/dup2.c (rpl_dup2): Likewise.
14616         * lib/dup3.c (rpl_dup3): Likewise.
14617         * lib/open.c (rpl_open): Likewise.
14618
14619         fchdir: simplify error handling, and support dup3
14620         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
14621         stdbool, malloc-posix, realloc-posix.
14622         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
14623         (ensure_dirs_slot): Return false on allocation failure.
14624         (rpl_dup2): Delete.
14625         (_gl_register_dup): New function.
14626         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
14627         (_gl_register_fd): Close fd on allocation failure.
14628         * lib/fcntl.in.h (_gl_register_fd): Update signature.
14629         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
14630         prototype.
14631         (rpl_dup2_fchdir): Delete prototype.
14632         * lib/open.c (open): Update caller.
14633         * lib/dup2.c (dup2): Track fchdir metadata.
14634         * lib/dup3.c (dup3): Likewise.
14635         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
14636         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
14637
14638 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14639
14640         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
14641         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
14642         don't pass arguments to AC_OUTPUT.
14643
14644 2009-09-02  Bruno Haible  <bruno@clisp.org>
14645
14646         * modules/mkdtemp (License): Relicense under LGPLv2+.
14647         Reported by Paolo Bonzini.
14648
14649 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14650
14651         Replace uses of obsolete autoconf macros in Jim's modules.
14652         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
14653         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
14654         can evoke a warning from autoconf when run with -Wobsolete
14655         enabled.  They were declared obsolete for good reasons (see
14656         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
14657         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
14658         should not continue using the deprecated macros.
14659         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
14660         obsolete Autoconf macros with modern counterparts.
14661         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
14662         * m4/dos.m4 (gl_AC_DOS): Likewise.
14663         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
14664         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
14665         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
14666         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
14667         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
14668         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
14669         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
14670         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
14671         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
14672         Likewise.
14673         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
14674         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
14675         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
14676         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
14677         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
14678         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
14679
14680 2009-09-01  Eric Blake  <ebb9@byu.net>
14681
14682         fchdir: fix off-by-one bug in previous patch
14683         * lib/fchdir.c (rpl_fstat): Use correct bounds.
14684         (_gl_unregister_fd): Delete useless if.
14685
14686 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
14687
14688         maint.mk: sort the list of syntax-check rules
14689         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
14690         easier to get a sense of progress when the rules are run sequentially
14691         and take a long time.
14692
14693 2009-09-01  Simon Josefsson  <simon@josefsson.org>
14694
14695         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
14696         * modules/netinet_in: Likewise.
14697         * modules/sys_file: Likewise.
14698         * modules/sys_ioctl: Likewise.
14699         * modules/sys_select: Likewise.
14700         * modules/sys_socket: Likewise.
14701         * modules/sys_stat: Likewise.
14702         * modules/sys_time: Likewise.
14703         * modules/sys_times: Likewise.
14704         * modules/sys_utsname: Likewise.
14705         * modules/sys_wait: Likewise.
14706
14707 2009-09-01  Jim Meyering  <meyering@redhat.com>
14708
14709         fts: help ensure that return values are not ignored
14710         * lib/fts_.h (__GNUC_PREREQ): Define.
14711         (__attribute_warn_unused_result__): Define.
14712         (fts_children, fts_close, fts_open, fts_read): Declare with
14713         __attribute_warn_unused_result__.
14714
14715         fts: fts_close now fails also when closing a dir file descriptor fails
14716         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
14717         and propagate to caller, along with errno.
14718
14719         announce-gen: correct formatting in --help output
14720         * build-aux/announce-gen (usage): Move the one-line description in
14721         --help output "up", to where it belongs, just after Usage:.
14722
14723 2009-08-31  Eric Blake  <ebb9@byu.net>
14724
14725         fchdir: port to mingw
14726         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
14727         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
14728         opened, then use a substitute.
14729         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
14730         replacement.
14731         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
14732         (_gl_register_fd): No need to check stat if open already filters
14733         all directories.
14734         (fchdir): Fix error condition to match POSIX.
14735         * modules/fchdir (Depends-on): Add sys_stat.
14736         * doc/posix-functions/open.texi (open): Document the limitation.
14737         * modules/fchdir-tests: New file.
14738         * tests/test-fchdir.c: Likewise.
14739
14740         canonicalize: allow cross-testing from cygwin to mingw
14741         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
14742         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
14743         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
14744         Likewise.
14745         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
14746         target does not support symlinks.
14747         * tests/test-canonicalize-lgpl.sh: Likewise.
14748
14749         chown: avoid compilation warning on mingw
14750         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
14751         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
14752         mingw.
14753         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
14754         * modules/chown (Depends-on): Add errno.
14755
14756 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
14757
14758         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
14759         command.
14760
14761 2009-08-31  Jim Meyering  <meyering@redhat.com>
14762
14763         canonicalize: remove useless initialization
14764         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
14765         initialization of local, "end".
14766
14767 2009-08-30  Bruno Haible  <bruno@clisp.org>
14768
14769         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
14770         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
14771         ENOSYS.
14772
14773 2009-08-30  Bruno Haible  <bruno@clisp.org>
14774
14775         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
14776         /usr/xpg4/bin/tr when it exists.
14777         * tests/test-pipe-filter-gi1.sh: Likewise.
14778
14779 2009-08-30  Bruno Haible  <bruno@clisp.org>
14780
14781         Work around deficient /usr/bin/id program on Solaris.
14782         * tests/test-file-has-acl.sh (ID): New variable.
14783         * tests/test-set-mode-acl.sh (ID): Likewise.
14784         * tests/test-copy-acl.sh (ID): Likewise.
14785         * tests/test-copy-file.sh (ID): Likewise.
14786
14787 2009-08-30  Bruno Haible  <bruno@clisp.org>
14788
14789         New module 'xstriconveh'.
14790         * lib/xstriconveh.h: New file.
14791         * lib/xstriconveh.c: New file.
14792         * modules/xstriconveh: New file.
14793
14794 2009-08-30  Bruno Haible  <bruno@clisp.org>
14795
14796         Make it easier to use mem_cd_iconveh.
14797         * lib/striconveh.h (iconveh_t): New type.
14798         (iconveh_open, iconveh_close): New declarations.
14799         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
14800         with a single 'const iconveh_t *' argument.
14801         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
14802         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
14803         with a single 'const iconveh_t *' argument.
14804         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
14805         * tests/test-striconveh.c (main): Update.
14806         * NEWS: Mention the change.
14807
14808 2009-08-30  Bruno Haible  <bruno@clisp.org>
14809
14810         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
14811         problem.
14812
14813 2009-08-30  Bruno Haible  <bruno@clisp.org>
14814
14815         Work around iconv_open problem on Solaris.
14816         * lib/iconv_open-solaris.gperf: New file.
14817         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
14818         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
14819         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
14820         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
14821         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
14822         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
14823
14824 2009-08-29  Jim Meyering  <meyering@redhat.com>
14825
14826         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
14827         * top/maint.mk (cvs-check): Remove target; it was just an alias
14828         to the better-named vc-diff-check.
14829         (maintainer-distcheck): Remove rule.  It was used only from
14830         the (alpha/beta/major) target, and all of its commands but one
14831         were coreutils-specific.
14832         (vc-dist): Remove rule.
14833         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
14834         Run vc-diff-check, not vc-dist.
14835         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
14836
14837 2009-08-27  Bruno Haible  <bruno@clisp.org>
14838
14839         * tests/test-bitrotate.c (main): Remove test that uses a shift count
14840         of 0.
14841
14842 2009-08-27  Bruno Haible  <bruno@clisp.org>
14843
14844         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
14845         compilers.
14846         * doc/func.texi: Document the SunPRO C bug.
14847
14848 2009-08-27  Bruno Haible  <bruno@clisp.org>
14849
14850         Fix link error on Solaris.
14851         * tests/test-parse-duration.c (xstrdup): Remove function.
14852
14853 2009-08-26  Pádraig Brady  <P@draigbrady.com>
14854
14855         ignore-value: handle pointer types, too
14856         * lib/ignore-value.h (__attribute__): Remove definition.
14857         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
14858         of a more concise and more-often effective "(void) i" statement.
14859         (ignore_ptr): New function to suppress warnings from functions that
14860         return pointers, and to make it explicit that one function doesn't
14861         handle all cases.
14862
14863 2009-08-25  Bruno Haible  <bruno@clisp.org>
14864
14865         dup2: work around a Linux bug.
14866         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
14867         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
14868         * doc/posix-functions/dup2.texi: Mention the Linux bug.
14869         Reported by Simon Josefsson.
14870
14871 2009-08-25  Jim Meyering  <meyering@redhat.com>
14872
14873         libguestfs uses gnulib
14874         * users.txt: Add libguestfs.
14875
14876 2009-08-24  Eric Blake  <ebb9@byu.net>
14877
14878         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
14879         * lib/pipe2.c (includes): Add binary-io.h.
14880         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
14881
14882 2009-08-24  Bruno Haible  <bruno@clisp.org>
14883
14884         Tolerate declared but missing accept4 syscall.
14885         * lib/accept4.c (accept4): Invoke original accept4 function first, if
14886         available.
14887         * lib/sys_socket.in.h (accept4): If the function is already present,
14888         override it.
14889         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
14890         * modules/accept4 (Makefile.am): Compile accept4.c always.
14891         Reported by Paolo Bonzini and Eric Blake.
14892
14893 2009-08-23  Bruno Haible  <bruno@clisp.org>
14894
14895         New module 'accept4'.
14896         * lib/sys_socket.in.h (accept4): New declaration.
14897         * lib/accept4.c: New file.
14898         * m4/accept4.m4: New file.
14899         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
14900         GNULIB_ACCEPT4, HAVE_ACCEPT4.
14901         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
14902         HAVE_ACCEPT4.
14903         * modules/accept4: New file.
14904         * doc/glibc-functions/accept4.texi: Mention the new module.
14905
14906 2009-08-24  Jim Meyering  <meyering@redhat.com>
14907
14908         progname: also set global program_invocation_name, when possible
14909         Before this change, a libtool-enabled program that calls glibc's
14910         error function would report the program name as
14911         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
14912         * modules/progname (configure.ac): Check for a declaration of
14913         program_invocation_name.
14914         * lib/progname.c:  Include <errno.h>.
14915         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
14916         Set program_invocation_name.
14917
14918 2009-08-23  Bruno Haible  <bruno@clisp.org>
14919
14920         * lib/dup3.c: Include <string.h>.
14921
14922 2009-08-23  Bruno Haible  <bruno@clisp.org>
14923
14924         * lib/dup3.c (dup3): Test only once whether the system actually exists.
14925         * lib/pipe2.c (pipe2): Likewise.
14926         Suggested by Eric Blake.
14927
14928 2009-08-23  Bruno Haible  <bruno@clisp.org>
14929
14930         Tolerate declared but missing dup3 syscall.
14931         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
14932         * lib/unistd.in.h (dup3): If the function is already present,
14933         override it.
14934         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
14935         * modules/dup3 (Makefile.am): Compile dup3.c always.
14936         Reported by Paolo Bonzini.
14937
14938 2009-08-23  Bruno Haible  <bruno@clisp.org>
14939
14940         Tolerate declared but missing pipe2 syscall.
14941         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
14942         available.
14943         * lib/unistd.in.h (pipe2): If the function is already present,
14944         override it.
14945         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
14946         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
14947         Reported by Paolo Bonzini.
14948
14949 2009-08-23  Bruno Haible  <bruno@clisp.org>
14950
14951         * lib/pipe2.c (pipe2): Move #ifs inside function.
14952
14953 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
14954
14955         quotearg: document limitations of quote_these_too
14956         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
14957         those limitations are created.
14958         * lib/quotearg.h (set_char_quoting): Document that digits and
14959         letters that are special after backslash are not permitted.
14960         (quotearg_char): Cross-reference set_char_quoting documentation.
14961
14962 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
14963
14964         quotearg: implement custom_quoting_style
14965         * lib/quotearg.c: (struct quoting_options): Add left_quote and
14966         right_quote fields.
14967         (set_custom_quoting): New public function.
14968         (quotearg_buffer_restyled): Add left_quote and right_quote
14969         arguments, handle them very much like locale quoting, and update
14970         all uses.
14971         (quotearg_n_custom): New public function.
14972         (quotearg_n_custom_mem): New public function.
14973         (quotearg_custom): New public function.
14974         (quotearg_custom_mem): New public function.
14975         * lib/quotearg.h: Prototype and document new public functions.
14976         (enum quoting_style): For escape_quoting_style and
14977         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
14978         ignored even though they're otherwise like c_quoting_style.
14979         Add custom_quoting_style member and document with comparison to
14980         clocale_quoting_style.
14981         * tests/test-quotearg.c (custom_quotes): New array.
14982         (custom_results): New array.
14983         (main): Extend to test custom quoting.
14984
14985 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
14986
14987         quotearg: fix right quote escaping when it's in quote_these_too
14988         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
14989         quote, be sure to prepend only one backslash.
14990         * tests/test-quotearg.c (use_quote_double_quotes): New function.
14991         (main): Test it.
14992
14993 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
14994
14995         quotearg-tests: test escaping of embedded locale quotes
14996         * tests/test-quotearg.c (struct result_strings): Add member for
14997         new input.
14998         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
14999         (inputs): Add new input.
15000         (results_g): Add expected results.
15001         (flag_results): Likewise.
15002         (locale_results): Likewise.
15003         (compare_strings): Check those.
15004
15005 2009-08-23  Bruno Haible  <bruno@clisp.org>
15006
15007         Tests for module 'dup3'.
15008         * modules/dup3-tests: New file.
15009         * tests/test-dup3.c: New file.
15010
15011         New module 'dup3'.
15012         * lib/unistd.in.h (dup3): New declaration.
15013         * lib/dup3.c: New file.
15014         * m4/dup3.m4: New file.
15015         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
15016         HAVE_DUP3.
15017         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
15018         * modules/dup3: New file.
15019         * doc/glibc-functions/dup3.texi: Mention the new module.
15020
15021 2009-08-23  Bruno Haible  <bruno@clisp.org>
15022
15023         Tweak the dup2 test.
15024         * tests/test-dup2.c (main): Create the test file empty. Verify that an
15025         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
15026         the test file is still empty. Fix argument order of lseek.
15027
15028 2009-08-23  Bruno Haible  <bruno@clisp.org>
15029
15030         Avoid test link errors when the modules getopt-gnu, gettext are used.
15031         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
15032         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15033
15034 2009-08-23  Bruno Haible  <bruno@clisp.org>
15035
15036         Fix getdtablesize() on mingw.
15037         * lib/getdtablesize.c (getdtablesize): Implement differently.
15038         * lib/unistd.in.h (getdtablesize): Improve comment.
15039
15040 2009-08-23  Bruno Haible  <bruno@clisp.org>
15041
15042         New module 'mkostemp'.
15043         Based on Ulrich Drepper's 2007-08-10 change in glibc.
15044         * lib/stdlib.in.h (mksotemp): New declaration.
15045         * lib/mkostemp.c: New file, from glibc with modifications.
15046         * lib/tempname.h (GT_FILE): Remove outdated comment.
15047         (gen_tempname): Add flags argument.
15048         * lib/tempname.c (__GT_BIGFILE): Remove macro.
15049         (__GT_FILE): Map to 1.
15050         (small_open, large_open): Remove macros.
15051         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
15052         * lib/mkstemp.c (mkstemp): Update.
15053         * lib/mkdtemp.c (mkdtemp): Likewise.
15054         * m4/mkostemp.m4: New file.
15055         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
15056         HAVE_MKOSTEMP.
15057         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
15058         HAVE_MKOSTEMP.
15059         * modules/mkostemp: New file, based on modules/mkstemp.
15060         * doc/glibc-functions/mkostemp.texi: Mention the new module.
15061         * NEWS: Mention the change.
15062
15063 2009-08-23  Bruno Haible  <bruno@clisp.org>
15064
15065         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
15066         Reported by Eric Blake.
15067
15068 2009-08-23  Bruno Haible  <bruno@clisp.org>
15069
15070         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
15071         Reported by Eric Blake.
15072
15073 2009-08-23  Bruno Haible  <bruno@clisp.org>
15074
15075         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
15076         * modules/pipe2 (Depends-on): Likewise.
15077
15078 2009-08-23  Eric Blake  <ebb9@byu.net>
15079
15080         fcntl-h: add O_TTY_INIT support
15081         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
15082         * tests/test-fcntl-h.c (o): Test it.
15083         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
15084
15085         fcntl-h: rename from fcntl, in preparation for fcntl(2)
15086         * modules/fcntl: Move <fcntl.h> header replacement...
15087         * modules/fcntl-h: ...to new name, so as not to collide with
15088         like-named function.
15089         * tests/test-fcntl.c: Rename...
15090         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
15091         * modules/fcntl-tests: Rename...
15092         * modules/fcntl-h-tests: ...to this.  Update test file name.
15093         * modules/chdir-long (Depends-on): Update clients.
15094         * modules/chdir-safer (Depends-on): Likewise.
15095         * modules/fcntl-safer (Depends-on): Likewise.
15096         * modules/fts (Depends-on): Likewise.
15097         * modules/mkancesdirs (Depends-on): Likewise.
15098         * modules/mkdir-p (Depends-on): Likewise.
15099         * modules/open (Depends-on): Likewise.
15100         * modules/savewd (Depends-on): Likewise.
15101         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
15102         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
15103
15104 2009-08-22  Bruno Haible  <bruno@clisp.org>
15105
15106         * modules/binary-io (License): Relicense under LGPL.
15107         * modules/pipe2 (License): Likewise.
15108
15109 2009-08-22  Bruno Haible  <bruno@clisp.org>
15110
15111         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
15112         return value.
15113         * lib/pipe-filter-gi.c (filter_init): Likewise.
15114         Reported by Eric Blake.
15115
15116 2009-08-22  Bruno Haible  <bruno@clisp.org>
15117
15118         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
15119         * modules/pipe (Depends-on): Add pipe2.
15120
15121 2009-08-22  Bruno Haible  <bruno@clisp.org>
15122
15123         Tests for module 'pipe2'.
15124         * modules/pipe2-tests: New file.
15125         * tests/test-pipe2.c: New file.
15126
15127         New module 'pipe2'.
15128         * lib/unistd.in.h (pipe2): New declaration.
15129         * lib/pipe2.c: New file.
15130         * m4/pipe2.m4: New file.
15131         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
15132         HAVE_PIPE2.
15133         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
15134         * modules/pipe2: New file.
15135         * doc/glibc-functions/pipe2.texi: Mention the new module.
15136
15137 2009-08-22  Bruno Haible  <bruno@clisp.org>
15138
15139         Reference some new glibc functions.
15140         * doc/glibc-functions/accept4.texi: New file.
15141         * doc/glibc-functions/dup3.texi: New file.
15142         * doc/glibc-functions/mkostemp.texi: New file.
15143         * doc/glibc-functions/pipe2.texi: New file.
15144         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
15145         (Glibc sys/socket.h): Refer to accept4.
15146         (Glibc unistd.h): Refer to dup3, pipe2.
15147         Reported by Eric Blake.
15148
15149 2009-08-22  Jim Meyering  <meyering@redhat.com>
15150             Bruno Haible  <bruno@clisp.org>
15151
15152         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
15153         This makes it so packages using automake-1.11's silent-rules option
15154         can print e.g., a single "GEN    configmake.h" line, rather than
15155         the 30+ statements that perform the job.  If you want to see the
15156         actual commands, you can still run "make V=1".
15157         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
15158         so that make output is abbreviated when those variables are defined
15159         appropriately.
15160         * modules/argz: Likewise.
15161         * modules/arpa_inet: Likewise.
15162         * modules/byteswap: Likewise.
15163         * modules/configmake: Likewise.
15164         * modules/dirent: Likewise.
15165         * modules/errno: Likewise.
15166         * modules/fcntl: Likewise.
15167         * modules/float: Likewise.
15168         * modules/fnmatch: Likewise.
15169         * modules/getopt-posix: Likewise.
15170         * modules/glob: Likewise.
15171         * modules/iconv_open: Likewise.
15172         * modules/inttypes: Likewise.
15173         * modules/localcharset: Likewise.
15174         * modules/locale: Likewise.
15175         * modules/math: Likewise.
15176         * modules/netdb: Likewise.
15177         * modules/netinet_in: Likewise.
15178         * modules/poll: Likewise.
15179         * modules/posix_spawnp-tests: Likewise.
15180         * modules/sched: Likewise.
15181         * modules/search: Likewise.
15182         * modules/selinux-h: Likewise.
15183         * modules/signal: Likewise.
15184         * modules/spawn: Likewise.
15185         * modules/stdarg: Likewise.
15186         * modules/stdbool: Likewise.
15187         * modules/stddef: Likewise.
15188         * modules/stdint: Likewise.
15189         * modules/stdio: Likewise.
15190         * modules/stdlib: Likewise.
15191         * modules/string: Likewise.
15192         * modules/strings: Likewise.
15193         * modules/sys_file: Likewise.
15194         * modules/sys_ioctl: Likewise.
15195         * modules/sys_select: Likewise.
15196         * modules/sys_socket: Likewise.
15197         * modules/sys_stat: Likewise.
15198         * modules/sys_time: Likewise.
15199         * modules/sys_times: Likewise.
15200         * modules/sys_utsname: Likewise.
15201         * modules/sys_wait: Likewise.
15202         * modules/sysexits: Likewise.
15203         * modules/time: Likewise.
15204         * modules/unistd: Likewise.
15205         * modules/wchar: Likewise.
15206         * modules/wctype: Likewise.
15207
15208 2009-08-22  Jim Meyering  <meyering@redhat.com>
15209
15210         announce-gen: detect write failure
15211         * build-aux/announce-gen: Add Coda at end.
15212         Remove equivalent-but-more-verbose block at top.
15213
15214 2009-08-19  Akim Demaille  <demaille@gostai.com>
15215
15216         bootstrap: --help to stdout.
15217         * bootstrap (usage): Don't send --help to stderr.
15218         Use a here doc instead of a long string.
15219
15220 2009-08-21  Eric Blake  <ebb9@byu.net>
15221
15222         test-popen-safer: split from test-popen
15223         * tests/test-popen.c (main): Move...
15224         * tests/test-popen.h: ...into new file.
15225         * tests/test-popen-safer2.c: New file.
15226         * modules/popen-tests (Files): Add test-popen.h.
15227         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
15228         Suggested by Bruno Haible.
15229
15230         test-fcntl-safer: split from test-open
15231         * tests/test-open.c (main): Move...
15232         * tests/test-open.h: ...into new file.
15233         * tests/test-fcntl-safer.c: New file.
15234         * modules/open-tests (Files): Add test-open.h.
15235         * modules/fcntl-safer-tests: New file.
15236         Suggested by Bruno Haible.
15237
15238         test-fopen-safer: split from test-fopen
15239         * tests/test-fopen.c (main): Move...
15240         * tests/test-fopen.h: ...into new file.
15241         * tests/test-fopen-safer.c: New file.
15242         * modules/fopen-tests (Files): Add test-fopen.h.
15243         * modules/fopen-safer-tests: New file.
15244         Suggested by Bruno Haible.
15245
15246 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
15247
15248         popen-safer: test O_CLOEXEC at run-time.
15249         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
15250
15251 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
15252
15253         fcntl: move more flags to the header
15254         * lib/cloexec.c: Do not define FD_CLOEXEC here.
15255         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
15256         * lib/fcntl.in.h: Do both things here.
15257
15258 2009-08-21  Jim Meyering  <meyering@redhat.com>
15259
15260         consistently remove $@-t before redirecting to it
15261         * modules/argz: Remove $@-t and $@ before redirecting to the former.
15262         * modules/alloca-opt: Likewise.
15263         * modules/byteswap: Likewise.
15264         * modules/fnmatch: Likewise.
15265         * modules/getopt-posix: Likewise.
15266         * modules/glob: Likewise.
15267         * modules/poll: Likewise.
15268         * modules/posix_spawnp-tests: Likewise.
15269         * modules/sys_socket: Likewise.
15270         * modules/sysexits: Likewise.
15271
15272 2009-08-21  Eric Blake  <ebb9@byu.net>
15273
15274         popen: simplify access to original popen
15275         * lib/popen.c (rpl_popen): No need to worry about popen being a
15276         macro.
15277         Reported by Bruno Haible.
15278
15279 2009-08-20  Eric Blake  <ebb9@byu.net>
15280
15281         build: avoid some compiler warnings
15282         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
15283         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
15284         type.
15285         (new_exclude_segment, excluded_file_pattern_p)
15286         (excluded_file_name_p): Reduce scope.
15287         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
15288         old-style declaration.
15289
15290 2009-08-20  Simon Josefsson  <simon@josefsson.org>
15291
15292         * tests/test-exclude1.sh: Handle Windows EOL.
15293         * tests/test-exclude2.sh: Likewise.
15294         * tests/test-exclude3.sh: Likewise.
15295         * tests/test-exclude4.sh: Likewise.
15296         * tests/test-exclude5.sh: Likewise.
15297         * tests/test-exclude6.sh: Likewise.
15298         * tests/test-exclude7.sh: Likewise.
15299
15300 2009-08-19  Akim Demaille  <demaille@gostai.com>
15301
15302         bootstrap: find sha1sum when named gsha1sum.
15303         * bootstrap (find_tool): New.
15304         ($SHA1SUM): New.
15305         Use it.
15306
15307 2009-08-20  Jim Meyering  <meyering@redhat.com>
15308
15309         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
15310         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
15311         expression that converts "." in a file name to "\." in the resulting
15312         regexp.  Start with a dummy statement, so that prior shell variable
15313         definitions are expanded portably.  Reported by Simon Josefsson.
15314
15315 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
15316
15317         Fix polling for writeability of a screen buffer.
15318         * lib/poll.c: Distinguish input and screen buffers for the
15319         Win32 implementation.
15320         * lib/select.c: Likewise.
15321
15322 2009-08-19  Eric Blake  <ebb9@byu.net>
15323
15324         popen-safer: prevent popen from clobbering std descriptors
15325         * modules/popen-safer: New file.
15326         * lib/popen-safer.c: Likewise.
15327         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
15328         * lib/stdio--.h (popen): Provide override.
15329         * lib/stdio-safer.h (popen_safer): Provide declaration.
15330         * tests/test-popen.c (includes): Partially test this.
15331         * modules/popen-safer-tests: New file, for more tests.
15332         * tests/test-popen-safer.c: Likewise.
15333         * MODULES.html.sh (file stream based Input/Output): Mention it.
15334
15335         tests: test some of the *-safer modules
15336         * modules/fopen-safer (Depends-on): Add fopen.
15337         * modules/fcntl-safer (Depends-on): Add fcntl.
15338         * modules/stdlib-safer (Depends-on): Add stdlib.
15339         (configure.ac): Set indicator.
15340         * modules/unistd-safer (configure.ac): Likewise.
15341         * modules/tmpfile-safer (configure.ac): Likewise.
15342         (Depends-on): Add tmpfile.
15343         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
15344         active.
15345         * tests/test-fopen.c (includes): Test safer versions when they are
15346         in use.
15347         * tests/test-open.c (includes): Likewise.
15348
15349         popen: fix cygwin 1.5 bug when stdin closed
15350         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
15351         * modules/popen: New file.
15352         * modules/popen-tests: Likewise.
15353         * tests/test-popen.c: Likewise.
15354         * m4/popen.m4: Likewise.
15355         * lib/popen.c: Likewise.
15356         * lib/stdio.in.h (popen): New declaration.
15357         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
15358         * modules/stdio (Makefile.am): Likewise.
15359         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
15360
15361 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
15362
15363         maint.mk: give full control over update-copyright exclusions
15364         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
15365         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
15366         (update-copyright): Don't force inclusion of top-level
15367         ChangeLog.  Don't force exclusion of all COPYING files, but make
15368         them the default exclusion instead.
15369
15370 2009-08-16  Bruno Haible  <bruno@clisp.org>
15371
15372         Fix test failures on Solaris 10.
15373         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
15374         tests when Solaris iconv() is used.
15375         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
15376         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
15377         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
15378         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
15379         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
15380
15381 2009-08-16  Bruno Haible  <bruno@clisp.org>
15382
15383         Fix test failures on Solaris 10.
15384         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
15385         'tr' program and pass it as first argument.
15386         * tests/test-pipe-filter-gi1.sh: Likewise.
15387         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
15388         program as first argument.
15389         * tests/test-pipe-filter-gi1.c (main): Likewise.
15390
15391 2009-08-16  Eric Blake  <ebb9@byu.net>
15392
15393         fpurge: fix previous commits
15394         * modules/fpurge (Makefile.am): Make replacement conditional,
15395         partially reverting 2007-04-29 change; missed in previous
15396         attempt.
15397         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
15398         is missing.
15399
15400 2009-08-16  Bruno Haible  <bruno@clisp.org>
15401
15402         Clarify fpurge's effect on the file position.
15403         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
15404         * tests/test-fpurge.c (main): Make a second pass for checking the file
15405         position.
15406
15407 2009-08-16  Bruno Haible  <bruno@clisp.org>
15408
15409         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
15410         declaration of fpurge is missing.
15411         * tests/test-fpurge.c (main): Check that the file has not more contents
15412         than expected. Close the file before removing it.
15413
15414 2009-08-15  Eric Blake  <ebb9@byu.net>
15415
15416         fpurge: don't wrap working cygwin implementation
15417         * lib/fpurge.c (fpurge): Fix comment typo.
15418         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
15419         1.7 to avoid replacement.
15420         * tests/test-fpurge.c (main): Enhance test.
15421
15422 2009-08-15  Eric Blake  <ebb9@byu.net>
15423         and Jim Meyering  <meyering@redhat.com>
15424
15425         test-update-copyright: skip if perl is insufficient
15426         * tests/test-update-copyright.sh: Failure to run maintainer tool
15427         should not cause testsuite failure on cygwin 1.5.
15428
15429 2009-08-14  Eric Blake  <ebb9@byu.net>
15430
15431         doc: mention more functions added in cygwin 1.7.0
15432         * doc/posix-headers/limits.texi (limits.h): Update for recent
15433         cygwin additions.
15434         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
15435         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
15436         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
15437         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
15438         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
15439
15440 2009-08-14  Eric Blake  <ebb9@byu.net>
15441
15442         maint.mk: simplify update-copyright rule
15443         * top/maint.mk (update-copyright-local): Delete, and document how
15444         to do it in cfg.mk instead.
15445         (update-copyright-exclude-regexp): Delete, and document how to do
15446         it in .x-update-copyright instead.
15447         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
15448         exclude ChangeLog.
15449
15450 2009-08-14  Bruno Haible  <bruno@clisp.org>
15451
15452         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
15453
15454 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
15455
15456         maint.mk: support update-copyright-env
15457         * top/maint.mk (update-copyright-env): Define place-holder.
15458         (update-copyright): Expand $(update-copyright-env) before
15459         invoking update-copyright.
15460
15461 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
15462
15463         update-copyright: implement forced reformatting
15464         * build-aux/update-copyright: Implement and document
15465         UPDATE_COPYRIGHT_FORCE.
15466         * tests/test-update-copyright.sh: Test it.
15467
15468 2009-08-14  Eric Blake  <ebb9@byu.net>
15469         and Bruno Haible  <bruno@clisp.org>
15470
15471         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
15472         * tests/test-locale.c: Revert previous patch related to NULL.
15473         * tests/test-stdio.c: Likewise.
15474         * tests/test-stdlib.c: Likewise.
15475         * tests/test-string.c: Likewise.
15476         * tests/test-unistd.c: Likewise.
15477         * modules/time-tests (Depends-on): Add verify.
15478         * modules/wchar-tests (Depends-on): Likewise.
15479         * tests/test-time.c: Test for NULL compliance.
15480         * tests/test-wchar.c: Likewise.
15481         * modules/locale (Depends-on): Add stddef.
15482         * modules/stdio (Depends-on): Likewise.
15483         * modules/stdlib (Depends-on): Likewise.
15484         * modules/string (Depends-on): Likewise.
15485         * modules/time (Depends-on): Likewise.
15486         * modules/unistd (Depends-on): Likewise.
15487         * modules/wchar (Depends-on): Likewise.
15488         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
15489         * lib/stdlib.in.h (includes): Likewise.
15490         * lib/string.in.h (includes): Likewise.
15491         * lib/time.in.h (includes): Likewise.
15492         * lib/unistd.in.h (includes): Likewise.
15493         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
15494         replaced.
15495         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
15496         * m4/stddef_h.m4: New file.
15497         * modules/stddef: Likewise.
15498         * lib/stddef.in.h: Likewise.
15499         * modules/stddef-tests: Likewise.
15500         * tests/test-stddef.c: Likewise.
15501         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
15502         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
15503         * doc/posix-headers/locale.texi (locale.h): Likewise.
15504         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
15505         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
15506         * doc/posix-headers/string.texi (string.h): Likewise.
15507         * doc/posix-headers/time.texi (time.h): Likewise.
15508         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
15509         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
15510
15511 2009-08-14  Eric Blake  <ebb9@byu.net>
15512
15513         doc: improve git diff of texinfo files
15514         * .gitattributes: Add rule for *.texi files, with hint on how to
15515         use it.
15516         Copied from m4, and based on a report by Bruno Haible.
15517
15518 2009-08-14  Bruno Haible  <bruno@clisp.org>
15519
15520         Disable multithread support by default on Cygwin 1.5.x for real.
15521         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
15522
15523 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
15524
15525         update-copyright: much ado about intervals
15526         * build-aux/update-copyright: Implement and document
15527         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
15528         of copyright year intervals.
15529         Also, document UPDATE_COPYRIGHT_YEAR.
15530         * tests/test-update-copyright.sh: Test it.
15531
15532         update-copyright: convert 2-digit to 4-digit years
15533         * build-aux/update-copyright: Implement and document.
15534         * tests/test-update-copyright.sh: Update.
15535
15536 2009-08-14  Jim Meyering  <meyering@redhat.com>
15537
15538         test-exclude: avoid coreutils "make check" failure
15539         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
15540         just as in test-argmatch.c.
15541
15542 2009-08-13  Eric Blake  <ebb9@byu.net>
15543
15544         test-dup2: fix bad assumption
15545         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
15546         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
15547
15548         test-version-etc: fix CRLF portability issue
15549         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
15550         recognize \r.
15551         * tests/test-argp-version-etc-1.sh: Likewise.
15552
15553         getopt: update client modules
15554         * modules/argp (Depends-on): Use getopt-gnu.
15555         * modules/git-merge-changelog (Depends-on): Likewise.
15556         * modules/long-options (Depends-on): Likewise.
15557         * modules/xstrtol (Depends-on): Likewise.
15558
15559 2009-08-13  Simon Josefsson  <simon@josefsson.org>
15560
15561         * tests/test-version-etc.sh: Don't fail on different
15562         project/version.  Don't fail on CRLF differences.  Rewrite to use
15563         multiple -e instead of multiple sed forks, suggested by Eric Blake
15564         <ebb9@byu.net>.
15565         * tests/test-argp-version-etc-1.sh: Likewise.
15566
15567 2009-08-13  Simon Josefsson  <simon@josefsson.org>
15568
15569         * tests/test-version-etc.sh: Don't fail on different
15570         project/version.
15571
15572 2009-08-12  Bruno Haible  <bruno@clisp.org>
15573
15574         Tests for modules 'getopt-posix', 'getopt-gnu'.
15575         * modules/getopt-posix-tests: New file.
15576         * tests/test-getopt.c: New file.
15577         * tests/test-getopt.h: New file.
15578         * tests/test-getopt_long.h: New file.
15579
15580         New modules 'getopt-posix', 'getopt-gnu'.
15581         * modules/getopt-gnu: New file, renamed from modules/getopt.
15582         * modules/getopt-posix: New file.
15583         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
15584         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
15585         (gl_GETOPT): Remove macro.
15586         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
15587         Disable the test against BSD systems that declare optreset. Test
15588         against mingw bug. Test against lack of support of optional arguments
15589         on many platforms.
15590         * doc/glibc-headers/getopt.texi: Update module name and list of
15591         relevant platforms.
15592         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
15593         'getopt-gnu' and more portability problems.
15594         * NEWS: Mention the changes.
15595
15596 2009-08-12  Bruno Haible  <bruno@clisp.org>
15597
15598         Ensure that optarg etc. get declared by <unistd.h>.
15599         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
15600         AC_USE_SYSTEM_EXTENSIONS.
15601         * modules/getopt (Depends-on): Add 'extensions'.
15602
15603 2009-08-12  Bruno Haible  <bruno@clisp.org>
15604
15605         Avoid test link errors.
15606         * modules/pipe-filter-ii-tests (Makefile.am): Define
15607         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
15608         * modules/pipe-filter-gi-tests (Makefile.am): Define
15609         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
15610         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15611
15612 2009-08-12  Bruno Haible  <bruno@clisp.org>
15613
15614         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
15615         gl_GETOPT_SUBSTITUTE before.
15616         (gl_GETOPT): Use it.
15617         * m4/argp.m4 (gl_ARGP): Update.
15618         Reported by Sergey Poznyakoff.
15619
15620         * m4/getopt.m4: Reorder macros.
15621         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
15622         (gl_GETOPT_SUBSTITUTE): Remove macro.
15623
15624 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
15625
15626         Minor improvement in gitlog-to-changelog
15627
15628         * build-aux/gitlog-to-changelog: New option `--format' makes
15629         output format string configurable.
15630
15631 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
15632
15633         Optimize exclude: use hash tables for non-wildcard patterns.
15634
15635         * lib/exclude.c: Include hash.h and mbuiter.h
15636         (struct exclude_pattern, exclude_segment): New data types.
15637         (struct exclude): Rewrite.
15638         (fnmatch_pattern_has_wildcards): New function.
15639         (new_exclude_segment, free_exclude_segment): New functions.
15640         (excluded_file_pattern_p, excluded_file_name_p): New functions.
15641         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
15642         * lib/exclude.h (is_fnmatch_pattern): New prototype.
15643         * modules/exclude: Depend on hash and mbuiter.
15644
15645         * modules/exclude-tests: New file.
15646         * tests/test-exclude.c: New file.
15647         * tests/test-exclude1.sh: New file.
15648         * tests/test-exclude2.sh: New file.
15649         * tests/test-exclude3.sh: New file.
15650         * tests/test-exclude4.sh: New file.
15651         * tests/test-exclude5.sh: New file.
15652         * tests/test-exclude6.sh: New file.
15653         * tests/test-exclude7.sh: New file.
15654
15655 2009-08-12  Bruno Haible  <bruno@clisp.org>
15656
15657         Ensure that getopt() gets declared by <unistd.h>.
15658         * lib/unistd.in.h: Conditionally include getopt.h.
15659         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
15660         Set GNULIB_UNISTD_H_GETOPT.
15661         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
15662         GNULIB_UNISTD_H_GETOPT.
15663         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
15664
15665 2009-08-12  Bruno Haible  <bruno@clisp.org>
15666
15667         Clarify logic.
15668         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
15669         gl_replace_getopt instead of GETOPT_H.
15670
15671 2009-08-12  Bruno Haible  <bruno@clisp.org>
15672
15673         * m4/getopt.m4: Add comments.
15674
15675 2009-08-12  Bruno Haible  <bruno@clisp.org>
15676
15677         Disable multithread support by default on Cygwin 1.5.x.
15678         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
15679         set gl_use_threads=no if not specified otherwise.
15680
15681 2009-08-11  Bruno Haible  <bruno@clisp.org>
15682
15683         Avoid compilation error on NetBSD 5.0.
15684         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
15685         * tests/test-stdio.c: Likewise.
15686         * tests/test-stdlib.c: Likewise.
15687         * tests/test-string.c: Likewise.
15688         * tests/test-unistd.c: Likewise.
15689         Reported by Greg Troxel <gdt@ir.bbn.com>
15690         at <https://savannah.gnu.org/support/?106973>.
15691
15692 2009-08-11  Bruno Haible  <bruno@clisp.org>
15693
15694         * modules/dup2-tests (Depends-on): Remove close.
15695
15696         Undo 2009-07-19 commit.
15697         * modules/acl-tests (Depends-on): Remove close.
15698         * modules/binary-io-tests (Depends-on): Likewise.
15699         * modules/closein-tests (Depends-on): Likewise.
15700         * modules/flock-tests (Depends-on): Likewise.
15701         * modules/fsync-tests (Depends-on): Likewise.
15702         * modules/lseek-tests (Depends-on): Likewise.
15703         * modules/pipe-tests (Depends-on): Likewise.
15704         * modules/posix_spawn-tests (Depends-on): Likewise.
15705         * modules/posix_spawnp-tests (Depends-on): Likewise.
15706         * modules/stat-time-tests (Depends-on): Likewise.
15707         * modules/yesno-tests (Depends-on): Likewise.
15708
15709 2009-08-10  Bruno Haible  <bruno@clisp.org>
15710
15711         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
15712
15713 2009-08-10  Bruno Haible  <bruno@clisp.org>
15714
15715         Fix a gcc warning.
15716         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
15717
15718 2009-08-10  Bruno Haible  <bruno@clisp.org>
15719
15720         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
15721         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
15722         not only the first time.
15723         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
15724         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
15725         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
15726         is 1, not only the the first time.
15727
15728 2009-08-10  Bruno Haible  <bruno@clisp.org>
15729
15730         Make it possible to use module 'gethostname' without module 'close'.
15731         * lib/unistd.in.h (close): Evoke a link error only if
15732         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
15733         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
15734         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
15735         * modules/unistd (Makefile.am): Substitute
15736         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
15737         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
15738         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
15739         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
15740         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
15741         * modules/sys_ioctl (Makefile.am): Substitute
15742         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
15743         * modules/socket (configure.ac): On native Windows, set
15744         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
15745         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
15746         Reported by Sam Steingold <sds@gnu.org>.
15747
15748 2009-08-10  Bruno Haible  <bruno@clisp.org>
15749
15750         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
15751         * modules/ioctl (configure.ac): Likewise.
15752
15753 2009-08-10  Bruno Haible  <bruno@clisp.org>
15754
15755         Avoid collision between gnulib wrapper and libintl wrapper.
15756         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
15757         already defined in intl/printf.c.
15758         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
15759         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
15760
15761 2009-08-09  Bruno Haible  <bruno@clisp.org>
15762
15763         Make <sys/select.h> really self-contained, also on Solaris 10.
15764         * lib/sys_select.in.h: Include <string.h>.
15765         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
15766         Solaris 10 problem.
15767         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
15768         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
15769         Reported by Jim Meyering.
15770
15771 2009-08-09  Bruno Haible  <bruno@clisp.org>
15772
15773         Avoid warnings from 'aclocal' that are due to a use of macro name
15774         AM_XGETTEXT_OPTION that is not defined in automake.
15775         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
15776         automake.
15777         * modules/error (configure.ac): Likewise.
15778         * modules/propername (configure.ac): Likewise.
15779         * modules/vasprintf (configure.ac): Likewise.
15780         * modules/verror (configure.ac): Likewise.
15781         * modules/xprintf (configure.ac): Likewise.
15782         * modules/xvasprintf (configure.ac): Likewise.
15783
15784 2009-08-08  Bruno Haible  <bruno@clisp.org>
15785
15786         Avoid compilation error in C++ mode.
15787         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
15788         Reported by Sam Steingold <sds@gnu.org>.
15789
15790 2009-08-08  Bruno Haible  <bruno@clisp.org>
15791
15792         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
15793         for the various Unix platforms.
15794         * doc/posix-headers/limits.texi: Update platforms list regarding
15795         HOST_NAME_MAX.
15796         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15797
15798 2009-08-07  Jim Meyering  <meyering@redhat.com>
15799
15800         selinux-at: fix typo in a comment
15801         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
15802         Spotted by Paolo Bonzini.
15803
15804         selinux-at: remove redundant m4 code, add documentation
15805         * modules/selinux-at (configure.ac): Remove redundant code.
15806         LIB_SELINUX is already set via the dependent module, selinux-h.
15807         (Include): Add quotes around selinux-at.h.
15808         * lib/selinux-at.h: Add documentation.
15809         Reported by Bruno Haible in
15810         http://marc.info/?l=gnulib-bug&m=124958988300749
15811
15812 2009-08-07  Bruno Haible  <bruno@clisp.org>
15813
15814         Avoid link error on MacOS X 10.3 and 10.4.
15815         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
15816         on non-ELF systems.
15817         * lib/argp-pv.c (argp_program_version): Likewise.
15818         Reported by Simon Josefsson.
15819
15820 2009-08-07  Simon Josefsson  <simon@josefsson.org>
15821
15822         * tests/test-version-etc.sh: Use $EXEEXT.
15823
15824 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
15825
15826         update-copyright: update documentation to point to maint.mk
15827         * build-aux/update-copyright: Here.
15828
15829 2009-08-06  Jim Meyering  <meyering@redhat.com>
15830
15831         maint.mk: support update-copyright-local
15832         * top/maint.mk (update-copyright-local): Define place-holder.
15833         (update-copyright): Depend on $(update-copyright-local).
15834
15835 2009-08-06  Jim Meyering  <meyering@redhat.com>
15836
15837         selinux-at: new module
15838         Initially written for coreutils, this module will soon be
15839         used by findutils, too.
15840         * MODULES.html.sh [Misc]: Add selinux-at.
15841         * lib/selinux-at.h: New file, from coreutils.
15842         * lib/selinux-at.c: Likewise.
15843         * modules/selinux-at: Likewise.
15844         (License): Change from LGPL to GPL, since it depends
15845         on the GPL'd openat module.
15846
15847         doc: update README
15848         * README: Remove references to cogito.
15849         Remove cvs-repo-updating instructions from 2007.
15850         Don't imply that CVS is better if you have limited disk space.
15851
15852 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
15853
15854         update-copyright: support C-style comments
15855         * build-aux/update-copyright: Implement and document.
15856         * tests/test-update-copyright.sh: Test.
15857
15858 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
15859
15860         update-copyright: support omitted "(C)"
15861         * build-aux/update-copyright: Implement and document.  Also,
15862         allow variable whitespace before "(C)".
15863         * tests/test-update-copyright.sh: Test.
15864
15865 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
15866
15867         update-copyright: don't trip on non-FSF copyright statements
15868         * build-aux/update-copyright: Fix so that the first correctly
15869         formatted FSF copyright statement is recognized no matter what
15870         appears before it.  Update documentation.
15871         * tests/test-update-copyright.sh: Test that.
15872
15873 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
15874
15875         update-copyright: clean up code a little
15876         * build-aux/update-copyright: Append "_re" to the name of any
15877         variable holding a regular expression.
15878         Replace "old" and "new" with "stmt" in variable names.
15879         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
15880         handled correctly.
15881         Format code more consistently.
15882
15883 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
15884
15885         update-copyright-tests: improve portability
15886         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
15887         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
15888
15889 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
15890
15891         update-copyright: support @copyright{} and &copy;
15892         * build-aux/update-copyright: Implement and document.
15893         * tests/test-update-copyright.sh: Test.
15894
15895 2009-08-04  Jim Meyering  <meyering@redhat.com>
15896
15897         update-copyright-tests: correctly test EOL=\r\n handling
15898         * tests/test-update-copyright.sh: Put \r at the end of some lines
15899         for the dos-eol tests.  Based on a patch by Joel E. Denny.
15900
15901         maint.mk: make update-copyright exclusion list more configurable
15902         * top/maint.mk (update-copyright): Default to excluding COPYING,
15903         but allow an override, in case someone does want to update that file.
15904
15905         maint.mk: don't update copyright date in COPYING
15906         * top/maint.mk (update-copyright): Exclude COPYING.
15907
15908         maint.mk: add a copyright-updating rule
15909         * top/maint.mk (update-copyright): New rule.
15910         Derived from coreutils/Makefile.am.
15911
15912         update-copyright: rename some variables
15913         * build-aux/update-copyright: Rename a few variables for clarity.
15914         Tweak syntax.  List Joel E. Denny as coauthor.
15915
15916 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
15917
15918         update-copyright: fix bug for 2-digit last year and add tests
15919         * build-aux/update-copyright: Fix bug.
15920         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
15921         specified.
15922         * modules/update-copyright-tests: New
15923         * tests/test-update-copyright.sh: New.
15924
15925 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
15926
15927         update-copyright: handle leading tabs in line prefix
15928         * build-aux/update-copyright: Count leading tabs as 8 spaces
15929         when computing margin.  This helps with the formatting of
15930         ChangeLogs, for example.
15931         Fix documentation a little.
15932
15933 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
15934
15935         update-copyright: support EOL=\r\n
15936         * build-aux/update-copyright: Implement that.
15937
15938 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
15939
15940         update-copyright: automatically format copyright statements
15941         * build-aux/update-copyright: Implement that.
15942         Also, be a little more predictable and safer by always failing
15943         when the full copyright format is not perfectly recognized as an
15944         unbroken whole.  Discussed at
15945         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
15946         Rewrite documentation.
15947
15948 2009-08-03  Bruno Haible  <bruno@clisp.org>
15949
15950         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
15951
15952 2009-08-02  Bruno Haible  <bruno@clisp.org>
15953
15954         Tests for module 'uname'.
15955         * modules/uname-tests: New file.
15956         * tests/test-uname.c: New file.
15957
15958         New module 'uname'.
15959         * lib/uname.c: New file.
15960         * m4/uname.m4: New file.
15961         * modules/uname: New file.
15962         * doc/posix-functions/uname.texi: Mention the new module.
15963
15964 2009-08-02  Bruno Haible  <bruno@clisp.org>
15965
15966         Tests for module 'sys_utsname'.
15967         * modules/sys_utsname-tests: New file.
15968         * tests/test-sys_utsname.c: New file.
15969
15970         New module 'sys_utsname'.
15971         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
15972         * m4/sys_utsname_h.m4: New file.
15973         * modules/sys_utsname: New file.
15974         * doc/posix-headers/sys_utsname.texi: Mention the new module.
15975
15976 2009-08-02  Bruno Haible  <bruno@clisp.org>
15977
15978         Implicitly initialize the sockets library.
15979         * lib/gethostname.c: Include sockets.h.
15980         (rpl_gethostname): Invoke gl_sockets_startup.
15981         * lib/socket.c: Include sockets.h.
15982         (rpl_socket): Invoke gl_sockets_startup.
15983         * modules/gethostname (Depends-on): Add sockets.
15984         * modules/socket (Depends-on): Likewise.
15985         * tests/test-poll.c: Don't include sockets.h.
15986         (main): Don't invoke gl_sockets_startup.
15987         * tests/test-select.c: Don't include sockets.h.
15988         (main): Don't invoke gl_sockets_startup.
15989
15990 2009-08-02  Bruno Haible  <bruno@clisp.org>
15991
15992         Allow multiple calls to gl_sockets_startup.
15993         * lib/sockets.c (initialized_sockets_version): New variable.
15994         (gl_sockets_startup): Do nothing if already called for this or a higher
15995         version.
15996         (gl_sockets_cleanup): Reset initialized_sockets_version.
15997
15998 2009-08-03  Simon Josefsson  <simon@josefsson.org>
15999
16000         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
16001         different project/version.
16002
16003 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
16004             Bruno Haible  <bruno@clisp.org>
16005
16006         Tests for module 'pipe-filter-gi'.
16007         * modules/pipe-filter-gi-tests: New file.
16008         * tests/test-pipe-filter-gi1.sh: New file.
16009         * tests/test-pipe-filter-gi1.c: New file.
16010         * tests/test-pipe-filter-gi2.sh: New file.
16011         * tests/test-pipe-filter-gi2-main.c: New file.
16012         * tests/test-pipe-filter-gi2-child.c: New file.
16013
16014         New module 'pipe-filter-gi'.
16015         * lib/pipe-filter-gi.c: New file.
16016         * modules/pipe-filter-gi: New file.
16017
16018 2009-08-02  Bruno Haible  <bruno@clisp.org>
16019             Paolo Bonzini  <bonzini@gnu.org>
16020
16021         Tests for module 'pipe-filter-ii'.
16022         * modules/pipe-filter-ii-tests: New file.
16023         * tests/test-pipe-filter-ii1.sh: New file.
16024         * tests/test-pipe-filter-ii1.c: New file.
16025         * tests/test-pipe-filter-ii2.sh: New file.
16026         * tests/test-pipe-filter-ii2-main.c: New file.
16027         * tests/test-pipe-filter-ii2-child.c: New file.
16028
16029         New module 'pipe-filter-ii'.
16030         * lib/pipe-filter.h: New file.
16031         * lib/pipe-filter-ii.c: New file.
16032         * lib/pipe-filter-aux.h: New file.
16033         * modules/pipe-filter-ii: New file.
16034
16035 2009-08-02  Simon Josefsson  <simon@josefsson.org>
16036
16037         * lib/gc-libgcrypt.c: Change copyright to FSF.
16038         * lib/gc-gnulib.c: Likewise.
16039
16040 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
16041
16042         * lib/gethostname.c: Include limits.h.
16043
16044 2009-08-02  Simon Josefsson  <simon@josefsson.org>
16045             Bruno Haible  <bruno@clisp.org>
16046
16047         Ensure HOST_NAME_MAX as part of the gethostname module.
16048         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
16049         define also HOST_NAME_MAX.
16050         * tests/test-gethostname.c: Include <limits.h>.
16051         (main): Check also HOST_NAME_MAX.
16052         * doc/posix-headers/limits.texi: Document the mingw problem.
16053
16054 2009-08-02  Bruno Haible  <bruno@clisp.org>
16055
16056         * lib/gethostname.c (gethostname): Fix handling of large len argument.
16057         Add comments.
16058
16059 2009-03-31  Simon Josefsson  <simon@josefsson.org>
16060
16061         * lib/gethostname.c: Add Windows wrapper.
16062         * m4/gethostname.m4: Look for gethostname in -lws2_32.
16063         * modules/gethostname: Depend on sys_socket & errno, for also
16064         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
16065         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
16066
16067 2009-07-31  Jim Meyering  <meyering@redhat.com>
16068
16069         getloadavg: fix symbol name in comment
16070         * lib/getloadavg.c: Correct a typo I introduced when adding
16071         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
16072         Matt Kraai spotted the problem.
16073
16074 2009-07-29  Matt Kraai  <mkraai@beckman.com>
16075
16076         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
16077         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
16078         code also if ! defined N_NAME_POINTER.
16079         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
16080         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
16081         but the n_name member is a 12-byte array.
16082
16083 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
16084
16085         update-copyright: generalize comment handling
16086         * build-aux/update-copyright: Handle copyright statements
16087         within more comment styles.
16088         Document usage.
16089         Report any file with an external copyright holder or parse failure.
16090
16091 2009-07-29  Jim Meyering  <meyering@redhat.com>
16092
16093         mktime: correct setting of REPLACE_MKTIME
16094         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
16095
16096         update-copyright: new module
16097         * modules/update-copyright: New file.
16098         * build-aux/update-copyright: New file.
16099         * MODULES.html.sh (maint+release support): Add update-copyright.
16100
16101 2009-07-27  Bruno Haible  <bruno@clisp.org>
16102
16103         Fix compilation error when <ctime> is used and mktime is replaced.
16104         * lib/time.in.h (mktime): New declaration.
16105         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
16106         REPLACE_MKTIME instead of defining mktime in config.h.
16107         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
16108         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
16109         Reported by Ross McFarland <rwmcfa1@neces.com>.
16110
16111 2009-07-27  Bruno Haible  <bruno@clisp.org>
16112
16113         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
16114         Reported by Matt Kraai <mkraai@beckman.com>.
16115
16116 2009-07-25  Jim Meyering  <meyering@redhat.com>
16117
16118         maint.mk: avoid warnings about missing files
16119         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
16120         diagnostic when .prev-version does not exist.
16121         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
16122         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
16123         nonexistent cfg.mk.
16124         Suggestions from Simon Josefsson.
16125
16126 2009-07-25  Bruno Haible  <bruno@clisp.org>
16127
16128         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
16129         defined as macros. Needed on QNX 6.4.1.
16130         Reported by Matt Kraai <mkraai@beckman.com>.
16131
16132 2009-07-23  Jim Meyering  <meyering@redhat.com>
16133
16134         maint.mk: invoke "make dist" with a working value of XZ_OPT
16135         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
16136
16137 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
16138
16139         Make fseeko.c compile on QNX.
16140         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
16141
16142 2009-07-22  Peter Simons  <simons@cryp.to>
16143
16144         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
16145         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
16146         * lib/md4.h: Likewise.
16147         * lib/md5.h: Likewise.
16148         * lib/sha1.h: Likewise.
16149         * lib/sha256.h: Likewise.
16150         * lib/sha512.h: Likewise.
16151
16152         tests-sha1: don't assign literal string to 'char *' variable
16153         * tests/test-sha1.c (main): Declare locals with "const" to match
16154         attributes of the right hand side.
16155
16156 2009-07-21  Eric Blake  <ebb9@byu.net>
16157
16158         dup2: fix more mingw problems
16159         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
16160         fd to itself.
16161         * doc/posix-functions/dup2.texi (dup2): Document the bug.
16162         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
16163         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
16164         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
16165         care of mingw bugs.
16166
16167 2009-07-21  Jim Meyering  <meyering@redhat.com>
16168
16169         vc-list-files: avoid failure when /bin/sh is dash
16170         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
16171         On some Debian based systems, /bin/sh is a symlink to dash, and running
16172         this command would omit the "/" following each 'tests' prefix:
16173           dash -x build-aux/vc-list-files -C . tests
16174         That is because bash and dash work differently:
16175           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
16176           bash ok
16177           dash odd
16178
16179 2009-07-21  Eric Blake  <ebb9@byu.net>
16180
16181         dup2-tests: test previous patch
16182         * modules/dup2-tests: New file.
16183         * tests/test-dup2.c: Likewise.
16184         * tests/test-open.c (main): Avoid unspecified behavior.
16185         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
16186         test.
16187
16188         dup2: work around mingw and cygwin 1.5 bug
16189         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
16190         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
16191         * modules/unistd (Makefile.am): Substitute it.
16192         * lib/unistd.in.h (dup2): Declare the replacement.
16193         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
16194         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
16195         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
16196         * modules/execute (Depends-on): Add dup2.
16197         * modules/fseterr (Depends-on): Likewise.
16198         * modules/pipe (Depends-on): Likewise.
16199         * modules/posix_spawn-internal (Depends-on): Likewise.
16200
16201 2009-07-21  Bruno Haible  <bruno@clisp.org>
16202
16203         * modules/.gitattributes: New file.
16204
16205 2009-07-20  Bruno Haible  <bruno@clisp.org>
16206
16207         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
16208         (main): Use it.
16209
16210 2009-07-20  Eric Blake  <ebb9@byu.net>
16211
16212         test-pipe: make a bit more robust.
16213         * tests/test-pipe.c (myerr): Allow error messages regardless of
16214         what we do to stderr.
16215         (test_pipe): Rearrange to avoid deadlock.
16216         (child_main): Try a larger read, to ensure we avoided deadlock.
16217         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
16218         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
16219         if misused.
16220
16221 2009-07-19  Jim Meyering  <meyering@redhat.com>
16222
16223         fts: avoid false-positive cycle-detection
16224         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
16225         for each new command line argument.
16226
16227 2009-07-19  Bruno Haible  <bruno@clisp.org>
16228
16229         Fix build error on mingw with the modules sys_select and unistd.
16230         * modules/acl-tests (Depends-on): Add close.
16231         * modules/binary-io-tests (Depends-on): Likewise.
16232         * modules/closein-tests (Depends-on): Likewise.
16233         * modules/flock-tests (Depends-on): Likewise.
16234         * modules/fsync-tests (Depends-on): Likewise.
16235         * modules/lseek-tests (Depends-on): Likewise.
16236         * modules/pipe-tests (Depends-on): Likewise.
16237         * modules/posix_spawn-tests (Depends-on): Likewise.
16238         * modules/posix_spawnp-tests (Depends-on): Likewise.
16239         * modules/stat-time-tests (Depends-on): Likewise.
16240         * modules/yesno-tests (Depends-on): Likewise.
16241
16242 2009-07-19  Bruno Haible  <bruno@clisp.org>
16243
16244         Unify conditionals.
16245         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
16246         macros, not at the compiler macros.
16247         * lib/pipe.c: Likewise.
16248         * lib/execute.c: Likewise.
16249         * lib/spawni.c: Likewise.
16250
16251 2009-07-19  Bruno Haible  <bruno@clisp.org>
16252
16253         Fix handling of closed stdin/stdout/stderr on mingw.
16254         * lib/w32spawn.h: Include unistd.h.
16255         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
16256         file descriptor with O_NOINHERIT flag.
16257         (fd_safer_noinherit): New function, based on fd-safer.c.
16258         (dup_safer_noinherit): New function, based on dup-safer.c.
16259         (undup_safer_noinherit): New function.
16260         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
16261         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
16262         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
16263         instead of fd_safer.
16264         * tests/test-pipe.c: Include <windows.h>.
16265         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
16266
16267         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
16268         from main.
16269         (test_pipe): Pass an extra argument for disambiguation.
16270         (main): Invoke parent_main or child_main.
16271
16272         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
16273         consistently.
16274
16275 2009-07-18  Eric Blake  <ebb9@byu.net>
16276
16277         test-pipe: fix mingw build
16278         * tests/test-pipe.c (main): Avoid fcntl on mingw.
16279
16280 2009-07-18  Bruno Haible  <bruno@clisp.org>
16281
16282         * modules/pipe-tests (Makefile.am): Fix typo.
16283
16284 2009-07-18  Eric Blake  <ebb9@byu.net>
16285
16286         error: fix mingw build
16287         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
16288         Reported by Bruno Haible.
16289
16290         error: avoid undefined use of stdout
16291         * lib/error.c (error, error_at_line): Check that fd 1 is open
16292         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
16293         is handling faults and the close_stdout module wants to report the
16294         detection of closed stdout as an error.
16295
16296 2009-07-17  Eric Blake  <ebb9@byu.net>
16297
16298         pipe: be robust in face of closed fds
16299         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
16300         should cause child to misbehave.
16301         * modules/pipe-tests: New module.
16302         * tests/test-pipe.c: New file.
16303         * tests/test-pipe.sh: New file.
16304         Reported by Akim Demaille.
16305
16306 2009-07-14  Bruno Haible  <bruno@clisp.org>
16307
16308         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
16309         Reported by anonymous kc.
16310
16311 2009-07-07  Jim Meyering  <meyering@redhat.com>
16312
16313         maint.mk: don't look for translatable strings in *.m4 or *.mk
16314         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
16315         when searching for translatable strings.
16316
16317 2009-07-05  Jim Meyering  <meyering@redhat.com>
16318
16319         remove superfluous parentheses in STREQ definition
16320         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
16321         * lib/getugroups.c (STREQ): Likewise.
16322         * lib/fnmatch.c (STREQ): Likewise.
16323         Spotted by Bruno Haible.
16324
16325 2009-07-04  Jim Meyering  <meyering@redhat.com>
16326
16327         argv-iter: new module
16328         * MODULES.html.sh: Add argv-iter.
16329         * lib/argv-iter.c, lib/argv-iter.h: New files.
16330         * modules/argv-iter: New file.
16331         * modules/argv-iter-tests: New file.
16332         * tests/test-argv-iter.c: Test it.
16333
16334 2009-07-04  Bruno Haible  <bruno@clisp.org>
16335
16336         Fix assertion.
16337         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
16338         contains more exact copies of a given entry than file2, leave the extra
16339         copies unpaired rather than aborting.
16340         Reported by Eric Blake.
16341
16342 2009-07-02  Bruno Haible  <bruno@clisp.org>
16343
16344         Speedup git-merge-changelog for git cherry-pick.
16345         * lib/git-merge-changelog.c (struct entries_mapping): New type.
16346         (entries_mapping_get): New function, extracted from compute_mapping.
16347         (entries_mapping_reverse_get): New function.
16348         (compute_mapping): Add a 'full' argument. Return the result in a
16349         'struct entries_mapping'.
16350         (main): Update. Access the mappings through entries_mapping_get.
16351         Reported by Eric Blake.
16352
16353 2009-07-02  Bruno Haible  <bruno@clisp.org>
16354
16355         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
16356         best_i.
16357
16358 2009-07-02  Bruno Haible  <bruno@clisp.org>
16359
16360         Speed up approximate search for matching ChangeLog entries.
16361         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
16362         argument. Call fstrcmp_bounded instead of fstrcmp.
16363         (compute_mapping, try_split_merged_entry, main): Update callers.
16364
16365 2009-07-02  Bruno Haible  <bruno@clisp.org>
16366
16367         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
16368
16369 2009-06-30  Bruno Haible  <bruno@clisp.org>
16370
16371         Reduce the number of uc_is_cased calls.
16372         * lib/unicase.h (casing_suffix_context_t): Add
16373         'first_char_except_ignorable' field.
16374         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
16375         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
16376         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
16377         Update initializer.
16378         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
16379         case-ignorable characters.
16380         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
16381         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
16382         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
16383         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
16384         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
16385
16386 2009-06-30  Bruno Haible  <bruno@clisp.org>
16387
16388         Tests for module 'unicase/ignorable'.
16389         * modules/unicase/ignorable-tests: New file.
16390         * tests/unicase/test-ignorable.c: New file, generated by
16391         gen-uni-tables.
16392
16393         Tests for module 'unicase/cased'.
16394         * modules/unicase/cased-tests: New file.
16395         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
16396         * tests/unicase/test-predicate-part1.h: New file, derived from
16397         tests/unictype/test-predicate-part1.h.
16398         * tests/unicase/test-predicate-part2.h: New file, same as
16399         tests/unictype/test-predicate-part2.h.
16400
16401         Fix evaluation of "Before C" condition of FINAL_SIGMA.
16402         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
16403         (output_casing_properties): New function.
16404         (main): Call it.
16405         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
16406         * lib/unicase/cased.c: Include unictype/bitmap.h.
16407         (uc_is_cased): Define through a bitmap lookup.
16408         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
16409         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
16410         (uc_is_case_ignorable): Define through a bitmap lookup.
16411         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
16412         lib/unictype/bitmap.h.
16413         (Depends-on): Add inline. Clean up.
16414         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
16415         lib/unictype/bitmap.h.
16416         (Depends-on): Add inline. Clean up.
16417         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
16418         recognition.
16419         * tests/unicase/test-u16-tolower.c (main): Likewise.
16420         * tests/unicase/test-u32-tolower.c (main): Likewise.
16421
16422 2009-06-30  Bruno Haible  <bruno@clisp.org>
16423
16424         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
16425         * lib/unicase/u16-casemap.c: Likewise.
16426         * lib/unicase/u32-casemap.c: Likewise.
16427
16428 2009-06-29  Bruno Haible  <bruno@clisp.org>
16429
16430         Define u32_casefold as a wrapper around u32_ct_casefold.
16431         * lib/unicase/u32-casefold.c: Update.
16432         * modules/unicase/u32-casefold (Depends-on): Add
16433         unicase/u32-ct-casefold, unicase/empty-prefix-context,
16434         unicase/empty-suffix-context. Clean up.
16435
16436         Define u16_casefold as a wrapper around u16_ct_casefold.
16437         * lib/unicase/u16-casefold.c: Update.
16438         * modules/unicase/u16-casefold (Depends-on): Add
16439         unicase/u16-ct-casefold, unicase/empty-prefix-context,
16440         unicase/empty-suffix-context. Clean up.
16441
16442         Define u8_casefold as a wrapper around u8_ct_casefold.
16443         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
16444         * lib/unicase/u8-casefold.c: Update.
16445         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
16446         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
16447
16448         Define u32_totitle as a wrapper around u32_ct_totitle.
16449         * lib/unicase/u32-totitle.c: Update.
16450         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
16451         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
16452
16453         Define u16_totitle as a wrapper around u16_ct_totitle.
16454         * lib/unicase/u16-totitle.c: Update.
16455         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
16456         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
16457
16458         Define u8_totitle as a wrapper around u8_ct_totitle.
16459         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
16460         functions.
16461         (FUNC): Delegate to U_CT_TOTITLE.
16462         * lib/unicase/u8-totitle.c: Update.
16463         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
16464         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
16465
16466         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
16467         invocation.
16468         * modules/unicase/u32-tolower (Depends-on): Add
16469         unicase/empty-prefix-context, unicase/empty-suffix-context.
16470
16471         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
16472         invocation.
16473         * modules/unicase/u16-tolower (Depends-on): Add
16474         unicase/empty-prefix-context, unicase/empty-suffix-context.
16475
16476         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
16477         * modules/unicase/u8-tolower (Depends-on): Add
16478         unicase/empty-prefix-context, unicase/empty-suffix-context.
16479
16480         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
16481         invocation.
16482         * modules/unicase/u32-toupper (Depends-on): Add
16483         unicase/empty-prefix-context, unicase/empty-suffix-context.
16484
16485         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
16486         invocation.
16487         * modules/unicase/u16-toupper (Depends-on): Add
16488         unicase/empty-prefix-context, unicase/empty-suffix-context.
16489
16490         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
16491         * modules/unicase/u8-toupper (Depends-on): Add
16492         unicase/empty-prefix-context, unicase/empty-suffix-context.
16493
16494         New module 'unicase/u32-ct-casefold'.
16495         * lib/unicase/u32-ct-casefold.c: New file.
16496         * modules/unicase/u32-ct-casefold: New file.
16497
16498         New module 'unicase/u16-ct-casefold'.
16499         * lib/unicase/u16-ct-casefold.c: New file.
16500         * modules/unicase/u16-ct-casefold: New file.
16501
16502         New module 'unicase/u8-ct-casefold'.
16503         * lib/unicase/u8-ct-casefold.c: New file.
16504         * lib/unicase/u-ct-casefold.h: New file, derived from
16505         lib/unicase/u-casefold.h.
16506         * modules/unicase/u8-ct-casefold: New file.
16507
16508         New module 'unicase/u32-ct-totitle'.
16509         * lib/unicase/u32-ct-totitle.c: New file.
16510         * modules/unicase/u32-ct-totitle: New file.
16511
16512         New module 'unicase/u16-ct-totitle'.
16513         * lib/unicase/u16-ct-totitle.c: New file.
16514         * modules/unicase/u16-ct-totitle: New file.
16515
16516         New module 'unicase/u8-ct-totitle'.
16517         * lib/unicase/u8-ct-totitle.c: New file.
16518         * lib/unicase/u-ct-totitle.h: New file, derived from
16519         lib/unicase/u-totitle.h.
16520         * modules/unicase/u8-ct-totitle: New file.
16521
16522         New module 'unicase/u32-ct-tolower'.
16523         * lib/unicase/u32-ct-tolower.c: New file.
16524         * modules/unicase/u32-ct-tolower: New file.
16525
16526         New module 'unicase/u16-ct-tolower'.
16527         * lib/unicase/u16-ct-tolower.c: New file.
16528         * modules/unicase/u16-ct-tolower: New file.
16529
16530         New module 'unicase/u8-ct-tolower'.
16531         * lib/unicase/u8-ct-tolower.c: New file.
16532         * modules/unicase/u8-ct-tolower: New file.
16533
16534         New module 'unicase/u32-ct-toupper'.
16535         * lib/unicase/u32-ct-toupper.c: New file.
16536         * modules/unicase/u32-ct-toupper: New file.
16537
16538         New module 'unicase/u16-ct-toupper'.
16539         * lib/unicase/u16-ct-toupper.c: New file.
16540         * modules/unicase/u16-ct-toupper: New file.
16541
16542         New module 'unicase/u8-ct-toupper'.
16543         * lib/unicase/u8-ct-toupper.c: New file.
16544         * modules/unicase/u8-ct-toupper: New file.
16545
16546         Add context arguments to u*_casemap functions.
16547         * lib/unicase/unicasemap.h: Include unicase.h.
16548         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
16549         suffix_context arguments.
16550         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
16551         functions.
16552         (FUNC): Add prefix_context and suffix_context arguments. Use
16553         uc_is_cased and uc_is_case_ignorable.
16554         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
16555         * lib/unicase/u16-casemap.c: Likewise.
16556         * lib/unicase/u32-casemap.c: Likewise.
16557         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
16558         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
16559         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
16560         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
16561         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
16562         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
16563
16564         New module 'unicase/u32-suffix-context'.
16565         * lib/unicase/u32-suffix-context.c: New file.
16566         * modules/unicase/u32-suffix-context: New file.
16567
16568         New module 'unicase/u16-suffix-context'.
16569         * lib/unicase/u16-suffix-context.c: New file.
16570         * modules/unicase/u16-suffix-context: New file.
16571
16572         New module 'unicase/u8-suffix-context'.
16573         * lib/unicase/u8-suffix-context.c: New file.
16574         * lib/unicase/u-suffix-context.h: New file.
16575         * modules/unicase/u8-suffix-context: New file.
16576
16577         New module 'unicase/empty-suffix-context'.
16578         * lib/unicase/empty-suffix-context.c: New file.
16579         * modules/unicase/empty-suffix-context: New file.
16580
16581         New module 'unicase/u32-prefix-context'.
16582         * lib/unicase/u32-prefix-context.c: New file.
16583         * modules/unicase/u32-prefix-context: New file.
16584
16585         New module 'unicase/u16-prefix-context'.
16586         * lib/unicase/u16-prefix-context.c: New file.
16587         * modules/unicase/u16-prefix-context: New file.
16588
16589         New module 'unicase/u8-prefix-context'.
16590         * lib/unicase/u8-prefix-context.c: New file.
16591         * lib/unicase/u-prefix-context.h: New file.
16592         * lib/unicase/context.h: New file.
16593         * modules/unicase/u8-prefix-context: New file.
16594
16595         New module 'unicase/empty-prefix-context'.
16596         * lib/unicase/empty-prefix-context.c: New file.
16597         * modules/unicase/empty-prefix-context: New file.
16598
16599         New module 'unicase/ignorable'.
16600         * lib/unicase/ignorable.c: New file.
16601         * modules/unicase/ignorable: New file.
16602
16603         New module 'unicase/cased'.
16604         * lib/unicase/caseprop.h: New file.
16605         * lib/unicase/cased.c: New file.
16606         * modules/unicase/cased: New file.
16607
16608         New functions for case mapping of substrings.
16609         * lib/unicase.h (casing_prefix_context_t): New type.
16610         (unicase_empty_prefix_context): New variable.
16611         (u8_casing_prefix_context, u16_casing_prefix_context,
16612         u32_casing_prefix_context, u8_casing_prefixes_context,
16613         u16_casing_prefixes_context, u32_casing_prefixes_context): New
16614         declarations.
16615         (casing_suffix_context_t): New type.
16616         (unicase_empty_suffix_context): New variable.
16617         (u8_casing_suffix_context, u16_casing_suffix_context,
16618         u32_casing_suffix_context, u8_casing_suffixes_context,
16619         u16_casing_suffixes_context, u32_casing_suffixes_context,
16620         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
16621         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
16622         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
16623         declarations.
16624
16625 2009-06-28  Jim Meyering  <meyering@redhat.com>
16626
16627         boostrap: indent only with spaces
16628         * build-aux/bootstrap: Indent only with spaces, never TABs.
16629
16630         bootstrap: split long lines
16631         * build-aux/bootstrap: Keep line length < 80.
16632
16633         bootstrap: sync from coreutils
16634         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
16635         just as autoreconf does.  Verify a list of prerequisite
16636         package-name,version-number pairs if defined in bootstrap.conf.
16637         Refer to README-prereq, if prerequisites are not satisfied.
16638
16639 2009-06-27  Eric Blake  <ebb9@byu.net>
16640
16641         tests: add test for bogus NULL definition
16642         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
16643         * tests/test-stdlib.c: Likewise.
16644         * tests/test-string.c: Likewise.
16645         * tests/test-locale.c: Likewise.
16646         * tests/test-unistd.c: Likewise.
16647         * modules/stdio-tests (Depends-on): Add verify.
16648         * modules/stdlib-tests (Depends-on): Likewise.
16649         * modules/string-tests (Depends-on): Likewise.
16650         * modules/locale-tests (Depends-on): Likewise.
16651         * modules/unistd-tests (Depends-on): Likewise.
16652
16653 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
16654
16655         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
16656         self-explaining comment.
16657         * m4/selinux-selinux-h: Update serial.
16658         (gl_LIBSELINUX): New macro, adding a warning for missing development
16659         packages to code extracted from...
16660         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
16661         Add warning for missing development packages here, too.
16662
16663 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
16664
16665         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
16666
16667 2009-06-25  Eric Blake  <ebb9@byu.net>
16668
16669         version-etc: fix regression
16670         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
16671         gcc.
16672         (version_etc): Use it, to catch bugs with trailing NULL.
16673         * lib/version-etc.c (version_etc_arn): Delete unused argument.
16674         (version_etc_va): Fix logic bug.
16675         * modules/version-etc-tests: Add test.
16676         * tests/test-version-etc.c: New file.
16677         * tests/test-version-etc.sh: Likewise.
16678
16679 2009-06-25  Sam Steingold  <sds@gnu.org>
16680
16681         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
16682         mbtowc declaration.
16683
16684 2009-06-25  Eric Blake  <ebb9@byu.net>
16685
16686         fpurge: migrate into <stdio.h>
16687         * lib/fpurge.h: Delete...
16688         * lib/stdio.in.h (fpurge): ...and declare here, instead.
16689         * lib/fpurge.c (fpurge): Change declaring header.
16690         * modules/fpurge (Files): Drop deleted file.
16691         (Depends-on): Add stdio.
16692         (configure.ac): Set witness.
16693         * modules/stdio (Makefile.am): Support fpurge macros.
16694         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
16695         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
16696         * lib/fflush.c: Update client.
16697         * tests/test-fpurge.c: Likewise.
16698         * NEWS: Mention the change.
16699
16700 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
16701
16702         * lib/argp-version-etc.c (program_authors): Add const
16703         qualifier.
16704         * lib/version-etc.c: Fix typos in the comments.
16705         * modules/argp-version-etc: Depends on version-etc.
16706
16707 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
16708
16709         argp-version-etc: new module.
16710
16711         * lib/argp-version-etc.c: New file.
16712         * lib/argp-version-etc.h: New file.
16713         * modules/argp-version-etc: New file.
16714         * modules/argp-version-etc-tests: New file.
16715         * tests/test-argp-version-etc.c: New test.
16716         * tests/test-argp-version-etc-1.sh: New test.
16717
16718 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
16719
16720         Provide additional interfaces and documentation for version-etc
16721         module.
16722
16723         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
16724         interfaces.
16725         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
16726         prototypes.
16727
16728 2009-06-24  Bruno Haible  <bruno@clisp.org>
16729
16730         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
16731         HAVE_LIB${NAME} macro.
16732         Reported by Sam Steingold <sds@gnu.org>.
16733
16734 2009-06-23  Simon Josefsson  <simon@josefsson.org>
16735
16736         * modules/hash-tests (test_hash_LDADD): Link to libintl when
16737         needed.
16738
16739 2009-06-21  Bruno Haible  <bruno@clisp.org>
16740
16741         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
16742         work.
16743         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
16744         together with LIB${NAME}, LTLIB${NAME}.
16745         Reported by Sam Steingold <sds@gnu.org>.
16746
16747 2009-06-20  Jim Meyering  <meyering@redhat.com>
16748
16749         tests: make sc_require_test_exit_idiom more generic
16750         * top/maint.mk (Exit_witness_file): New overridable variable.
16751         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
16752         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
16753
16754 2009-06-19  Jim Meyering  <meyering@redhat.com>
16755
16756         hash: reverse order of src/dst parameters in an internal interface
16757         * lib/hash.c (transfer_entries): Reverse order of parameters to
16758         put DST before SRC.  Adjust callers.
16759
16760         tests: test-hash: avoid wholesale duplication
16761         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
16762         Instead, use a loop and add a single conditional.
16763
16764         tests: test-hash: allow seed selection via a command line argument
16765         * tests/test-hash.c (get_seed): New function.
16766         (main): Use it.
16767
16768 2009-06-19  Eric Blake  <ebb9@byu.net>
16769
16770         hash: avoid memory leak on allocation failure
16771         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
16772         failure.  Factor repeated algorithm...
16773         (transfer_entries): ...into new helper routine.
16774         (hash_delete): React to hash_rehash return value.
16775
16776         hash: reduce memory pressure in hash_rehash no-op case
16777         * lib/hash.c (next_prime): Avoid overflow.
16778         (hash_initialize): Factor bucket size computation...
16779         (compute_bucket_size): ...into new helper function.
16780         (hash_rehash): Use new function and open coding to reduce memory
16781         pressure, and avoid a memory leak in USE_OBSTACK code.
16782         Reported by Jim Meyering.
16783
16784 2009-06-18  Eric Blake  <ebb9@byu.net>
16785
16786         hash: make rotation more obvious
16787         * modules/hash (Depends-on): Add bitrotate and stdint.
16788         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
16789         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
16790         (SIZE_MAX): Rely on headers for definition.
16791         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
16792         (raw_hasher): Use rotr_sz.
16793         Suggested by Jim Meyering.
16794
16795         hash: fix memory leak in last patch
16796         * lib/hash.c (hash_rehash): Avoid memory leak.
16797
16798         hash: avoid no-op rehashing
16799         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
16800
16801         hash: provide default callback functions
16802         * lib/hash.c (raw_hasher, raw_comparator): New functions.
16803         (hash_initialize): Use them as defaults.
16804         * tests/test-hash.c (main): Test this.
16805
16806         hash: minor optimization
16807         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
16808         when possible.
16809         (hash_initialize): Document this promise.
16810         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
16811         * tests/test-hash.c (hash_compare_strings): Test this.
16812
16813 2009-06-18  Bruno Haible  <bruno@clisp.org>
16814
16815         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
16816         going to be replaced anyway.
16817
16818 2009-06-18  Bruno Haible  <bruno@clisp.org>
16819
16820         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
16821         in one place.
16822         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
16823         be replaced anyway.
16824
16825 2009-06-18  Eric Blake  <ebb9@byu.net>
16826
16827         hash: check for resize before insertion
16828         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
16829         threshold before insertion, so that a pathological hash_rehash
16830         that fills every bucket can still trigger another rehash.
16831
16832 2009-06-18  Jim Meyering  <meyering@redhat.com>
16833
16834         hash-tests: add a loop around the small tests
16835         * tests/test-hash.c (main): Repeat small tests with selected
16836         small initial table sizes.
16837
16838 2009-06-17  Eric Blake  <ebb9@byu.net>
16839
16840         hash: minor cleanups
16841         * lib/hash.h (hash_entry): Make opaque, by moving...
16842         * lib/hash.c (hash_entry): ...here.
16843         (hash_insert): Clarify restrictions on what can be inserted.
16844         (hash_get_next): Clarify when it is safe to remove an element
16845         during traversal.
16846         (check_tuning): Skip verification when tuning is known safe.
16847         (hash_initialize): Clarify restrictions on tuning.
16848
16849 2009-06-17  Jim Meyering  <jim@meyering.net>
16850         and Eric Blake  <ebb9@byu.net>
16851
16852         hash-tests: new module
16853         * modules/hash-tests: New file.
16854         * tests/test-hash.c: New file.
16855
16856 2009-06-17  Eric Blake  <ebb9@byu.net>
16857
16858         strstr-simple: document new module
16859         * MODULES.html.sh: Document new module.
16860
16861         strstr, strcasestr: replace on platforms with broken memchr
16862         * modules/strstr: Split into...
16863         * modules/strstr-simple: ...new module that does not care about
16864         performance, but does care about glibc bug.
16865         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
16866         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
16867         if platform memchr is broken, per Debian bug 521737.
16868         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
16869         memchr.
16870         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
16871         * doc/posix-functions/strstr.texi (strstr): Document the fix.
16872         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
16873         * modules/mountlist (Depends-on): Add strstr-simple.
16874         * modules/gen-uni-tables (Depends-on): Likewise.
16875         * modules/argz (Depends-on): Add strstr.
16876
16877 2009-06-17  Bruno Haible  <bruno@clisp.org>
16878
16879         * modules/posix_spawn-internal (Depends-on): Add errno.
16880
16881 2009-06-17  Bruno Haible  <bruno@clisp.org>
16882
16883         Define missing ESTALE on Interix 3.5.
16884         * lib/errno.in.h (ESTALE): Assign a value if missing.
16885         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
16886         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
16887         missing.
16888         * doc/posix-headers/errno.texi: Mention the Interix bug.
16889         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
16890
16891 2009-06-15  Eric Blake  <ebb9@byu.net>
16892
16893         memchr, memchr2: add valgrind exception
16894         * lib/memchr.valgrind: New file.
16895         * lib/memchr2.valgrind: New file.
16896         * modules/memchr (Files): Distribute valgrind file.
16897         * modules/memchr2 (Files): Likewise.
16898
16899         docs: memchr is no longer obsolete
16900         * MODULES.html.sh: Move memchr from obsolete to string.h section.
16901         * lib/string.in.h (memchr): Simplify logic.
16902
16903 2009-06-14  Jim Meyering  <meyering@redhat.com>
16904
16905         link-follow: fix the "checking..." message to not mention trailing slash
16906         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
16907         never considered trailing slashes.
16908
16909 2009-06-14  Bruno Haible  <bruno@clisp.org>
16910
16911         * m4/memchr.m4: Mention also the bug on IA-64.
16912         * doc/posix-functions/memchr.texi: Likewise.
16913
16914 2009-06-12  Eric Blake  <ebb9@byu.net>
16915
16916         memchr: detect broken x86_64 and alpha implementations
16917         * modules/memchr-tests (Depends-on): Move mmap detection...
16918         * modules/memchr (Depends-on): ...here.
16919         (configure.ac): Set indicator.
16920         * lib/string.in.h (memchr): Declare replacement.
16921         * modules/string (Makefile.am): Trigger replacement.
16922         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
16923         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
16924         bugs.
16925         * doc/posix-functions/memchr.texi (memchr): Document the bug.
16926         * modules/getpagesize (License): Relax license.
16927
16928 2009-06-11  Bruno Haible  <bruno@clisp.org>
16929
16930         * lib/idpriv.h: Add more references.
16931
16932 2009-06-08  Bruno Haible  <bruno@clisp.org>
16933
16934         Tests for module 'idpriv-droptemp'.
16935         * modules/idpriv-droptemp-tests: New file.
16936         * tests/test-idpriv-droptemp.sh: New file.
16937         * tests/test-idpriv-droptemp.su.sh: New file.
16938         * tests/test-idpriv-droptemp.c: New file.
16939
16940         New module 'idpriv-droptemp'.
16941         * lib/idpriv-droptemp.c: New file.
16942         * modules/idpriv-droptemp: New file.
16943
16944 2009-06-08  Bruno Haible  <bruno@clisp.org>
16945
16946         Tests for module 'idpriv-drop'.
16947         * modules/idpriv-drop-tests: New file.
16948         * tests/test-idpriv-drop.sh: New file.
16949         * tests/test-idpriv-drop.su.sh: New file.
16950         * tests/test-idpriv-drop.c: New file.
16951
16952         New module 'idpriv-drop'.
16953         * lib/idpriv.h: New file.
16954         * lib-idpriv-drop.c: New file.
16955         * m4/idpriv.m4: New file.
16956         * modules/idpriv-drop: New file.
16957
16958 2009-06-08  Bruno Haible  <bruno@clisp.org>
16959
16960         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
16961         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
16962         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
16963         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
16964         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
16965         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
16966         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
16967
16968 2009-06-08  Eric Blake  <ebb9@byu.net>
16969
16970         test-strstr: use memory fence, when possible
16971         * tests/test-strstr.c (main): Use memory fence, in order to be
16972         more likely to trigger Debian bug 521737.
16973         * modules/strstr-tests (Files): Pull in additional files.
16974
16975         memchr: no longer obsolete, for wider field testing
16976         * modules/memchr (Status, Notice): Delete, this module is no
16977         longer obsolete.
16978         * modules/vasnprintf (Depends-on): Add memchr.
16979
16980 2009-06-07  Jim Meyering  <meyering@redhat.com>
16981
16982         hash: declare some functions with the warn_unused_result attribute
16983         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
16984
16985 2009-06-07  Bruno Haible  <bruno@clisp.org>
16986
16987         * tests/test-alignof.c: Don't test int64_t if it does not exist.
16988         Reported by Eric Blake.
16989
16990 2009-06-06  Eric Blake  <ebb9@byu.net>
16991
16992         test-alignof: fix typo with long double
16993         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
16994         compiler error.
16995
16996 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
16997
16998         Escape non-texinfo { and }s.
16999         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
17000         markup error.
17001
17002 2009-06-04  Jim Meyering  <meyering@redhat.com>
17003
17004         gitlog-to-changelog: don't infloop on an empty commit log
17005         * build-aux/gitlog-to-changelog: Warn about an empty log message.
17006         Reported by Boris Petersen <transacid@centerim.org>.
17007
17008 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
17009
17010         version-etc: extend for packagers
17011         Add three new configure options, intended for packagers:
17012           --with-packager="packager name"
17013           --with-packager-version="packager-specific version"
17014           --with-packager-bug-reports="packager bug reporting"
17015         An example with coreutils:
17016           $ ./configure \
17017             --with-packager=Gentoo \
17018             --with-packager-bug-report=http://bugs.gentoo.org/ \
17019             --with-packager-version="patchset 1.6"
17020           $ ./src/ls --version | head -n2
17021           ls (GNU coreutils) 7.1-dirty
17022           Packaged by Gentoo (patchset 1.6)
17023         Note that the bug reporting info via --help doesn't show up because
17024         coreutils uses its own custom emit_bug_reporting_address() implementation
17025         in src/system.h.  If it didn't, it'd look like:
17026           $ ./src/ls --help | tail -n4
17027           Report bugs to <bug-coreutils@gnu.org>.
17028           Report Gentoo bugs to <http://bugs.gentoo.org/>.
17029           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
17030           General help using GNU software: <http://www.gnu.org/gethelp/>.
17031         * lib/version-etc.c: Print new information, if provided.
17032         * m4/version-etc.m4: New file.
17033         * modules/version-etc (Files): Add m4/version-etc.m4.
17034         (configure.ac): Add gl_VERSION_ETC.
17035
17036 2009-05-31  Bruno Haible  <bruno@clisp.org>
17037
17038         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
17039         and 'int64_t'.
17040         * modules/alignof-tests (Dependencies): Add stdint.
17041         Reported by Eric Blake.
17042
17043 2009-05-31  Bruno Haible  <bruno@clisp.org>
17044
17045         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
17046         restriction due to compiler bugs.
17047         Reported by Eric Blake.
17048
17049 2009-05-31  Simon Josefsson  <simon@josefsson.org>
17050             Bruno Haible  <bruno@clisp.org>
17051
17052         Fix test-alignof failure.
17053         * lib/alignof.h (alignof_slot): New macro.
17054         (alignof_type): New macro, with the same semantics as the previous
17055         'alignof'.
17056         (alignof): Alias to alignof_slot.
17057         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
17058         check that the results are usable as constant expressions.
17059
17060 2009-05-31  Bruno Haible  <bruno@clisp.org>
17061
17062         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
17063         * tests/test-memchr.c (main): Check that memchr does not read past the
17064         first occurrence of the byte.
17065         * tests/test-strstr.c (main): Update comment.
17066         Suggested by Eric Blake.
17067
17068 2009-05-30  Bruno Haible  <bruno@clisp.org>
17069
17070         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
17071         detail how to use dumpbin.
17072         Reported by David Byron <dbyron@dbyron.com>.
17073
17074 2009-06-02  Simon Josefsson  <simon@josefsson.org>
17075
17076         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
17077
17078 2009-06-02  Simon Josefsson  <simon@josefsson.org>
17079
17080         * m4/manywarnings.m4: Add GCC 4.4 warnings.
17081
17082 2009-05-28  Bruno Haible  <bruno@clisp.org>
17083
17084         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
17085         build-aux/ files.
17086
17087 2009-05-28  Simon Josefsson  <simon@josefsson.org>
17088
17089         * gnulib-tool (func_import): Transform license on build-aux/ files too.
17090
17091 2009-05-27  Simon Josefsson  <simon@josefsson.org>
17092
17093         * gnulib-tool (sed_transform_main_lib_file)
17094         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
17095         regexps.
17096
17097 2009-05-26  Simon Josefsson  <simon@josefsson.org>
17098
17099         * tests/test-strstr.c: Add another self-test.
17100         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
17101         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
17102
17103 2009-05-23  Bruno Haible  <bruno@clisp.org>
17104
17105         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
17106         change.
17107
17108 2009-05-21  Bruno Haible  <bruno@clisp.org>
17109
17110         Simplify use of mode_t varargs.
17111         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
17112         uses 'mode_t' or 'int'.
17113         * lib/openat.c (openat): Likewise.
17114         * lib/open-safer.c (open_safer): Likewise.
17115         * m4/mode_t.m4: New file.
17116         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
17117         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
17118         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
17119         * modules/open (Files): Add m4/mode_t.m4.
17120         * modules/openat (Files): Likewise.
17121         * modules/fcntl-safer (Files): Likewise.
17122         Suggested by Eric Blake.
17123
17124 2009-05-21  Pádraig Brady  <P@draigbrady.com>
17125
17126         * doc/glibc-functions/fallocate.texi: New file.
17127         * doc/gnulib.texi: Include it.
17128
17129 2009-05-21  Eric Blake  <ebb9@byu.net>
17130             Bruno Haible  <bruno@clisp.org>
17131
17132         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
17133         invocations.
17134         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
17135
17136 2009-05-21  Eric Blake  <ebb9@byu.net>
17137             Bruno Haible  <bruno@clisp.org>
17138
17139         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
17140         include_next. Fix of 2008-11-20 commit.
17141         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
17142         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
17143         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
17144         NEXT_MATH_H.
17145         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
17146         instead of NEXT_MATH_H.
17147
17148 2009-05-21  Bruno Haible  <bruno@clisp.org>
17149
17150         Avoid redefinition warnings for SIZE_MAX.
17151         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
17152         Reported by Simon Josefsson.
17153
17154 2009-05-21  Bruno Haible  <bruno@clisp.org>
17155
17156         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
17157         AC_CACHE_VAL.
17158
17159 2009-05-20  Bruno Haible  <bruno@clisp.org>
17160
17161         Make zeroptr.h work on mingw.
17162         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
17163         mprotect.
17164         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
17165         * modules/memchr2-tests (configure.ac): Likewise.
17166         * modules/memcmp-tests (configure.ac): Likewise.
17167         * modules/memmem-tests (configure.ac): Likewise.
17168         * modules/memrchr-tests (configure.ac): Likewise.
17169         Reported by Simon Josefsson.
17170
17171 2009-05-20  Simon Josefsson  <simon@josefsson.org>
17172
17173         * tests/test-glob.c: Include string.h for strcmp prototype.
17174
17175 2009-05-20  Simon Josefsson  <simon@josefsson.org>
17176
17177         * modules/getdelim (Depends-on): Add explicit stdint, although it
17178         was implicitly already pulled in via realloc-posix.
17179         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
17180
17181 2009-05-20  Simon Josefsson  <simon@josefsson.org>
17182
17183         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
17184         G. Christensen" <tgc@jupiterrise.com>.
17185         * m4/sys_socket_h.m4: Check for sa_family_t.
17186         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
17187         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
17188         * tests/test-sys_socket.c: Check that sa_family_t works.
17189
17190 2009-05-18  Eric Blake  <ebb9@byu.net>
17191
17192         maint.mk: allow gnulib_dir in VPATH build
17193         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
17194
17195 2009-05-15  Jim Meyering  <meyering@redhat.com>
17196
17197         maint.mk: Give gnulib_dir a default definition.
17198         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
17199         Thus, most packages no longer need to specify this variable in cfg.mk
17200
17201 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
17202
17203         rename.m4: fix typos that would make non-mingw cross-configure fail
17204         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
17205
17206 2009-05-13  Eric Blake  <ebb9@byu.net>
17207
17208         mmap-anon: avoid out-of-order autoconf expansion
17209         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
17210         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
17211         * modules/memchr-tests (Depends-on): Add extensions.
17212         * modules/memchr2-tests (Depends-on): Add extensions.
17213         * modules/memcmp-tests (Depends-on): Add extensions.
17214         * modules/memmem-tests (Depends-on): Add extensions.
17215         * modules/memrchr-tests (Depends-on): Add extensions.
17216
17217 2009-05-13  Bruno Haible  <bruno@clisp.org>
17218
17219         Make some tests ISO C 99 compliant.
17220         * tests/zerosize-ptr.h: New file.
17221         * tests/test-memchr.c: Include zerosize-ptr.h.
17222         (main): Use a zero-size object pointer instead of NULL.
17223         * tests/test-memchr2.c: Include zerosize-ptr.h.
17224         (main): Use a zero-size object pointer instead of NULL.
17225         * tests/test-memcmp.c: Include zerosize-ptr.h.
17226         (main): Use a zero-size object pointer instead of NULL.
17227         * tests/test-memmem.c: Include zerosize-ptr.h.
17228         (main): Use a zero-size object pointer instead of NULL.
17229         * tests/test-memrchr.c: Include zerosize-ptr.h.
17230         (main): Use a zero-size object pointer instead of NULL.
17231         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
17232         m4/mmap-anon.m4.
17233         (Depends-on): Add getpagesize.
17234         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
17235         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
17236         m4/mmap-anon.m4.
17237         (Depends-on): Add getpagesize.
17238         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
17239         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
17240         m4/mmap-anon.m4.
17241         (Depends-on): Add getpagesize.
17242         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
17243         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
17244         m4/mmap-anon.m4.
17245         (Depends-on): Add getpagesize.
17246         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
17247         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
17248         m4/mmap-anon.m4.
17249         (Depends-on): Add getpagesize.
17250         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
17251
17252 2009-05-12  Bruno Haible  <bruno@clisp.org>
17253
17254         Tests for module 'alignof'.
17255         * modules/alignof-tests: New file.
17256         * tests/test-alignof.c: New file.
17257
17258 2009-05-12  Bruno Haible  <bruno@clisp.org>
17259
17260         Fix alignof macro.
17261         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
17262         vendor compilers that are always correct.
17263
17264 2009-05-12  Bruno Haible  <bruno@clisp.org>
17265
17266         Make the MAP_ANONYMOUS detection work on HP-UX 11.
17267         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
17268         not whether its fully works.
17269
17270 2009-05-12  Bruno Haible  <bruno@clisp.org>
17271
17272         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
17273
17274 2009-05-12  Jim Meyering  <meyering@redhat.com>
17275
17276         * top/maint.mk: Adjust backslash alignment.
17277
17278 2009-05-11  Simon Josefsson  <simon@josefsson.org>
17279
17280         * top/maint.mk: Make $(srcdir)/build-aux configurable.
17281
17282 2009-05-11  Eric Blake  <ebb9@byu.net>
17283
17284         argp: avoid undefined behavior
17285         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
17286         macros.
17287
17288 2009-05-08  Simon Josefsson  <simon@josefsson.org>
17289
17290         * tests/test-vc-list-files-git.sh: Do git config of user.email and
17291         user.name to prevent git commit from complaining.
17292
17293 2009-05-10  Bruno Haible  <bruno@clisp.org>
17294
17295         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
17296         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
17297         it rewrites every file name only once.
17298         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
17299
17300 2009-05-08  Bruno Haible  <bruno@clisp.org>
17301
17302         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
17303         instead of 'max'.
17304
17305 2009-05-08  Simon Josefsson  <simon@josefsson.org>
17306
17307         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
17308         sockaddr_storage test.
17309
17310 2009-05-07  Simon Josefsson  <simon@josefsson.org>
17311
17312         * modules/sys_socket (Makefile.am): Substitute
17313         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
17314         * m4/sys_socket_h.m4: Check for sockaddr_storage.
17315         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
17316         * tests/test-sys_socket.c: Check sockaddr_storage.
17317
17318 2009-05-08  Bruno Haible  <bruno@clisp.org>
17319
17320         New module 'alignof'.
17321         * lib/alignof.h: New file.
17322         * modules/alignof: New file.
17323
17324 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
17325             Bruno Haible  <bruno@clisp.org>
17326
17327         Fix test-file-has-acl on FreeBSD.
17328         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
17329         mask is implicitly added.
17330         * tests/test-file-has-acl.c: Include <signal.h>.
17331         (main): Terminate the test after 5 seconds.
17332         * modules/acl-tests (configure.ac): Check for alarm function.
17333
17334 2009-05-04  Bruno Haible  <bruno@clisp.org>
17335
17336         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
17337         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
17338         * modules/errno (configure.ac): Drop AC_REQUIRE.
17339         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
17340         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
17341
17342 2009-05-04  Simon Josefsson  <simon@josefsson.org>
17343
17344         * modules/glob-tests: New module.
17345         * tests/test-glob.c: Add.
17346
17347 2009-05-04  Simon Josefsson  <simon@josefsson.org>
17348
17349         * modules/fnmatch-tests: New module.
17350         * tests/test-fnmatch.c: Add.
17351
17352 2009-05-04  Eric Blake  <ebb9@byu.net>
17353
17354         maint: make the new no-submodule-changes rule VPATH-safe
17355         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
17356
17357 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
17358             Bruno Haible  <bruno@clisp.org>
17359
17360         acl: Fix infinite loop on FreeBSD.
17361         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
17362         of return value from acl_get_entry.
17363         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
17364         Likewise.
17365
17366 2009-05-03  Bruno Haible  <bruno@clisp.org>
17367
17368         * lib/acl-internal.h (acl_entries): Clarify return value.
17369         * lib/acl_entries.c (acl_entries): Likewise.
17370
17371 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
17372
17373         Bug fix in acl module.
17374         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
17375
17376 2009-05-03  Bruno Haible  <bruno@clisp.org>
17377
17378         Create gperf-generated file in the source dir, not in the build dir.
17379         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
17380         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
17381         * modules/unicase/locale-language (unicase/locale-languages.h):
17382         Likewise.
17383         * modules/unicase/special-casing (unicase/special-casing-table.h):
17384         Likewise.
17385         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
17386         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
17387         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
17388         Reported by Ralf Wildenhues.
17389
17390 2009-05-03  Bruno Haible  <bruno@clisp.org>
17391
17392         * modules/fnmatch (Description, configure.ac): Taken from
17393         fnmatch-posix.
17394         * modules/fnmatch-posix: Turn into a symbolic reference to the
17395         'fnmatch' module, and deprecate.
17396         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
17397
17398 2009-05-03  Bruno Haible  <bruno@clisp.org>
17399
17400         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
17401         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
17402         Reported by Ralf Wildenhues.
17403
17404 2009-05-04  Simon Josefsson  <simon@josefsson.org>
17405
17406         * m4/fnmatch.m4: Fix fnmatch re-define.
17407
17408 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
17409
17410         priv-set: new module and tests; adapt write-any-file
17411         * lib/priv-set.c: New file.
17412         * lib/priv-set.h: New file.
17413         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
17414         * lib/write-any-file.c: Simplify by using priv-set module.
17415         * m4/priv-set.m4: New file.
17416         * modules/priv-set: New file.
17417         * modules/unlinkdir: Add dependency on priv-set module.
17418         * modules/write-any-file: Likewise.
17419
17420         Tests for module 'priv-set'.
17421         * modules/priv-set-tests: New file.
17422         * tests/test-priv-set.c: New file.
17423
17424 2009-05-03  Jim Meyering  <meyering@redhat.com>
17425             Bruno Haible  <bruno@clisp.org>
17426
17427         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
17428         use the converted UTF-8 variant of the name instead.
17429
17430 2009-05-03  Jim Meyering  <meyering@redhat.com>
17431
17432         tests: tighten some getdate tests
17433         * tests/test-getdate.c (main): Tighten tests: require equality,
17434         not just greater than.  Set TZ envvar to UTC0.
17435
17436 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
17437
17438         getdate: correctly interpret "next monday" when run on a Monday
17439         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
17440         that e.g., "next tues" (when run on a tuesday) results in a date
17441         that is one week in the future, and not today's date.
17442         I.e., add a week when the wday is the same as the current one.
17443         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
17444         and earlier by Martin Bernreuther and Jan Minář.
17445         * tests/test-getdate.c (main): Check that "next DAY" is always in
17446         the future and that "last DAY" is always in the past.
17447
17448 2009-05-02  Jim Meyering  <meyering@redhat.com>
17449
17450         build: ensure that a release build fails when a submodule is unclean
17451         * top/maint.mk (no-submodule-changes): New rule.
17452         (alpha beta major): Depend on it.
17453
17454 2009-05-02  Bruno Haible  <bruno@clisp.org>
17455
17456         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
17457         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
17458         shell variable gl_fnmatch_required to detect which variant is
17459         requested.
17460         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
17461         gl_FUNC_FNMATCH_POSIX.
17462         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
17463         exclude fnmatch-posix.
17464
17465 2009-05-02  Bruno Haible  <bruno@clisp.org>
17466
17467         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
17468         * modules/mbsrtowcs (License): Change to LGPLv2+.
17469         * modules/strnlen1 (License): Likewise.
17470         Reported by Simon Josefsson.
17471
17472 2009-05-02  Bruno Haible  <bruno@clisp.org>
17473
17474         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
17475         "cross".
17476         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
17477         gnulib-tool was called with option --source-base=lib.
17478
17479 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17480
17481         Use automake *-local hooks without commands, for extensibility.
17482         * modules/localcharset (Makefile.am): Rename install-exec-local
17483         rule to install-exec-localcharset, and make it a prerequisite of
17484         install-exec-local.  Likewise, rename the uninstall-local rule to
17485         uninstall-localcharset, and make it a prerequisite of the former.
17486
17487 2009-05-01  Bruno Haible  <bruno@clisp.org>
17488
17489         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
17490         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
17491         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
17492         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
17493         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
17494         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
17495         m4/locale-zh.m4, m4/codeset.m4.
17496
17497         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
17498         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
17499         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
17500         m4/locale-zh.m4.
17501
17502         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
17503         REPLACE_WCRTOMB if mbstate_t must be replaced.
17504         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
17505         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
17506
17507 2009-05-01  Bruno Haible  <bruno@clisp.org>
17508
17509         Avoid compiler warnings when redefining macros defined by <libintl.h>.
17510         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
17511         dngettext, dcngettext, textdomain, bindtextdomain,
17512         bind_textdomain_codeset): Undefine before redefining.
17513
17514 2009-04-30  Bruno Haible  <bruno@clisp.org>
17515
17516         Fix bug introduced on 2009-04-25.
17517         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
17518         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
17519         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
17520         is defined.
17521         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
17522         is defined.
17523         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
17524         is defined.
17525         Reported by Elbert_Pol <elbert.pol@gmail.com>.
17526
17527 2009-04-28  Bruno Haible  <bruno@clisp.org>
17528
17529         Comment tweaks.
17530         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
17531         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
17532         * lib/unicase.h (u*_casexfrm): Likewise.
17533         Reported by Paolo Bonzini.
17534
17535 2009-04-28  Bruno Haible  <bruno@clisp.org>
17536
17537         Fix a compilation error.
17538         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
17539         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
17540         Reported by Jim Meyering.
17541
17542 2009-04-27  Bruno Haible  <bruno@clisp.org>
17543
17544         New module 'libunistring'.
17545         * modules/libunistring: New file.
17546         * m4/libunistring.m4: New file.
17547         * MODULES.html.sh (Unicode string functions): Add it.
17548
17549 2009-04-27  Eric Blake  <ebb9@byu.net>
17550
17551         maint.mk: allow package-specific header to provide <config.h>
17552         * top/maint.mk (sc_require_config_h): New variable.
17553         (sc_require_config_h, sc_require_config_h_first): Use it.
17554
17555 2009-04-27  Simon Josefsson  <simon@josefsson.org>
17556
17557         * top/maint.mk (sc_avoid_if_before_free): Except
17558         useless-if-before-free script.
17559
17560 2009-04-27  Eric Blake  <ebb9@byu.net>
17561
17562         maintainer-makefile: depend on all required helper scripts
17563         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
17564         useless-if-before-free.
17565         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
17566         version, rather than assuming gnulib checkout is available.
17567         Reported by Simen Josefsson.
17568
17569 2009-04-26  Bruno Haible  <bruno@clisp.org>
17570
17571         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
17572         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
17573         "../" or "..".
17574
17575 2009-04-26  Bruno Haible  <bruno@clisp.org>
17576
17577         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
17578         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
17579         AC_LIB_HAVE_LINKFLAGS.
17580
17581 2009-04-26  Bruno Haible  <bruno@clisp.org>
17582
17583         Simplify calling convention of u*_conv_from_encoding.
17584         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
17585         u32_conv_from_encoding): Expect a resultbuf argument and return the
17586         result directly as a pointer.
17587         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
17588         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
17589         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
17590         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
17591         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
17592         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
17593         Update.
17594         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
17595         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
17596         * lib/vasnprintf.c (VASNPRINTF): Update.
17597         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
17598         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
17599         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
17600         * NEWS: Mention the change.
17601
17602 2009-04-26  Bruno Haible  <bruno@clisp.org>
17603
17604         Simplify calling convention of u*_conv_to_encoding.
17605         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
17606         u32_conv_to_encoding): Expect a resultbuf argument and return the
17607         result directly as a pointer.
17608         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
17609         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
17610         freeing scaled_offsets if mem_iconveha failed.
17611         * lib/unicase/u-casexfrm.h (FUNC): Update.
17612         * lib/uninorm/u-normxfrm.h (FUNC): Update.
17613         * lib/vasnprintf.c (VASNPRINTF): Update.
17614         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
17615         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
17616         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
17617         * NEWS: Mention the change.
17618
17619 2009-04-26  Bruno Haible  <bruno@clisp.org>
17620
17621         Avoid test failures on AIX and OSF/1.
17622         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
17623         malloc(0).
17624         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
17625         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
17626         Likewise.
17627         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
17628         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
17629         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
17630         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
17631         * doc/posix-functions/malloc.texi: Document the portability problem
17632         related to malloc(0).
17633
17634 2009-04-26  Bruno Haible  <bruno@clisp.org>
17635
17636         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
17637         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
17638         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
17639
17640 2009-04-25  Bruno Haible  <bruno@clisp.org>
17641
17642         Avoid link error when creating a namespace clean library.
17643         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
17644         as macro with arguments if already defined as an alias.
17645         * lib/signbitf.c (gl_signbitf): Don't undefine.
17646         * lib/signbitd.c (gl_signbitd): Don't undefine.
17647         * lib/signbitl.c (gl_signbitl): Don't undefine.
17648
17649 2009-04-25  Jim Meyering  <meyering@redhat.com>
17650
17651         vc-list-files: fix another quoting bug
17652         * build-aux/vc-list-files: Avoid sed backslash expansion
17653         of pathological directory names.
17654
17655 2009-04-25  Eric Blake  <ebb9@byu.net>
17656
17657         vc-list-files: fix shell quoting error
17658         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
17659         timestamp.
17660
17661 2009-04-25  Jim Meyering  <meyering@redhat.com>
17662
17663         vc-list-files: restore lost functionality with subdir argument
17664         * build-aux/vc-list-files: When given a non-"." sub-directory
17665         argument, substitute the $dir/ prefix back onto each resulting name.
17666         Otherwise, coreutils' root_tests check would fail.
17667
17668 2009-04-24  Eric Blake  <ebb9@byu.net>
17669
17670         vc-list-files: ignore git symlinks
17671         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
17672         than ls-files, to ignore git symlinks.
17673
17674         maint.mk: import improvements from m4
17675         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
17676         (move_if_change): Delete unused macro.
17677         (news-date-check, vc-diff-check): Support VPATH builds.
17678         (announcement): Likewise.  Split --bootstrap-tools list...
17679         (boostrap-tools): ...into separate list, which can be overridden
17680         in cfg.mk.
17681         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
17682         requiring dependency on useless-if-before-free module.
17683         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
17684         Support VPATH builds.
17685
17686 2009-04-24  Jim Meyering  <meyering@redhat.com>
17687
17688         maint.mk: remove coreutils-specific rules and variables
17689         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
17690         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
17691         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
17692
17693         maint.mk: remove obsolete rule
17694         * top/maint.mk (rel-check): Remove rule.
17695         (WGET, WGETFLAGS): Remove now-unused variables.
17696
17697 2009-04-24  Simon Josefsson  <simon@josefsson.org>
17698
17699         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
17700         consistency.
17701
17702         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
17703         '$(PATH_SEPARATOR)' instead of ':'.
17704
17705 2009-04-24  Simon Josefsson  <simon@josefsson.org>
17706
17707         * lib/getopt1.c (main): Use 'const' for static array.
17708
17709 2009-04-24  Simon Josefsson  <simon@josefsson.org>
17710
17711         * top/maint.mk: Sync with coreutils.
17712         * NEWS: Explain incompatibilities.
17713
17714 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17715             Bruno Haible  <bruno@clisp.org>
17716
17717         Fix cross-compilation results.
17718         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
17719         statement, as third argument of AC_TRY_RUN.
17720         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
17721         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
17722         Likewise.
17723         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
17724         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
17725         Likewise.
17726         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
17727         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
17728         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
17729
17730 2009-04-20  Bruno Haible  <bruno@clisp.org>
17731
17732         Avoid test failure on mingw.
17733         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
17734
17735 2009-04-20  Bruno Haible  <bruno@clisp.org>
17736
17737         Avoid compilation error on mingw.
17738         * modules/localename-tests (Depends-on): Add locale.
17739
17740 2009-04-19  Bruno Haible  <bruno@clisp.org>
17741
17742         Support for building a shared library on Windows platforms.
17743         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
17744         (main): Test the presence of UNINORM_NFC here.
17745         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
17746         (main): Test the presence of UNINORM_NFD here.
17747         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
17748         (main): Test the presence of UNINORM_NFKC here.
17749         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
17750         (main): Test the presence of UNINORM_NFKD here.
17751
17752 2009-04-19  Bruno Haible  <bruno@clisp.org>
17753
17754         Avoid a compiler warning.
17755         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
17756         Change type of variable 'sequence'.
17757
17758 2009-04-19  Bruno Haible  <bruno@clisp.org>
17759
17760         * modules/configmake (Makefile.am): When the contents of configmake.h
17761         does not change, arrange to preserve its modification time.
17762
17763 2009-04-17  Simon Josefsson  <simon@josefsson.org>
17764
17765         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
17766         gettext domain.
17767
17768 2009-04-16  Jim Meyering  <meyering@redhat.com>
17769
17770         useless-if-before-free: improve conversion code
17771         * build-aux/useless-if-before-free: Adjust code-in-comment to match
17772         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
17773
17774 2009-04-14  Bruno Haible  <bruno@clisp.org>
17775
17776         * modules/fcntl (Depends-on): Add extensions.
17777         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
17778
17779 2009-04-12  Ben Pfaff  <blp@gnu.org>
17780
17781         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
17782         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
17783
17784 2009-03-20  Ben Pfaff  <blp@gnu.org>
17785
17786         Make rename replace existing destinations on Windows.
17787         * m4/rename.m4: Add test for Mingw.
17788         * lib/rename.c: Add rename replacement that uses MoveFileEx with
17789         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
17790         * doc/posix-functions/rename.texi: Document.
17791
17792 2009-04-10  Bruno Haible  <bruno@clisp.org>
17793
17794         New include file "iconveh.h".
17795         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
17796         * lib/striconveh.h: Include it.
17797         (enum iconv_ilseq_handler): Remove definition.
17798         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
17799         striconveh.h.
17800         * lib/striconveha.c: Include striconveh.h.
17801         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
17802         * modules/striconveh (Files): Add lib/iconveh.h.
17803         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
17804         lib/striconveh.h.
17805
17806 2009-04-10  Bruno Haible  <bruno@clisp.org>
17807
17808         * lib/uniconv.h: Update comment.
17809
17810 2009-04-10  Bruno Haible  <bruno@clisp.org>
17811
17812         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
17813         always.
17814         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
17815         * lib/unistr/u16-mbtouc-aux.c: Likewise.
17816         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
17817         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
17818         "unistring-notinline.h", so that the function gets defined always.
17819         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
17820         * lib/unistr/u8-uctomb.c: Likewise.
17821         * lib/unistr/u16-mbtouc.c: Likewise.
17822         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
17823         * lib/unistr/u16-uctomb.c: Likewise.
17824         * lib/unistr/u32-mbtouc.c: Likewise.
17825         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
17826         * lib/unistr/u32-uctomb.c: Likewise.
17827
17828 2009-04-10  Bruno Haible  <bruno@clisp.org>
17829
17830         Mark 'utime' obsolete.
17831         * modules/utime (Status, Notice): New sections.
17832         Suggested by Jim Meyering.
17833
17834         Fix cross-compile guess for utime test.
17835         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
17836         autoconf.
17837         * doc/posix-functions/utime.texi: Give more precisions.
17838         Reported by Jan <ipif@ymail.com>.
17839
17840 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
17841
17842         filevercmp: correct today's change
17843         * lib/filevercmp.c: Also handle coreutils' test inputs.
17844         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
17845
17846         Fix regression in 'filevercmp' module. Thanks Sven Joachim
17847         for reporting it.
17848         * lib/filevercmp.c: Special handle for "", "." and "..".
17849         * tests/test-filevercmp.c: Enlarge the set suite.
17850
17851 2009-04-07  Jim Meyering  <meyering@redhat.com>
17852
17853         useless-if-before-free: show how to remove braced useless free, too
17854         * build-aux/useless-if-before-free: still only in a comment, though.
17855
17856 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
17857
17858         maint.mk: import changes to syntax-check macros from coreutils
17859         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
17860         Use them in the relevant macros.
17861
17862 2009-04-06  Bruno Haible  <bruno@clisp.org>
17863
17864         Fix unportable use of bit-fields.
17865         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
17866         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
17867         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
17868
17869 2009-04-06  Bruno Haible  <bruno@clisp.org>
17870
17871         Avoid test failures on AIX and OSF/1.
17872         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
17873         that malloc(0) = NULL.
17874         * tests/unicase/test-u8-tolower.c (check): Likewise.
17875         * tests/unicase/test-u8-totitle.c (check): Likewise.
17876         * tests/unicase/test-u8-toupper.c (check): Likewise.
17877         * tests/unicase/test-u16-casefold.c (check): Likewise.
17878         * tests/unicase/test-u16-tolower.c (check): Likewise.
17879         * tests/unicase/test-u16-totitle.c (check): Likewise.
17880         * tests/unicase/test-u16-toupper.c (check): Likewise.
17881         * tests/unicase/test-u32-casefold.c (check): Likewise.
17882         * tests/unicase/test-u32-tolower.c (check): Likewise.
17883         * tests/unicase/test-u32-totitle.c (check): Likewise.
17884         * tests/unicase/test-u32-toupper.c (check): Likewise.
17885         * tests/uninorm/test-u8-nfc.c (check): Likewise.
17886         * tests/uninorm/test-u8-nfd.c (check): Likewise.
17887         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
17888         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
17889         * tests/uninorm/test-u16-nfc.c (check): Likewise.
17890         * tests/uninorm/test-u16-nfd.c (check): Likewise.
17891         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
17892         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
17893         * tests/uninorm/test-u32-nfc.c (check): Likewise.
17894         * tests/uninorm/test-u32-nfd.c (check): Likewise.
17895         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
17896         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
17897
17898 2009-04-05  Bruno Haible  <bruno@clisp.org>
17899
17900         Work around an autoconf limitation.
17901         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
17902         comment line if it would be longer than 3 KB.
17903
17904 2009-04-05  Bruno Haible  <bruno@clisp.org>
17905
17906         Avoid test failure with libiconv-1.13.
17907         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
17908         of the expected test results.
17909
17910 2009-04-05  Bruno Haible  <bruno@clisp.org>
17911
17912         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
17913         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
17914         that it should be installed.
17915
17916 2009-04-05  Bruno Haible  <bruno@clisp.org>
17917
17918         * gnulib-tool: New option --copy-file.
17919         (func_usage): Document it.
17920         (func_dest_tmpfilename): Moved out of func_import.
17921         (func_add_file, func_update_file): New functions, extracted from
17922         func_import.
17923         (func_import): Update.
17924
17925 2009-04-05  Karl Berry  <karl@gnu.org>
17926
17927         * README: prominently mention gnulib-tool.
17928         Rearrange sections so getting the code is near the top.
17929
17930 2009-04-05  Bruno Haible  <bruno@clisp.org>
17931
17932         * lib/unicase.h: Mention u*_cmp2.
17933         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
17934         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
17935         * lib/unicase/ulc-casecmp.c: Likewise.
17936         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
17937         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
17938         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
17939         unistr/u8-cmp.
17940         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
17941         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
17942         unistr/u16-cmp.
17943         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
17944         unistr/u32-cmp.
17945
17946         * lib/uninorm.h: Mention u*_cmp2.
17947         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
17948         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
17949         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
17950         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
17951         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
17952         unistr/u8-cmp.
17953         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
17954         unistr/u16-cmp.
17955         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
17956         unistr/u32-cmp.
17957
17958         New module 'unistr/u32-cmp2'.
17959         * lib/unistr/u32-cmp2.c: New file.
17960         * modules/unistr/u32-cmp2: New file.
17961
17962         New module 'unistr/u16-cmp2'.
17963         * lib/unistr/u16-cmp2.c: New file.
17964         * modules/unistr/u16-cmp2: New file.
17965
17966         New module 'unistr/u8-cmp2'.
17967         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
17968         * lib/unistr/u8-cmp2.c: New file.
17969         * lib/unistr/u-cmp2.h: New file.
17970         * modules/unistr/u8-cmp2: New file.
17971
17972 2009-04-05  Bruno Haible  <bruno@clisp.org>
17973
17974         * lib/unictype.h (uc_property_is_valid): New macro.
17975         * tests/unictype/test-pr_byname.c (main): Use it.
17976
17977         * lib/unistr.h: Doc fixes.
17978         * lib/uniconv.h: Doc fixes.
17979         * lib/unictype.h: Doc fixes.
17980
17981 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
17982
17983         Port coreutils 7.2 to Solaris 8.
17984
17985         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
17986         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
17987         for Solaris 8.  This is a bit of a hack, as it means it's the
17988         caller's responsibility to add -lnsl if needed, but most likely it
17989         won't be needed since only getaddrinfo uses this and getaddrinfo
17990         isn't needed on Solaris 8.
17991
17992         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
17993         problem to Solaris 8 encountered with coreutils 7.2, which
17994         resulted in a message "fnmatch.c:292: warning: passing argument 4
17995         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
17996         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
17997
17998 2009-04-03  Simon Josefsson  <simon@josefsson.org>
17999
18000         * m4/ld-version-script.m4: Add FIXME comment.
18001
18002 2009-04-02  Simon Josefsson  <simon@josefsson.org>
18003
18004         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
18005         SOVERSION variable.
18006
18007 2009-04-02  Bruno Haible  <bruno@clisp.org>
18008
18009         * Makefile (info, html, dvi, pdf): Combine the rules.
18010         Suggested by Jim Meyering.
18011
18012 2009-04-01  Bruno Haible  <bruno@clisp.org>
18013
18014         * Makefile (info, html, dvi, pdf): New targets.
18015         Reported by Reuben Thomas <rrt@sc3d.org>.
18016
18017 2009-04-01  Bruno Haible  <bruno@clisp.org>
18018
18019         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
18020         can be put into PATH.
18021         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
18022
18023 2009-04-01  Bruno Haible  <bruno@clisp.org>
18024
18025         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
18026
18027 2009-04-01  Bruno Haible  <bruno@clisp.org>
18028
18029         Rename module 'visibility'.
18030         * modules/lib-symbol-visibility: Renamed from modules/visibility.
18031         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
18032         * doc/gnulib.texi: Update.
18033         * MODULES.html.sh (Misc): Update.
18034         * NEWS: Mention the change.
18035
18036 2009-04-01  Simon Josefsson  <simon@josefsson.org>
18037
18038         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
18039         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
18040         Eric Blake <ebb9@byu.net> for review.
18041         * MODULES.html.sh: Add lib-msvc-compat.
18042         * doc/gnulib.texi: Link to new section.
18043         * m4/ld-output-def.m4: New file.
18044         * doc/ld-output-def.texi: New file.
18045
18046 2009-04-01  Simon Josefsson  <simon@josefsson.org>
18047
18048         Rename ld-version-script to lib-symbol-versions.  Suggested by
18049         Bruno Haible <bruno@clisp.org>.
18050         * modules/ld-version-script: Renamed to lib-symbol-versions.
18051         * doc/ld-version-script.texi: Fix module name.
18052         * MODULES.html.sh: Add lib-symbol-versions.
18053
18054 2009-03-31  Simon Josefsson  <simon@josefsson.org>
18055
18056         * modules/u64-tests: New file.
18057         * tests/test-u64.c: New file.
18058
18059 2009-03-04  Simon Josefsson  <simon@josefsson.org>
18060
18061         * MODULES.html.sh: Mention u64.
18062         * modules/u64: New module.
18063         * modules/crypto/sha512: Depend on u64 module instead of providing
18064         u64.h.
18065
18066 2009-03-27  Eric Blake  <ebb9@byu.net>
18067
18068         test-strerror: make debugging EAI_SYSTEM easier
18069         * modules/getaddrinfo-tests (Depends-on): Add strerror.
18070         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
18071         failure was EAI_SYSTEM.
18072
18073 2009-03-25  Bruno Haible  <bruno@clisp.org>
18074
18075         Fix a problem with --enable-relocatable on Solaris 7.
18076         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
18077         since 2008-02-24.
18078
18079 2009-03-25  Eric Blake  <ebb9@byu.net>
18080
18081         test-sockets: avoid gcc warning
18082         * tests/test-sockets.c (main): Silence compiler warning.
18083
18084 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
18085
18086         New modules nproc, pthread, contributed by Glen Lenker.
18087
18088         * MODULES.html.sh: Add pthread, nproc.
18089         * lib/nproc.c: New file.
18090         * lib/nproc.h: New file.
18091         * lib/pthread.in.h: New file.
18092         * m4/pthread.m4: New file.
18093         * modules/nproc: New file.
18094         * modules/pthread: New file.
18095
18096 2009-03-24  Simon Josefsson  <simon@josefsson.org>
18097
18098         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
18099         New variable.
18100
18101 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
18102
18103         filevercmp: handle simple~ and numbered.~3~ backup suffixes
18104         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
18105         * tests/test-filevercmp.c: Add tests for backup suffixes.
18106
18107 2009-03-24  Simon Josefsson  <simon@josefsson.org>
18108
18109         * modules/stdlib (Depends-on): Add stdint, needed when defining
18110         struct random_data on, for example, HP-UX 10.20.  Reported by
18111         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18112
18113 2009-03-24  Simon Josefsson  <simon@josefsson.org>
18114
18115         * lib/readline.c (readline): Call fflush on stdout after printing
18116         prompt.
18117
18118 2009-03-20  Bruno Haible  <bruno@clisp.org>
18119
18120         Remove dependency from 'close' module to -lws2_32 on native Windows.
18121         * lib/close-hook.h: New file.
18122         * lib/close-hook.c: New file.
18123         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
18124         w32sock.h.
18125         (_gl_close_fd_maybe_socket): Remove function.
18126         (rpl_close): Invoke execute_all_close_hooks instead of
18127         _gl_close_fd_maybe_socket.
18128         * lib/sockets.c: Include close-hook.h, w32sock.h.
18129         (close_fd_maybe_socket): New function, essentially from lib/close.c.
18130         (close_sockets_hook): New variable.
18131         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
18132         (gl_sockets_cleanup): Unregister it.
18133         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
18134         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
18135         * modules/close-hook: New file.
18136         * modules/close (Files): Remove lib/w32sock.h.
18137         (Depends-on): Add close-hook.
18138         (Link): Remove section.
18139         * modules/sockets (Files): Add lib/w32sock.h.
18140         (Depends-on): Add close-hook.
18141         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
18142         invocation.
18143         * NEWS: Mention that LIB_CLOSE is gone.
18144
18145 2009-03-23  Eric Blake  <ebb9@byu.net>
18146
18147         signal-tests: test previous patch
18148         * tests/test-signal.c: New file.
18149         * modules/signal-tests: Likewise.
18150
18151         signal.h: always support 'volatile sig_atomic_t'
18152         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
18153         (gl_SIGNAL_H_DEFAULTS): Add a default.
18154         * modules/signal (Makefile.am): Substitute if needed.
18155         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
18156         users can blindly add volatile.
18157         * doc/posix-headers/signal.texi (signal.h): Document it.
18158         Reported by Matthew Woehlke.
18159
18160 2009-03-23  Jim Meyering  <meyering@redhat.com>
18161
18162         pathmax: PATH_MAX: use pathconf only when available
18163         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
18164         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
18165         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
18166         This avoids a link failure in a PSP cross-compilation environment
18167         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
18168
18169         * lib/vasnprintf.c (divide): Fix typo in comment.
18170
18171 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18172
18173         * gnulib-tool (func_filter_filelist): Fix comment.
18174
18175 2009-03-20  Bruno Haible  <bruno@clisp.org>
18176
18177         Make sockets.h self-contained.
18178         * lib/sockets.c: Include sockets.h first.
18179         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
18180
18181 2009-03-19  Eric Blake  <ebb9@byu.net>
18182
18183         doc: mention more functions added in cygwin 1.7.0
18184         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
18185         addition.
18186         * doc/posix-functions/log2f.texi: Likewise.
18187
18188 2009-03-19  Jim Meyering  <meyering@redhat.com>
18189
18190         fsusage: avoid syntax error due to statement-before-declaration
18191         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
18192         after all declarations.  Reported by Matthew Woehlke in
18193         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
18194
18195 2009-03-18  Eric Blake  <ebb9@byu.net>
18196
18197         build-aux/compile: sync from automake
18198         * build-aux/compile: New file, from automake.
18199         * config/srclist.txt: Mention build-aux/compile.
18200
18201 2009-03-17  Bruno Haible  <bruno@clisp.org>
18202
18203         * lib/git-merge-changelog.c: Fix typo in comment.
18204         Reported by Reuben Thomas <rrt@sc3d.org>.
18205
18206 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
18207
18208         * m4/regex.m4: update and improve help for
18209         --without-included-regex.
18210
18211 2009-03-17  Simon Josefsson  <simon@josefsson.org>
18212
18213         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
18214         failure on missing include files.
18215
18216 2009-03-17  Eric Blake  <ebb9@byu.net>
18217
18218         doc: mention more functions added in cygwin 1.7.0
18219         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
18220         addition.
18221         * doc/posix-functions/fwscanf.texi: Likewise.
18222         * doc/posix-functions/swprintf.texi: Likewise.
18223         * doc/posix-functions/swscanf.texi: Likewise.
18224         * doc/posix-functions/vfwprintf.texi: Likewise.
18225         * doc/posix-functions/vfwscanf.texi: Likewise.
18226         * doc/posix-functions/vswprintf.texi: Likewise.
18227         * doc/posix-functions/vswscanf.texi: Likewise.
18228         * doc/posix-functions/vwprintf.texi: Likewise.
18229         * doc/posix-functions/vwscanf.texi: Likewise.
18230         * doc/posix-functions/wcscasecmp.texi: Likewise.
18231         * doc/posix-functions/wcsdup.texi: Likewise.
18232         * doc/posix-functions/wcsftime.texi: Likewise.
18233         * doc/posix-functions/wcsncasecmp.texi: Likewise.
18234         * doc/posix-functions/wprintf.texi: Likewise.
18235         * doc/posix-functions/wscanf.texi: Likewise.
18236         * doc/glibc-functions/gethostbyname2.texi: Likewise.
18237
18238 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18239
18240         maint.mk: really add $(AM_MAKEFLAGS)
18241         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
18242         was inadvertently omitted in the last commit.
18243         Spotted by Bruno Haible.
18244
18245         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
18246         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
18247         $(AM_MAKEFLAGS)' rather than plain `make'.
18248
18249         gnulib-tool: execute $MAKE not make
18250         * gnulib-tool: Default $MAKE to 'make'.
18251         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
18252         than make.  Initialize $MAKE in the do-autobuild script.
18253
18254         gnulib-tool: use $MAKE not make in generated files
18255         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
18256         make, in generated files.  Initialize $MAKE in the do-autobuild
18257         script.
18258
18259         * top/GNUmakefile (_have-git-version-gen): Fix typo.
18260
18261         GNUmakefile: disable parallelism only for multiple, recursive targets
18262         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
18263         additions in the Makefile.
18264         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
18265         by Automake.
18266         (.NOTPARALLEL): Only disable parallel builds if multiple targets
18267         are listed on the command line and at least one of them is
18268         listed in $(ALL_RECURSIVE_TARGETS).
18269
18270 2009-03-14  Bruno Haible  <bruno@clisp.org>
18271
18272         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
18273         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
18274         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
18275         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
18276         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
18277         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
18278         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
18279         unistr/u8-uctomb.
18280         * modules/unistr/u8-strchr (Depends-on): Likewise.
18281         * modules/unistr/u8-strrchr (Depends-on): Likewise.
18282         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
18283         unistr/u16-uctomb.
18284         * modules/unistr/u16-strchr (Depends-on): Likewise.
18285         * modules/unistr/u16-strrchr (Depends-on): Likewise.
18286
18287 2009-03-12  Bruno Haible  <bruno@clisp.org>
18288
18289         Work around select() bug on Interix 3.5.
18290         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
18291         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
18292         * m4/select.m4: New file.
18293         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
18294         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
18295         * modules/select (Files): Add m4/select.m4.
18296         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
18297         * modules/nanosleep (Depends-on): Add select.
18298         * modules/poll (Depends-on): Likewise.
18299         * doc/posix-functions/select.texi: Mention the Interix bug.
18300         Reported by Markus Duft <mduft@gentoo.org>.
18301
18302         * lib/select.c: Renamed from lib/winsock-select.c.
18303         * modules/select (Files): Add lib/select.c, remove
18304         lib/winsock-select.c.
18305         (configure.ac): Update.
18306
18307 2009-03-12  Jim Meyering  <meyering@redhat.com>
18308
18309         avoid gcc warnings about unused macro definitions
18310         * lib/readtokens.c (STREQ): Remove unused definition.
18311         * lib/xmalloc.c (SIZE_MAX): Likewise.
18312         * lib/openat-die.c (N_): Likewise.
18313         * lib/mountlist.c (SIZE_MAX): Remove definition.
18314         Instead, include <stdint.h>.
18315         * lib/readutmp.c: Likewise.
18316         * modules/readutmp (Depends-on): Add stdint.
18317         * modules/mountlist (Depends-on): Add stdint.
18318         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
18319
18320 2009-03-10  Bruno Haible  <bruno@clisp.org>
18321
18322         Tests for module 'mbmemcasecoll'.
18323         * modules/mbmemcasecoll-tests: New file.
18324         * tests/test-mbmemcasecoll1.sh: New file.
18325         * tests/test-mbmemcasecoll2.sh: New file.
18326         * tests/test-mbmemcasecoll3.sh: New file.
18327         * tests/test-mbmemcasecoll.c: New file.
18328
18329         New module 'mbmemcasecoll'.
18330         * lib/mbmemcasecoll.h: New file.
18331         * lib/mbmemcasecoll.c: New file.
18332         * modules/mbmemcasecoll: New file.
18333
18334         * tests/test-mbmemcasecmp.h: New file, extracted from
18335         tests/test-mbmemcasecmp.c.
18336         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
18337         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
18338         (main): Update.
18339         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
18340
18341 2009-03-09  Bruno Haible  <bruno@clisp.org>
18342
18343         Tests for module 'mbmemcasecmp'.
18344         * modules/mbmemcasecmp-tests: New file.
18345         * tests/test-mbmemcasecmp1.sh: New file.
18346         * tests/test-mbmemcasecmp2.sh: New file.
18347         * tests/test-mbmemcasecmp3.sh: New file.
18348         * tests/test-mbmemcasecmp.c: New file.
18349
18350         New module 'mbmemcasecmp'.
18351         * lib/mbmemcasecmp.h: New file.
18352         * lib/mbmemcasecmp.c: New file.
18353         * modules/mbmemcasecmp: New file.
18354
18355 2009-03-09  Bruno Haible  <bruno@clisp.org>
18356
18357         Tests for module 'unicase/ulc-casecoll'.
18358         * modules/unicase/ulc-casecoll-tests: New file.
18359         * tests/unicase/test-ulc-casecoll1.sh: New file.
18360         * tests/unicase/test-ulc-casecoll2.sh: New file.
18361         * tests/unicase/test-ulc-casecoll.c: New file.
18362
18363         New module 'unicase/ulc-casecoll'.
18364         * lib/unicase.h (ulc_casecoll): New declaration.
18365         * lib/unicase/ulc-casecoll.c: New file.
18366         * modules/unicase/ulc-casecoll: New file.
18367
18368         New module 'unicase/ulc-casexfrm'.
18369         * lib/unicase.h (ulc_casexfrm): New declaration.
18370         * lib/unicase/ulc-casexfrm.c: New file.
18371         * modules/unicase/ulc-casexfrm: New file.
18372
18373 2009-03-09  Bruno Haible  <bruno@clisp.org>
18374
18375         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
18376         invocations.
18377
18378         * m4/mbscasecmp.m4: Remove file.
18379         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
18380         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
18381
18382         * m4/mbscasestr.m4: Remove file.
18383         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
18384         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
18385
18386         * m4/mbschr.m4: Remove file.
18387         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
18388         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
18389
18390         * m4/mbscspn.m4: Remove file.
18391         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
18392         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
18393
18394         * m4/mbslen.m4: Remove file.
18395         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
18396         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
18397
18398         * m4/mbsncasecmp.m4: Remove file.
18399         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
18400         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
18401
18402         * m4/mbsnlen.m4: Remove file.
18403         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
18404         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
18405
18406         * m4/mbspbrk.m4: Remove file.
18407         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
18408         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
18409
18410         * m4/mbspcasecmp.m4: Remove file.
18411         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
18412         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
18413
18414         * m4/mbsrchr.m4: Remove file.
18415         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
18416         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
18417
18418         * m4/mbssep.m4: Remove file.
18419         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
18420         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
18421
18422         * m4/mbsspn.m4: Remove file.
18423         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
18424         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
18425
18426         * m4/mbsstr.m4: Remove file.
18427         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
18428         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
18429
18430         * m4/mbstok_r.m4: Remove file.
18431         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
18432         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
18433
18434         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
18435
18436         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
18437         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
18438
18439         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
18440
18441 2009-03-08  Bruno Haible  <bruno@clisp.org>
18442
18443         Tests for module 'unicase/ulc-casecmp'.
18444         * modules/unicase/ulc-casecmp-tests: New file.
18445         * tests/unicase/test-ulc-casecmp1.sh: New file.
18446         * tests/unicase/test-ulc-casecmp2.sh: New file.
18447         * tests/unicase/test-ulc-casecmp.c: New file.
18448
18449         New module 'unicase/ulc-casecmp'.
18450         * lib/unicase.h (ulc_casecmp): New declaration.
18451         * lib/unicase/ulc-casecmp.c: New file.
18452         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
18453         'const SRC_UNIT *'.
18454         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
18455         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
18456         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
18457         * modules/unicase/ulc-casecmp: New file.
18458
18459         Tests for module 'unicase/u32-is-cased'.
18460         * modules/unicase/u32-is-cased-tests: New file.
18461         * tests/unicase/test-u32-is-cased.c: New file.
18462
18463         Tests for module 'unicase/u16-is-cased'.
18464         * modules/unicase/u16-is-cased-tests: New file.
18465         * tests/unicase/test-u16-is-cased.c: New file.
18466
18467         Tests for module 'unicase/u8-is-cased'.
18468         * modules/unicase/u8-is-cased-tests: New file.
18469         * tests/unicase/test-u8-is-cased.c: New file.
18470         * tests/unicase/test-is-cased.h: New file.
18471
18472         New module 'unicase/u32-is-cased'.
18473         * lib/unicase/u32-is-cased.c: New file.
18474         * modules/unicase/u32-is-cased: New file.
18475
18476         New module 'unicase/u16-is-cased'.
18477         * lib/unicase/u16-is-cased.c: New file.
18478         * modules/unicase/u16-is-cased: New file.
18479
18480         New module 'unicase/u8-is-cased'.
18481         * lib/unicase/u8-is-cased.c: New file.
18482         * lib/unicase/u-is-cased.h: New file.
18483         * modules/unicase/u8-is-cased: New file.
18484
18485         Tests for module 'unicase/u32-is-casefolded'.
18486         * modules/unicase/u32-is-casefolded-tests: New file.
18487         * tests/unicase/test-u32-is-casefolded.c: New file.
18488
18489         Tests for module 'unicase/u16-is-casefolded'.
18490         * modules/unicase/u16-is-casefolded-tests: New file.
18491         * tests/unicase/test-u16-is-casefolded.c: New file.
18492
18493         Tests for module 'unicase/u8-is-casefolded'.
18494         * modules/unicase/u8-is-casefolded-tests: New file.
18495         * tests/unicase/test-u8-is-casefolded.c: New file.
18496         * tests/unicase/test-is-casefolded.h: New file.
18497
18498         New module 'unicase/u32-is-casefolded'.
18499         * lib/unicase/u32-is-casefolded.c: New file.
18500         * modules/unicase/u32-is-casefolded: New file.
18501
18502         New module 'unicase/u16-is-casefolded'.
18503         * lib/unicase/u16-is-casefolded.c: New file.
18504         * modules/unicase/u16-is-casefolded: New file.
18505
18506         New module 'unicase/u8-is-casefolded'.
18507         * lib/unicase/u8-is-casefolded.c: New file.
18508         * modules/unicase/u8-is-casefolded: New file.
18509
18510         Tests for module 'unicase/u32-is-titlecase'.
18511         * modules/unicase/u32-is-titlecase-tests: New file.
18512         * tests/unicase/test-u32-is-titlecase.c: New file.
18513
18514         Tests for module 'unicase/u16-is-titlecase'.
18515         * modules/unicase/u16-is-titlecase-tests: New file.
18516         * tests/unicase/test-u16-is-titlecase.c: New file.
18517
18518         Tests for module 'unicase/u8-is-titlecase'.
18519         * modules/unicase/u8-is-titlecase-tests: New file.
18520         * tests/unicase/test-u8-is-titlecase.c: New file.
18521         * tests/unicase/test-is-titlecase.h: New file.
18522
18523         New module 'unicase/u32-is-titlecase'.
18524         * lib/unicase/u32-is-titlecase.c: New file.
18525         * modules/unicase/u32-is-titlecase: New file.
18526
18527         New module 'unicase/u16-is-titlecase'.
18528         * lib/unicase/u16-is-titlecase.c: New file.
18529         * modules/unicase/u16-is-titlecase: New file.
18530
18531         New module 'unicase/u8-is-titlecase'.
18532         * lib/unicase/u8-is-titlecase.c: New file.
18533         * modules/unicase/u8-is-titlecase: New file.
18534
18535         Tests for module 'unicase/u32-is-lowercase'.
18536         * modules/unicase/u32-is-lowercase-tests: New file.
18537         * tests/unicase/test-u32-is-lowercase.c: New file.
18538
18539         Tests for module 'unicase/u16-is-lowercase'.
18540         * modules/unicase/u16-is-lowercase-tests: New file.
18541         * tests/unicase/test-u16-is-lowercase.c: New file.
18542
18543         Tests for module 'unicase/u8-is-lowercase'.
18544         * modules/unicase/u8-is-lowercase-tests: New file.
18545         * tests/unicase/test-u8-is-lowercase.c: New file.
18546         * tests/unicase/test-is-lowercase.h: New file.
18547
18548         New module 'unicase/u32-is-lowercase'.
18549         * lib/unicase/u32-is-lowercase.c: New file.
18550         * modules/unicase/u32-is-lowercase: New file.
18551
18552         New module 'unicase/u16-is-lowercase'.
18553         * lib/unicase/u16-is-lowercase.c: New file.
18554         * modules/unicase/u16-is-lowercase: New file.
18555
18556         New module 'unicase/u8-is-lowercase'.
18557         * lib/unicase/u8-is-lowercase.c: New file.
18558         * modules/unicase/u8-is-lowercase: New file.
18559
18560         Tests for module 'unicase/u32-is-uppercase'.
18561         * modules/unicase/u32-is-uppercase-tests: New file.
18562         * tests/unicase/test-u32-is-uppercase.c: New file.
18563
18564         Tests for module 'unicase/u16-is-uppercase'.
18565         * modules/unicase/u16-is-uppercase-tests: New file.
18566         * tests/unicase/test-u16-is-uppercase.c: New file.
18567
18568         Tests for module 'unicase/u8-is-uppercase'.
18569         * modules/unicase/u8-is-uppercase-tests: New file.
18570         * tests/unicase/test-u8-is-uppercase.c: New file.
18571         * tests/unicase/test-is-uppercase.h: New file.
18572
18573         New module 'unicase/u32-is-uppercase'.
18574         * lib/unicase/u32-is-uppercase.c: New file.
18575         * modules/unicase/u32-is-uppercase: New file.
18576
18577         New module 'unicase/u16-is-uppercase'.
18578         * lib/unicase/u16-is-uppercase.c: New file.
18579         * modules/unicase/u16-is-uppercase: New file.
18580
18581         New module 'unicase/u8-is-uppercase'.
18582         * lib/unicase/u8-is-uppercase.c: New file.
18583         * modules/unicase/u8-is-uppercase: New file.
18584
18585         New module 'unicase/u32-is-invariant'.
18586         * lib/unicase/u32-is-invariant.c: New file.
18587         * modules/unicase/u32-is-invariant: New file.
18588
18589         New module 'unicase/u16-is-invariant'.
18590         * lib/unicase/u16-is-invariant.c: New file.
18591         * modules/unicase/u16-is-invariant: New file.
18592
18593         New module 'unicase/u8-is-invariant'.
18594         * lib/unicase/u8-is-invariant.c: New file.
18595         * lib/unicase/invariant.h: New file.
18596         * lib/unicase/u-is-invariant.h: New file.
18597         * modules/unicase/u8-is-invariant: New file.
18598
18599         Tests for module 'unicase/u32-casecoll'.
18600         * modules/unicase/u32-casecoll-tests: New file.
18601         * tests/unicase/test-u32-casecoll.c: New file.
18602
18603         Tests for module 'unicase/u16-casecoll'.
18604         * modules/unicase/u16-casecoll-tests: New file.
18605         * tests/unicase/test-u16-casecoll.c: New file.
18606
18607         Tests for module 'unicase/u8-casecoll'.
18608         * modules/unicase/u8-casecoll-tests: New file.
18609         * tests/unicase/test-u8-casecoll.c: New file.
18610
18611         New module 'unicase/u32-casecoll'.
18612         * lib/unicase/u32-casecoll.c: New file.
18613         * modules/unicase/u32-casecoll: New file.
18614
18615         New module 'unicase/u16-casecoll'.
18616         * lib/unicase/u16-casecoll.c: New file.
18617         * modules/unicase/u16-casecoll: New file.
18618
18619         New module 'unicase/u8-casecoll'.
18620         * lib/unicase/u8-casecoll.c: New file.
18621         * lib/unicase/u-casecoll.h: New file.
18622         * modules/unicase/u8-casecoll: New file.
18623
18624         New module 'unicase/u32-casexfrm'.
18625         * lib/unicase/u32-casexfrm.c: New file.
18626         * modules/unicase/u32-casexfrm: New file.
18627
18628         New module 'unicase/u16-casexfrm'.
18629         * lib/unicase/u16-casexfrm.c: New file.
18630         * modules/unicase/u16-casexfrm: New file.
18631
18632         New module 'unicase/u8-casexfrm'.
18633         * lib/unicase/u8-casexfrm.c: New file.
18634         * lib/unicase/u-casexfrm.h: New file.
18635         * modules/unicase/u8-casexfrm: New file.
18636
18637         Tests for module 'unicase/u32-casecmp'.
18638         * modules/unicase/u32-casecmp-tests: New file.
18639         * tests/unicase/test-u32-casecmp.c: New file.
18640
18641         Tests for module 'unicase/u16-casecmp'.
18642         * modules/unicase/u16-casecmp-tests: New file.
18643         * tests/unicase/test-u16-casecmp.c: New file.
18644
18645         Tests for module 'unicase/u8-casecmp'.
18646         * modules/unicase/u8-casecmp-tests: New file.
18647         * tests/unicase/test-u8-casecmp.c: New file.
18648         * tests/unicase/test-casecmp.h: New file.
18649
18650         New module 'unicase/u32-casecmp'.
18651         * lib/unicase/u32-casecmp.c: New file.
18652         * modules/unicase/u32-casecmp: New file.
18653
18654         New module 'unicase/u16-casecmp'.
18655         * lib/unicase/u16-casecmp.c: New file.
18656         * modules/unicase/u16-casecmp: New file.
18657
18658         New module 'unicase/u8-casecmp'.
18659         * lib/unicase/u8-casecmp.c: New file.
18660         * lib/unicase/u-casecmp.h: New file.
18661         * modules/unicase/u8-casecmp: New file.
18662
18663         Tests for module 'unicase/u32-casefold'.
18664         * modules/unicase/u32-casefold-tests: New file.
18665         * tests/unicase/test-u32-casefold.c: New file.
18666
18667         Tests for module 'unicase/u16-casefold'.
18668         * modules/unicase/u16-casefold-tests: New file.
18669         * tests/unicase/test-u16-casefold.c: New file.
18670
18671         Tests for module 'unicase/u8-casefold'.
18672         * modules/unicase/u8-casefold-tests: New file.
18673         * tests/unicase/test-u8-casefold.c: New file.
18674
18675         New module 'unicase/u32-casefold'.
18676         * lib/unicase/u32-casefold.c: New file.
18677         * modules/unicase/u32-casefold: New file.
18678
18679         New module 'unicase/u16-casefold'.
18680         * lib/unicase/u16-casefold.c: New file.
18681         * modules/unicase/u16-casefold: New file.
18682
18683         New module 'unicase/u8-casefold'.
18684         * lib/unicase/u8-casefold.c: New file.
18685         * lib/unicase/u-casefold.h: New file.
18686         * modules/unicase/u8-casefold: New file.
18687
18688         New module 'unicase/tocasefold'.
18689         * lib/unicase/casefold.h: New file.
18690         * lib/unicase/tocasefold.c: New file.
18691         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
18692         * modules/unicase/tocasefold: New file.
18693
18694         Tests for module 'unicase/u32-totitle'.
18695         * modules/unicase/u32-totitle-tests: New file.
18696         * tests/unicase/test-u32-totitle.c: New file.
18697
18698         Tests for module 'unicase/u16-totitle'.
18699         * modules/unicase/u16-totitle-tests: New file.
18700         * tests/unicase/test-u16-totitle.c: New file.
18701
18702         Tests for module 'unicase/u8-totitle'.
18703         * modules/unicase/u8-totitle-tests: New file.
18704         * tests/unicase/test-u8-totitle.c: New file.
18705
18706         New module 'unicase/u32-totitle'.
18707         * lib/unicase/u32-totitle.c: New file.
18708         * modules/unicase/u32-totitle: New file.
18709
18710         New module 'unicase/u16-totitle'.
18711         * lib/unicase/u16-totitle.c: New file.
18712         * modules/unicase/u16-totitle: New file.
18713
18714         New module 'unicase/u8-totitle'.
18715         * lib/unicase/u8-totitle.c: New file.
18716         * lib/unicase/u-totitle.h: New file.
18717         * modules/unicase/u8-totitle: New file.
18718
18719         Tests for module 'unicase/u32-tolower'.
18720         * modules/unicase/u32-tolower-tests: New file.
18721         * tests/unicase/test-u32-tolower.c: New file.
18722
18723         Tests for module 'unicase/u16-tolower'.
18724         * modules/unicase/u16-tolower-tests: New file.
18725         * tests/unicase/test-u16-tolower.c: New file.
18726
18727         Tests for module 'unicase/u8-tolower'.
18728         * modules/unicase/u8-tolower-tests: New file.
18729         * tests/unicase/test-u8-tolower.c: New file.
18730
18731         New module 'unicase/u32-tolower'.
18732         * lib/unicase/u32-tolower.c: New file.
18733         * modules/unicase/u32-tolower: New file.
18734
18735         New module 'unicase/u16-tolower'.
18736         * lib/unicase/u16-tolower.c: New file.
18737         * modules/unicase/u16-tolower: New file.
18738
18739         New module 'unicase/u8-tolower'.
18740         * lib/unicase/u8-tolower.c: New file.
18741         * modules/unicase/u8-tolower: New file.
18742
18743         Tests for module 'unicase/u32-toupper'.
18744         * modules/unicase/u32-toupper-tests: New file.
18745         * tests/unicase/test-u32-toupper.c: New file.
18746
18747         Tests for module 'unicase/u16-toupper'.
18748         * modules/unicase/u16-toupper-tests: New file.
18749         * tests/unicase/test-u16-toupper.c: New file.
18750
18751         Tests for module 'unicase/u8-toupper'.
18752         * modules/unicase/u8-toupper-tests: New file.
18753         * tests/unicase/test-u8-toupper.c: New file.
18754
18755         New module 'unicase/u32-toupper'.
18756         * lib/unicase/u32-toupper.c: New file.
18757         * modules/unicase/u32-toupper: New file.
18758
18759         New module 'unicase/u16-toupper'.
18760         * lib/unicase/u16-toupper.c: New file.
18761         * modules/unicase/u16-toupper: New file.
18762
18763         New module 'unicase/u8-toupper'.
18764         * lib/unicase/u8-toupper.c: New file.
18765         * modules/unicase/u8-toupper: New file.
18766
18767         New module 'unicase/u32-casemap'.
18768         * lib/unicase/u32-casemap.c: New file.
18769         * modules/unicase/u32-casemap: New file.
18770
18771         New module 'unicase/u16-casemap'.
18772         * lib/unicase/u16-casemap.c: New file.
18773         * modules/unicase/u16-casemap: New file.
18774
18775         New module 'unicase/u8-casemap'.
18776         * lib/unicase/unicasemap.h: New file.
18777         * lib/unicase/u8-casemap.c: New file.
18778         * lib/unicase/u-casemap.h: New file.
18779         * modules/unicase/u8-casemap: New file.
18780
18781         New module 'unicase/special-casing'.
18782         * lib/unicase/special-casing.h: New file.
18783         * lib/unicase/special-casing.c: New file.
18784         * lib/unicase/special-casing-table.gperf: New file, generated by
18785         gen-uni-tables.c.
18786         * modules/unicase/special-casing: New file.
18787
18788         Tests for module 'unicase/locale-language'.
18789         * modules/unicase/locale-language-tests: New file.
18790         * tests/unicase/test-locale-language.sh: New file.
18791         * tests/unicase/test-locale-language.c: New file.
18792
18793         New module 'unicase/locale-language'.
18794         * lib/unicase/locale-language.c: New file.
18795         * lib/unicase/locale-languages.gperf: New file.
18796         * modules/unicase/locale-language: New file.
18797
18798         Generate more tables for case conversion and case folding.
18799         * lib/gen-uni-tables.c (SCC_*): New enum items.
18800         (struct special_casing_rule): New type.
18801         (casing_rules, num_casing_rules, allocated_casing_rules): New
18802         variables.
18803         (add_casing_rule, fill_casing_rules): New functions.
18804         (struct casefold_rule): New type.
18805         (casefolding_rules, num_casefolding_rules,
18806         allocated_casefolding_rules): New variables.
18807         (fill_casefolding_rules): New function.
18808         (unicode_casefold): New variable.
18809         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
18810         sort_casing_rules, output_casing_rules): New functions.
18811         (main): Accept to more arguments: SpecialCasing.txt and
18812         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
18813         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
18814         Output mapping for casefolding.
18815
18816         * lib/unicase.h: Include stdbool.h, uninorm.h.
18817         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
18818         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
18819         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
18820         arguments.
18821         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
18822         resultp arguments.
18823         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
18824         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
18825         resultp arguments.
18826         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
18827         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
18828         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
18829         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
18830         declarations.
18831         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
18832
18833 2009-03-08  Bruno Haible  <bruno@clisp.org>
18834
18835         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
18836         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
18837         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
18838         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
18839
18840 2009-03-07  Bruno Haible  <bruno@clisp.org>
18841
18842         Adjust u*_normcmp, u*_normcoll API.
18843         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
18844         u16_normcoll, u32_normcoll): Change failure conventions.
18845         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
18846         errno and return -1.
18847         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
18848
18849 2009-03-07  Bruno Haible  <bruno@clisp.org>
18850
18851         Tests for module 'uninorm/u32-normcoll'.
18852         * modules/uninorm/u32-normcoll-tests: New file.
18853         * tests/uninorm/test-u32-normcoll.c: New file.
18854
18855         Tests for module 'uninorm/u16-normcoll'.
18856         * modules/uninorm/u16-normcoll-tests: New file.
18857         * tests/uninorm/test-u16-normcoll.c: New file.
18858
18859         Tests for module 'uninorm/u8-normcoll'.
18860         * modules/uninorm/u8-normcoll-tests: New file.
18861         * tests/uninorm/test-u8-normcoll.c: New file.
18862
18863 2009-03-07  Bruno Haible  <bruno@clisp.org>
18864
18865         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
18866         tests/uninorm/test-u32-normcmp.c.
18867         * tests/uninorm/test-u32-normcmp.c: Include it.
18868         (test_nonascii): New function, extracted from main. Add some more
18869         tests.
18870         (main): Invoke test_ascii and test_nonascii.
18871         * modules/uninorm/u32-normcmp-tests (Files): Add
18872         tests/uninorm/test-u32-normcmp.h.
18873         (Depends-on): Remove uninorm/u32-normcmp.
18874
18875         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
18876         tests/uninorm/test-u16-normcmp.c.
18877         * tests/uninorm/test-u16-normcmp.c: Include it.
18878         (test_nonascii): New function, extracted from main. Add some more
18879         tests.
18880         (main): Invoke test_ascii and test_nonascii.
18881         * modules/uninorm/u16-normcmp-tests (Files): Add
18882         tests/uninorm/test-u16-normcmp.h.
18883         (Depends-on): Remove uninorm/u16-normcmp.
18884
18885         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
18886         tests/uninorm/test-u8-normcmp.c.
18887         * tests/uninorm/test-u8-normcmp.c: Include it.
18888         (test_nonascii): New function, extracted from main. Add some more
18889         tests.
18890         (main): Invoke test_ascii and test_nonascii.
18891         * modules/uninorm/u8-normcmp-tests (Files): Add
18892         tests/uninorm/test-u8-normcmp.h.
18893         (Depends-on): Remove uninorm/u8-normcmp.
18894
18895 2009-03-07  Bruno Haible  <bruno@clisp.org>
18896
18897         New module 'uninorm/u32-normcoll'.
18898         * lib/uninorm/u32-normcoll.c: New file.
18899         * modules/uninorm/u32-normcoll: New file.
18900
18901         New module 'uninorm/u16-normcoll'.
18902         * lib/uninorm/u16-normcoll.c: New file.
18903         * modules/uninorm/u16-normcoll: New file.
18904
18905         New module 'uninorm/u8-normcoll'.
18906         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
18907         declarations.
18908         * lib/uninorm/u8-normcoll.c: New file.
18909         * lib/uninorm/u-normcoll.h: New file.
18910         * modules/uninorm/u8-normcoll: New file.
18911
18912         New module 'uninorm/u32-normxfrm'.
18913         * lib/uninorm/u32-normxfrm.c: New file.
18914         * modules/uninorm/u32-normxfrm: New file.
18915
18916         New module 'uninorm/u16-normxfrm'.
18917         * lib/uninorm/u16-normxfrm.c: New file.
18918         * modules/uninorm/u16-normxfrm: New file.
18919
18920         New module 'uninorm/u8-normxfrm'.
18921         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
18922         declarations.
18923         * lib/uninorm/u8-normxfrm.c: New file.
18924         * lib/uninorm/u-normxfrm.h: New file.
18925         * modules/uninorm/u8-normxfrm: New file.
18926
18927 2009-03-07  Bruno Haible  <bruno@clisp.org>
18928
18929         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
18930         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
18931         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
18932
18933 2009-03-07  Bruno Haible  <bruno@clisp.org>
18934
18935         New module 'memxfrm'.
18936         * lib/memxfrm.h: New file.
18937         * lib/memxfrm.c: New file.
18938         * modules/memxfrm: New file.
18939
18940 2009-03-07  Bruno Haible  <bruno@clisp.org>
18941
18942         New module 'memcmp2'.
18943         * lib/memcmp2.h: New file.
18944         * lib/memcmp2.c: New file.
18945         * modules/memcmp2: New file.
18946
18947 2009-03-07  Bruno Haible  <bruno@clisp.org>
18948
18949         Tests for module 'uninorm/decomposing-form'.
18950         * modules/uninorm/decomposing-form-tests: New file.
18951         * tests/uninorm/test-decomposing-form.c: New file.
18952
18953         New module 'uninorm/decomposing-form'.
18954         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
18955         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
18956         Add 'decomposing_variant' field.
18957         * lib/uninorm/decomposing-form.c: New file.
18958         * lib/uninorm/nfc.c (uninorm_nfc): Update.
18959         * lib/uninorm/nfd.c (uninorm_nfd): Update.
18960         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
18961         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
18962         * modules/uninorm/decomposing-form: New file.
18963         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
18964         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
18965
18966 2009-03-07  Bruno Haible  <bruno@clisp.org>
18967
18968         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
18969         strings.
18970
18971 2009-03-06  Bruno Haible  <bruno@clisp.org>
18972
18973         Tests for module 'uninorm/u32-normcmp'.
18974         * tests/uninorm/test-u32-normcmp.c: New file.
18975         * modules/uninorm/u32-normcmp-tests: New file.
18976
18977         Tests for module 'uninorm/u16-normcmp'.
18978         * tests/uninorm/test-u16-normcmp.c: New file.
18979         * modules/uninorm/u16-normcmp-tests: New file.
18980
18981         Tests for module 'uninorm/u8-normcmp'.
18982         * tests/uninorm/test-u8-normcmp.c: New file.
18983         * modules/uninorm/u8-normcmp-tests: New file.
18984
18985         New module 'uninorm/u32-normcmp'.
18986         * lib/uninorm/u32-normcmp.c: New file.
18987         * modules/uninorm/u32-normcmp: New file.
18988
18989         New module 'uninorm/u16-normcmp'.
18990         * lib/uninorm/u16-normcmp.c: New file.
18991         * modules/uninorm/u16-normcmp: New file.
18992
18993         New module 'uninorm/u8-normcmp'.
18994         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
18995         declarations.
18996         * lib/uninorm/u8-normcmp.c: New file.
18997         * lib/uninorm/u-normcmp.h: New file.
18998         * modules/uninorm/u8-normcmp: New file.
18999
19000 2009-03-06  Bruno Haible  <bruno@clisp.org>
19001
19002         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
19003         Reported by Eric Blake.
19004
19005 2009-03-06  Eric Blake  <ebb9@byu.net>
19006             Bruno Haible  <bruno@clisp.org>
19007
19008         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
19009         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
19010         condition.
19011         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
19012         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
19013         condition.
19014         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
19015
19016 2009-03-06  Eric Blake  <ebb9@byu.net>
19017
19018         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
19019         to avoid compiler warnings.
19020         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
19021
19022 2009-03-05  Bruno Haible  <bruno@clisp.org>
19023
19024         * tests/test-ftell.c (main): Disable test beyond end of file on
19025         FreeMiNT.
19026         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
19027
19028 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
19029
19030         * lib/filevercmp.c: Move hidden files up in ordering.
19031         * tests/test-filevercmp.c: Add tests for hidden files.
19032
19033 2009-03-04  Bruno Haible  <bruno@clisp.org>
19034
19035         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
19036         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
19037         AM_CFLAGS.
19038         Reported by Simon Josefsson.
19039
19040 2009-03-03  Bruno Haible  <bruno@clisp.org>
19041
19042         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
19043         Reported by Simon Josefsson.
19044
19045         * doc/ld-version-script.texi: Update node reference.
19046
19047 2009-03-03  Bruno Haible  <bruno@clisp.org>
19048
19049         * modules/visibility (License): Change to 'unlimited'.
19050         Suggested by Simon Josefsson.
19051
19052 2009-03-03  Jim Meyering  <meyering@redhat.com>
19053
19054         unlinkdir: cannot_unlink_dir may modify process state
19055         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
19056         it's neither thread-safe nor appropriate for use in a library.
19057
19058 2009-03-03  Eric Blake  <ebb9@byu.net>
19059
19060         test-closein: silence test under Darwin
19061         * tests/test-closein.sh: Ignore stderr from cat, since we don't
19062         care if it dies from EPIPE or EBADF.
19063
19064 2009-03-03  Bruno Haible  <bruno@clisp.org>
19065
19066         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
19067         earlier.
19068         * doc/visibility.texi: Fix @node and @section.
19069
19070 2009-03-03  Simon Josefsson  <simon@josefsson.org>
19071
19072         * doc/gnulib.texi: Link to sections for ld version script and
19073         visibility.
19074         * doc/visibility.texi: Add @node and @section.
19075         * modules/ld-version-script: New module.
19076         * m4/ld-version-script.m4: New file.
19077         * doc/ld-version-script.texi: New file.
19078
19079 2009-03-02  David Lutterkort  <lutter@redhat.com>
19080
19081         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
19082         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19083
19084 2009-03-02  Bruno Haible  <bruno@clisp.org>
19085
19086         * doc/visibility.texi: Mention libtool's -export-symbols option.
19087
19088 2009-03-02  Jim Meyering  <meyering@redhat.com>
19089
19090         announce-gen: new option: --no-print-checksums
19091         * build-aux/announce-gen (usage): Describe it.
19092         (print_checksums): Print a newline here, not in the [*] footnote.
19093         (main): Honor it.
19094
19095 2009-03-01  Bruno Haible  <bruno@clisp.org>
19096
19097         Use socklen_t in the native Windows replacements prototypes.
19098         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
19099         instead of 'int'.
19100         * lib/getsockopt.c (rpl_getsockopt): Likewise.
19101         * lib/setsockopt.c (rpl_setsockopt): Likewise.
19102         * modules/getsockopt (Depends-on): Add socklen.
19103         * modules/setsockopt (Depends-on): Add socklen.
19104
19105 2009-03-01  Bruno Haible  <bruno@clisp.org>
19106
19107         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
19108         least 4.2.
19109
19110 2009-03-01  Eric Blake  <ebb9@byu.net>
19111             Bruno Haible  <bruno@clisp.org>
19112
19113         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
19114         error messages.
19115         * lib/wait-process.c (wait_subprocess): Omit error message about
19116         deadly signal sent to the child of termsigp != NULL.
19117
19118 2009-03-01  Eric Blake  <ebb9@byu.net>
19119
19120         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
19121
19122 2009-03-01  Bruno Haible  <bruno@clisp.org>
19123
19124         Avoid a gcc warning.
19125         * tests/test-sched.c (b): Make global.
19126         Reported by Eric Blake.
19127
19128 2009-01-19  Martin Lambers  <marlam@marlam.de>
19129
19130         Provide POSIX semantics for socket timeout options on W32.
19131         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
19132         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
19133         * modules/setsockopt: Depend on sys_time module for struct timeval.
19134         * modules/getsockopt: Depend on sys_time module for struct timeval.
19135
19136 2009-03-01  Simon Josefsson  <simon@josefsson.org>
19137
19138         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
19139         __USE_GNU, for consistency with netdb.in.h.
19140         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
19141
19142 2009-03-01  Bruno Haible  <bruno@clisp.org>
19143
19144         More support for FreeMiNT.
19145         * lib/fseeko.c (rpl_fseeko): Complete last commit.
19146         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
19147
19148 2009-03-01  Bruno Haible  <bruno@clisp.org>
19149
19150         More support for FreeMiNT.
19151         * lib/fpurge.c (fpurge): Correct last commit.
19152         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
19153
19154 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19155
19156         Fix unportable awk script in vc-list-files.
19157         * build-aux/vc-list-files: In the replacement awk script, use
19158         substr with a second argument of 1, not zero.
19159         Report by Simon Josefsson.
19160
19161 2009-02-28  Bruno Haible  <bruno@clisp.org>
19162
19163         More support for FreeMiNT.
19164         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
19165         to FreeMiNT today.
19166         * lib/fwriting.c (fwriting): Likewise.
19167         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
19168
19169 2009-02-28  Bruno Haible  <bruno@clisp.org>
19170
19171         * tests/test-freadseek.c (main): Disable test beyond end of file on
19172         FreeMiNT.
19173         * tests/test-ftello.c (main): Likewise.
19174         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
19175
19176 2009-02-28  Bruno Haible  <bruno@clisp.org>
19177
19178         Add tentative support for FreeMiNT.
19179         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
19180         * lib/fpurge.c (fpurge): Likewise.
19181         * lib/freadable.c (freadable): Likewise.
19182         * lib/freading.c (freading): Likewise.
19183         * lib/freadptr.c (freadptr): Likewise.
19184         * lib/freadseek.c (freadptrinc): Likewise.
19185         * lib/fseeko.c (rpl_fseeko): Likewise.
19186         * lib/fseterr.c (fseterr): Likewise.
19187         * lib/fwritable.c (fwritable): Likewise.
19188         * lib/fwriting.c (fwriting): Likewise.
19189         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
19190         Hourihane.
19191         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
19192
19193 2009-02-28  Bruno Haible  <bruno@clisp.org>
19194
19195         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
19196         SIGCHLD.
19197         Reported by Jim Meyering.
19198
19199 2009-02-28  Bruno Haible  <bruno@clisp.org>
19200
19201         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
19202         Mention the results of these tests on various platforms.
19203         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
19204         order.
19205         * doc/posix-functions/printf.texi: Likewise.
19206         * doc/posix-functions/snprintf.texi: Likewise.
19207         * doc/posix-functions/sprintf.texi: Likewise.
19208         * doc/posix-functions/vfprintf.texi: Likewise.
19209         * doc/posix-functions/vprintf.texi: Likewise.
19210         * doc/posix-functions/vsnprintf.texi: Likewise.
19211         * doc/posix-functions/vsprintf.texi: Likewise.
19212         * doc/glibc-functions/obstack_printf.texi: Likewise.
19213         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
19214
19215 2009-02-28  Bruno Haible  <bruno@clisp.org>
19216
19217         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
19218         Reported by Loïc Minier <lool@dooz.org>.
19219
19220 2009-02-27  Bruno Haible  <bruno@clisp.org>
19221
19222         * gnulib-tool (func_import): Make the sed expression used to create the
19223         sed script for updating the .gitignore file POSIX compliant.
19224         Reported by Eric Blake.
19225
19226 2009-02-27  Bruno Haible  <bruno@clisp.org>
19227
19228         * gnulib-tool (sed): Don't alias as "sed --posix".
19229         Reported by Eric Blake.
19230
19231 2009-02-27  Bruno Haible  <bruno@clisp.org>
19232
19233         Avoid test link errors.
19234         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
19235         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
19236         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
19237         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
19238         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19239
19240 2009-02-27  Bruno Haible  <bruno@clisp.org>
19241
19242         Avoid spurious "(cached)" in configure output.
19243         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
19244         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
19245         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
19246         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
19247         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
19248         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
19249         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
19250         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
19251         Reported by Eric Blake.
19252
19253 2009-02-27  Eric Blake  <ebb9@byu.net>
19254
19255         printf: fix regression in previous patch
19256         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
19257
19258 2009-02-27  Bruno Haible  <bruno@clisp.org>
19259
19260         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
19261         value.
19262         * lib/stdint.in.h: Likewise.
19263         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
19264
19265 2009-02-27  Eric Blake  <ebb9@byu.net>
19266
19267         doc: mention more functions added in cygwin 1.7.0
19268         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
19269         addition.
19270         * doc/posix-functions/open_wmemstream.texi: Likewise.
19271         * doc/posix-functions/wcsnlen.texi: Likewise.
19272         * doc/posix-functions/wcsnrtombs.texi: Likewise.
19273         * doc/posix-functions/wcstod.texi: Likewise.
19274         * doc/posix-functions/wcstof.texi: Likewise.
19275         * doc/posix-functions/wcstoimax.texi: Likewise.
19276         * doc/posix-functions/wcstok.texi: Likewise.
19277         * doc/posix-functions/wcstoumax.texi: Likewise.
19278
19279         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
19280         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
19281         * doc/posix-functions/fprintf.texi: Update.
19282         * doc/posix-functions/printf.texi: Update.
19283         * doc/posix-functions/snprintf.texi: Update.
19284         * doc/posix-functions/sprintf.texi: Update.
19285         * doc/posix-functions/vfprintf.texi: Update.
19286         * doc/posix-functions/vprintf.texi: Update.
19287         * doc/posix-functions/vsnprintf.texi: Update.
19288         * doc/posix-functions/vsprintf.texi: Update.
19289         * doc/glibc-functions/obstack_printf.texi: Update.
19290         * doc/glibc-functions/obstack_vprintf.texi: Update.
19291
19292 2009-02-26  Eric Blake  <ebb9@byu.net>
19293
19294         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
19295         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
19296         compilation bug by using runtime conversion.
19297         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
19298         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
19299         * modules/ceill-tests (Files): Use nan.h.
19300         * modules/floorl-tests (Files): Likewise.
19301         * modules/frexpl-tests (Files): Likewise.
19302         * modules/isnanl-tests (Files): Likewise.
19303         * modules/ldexpl-tests (Files): Likewise.
19304         * modules/roundl-tests (Files): Likewise.
19305         * modules/truncl-tests (Files): Likewise.
19306         * tests/test-ceill.c (main): Use a working NaN.
19307         * tests/test-floorl.c (main): Likewise.
19308         * tests/test-frexpl.c (main): Likewise.
19309         * tests/test-isnan.c (test_long_double): Likewise.
19310         * tests/test-isnanl.h (main): Likewise.
19311         * tests/test-ldexpl.h (main): Likewise.
19312         * tests/test-roundl.h (main): Likewise.
19313         * tests/test-truncl.h (main): Likewise.
19314         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
19315
19316 2009-02-26  Eric Blake  <ebb9@byu.net>
19317             Bruno Haible  <bruno@clisp.org>
19318
19319         Work around a *printf bug with %ls on Solaris.
19320         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
19321         precision is specified, sprintf stops converting the wide string
19322         argument when the number of bytes that have been produced by this
19323         conversion equals or exceeds the precision.
19324         * doc/posix-functions/fprintf.texi: Update.
19325         * doc/posix-functions/printf.texi: Update.
19326         * doc/posix-functions/snprintf.texi: Update.
19327         * doc/posix-functions/sprintf.texi: Update.
19328         * doc/posix-functions/vfprintf.texi: Update.
19329         * doc/posix-functions/vprintf.texi: Update.
19330         * doc/posix-functions/vsnprintf.texi: Update.
19331         * doc/posix-functions/vsprintf.texi: Update.
19332         * doc/glibc-functions/obstack_printf.texi: Update.
19333         * doc/glibc-functions/obstack_vprintf.texi: Update.
19334
19335 2009-02-26  Eric Blake  <ebb9@byu.net>
19336
19337         stdlib: favor compiler check of random.h
19338         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
19339         to avoid an ObjC random.h installed by Swarm.
19340
19341 2009-02-26  Bruno Haible  <bruno@clisp.org>
19342
19343         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
19344         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
19345         Reported by Gary V. Vaughan <gary@gnu.org>.
19346
19347 2009-02-26  Bruno Haible  <bruno@clisp.org>
19348
19349         Fix *printf behaviour regarding the %ls directive.
19350         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
19351         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
19352         NEED_PRINTF_DIRECTIVE_LS.
19353         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
19354         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
19355         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
19356         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
19357         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
19358         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
19359         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
19360         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
19361         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
19362         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
19363         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
19364         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
19365         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
19366         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
19367         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
19368         * doc/posix-functions/fprintf.texi: Update.
19369         * doc/posix-functions/printf.texi: Update.
19370         * doc/posix-functions/snprintf.texi: Update.
19371         * doc/posix-functions/sprintf.texi: Update.
19372         * doc/posix-functions/vfprintf.texi: Update.
19373         * doc/posix-functions/vprintf.texi: Update.
19374         * doc/posix-functions/vsnprintf.texi: Update.
19375         * doc/posix-functions/vsprintf.texi: Update.
19376         * doc/glibc-functions/obstack_printf.texi: Update.
19377         * doc/glibc-functions/obstack_vprintf.texi: Update.
19378         Reported by Eric Blake.
19379
19380 2009-02-25  Bruno Haible  <bruno@clisp.org>
19381
19382         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
19383         with known value.
19384         Reported by Gary V. Vaughan <gary@gnu.org>.
19385
19386 2009-02-25  Bruno Haible  <bruno@clisp.org>
19387
19388         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
19389         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
19390         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
19391         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
19392         Reported by Gary V. Vaughan <gary@gnu.org>.
19393
19394 2009-02-25  Bruno Haible  <bruno@clisp.org>
19395
19396         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
19397         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
19398         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
19399         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
19400         Reported by Gary V. Vaughan <gary@gnu.org>.
19401
19402 2009-02-25  Eric Blake  <ebb9@byu.net>
19403
19404         tests: skip fseek/ftell tests if ungetc is broken
19405         * m4/ungetc.m4: New file.
19406         * modules/fseek-tests: Split test, so ungetc dependency is
19407         separate from rest of test.
19408         * modules/fseeko-tests: Likewise.
19409         * modules/ftell-tests: Likewise.
19410         * modules/ftello-tests: Likewise.
19411         * tests/test-fseek.c (main): Isolate ungetc dependency.
19412         * tests/test-fseeko.c (main): Likewise.
19413         * tests/test-ftell.c (main): Likewise.
19414         * tests/test-ftello.c (main): Likewise.
19415         * tests/test-fseek2.sh: New file.
19416         * tests/test-fseeko2.sh: Likewise.
19417         * tests/test-ftell2.sh: Likewise.
19418         * tests/test-ftello2.sh: Likewise.
19419
19420 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
19421
19422         test-getaddrinfo: fix usage of skip return code 77
19423         * tests/test-gettaddrinfo.c: Return skip code 77 only
19424         for first occurance of skip (4x77 is not 77)
19425
19426 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
19427
19428         strtod: avoid C99 decl-after-statement
19429         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
19430
19431 2009-02-24  Eric Blake  <ebb9@byu.net>
19432
19433         strtod: detect HP-UX 11.31 bug
19434         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
19435         Reported by Gary V. Vaughan.
19436
19437 2009-02-23  Bruno Haible  <bruno@clisp.org>
19438
19439         Fix invalid read past end of memory block.
19440         * lib/vasnprintf.c (DCHAR_SET): Define.
19441         (local_wcslen): Define only when needed.
19442         (local_strnlen, local_wcsnlen): New functions.
19443         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
19444         directives that involve a conversion ourselves.
19445         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
19446         wcsnlen, mbrtowc, wcrtomb.
19447         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
19448         * tests/test-vasprintf-posix.c (test_function): Likewise.
19449         * tests/test-snprintf-posix.h (test_function): Likewise.
19450         * tests/test-sprintf-posix.h (test_function): Likewise.
19451         Reported by Ben Pfaff <blp@cs.stanford.edu>.
19452
19453 2009-02-22  Bruno Haible  <bruno@clisp.org>
19454
19455         Implement new clarified decomposition of Hangul syllables.
19456         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
19457         of type LTV, return only a pairwise decomposition.
19458         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
19459         Likewise.
19460         * tests/uninorm/test-decomposition.c (main): Updated expected result.
19461         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
19462         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
19463
19464 2009-02-22  Bruno Haible  <bruno@clisp.org>
19465
19466         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
19467         zero-length results and shrink excess allocated memory.
19468         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
19469         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
19470         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
19471         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
19472         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
19473         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
19474         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
19475         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
19476         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
19477         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
19478         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
19479         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
19480
19481 2009-02-21  Bruno Haible  <bruno@clisp.org>
19482
19483         * doc/gnulib.texi: Include safe-alloc.texi earlier.
19484         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
19485         spaces after a period. Put a space between a macro name and its
19486         argument list. Trivial rewordings.
19487         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
19488         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
19489         (main): Return 0 explicitly.
19490
19491 2009-02-21  Bruno Haible  <bruno@clisp.org>
19492
19493         Tests for module 'uninorm/filter'.
19494         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
19495         * modules/uninorm/filter-tests: New file.
19496
19497         New module 'uninorm/filter'.
19498         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
19499         uninorm_filter_flush, uninorm_filter_free): New declarations.
19500         * lib/uninorm/uninorm-filter.c: New file.
19501         * modules/uninorm/filter: New file.
19502
19503 2009-02-21  Bruno Haible  <bruno@clisp.org>
19504
19505         Tests for module 'uninorm/nfkc'.
19506         * tests/uninorm/test-nfkc.c: New file.
19507         * tests/uninorm/test-u8-nfkc.c: New file.
19508         * tests/uninorm/test-u16-nfkc.c: New file.
19509         * tests/uninorm/test-u32-nfkc.c: New file.
19510         * tests/uninorm/test-u32-nfkc-big.sh: New file.
19511         * tests/uninorm/test-u32-nfkc-big.c: New file.
19512         * modules/uninorm/nfkc-tests: New file.
19513
19514         New module 'uninorm/nfkc'.
19515         * lib/uninorm/nfkc.c: New file.
19516         * modules/uninorm/nfkc: New file.
19517
19518         Tests for module 'uninorm/nfkd'.
19519         * tests/uninorm/test-nfkd.c: New file.
19520         * tests/uninorm/test-u8-nfkd.c: New file.
19521         * tests/uninorm/test-u16-nfkd.c: New file.
19522         * tests/uninorm/test-u32-nfkd.c: New file.
19523         * tests/uninorm/test-u32-nfkd-big.sh: New file.
19524         * tests/uninorm/test-u32-nfkd-big.c: New file.
19525         * modules/uninorm/nfkd-tests: New file.
19526
19527         New module 'uninorm/nfkd'.
19528         * lib/uninorm/nfkd.c: New file.
19529         * modules/uninorm/nfkd: New file.
19530
19531         Tests for module 'uninorm/nfc'.
19532         * tests/uninorm/test-nfc.c: New file.
19533         * tests/uninorm/test-u8-nfc.c: New file.
19534         * tests/uninorm/test-u16-nfc.c: New file.
19535         * tests/uninorm/test-u32-nfc.c: New file.
19536         * tests/uninorm/test-u32-nfc-big.sh: New file.
19537         * tests/uninorm/test-u32-nfc-big.c: New file.
19538         * modules/uninorm/nfc-tests: New file.
19539
19540         New module 'uninorm/nfc'.
19541         * lib/uninorm/nfc.c: New file.
19542         * modules/uninorm/nfc: New file.
19543
19544         Tests for module 'uninorm/nfd'.
19545         * tests/uninorm/test-nfd.c: New file.
19546         * tests/uninorm/test-u8-nfd.c: New file.
19547         * tests/uninorm/test-u16-nfd.c: New file.
19548         * tests/uninorm/test-u32-nfd.c: New file.
19549         * tests/uninorm/test-u32-nfd-big.sh: New file.
19550         * tests/uninorm/test-u32-nfd-big.c: New file.
19551         * tests/uninorm/test-u32-normalize-big.h: New file.
19552         * tests/uninorm/test-u32-normalize-big.c: New file.
19553         * tests/uninorm/NormalizationTest.txt: New file, created from
19554         Unicode 5.1.0 NormalizationTest.txt.
19555         * modules/uninorm/nfd-tests: New file.
19556
19557         New module 'uninorm/nfd'.
19558         * lib/uninorm/nfd.c: New file.
19559         * modules/uninorm/nfd: New file.
19560
19561         New module 'uninorm/u32-normalize'.
19562         * lib/uninorm/u32-normalize.c: New file.
19563         * modules/uninorm/u32-normalize: New file.
19564
19565         New module 'uninorm/u16-normalize'.
19566         * lib/uninorm/u16-normalize.c: New file.
19567         * modules/uninorm/u16-normalize: New file.
19568
19569         New module 'uninorm/u8-normalize'.
19570         * lib/uninorm/u8-normalize.c: New file.
19571         * lib/uninorm/normalize-internal.h: New file.
19572         * lib/uninorm/u-normalize-internal.h: New file.
19573         * modules/uninorm/u8-normalize: New file.
19574
19575         New module 'uninorm/decompose-internal'.
19576         * lib/uninorm/decompose-internal.c: New file.
19577         * modules/uninorm/decompose-internal: New file.
19578
19579         Tests for module 'uninorm/composition'.
19580         * tests/uninorm/test-composition.c: New file.
19581         * modules/uninorm/composition-tests: New file.
19582
19583         New module 'uninorm/composition'.
19584         * lib/uninorm/composition.c: New file.
19585         * lib/uninorm/composition-table.gperf: New file, generated by
19586         gen-uni-tables.
19587         * modules/uninorm/composition: New file.
19588
19589         Tests for module 'uninorm/compat-decomposition'.
19590         * tests/uninorm/test-compat-decomposition.c: New file.
19591         * modules/uninorm/compat-decomposition-tests: New file.
19592
19593         New module 'uninorm/compat-decomposition'.
19594         * lib/uninorm/decompose-internal.h: New file.
19595         * lib/uninorm/compat-decomposition.c: New file.
19596         * modules/uninorm/compat-decomposition: New file.
19597
19598         Tests for module 'uninorm/canonical-decomposition'.
19599         * tests/uninorm/test-canonical-decomposition.c: New file.
19600         * modules/uninorm/canonical-decomposition-tests: New file.
19601
19602         New module 'uninorm/canonical-decomposition'.
19603         * lib/uninorm/canonical-decomposition.c: New file.
19604         * modules/uninorm/canonical-decomposition: New file.
19605
19606         Tests for module 'uninorm/decomposition'.
19607         * tests/uninorm/test-decomposition.c: New file.
19608         * modules/uninorm/decomposition-tests: New file.
19609
19610         New module 'uninorm/decomposition'.
19611         * lib/uninorm/decomposition.c: New file.
19612         * modules/uninorm/decomposition: New file.
19613
19614         New module 'uninorm/decomposition-table'.
19615         * lib/uninorm/decomposition-table.h: New file.
19616         * lib/uninorm/decomposition-table.c: New file.
19617         * lib/uninorm/decomposition-table1.h: New file, generated by
19618         gen-uni-tables.
19619         * lib/uninorm/decomposition-table2.h: New file, generated by
19620         gen-uni-tables.
19621         * modules/uninorm/decomposition-table: New file.
19622
19623         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
19624         (UC_DECOMP_*): New enumeration items.
19625         (get_decomposition): New function.
19626         (struct decomp_table): New type.
19627         (output_decomposition, output_decomposition_tables): New functions.
19628         (unicode_composition_exclusions): New variable.
19629         (fill_composition_exclusions, debug_output_composition_tables): New
19630         functions.
19631         (main): Accept one more argument. Invoke fill_composition_exclusions.
19632         Output decomposition and composition tables.
19633
19634         New module 'uninorm/base'.
19635         * lib/uninorm.h: New file.
19636         * lib/unictype.h: Update comment.
19637         * modules/uninorm/base: New file.
19638
19639 2009-02-21  David Lutterkort  <lutter@redhat.com>
19640
19641         Tests for module 'safe-alloc'.
19642         * tests/test-safe-alloc.c: New file.
19643         * modules/safe-alloc-tests: New file.
19644
19645         New module 'safe-alloc'.
19646         * lib/safe-alloc.h: New file.
19647         * lib/safe-alloc.c: New file.
19648         * m4/safe-alloc.m4: New file.
19649         * modules/safe-alloc: New file.
19650         * doc/safe-alloc.texi: New file.
19651         * doc/gnulib.texi: Include it.
19652         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
19653         safe-alloc.
19654
19655 2009-02-18  Bruno Haible  <bruno@clisp.org>
19656
19657         Fix link error on non-glibc systems.
19658         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
19659         variable.
19660         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19661
19662 2009-02-18  Jim Meyering  <meyering@redhat.com>
19663
19664         fts: avoid used-uninitialized error due to recent change
19665         * lib/fts.c (fts_read): Guard uses of the new member,
19666         parent->fts_n_dirs_remaining, since it's not relevant for
19667         the parent of a directory specified on the command-line.
19668
19669 2009-02-17  James Youngman  <jay@gnu.org>
19670             Bruno Haible  <bruno@clisp.org>
19671
19672         * m4/include_next.m4: Reformulate comment.
19673
19674 2009-02-16  Jim Meyering  <meyering@redhat.com>
19675
19676         fts: add #if guards so that the fts_lgpl module still builds
19677         * lib/fts.c: Guard just-added hash-table-using parts with
19678         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
19679         Reported by Simon Josefsson.
19680
19681 2009-02-15  Bruno Haible  <bruno@clisp.org>
19682
19683         * modules/array-mergesort-tests: New file.
19684         * tests/test-array-mergesort.c: New file.
19685
19686         New module 'array-mergesort'.
19687         * modules/array-mergesort: New file.
19688         * lib/array-mergesort.h: New file.
19689
19690 2009-02-15  Bruno Haible  <bruno@clisp.org>
19691
19692         Fix 2009-02-07 commit.
19693         * lib/gen-uni-tables.c (output_predicate, output_category,
19694         output_combclass, output_bidi_category, output_decimal_digit,
19695         output_digit, output_numeric, output_mirror, output_scripts,
19696         output_ident_category, output_simple_mapping): Fix format directives.
19697         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
19698
19699 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
19700
19701         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
19702         fixes are available from IBM.
19703
19704 2009-02-13  Jim Meyering  <meyering@redhat.com>
19705
19706         fts: arrange not to stat non-directories in more cases
19707         This makes GNU find (when it doesn't need to stat each file)
19708         *much* more efficient at traversing reiserfs file systems.
19709         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
19710         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
19711         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
19712         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
19713         (leaf_optimization_applies): New function.
19714         (LCO_hash, LCO_compare): New helper functions.
19715         (link_count_optimize_ok): New function.
19716         (fts_stat): Initialize new member (if dir).
19717         (fts_read): Decrement parent's fts_n_dirs_remaining count if
19718         we've just stat'ed a directory.  Skip the stat call when possible.
19719         ---
19720         Note this AFS-related exchange:
19721         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
19722         and note find's pioctl call in find/fstype.c.
19723         But that is necessary only if you want to enable the
19724         optimization for AFS, and for now, I don't.
19725
19726         fts: move a function definition "up" (no semantic change)
19727         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
19728         "up" to precede upcoming use of a related function.
19729
19730 2009-02-11  Jim Meyering  <meyering@redhat.com>
19731
19732         fts: correct internal computation of nlinks (optimization-related)
19733         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
19734         whether the current entry is a directory, so don't test it.
19735
19736 2009-02-10  Bruno Haible  <bruno@clisp.org>
19737
19738         Tests for module 'uniwbrk/ulc-wordbreaks'.
19739         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
19740         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
19741         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
19742
19743         Tests for module 'uniwbrk/u32-wordbreaks'.
19744         * modules/uniwbrk/u32-wordbreaks-tests: New file.
19745         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
19746
19747         Tests for module 'uniwbrk/u16-wordbreaks'.
19748         * modules/uniwbrk/u16-wordbreaks-tests: New file.
19749         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
19750
19751         Tests for module 'uniwbrk/u8-wordbreaks'.
19752         * modules/uniwbrk/u8-wordbreaks-tests: New file.
19753         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
19754
19755 2009-02-10  Bruno Haible  <bruno@clisp.org>
19756
19757         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
19758         property.
19759         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
19760         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
19761         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
19762
19763 2009-02-10  Simon Josefsson  <simon@josefsson.org>
19764
19765         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
19766         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
19767
19768 2009-02-10  Bruno Haible  <bruno@clisp.org>
19769
19770         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
19771         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
19772         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
19773         * lib/unilbrk/u8-possible-linebreaks.c: Update.
19774         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
19775         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
19776
19777 2009-02-09  Simon Josefsson  <simon@josefsson.org>
19778
19779         * lib/sockets.h (gl_fd_to_handle): New function.
19780
19781         * tests/test-sockets.c: Call gl_fd_to_handle.
19782
19783 2009-02-09  Bruno Haible  <bruno@clisp.org>
19784
19785         * doc/havelib.texi: Document the conventions on bi-arch systems.
19786
19787 2009-02-08  Bruno Haible  <bruno@clisp.org>
19788
19789         Document the AC_LIB_LINKFLAGS macro.
19790         * doc/havelib.texi: New file, mostly written on 2005-05-24.
19791         * doc/gnulib.texi: Include it.
19792
19793 2009-02-08  Bruno Haible  <bruno@clisp.org>
19794
19795         Fix wrong order of sections, compared to TOC.
19796         * doc/gnulib.texi: Include relocatable-maint.texi after the
19797         "Regular expressions" node, not before.
19798
19799 2009-02-08  Bruno Haible  <bruno@clisp.org>
19800
19801         Tests for module 'unicase/totitle'.
19802         * modules/unicase/totitle-tests: New file.
19803
19804         Tests for module 'unicase/tolower'.
19805         * modules/unicase/tolower-tests: New file.
19806
19807         Tests for module 'unicase/toupper'.
19808         * modules/unicase/toupper-tests: New file.
19809         * tests/unicase/test-mapping-part1.h: New file.
19810         * tests/unicase/test-mapping-part2.h: New file.
19811
19812         New module 'unicase/totitle'.
19813         * modules/unicase/totitle: New file.
19814         * lib/unicase/totitle.c: New file.
19815
19816         New module 'unicase/tolower'.
19817         * modules/unicase/tolower: New file.
19818         * lib/unicase/tolower.c: New file.
19819
19820         New module 'unicase/toupper'.
19821         * modules/unicase/toupper: New file.
19822         * lib/unicase/toupper.c: New file.
19823         * lib/unicase/simple-mapping.h: New file.
19824
19825         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
19826         (mapping_table): New structure.
19827         (output_simple_mapping): New function.
19828         (main): Invoke output_simple_mapping_test and output_simple_mapping.
19829         * modules/gen-uni-tables (Description): Update.
19830         * lib/unicase/toupper.h: New file, automatically generated by
19831         gen-uni-tables.
19832         * lib/unicase/tolower.h: New file, automatically generated by
19833         gen-uni-tables.
19834         * lib/unicase/totitle.h: New file, automatically generated by
19835         gen-uni-tables.
19836         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
19837         gen-uni-tables.
19838         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
19839         gen-uni-tables.
19840         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
19841         gen-uni-tables.
19842
19843         New module 'unicase/base'.
19844         * modules/unicase/base: New file.
19845         * lib/unicase.h: New file.
19846
19847 2009-02-08  Bruno Haible  <bruno@clisp.org>
19848
19849         New module 'uniwbrk/ulc-wordbreaks'.
19850         * modules/uniwbrk/ulc-wordbreaks: New file.
19851         * lib/uniwbrk/ulc-wordbreaks.c: New file.
19852
19853         New module 'uniwbrk/u32-wordbreaks'.
19854         * modules/uniwbrk/u32-wordbreaks: New file.
19855         * lib/uniwbrk/u32-wordbreaks.c: New file.
19856
19857         New module 'uniwbrk/u16-wordbreaks'.
19858         * modules/uniwbrk/u16-wordbreaks: New file.
19859         * lib/uniwbrk/u16-wordbreaks.c: New file.
19860
19861         New module 'uniwbrk/u8-wordbreaks'.
19862         * modules/uniwbrk/u8-wordbreaks: New file.
19863         * lib/uniwbrk/u8-wordbreaks.c: New file.
19864         * lib/uniwbrk/u-wordbreaks.h: New file.
19865
19866         New module 'uniwbrk/table'.
19867         * modules/uniwbrk/table: New file.
19868         * lib/uniwbrk/wbrktable.h: New file.
19869         * lib/uniwbrk/wbrktable.c: New file.
19870
19871         New module 'uniwbrk/wordbreak-property'.
19872         * modules/uniwbrk/wordbreak-property: New file.
19873         * lib/uniwbrk/wordbreak-property.c: New file.
19874
19875         * lib/gen-uni-tables.c (WBP_*): New enum items.
19876         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
19877         (unicode_org_wbp): New variable.
19878         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
19879         New functions.
19880         (wbp_table): New structure.
19881         (output_wbp, output_wbrk_tables): New functions.
19882         (main): Accept additional argument. Invoke fill_org_wbp,
19883         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
19884         output_wbrk_tables.
19885         * modules/gen-uni-tables (Description): Update.
19886         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
19887         gen-uni-tables.
19888
19889         New module 'uniwbrk/base'.
19890         * modules/uniwbrk/base: New file.
19891         * lib/uniwbrk.h: New file.
19892
19893 2009-02-08  Bruno Haible  <bruno@clisp.org>
19894
19895         Update to Unicode 5.1.0.
19896         * lib/gen-uni-tables.c (is_property_alphabetic): Include
19897         U+2185..U+2188.
19898         (is_property_default_ignorable_code_point): Don't include characters
19899         of category Cc or Cs and not-a-characters.
19900         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
19901         U+0D79, U+109E, U+109F, U+A60C.
19902         * lib/unictype/bidi_of.h: Regenerated.
19903         * lib/unictype/blocks.h: Regenerated.
19904         * lib/unictype/categ_C.h: Regenerated.
19905         * lib/unictype/categ_Cf.h: Regenerated.
19906         * lib/unictype/categ_Cn.h: Regenerated.
19907         * lib/unictype/categ_L.h: Regenerated.
19908         * lib/unictype/categ_Ll.h: Regenerated.
19909         * lib/unictype/categ_Lm.h: Regenerated.
19910         * lib/unictype/categ_Lo.h: Regenerated.
19911         * lib/unictype/categ_Lu.h: Regenerated.
19912         * lib/unictype/categ_M.h: Regenerated.
19913         * lib/unictype/categ_Mc.h: Regenerated.
19914         * lib/unictype/categ_Me.h: Regenerated.
19915         * lib/unictype/categ_Mn.h: Regenerated.
19916         * lib/unictype/categ_N.h: Regenerated.
19917         * lib/unictype/categ_Nd.h: Regenerated.
19918         * lib/unictype/categ_Nl.h: Regenerated.
19919         * lib/unictype/categ_No.h: Regenerated.
19920         * lib/unictype/categ_P.h: Regenerated.
19921         * lib/unictype/categ_Pd.h: Regenerated.
19922         * lib/unictype/categ_Pe.h: Regenerated.
19923         * lib/unictype/categ_Pf.h: Regenerated.
19924         * lib/unictype/categ_Pi.h: Regenerated.
19925         * lib/unictype/categ_Po.h: Regenerated.
19926         * lib/unictype/categ_Ps.h: Regenerated.
19927         * lib/unictype/categ_S.h: Regenerated.
19928         * lib/unictype/categ_Sk.h: Regenerated.
19929         * lib/unictype/categ_Sm.h: Regenerated.
19930         * lib/unictype/categ_So.h: Regenerated.
19931         * lib/unictype/categ_of.h: Regenerated.
19932         * lib/unictype/combining.h: Regenerated.
19933         * lib/unictype/ctype_alnum.h: Regenerated.
19934         * lib/unictype/ctype_alpha.h: Regenerated.
19935         * lib/unictype/ctype_graph.h: Regenerated.
19936         * lib/unictype/ctype_lower.h: Regenerated.
19937         * lib/unictype/ctype_print.h: Regenerated.
19938         * lib/unictype/ctype_punct.h: Regenerated.
19939         * lib/unictype/ctype_upper.h: Regenerated.
19940         * lib/unictype/decdigit.h: Regenerated.
19941         * lib/unictype/digit.h: Regenerated.
19942         * lib/unictype/mirror.h: Regenerated.
19943         * lib/unictype/numeric.h: Regenerated.
19944         * lib/unictype/pr_alphabetic.h: Regenerated.
19945         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
19946         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
19947         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
19948         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
19949         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
19950         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
19951         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
19952         * lib/unictype/pr_combining.h: Regenerated.
19953         * lib/unictype/pr_dash.h: Regenerated.
19954         * lib/unictype/pr_decimal_digit.h: Regenerated.
19955         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
19956         * lib/unictype/pr_deprecated.h: Regenerated.
19957         * lib/unictype/pr_diacritic.h: Regenerated.
19958         * lib/unictype/pr_extender.h: Regenerated.
19959         * lib/unictype/pr_format_control.h: Regenerated.
19960         * lib/unictype/pr_grapheme_base.h: Regenerated.
19961         * lib/unictype/pr_grapheme_extend.h: Regenerated.
19962         * lib/unictype/pr_grapheme_link.h: Regenerated.
19963         * lib/unictype/pr_id_continue.h: Regenerated.
19964         * lib/unictype/pr_id_start.h: Regenerated.
19965         * lib/unictype/pr_ideographic.h: Regenerated.
19966         * lib/unictype/pr_ignorable_control.h: Regenerated.
19967         * lib/unictype/pr_lowercase.h: Regenerated.
19968         * lib/unictype/pr_math.h: Regenerated.
19969         * lib/unictype/pr_numeric.h: Regenerated.
19970         * lib/unictype/pr_other_alphabetic.h: Regenerated.
19971         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
19972         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
19973         * lib/unictype/pr_other_id_continue.h: Regenerated.
19974         * lib/unictype/pr_other_lowercase.h: Regenerated.
19975         * lib/unictype/pr_other_math.h: Regenerated.
19976         * lib/unictype/pr_punctuation.h: Regenerated.
19977         * lib/unictype/pr_sentence_terminal.h: Regenerated.
19978         * lib/unictype/pr_soft_dotted.h: Regenerated.
19979         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
19980         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
19981         * lib/unictype/pr_unified_ideograph.h: Regenerated.
19982         * lib/unictype/pr_uppercase.h: Regenerated.
19983         * lib/unictype/pr_xid_continue.h: Regenerated.
19984         * lib/unictype/pr_xid_start.h: Regenerated.
19985         * lib/unictype/pr_zero_width.h: Regenerated.
19986         * lib/unictype/scripts.h: Regenerated.
19987         * lib/unictype/scripts_byname.gperf: Regenerated.
19988         * lib/unictype/sy_java_ident.h: Regenerated.
19989         * lib/unilbrk/lbrkprop1.h: Regenerated.
19990         * lib/unilbrk/lbrkprop2.h: Regenerated.
19991         * tests/unictype/test-categ_C.c: Regenerated.
19992         * tests/unictype/test-categ_Cf.c: Regenerated.
19993         * tests/unictype/test-categ_Cn.c: Regenerated.
19994         * tests/unictype/test-categ_L.c: Regenerated.
19995         * tests/unictype/test-categ_Ll.c: Regenerated.
19996         * tests/unictype/test-categ_Lm.c: Regenerated.
19997         * tests/unictype/test-categ_Lo.c: Regenerated.
19998         * tests/unictype/test-categ_Lu.c: Regenerated.
19999         * tests/unictype/test-categ_M.c: Regenerated.
20000         * tests/unictype/test-categ_Mc.c: Regenerated.
20001         * tests/unictype/test-categ_Me.c: Regenerated.
20002         * tests/unictype/test-categ_Mn.c: Regenerated.
20003         * tests/unictype/test-categ_N.c: Regenerated.
20004         * tests/unictype/test-categ_Nd.c: Regenerated.
20005         * tests/unictype/test-categ_Nl.c: Regenerated.
20006         * tests/unictype/test-categ_No.c: Regenerated.
20007         * tests/unictype/test-categ_P.c: Regenerated.
20008         * tests/unictype/test-categ_Pd.c: Regenerated.
20009         * tests/unictype/test-categ_Pe.c: Regenerated.
20010         * tests/unictype/test-categ_Pf.c: Regenerated.
20011         * tests/unictype/test-categ_Pi.c: Regenerated.
20012         * tests/unictype/test-categ_Po.c: Regenerated.
20013         * tests/unictype/test-categ_Ps.c: Regenerated.
20014         * tests/unictype/test-categ_S.c: Regenerated.
20015         * tests/unictype/test-categ_Sk.c: Regenerated.
20016         * tests/unictype/test-categ_Sm.c: Regenerated.
20017         * tests/unictype/test-categ_So.c: Regenerated.
20018         * tests/unictype/test-ctype_alnum.c: Regenerated.
20019         * tests/unictype/test-ctype_alpha.c: Regenerated.
20020         * tests/unictype/test-ctype_graph.c: Regenerated.
20021         * tests/unictype/test-ctype_lower.c: Regenerated.
20022         * tests/unictype/test-ctype_print.c: Regenerated.
20023         * tests/unictype/test-ctype_punct.c: Regenerated.
20024         * tests/unictype/test-ctype_upper.c: Regenerated.
20025         * tests/unictype/test-decdigit.h: Regenerated.
20026         * tests/unictype/test-digit.h: Regenerated.
20027         * tests/unictype/test-numeric.h: Regenerated.
20028         * tests/unictype/test-pr_alphabetic.c: Regenerated.
20029         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
20030         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
20031         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
20032         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
20033         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
20034         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
20035         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
20036         * tests/unictype/test-pr_combining.c: Regenerated.
20037         * tests/unictype/test-pr_dash.c: Regenerated.
20038         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
20039         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
20040         * tests/unictype/test-pr_deprecated.c: Regenerated.
20041         * tests/unictype/test-pr_diacritic.c: Regenerated.
20042         * tests/unictype/test-pr_extender.c: Regenerated.
20043         * tests/unictype/test-pr_format_control.c: Regenerated.
20044         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
20045         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
20046         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
20047         * tests/unictype/test-pr_id_continue.c: Regenerated.
20048         * tests/unictype/test-pr_id_start.c: Regenerated.
20049         * tests/unictype/test-pr_ideographic.c: Regenerated.
20050         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
20051         * tests/unictype/test-pr_lowercase.c: Regenerated.
20052         * tests/unictype/test-pr_math.c: Regenerated.
20053         * tests/unictype/test-pr_numeric.c: Regenerated.
20054         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
20055         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
20056         Regenerated.
20057         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
20058         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
20059         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
20060         * tests/unictype/test-pr_other_math.c: Regenerated.
20061         * tests/unictype/test-pr_punctuation.c: Regenerated.
20062         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
20063         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
20064         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
20065         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
20066         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
20067         * tests/unictype/test-pr_uppercase.c: Regenerated.
20068         * tests/unictype/test-pr_xid_continue.c: Regenerated.
20069         * tests/unictype/test-pr_xid_start.c: Regenerated.
20070         * tests/unictype/test-pr_zero_width.c: Regenerated.
20071
20072         Update to Unicode 5.1.0.
20073         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
20074         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
20075         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
20076         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
20077         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
20078         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
20079         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
20080         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
20081         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
20082         (nonspacing_table_ind): Update.
20083         * tests/uniwidth/test-uc_width2.sh: Update expected result.
20084
20085         Update to Unicode 5.1.0.
20086         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
20087         code transform.
20088         * lib/uniname/uniname.c (unicode_character_name,
20089         unicode_name_character): Add the range 0x1Fxxx to the code transform.
20090         * lib/uniname/uninames.h: Regenerated.
20091         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
20092
20093 2009-02-07  Bruno Haible  <bruno@clisp.org>
20094
20095         Merge gen-ctype and gen-lbrk into a single program.
20096         * lib/gen-uni-tables.c: New file, incorporating
20097         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
20098         Add directory prefixes to the names of the generated files.
20099         * lib/unictype/gen-ctype.c: Remove file.
20100         * lib/unilbrk/gen-lbrk.c: Remove file.
20101         * modules/gen-uni-tables: New file.
20102         * modules/unictype/gen-ctype: Remove file.
20103         * modules/unilbrk/gen-lbrk: Remove file.
20104
20105 2009-02-07  Bruno Haible  <bruno@clisp.org>
20106
20107         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
20108
20109         New module 'unistr/u32-strcoll'.
20110         * modules/unistr/u32-strcoll: New file.
20111         * lib/unistr/u32-strcoll.c: New file.
20112
20113         New module 'unistr/u16-strcoll'.
20114         * modules/unistr/u16-strcoll: New file.
20115         * lib/unistr/u16-strcoll.c: New file.
20116
20117         New module 'unistr/u8-strcoll'.
20118         * modules/unistr/u8-strcoll: New file.
20119         * lib/unistr/u8-strcoll.c: New file.
20120         * lib/unistr/u-strcoll.h: New file.
20121
20122 2009-02-07  Bruno Haible  <bruno@clisp.org>
20123
20124         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
20125         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
20126         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
20127         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
20128         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
20129         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
20130
20131 2009-02-07  Bruno Haible  <bruno@clisp.org>
20132
20133         Make 64-bit clean.
20134         * lib/unictype/gen-ctype.c (output_predicate, output_category,
20135         output_combclass, output_bidi_category, output_decimal_digit,
20136         output_digit, output_numeric, output_mirror, output_scripts,
20137         output_ident_category): Use proper width specifier in format strings.
20138
20139 2009-02-07  Bruno Haible  <bruno@clisp.org>
20140
20141         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
20142         failure behaviour.
20143
20144 2009-02-07  Jim Meyering  <meyering@redhat.com>
20145
20146         regex: avoid compilation failure with upcoming gcc-4.4
20147         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
20148         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
20149         "... error: integer overflow in preprocessor expression".
20150
20151 2009-02-05  Ben Pfaff  <blp@gnu.org>
20152
20153         Fix link errors on Windows when close module is used.
20154         * modules/close: Add $(LIB_CLOSE) to Link section.
20155         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
20156         $(LIB_CLOSE) on Windows.
20157
20158 2009-02-05  Jim Meyering  <meyering@redhat.com>
20159
20160         still avoid unused-parameter warnings, but do it cleanly
20161         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
20162         (get_fs_usage): Cast to void instead.
20163         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
20164         (dev_from_mount_options, read_file_system_list): Cast to void.
20165         Prompted by Bruno Haible.
20166
20167 2009-02-04  Jim Meyering  <meyering@redhat.com>
20168
20169         fsusage.c: correct copyright year
20170         * lib/fsusage.c: Reflect year in which the change is pushed into
20171
20172         avoid misc. warnings
20173         * lib/fsusage.c (UNUSED_PARAM): Define.
20174         (get_fs_usage): Mark parameter "disk" as unused.
20175         * lib/getugroups.c (getgrent): Use "void" in prototype.
20176         * lib/mountlist.c: Mark unused parameters.
20177         (read_file_system_list): Declare a local with "const".
20178         * lib/nanosleep.c (getnow): Declare static.
20179         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
20180
20181         dirfd: set errno upon failure
20182         * lib/dirfd.c: Include <errno.h>.
20183         Set errno to ENOTSUP when returning -1.
20184         * modules/dirfd (Depends-on): Add errno.
20185         Suggested by John Kodis <kodis@comcast.net>.
20186
20187 2009-02-01  Bruno Haible  <bruno@clisp.org>
20188
20189         Don't assume sizeof (long) >= sizeof (void *).
20190         * lib/memcmp.c: Include stdint.h.
20191         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
20192         srcp2 to 'const byte *'.
20193         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
20194         types to uintptr_t.
20195         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
20196         * modules/memcmp (Depends-on): Add stdint.
20197         Reported by Ozkan Sezer <sezeroz@gmail.com>.
20198
20199 2009-01-30  Eric Blake  <ebb9@byu.net>
20200
20201         fix more require-before-expand issues
20202         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
20203         expand, AC_PROG_AWK.
20204         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
20205
20206 2009-01-28  Eric Blake  <ebb9@byu.net>
20207
20208         version-etc: use consistent URL formatting
20209         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
20210         Improve formatting.  Use fputs for string without %.
20211
20212 2009-01-28  Jim Meyering  <meyering@redhat.com>
20213
20214         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
20215         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
20216         "underquoted definition of NAME" from autoconf-2.59.
20217
20218 2009-01-28  Bruno Haible  <bruno@clisp.org>
20219
20220         * doc/gnulib.texi: Add "Obsolete modules" to index.
20221
20222 2009-01-28  Jim Meyering  <meyering@redhat.com>
20223
20224         useless-if-before-free: recognize more variants
20225         * build-aux/useless-if-before-free: Also recognize e.g.,
20226         if (NULL != p) free (p);
20227
20228 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
20229
20230         test-getaddrinfo: skip (don't fail) this test when there's no network
20231         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
20232         on the presumption that it means you lack network access.
20233
20234 2009-01-26  Jim Meyering  <meyering@redhat.com>
20235
20236         fflush: avoid warnings on modern systems
20237         * lib/fflush.c (rpl_fflush): Move declarations of locals,
20238         pos and result, into scopes where they're used.
20239
20240 2009-01-26  Eric Blake  <ebb9@byu.net>
20241
20242         Silence warning reintroduced by recent extensions patch.
20243         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
20244         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
20245         autoconf.
20246
20247         Backport improved autoconf semantics of AC_DEFUN_ONCE.
20248         * m4/00gnulib.m4: New file.
20249         * gnulib-tool (func_get_filelist): Always use it.
20250         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
20251         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
20252
20253 2009-01-25  Bruno Haible  <bruno@clisp.org>
20254
20255         Make test-quotearg work on MacOS X and AIX.
20256         * tests/test-quotearg.sh: New file.
20257         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
20258         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
20259         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
20260         include <libintl.h>.
20261         (fake_locale): Remove variable.
20262         (gettext, dgettext, dcgettext): Remove functions.
20263         (main): Instead of setting a fake locale, set a real locale. Call
20264         textdomain and bindtextdomain.
20265         * modules/quotearg-tests (Files): Add the new files.
20266         (Depends-on): Add gettext, setenv, unsetenv.
20267         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
20268         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
20269         Augment TESTS_ENVIRONMENT.
20270
20271 2009-01-25  Bruno Haible  <bruno@clisp.org>
20272
20273         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
20274         fr_FR.ISO8859-1 locale on MacOS X.
20275         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
20276         ja_JP.eucJP locale on MacOS X.
20277         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
20278         zh_CN.GB18030 locale on MacOS X.
20279
20280 2009-01-25  Bruno Haible  <bruno@clisp.org>
20281
20282         Avoid link errors on MacOS X 10.3.
20283         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
20284         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
20285
20286 2009-01-25  Bruno Haible  <bruno@clisp.org>
20287
20288         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
20289         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
20290         * modules/pipe (Files): Remove m4/posix_spawn.m4.
20291         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
20292         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
20293         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
20294         posix_spawnattr_init, posix_spawnattr_setsigmask,
20295         posix_spawnattr_setflags, posix_spawnattr_destroy.
20296
20297         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
20298         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
20299         * modules/execute (Files): Remove m4/posix_spawn.m4.
20300         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
20301         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
20302         posix_spawnattr_init, posix_spawnattr_setsigmask,
20303         posix_spawnattr_setflags, posix_spawnattr_destroy.
20304
20305 2009-01-25  Bruno Haible  <bruno@clisp.org>
20306
20307         * lib/glthread/threadlib.c: Include <stdlib.h>.
20308
20309 2009-01-25  Bruno Haible  <bruno@clisp.org>
20310
20311         * lib/glthread/threadlib.c (dummy): New declaration.
20312
20313 2009-01-25  Bruno Haible  <bruno@clisp.org>
20314
20315         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
20316         multibyte characters also for the GB18030 encoding. Don't crash when
20317         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
20318
20319 2009-01-25  Bruno Haible  <bruno@clisp.org>
20320
20321         Avoid redefining 'struct random_data' on OSF/1 5.1.
20322         * lib/stdlib.in.h: Include <random.h> if it exists.
20323         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
20324         HAVE_RANDOM_H. Include <random.h> when testing whether
20325         'struct random_data' exists.
20326         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
20327
20328 2009-01-25  Bruno Haible  <bruno@clisp.org>
20329
20330         Don't install charset.alias on MacOS X >= 10.3.
20331         * lib/localcharset.c (DARWIN7): New macro.
20332         (get_charset_aliases): Hardcode the result for Darwin7.
20333         * modules/localcharset (install-exec-local): Don't install
20334         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
20335
20336 2009-01-25  Bruno Haible  <bruno@clisp.org>
20337
20338         Don't install charset.alias on mingw and Cygwin.
20339         * modules/localcharset (install-exec-local): Don't install
20340         charset.alias on mingw and Cygwin, if the file does not yet exist.
20341         The result for these platforms is hardcoded in localcharset.c.
20342
20343 2009-01-25  Bruno Haible  <bruno@clisp.org>
20344
20345         Make it possible again to use AC_GNU_SOURCE together with gnulib.
20346         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
20347         before requiring AC_USE_SYSTEM_EXTENSIONS.
20348
20349 2009-01-25  Jim Meyering  <meyering@redhat.com>
20350
20351         c-strtod: avoid warnings
20352         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
20353         "assignment discards qualifiers from pointer target type" warnings.
20354
20355 2009-01-24  Bruno Haible  <bruno@clisp.org>
20356
20357         Add support for non-UTF-8 locales on MacOS X.
20358         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
20359         canonical encodings. For Darwin 7 and newer, don't map traditional
20360         encodings to UTF-8.
20361         Reported by Vincent Lefevre <vincent@vinc17.org>
20362         at <http://savannah.gnu.org/bugs/?25235>.
20363
20364 2009-01-24  Bruno Haible  <bruno@clisp.org>
20365
20366         * doc/gnulib.texi (Obsolete modules): New section.
20367         Reported by Mike Frysinger <vapier@gentoo.org>.
20368
20369 2009-01-24  Bruno Haible  <bruno@clisp.org>
20370
20371         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
20372         (%.dvi): New rule.
20373
20374 2009-01-24  Bruno Haible  <bruno@clisp.org>
20375
20376         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
20377         Reported by Eric Blake.
20378
20379 2009-01-24  Bruno Haible  <bruno@clisp.org>
20380
20381         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
20382         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
20383         Reported by Gary V. Vaughan <gary@gnu.org>.
20384
20385 2009-01-24  Bruno Haible  <bruno@clisp.org>
20386
20387         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
20388
20389 2009-01-23  Bruno Haible  <bruno@clisp.org>
20390
20391         Make c-strtod, c-strtold usable in libraries.
20392         * lib/c-strtod.c: Include string.h instead of xalloc.h.
20393         (C_STRTOD): Call strdup instead of xstrdup.
20394         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
20395         * modules/c-strtold (Depends-on): Likewise.
20396         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
20397         * NEWS: Mention the change.
20398         Reported by Michael Gold <mgold@ncf.ca>.
20399
20400 2009-01-23  Jim Meyering  <meyering@redhat.com>
20401
20402         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
20403         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
20404         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
20405
20406 2009-01-23  Simon Josefsson  <simon@josefsson.org>
20407
20408         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
20409         GNU CoreUtils.
20410         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
20411         * modules/version-etc (Description): Update.
20412
20413 2009-01-22  Bruno Haible  <bruno@clisp.org>
20414
20415         Cache the C locale object.
20416         * lib/c-strtod.c (c_locale_cache): New variable.
20417         (c_locale): New function.
20418         (C_STRTOD): Use it, and don't call freelocale.
20419         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
20420         Suggested by Paolo Bonzini.
20421
20422 2009-01-21  Bruno Haible  <bruno@clisp.org>
20423
20424         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
20425         conditions other than overflow.
20426
20427 2009-01-21  Bruno Haible  <bruno@clisp.org>
20428
20429         * lib/c-strtod.c: Include errno.h.
20430         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
20431         value from STRTOD_L and STRTOD.
20432
20433 2009-01-21  Bruno Haible  <bruno@clisp.org>
20434         and Jim Meyering  <meyering@redhat.com>
20435
20436         nanosleep: skip configure test (fail it) for apple universal builds
20437         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
20438         universal builds, assume that nanosleep does not work.
20439         * modules/nanosleep (Depends-on): Add multiarch.
20440
20441         mktime: skip configure test (fail it) for apple universal builds
20442         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
20443         universal builds, assume that mktime does not work.
20444         * modules/mktime (Depends-on): Add multiarch.
20445
20446 2009-01-21  Eric Blake  <ebb9@byu.net>
20447
20448         multiarch: avoid expand-before-require warning
20449         * modules/multiarch (configure.ac): Require, rather than expand,
20450         gl_MULTIARCH.
20451         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
20452         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
20453         enforce that all clients require it.  Partial reversion of
20454         2008-12-29 patch.
20455
20456         error: avoid expand-before-require warning
20457         * modules/errno (configure.ac): Require, rather than expand,
20458         gl_HEADER_ERRNO_H.
20459         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
20460         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
20461         enforce that all clients require it.
20462
20463         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
20464         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
20465         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
20466         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
20467
20468 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
20469
20470         Revert:
20471         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
20472
20473         regex: do not depend on obsolete modules.
20474         * modules/regex: Remove memcmp and memmove.
20475
20476 2009-01-20  Bruno Haible  <bruno@clisp.org>
20477
20478         Make the 'link' module link on Windows NT 4.
20479         * lib/link.c (_WIN32_WINNT): Don't define.
20480         (CreateHardLinkFuncType): New type.
20481         (CreateHardLinkFunc, initialized): New variables.
20482         (initialize): New function.
20483         (link): Invoke CreateHardLink indirectly through the function pointer.
20484
20485 2009-01-20  Bruno Haible  <bruno@clisp.org>
20486
20487         Fix compilation failure on mingw.
20488         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
20489
20490 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
20491
20492         * doc/c-strtod.texi: Mention a couple of restrictions.
20493
20494 2009-01-20  Jim Meyering  <meyering@redhat.com>
20495
20496         gettimeofday: move more declarations out of functions
20497         * lib/gettimeofday.c: Move extern declarations of tzset and
20498         gmtime out of containing functions.  Prompted by Bruno Haible.
20499
20500 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
20501
20502         regex: do not depend on obsolete modules.
20503         * modules/regex: Remove memcmp and memmove.
20504
20505 2009-01-19  Bruno Haible  <bruno@clisp.org>
20506
20507         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
20508         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
20509         gl_BIGENDIAN, not AC_C_BIGENDIAN.
20510         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
20511         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
20512
20513 2009-01-19  Bruno Haible  <bruno@clisp.org>
20514
20515         * tests/test-link.c: Include <errno.h>.
20516         (main): Exit with code 77 when a hard link cannot be created due to
20517         the file system.
20518         * tests/test-link.sh: Skip test when a hard link cannot be created due
20519         to the file system.
20520         Suggested by Eric Blake.
20521
20522 2009-01-19  Martin Lambers  <marlam@marlam.de>
20523
20524         * modules/link-tests: New file.
20525         * tests/test-link.sh: New file.
20526         * tests/test-link.c: New file.
20527
20528 2009-01-19  Eric Blake  <ebb9@byu.net>
20529
20530         doc: mention another function added in cygwin 1.7.0
20531         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
20532         Another new function in cygwin 1.7.
20533
20534 2009-01-19  Bruno Haible  <bruno@clisp.org>
20535
20536         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
20537         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
20538         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
20539         gl_BIGENDIAN, not AC_C_BIGENDIAN.
20540         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
20541         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
20542         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
20543         * m4/md4.m4 (gl_MD4): Likewise.
20544         * m4/md5.m4 (gl_MD5): Likewise.
20545         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
20546         * m4/sha1.m4 (gl_SHA1): Likewise.
20547         * m4/sha256.m4 (gl_SHA256): Likewise.
20548         * m4/sha512.m4 (gl_SHA512): Likewise.
20549
20550 2009-01-19  Bruno Haible  <bruno@clisp.org>
20551
20552         * modules/uniname/uniname-tests (Depends-on): Add progname.
20553         * tests/uniname/test-uninames.c: Include progname.h.
20554         (main): Call set_program_name.
20555
20556         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
20557         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
20558         (main): Call set_program_name.
20559
20560         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
20561         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
20562         (main): Call set_program_name.
20563
20564         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
20565         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
20566         (main): Call set_program_name.
20567
20568         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
20569         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
20570         (main): Call set_program_name.
20571
20572         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
20573         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
20574         (main): Call set_program_name.
20575
20576         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
20577         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
20578         (main): Call set_program_name.
20579
20580         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
20581         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
20582         (main): Call set_program_name.
20583
20584         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
20585         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
20586         (main): Call set_program_name.
20587
20588 2009-01-19  Eric Blake  <ebb9@byu.net>
20589
20590         test-unistd: test previous patch
20591         * tests/test-unistd.c: Test *_FILENO macros.
20592
20593         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
20594         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
20595         Guarantee a definition.
20596         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
20597         * modules/unistd-safer (Depends-on): Add dependency on unistd.
20598         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
20599         * lib/dup-safer.c (STDERR_FILENO): Likewise.
20600         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
20601         Likewise.
20602         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
20603         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
20604         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
20605         Likewise.
20606         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
20607         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
20608         (STDERR_FILENO): Likewise.
20609         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
20610         (STDERR_FILENO): Likewise.
20611         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
20612         (STDERR_FILENO): Likewise.
20613         Reported by Elbert Pol.
20614
20615 2009-01-19  Eric Blake  <ebb9@byu.net>
20616
20617         doc: mention more functions added in cygwin 1.7.0
20618         * doc/posix-functions/abort.texi (abort): Update wording related
20619         to cygwin.
20620         * doc/posix-functions/daylight.texi (daylight): Likewise.
20621         * doc/posix-functions/optarg.texi (optarg): Likewise.
20622         * doc/posix-functions/optarg.texi (opterr): Likewise.
20623         * doc/posix-functions/optarg.texi (optind): Likewise.
20624         * doc/posix-functions/optarg.texi (optopt): Likewise.
20625         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
20626         worked in 1.5.x, and was withdrawn in 1.7.
20627         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
20628         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
20629         cygwin versions.
20630         * doc/posix-functions/perror.texi (perror): Likewise.
20631         * doc/posix-functions/printf.texi (printf): Likewise.
20632         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
20633         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
20634         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
20635         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
20636         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
20637         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
20638         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
20639         Likewise.
20640         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
20641         Likewise.
20642         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
20643         this function.
20644         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
20645         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
20646         Likewise.
20647         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
20648         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
20649         * doc/posix-functions/confstr.texi (confstr): Likewise.
20650         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
20651         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
20652         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
20653         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
20654         * doc/posix-functions/fputws.texi (fputws): Likewise.
20655         * doc/posix-functions/fwide.texi (fwide): Likewise.
20656         * doc/posix-functions/getwc.texi (getwc): Likewise.
20657         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
20658         * doc/posix-functions/putwc.texi (putwc): Likewise.
20659         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
20660         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
20661         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
20662         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
20663         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
20664         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
20665         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
20666         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
20667         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
20668         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
20669         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
20670
20671 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
20672
20673         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
20674         * lib/ioctl.c: Include <sys/ioctl.h>.
20675
20676 2009-01-19  Simon Josefsson  <simon@josefsson.org>
20677
20678         * modules/getdate-tests (Depends-on): Add progname.
20679         * tests/test-getdate.c: Use progname module, to avoid link errors
20680         on non-glibc systems.
20681
20682 2009-01-18  Simon Josefsson  <simon@josefsson.org>
20683
20684         * modules/filenamecat-tests (Depends-on): Add progname.
20685         * modules/fstrcmp-tests (Depends-on): Likewise.
20686
20687         * tests/test-filenamecat.c: Use progname module, to avoid link
20688         errors on non-glibc systems.
20689         * tests/test-fstrcmp.c: Likewise.
20690
20691 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
20692
20693         gettimeofday: avoid warning: nested extern declaration of 'localtime'
20694         * lib/gettimeofday.c: Move extern declaration out of function.
20695
20696 2009-01-18  Bruno Haible  <bruno@clisp.org>
20697
20698         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
20699         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
20700         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
20701
20702 2009-01-18  Bruno Haible  <bruno@clisp.org>
20703
20704         * lib/strftime.c (MEMPCPY): Remove unused macro.
20705         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
20706
20707 2009-01-18  Martin Lambers  <marlam@marlam.de>
20708
20709         New module 'link'.
20710         * lib/unistd.in.h (link): New declaration.
20711         * lib/link.c: New file.
20712         * m4/link.m4: New file.
20713         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
20714         HAVE_LINK.
20715         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
20716         * modules/link: New file.
20717         * doc/posix-functions/link.texi: Mention the new module.
20718
20719 2009-01-18  Bruno Haible  <bruno@clisp.org>
20720
20721         * tests/test-avltree_list.c (main): Call set_program_name.
20722         * tests/test-avltree_oset.c (main): Likewise.
20723         * tests/test-obstack-printf.c: Include progname.h.
20724         (main): Call set_program_name.
20725         * tests/test-quotearg.c: Include progname.h.
20726         (main): Call set_program_name.
20727         * tests/test-xmemdup0.c: Include progname.h.
20728         (main): Call set_program_name.
20729
20730 2009-01-18  Bruno Haible  <bruno@clisp.org>
20731
20732         New module 'alphasort'.
20733         * lib/dirent.in.h (alphasort): New declaration.
20734         * lib/alphasort.c: New file, from glibc with modifications.
20735         * m4/alphasort.m4: New file.
20736         * modules/alphasort: New file.
20737         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
20738         HAVE_ALPHASORT.
20739         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
20740         HAVE_ALPHASORT.
20741         * doc/posix-functions/alphasort.texi: Mention the new module and the
20742         portability problems.
20743
20744 2009-01-18  Bruno Haible  <bruno@clisp.org>
20745
20746         New module 'scandir'.
20747         * lib/dirent.in.h (scandir): New declaration.
20748         * lib/scandir.c: New file, from glibc with modifications.
20749         * m4/scandir.m4: New file.
20750         * modules/scandir: New file.
20751         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
20752         HAVE_SCANDIR.
20753         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
20754         HAVE_SCANDIR.
20755         * doc/posix-functions/scandir.texi: Mention the new module and the
20756         portability problems.
20757
20758 2009-01-17  Bruno Haible  <bruno@clisp.org>
20759
20760         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
20761         Update documentation.
20762         (func_remove_suffix): Escape all dots in the suffix. Update
20763         documentation.
20764         (func_filter_filelist): Update documentation.
20765         Reported by Ralf Wildenhues.
20766
20767 2009-01-17  Bruno Haible  <bruno@clisp.org>
20768
20769         * modules/dprintf-posix-tests: New file.
20770         * tests/test-dprintf-posix.sh: New file.
20771         * tests/test-dprintf-posix.c: New file.
20772
20773         New modules 'dprintf', 'dprintf-posix'.
20774         * lib/stdio.in.h (dprintf): New declaration.
20775         * lib/dprintf.c: New file.
20776         * m4/dprintf.m4: New file.
20777         * m4/dprintf-posix.m4: New file.
20778         * modules/dprintf: New file.
20779         * modules/dprintf-posix: New file.
20780         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
20781         HAVE_DPRINTF, REPLACE_DPRINTF.
20782         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
20783         HAVE_DPRINTF, REPLACE_DPRINTF.
20784         * doc/posix-functions/dprintf.texi: Mention the new modules.
20785
20786 2009-01-17  Bruno Haible  <bruno@clisp.org>
20787
20788         * modules/vdprintf-posix-tests: New file.
20789         * tests/test-vdprintf-posix.sh: New file.
20790         * tests/test-vdprintf-posix.c: New file.
20791
20792         New modules 'vdprintf', 'vdprintf-posix'.
20793         * lib/stdio.in.h (vdprintf): New declaration.
20794         * lib/vdprintf.c: New file.
20795         * m4/vdprintf.m4: New file.
20796         * m4/vdprintf-posix.m4: New file.
20797         * modules/vdprintf: New file.
20798         * modules/vdprintf-posix: New file.
20799         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
20800         HAVE_VDPRINTF, REPLACE_VDPRINTF.
20801         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
20802         HAVE_VDPRINTF, REPLACE_VDPRINTF.
20803         * doc/posix-functions/vdprintf.texi: Mention the new modules.
20804
20805 2009-01-17  Bruno Haible  <bruno@clisp.org>
20806
20807         Fix replacement of fopen on mingw.
20808         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
20809         mingw.
20810
20811 2009-01-17  Bruno Haible  <bruno@clisp.org>
20812
20813         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
20814         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
20815
20816 2009-01-17  Bruno Haible  <bruno@clisp.org>
20817
20818         Avoid test-fflush2.sh failure on mingw.
20819         * tests/test-fflush2.c: Include binary-io.h.
20820         (main): Put standard input into binary mode.
20821         * modules/fflush-tests (Depends-on): Add binary-io.
20822
20823 2009-01-17  Bruno Haible  <bruno@clisp.org>
20824
20825         * lib/wchar.in.h: In another particular situation, include only the
20826         system's <wchar.h> file.
20827         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
20828         Reported by Albert Chin-A-Young <china@thewrittenword.com>
20829         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
20830
20831 2009-01-17  Bruno Haible  <bruno@clisp.org>
20832
20833         Support for stripping executables in --enable-relocatable.
20834         * build-aux/install-reloc: Expect one more argument, or an environment
20835         variable RELOC_STRIP_PROG. If set, strip the destination program and
20836         its wrapper.
20837         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
20838         RELOC_STRIP_PROG.
20839         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
20840         to set RELOCATABLE_STRIP.
20841         * NEWS: Mention the new Makefile requirement.
20842
20843 2009-01-17  Bruno Haible  <bruno@clisp.org>
20844
20845         * build-aux/install-reloc: Remove debugging information left over by
20846         C compiler on MacOS X.
20847
20848 2009-01-17  Bruno Haible  <bruno@clisp.org>
20849
20850         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
20851         * lib/progreloc.c (find_executable): Fix type of pointer passed to
20852         _NSGetExecutablePath.
20853
20854 2009-01-16  Jim Meyering  <meyering@redhat.com>
20855
20856         strerror: avoid warnings about discarding "const"
20857         * lib/strerror.c (rpl_strerror): Instead of returning a const
20858         string from each and every "case", use a variable, and add a single
20859         cast after the switch.
20860
20861 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
20862
20863         * lib/arpa_inet.in.h: Add extern "C" block for C++.
20864
20865 2009-01-16  Bruno Haible  <bruno@clisp.org>
20866
20867         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
20868         array initializer syntax that also works in C++ mode.
20869         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
20870
20871 2009-01-16  Jim Meyering  <meyering@redhat.com>
20872
20873         poll: suppress a warning
20874         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
20875         to ignore "...unsigned expression < 0 is always false" warnings.
20876
20877 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
20878
20879         poll: remove declarations of unused variables
20880         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
20881         sockbuf and optlen.
20882
20883 2009-01-15  Bruno Haible  <bruno@clisp.org>
20884
20885         Make fflush-after-ungetc POSIX compliant on BSD systems.
20886         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
20887         (clear_ungetc_buffer): Implement also for other systems.
20888         (rpl_fflush): On glibc systems, invoke
20889         clear_ungetc_buffer_preserving_position. Otherwise, invoke
20890         clear_ungetc_buffer after fetching the stream's position, not before.
20891
20892 2009-01-15  Bruno Haible  <bruno@clisp.org>
20893
20894         Make fflush-after-ungetc POSIX compliant on glibc systems.
20895         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
20896         after ungetc.
20897         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
20898         (rpl_fflush): On glibc systems, simply call the system's fflush
20899         function after clearing the ungetc buffer.
20900         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
20901         Instead, lseek only to the end of file, then use the system's fseeko
20902         for the rest. On glibc systems, reset the EOF indicator bit.
20903
20904 2009-01-15  Jim Meyering  <meyering@redhat.com>
20905
20906         openmp.m4: revert quote-adding change, for portability to older autoconf
20907         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
20908         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
20909         Simon Josefsson noticed the problem when using autoconf-2.61.
20910
20911 2009-01-15  Bruno Haible  <bruno@clisp.org>
20912
20913         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
20914         * tests/test-fflush2.c (ASSERT): Always fail.
20915         (main): Add two tests for fflush() after ungetc(), taking into account
20916         the Austin Group's clarification.
20917         Suggested by Eric Blake.
20918
20919 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
20920
20921         mktime.m4: remove K&R-style function prototypes
20922         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
20923         for the Sun C++ compiler.
20924
20925 2009-01-14  Bruno Haible  <bruno@clisp.org>
20926
20927         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
20928         while including <wchar.h>.
20929         * lib/wchar.in.h: In two particular situations on HP-UX, include only
20930         the system's <wchar.h> file.
20931         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
20932
20933 2009-01-14  Bruno Haible  <bruno@clisp.org>
20934
20935         * m4/csharp.m4: Don't mention gettext on the serial number line.
20936         * m4/csharpexec.m4: Likewise.
20937         * m4/eaccess.m4: Likewise.
20938         * m4/javaexec.m4: Likewise.
20939         * m4/sig_atomic_t.m4: Likewise.
20940         * m4/tmpdir.m4: Likewise.
20941         * m4/intldir.m4: Bump gettext version.
20942         * m4/lib-ld.m4: Likewise.
20943
20944 2009-01-14  Bruno Haible  <bruno@clisp.org>
20945
20946         * lib/progname.c (set_program_name): Add more comments.
20947         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
20948
20949 2009-01-14  Simon Josefsson  <simon@josefsson.org>
20950
20951         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
20952         were sys/stat.h does not define it.
20953
20954 2009-01-14  Jim Meyering  <meyering@redhat.com>
20955
20956         many *.m4 files: improve m4 quoting
20957         99% of this change was performed by running the following commands:
20958         git ls-files | grep '\.m4$' | xargs perl -pi \
20959           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
20960           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
20961           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
20962           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
20963         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
20964         The remainder were to add Copyright dates, increment serial numbers,
20965         undo some changes in comments, exclude m4/intl.m4, and add quotes
20966         around the "1" in ",1" where the unusual spacing prohibited the
20967         above regexps from doing the job.  For more details, see
20968         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
20969         * m4/acl.m4: Modified.
20970         * m4/afs.m4: Likewise.
20971         * m4/alloca.m4: Likewise.
20972         * m4/argp.m4: Likewise.
20973         * m4/argz.m4: Likewise.
20974         * m4/atexit.m4: Likewise.
20975         * m4/bison-i18n.m4: Likewise.
20976         * m4/bison.m4: Likewise.
20977         * m4/byteswap.m4: Likewise.
20978         * m4/c-stack.m4: Likewise.
20979         * m4/c-strtod.m4: Likewise.
20980         * m4/calloc.m4: Likewise.
20981         * m4/canonicalize-lgpl.m4: Likewise.
20982         * m4/chown.m4: Likewise.
20983         * m4/clock_time.m4: Likewise.
20984         * m4/codeset.m4: Likewise.
20985         * m4/copy-file.m4: Likewise.
20986         * m4/csharp.m4: Likewise.
20987         * m4/csharpcomp.m4: Likewise.
20988         * m4/csharpexec.m4: Likewise.
20989         * m4/d-ino.m4: Likewise.
20990         * m4/d-type.m4: Likewise.
20991         * m4/dirfd.m4: Likewise.
20992         * m4/double-slash-root.m4: Likewise.
20993         * m4/eaccess.m4: Likewise.
20994         * m4/eealloc.m4: Likewise.
20995         * m4/environ.m4: Likewise.
20996         * m4/errno_h.m4: Likewise.
20997         * m4/euidaccess.m4: Likewise.
20998         * m4/execute.m4: Likewise.
20999         * m4/fatal-signal.m4: Likewise.
21000         * m4/fchdir.m4: Likewise.
21001         * m4/fcntl_h.m4: Likewise.
21002         * m4/fileblocks.m4: Likewise.
21003         * m4/filenamecat.m4: Likewise.
21004         * m4/findprog.m4: Likewise.
21005         * m4/flexmember.m4: Likewise.
21006         * m4/fnmatch.m4: Likewise.
21007         * m4/fopen.m4: Likewise.
21008         * m4/fpending.m4: Likewise.
21009         * m4/fprintf-posix.m4: Likewise.
21010         * m4/free.m4: Likewise.
21011         * m4/frexp.m4: Likewise.
21012         * m4/frexpl.m4: Likewise.
21013         * m4/fsusage.m4: Likewise.
21014         * m4/ftruncate.m4: Likewise.
21015         * m4/gc-camellia.m4: Likewise.
21016         * m4/gc-random.m4: Likewise.
21017         * m4/gc.m4: Likewise.
21018         * m4/getaddrinfo.m4: Likewise.
21019         * m4/getcwd-abort-bug.m4: Likewise.
21020         * m4/getcwd-path-max.m4: Likewise.
21021         * m4/getdate.m4: Likewise.
21022         * m4/getdomainname.m4: Likewise.
21023         * m4/getgroups.m4: Likewise.
21024         * m4/gethostname.m4: Likewise.
21025         * m4/gethrxtime.m4: Likewise.
21026         * m4/getline.m4: Likewise.
21027         * m4/getloadavg.m4: Likewise.
21028         * m4/getndelim2.m4: Likewise.
21029         * m4/getpass.m4: Likewise.
21030         * m4/gettext.m4: Likewise.
21031         * m4/gettime.m4: Likewise.
21032         * m4/gettimeofday.m4: Likewise.
21033         * m4/gnulib-common.m4: Likewise.
21034         * m4/group-member.m4: Likewise.
21035         * m4/host-os.m4: Likewise.
21036         * m4/iconv.m4: Likewise.
21037         * m4/iconv_open.m4: Likewise.
21038         * m4/inet_ntop.m4: Likewise.
21039         * m4/inet_pton.m4: Likewise.
21040         * m4/inline.m4: Likewise.
21041         * m4/intldir.m4: Likewise.
21042         * m4/intlmacosx.m4: Likewise.
21043         * m4/intmax.m4: Likewise.
21044         * m4/intmax_t.m4: Likewise.
21045         * m4/inttypes.m4: Likewise.
21046         * m4/inttypes_h.m4: Likewise.
21047         * m4/inttypes-pri.m4: Likewise.
21048         * m4/isapipe.m4: Likewise.
21049         * m4/isnand.m4: Likewise.
21050         * m4/isnanf.m4: Likewise.
21051         * m4/isnanl.m4: Likewise.
21052         * m4/javacomp.m4: Likewise.
21053         * m4/javaexec.m4: Likewise.
21054         * m4/jm-winsz1.m4: Likewise.
21055         * m4/jm-winsz2.m4: Likewise.
21056         * m4/lchown.m4: Likewise.
21057         * m4/lcmessage.m4: Likewise.
21058         * m4/ldexpl.m4: Likewise.
21059         * m4/lib-ld.m4: Likewise.
21060         * m4/lib-link.m4: Likewise.
21061         * m4/libsigsegv.m4: Likewise.
21062         * m4/link-follow.m4: Likewise.
21063         * m4/localcharset.m4: Likewise.
21064         * m4/locale-fr.m4: Likewise.
21065         * m4/locale-ja.m4: Likewise.
21066         * m4/locale-tr.m4: Likewise.
21067         * m4/locale-zh.m4: Likewise.
21068         * m4/lock.m4: Likewise.
21069         * m4/longlong.m4: Likewise.
21070         * m4/ls-mntd-fs.m4: Likewise.
21071         * m4/lstat.m4: Likewise.
21072         * m4/malloc.m4: Likewise.
21073         * m4/mathl.m4: Likewise.
21074         * m4/mbrtowc.m4: Likewise.
21075         * m4/mbstate_t.m4: Likewise.
21076         * m4/mbswidth.m4: Likewise.
21077         * m4/memchr.m4: Likewise.
21078         * m4/memcmp.m4: Likewise.
21079         * m4/memcpy.m4: Likewise.
21080         * m4/memmem.m4: Likewise.
21081         * m4/memmove.m4: Likewise.
21082         * m4/mempcpy.m4: Likewise.
21083         * m4/memrchr.m4: Likewise.
21084         * m4/memset.m4: Likewise.
21085         * m4/minmax.m4: Likewise.
21086         * m4/mkdir-slash.m4: Likewise.
21087         * m4/mkdtemp.m4: Likewise.
21088         * m4/mktime.m4: Likewise.
21089         * m4/mmap-anon.m4: Likewise.
21090         * m4/mountlist.m4: Likewise.
21091         * m4/nanosleep.m4: Likewise.
21092         * m4/nls.m4: Likewise.
21093         * m4/nocrash.m4: Likewise.
21094         * m4/open.m4: Likewise.
21095         * m4/openat.m4: Likewise.
21096         * m4/openmp.m4: Likewise.
21097         * m4/pathmax.m4: Likewise.
21098         * m4/perl.m4: Likewise.
21099         * m4/physmem.m4: Likewise.
21100         * m4/pipe.m4: Likewise.
21101         * m4/po.m4: Likewise.
21102         * m4/poll.m4: Likewise.
21103         * m4/posixtm.m4: Likewise.
21104         * m4/posixver.m4: Likewise.
21105         * m4/printf-frexp.m4: Likewise.
21106         * m4/printf-frexpl.m4: Likewise.
21107         * m4/printf-posix.m4: Likewise.
21108         * m4/printf-posix-rpl.m4: Likewise.
21109         * m4/printf.m4: Likewise.
21110         * m4/progtest.m4: Likewise.
21111         * m4/putenv.m4: Likewise.
21112         * m4/readline.m4: Likewise.
21113         * m4/readlink.m4: Likewise.
21114         * m4/readutmp.m4: Likewise.
21115         * m4/realloc.m4: Likewise.
21116         * m4/regex.m4: Likewise.
21117         * m4/relocatable.m4: Likewise.
21118         * m4/relocatable-lib.m4: Likewise.
21119         * m4/rename-dest-slash.m4: Likewise.
21120         * m4/rename.m4: Likewise.
21121         * m4/rmdir-errno.m4: Likewise.
21122         * m4/rmdir.m4: Likewise.
21123         * m4/roundf.m4: Likewise.
21124         * m4/roundl.m4: Likewise.
21125         * m4/rpmatch.m4: Likewise.
21126         * m4/save-cwd.m4: Likewise.
21127         * m4/selinux-selinux-h.m4: Likewise.
21128         * m4/setenv.m4: Likewise.
21129         * m4/settime.m4: Likewise.
21130         * m4/sig2str.m4: Likewise.
21131         * m4/sig_atomic_t.m4: Likewise.
21132         * m4/signalblocking.m4: Likewise.
21133         * m4/signbit.m4: Likewise.
21134         * m4/sigpipe.m4: Likewise.
21135         * m4/sockets.m4: Likewise.
21136         * m4/sockpfaf.m4: Likewise.
21137         * m4/st_dm_mode.m4: Likewise.
21138         * m4/stat-time.m4: Likewise.
21139         * m4/stdbool.m4: Likewise.
21140         * m4/stdint.m4: Likewise.
21141         * m4/stdint_h.m4: Likewise.
21142         * m4/stpcpy.m4: Likewise.
21143         * m4/stpncpy.m4: Likewise.
21144         * m4/strcase.m4: Likewise.
21145         * m4/strchrnul.m4: Likewise.
21146         * m4/strcspn.m4: Likewise.
21147         * m4/strdup.m4: Likewise.
21148         * m4/strftime.m4: Likewise.
21149         * m4/strndup.m4: Likewise.
21150         * m4/strnlen.m4: Likewise.
21151         * m4/strpbrk.m4: Likewise.
21152         * m4/strptime.m4: Likewise.
21153         * m4/strsep.m4: Likewise.
21154         * m4/strtod.m4: Likewise.
21155         * m4/strtoimax.m4: Likewise.
21156         * m4/strtok_r.m4: Likewise.
21157         * m4/strtol.m4: Likewise.
21158         * m4/strtoll.m4: Likewise.
21159         * m4/strtoul.m4: Likewise.
21160         * m4/strtoull.m4: Likewise.
21161         * m4/strtoumax.m4: Likewise.
21162         * m4/strverscmp.m4: Likewise.
21163         * m4/threadlib.m4: Likewise.
21164         * m4/timegm.m4: Likewise.
21165         * m4/tm_gmtoff.m4: Likewise.
21166         * m4/tmpdir.m4: Likewise.
21167         * m4/tmpfile.m4: Likewise.
21168         * m4/tzset.m4: Likewise.
21169         * m4/uintmax_t.m4: Likewise.
21170         * m4/unlinkdir.m4: Likewise.
21171         * m4/unlocked-io.m4: Likewise.
21172         * m4/uptime.m4: Likewise.
21173         * m4/userspec.m4: Likewise.
21174         * m4/utimbuf.m4: Likewise.
21175         * m4/utime.m4: Likewise.
21176         * m4/utimes-null.m4: Likewise.
21177         * m4/utimes.m4: Likewise.
21178         * m4/vararrays.m4: Likewise.
21179         * m4/vasnprintf.m4: Likewise.
21180         * m4/vfprintf-posix.m4: Likewise.
21181         * m4/vprintf-posix.m4: Likewise.
21182         * m4/wait-process.m4: Likewise.
21183         * m4/wchar_t.m4: Likewise.
21184         * m4/wint_t.m4: Likewise.
21185         * m4/write-any-file.m4: Likewise.
21186         * m4/yield.m4: Likewise.
21187
21188 2009-01-13  Bruno Haible  <bruno@clisp.org>
21189
21190         Avoid test-copy-file.sh failures when ACL support insufficient.
21191         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
21192         TESTS_ENVIRONMENT.
21193         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
21194         Reported by Jim Meyering.
21195
21196 2009-01-13  Bruno Haible  <bruno@clisp.org>
21197
21198         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
21199         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
21200         * modules/unistdio/u8-printf-parse (Files): Likewise.
21201         * modules/unistdio/u32-printf-parse (Files): Likewise.
21202         * modules/unistdio/ulc-printf-parse (Files): Likewise.
21203
21204 2009-01-13  Simon Josefsson  <simon@josefsson.org>
21205
21206         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
21207         and m4/inttypes_h.m4 too.
21208
21209 2009-01-12  Eric Blake  <ebb9@byu.net>
21210
21211         tests: IRIX 6.2 cc can't compile -0.0 into .data
21212         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
21213         rather than at compile-time.
21214         * tests/test-floorl.c (minus_zero): Likewise.
21215         * tests/test-frexpl.c (minus_zero): Likewise.
21216         * tests/test-isnan.c (minus_zerol): Likewise.
21217         * tests/test-isnanl.h (minus_zero): Likewise.
21218         * tests/test-ldexpl.c (minus_zero): Likewise.
21219         * tests/test-roundl.c (minus_zero): Likewise.
21220         * tests/test-signbit.c (minus_zerol): Likewise.
21221         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
21222         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
21223         * tests/test-truncl.c (minus_zero): Likewise.
21224         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
21225         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
21226         Reported by Tom G. Christensen and Nelson H. F. Beebe.
21227
21228 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
21229
21230         regex: fix glibc bug 9697
21231         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
21232         handling.
21233
21234 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
21235
21236         regex: fix glibc bug 697
21237         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
21238         being NULL also if there are no backreferences.
21239
21240 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
21241
21242         regex: merge glibc changes
21243         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
21244         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
21245         re_string_skip_chars, re_string_reconstruct): Likewise.
21246         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
21247
21248 2009-01-07  Jim Meyering  <meyering@redhat.com>
21249
21250         poll: filter through cppi
21251         * lib/poll.c: Indent cpp directives to reflect nesting.
21252
21253 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
21254
21255         poll: don't return uninitialized
21256         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
21257
21258 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
21259
21260         avoid compile failure on AIX 6.1
21261         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
21262         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
21263
21264 2009-01-04  Jim Meyering  <meyering@redhat.com>
21265
21266         remove duplicate inclusion of <stdio.h>
21267         * tests/test-fprintf-posix.c: Likewise.
21268         * tests/test-printf-posix.c: Likewise.
21269         * tests/test-snprintf-posix.c: Likewise.
21270         * tests/test-sprintf-posix.c: Likewise.
21271         * tests/test-vasprintf-posix.c: Likewise.
21272         * tests/test-vfprintf-posix.c: Likewise.
21273         * tests/test-vprintf-posix.c: Likewise.
21274         * tests/test-vsnprintf-posix.c: Likewise.
21275         * tests/test-vsprintf-posix.c: Likewise.
21276
21277 2009-01-03  Jim Meyering  <meyering@redhat.com>
21278
21279         gnulib-tool: fix sed-based filtering
21280         * gnulib-tool (func_filter_filelist): Remove extra backslash
21281         in sed_fff_filter definition.
21282
21283 2009-01-02  Jim Meyering  <meyering@redhat.com>
21284
21285         strftime: avoid compilation failure on Solaris 2.6
21286         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
21287         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
21288         Don't #define mbrlen or mbsinit, since now they're guaranteed to
21289         be available.  Reported by Tom G. Christensen.  Details in
21290         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
21291
21292 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21293             Bruno Haible  <bruno@clisp.org>
21294
21295         Speed up gnulib-tool by doing more string processing through shell
21296         built-ins.
21297         * gnulib-tool (fast_func_append): New variable.
21298         (func_remove_prefix, func_remove_suffix): New functions.
21299         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
21300         (func_filter_filelist): New function.
21301         (func_get_dependencies): Use func_remove_suffix instead of sed.
21302         (func_get_automake_snippet): Use func_filter_filelist instead of a
21303         subshell and sed invocation.
21304
21305 2009-01-01  Bruno Haible  <bruno@clisp.org>
21306
21307         Fix a security bug.
21308         * gnulib-tool (func_import, import, update): Don't allow the characters
21309         '"', '$', '`', '\' in macro arguments that become part of commands that
21310         are evaluated.
21311
21312 2009-01-01  Bruno Haible  <bruno@clisp.org>
21313
21314         * gnulib-tool (func_reset_sigpipe): Add more comments.
21315
21316 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21317
21318         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
21319         func_emit_tests_Makefile_am, func_import): Abort loops early if we
21320         already know the answer.
21321
21322 2009-01-01  Jim Meyering  <meyering@redhat.com>
21323
21324         * lib/version-etc.c (version_etc_va): Update copyright year.
21325
21326 2008-12-30  Bruno Haible  <bruno@clisp.org>
21327
21328         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
21329         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
21330         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
21331
21332 2008-12-29  Eric Blake  <ebb9@byu.net>
21333
21334         multiarch: avoid autoconf AC_REQUIRE bug
21335         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
21336         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
21337         2.63 and older.
21338         Reported by Bruno Haible, and analyzed in
21339         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
21340
21341 2008-12-29  Bruno Haible  <bruno@clisp.org>
21342
21343         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
21344         files in subdirectories correctly.
21345         Reported by Ralf Wildenhues.
21346
21347 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21348
21349         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
21350         rather than 'join FILE -', for Solaris join.
21351
21352 2008-12-29  Bruno Haible  <bruno@clisp.org>
21353
21354         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
21355         quoting.
21356         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
21357         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
21358         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
21359         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
21360         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
21361         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
21362         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
21363         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
21364         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
21365         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
21366         * m4/nls.m4 (AM_NLS): Likewise.
21367         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
21368         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
21369         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
21370         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
21371         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
21372         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
21373         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
21374         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
21375         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
21376         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
21377         * m4/xsize.m4 (gl_XSIZE): Likewise.
21378         Suggested by Jim Meyering.
21379
21380 2008-11-17  Bruce Korb  <bkorb@gnu.org>
21381
21382         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
21383         * lib/parse-duration.c: use a switch instead of cascading if's.
21384
21385 2008-12-29  Eric Blake  <ebb9@byu.net>
21386
21387         wchar.h: supply WEOF on Irix 5.3
21388         * lib/wchar.in.h (wint_t): Also supply WEOF.
21389         * lib/wctype.in.h (wint_t): Likewise.
21390         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
21391         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
21392         Reported by Tom G. Christensen.
21393
21394 2008-12-26  Bruno Haible  <bruno@clisp.org>
21395
21396         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
21397         i486, i586, i686.
21398
21399 2008-12-26  Bruno Haible  <bruno@clisp.org>
21400
21401         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
21402
21403 2008-12-26  Bruno Haible  <bruno@clisp.org>
21404
21405         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
21406         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
21407         not __STDC_CONSTANT_MACROS.
21408         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
21409
21410 2008-12-25  Bruno Haible  <bruno@clisp.org>
21411
21412         Add support for universal builds to vasnprintf.
21413         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
21414         universal builds, guess no.
21415         * modules/vasnprintf-posix (Depends-on): Add multiarch.
21416         * modules/vasprintf-posix (Depends-on): Likewise.
21417         * modules/fprintf-posix (Depends-on): Likewise.
21418         * modules/vfprintf-posix (Depends-on): Likewise.
21419         * modules/snprintf-posix (Depends-on): Likewise.
21420         * modules/vsnprintf-posix (Depends-on): Likewise.
21421         * modules/sprintf-posix (Depends-on): Likewise.
21422         * modules/vsprintf-posix (Depends-on): Likewise.
21423         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
21424         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
21425         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
21426         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
21427         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
21428         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
21429         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
21430
21431         Add support for universal builds to <inttypes.h>.
21432         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
21433         _SCNu64_PREFIX): In Apple
21434         universal builds, define directly, using _LP64.
21435         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
21436         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
21437         * modules/inttypes (Depends-on): Add multiarch.
21438         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
21439
21440         Add support for universal builds to <stdint.h>.
21441         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
21442         universal builds, define directly, using _LP64.
21443         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
21444         Apple universal builds, don't test for the size and suffix of ptrdiff_t
21445         and size_t.
21446         * modules/stdint (Depends-on): Add multiarch.
21447         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
21448
21449         New module 'multiarch'.
21450         * modules/multiarch: New file.
21451         * m4/multiarch.m4: New file.
21452
21453 2008-12-25  Bruno Haible  <bruno@clisp.org>
21454
21455         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
21456
21457 2008-12-25  Bruno Haible  <bruno@clisp.org>
21458
21459         * modules/btowc (License): Relicense under LGPLv2+.
21460         * modules/mbsinit (License): Likewise.
21461         * modules/mbrtowc (License): Likewise.
21462         * modules/wcrtomb (License): Likewise.
21463         * modules/streq (License): Likewise.
21464         Reported by David Lutterkort <lutter@redhat.com>.
21465
21466 2008-12-23  Bruno Haible  <bruno@clisp.org>
21467
21468         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
21469
21470 2008-12-23  Bruno Haible  <bruno@clisp.org>
21471
21472         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
21473         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
21474         GETADDRINFO_LIB, not in LIBS.
21475         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
21476         * modules/canon-host (Link): Likewise.
21477         * NEWS: Mention the change.
21478         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
21479         GETADDRINFO_LIB.
21480
21481 2008-12-22  Bruno Haible  <bruno@clisp.org>
21482
21483         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
21484         * doc/posix-functions/iswalpha_l.texi: Likewise.
21485         * doc/posix-functions/iswblank_l.texi: Likewise.
21486         * doc/posix-functions/iswcntrl_l.texi: Likewise.
21487         * doc/posix-functions/iswctype_l.texi: Likewise.
21488         * doc/posix-functions/iswdigit_l.texi: Likewise.
21489         * doc/posix-functions/iswgraph_l.texi: Likewise.
21490         * doc/posix-functions/iswlower_l.texi: Likewise.
21491         * doc/posix-functions/iswprint_l.texi: Likewise.
21492         * doc/posix-functions/iswpunct_l.texi: Likewise.
21493         * doc/posix-functions/iswspace_l.texi: Likewise.
21494         * doc/posix-functions/iswupper_l.texi: Likewise.
21495         * doc/posix-functions/iswxdigit_l.texi: Likewise.
21496         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
21497         * doc/posix-functions/open_wmemstream.texi: Likewise.
21498         * doc/posix-functions/swscanf.texi: Likewise.
21499         * doc/posix-functions/towctrans_l.texi: Likewise.
21500         * doc/posix-functions/towlower.texi: Likewise.
21501         * doc/posix-functions/towlower_l.texi: Likewise.
21502         * doc/posix-functions/towupper.texi: Likewise.
21503         * doc/posix-functions/towupper_l.texi: Likewise.
21504         * doc/posix-functions/vfwprintf.texi: Likewise.
21505         * doc/posix-functions/vfwscanf.texi: Likewise.
21506         * doc/posix-functions/vswscanf.texi: Likewise.
21507         * doc/posix-functions/vwprintf.texi: Likewise.
21508         * doc/posix-functions/vwscanf.texi: Likewise.
21509         * doc/posix-functions/wcpcpy.texi: Likewise.
21510         * doc/posix-functions/wcpncpy.texi: Likewise.
21511         * doc/posix-functions/wcscasecmp.texi: Likewise.
21512         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
21513         * doc/posix-functions/wcscoll_l.texi: Likewise.
21514         * doc/posix-functions/wcsdup.texi: Likewise.
21515         * doc/posix-functions/wcsncasecmp.texi: Likewise.
21516         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
21517         * doc/posix-functions/wcsnlen.texi: Likewise.
21518         * doc/posix-functions/wcsnrtombs.texi: Likewise.
21519         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
21520         * doc/posix-functions/wctrans_l.texi: Likewise.
21521         * doc/posix-functions/wctype_l.texi: Likewise.
21522         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
21523         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
21524         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
21525         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
21526         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
21527         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
21528         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
21529         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
21530         * doc/glibc-functions/wcschrnul.texi: Likewise.
21531         * doc/glibc-functions/wcsftime_l.texi: Likewise.
21532         * doc/glibc-functions/wcstod_l.texi: Likewise.
21533         * doc/glibc-functions/wcstof_l.texi: Likewise.
21534         * doc/glibc-functions/wcstol_l.texi: Likewise.
21535         * doc/glibc-functions/wcstold_l.texi: Likewise.
21536         * doc/glibc-functions/wcstoll_l.texi: Likewise.
21537         * doc/glibc-functions/wcstoq.texi: Likewise.
21538         * doc/glibc-functions/wcstoul_l.texi: Likewise.
21539         * doc/glibc-functions/wcstoull_l.texi: Likewise.
21540         * doc/glibc-functions/wcstouq.texi: Likewise.
21541         * doc/glibc-functions/wmempcpy.texi: Likewise.
21542
21543 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
21544             Eric Blake  <ebb9@byu.net>
21545             Paolo Bonzini  <bonzini@gnu.org>
21546             Bruno Haible  <bruno@clisp.org>
21547
21548         Make c-stack work on Haiku.
21549         * lib/c-stack.c (SA_ONSTACK): Define fallback.
21550         (c_stack_action): Use SA_ONSTACK flag.
21551
21552 2008-12-22  Bruno Haible  <bruno@clisp.org>
21553
21554         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
21555
21556 2008-12-22  Bruno Haible  <bruno@clisp.org>
21557
21558         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
21559         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
21560         being overridden.
21561         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
21562         New macros.
21563         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
21564         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
21565         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
21566         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
21567
21568 2008-12-22  Bruno Haible  <bruno@clisp.org>
21569
21570         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
21571         from test code.
21572
21573 2008-12-22  Eric Blake  <ebb9@byu.net>
21574
21575         Avoid gcc warnings on cygwin.
21576         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
21577         Avoid unused variable.
21578         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
21579         Likewise.
21580
21581 2008-12-22  Bruno Haible  <bruno@clisp.org>
21582
21583         Remove HAVE_MBRTOWC conditionals.
21584         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
21585         (mbscasecmp): Assume mbrtowc function.
21586         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
21587         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
21588         * lib/mbschr.c: Include mbuiter.h unconditionally.
21589         (mbschr): Assume mbrtowc function.
21590         * lib/mbscspn.c: Include mbuiter.h unconditionally.
21591         (mbscspn): Assume mbrtowc function.
21592         * lib/mbslen.c: Include mbuiter.h unconditionally.
21593         (mbslen): Assume mbrtowc function.
21594         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
21595         (mbsncasecmp): Assume mbrtowc function.
21596         * lib/mbsnlen.c: Include mbiter.h unconditionally.
21597         (mbsnlen): Assume mbrtowc function.
21598         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
21599         (mbspbrk): Assume mbrtowc function.
21600         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
21601         (mbspcasecmp): Assume mbrtowc function.
21602         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
21603         (mbsrchr): Assume mbrtowc function.
21604         * lib/mbssep.c: Include mbuiter.h unconditionally.
21605         (mbssep): Assume mbrtowc function.
21606         * lib/mbsspn.c: Include mbuiter.h unconditionally.
21607         (mbsspn): Assume mbrtowc function.
21608         * lib/mbsstr.c: Include mbuiter.h unconditionally.
21609         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
21610         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
21611         (mbstok_r): Assume mbrtowc function.
21612         * lib/propername.c: Include mbuiter.h unconditionally.
21613         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
21614         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
21615         (trim2): Assume mbrtowc function.
21616         * lib/mbswidth.c (mbsinit): Remove fallback definition.
21617         (mbsnwidth): Assume mbrtowc function.
21618         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
21619         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
21620         fallback definitions.
21621         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
21622
21623 2008-12-22  Bruno Haible  <bruno@clisp.org>
21624
21625         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
21626
21627 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
21628
21629         * modules/regex: Request emulations for the mb*/wc* functions we need.
21630         * m4/regex.m4: Don't look for those functions here.
21631         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
21632
21633 2008-12-22  Bruno Haible  <bruno@clisp.org>
21634
21635         * modules/fnmatch (Depends-on): Remove duplicated dependency.
21636
21637 2008-12-21  Bruno Haible  <bruno@clisp.org>
21638
21639         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
21640         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
21641         (Include): Remove conditionalization.
21642         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
21643         (Include): Remove conditionalization.
21644         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
21645         (Include): Remove conditionalization.
21646         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
21647         * m4/mbfile.m4 (gl_MBFILE): Likewise.
21648         * NEWS: Mention the change.
21649         Reported by Alan Hourihane <alanh@fairlite.co.uk>
21650         via Sergey Poznyakoff <gray@gnu.org.ua>.
21651
21652 2008-12-21  Bruno Haible  <bruno@clisp.org>
21653
21654         * MODULES.html.sh (Extended multibyte and wide character utilities
21655         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
21656         wcrtomb, wcsrtombs.
21657         (Support for systems lacking POSIX:2008): Add accept, bind, close,
21658         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
21659         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
21660         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
21661
21662 2008-12-21  Bruno Haible  <bruno@clisp.org>
21663
21664         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
21665
21666 2008-12-21  Bruno Haible  <bruno@clisp.org>
21667
21668         * modules/wcsnrtombs-tests: New file.
21669         * tests/test-wcsnrtombs1.sh: New file.
21670         * tests/test-wcsnrtombs2.sh: New file.
21671         * tests/test-wcsnrtombs3.sh: New file.
21672         * tests/test-wcsnrtombs4.sh: New file.
21673         * tests/test-wcsnrtombs.c: New file.
21674
21675         New module 'wcsnrtombs'.
21676         * lib/wchar.in.h (wcsnrtombs): New declaration.
21677         * lib/wcsnrtombs.c: New file.
21678         * lib/wcsrtombs-state.c: New file.
21679         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
21680         (internal_state): Remove variable.
21681         * m4/wcsnrtombs.m4: New file.
21682         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
21683         compilation units.
21684         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
21685         HAVE_WCSNRTOMBS.
21686         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
21687         HAVE_WCSNRTOMBS.
21688         * modules/wcsnrtombs: New file.
21689         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
21690         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
21691
21692 2008-12-21  Bruno Haible  <bruno@clisp.org>
21693
21694         * modules/wcsrtombs-tests: New file.
21695         * tests/test-wcsrtombs1.sh: New file.
21696         * tests/test-wcsrtombs2.sh: New file.
21697         * tests/test-wcsrtombs3.sh: New file.
21698         * tests/test-wcsrtombs4.sh: New file.
21699         * tests/test-wcsrtombs.c: New file.
21700
21701         New module 'wcsrtombs'.
21702         * lib/wchar.in.h (wcsrtombs): New declaration.
21703         * lib/wcsrtombs.c: New file.
21704         * m4/wcsrtombs.m4: New file.
21705         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
21706         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
21707         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
21708         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
21709         * modules/wcsrtombs: New file.
21710         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
21711         bugs.
21712
21713 2008-12-21  Bruno Haible  <bruno@clisp.org>
21714
21715         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
21716         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
21717         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
21718         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
21719         if not correct.
21720         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
21721         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
21722         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
21723         m4/locale-zh.m4, m4/codeset.m4.
21724         * doc/posix-functions/wcrtomb.texi: Document the bug.
21725
21726 2008-12-21  Bruno Haible  <bruno@clisp.org>
21727
21728         Work around a btowc() bug on IRIX 6.5.
21729         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
21730         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
21731         REPLACE_WTOBC if not.
21732         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
21733         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
21734         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
21735
21736 2008-12-21  Bruno Haible  <bruno@clisp.org>
21737
21738         * modules/wcrtomb-tests: New file.
21739         * tests/test-wcrtomb.sh: New file.
21740         * tests/test-wcrtomb.c: New file.
21741
21742         New module 'wcrtomb'.
21743         * lib/wchar.in.h (wcrtomb): New declaration.
21744         * lib/wcrtomb.c: New file.
21745         * m4/wcrtomb.m4: New file.
21746         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
21747         HAVE_WCRTOMB.
21748         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
21749         HAVE_WCRTOMB.
21750         * modules/wcrtomb: New file.
21751         * doc/posix-functions/wcrtomb.texi: Mention the new module.
21752
21753 2008-12-21  Bruno Haible  <bruno@clisp.org>
21754
21755         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
21756         * modules/mbsrtowcs (Files): Likewise.
21757         * modules/wctob (Files): Likewise.
21758         * modules/c-strcase-tests (Files): Likewise.
21759         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
21760         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
21761         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
21762         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
21763         * modules/vasnprintf-posix-tests (Files): Likewise.
21764
21765 2008-12-21  William Pursell  <bill.pursell@gmail.com>
21766
21767         gitlog-to-changelog: pass all command-line arguments to git-log
21768         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
21769         it is sometimes convenient to filter the commits in various ways.
21770         gitlog-to-changelog only allows --since to specify a start date,
21771         but git-log itself supports many other filtering mechanisms.
21772         At the moment, I want to filter by branch name.  Rather than
21773         adding a --branch option to gitlog-to-changelog, it seems more
21774         flexible to simply pass all options directly to git-log and let
21775         git do the work.  Notice that this effectively makes --since a
21776         redundant option for gitlog-to-changelog, but removing it would
21777         require current usage to change since calls would then require
21778         an additional '--'.
21779
21780 2008-12-21  Bruno Haible  <bruno@clisp.org>
21781
21782         * modules/mbsnrtowcs-tests: New file.
21783         * tests/test-mbsnrtowcs1.sh: New file.
21784         * tests/test-mbsnrtowcs2.sh: New file.
21785         * tests/test-mbsnrtowcs3.sh: New file.
21786         * tests/test-mbsnrtowcs4.sh: New file.
21787         * tests/test-mbsnrtowcs.c: New file.
21788
21789         New module 'mbsnrtowcs'.
21790         * lib/wchar.in.h (mbsnrtowcs): New declaration.
21791         * lib/mbsnrtowcs.c: New file.
21792         * lib/mbsrtowcs-state.c: New file.
21793         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
21794         (internal_state): Remove variable.
21795         * m4/mbsnrtowcs.m4: New file.
21796         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
21797         compilation units.
21798         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
21799         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
21800         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
21801         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
21802         * modules/mbsnrtowcs: New file.
21803         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
21804         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
21805         portability problem.
21806
21807 2008-12-21  Bruno Haible  <bruno@clisp.org>
21808
21809         Work around mbsrtowcs bug.
21810         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
21811         (gl_FUNC_MBSRTOWCS): Invoke it.
21812         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
21813         m4/locale-zh.m4.
21814         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
21815
21816 2008-12-21  Bruno Haible  <bruno@clisp.org>
21817
21818         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
21819
21820 2008-12-21  Bruno Haible  <bruno@clisp.org>
21821
21822         Update doc for AIX.
21823         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
21824         16-bit wchar_t type.
21825         * doc/posix-functions/btowc.texi: Likewise.
21826         * doc/posix-functions/fgetwc.texi: Likewise.
21827         * doc/posix-functions/fgetws.texi: Likewise.
21828         * doc/posix-functions/fputwc.texi: Likewise.
21829         * doc/posix-functions/fputws.texi: Likewise.
21830         * doc/posix-functions/fwide.texi: Likewise.
21831         * doc/posix-functions/fwprintf.texi: Likewise.
21832         * doc/posix-functions/fwscanf.texi: Likewise.
21833         * doc/posix-functions/getwchar.texi: Likewise.
21834         * doc/posix-functions/getwc.texi: Likewise.
21835         * doc/posix-functions/iswalnum.texi: Likewise.
21836         * doc/posix-functions/iswalpha.texi: Likewise.
21837         * doc/posix-functions/iswblank.texi: Likewise.
21838         * doc/posix-functions/iswcntrl.texi: Likewise.
21839         * doc/posix-functions/iswctype.texi: Likewise.
21840         * doc/posix-functions/iswdigit.texi: Likewise.
21841         * doc/posix-functions/iswgraph.texi: Likewise.
21842         * doc/posix-functions/iswlower.texi: Likewise.
21843         * doc/posix-functions/iswprint.texi: Likewise.
21844         * doc/posix-functions/iswpunct.texi: Likewise.
21845         * doc/posix-functions/iswspace.texi: Likewise.
21846         * doc/posix-functions/iswupper.texi: Likewise.
21847         * doc/posix-functions/iswxdigit.texi: Likewise.
21848         * doc/posix-functions/mbrtowc.texi: Likewise.
21849         * doc/posix-functions/mbsrtowcs.texi: Likewise.
21850         * doc/posix-functions/mbstowcs.texi: Likewise.
21851         * doc/posix-functions/mbtowc.texi: Likewise.
21852         * doc/posix-functions/putwchar.texi: Likewise.
21853         * doc/posix-functions/putwc.texi: Likewise.
21854         * doc/posix-functions/swprintf.texi: Likewise.
21855         * doc/posix-functions/tolower.texi: Likewise.
21856         * doc/posix-functions/toupper.texi: Likewise.
21857         * doc/posix-functions/towctrans.texi: Likewise.
21858         * doc/posix-functions/ungetwc.texi: Likewise.
21859         * doc/posix-functions/vswprintf.texi: Likewise.
21860         * doc/posix-functions/wcrtomb.texi: Likewise.
21861         * doc/posix-functions/wcscat.texi: Likewise.
21862         * doc/posix-functions/wcschr.texi: Likewise.
21863         * doc/posix-functions/wcscmp.texi: Likewise.
21864         * doc/posix-functions/wcscoll.texi: Likewise.
21865         * doc/posix-functions/wcscpy.texi: Likewise.
21866         * doc/posix-functions/wcscspn.texi: Likewise.
21867         * doc/posix-functions/wcsftime.texi: Likewise.
21868         * doc/posix-functions/wcslen.texi: Likewise.
21869         * doc/posix-functions/wcsncat.texi: Likewise.
21870         * doc/posix-functions/wcsncmp.texi: Likewise.
21871         * doc/posix-functions/wcsncpy.texi: Likewise.
21872         * doc/posix-functions/wcspbrk.texi: Likewise.
21873         * doc/posix-functions/wcsrchr.texi: Likewise.
21874         * doc/posix-functions/wcsrtombs.texi: Likewise.
21875         * doc/posix-functions/wcsspn.texi: Likewise.
21876         * doc/posix-functions/wcsstr.texi: Likewise.
21877         * doc/posix-functions/wcstod.texi: Likewise.
21878         * doc/posix-functions/wcstof.texi: Likewise.
21879         * doc/posix-functions/wcstoimax.texi: Likewise.
21880         * doc/posix-functions/wcstok.texi: Likewise.
21881         * doc/posix-functions/wcstold.texi: Likewise.
21882         * doc/posix-functions/wcstoll.texi: Likewise.
21883         * doc/posix-functions/wcstol.texi: Likewise.
21884         * doc/posix-functions/wcstombs.texi: Likewise.
21885         * doc/posix-functions/wcstoull.texi: Likewise.
21886         * doc/posix-functions/wcstoul.texi: Likewise.
21887         * doc/posix-functions/wcstoumax.texi: Likewise.
21888         * doc/posix-functions/wcswidth.texi: Likewise.
21889         * doc/posix-functions/wcsxfrm.texi: Likewise.
21890         * doc/posix-functions/wctob.texi: Likewise.
21891         * doc/posix-functions/wctomb.texi: Likewise.
21892         * doc/posix-functions/wctrans.texi: Likewise.
21893         * doc/posix-functions/wctype.texi: Likewise.
21894         * doc/posix-functions/wcwidth.texi: Likewise.
21895         * doc/posix-functions/wmemchr.texi: Likewise.
21896         * doc/posix-functions/wmemcmp.texi: Likewise.
21897         * doc/posix-functions/wmemcpy.texi: Likewise.
21898         * doc/posix-functions/wmemmove.texi: Likewise.
21899         * doc/posix-functions/wmemset.texi: Likewise.
21900         * doc/posix-functions/wprintf.texi: Likewise.
21901         * doc/posix-functions/wscanf.texi: Likewise.
21902
21903 2008-12-21  Bruno Haible  <bruno@clisp.org>
21904
21905         Update doc for HP-UX 11.11.
21906         * doc/posix-functions/btowc.texi: Clarify that the function is missing
21907         in HP-UX version 11.00, not in all versions of HP-UX 11.
21908         * doc/posix-functions/fwide.texi: Likewise.
21909         * doc/posix-functions/fwprintf.texi: Likewise.
21910         * doc/posix-functions/fwscanf.texi: Likewise.
21911         * doc/posix-functions/inet_ntop.texi: Likewise.
21912         * doc/posix-functions/inet_pton.texi: Likewise.
21913         * doc/posix-functions/mbrlen.texi: Likewise.
21914         * doc/posix-functions/mbrtowc.texi: Likewise.
21915         * doc/posix-functions/mbsinit.texi: Likewise.
21916         * doc/posix-functions/mbsrtowcs.texi: Likewise.
21917         * doc/posix-functions/swprintf.texi: Likewise.
21918         * doc/posix-functions/swscanf.texi: Likewise.
21919         * doc/posix-functions/towctrans.texi: Likewise.
21920         * doc/posix-functions/vfwprintf.texi: Likewise.
21921         * doc/posix-functions/vswprintf.texi: Likewise.
21922         * doc/posix-functions/vwprintf.texi: Likewise.
21923         * doc/posix-functions/wcrtomb.texi: Likewise.
21924         * doc/posix-functions/wcsrtombs.texi: Likewise.
21925         * doc/posix-functions/wcsstr.texi: Likewise.
21926         * doc/posix-functions/wctob.texi: Likewise.
21927         * doc/posix-functions/wctrans.texi: Likewise.
21928         * doc/posix-functions/wmemchr.texi: Likewise.
21929         * doc/posix-functions/wmemcmp.texi: Likewise.
21930         * doc/posix-functions/wmemcpy.texi: Likewise.
21931         * doc/posix-functions/wmemmove.texi: Likewise.
21932         * doc/posix-functions/wmemset.texi: Likewise.
21933         * doc/posix-functions/wprintf.texi: Likewise.
21934         * doc/posix-functions/wscanf.texi: Likewise.
21935
21936 2008-12-21  Bruno Haible  <bruno@clisp.org>
21937
21938         Work around a portability problem.
21939         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
21940         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
21941
21942 2008-12-20  Bruno Haible  <bruno@clisp.org>
21943
21944         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
21945         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
21946         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
21947         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
21948         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
21949
21950         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
21951         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
21952         set.
21953         (GNULIB_defined_mbstate_t): New macro.
21954         (mbsinit): Redefine if REPLACE_MBSINIT is set.
21955         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
21956         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
21957         reuses the system's mbrtowc function but works around the bugs.
21958         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
21959         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
21960         macros.
21961         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
21962         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
21963         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
21964         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
21965         REPLACE_MBSINIT if mbsinit needs to be overridden.
21966         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
21967         REPLACE_MBSINIT, REPLACE_MBRTOWC.
21968         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
21969         REPLACE_MBSINIT, REPLACE_MBRTOWC.
21970         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
21971         m4/locale-zh.m4.
21972         (Depends): Add mbsinit.
21973         * modules/mbsinit (Depends): Add mbrtowc.
21974         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
21975
21976 2008-12-20  Bruno Haible  <bruno@clisp.org>
21977
21978         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
21979         so that there are no conversion errors on AIX.
21980         * tests/test-mbsrtowcs.c (main): LIkewise.
21981
21982 2008-12-20  Bruno Haible  <bruno@clisp.org>
21983
21984         Work around wctob bug on Solaris <= 9.
21985         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
21986         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
21987         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
21988         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
21989         * modules/wctob (Files): Add m4/locale-fr.m4.
21990         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
21991
21992 2008-12-20  Bruno Haible  <bruno@clisp.org>
21993
21994         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
21995         /dev/null.
21996         * tests/test-select-in.sh: Likewise.
21997         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
21998
21999 2008-12-20  Bruno Haible  <bruno@clisp.org>
22000
22001         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
22002         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
22003         Cygwin 1.5.x.
22004
22005 2008-12-20  Bruno Haible  <bruno@clisp.org>
22006
22007         Ensure mbstate_t is defined on HP-UX 11.11.
22008         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
22009         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
22010         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
22011         AC_USE_SYSTEM_EXTENSIONS.
22012         * modules/fnmatch (Depends-on): Add extensions.
22013         * modules/mbrlen (Depends-on): Likewise.
22014         * modules/mbrtowc (Depends-on): Likewise.
22015         * modules/mbsinit (Depends-on): Likewise.
22016         * modules/mbsrtowcs (Depends-on): Likewise.
22017         * modules/mbswidth (Depends-on): Likewise.
22018         * modules/quotearg (Depends-on): Likewise.
22019         * modules/strftime (Depends-on): Likewise.
22020
22021 2008-12-20  Bruno Haible  <bruno@clisp.org>
22022
22023         Ensure wctob is declared on IRIX 6.5.
22024         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
22025         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
22026         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
22027         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
22028         of HAVE_WCTOB.
22029         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
22030         HAVE_WCTOB.
22031         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
22032
22033 2008-12-19  Bruno Haible  <bruno@clisp.org>
22034
22035         * modules/mbsrtowcs-tests: New file.
22036         * tests/test-mbsrtowcs1.sh: New file.
22037         * tests/test-mbsrtowcs2.sh: New file.
22038         * tests/test-mbsrtowcs3.sh: New file.
22039         * tests/test-mbsrtowcs4.sh: New file.
22040         * tests/test-mbsrtowcs.c: New file.
22041
22042         New module 'mbsrtowcs'.
22043         * lib/wchar.in.h (mbsrtowcs): New declaration.
22044         * lib/mbsrtowcs.c: New file.
22045         * m4/mbsrtowcs.m4: New file.
22046         * modules/mbsrtowcs: New file.
22047         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
22048         HAVE_MBSRTOWCS.
22049         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
22050         HAVE_MBSRTOWCS.
22051         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
22052
22053 2008-12-19  Bruno Haible  <bruno@clisp.org>
22054
22055         New module 'mbrlen'.
22056         * lib/wchar.in.h (mbrlen): New declaration.
22057         * lib/mbrlen.c: New file.
22058         * m4/mbrlen.m4: New file.
22059         * modules/mbrlen: New file.
22060         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
22061         HAVE_MBRLEN.
22062         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
22063         HAVE_MBRLEN.
22064         * doc/posix-functions/mbrlen.texi: Document the new module.
22065
22066 2008-12-19  Bruno Haible  <bruno@clisp.org>
22067
22068         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
22069         * modules/mbrtowc (Depends-on): Add verify.
22070         Suggested by Paul Eggert.
22071
22072 2008-12-18  Bruno Haible  <bruno@clisp.org>
22073
22074         * modules/mbsinit-tests: New file.
22075         * tests/test-mbsinit.sh: New file.
22076         * tests/test-mbsinit.c: New file.
22077
22078 2008-12-18  Bruno Haible  <bruno@clisp.org>
22079
22080         * modules/mbrtowc-tests: New file.
22081         * tests/test-mbrtowc1.sh: New file.
22082         * tests/test-mbrtowc2.sh: New file.
22083         * tests/test-mbrtowc3.sh: New file.
22084         * tests/test-mbrtowc4.sh: New file.
22085         * tests/test-mbrtowc.c: New file.
22086
22087         New module 'mbrtowc'.
22088         * lib/wchar.in.h (mbstate_t): Override when the system does not have
22089         mbsinit and mbrtowc.
22090         (mbrtowc): New declaration.
22091         * lib/mbrtowc.c: New file.
22092         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
22093         * modules/mbrtowc: New file.
22094         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
22095         HAVE_MBRTOWC.
22096         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
22097         HAVE_MBRTOWC.
22098         * doc/posix-functions/mbrtowc.texi: Document the new module.
22099
22100 2008-12-18  Bruno Haible  <bruno@clisp.org>
22101
22102         New module 'wctob'.
22103         * lib/wchar.in.h (wctob): New declaration.
22104         * lib/wctob.c: New file.
22105         * m4/wctob.m4: New file.
22106         * modules/wctob: New file.
22107         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
22108         HAVE_WCTOB.
22109         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
22110         * doc/posix-functions/wctob.texi: Document the new module.
22111
22112 2008-12-18  Bruno Haible  <bruno@clisp.org>
22113
22114         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
22115         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
22116
22117 2008-12-18  Simon Josefsson  <simon@josefsson.org>
22118
22119         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
22120         G. Christensen" <tgc@jupiterrise.com>.
22121
22122         * lib/flock.c: Need to include errno.h.  Reported by "Tom
22123         G. Christensen" <tgc@jupiterrise.com>.
22124
22125         * lib/flock.c: Need to include string.h.  Reported by "Tom
22126         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
22127         <ebb9@byu.net>.
22128
22129 2008-12-18  Bruno Haible  <bruno@clisp.org>
22130
22131         * m4/locale-ja.m4: New file, from GNU gettext.
22132
22133 2008-12-17  Bruno Haible  <bruno@clisp.org>
22134
22135         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
22136         Suggested by Eric Blake.
22137
22138 2008-12-17  Bruno Haible  <bruno@clisp.org>
22139
22140         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
22141
22142 2008-12-17  Bruno Haible  <bruno@clisp.org>
22143
22144         * lib/mbsinit.c: Include verify.h. Verify an assumption.
22145         * modules/mbsinit (Depends-on): Add verify.
22146         Suggested by Paul Eggert.
22147
22148 2008-12-17  Bruno Haible  <bruno@clisp.org>
22149
22150         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
22151         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
22152         gl_FUNC_MBRTOWC.
22153         * m4/mbiter.m4 (gl_MBITER): LIkewise.
22154         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
22155         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
22156         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
22157         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
22158         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
22159         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
22160         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
22161         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
22162         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
22163         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
22164         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
22165         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
22166         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
22167         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
22168         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
22169         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
22170         * modules/trim (configure.ac): Likewise.
22171
22172 2008-12-17  Bruno Haible  <bruno@clisp.org>
22173
22174         * modules/btowc-tests: New file.
22175         * tests/test-btowc1.sh: New file.
22176         * tests/test-btowc2.sh: New file.
22177         * tests/test-btowc.c: New file.
22178
22179         New module 'btowc'.
22180         * lib/wchar.in.h (btowc): New declaration.
22181         * lib/btowc.c: New file.
22182         * m4/btowc.m4: New file.
22183         * modules/btowc: New file.
22184         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
22185         HAVE_BTOWC.
22186         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
22187         * doc/posix-functions/btowc.texi: Document the new module.
22188
22189 2008-12-17  Bruno Haible  <bruno@clisp.org>
22190
22191         New module 'mbsinit'.
22192         * lib/wchar.in.h (mbsinit): New declaration.
22193         * lib/mbsinit.c: New file.
22194         * m4/mbsinit.m4: New file.
22195         * modules/mbsinit: New file.
22196         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
22197         HAVE_MBSINIT.
22198         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
22199         HAVE_MBSINIT.
22200         * doc/posix-functions/mbsinit.texi: Document the new module.
22201
22202 2008-12-16  Bruno Haible  <bruno@clisp.org>
22203
22204         * lib/unistd.in.h: Add comment.
22205         * tests/test-environ.c: Don't include <stdlib.h>.
22206
22207 2008-12-16  Bruno Haible  <bruno@clisp.org>
22208
22209         * lib/parse-duration.h (parse_duration): Document return value
22210         convention.
22211         * lib/parse-duration.c: Include specification header first. Add
22212         comments.
22213         (_): Remove macro.
22214         (parse_year_month_day, parse_hour_minute_second): Move side effects
22215         outside of strchr call.
22216         (parse_non_iso8601): Move side effects outside of isspace call.
22217         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
22218         call.
22219
22220 2008-12-16  Bruno Haible  <bruno@clisp.org>
22221
22222         * tests/test-parse-duration.sh: Produce no output when the test
22223         succeeds.
22224
22225 2008-12-16  Bruno Haible  <bruno@clisp.org>
22226
22227         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
22228         expressions.
22229
22230 2008-12-15  Bruno Haible  <bruno@clisp.org>
22231
22232         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
22233         * doc/glibc-functions/flistxattr.texi: Likewise.
22234         * doc/glibc-functions/fopencookie.texi: Likewise.
22235         * doc/glibc-functions/fremovexattr.texi: Likewise.
22236         * doc/glibc-functions/fsetxattr.texi: Likewise.
22237         * doc/glibc-functions/getxattr.texi: Likewise.
22238         * doc/glibc-functions/lgetxattr.texi: Likewise.
22239         * doc/glibc-functions/listxattr.texi: Likewise.
22240         * doc/glibc-functions/llistxattr.texi: Likewise.
22241         * doc/glibc-functions/lremovexattr.texi: Likewise.
22242         * doc/glibc-functions/lsetxattr.texi: Likewise.
22243         * doc/glibc-functions/removexattr.texi: Likewise.
22244         * doc/glibc-functions/setxattr.texi: Likewise.
22245         * doc/posix-functions/open_memstream.texi: Likewise.
22246
22247 2008-12-15  Eric Blake  <ebb9@byu.net>
22248
22249         Update doc for cygwin 1.7.
22250         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
22251         functions.
22252         * doc/posix-functions/fchmodat.texi: Likewise.
22253         * doc/posix-functions/fchownat.texi: Likewise.
22254         * doc/posix-functions/fdopendir.texi: Likewise.
22255         * doc/posix-functions/fmemopen.texi: Likewise.
22256         * doc/posix-functions/freeaddrinfo.texi: Likewise.
22257         * doc/posix-functions/fstatat.texi: Likewise.
22258         * doc/posix-functions/futimens.texi: Likewise.
22259         * doc/posix-functions/gai_strerror.texi: Likewise.
22260         * doc/posix-functions/getaddrinfo.texi: Likewise.
22261         * doc/posix-functions/getnameinfo.texi: Likewise.
22262         * doc/posix-functions/if_freenameindex.texi: Likewise.
22263         * doc/posix-functions/if_indextoname.texi: Likewise.
22264         * doc/posix-functions/if_nameindex.texi: Likewise.
22265         * doc/posix-functions/if_nametoindex.texi: Likewise.
22266         * doc/posix-functions/insque.texi: Likewise.
22267         * doc/posix-functions/linkat.texi: Likewise.
22268         * doc/posix-functions/llrint.texi: Likewise.
22269         * doc/posix-functions/llrintf.texi: Likewise.
22270         * doc/posix-functions/llrintl.texi: Likewise.
22271         * doc/posix-functions/lockf.texi: Likewise.
22272         * doc/posix-functions/lrintl.texi: Likewise.
22273         * doc/posix-functions/mkdirat.texi: Likewise.
22274         * doc/posix-functions/mkfifoat.texi: Likewise.
22275         * doc/posix-functions/mknodat.texi: Likewise.
22276         * doc/posix-functions/mq_close.texi: Likewise.
22277         * doc/posix-functions/mq_getattr.texi: Likewise.
22278         * doc/posix-functions/mq_notify.texi: Likewise.
22279         * doc/posix-functions/mq_open.texi: Likewise.
22280         * doc/posix-functions/mq_receive.texi: Likewise.
22281         * doc/posix-functions/mq_send.texi: Likewise.
22282         * doc/posix-functions/mq_setattr.texi: Likewise.
22283         * doc/posix-functions/mq_timedreceive.texi: Likewise.
22284         * doc/posix-functions/mq_timedsend.texi: Likewise.
22285         * doc/posix-functions/mq_unlink.texi: Likewise.
22286         * doc/posix-functions/open_memstream.texi: Likewise.
22287         * doc/posix-functions/openat.texi: Likewise.
22288         * doc/posix-functions/posix_fadvise.texi: Likewise.
22289         * doc/posix-functions/posix_fallocate.texi: Likewise.
22290         * doc/posix-functions/posix_madvise.texi: Likewise.
22291         * doc/posix-functions/posix_memalign.texi: Likewise.
22292         * doc/posix-functions/posix_openpt.texi: Likewise.
22293         * doc/posix-functions/readlinkat.texi: Likewise.
22294         * doc/posix-functions/remque.texi: Likewise.
22295         * doc/posix-functions/renameat.texi: Likewise.
22296         * doc/posix-functions/rintl.texi: Likewise.
22297         * doc/posix-functions/sem_unlink.texi: Likewise.
22298         * doc/posix-functions/shm_open.texi: Likewise.
22299         * doc/posix-functions/shm_unlink.texi: Likewise.
22300         * doc/posix-functions/signgam.texi: Likewise.
22301         * doc/posix-functions/sigset.texi: Likewise.
22302         * doc/posix-functions/stpcpy.texi: Likewise.
22303         * doc/posix-functions/stpncpy.texi: Likewise.
22304         * doc/posix-functions/strerror.texi: Likewise.
22305         * doc/posix-functions/strtod.texi: Likewise.
22306         * doc/posix-functions/symlinkat.texi: Likewise.
22307         * doc/posix-functions/unlinkat.texi: Likewise.
22308         * doc/posix-functions/utimensat.texi: Likewise.
22309         * doc/glibc-functions/bindresvport.texi: Likewise.
22310         * doc/glibc-functions/dn_expand.texi: Likewise.
22311         * doc/glibc-functions/exp10.texi: Likewise.
22312         * doc/glibc-functions/exp10f.texi: Likewise.
22313         * doc/glibc-functions/fgetxattr.texi: Likewise.
22314         * doc/glibc-functions/flistxattr.texi: Likewise.
22315         * doc/glibc-functions/fopencookie.texi: Likewise.
22316         * doc/glibc-functions/freeifaddrs.texi: Likewise.
22317         * doc/glibc-functions/fremovexattr.texi: Likewise.
22318         * doc/glibc-functions/fsetxattr.texi: Likewise.
22319         * doc/glibc-functions/getifaddrs.texi: Likewise.
22320         * doc/glibc-functions/getxattr.texi: Likewise.
22321         * doc/glibc-functions/lgetxattr.texi: Likewise.
22322         * doc/glibc-functions/listxattr.texi: Likewise.
22323         * doc/glibc-functions/llistxattr.texi: Likewise.
22324         * doc/glibc-functions/lremovexattr.texi: Likewise.
22325         * doc/glibc-functions/lsetxattr.texi: Likewise.
22326         * doc/glibc-functions/pow10.texi: Likewise.
22327         * doc/glibc-functions/pow10f.texi: Likewise.
22328         * doc/glibc-functions/rcmd_af.texi: Likewise.
22329         * doc/glibc-functions/removexattr.texi: Likewise.
22330         * doc/glibc-functions/res_init.texi: Likewise.
22331         * doc/glibc-functions/res_mkquery.texi: Likewise.
22332         * doc/glibc-functions/res_query.texi: Likewise.
22333         * doc/glibc-functions/res_querydomain.texi: Likewise.
22334         * doc/glibc-functions/res_send.texi: Likewise.
22335         * doc/glibc-functions/rresvport_af.texi: Likewise.
22336         * doc/glibc-functions/setxattr.texi: Likewise.
22337         * doc/glibc-functions/strcasestr.texi: Likewise.
22338
22339 2008-12-15  Bruno Haible  <bruno@clisp.org>
22340
22341         Fix compilation error on OSF/1 4.0.
22342         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
22343         <sys/time.h>, simply delegate to the system header.
22344         Reported by Daniel Richard G. <oss@teragram.com>.
22345
22346 2008-12-15  Bruno Haible  <bruno@clisp.org>
22347
22348         * doc/posix-functions/openat.texi: Mention the 'openat' module.
22349         * doc/posix-functions/fchmodat.texi: Likewise.
22350         * doc/posix-functions/fchownat.texi: Likewise.
22351         * doc/posix-functions/fdopendir.texi: Likewise.
22352         * doc/posix-functions/fstatat.texi: Likewise.
22353         * doc/posix-functions/mkdirat.texi: Likewise.
22354         * doc/posix-functions/unlinkat.texi: Likewise.
22355
22356 2008-12-14  Bruno Haible  <bruno@clisp.org>
22357
22358         Update doc for POSIX:2008.
22359         * doc/posix-functions/faccessat.texi: New file.
22360         * doc/posix-functions/fchmodat.texi: New file.
22361         * doc/posix-functions/fchownat.texi: New file.
22362         * doc/posix-functions/fdopendir.texi: New file.
22363         * doc/posix-functions/fstatat.texi: New file.
22364         * doc/posix-functions/futimens.texi: New file.
22365         * doc/posix-functions/linkat.texi: New file.
22366         * doc/posix-functions/mkdirat.texi: New file.
22367         * doc/posix-functions/mkfifoat.texi: New file.
22368         * doc/posix-functions/mknodat.texi: New file.
22369         * doc/posix-functions/open_wmemstream.texi: New file.
22370         * doc/posix-functions/openat.texi: New file.
22371         * doc/posix-functions/psiginfo.texi: New file.
22372         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
22373         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
22374         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
22375         * doc/posix-functions/readlinkat.texi: New file.
22376         * doc/posix-functions/renameat.texi: New file.
22377         * doc/posix-functions/strerror_l.texi: New file.
22378         * doc/posix-functions/symlinkat.texi: New file.
22379         * doc/posix-functions/unlinkat.texi: New file.
22380         * doc/posix-functions/utimensat.texi: New file.
22381         * doc/gnulib.texi (Function Substitutes): Add these subsections.
22382
22383 2008-12-14  Bruno Haible  <bruno@clisp.org>
22384
22385         Update doc for POSIX:2008.
22386         * doc/posix-functions/alphasort.texi: Renamed from
22387         doc/glibc-functions/alphasort.texi.
22388         * doc/posix-functions/dirfd.texi: Renamed from
22389         doc/glibc-functions/dirfd.texi.
22390         * doc/posix-functions/dprintf.texi: Renamed from
22391         doc/glibc-functions/dprintf.texi.
22392         * doc/posix-functions/duplocale.texi: Renamed from
22393         doc/glibc-functions/duplocale.texi.
22394         * doc/posix-functions/fexecve.texi: Renamed from
22395         doc/glibc-functions/fexecve.texi.
22396         * doc/posix-functions/fmemopen.texi: Renamed from
22397         doc/glibc-functions/fmemopen.texi.
22398         * doc/posix-functions/freelocale.texi: Renamed from
22399         doc/glibc-functions/freelocale.texi.
22400         * doc/posix-functions/getdate_err.texi: Renamed from
22401         doc/glibc-functions/getdate_err.texi.
22402         * doc/posix-functions/isalnum_l.texi: Renamed from
22403         doc/glibc-functions/isalnum_l.texi.
22404         * doc/posix-functions/isalpha_l.texi: Renamed from
22405         doc/glibc-functions/isalpha_l.texi.
22406         * doc/posix-functions/isblank_l.texi: Renamed from
22407         doc/glibc-functions/isblank_l.texi.
22408         * doc/posix-functions/iscntrl_l.texi: Renamed from
22409         doc/glibc-functions/iscntrl_l.texi.
22410         * doc/posix-functions/isdigit_l.texi: Renamed from
22411         doc/glibc-functions/isdigit_l.texi.
22412         * doc/posix-functions/isgraph_l.texi: Renamed from
22413         doc/glibc-functions/isgraph_l.texi.
22414         * doc/posix-functions/islower_l.texi: Renamed from
22415         doc/glibc-functions/islower_l.texi.
22416         * doc/posix-functions/isprint_l.texi: Renamed from
22417         doc/glibc-functions/isprint_l.texi.
22418         * doc/posix-functions/ispunct_l.texi: Renamed from
22419         doc/glibc-functions/ispunct_l.texi.
22420         * doc/posix-functions/isspace_l.texi: Renamed from
22421         doc/glibc-functions/isspace_l.texi.
22422         * doc/posix-functions/isupper_l.texi: Renamed from
22423         doc/glibc-functions/isupper_l.texi.
22424         * doc/posix-functions/iswalnum_l.texi: Renamed from
22425         doc/glibc-functions/iswalnum_l.texi.
22426         * doc/posix-functions/iswalpha_l.texi: Renamed from
22427         doc/glibc-functions/iswalpha_l.texi.
22428         * doc/posix-functions/iswblank_l.texi: Renamed from
22429         doc/glibc-functions/iswblank_l.texi.
22430         * doc/posix-functions/iswcntrl_l.texi: Renamed from
22431         doc/glibc-functions/iswcntrl_l.texi.
22432         * doc/posix-functions/iswctype_l.texi: Renamed from
22433         doc/glibc-functions/iswctype_l.texi.
22434         * doc/posix-functions/iswdigit_l.texi: Renamed from
22435         doc/glibc-functions/iswdigit_l.texi.
22436         * doc/posix-functions/iswgraph_l.texi: Renamed from
22437         doc/glibc-functions/iswgraph_l.texi.
22438         * doc/posix-functions/iswlower_l.texi: Renamed from
22439         doc/glibc-functions/iswlower_l.texi.
22440         * doc/posix-functions/iswprint_l.texi: Renamed from
22441         doc/glibc-functions/iswprint_l.texi.
22442         * doc/posix-functions/iswpunct_l.texi: Renamed from
22443         doc/glibc-functions/iswpunct_l.texi.
22444         * doc/posix-functions/iswspace_l.texi: Renamed from
22445         doc/glibc-functions/iswspace_l.texi.
22446         * doc/posix-functions/iswupper_l.texi: Renamed from
22447         doc/glibc-functions/iswupper_l.texi.
22448         * doc/posix-functions/iswxdigit_l.texi: Renamed from
22449         doc/glibc-functions/iswxdigit_l.texi.
22450         * doc/posix-functions/isxdigit_l.texi: Renamed from
22451         doc/glibc-functions/isxdigit_l.texi.
22452         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
22453         doc/glibc-functions/mbsnrtowcs.texi.
22454         * doc/posix-functions/mkdtemp.texi: Renamed from
22455         doc/glibc-functions/mkdtemp.texi.
22456         * doc/posix-functions/newlocale.texi: Renamed from
22457         doc/glibc-functions/newlocale.texi.
22458         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
22459         doc/glibc-functions/nl_langinfo_l.texi.
22460         * doc/posix-functions/open_memstream.texi: Renamed from
22461         doc/glibc-functions/open_memstream.texi.
22462         * doc/posix-functions/opterr.texi: Renamed from
22463         doc/glibc-functions/opterr.texi.
22464         * doc/posix-functions/optind.texi: Renamed from
22465         doc/glibc-functions/optind.texi.
22466         * doc/posix-functions/optopt.texi: Renamed from
22467         doc/glibc-functions/optopt.texi.
22468         * doc/posix-functions/psignal.texi: Renamed from
22469         doc/glibc-functions/psignal.texi.
22470         * doc/posix-functions/scandir.texi: Renamed from
22471         doc/glibc-functions/scandir.texi.
22472         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
22473         doc/glibc-functions/sched_get_priority_min.texi.
22474         * doc/posix-functions/signgam.texi: Renamed from
22475         doc/glibc-functions/signgam.texi.
22476         * doc/posix-functions/stpcpy.texi: Renamed from
22477         doc/glibc-functions/stpcpy.texi.
22478         * doc/posix-functions/stpncpy.texi: Renamed from
22479         doc/glibc-functions/stpncpy.texi.
22480         * doc/posix-functions/strcasecmp_l.texi: Renamed from
22481         doc/glibc-functions/strcasecmp_l.texi.
22482         * doc/posix-functions/strcoll_l.texi: Renamed from
22483         doc/glibc-functions/strcoll_l.texi.
22484         * doc/posix-functions/strfmon_l.texi: Renamed from
22485         doc/glibc-functions/strfmon_l.texi.
22486         * doc/posix-functions/strftime_l.texi: Renamed from
22487         doc/glibc-functions/strftime_l.texi.
22488         * doc/posix-functions/strncasecmp_l.texi: Renamed from
22489         doc/glibc-functions/strncasecmp_l.texi.
22490         * doc/posix-functions/strndup.texi: Renamed from
22491         doc/glibc-functions/strndup.texi.
22492         * doc/posix-functions/strnlen.texi: Renamed from
22493         doc/glibc-functions/strnlen.texi.
22494         * doc/posix-functions/strsignal.texi: Renamed from
22495         doc/glibc-functions/strsignal.texi.
22496         * doc/posix-functions/strxfrm_l.texi: Renamed from
22497         doc/glibc-functions/strxfrm_l.texi.
22498         * doc/posix-functions/timer_gettime.texi: Renamed from
22499         doc/glibc-functions/timer_gettime.texi.
22500         * doc/posix-functions/tolower_l.texi: Renamed from
22501         doc/glibc-functions/tolower_l.texi.
22502         * doc/posix-functions/toupper_l.texi: Renamed from
22503         doc/glibc-functions/toupper_l.texi.
22504         * doc/posix-functions/towctrans_l.texi: Renamed from
22505         doc/glibc-functions/towctrans_l.texi.
22506         * doc/posix-functions/towlower_l.texi: Renamed from
22507         doc/glibc-functions/towlower_l.texi.
22508         * doc/posix-functions/towupper_l.texi: Renamed from
22509         doc/glibc-functions/towupper_l.texi.
22510         * doc/posix-functions/uselocale.texi: Renamed from
22511         doc/glibc-functions/uselocale.texi.
22512         * doc/posix-functions/vdprintf.texi: Renamed from
22513         doc/glibc-functions/vdprintf.texi.
22514         * doc/posix-functions/wcpcpy.texi:
22515         Renamed from doc/glibc-functions/wcpcpy.texi.
22516         * doc/posix-functions/wcpncpy.texi: Renamed from
22517         doc/glibc-functions/wcpncpy.texi.
22518         * doc/posix-functions/wcscasecmp.texi: Renamed from
22519         doc/glibc-functions/wcscasecmp.texi.
22520         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
22521         doc/glibc-functions/wcscasecmp_l.texi.
22522         * doc/posix-functions/wcscoll_l.texi: Renamed from
22523         doc/glibc-functions/wcscoll_l.texi.
22524         * doc/posix-functions/wcsdup.texi: Renamed from
22525         doc/glibc-functions/wcsdup.texi.
22526         * doc/posix-functions/wcsncasecmp.texi: Renamed from
22527         doc/glibc-functions/wcsncasecmp.texi.
22528         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
22529         doc/glibc-functions/wcsncasecmp_l.texi.
22530         * doc/posix-functions/wcsnlen.texi: Renamed from
22531         doc/glibc-functions/wcsnlen.texi.
22532         * doc/posix-functions/wcsnrtombs.texi: Renamed from
22533         doc/glibc-functions/wcsnrtombs.texi.
22534         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
22535         doc/glibc-functions/wcsxfrm_l.texi.
22536         * doc/posix-functions/wctrans_l.texi: Renamed from
22537         doc/glibc-functions/wctrans_l.texi.
22538         * doc/posix-functions/wctype_l.texi: Renamed from
22539         doc/glibc-functions/wctype_l.texi.
22540         * doc/gnulib.texi (Function Substitutes): Add these subsections.
22541         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
22542         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
22543         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
22544         these subsections.
22545         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
22546         Remove sections.
22547
22548 2008-12-14  Bruno Haible  <bruno@clisp.org>
22549
22550         Update doc for POSIX:2008.
22551         * doc/posix-functions/*.texi: Update URL of POSIX specification.
22552
22553 2008-12-14  Bruno Haible  <bruno@clisp.org>
22554
22555         Update doc for POSIX:2008.
22556         * doc/pastposix-functions/bcmp.texi: Renamed from
22557         doc/posix-functions/bcmp.texi.
22558         * doc/pastposix-functions/bcopy.texi: Renamed from
22559         doc/posix-functions/bcopy.texi.
22560         * doc/pastposix-functions/bsd_signal.texi: Renamed from
22561         doc/posix-functions/bsd_signal.texi.
22562         * doc/pastposix-functions/bzero.texi: Renamed from
22563         doc/posix-functions/bzero.texi.
22564         * doc/pastposix-functions/ecvt.texi: Renamed from
22565         doc/posix-functions/ecvt.texi.
22566         * doc/pastposix-functions/fcvt.texi: Renamed from
22567         doc/posix-functions/fcvt.texi.
22568         * doc/pastposix-functions/ftime.texi: Renamed from
22569         doc/posix-functions/ftime.texi.
22570         * doc/pastposix-functions/gcvt.texi: Renamed from
22571         doc/posix-functions/gcvt.texi.
22572         * doc/pastposix-functions/getcontext.texi: Renamed from
22573         doc/posix-functions/getcontext.texi.
22574         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
22575         doc/posix-functions/gethostbyaddr.texi.
22576         * doc/pastposix-functions/gethostbyname.texi: Renamed from
22577         doc/posix-functions/gethostbyname.texi.
22578         * doc/pastposix-functions/getwd.texi: Renamed from
22579         doc/posix-functions/getwd.texi.
22580         * doc/pastposix-functions/h_errno.texi: Renamed from
22581         doc/posix-functions/h_errno.texi.
22582         * doc/pastposix-functions/index.texi: Renamed from
22583         doc/posix-functions/index.texi.
22584         * doc/pastposix-functions/makecontext.texi: Renamed from
22585         doc/posix-functions/makecontext.texi.
22586         * doc/pastposix-functions/mktemp.texi: Renamed from
22587         doc/posix-functions/mktemp.texi.
22588         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
22589         doc/posix-functions/pthread_attr_getstackaddr.texi.
22590         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
22591         doc/posix-functions/pthread_attr_setstackaddr.texi.
22592         * doc/pastposix-functions/rindex.texi: Renamed from
22593         doc/posix-functions/rindex.texi.
22594         * doc/pastposix-functions/scalb.texi: Renamed from
22595         doc/posix-functions/scalb.texi.
22596         * doc/pastposix-functions/setcontext.texi: Renamed from
22597         doc/posix-functions/setcontext.texi.
22598         * doc/pastposix-functions/swapcontext.texi: Renamed from
22599         doc/posix-functions/swapcontext.texi.
22600         * doc/pastposix-functions/ualarm.texi: Renamed from
22601         doc/posix-functions/ualarm.texi.
22602         * doc/pastposix-functions/usleep.texi: Renamed from
22603         doc/posix-functions/usleep.texi.
22604         * doc/pastposix-functions/vfork.texi: Renamed from
22605         doc/posix-functions/vfork.texi.
22606         * doc/pastposix-functions/wcswcs.texi: Renamed from
22607         doc/posix-functions/wcswcs.texi.
22608         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
22609         (Function Substitutes): Update.
22610
22611 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22612
22613         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
22614         m4/strerror.m4.
22615
22616 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22617             Bruno Haible  <bruno@clisp.org>
22618
22619         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
22620
22621 2008-12-13  Bruno Haible  <bruno@clisp.org>
22622
22623         * modules/strtoull (Depends-on): Remove unistd.
22624
22625 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22626
22627         * modules/strtoull (Depends-on): Add stdlib.
22628
22629 2008-12-11  Simon Josefsson  <simon@josefsson.org>
22630
22631         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
22632
22633 2008-12-10  Jim Meyering  <meyering@redhat.com>
22634
22635         gl_ASSERT: don't say assertions are disabled when they're not
22636         * m4/assert.m4 (gl_ASSERT): Do not make configure report
22637         "checking whether to enable assertions... no", when they are in
22638         fact enabled.  This is solely a bug in the output of configure.
22639         In spite of saying "no", NDEBUG was not defined in that case.
22640         Also, as noted by Eric Blake, leave assertions enabled upon
22641         --enable-assert=INVALID.
22642
22643 2008-12-10  Bruno Haible  <bruno@clisp.org>
22644
22645         Change MODULES.html to refer to POSIX:2008 where possible.
22646         * MODULES.html.sh (POSIX2008_URL): New variable.
22647         (posix_headers): Remove sys/timeb, ucontext.
22648         (posix2001_headers): New variable.
22649         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
22650         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
22651         index, makecontext, mktemp, pthread_attr_getstackaddr,
22652         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
22653         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
22654         (posix2001_functions): New variable.
22655         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
22656         otherwise.
22657
22658 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22659
22660         add missing include to parse-duration.c
22661         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
22662         * modules/parse-duration (Depends-on): Add xalloc.
22663
22664         fix sed script reading maint.mk
22665         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
22666         (syntax-check-rules): Use it.
22667
22668 2008-12-09  Bruno Haible  <bruno@clisp.org>
22669
22670         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
22671         MacOS X 10.4/PowerPC.
22672         Reported by Simon Josefsson.
22673
22674 2008-12-08  Jim Meyering  <meyering@redhat.com>
22675
22676         work around mingw's lack of some S_IF definitions
22677         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
22678         Reported by Simon Josefsson.
22679
22680 2008-12-08  Bruno Haible  <bruno@clisp.org>
22681
22682         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
22683         applied to variables. Needed on MacOS X 10.4/PowerPC.
22684         Reported by Simon Josefsson.
22685
22686 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
22687         and Eric Blake  <ebb9@byu.net>
22688
22689         assert: honor --enable-assert
22690         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
22691         order to honor --enable-assert, rather than treating it as a
22692         synonym for --disable-assert.
22693
22694 2008-12-08  Jim Meyering  <meyering@redhat.com>
22695
22696         * lib/posixtm.c: Remove now-useless declaration of mktime.
22697
22698         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
22699
22700 2008-12-07  Bruno Haible  <bruno@clisp.org>
22701
22702         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
22703         test_once): Mark functions as static.
22704         * tests/test-tls.c (test_tls): Likewise.
22705
22706 2008-12-07  Bruno Haible  <bruno@clisp.org>
22707
22708         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
22709         iconv_register_autodetect.
22710
22711 2008-12-07  Jim Meyering  <meyering@redhat.com>
22712
22713         posixtm.c: avoid a warning
22714         * lib/posixtm.c (posixtime): Don't initialize tm0.
22715         It's no longer needed to placate gcc4's -Wuninitialized,
22716         and the attempt to placate would elicit a new warning.
22717
22718         unicodeio.c: mark unused parameters
22719         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
22720         (fallback_failure_callback): Likewise.
22721
22722 2008-12-07  Bruno Haible  <bruno@clisp.org>
22723
22724         * gnulib-tool (func_create_testdir): When building the tests
22725         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
22726         Reported by Simon Josefsson.
22727
22728 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22729
22730         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
22731
22732 2008-12-06  Bruno Haible  <bruno@clisp.org>
22733
22734         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
22735         Suggested by Eric Blake.
22736
22737 2008-12-06  Bruno Haible  <bruno@clisp.org>
22738
22739         Fix a c-stack test failure on MacOS X.
22740         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
22741         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
22742         handler for SIGBUS as well.
22743         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
22744         install a signal handler for SIGBUS as well.
22745         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
22746
22747 2008-12-06  Bruno Haible  <bruno@clisp.org>
22748
22749         Advocacy documentation.
22750         * doc/gnulib-intro.texi (Benefits): New section.
22751         * doc/gnulib.texi: Update.
22752
22753 2008-12-06  Bruno Haible  <bruno@clisp.org>
22754
22755         Document the 'manywarnings' module.
22756         * doc/manywarnings.texi: New file.
22757         * doc/gnulib.texi: Include it.
22758
22759 2008-12-05  Eric Blake  <ebb9@byu.net>
22760
22761         tests: silence some gcc warnings
22762         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
22763         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
22764         type mismatches.
22765
22766 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22767             Bruno Haible  <bruno@clisp.org>
22768
22769         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
22770
22771 2008-11-29  Jim Meyering  <meyering@redhat.com>
22772
22773         unicodeio.c: mark unused parameters
22774         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
22775         (fallback_failure_callback): Likewise.
22776
22777         fts: fix a thinko
22778         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
22779         (set_stat_type): Return S_IF*-valued "type" directly.
22780         Prompted by James Youngman's spotting a related bug.
22781         Confirmed by further testing through find.
22782
22783         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
22784         * lib/fts.c (D_TYPE): Define.
22785         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
22786         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
22787         (s_ifmt_shift_bits): New function.
22788         (set_stat_type): New function.
22789         (fts_build): When not calling fts_stat, call set_stat_type
22790         to propagate dirent.d_type info to fts_read caller.
22791         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
22792         fts_statp->st_mode type information may be valid.
22793
22794 2008-11-28  Simon Josefsson  <simon@josefsson.org>
22795
22796         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
22797         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
22798         <sds@gnu.org>.
22799
22800 2008-11-20  Bruno Haible  <bruno@clisp.org>
22801
22802         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
22803         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
22804         INCLUDE_NEXT.
22805         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
22806         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
22807         * modules/math (Makefile.am): Substitute
22808         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
22809         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
22810
22811 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
22812             Bruno Haible  <bruno@clisp.org>
22813
22814         * lib/stdint.in.h: Define all type macros so that their expansion is
22815         a single typedef'ed token. Fixes a compilation failure in Boost which
22816         does "using ::int8_t;".
22817
22818 2008-11-18  Simon Josefsson  <simon@josefsson.org>
22819
22820         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
22821         gl_MANYWARN_ALL_GCC.
22822         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
22823         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
22824         * modules/manywarnings: New file.
22825         * MODULES.html.sh: Mention manywarnings module.
22826
22827 2008-11-18  Bruno Haible  <bruno@clisp.org>
22828
22829         * doc/gnulib-tool.texi (Unit tests): New section.
22830
22831 2008-11-18  Simon Josefsson  <simon@josefsson.org>
22832
22833         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
22834         paths like 'lib/po/foo.po'.
22835
22836 2008-11-17  Simon Josefsson  <simon@josefsson.org>
22837
22838         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
22839         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
22840
22841 2008-11-17  Simon Josefsson  <simon@josefsson.org>
22842
22843         * m4/warnings.m4: Use CPPFLAGS to really check whether the
22844         parameter works.
22845
22846 2008-11-17  Simon Josefsson  <simon@josefsson.org>
22847
22848         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
22849
22850 2008-11-17  Bruce Korb  <bkorb@gnu.org>
22851
22852         * modules/parse-duration-tests: New file.
22853         * tests/test-parse-duration.sh: New file.
22854         * tests/test-parse-duration.c: New file.
22855
22856         New module 'parse-duration'.
22857         * lib/parse-duration.h: New file.
22858         * lib/parse-duration.c: New file.
22859         * modules/parse-duration: New file.
22860
22861 2008-11-17  Bruno Haible  <bruno@clisp.org>
22862
22863         * tests/test-select-out.sh: Comment out the first pipe test.
22864         Reported by Simon Josefsson.
22865
22866 2008-11-17  Bruno Haible  <bruno@clisp.org>
22867
22868         * modules/getaddrinfo (Depends-on): Add servent, hostent.
22869         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
22870         gl_HOSTENT.
22871
22872 2008-11-17  Bruno Haible  <bruno@clisp.org>
22873
22874         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
22875         -lnetwork and -lnet. Needed for Haiku and BeOS.
22876
22877 2008-11-16  Bruno Haible  <bruno@clisp.org>
22878
22879         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
22880
22881 2008-11-16  Bruno Haible  <bruno@clisp.org>
22882
22883         Avoid test failure on Haiku.
22884         * tests/test-fsync.c: Include <errno.h>.
22885         (main): Don't require that fsync (0) fails.
22886
22887 2008-11-15  Bruno Haible  <bruno@clisp.org>
22888
22889         New module 'hostent'.
22890         * modules/hostent: New file.
22891         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
22892
22893 2008-11-15  Bruno Haible  <bruno@clisp.org>
22894
22895         New module 'servent'.
22896         * modules/servent: New file.
22897         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
22898
22899 2008-11-15  Bruno Haible  <bruno@clisp.org>
22900
22901         Avoid generating same test program with two different rules.
22902         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
22903         test-frexp to test-frexp-nolibm.
22904         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
22905         test-frexpl to test-frexpl-nolibm.
22906
22907 2008-11-15  Bruno Haible  <bruno@clisp.org>
22908
22909         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
22910         $(FREXPL_LIBM).
22911
22912 2008-11-15  Bruno Haible  <bruno@clisp.org>
22913
22914         * lib/netdb.in.h: Activate the definitions also when the system's
22915         <netdb.h> has 'struct addrinfo'.
22916         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
22917         EAI_OVERFLOW or AI_NUMERICSERV.
22918         * doc/posix-headers/netdb.texi: Document the problem.
22919
22920 2008-11-15  Bruno Haible  <bruno@clisp.org>
22921
22922         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
22923
22924         Make the 'sched' module work on platforms where <sched.h> exists but
22925         is incomplete (such as Haiku).
22926         * lib/sched.in.h; Include the system's <sched.h> if it exists.
22927         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
22928         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
22929         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
22930         HAVE_STRUCT_SCHED_PARAM.
22931         * modules/sched (Depends-on): Add include_next.
22932         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
22933         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
22934         * doc/posix-headers/sched.texi: Document the issue.
22935
22936 2008-11-13  Jim Meyering  <meyering@redhat.com>
22937
22938         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
22939         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
22940         test would fail due to the difference in the Report bugs to ...
22941         line.  The expected address is empty, "<>", while the actual
22942         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
22943
22944 2008-11-12  Bruno Haible  <bruno@clisp.org>
22945
22946         lstat: don't compile lstat.c on systems lacking lstat
22947         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
22948         which don't have lstat; this is handled by lib/sys_stat.in.h already.
22949         Reported by Daniel P. Berrange via Jim Meyering.
22950
22951 2008-11-12  Jim Meyering  <meyering@redhat.com>
22952
22953         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
22954
22955 2008-11-12  Simon Josefsson  <simon@josefsson.org>
22956
22957         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
22958         instead.
22959
22960 2008-11-12  Bruno Haible  <bruno@clisp.org>
22961
22962         * lib/unicodeio.c: Include unistr.h.
22963         (utf8_wctomb): Remove function.
22964         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
22965
22966 2008-11-12  Simon Josefsson  <simon@josefsson.org>
22967
22968         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
22969         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
22970         <bruno@clisp.org>.
22971         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
22972
22973 2008-11-12  Simon Josefsson  <simon@josefsson.org>
22974
22975         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
22976         * doc/gnulib.texi: Add section for warnings.
22977
22978 2008-11-11  Bruno Haible  <bruno@clisp.org>
22979
22980         * lib/sockets.h: Add a comment.
22981
22982 2008-11-11  Karl Berry  <karl@gnu.org>
22983
22984         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
22985
22986 2008-11-11  Eric Blake  <ebb9@byu.net>
22987
22988         fdl.texi: avoid git symlinks
22989         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
22990
22991 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
22992
22993         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
22994
22995 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
22996
22997         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
22998         (gl_WARN_ADD): Substitute $2 if literal.
22999
23000 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
23001
23002         * m4/warning.m4: Remove.
23003
23004 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
23005
23006         * m4/warnings.m4: Almost complete rewrite. :-)
23007
23008 2008-11-10  Simon Josefsson  <simon@josefsson.org>
23009
23010         * modules/warnings: New module.
23011         * m4/warnings.m4: New file.
23012         * MODULES.html.sh: Mention warnings module.
23013         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
23014         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
23015
23016 2008-11-10  Eric Blake  <ebb9@byu.net>
23017
23018         fdl.texi: make a symlink to the latest version
23019         * doc/standards.texi: Revert today's earlier change.
23020         * doc/fdl-1.2.texi: Rename from old fdl.texi...
23021         * doc/fdl.texi: ...and replace this with a symlink to the newer
23022         fdl-1.3.texi.
23023
23024 2008-11-10  Bruno Haible  <bruno@clisp.org>
23025
23026         * tests/test-select-fd.c (main): Accept the result file name as fourth
23027         argument.
23028         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
23029         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
23030
23031 2008-11-10  Bruno Haible  <bruno@clisp.org>
23032
23033         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
23034         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
23035         as autoconf-substituted macros.
23036         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
23037         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
23038         gl_NETDB_H_DEFAULTS. Set these variables.
23039         * modules/netdb (Makefile.am): Substitute these variables.
23040
23041 2008-11-10  Eric Blake  <ebb9@byu.net>
23042
23043         standards.texi: include correct file for FDL 1.3
23044         * doc/standards.texi (GNU Free Documentation License): Change
23045         include file to pull in FDL 1.3, not 1.2.
23046
23047         fdl.texi: revert accidental change to license
23048         * doc/fdl.texi: This is FDL 1.2, not 1.3.
23049
23050 2008-11-10  Bruno Haible  <bruno@clisp.org>
23051
23052         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
23053         cross-compiling guesses also when the native compile gives no result.
23054
23055 2008-11-10  Bruno Haible  <bruno@clisp.org>
23056
23057         * lib/spawni.c (__spawni): Force variable into the stack.
23058
23059 2008-11-10  Bruno Haible  <bruno@clisp.org>
23060
23061         Add support for Haiku.
23062         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
23063         glibc and BeOS, but also on Haiku.
23064         * lib/fpurge.c (fpurge): Likewise.
23065         * lib/freadable.c (freadable): Likewise.
23066         * lib/freadahead.c (freadahead): Likewise.
23067         * lib/freading.c (freading): Likewise.
23068         * lib/freadptr.c (freadptr): Likewise.
23069         * lib/freadseek.c (freadptrinc): Likewise.
23070         * lib/fseeko.c (rpl_fseeko): Likewise.
23071         * lib/fseterr.c (fseterr): Likewise.
23072         * lib/fwritable.c (fwritable): Likewise.
23073         * lib/fwriting.c (fwriting): Likewise.
23074         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
23075
23076 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
23077
23078         * lib/config.charset: Treat Haiku like BeOS.
23079
23080 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
23081
23082         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
23083         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
23084
23085 2008-11-08  Bruno Haible  <bruno@clisp.org>
23086
23087         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
23088         AC_CACHE_CHECK.
23089
23090 2008-11-08  Bruno Haible  <bruno@clisp.org>
23091
23092         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
23093
23094 2008-11-08  Bruno Haible  <bruno@clisp.org>
23095
23096         * tests/test-select-fd.c: New file.
23097         * tests/test-select-in.sh: New file.
23098         * tests/test-select-out.sh: New file.
23099         * tests/test-select-stdin.c: New file.
23100         * modules/select-tests (Files): Add the new files.
23101         (Depends-on): Add gettimeofday.
23102         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
23103         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
23104         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
23105
23106 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
23107             Bruno Haible  <bruno@clisp.org>
23108
23109         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
23110
23111 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
23112
23113         * build-aux/pmccabe2html: Added support for C++ source files.
23114
23115 2008-11-05  Ben Pfaff  <blp@gnu.org>
23116
23117         Fix lib/close.c build on Windows.
23118         * modules/close (Files): Add lib/w32sock.h.
23119
23120 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
23121
23122         Accept Bison's NEWS format.
23123         * build-aux/announce-gen (print_news_deltas): Tweak
23124         $re_prefix.
23125
23126 2008-11-04  Bruno Haible  <bruno@clisp.org>
23127
23128         * modules/random_r (Maintainer): Add glibc.
23129
23130 2008-11-04  Simon Josefsson  <simon@josefsson.org>
23131
23132         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
23133         by karl@freefriends.org (Karl Berry).
23134         * doc/alloca.texi: Likewise.
23135         * doc/c-ctype.texi: Likewise.
23136         * doc/c-strcase.texi: Likewise.
23137         * doc/c-strcaseeq.texi: Likewise.
23138         * doc/c-strcasestr.texi: Likewise.
23139         * doc/c-strstr.texi: Likewise.
23140         * doc/c-strtod.texi: Likewise.
23141         * doc/c-strtold.texi: Likewise.
23142         * doc/ctime.texi: Likewise.
23143         * doc/error.texi: Likewise.
23144         * doc/fdl.texi: Likewise.
23145         * doc/gcd.texi: Likewise.
23146         * doc/getdate.texi: Likewise.
23147         * doc/gnulib-intro.texi: Likewise.
23148         * doc/gnulib-tool.texi: Likewise.
23149         * doc/gnulib.texi: Likewise.
23150         * doc/inet_ntoa.texi: Likewise.
23151         * doc/maintain.texi: Likewise.
23152         * doc/make-stds.texi: Likewise.
23153         * doc/quote.texi: Likewise.
23154         * doc/regexprops-generic.texi: Likewise.
23155         * doc/standards.texi: Likewise.
23156         * doc/verify.texi: Likewise.
23157         * doc/visibility.texi: Likewise.
23158         * doc/gnulib.texi (GNU Free Documentation License): Include
23159         fdl-1.3.texi instead of fdl.texi.
23160
23161 2008-11-04  Simon Josefsson  <simon@josefsson.org>
23162
23163         * doc/fdl-1.3.texi: New file, from
23164         <http://www.gnu.org/licenses/fdl-1.3.texi>.
23165         * modules/fdl-1.3: Add.
23166         * MODULES.html.sh: Add fdl-1.3.
23167
23168 2008-11-03  Bruno Haible  <bruno@clisp.org>
23169
23170         Make determination of absolute name of header file work with AIX xlc.
23171         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
23172         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
23173         preprocessing.
23174         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
23175         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
23176
23177 2008-11-03  Simon Josefsson  <simon@josefsson.org>
23178
23179         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
23180         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
23181         <ludo@gnu.org>.
23182
23183 2008-11-02  Bruno Haible  <bruno@clisp.org>
23184
23185         Mark 'strpbrk' obsolete.
23186         * modules/strpbrk (Status, Notice): New sections.
23187         * modules/strtok_r (Depends-on): Add strpbrk.
23188
23189 2008-11-02  Bruno Haible  <bruno@clisp.org>
23190
23191         Mark 'strdup' obsolete.
23192         * modules/strdup (Status, Notice): New sections.
23193         * modules/findprog (Depends-on): Add strdup.
23194         * modules/getaddrinfo (Depends-on): Likewise.
23195         * modules/localename (Depends-on): Likewise.
23196         * modules/relocatable-lib (Depends-on): Likewise.
23197         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
23198         * modules/relocatable-prog (Depends-on): Likewise.
23199         * modules/trim (Depends-on): Likewise.
23200         * modules/unictype/gen-ctype (Depends-on): Likewise.
23201         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
23202
23203 2008-11-02  Bruno Haible  <bruno@clisp.org>
23204
23205         Mark 'strcspn' obsolete.
23206         * modules/strcspn (Status, Notice): New sections.
23207
23208 2008-11-02  Bruno Haible  <bruno@clisp.org>
23209
23210         Mark 'rmdir' obsolete.
23211         * modules/rmdir (Status, Notice): New sections.
23212         * modules/clean-temp (Depends-on): Add rmdir.
23213         * modules/openat (Depends-on): Likewise.
23214
23215 2008-11-02  Bruno Haible  <bruno@clisp.org>
23216
23217         Mark 'raise' obsolete.
23218         * modules/raise (Status, Notice): New sections.
23219         (Include): Specify <signal.h>.
23220         * modules/stdio (Depends-on): Add raise.
23221         * modules/write (Depends-on): Likewise.
23222
23223 2008-11-02  Bruno Haible  <bruno@clisp.org>
23224
23225         Mark 'memset' obsolete.
23226         * modules/memset (Status, Notice): New sections.
23227
23228 2008-11-02  Bruno Haible  <bruno@clisp.org>
23229
23230         Mark 'memmove' obsolete.
23231         * modules/memmove (Status, Notice): New sections.
23232         * modules/argp (Depends-on): Add memmove.
23233         * modules/argz (Depends-on): Likewise.
23234         * modules/canonicalize (Depends-on): Likewise.
23235         * modules/canonicalize-lgpl (Depends-on): Likewise.
23236         * modules/fts (Depends-on): Likewise.
23237         * modules/getcwd (Depends-on): Likewise.
23238         * modules/human (Depends-on): Likewise.
23239         * modules/regex (Depends-on): Likewise.
23240         * modules/striconveh (Depends-on): Likewise.
23241         * modules/trim (Depends-on): Likewise.
23242         * modules/unistr/u8-move (Depends-on): Likewise.
23243         * modules/unistr/u16-move (Depends-on): Likewise.
23244         * modules/unistr/u32-move (Depends-on): Likewise.
23245
23246 2008-11-02  Bruno Haible  <bruno@clisp.org>
23247
23248         Mark 'memcpy' obsolete.
23249         * modules/memcpy (Status, Notice): New sections.
23250
23251 2008-11-02  Bruno Haible  <bruno@clisp.org>
23252
23253         Mark 'memcmp' obsolete.
23254         * modules/memcmp (Status, Notice): New sections.
23255         * modules/argmatch (Depends-on): Add memchr.
23256         * modules/backupfile (Depends-on): Likewise.
23257         * modules/c-strcasestr (Depends-on): Likewise.
23258         * modules/crypto/des (Depends-on): Likewise.
23259         * modules/csharpcomp (Depends-on): Likewise.
23260         * modules/fnmatch (Depends-on): Likewise.
23261         * modules/git-merge-changelog (Depends-on): Likewise.
23262         * modules/isnand (Depends-on): Likewise.
23263         * modules/isnand-nolibm (Depends-on): Likewise.
23264         * modules/isnanf (Depends-on): Likewise.
23265         * modules/isnanf-nolibm (Depends-on): Likewise.
23266         * modules/isnanl (Depends-on): Likewise.
23267         * modules/isnanl-nolibm (Depends-on): Likewise.
23268         * modules/mbchar (Depends-on): Likewise.
23269         * modules/memcoll (Depends-on): Likewise.
23270         * modules/quotearg (Depends-on): Likewise.
23271         * modules/regex (Depends-on): Likewise.
23272         * modules/relocatable-prog (Depends-on): Likewise.
23273         * modules/same (Depends-on): Likewise.
23274         * modules/signbit (Depends-on): Likewise.
23275         * modules/strcasestr-simple (Depends-on): Likewise.
23276         * modules/unictype/gen-ctype (Depends-on): Likewise.
23277         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
23278         * modules/uniname/uniname (Depends-on): Likewise.
23279         * modules/unistr/u8-cmp (Depends-on): Likewise.
23280
23281 2008-11-02  Bruno Haible  <bruno@clisp.org>
23282
23283         Mark 'memchr' obsolete.
23284         * modules/memchr (Status, Notice): New sections.
23285         * modules/argp (Depends-on): Add memchr.
23286         * modules/base64 (Depends-on): Likewise.
23287         * modules/c-strcasestr (Depends-on): Likewise.
23288         * modules/chdir-long (Depends-on): Likewise.
23289         * modules/fnmatch (Depends-on): Likewise.
23290         * modules/getsubopt (Depends-on): Likewise.
23291         * modules/git-merge-changelog (Depends-on): Likewise.
23292         * modules/glob (Depends-on): Likewise.
23293         * modules/strcasestr-simple (Depends-on): Likewise.
23294         * modules/strnlen (Depends-on): Likewise.
23295
23296 2008-11-02  Bruno Haible  <bruno@clisp.org>
23297
23298         Mark 'atexit' obsolete.
23299         * modules/atexit (Status, Notice): New sections.
23300         * modules/chdir-long (Depends-on): Add atexit.
23301         * modules/wait-process (Depends-on): Likewise.
23302
23303 2008-11-02  Bruno Haible  <bruno@clisp.org>
23304
23305         * gnulib-tool: New option --with-obsolete.
23306         (func_usage): Document it.
23307         (func_modules_transitive_closure): Drop obsolete dependencies if
23308         incobsolete is not true.
23309         (func_import): Read and save the incobsolete variable to the cache.
23310
23311 2008-11-02  Bruno Haible  <bruno@clisp.org>
23312
23313         * modules/TEMPLATE-EXTENDED: New field 'Status'.
23314         * gnulib-tool: New option --extract-status.
23315         (func_usage): Document it.
23316         (sed_extract_prog): Recognize it.
23317         (func_get_status): New function.
23318
23319 2008-10-30  Simon Josefsson  <simon@josefsson.org>
23320
23321         * modules/sockets (License): Change from LGPL to LGPLv2+.
23322
23323 2008-10-28  Simon Josefsson  <simon@josefsson.org>
23324
23325         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
23326
23327 2008-10-28  Simon Josefsson  <simon@josefsson.org>
23328
23329         * MODULES.html.sh (Support for systems lacking POSIX:2001):
23330         Mention times and sys_times.
23331         * modules/sys_times, modules/sys_times-tests: New modules.
23332         * modules/times, modules/times-tests: Likewise
23333         * m4/sys_times_h.m4: New file.
23334         * lib/sys_times.in.h: Likewise
23335         * lib/times.c: Likewise.
23336         * tests/test-sys_times.c: Likewise.
23337         * tests/test-times.c: Likewise.
23338         * doc/posix-headers/sys_times.texi: Update.
23339         * doc/posix-functions/times.texi: Update.
23340
23341 2008-10-28  Jim Meyering  <meyering@redhat.com>
23342
23343         * modules/tempname (Depends-on): Add lstat.
23344
23345         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
23346
23347 2008-10-28  Simon Josefsson  <simon@josefsson.org>
23348
23349         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
23350         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
23351         using idiom used elsewhere in gnulib.
23352
23353 2008-10-27  Jim Meyering  <meyering@redhat.com>
23354
23355         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
23356
23357 2008-10-27  Simon Josefsson  <simon@josefsson.org>
23358
23359         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
23360         TESTS_ENVIRONMENT, for shell scripts that needs to call built
23361         programs.
23362         * tests/test-argp-2.sh: Use $EXEEXT when needed.
23363
23364 2008-10-27  Simon Josefsson  <simon@josefsson.org>
23365
23366         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
23367
23368 2008-10-27  Bruno Haible  <bruno@clisp.org>
23369
23370         * tests/test-lstat.c: Include <stdio.h>.
23371
23372 2008-10-27  Simon Josefsson  <simon@josefsson.org>
23373
23374         * modules/lstat-tests: New module.
23375         * tests/test-lstat.c: New file.
23376
23377 2008-10-26  Jim Meyering  <meyering@redhat.com>
23378
23379         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
23380
23381 2008-10-26  Simon Josefsson  <simon@josefsson.org>
23382             Bruno Haible  <bruno@clisp.org>
23383
23384         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
23385         * modules/configmake (Include): Add a note that the include must come
23386         after all system headers.
23387         * lib/javaversion.c: Include configmake.h after all other includes.
23388
23389 2008-10-26  Bruno Haible  <bruno@clisp.org>
23390
23391         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
23392         HAVE_STRUCT_RANDOM_DATA to 1.
23393         (gl_STDLIB_H): Simplify.
23394
23395 2008-10-26  Simon Josefsson  <simon@josefsson.org>
23396
23397         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
23398         substitute HAVE_STRUCT_RANDOM_DATA.
23399         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
23400         random_data.
23401         * modules/stdlib (Makefile.am): Substitute
23402         HAVE_STRUCT_RANDOM_DATA.
23403
23404 2008-10-26  Simon Josefsson  <simon@josefsson.org>
23405
23406         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
23407         * doc/gnulib-intro.texi (Copyright): Likewise.
23408
23409 2008-10-26  Simon Josefsson  <simon@josefsson.org>
23410
23411         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
23412         findings.
23413
23414 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
23415             Bruno Haible  <bruno@clisp.org>
23416
23417         * lib/unistd.in.h: Include <winsock2.h>.
23418         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
23419         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
23420         Provide dummy declarations.
23421         (gethostname): Override.
23422         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
23423         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
23424         gl_PREREQ_SYS_H_WINSOCK2.
23425         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
23426         * doc/posix-functions/gethostname.texi: More details.
23427
23428 2008-10-25  Bruno Haible  <bruno@clisp.org>
23429
23430         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
23431         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
23432         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
23433
23434         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
23435         here ...
23436         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
23437         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
23438         gl_UNISTD_H_DEFAULTS.
23439
23440 2008-10-25  Eric Blake  <ebb9@byu.net>
23441
23442         signbit: avoid spurious compiler failure
23443         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
23444         declarations inside function.
23445
23446 2008-10-24  Simon Josefsson  <simon@josefsson.org>
23447             Bruno Haible  <bruno@clisp.org>
23448
23449         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
23450         * modules/random_r (Depends-on): Add stdint.
23451
23452 2008-10-24  Bruno Haible  <bruno@clisp.org>
23453
23454         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
23455         Eggert.
23456         * modules/strerror (License): Likewise.
23457
23458 2008-10-24  Jim Meyering  <meyering@redhat.com>
23459
23460         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
23461         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
23462
23463 2008-10-24  Eric Blake  <ebb9@byu.net>
23464
23465         getgroups: fix compilation when getgroups is available
23466         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
23467         but with <config.h> override of getgroups disabled.
23468
23469 2008-10-24  Simon Josefsson  <simon@josefsson.org>
23470
23471         * doc/gnulib.texi (Header files): Add note about C++ problems.
23472         Explained by Bruno Haible <bruno@clisp.org>.
23473
23474 2008-10-23  Bruno Haible  <bruno@clisp.org>
23475
23476         Define a dummy SA_NODEFER macro on Interix.
23477         * lib/signal.in.h (SA_NODEFER): Define fallback.
23478         Reported by Aleksey Cheusov <cheusov@tut.by> via
23479         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
23480
23481 2008-10-23  Bruno Haible  <bruno@clisp.org>
23482
23483         * modules/freadahead (License): Change to LGPLv2+.
23484         Suggested by Simon Josefsson.
23485
23486 2008-10-23  Jim Meyering  <meyering@redhat.com>
23487
23488         random_r: new module
23489         * modules/random_r: New file.
23490         * m4/random_r.m4: New file.
23491         * lib/random_r.c: New file, from glibc.
23492         * modules/random_r-tests: New file.
23493         * tests/test-random_r.c: New file.
23494         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
23495          Declare.
23496         (RAND_MAX): Define.
23497         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
23498         * modules/stdlib: Substitute them, too.
23499         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
23500         * doc/glibc-functions/initstate_r.texi: Mention the new module.
23501         * doc/glibc-functions/random_r.texi: Likewise.
23502         * doc/glibc-functions/setstate_r.texi: Likewise.
23503         * doc/glibc-functions/srandom_r.texi: Likewise.
23504         * config/srclist.txt: Mention it.
23505
23506 2008-10-23  David Lutterkort  <lutter@redhat.com>
23507
23508         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
23509         link requirement
23510
23511 2008-10-23  Jim Meyering  <meyering@redhat.com>
23512
23513         selinux-h: mark parameters of stub functions as intentionally unused
23514         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
23515         * lib/se-context.in.h: Likewise.
23516
23517 2008-10-22  Simon Josefsson  <simon@josefsson.org>
23518
23519         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
23520
23521 2008-10-22  Simon Josefsson  <simon@josefsson.org>
23522
23523         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
23524
23525 2008-10-22  Eric Blake  <ebb9@byu.net>
23526
23527         glthread/thread: avoid compiler warning
23528         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
23529         Add unreachable abort to silence compiler.
23530
23531 2008-10-22  Eric Blake  <ebb9@byu.net>
23532
23533         netdb: also supply struct addrinfo for cygwin 1.5.x
23534         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
23535         older cygwin.
23536         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
23537         cygwin.
23538         * doc/posix-headers/netdb.texi (netdb.h): Document this.
23539
23540 2008-10-22  Bruno Haible  <bruno@clisp.org>
23541
23542         * users.txt: Update entry about pspp.
23543
23544 2008-10-21  Bruno Haible  <bruno@clisp.org>
23545
23546         Simplification.
23547         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
23548         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
23549
23550         Simplification.
23551         * lib/ioctl.c (ioctl): Don't undefine.
23552         * lib/socket.c (socket): Don't undefine.
23553
23554         Remove unused module indicator macros.
23555         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
23556         GNULIB_$1 as a C macro.
23557
23558         * doc/posix-functions/close.texi: Undo last change.
23559         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
23560         Windows platforms.
23561
23562 2008-10-21  Bruno Haible  <bruno@clisp.org>
23563
23564         Add gethostname() declaration to <unistd.h>.
23565         * lib/unistd.in.h (gethostname): New declaration.
23566         * lib/gethostname.c: Include <unistd.h>.
23567         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
23568         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
23569         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
23570         and HAVE_GETHOSTNAME.
23571         * modules/gethostname (Depends-on): Add unistd.
23572         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
23573         (Include): Specify <unistd.h>.
23574         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
23575         HAVE_GETHOSTNAME.
23576         * tests/test-gethostname.c: Include <unistd.h> first.
23577
23578 2008-10-21  Bruno Haible  <bruno@clisp.org>
23579
23580         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
23581         * modules/select-tests (Depends-on): Likewise.
23582         Reported by Simon Josefsson.
23583
23584 2008-10-21  Simon Josefsson  <simon@josefsson.org>
23585
23586         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
23587         * lib/accept.c: New file, based on winsock.c.
23588         * lib/bind.c: New file, based on winsock.c.
23589         * lib/connect.c: New file, based on winsock.c.
23590         * lib/getpeername.c: New file, based on winsock.c.
23591         * lib/getsockname.c: New file, based on winsock.c.
23592         * lib/getsockopt.c: New file, based on winsock.c.
23593         * lib/ioctl.c: New file, based on winsock.c.
23594         * lib/listen.c: New file, based on winsock.c.
23595         * lib/recv.c: New file, based on winsock.c.
23596         * lib/recvfrom.c: New file, based on winsock.c.
23597         * lib/send.c: New file, based on winsock.c.
23598         * lib/sendto.c: New file, based on winsock.c.
23599         * lib/setsockopt.c: New file, based on winsock.c.
23600         * lib/shutdown.c: New file, based on winsock.c.
23601         * lib/socket.c: New file, based on winsock.c.
23602         * lib/w32sock.h: New file, based on winsock.c.
23603         * lib/winsock.c: Remove file.
23604         * modules/accept: Likewise.
23605         * modules/bind: Likewise.
23606         * modules/connect: Likewise.
23607         * modules/getpeername: Likewise.
23608         * modules/getsockname: Likewise.
23609         * modules/getsockopt: Likewise.
23610         * modules/ioctl: Likewise.
23611         * modules/listen: Likewise.
23612         * modules/recv: Likewise.
23613         * modules/recvfrom: Likewise.
23614         * modules/send: Likewise.
23615         * modules/sendto: Likewise.
23616         * modules/setsockopt: Likewise.
23617         * modules/shutdown: Likewise.
23618         * modules/socket: Use socket.c instead of winsock.c.
23619         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
23620         * doc/posix-functions/accept.texi: Doc fix.
23621         * doc/posix-functions/bind.texi: Doc fix.
23622         * doc/posix-functions/close.texi: Doc fix.
23623         * doc/posix-functions/connect.texi: Doc fix.
23624         * doc/posix-functions/getpeername.texi: Doc fix.
23625         * doc/posix-functions/getsockname.texi: Doc fix.
23626         * doc/posix-functions/getsockopt.texi: Doc fix.
23627         * doc/posix-functions/ioctl.texi: Doc fix.
23628         * doc/posix-functions/listen.texi: Doc fix.
23629         * doc/posix-functions/recv.texi: Doc fix.
23630         * doc/posix-functions/recvfrom.texi: Doc fix.
23631         * doc/posix-functions/send.texi: Doc fix.
23632         * doc/posix-functions/sendto.texi: Doc fix.
23633         * doc/posix-functions/setsockopt.texi: Doc fix.
23634         * doc/posix-functions/shutdown.texi: Doc fix.
23635         * doc/posix-functions/socket.texi: Doc fix.
23636
23637 2008-10-20  Bruno Haible  <bruno@clisp.org>
23638
23639         Take into account the role of SIGABRT_COMPAT on Windows 2008.
23640         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
23641         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
23642         as an alias for SIGABRT.
23643         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
23644         (sigaction): Map it to SIGABRT.
23645         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
23646
23647 2008-10-20  Bruno Haible  <bruno@clisp.org>
23648
23649         * lib/fts.c: Don't include lstat.h.
23650         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
23651
23652         Move the lstat() declaration to <sys/stat.h>.
23653         * lib/lstat.h: Remove file.
23654         * lib/sys_stat.in.h: Add special invocation convention.
23655         (lstat): New declaration.
23656         * lib/lstat.c (orig_lstat): New function.
23657         (rpl_lstat): Use orig_lstat instead of lstat.
23658         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
23659         AC_C_INLINE. Set REPLACE_LSTAT.
23660         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
23661         and REPLACE_LSTAT.
23662         * modules/lstat (Files): Remove lib/lstat.h.
23663         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
23664         (Include): Specify <sys/stat.h> instead of lstat.h.
23665         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
23666         REPLACE_LSTAT.
23667         * NEWS: Mention the change.
23668
23669 2008-10-20  Bruno Haible  <bruno@clisp.org>
23670
23671         * modules/posix_spawn-tests: New file.
23672         * tests/test-posix_spawn3.c: New file.
23673
23674 2008-10-20  Bruno Haible  <bruno@clisp.org>
23675
23676         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
23677         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
23678         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
23679         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
23680         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
23681
23682 2008-10-20  Bruno Haible  <bruno@clisp.org>
23683
23684         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
23685         of posix_spawn on AIX 5.3.
23686
23687 2008-10-20  Bruno Haible  <bruno@clisp.org>
23688
23689         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
23690
23691 2008-10-20  Bruno Haible  <bruno@clisp.org>
23692
23693         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
23694         of AC_LANG_PROGRAM.
23695
23696 2008-10-20  Simon Josefsson  <simon@josefsson.org>
23697
23698         * lib/netdb.in.h: Don't define GNU specific constants until they
23699         are supported or needed.  Reported by Bruno Haible
23700         <bruno@clisp.org>.
23701
23702 2008-10-20  Simon Josefsson  <simon@josefsson.org>
23703
23704         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
23705
23706 2008-10-20  Simon Josefsson  <simon@josefsson.org>
23707
23708         * lib/getaddrinfo.h: Remove file.
23709         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
23710         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
23711         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
23712         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
23713         * modules/netdb: Substitute GNULIB_GETADDRINFO.
23714         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
23715         * tests/test-getaddrinfo.c: Likewise.
23716         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
23717         * NEWS: Mention change.
23718
23719 2008-10-19  Bruno Haible  <bruno@clisp.org>
23720
23721         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
23722
23723 2008-10-19  Bruno Haible  <bruno@clisp.org>
23724
23725         * lib/wait-process.c: Include simply <sys/wait.h>.
23726         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
23727         WIFSTOPPED): Remove fallback definitions.
23728         * modules/wait-process (Depends-on): Add sys_wait.
23729
23730         New module 'sys_wait'.
23731         * modules/sys_wait: New file.
23732         * lib/sys_wait.in.h: New file, partially copied from
23733         lib/wait-process.c.
23734         * m4/sys_wait_h.m4: New file.
23735         * doc/posix-headers/sys_wait.texi: Mention the new module.
23736
23737 2008-10-19  Bruno Haible  <bruno@clisp.org>
23738
23739         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
23740
23741 2008-10-19  Bruno Haible  <bruno@clisp.org>
23742
23743         Assume that waitpid() fills an 'int' status, not a 'union wait'.
23744         * lib/wait-process.c (WAIT_T): Remove type.
23745         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
23746         (wait_subprocess): Update.
23747
23748 2008-10-19  Bruno Haible  <bruno@clisp.org>
23749
23750         New module 'atoll'.
23751         * modules/atoll: New file.
23752         * lib/stdlib.in.h (atoll): New declaration.
23753         * lib/atoll.c: New file, from glibc with modifications.
23754         * m4/atoll.m4: New file.
23755         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
23756         HAVE_ATOLL.
23757         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
23758         * doc/posix-functions/atoll.texi: Mention the new module.
23759
23760 2008-10-19  Bruno Haible  <bruno@clisp.org>
23761
23762         Add strtoull() declaration to <stdlib.h>.
23763         * lib/stdlib.in.h (strtoull): New declaration.
23764         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
23765         Set HAVE_STRTOULL.
23766         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
23767         HAVE_STRTOULL.
23768         * modules/strtoull (Depends-on): Add stdlib.
23769         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
23770         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
23771         HAVE_STRTOULL.
23772
23773 2008-10-19  Bruno Haible  <bruno@clisp.org>
23774
23775         Add strtoll() declaration to <stdlib.h>.
23776         * lib/stdlib.in.h (strtoll): New declaration.
23777         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
23778         Set HAVE_STRTOLL.
23779         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
23780         HAVE_STRTOLL.
23781         * modules/strtoll (Depends-on): Add stdlib.
23782         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
23783         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
23784
23785 2008-10-19  Bruno Haible  <bruno@clisp.org>
23786
23787         * modules/bcopy (Depends-on): Add strings.
23788         (Include): Specify <strings.h>.
23789
23790 2008-10-19  Bruno Haible  <bruno@clisp.org>
23791
23792         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
23793
23794 2008-10-19  Bruno Haible  <bruno@clisp.org>
23795
23796         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
23797         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
23798         mingw.
23799
23800 2008-10-19  Bruno Haible  <bruno@clisp.org>
23801
23802         * lib/atanl.c: Don't include isnanl.h.
23803         * lib/cosl.c: Likewise.
23804         * lib/ldexpl.c: Likewise.
23805         * lib/logl.c: Likewise.
23806         * lib/sinl.c: Likewise.
23807         * lib/sqrtl.c: Likewise.
23808         * lib/tanl.c: Likewise.
23809
23810         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
23811         * lib/isnanf.h: Remove file.
23812         * lib/isnand.h: Remove file.
23813         * lib/isnanl.h: Remove file.
23814         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
23815         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
23816         macros.
23817         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
23818         HAVE_ISNANF, don't define it as a C macro.
23819         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
23820         HAVE_ISNAND, don't define it as a C macro.
23821         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
23822         HAVE_ISNANL, don't define it as a C macro.
23823         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
23824         HAVE_ISNAN[FDL].
23825         * modules/isnanf (Files): Remove lib/isnanf.h.
23826         (Depends-on): Add math.
23827         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
23828         (Include): Specify <math.h> instead of isnanf.h.
23829         * modules/isnand (Files): Remove lib/isnand.h.
23830         (Depends-on): Add math.
23831         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
23832         (Include): Specify <math.h> instead of isnand.h.
23833         * modules/isnanl (Files): Remove lib/isnanl.h.
23834         (Depends-on): Add math.
23835         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
23836         (Include): Specify <math.h> instead of isnanl.h.
23837         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
23838         HAVE_ISNAN[FDL].
23839         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
23840         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
23841         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
23842         * NEWS: Mention the change.
23843
23844 2008-10-18  Bruno Haible  <bruno@clisp.org>
23845
23846         Add getusershell(), setusershell(), endusershell() declarations to
23847         <unistd.h>.
23848         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
23849         declarations.
23850         * lib/getusershell.c: Include unistd.h.
23851         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
23852         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
23853         HAVE_GETUSERSHELL.
23854         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
23855         and HAVE_GETUSERSHELL.
23856         * modules/getusershell (Depends-on): Add unistd, extensions.
23857         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
23858         (Include): Specify <unistd.h>.
23859         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
23860         HAVE_GETUSERSHELL.
23861
23862 2008-10-18  Bruno Haible  <bruno@clisp.org>
23863
23864         Add a getloadavg() declaration to <stdlib.h>.
23865         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
23866         getloadavg declaration.
23867         (getloadavg): New declaration.
23868         * lib/getloadavg.c: Include <stdlib.h> first.
23869         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
23870         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
23871         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
23872         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
23873         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
23874         * modules/getloadavg (Depends-on): Add stdlib, extensions.
23875         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
23876         (Include): Specify <stdlib.h>.
23877         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
23878         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
23879
23880 2008-10-18  Bruno Haible  <bruno@clisp.org>
23881
23882         * lib/dirchownmod.c: Don't include lchmod.h.
23883
23884         Move the lchmod() declaration to <sys/stat.h>.
23885         * lib/lchmod.h: Remove file.
23886         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
23887         (lchmod): New declaration, moved here from lib/lchown.h.
23888         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
23889         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
23890         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
23891         and HAVE_LCHMOD.
23892         * modules/lchmod (Files): Remove lib/lchmod.h.
23893         (Depends-on): Add sys_stat, extensions.
23894         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
23895         (Include): Specify <sys/stat.h> instead of lchmod.h.
23896         * modules/sys_stat (Depends-on): Add link-warning.
23897         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
23898         definition of GL_LINK_WARNING.
23899         * NEWS: Mention the change.
23900
23901 2008-10-18  Bruno Haible  <bruno@clisp.org>
23902
23903         * lib/fchdir.c: Don't include dirfd.h.
23904         * lib/fts.c: Likewise.
23905         * lib/getcwd.c: Likewise.
23906         * lib/glob.c: Likewise.
23907
23908         Move the dirfd() declaration to <dirent.h>.
23909         * lib/dirfd.h: Remove file.
23910         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
23911         (dirfd): New declaration.
23912         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
23913         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
23914         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
23915         HAVE_DECL_DIRFD.
23916         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
23917         HAVE_DECL_DIRFD.
23918         * modules/dirfd (Files): Remove lib/dirfd.h.
23919         (Depends-on): Add dirent, extensions.
23920         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
23921         (Include): Specify <dirent.h> instead of dirfd.h.
23922         * modules/dirent (Depends-on): Add link-warning.
23923         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
23924         definition of GL_LINK_WARNING.
23925         * NEWS: Mention the change.
23926
23927 2008-10-18  Bruno Haible  <bruno@clisp.org>
23928
23929         Move the euidaccess() declaration to <unistd.h>.
23930         * lib/euidaccess.h: Remove file.
23931         * lib/unistd.in.h (euidaccess): New declaration.
23932         * lib/euidaccess.c: Don't include euidaccess.h.
23933         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
23934         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
23935         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
23936         and HAVE_EUIDACCESS.
23937         * modules/euidaccess (Files): Remove lib/euidaccess.h.
23938         (Depends-on): Add unistd.
23939         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
23940         (Include): Specify <unistd.h> instead of euidaccess.h.
23941         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
23942         HAVE_EUIDACCESS.
23943         * NEWS: Mention the change.
23944
23945 2008-10-18  Bruno Haible  <bruno@clisp.org>
23946
23947         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
23948
23949         Move the getdomainname() declaration to <unistd.h>.
23950         * lib/getdomainname.h: Remove file.
23951         * lib/unistd.in.h (getdomainname): New declaration.
23952         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
23953         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
23954         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
23955         HAVE_GETDOMAINNAME.
23956         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
23957         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
23958         * modules/getdomainname (Files): Remove lib/getdomainname.h.
23959         (Depends-on): Add unistd, extensions.
23960         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
23961         (Includes): Specify <unistd.h> instead of getdomainname.h.
23962         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
23963         HAVE_GETDOMAINNAME.
23964         * NEWS: Mention the change.
23965
23966 2008-10-18  Bruno Haible  <bruno@clisp.org>
23967
23968         * modules/dirent: New file.
23969         * m4/dirent_h.m4: New file.
23970         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
23971         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
23972         * modules/fchdir (Files): Remove lib/dirent.in.h.
23973         (Depends-on): Add dirent.
23974         (Makefile.am): Move rules to modules/dirent.
23975         * doc/posix-headers/dirent.texi: Mention the new module.
23976
23977 2008-10-18  Bruno Haible  <bruno@clisp.org>
23978
23979         Avoid -Wunused-parameter warnings in public gnulib header files.
23980         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
23981         macro.
23982         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
23983
23984 2008-10-18  Bruno Haible  <bruno@clisp.org>
23985
23986         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
23987         * doc/glibc-functions/error.texi: Mention the module 'error'.
23988         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
23989         * doc/glibc-functions/getdomainname.texi: Mention the module
23990         'getdomainname'.
23991         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
23992         * doc/glibc-functions/getpagesize.texi: Mention the module
23993         'getpagesize'.
23994         * doc/glibc-functions/getusershell.texi: Mention the module
23995         'getusershell'.
23996         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
23997         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
23998         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
23999         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
24000         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
24001         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
24002         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
24003         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
24004         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
24005         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
24006         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
24007         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
24008         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
24009         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
24010
24011 2008-10-17  Bruno Haible  <bruno@clisp.org>
24012
24013         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
24014         HP-UX and IRIX, use -0.0L.
24015         * tests/test-ceill.c (minus_zero): Likewise.
24016         * tests/test-floorl.c (minus_zero): Likewise.
24017         * tests/test-frexpl.c (minus_zero): Likewise.
24018         * tests/test-isnan.c (minus_zerol): Likewise.
24019         * tests/test-isnanl.h (minus_zero): Likewise.
24020         * tests/test-ldexpl.c (minus_zero): Likewise.
24021         * tests/test-roundl.c (minus_zero): Likewise.
24022         * tests/test-signbit.c (minus_zerol): Likewise.
24023         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
24024         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
24025         * tests/test-truncl.c (minus_zero): Likewise.
24026         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
24027         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
24028         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
24029         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
24030
24031 2008-10-17  Bruno Haible  <bruno@clisp.org>
24032
24033         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
24034         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
24035         that it gets activated only for gcc >= 3.0.
24036         * lib/dirent.in.h: Likewise.
24037         * lib/errno.in.h: Likewise.
24038         * lib/fcntl.in.h: Likewise.
24039         * lib/float.in.h: Likewise.
24040         * lib/iconv.in.h: Likewise.
24041         * lib/inttypes.in.h: Likewise.
24042         * lib/locale.in.h: Likewise.
24043         * lib/math.in.h: Likewise.
24044         * lib/netdb.in.h: Likewise.
24045         * lib/netinet_in.in.h: Likewise.
24046         * lib/search.in.h: Likewise.
24047         * lib/signal.in.h: Likewise.
24048         * lib/spawn.in.h: Likewise.
24049         * lib/stdarg.in.h: Likewise.
24050         * lib/stdint.in.h: Likewise.
24051         * lib/stdio.in.h: Likewise.
24052         * lib/stdlib.in.h: Likewise.
24053         * lib/string.in.h: Likewise.
24054         * lib/strings.in.h: Likewise.
24055         * lib/sys_file.in.h: Likewise.
24056         * lib/sys_ioctl.in.h: Likewise.
24057         * lib/sys_select.in.h: Likewise.
24058         * lib/sys_socket.in.h: Likewise.
24059         * lib/sys_stat.in.h: Likewise.
24060         * lib/sys_time.in.h: Likewise.
24061         * lib/sysexits.in.h: Likewise.
24062         * lib/time.in.h: Likewise.
24063         * lib/unistd.in.h: Likewise.
24064         * lib/wchar.in.h: Likewise.
24065         * lib/wctype.in.h: Likewise.
24066         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
24067
24068 2008-10-17  Jim Meyering  <meyering@redhat.com>
24069
24070         ignore-value: don't depend on inline module
24071         * modules/ignore-value (Depends-on): Remove 'inline'.
24072         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
24073         Suggestion from Bruno Haible.
24074
24075 2008-10-17  Bruno Haible  <bruno@clisp.org>
24076
24077         New implementation of condition variables for Win32.
24078         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
24079         (gl_linked_waitqueue_t): New type.
24080         (gl_cond_t): Use it.
24081         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
24082         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
24083         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
24084         (glthread_cond_init_func, glthread_cond_wait_func,
24085         glthread_cond_timedwait_func, glthread_cond_signal_func,
24086         glthread_cond_broadcast_func, glthread_cond_destroy_func):
24087         Reimplemented on the basis of gl_linked_waitqueue_t.
24088         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
24089         gl_waitqueue_t.
24090         (gl_rwlock_t): Update.
24091         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
24092
24093 2008-10-17  Simon Josefsson  <simon@josefsson.org>
24094
24095         * modules/recvfrom (Depends-on): Add dependency on getpeername.
24096         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
24097
24098 2008-10-17  Jim Meyering  <meyering@redhat.com>
24099
24100         ignore-value: new module
24101         * modules/ignore-value: New file.
24102         * lib/ignore-value.h: New file.
24103         * MODULES.html.sh (Compiler warning management): New section,
24104         just for this module.  More to come.
24105
24106 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
24107
24108         open-safer.c: avoid 'signed and unsigned in conditional...' warning
24109         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
24110         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
24111
24112 2008-10-16  Jim Meyering  <meyering@redhat.com>
24113
24114         openat-die.c: avoid 'no previous prototype' warning
24115         * lib/openat-die.c: Include "openat.h".
24116         Reported by Reuben Thomas <rrt@sc3d.org>.
24117
24118 2008-10-16  Simon Josefsson  <simon@josefsson.org>
24119
24120         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
24121         * lib/netdb.in.h: Fix typo.
24122         Reported by Bruno Haible  <bruno@clisp.org>
24123
24124         * lib/netdb.in.h: Include sys/socket.h for platforms without
24125         netdb.h, to get structures like hostent on MinGW.
24126         * modules/netdb (Depends-on): Add sys_socket.
24127
24128 2008-10-15  Simon Josefsson  <simon@josefsson.org>
24129
24130         * modules/netdb, modules/netdb-tests: New file.
24131         * m4/netdb_h.m4: New file.
24132         * lib/netdb.in.h: Add, currently just an empty file pending
24133         definitions.
24134         * tests/test-netdb.c: New file.
24135         * doc/posix-headers/netdb.texi: Mention that we replace it if
24136         needed.
24137         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
24138         netdb.
24139
24140 2008-10-15  Simon Josefsson  <simon@josefsson.org>
24141
24142         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
24143         with code.
24144
24145 2008-10-13  Bruno Haible  <bruno@clisp.org>
24146
24147         * lib/glthread/cond.c (glthread_cond_wait_func,
24148         glthread_cond_timedwait_func): Add a comment.
24149
24150 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
24151
24152         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
24153         * tests/test-select.c: Likewise,
24154
24155 2008-10-13  Bruno Haible  <bruno@clisp.org>
24156
24157         * lib/glthread/cond.c (glthread_cond_wait_func,
24158         glthread_cond_timedwait_func): Fix variable name.
24159         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
24160
24161 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
24162
24163         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
24164         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
24165         struct sockaddr.sa_len.
24166         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
24167
24168 2008-10-13  Simon Josefsson  <simon@josefsson.org>
24169
24170         * build-aux/pmccabe2html: Add css and css_url parameters.
24171
24172 2008-10-12  Bruno Haible  <bruno@clisp.org>
24173
24174         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
24175         calling aclx_get.
24176         Reported by Rainer Tammer <tammer@tammer.net>.
24177
24178 2008-10-12  Bruno Haible  <bruno@clisp.org>
24179
24180         Use msvcrt aware primitives for creation/termination of Win32 threads.
24181         * lib/glthread/thread.c: Include <process.h>.
24182         (glthread_create_func): Use _beginthreadex instead of CreateThread.
24183         (wrapper_func): Update signature.
24184         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
24185
24186 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
24187             Bruno Haible  <bruno@clisp.org>
24188
24189         Provide a Win32 implementation of the 'cond' module.
24190         * lib/glthread/cond.h [USE_WIN32]: New implementation.
24191         * lib/glthread/cond.c (glthread_cond_init_func,
24192         glthread_cond_wait_func, glthread_cond_timedwait_func,
24193         glthread_cond_signal_func, glthread_cond_broadcast_func,
24194         glthread_cond_destroy_func) [USE_WIN32]: New functions.
24195         * modules/cond (Dependencies): Add gettimeofday.
24196
24197 2008-10-11  Bruno Haible  <bruno@clisp.org>
24198
24199         Make sleep work on older versions of mingw.
24200         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
24201         only whether it exists.
24202         * doc/posix-functions/sleep.texi: Mention the problem with older
24203         versions of mingw.
24204
24205 2008-10-11  Bruno Haible  <bruno@clisp.org>
24206
24207         New module 'shutdown'.
24208         * modules/shutdown: New file.
24209         * lib/sys_socket.in.h (shutdown): New declaration.
24210         * lib/winsock.c (shutdown): New function.
24211         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
24212         GNULIB_SHUTDOWN.
24213         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
24214         * doc/posix-functions/shutdown.texi: Document the new module.
24215
24216 2008-10-11  Jim Meyering  <meyering@redhat.com>
24217
24218         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
24219
24220 2008-10-11  Bruno Haible  <bruno@clisp.org>
24221
24222         New module 'fclose'.
24223         * modules/fclose: New file.
24224         * lib/stdio.in.h (fclose): New declaration.
24225         * lib/fclose.c: New file.
24226         * m4/fclose.m4: New file.
24227         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
24228         REPLACE_FCLOSE.
24229         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
24230         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
24231         REPLACE_FCLOSE.
24232         * modules/close (Depends-on): fclose.
24233         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
24234
24235 2008-10-11  Bruno Haible  <bruno@clisp.org>
24236
24237         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
24238         set errno and don't call _close.
24239
24240 2008-10-10  Bruno Haible  <bruno@clisp.org>
24241
24242         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
24243         ACL, not afterwards. Fixes test failure on Cygwin.
24244
24245 2008-10-09  Ben Pfaff  <blp@gnu.org>
24246
24247         * build-aux/announce-gen: Fix gnulib version related part of usage
24248         message.  Die with a useful error message if no tarballs are
24249         found.
24250
24251 2008-10-10  Jim Meyering  <meyering@redhat.com>
24252
24253         bootstrap: use git's --depth=N option only if it's supported
24254         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
24255         recognize the --depth option.  Reported by Pádraig Brady.
24256
24257 2008-10-09  Bruno Haible  <bruno@clisp.org>
24258
24259         New module 'ioctl'.
24260         * modules/ioctl: New file.
24261         * lib/sys_socket.in.h (ioctl): Remove declaration.
24262         * lib/winsock.c: Include <sys/ioctl.h>.
24263         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
24264         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
24265         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
24266         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
24267         * doc/posix-functions/ioctl.texi: Mention the new module.
24268
24269 2008-10-09  Bruno Haible  <bruno@clisp.org>
24270
24271         New module 'sys_ioctl'.
24272         * lib/sys_ioctl.in.h: New file.
24273         * m4/sys_ioctl_h.m4: New file.
24274         * modules/sys_ioctl: New file.
24275         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
24276
24277 2008-10-09  Bruno Haible  <bruno@clisp.org>
24278
24279         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
24280         * lib/winsock.c: Include <stdarg.h>.
24281         (rpl_ioctl): Change to second argument 'int' and then varargs.
24282
24283 2008-10-09  Bruno Haible  <bruno@clisp.org>
24284
24285         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
24286         when the sys_socket module is present and the system has <winsock2.h>.
24287
24288 2008-10-09  Bruno Haible  <bruno@clisp.org>
24289
24290         * doc/posix-functions/close.texi: Mention module 'close' instead of
24291         module 'sys_socket'.
24292
24293 2008-10-09  Bruno Haible  <bruno@clisp.org>
24294
24295         * doc/glibc-headers/sys_ioctl.texi: New file.
24296         * doc/gnulib.texi: Include it.
24297
24298 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
24299             Bruno Haible  <bruno@clisp.org>
24300
24301         Combine the two replacements of 'close'.
24302         * lib/sys_socket.in.h (close): Define to a reminder to include
24303         <unistd.h>.
24304         (_gl_close_fd_maybe_socket): New declaration.
24305         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
24306         * lib/winsock.c (close): Remove undefinition.
24307         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
24308         needed for the gnulib module 'close'.
24309         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
24310         define to an error symbol or to a warning, if suitable.
24311         * lib/close.c: Include <sys/socket.h>.
24312         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
24313         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
24314         UNISTD_H_HAVE_WINSOCK2_H.
24315         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
24316         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24317         UNISTD_H_HAVE_WINSOCK2_H.
24318         * modules/sys_socket (Files): Add m4/unistd_h.m4.
24319         (configure.ac): Set a module indicator.
24320         (Makefile.am): Substitute GNULIB_CLOSE.
24321         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
24322         * modules/poll-tests (Depends-on): Add close.
24323         * modules/select-tests (Depends-on): Likewise.
24324
24325 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
24326             Bruno Haible  <bruno@clisp.org>
24327
24328         New module 'close'.
24329         * modules/close: New file.
24330         * lib/unistd.in.h (close): Move declaration out of the
24331         FCHDIR_REPLACEMENT scope.
24332         (_gl_unregister_fd): New declaration.
24333         * lib/close.c: New file.
24334         * lib/fchdir.c (rpl_close): Remove function.
24335         * m4/close.m4: New file.
24336         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
24337         close.
24338         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
24339         REPLACE_CLOSE.
24340         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
24341         REPLACE_CLOSE.
24342         * modules/fchdir (Depends-on): Add close.
24343
24344 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
24345             Bruno Haible  <bruno@clisp.org>
24346
24347         * lib/fcntl.in.h (open): Simplify conditionals.
24348         (_gl_register_fd): New declaration.
24349         * lib/fchdir.c (rpl_open): Remove function.
24350         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
24351         also.
24352         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
24353         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
24354         open.
24355
24356 2008-10-09  Jim Meyering  <meyering@redhat.com>
24357
24358         GNUmakefile: use the more name-space-friendly "_version"
24359         * top/GNUmakefile (_dummy): Update.
24360         (_version): Rename from "version".
24361
24362 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
24363             Bruno Haible  <bruno@clisp.org>
24364
24365         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
24366         rpl_close.
24367         (_gl_register_fd): New function, extracted from rpl_open.
24368         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
24369         (rpl_open, rpl_opendir): Use _gl_register_fd.
24370
24371 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
24372
24373         Fix organization of 'open' replacement.
24374         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
24375         (gl_FUNC_OPEN): Use it.
24376         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
24377
24378 2008-10-08  Bruno Haible  <bruno@clisp.org>
24379
24380         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
24381
24382 2008-10-08  Simon Josefsson  <simon@josefsson.org>
24383
24384         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
24385         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
24386         listen).
24387
24388 2008-10-08  Eric Blake  <ebb9@byu.net>
24389
24390         GNUmakefile: add 'make version' target
24391         * top/GNUmakefile (_curr-ver): Split version update rules...
24392         (version): ...into a target.
24393
24394 2008-10-07  Bruno Haible  <bruno@clisp.org>
24395
24396         Use a more portable replacement expression for -0.0L.
24397         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
24398         instead of -0.0L. Fix m4 quotation.
24399
24400         * tests/test-signbit.c: Include <float.h>.
24401         (minus_zero): New variable.
24402         (test_signbitl): Use minus_zero instead of -zero.
24403         * modules/signbit-tests (Depends-on): Add float.
24404
24405         * tests/test-ceill.c: Include <float.h>.
24406         (zero): Remove variable.
24407         (minus_zero): New variable.
24408         (main): Use minus_zero instead of -zero.
24409         * modules/ceill-tests (Depends-on): Add float.
24410
24411         * tests/test-floorl.c: Include <float.h>.
24412         (zero): Remove variable.
24413         (minus_zero): New variable.
24414         (main): Use minus_zero instead of -zero.
24415         * modules/floorl-tests (Depends-on): Add float.
24416
24417         * tests/test-roundl.c: Include <float.h>.
24418         (zero): Remove variable.
24419         (minus_zero): New variable.
24420         (main): Use minus_zero instead of -zero.
24421         * modules/roundl-tests (Depends-on): Add float.
24422
24423         * tests/test-truncl.c: Include <float.h>.
24424         (zero): Remove variable.
24425         (minus_zero): New variable.
24426         (main): Use minus_zero instead of -zero.
24427         * modules/truncl-tests (Depends-on): Add float.
24428
24429         * tests/test-frexpl.c (zero): Remove variable.
24430         (minus_zero): New variable.
24431         (main): Use minus_zero instead of -zero.
24432         * modules/frexpl-tests (Depends-on): Add float.
24433
24434         * tests/test-isnan.c (zerol): Remove variable.
24435         (minus_zerol): New variable.
24436         (test_long_double): Use minus_zerol instead of -zerol.
24437         * modules/isnan-tests (Depends-on): Add float.
24438
24439         * tests/test-isnanl.h (zero): Remove variable.
24440         (minus_zero): New variable.
24441         (main): Use minus_zero instead of -zero.
24442         * modules/isnanl-nolibm-tests (Depends-on): Add float.
24443         * modules/isnanl-tests (Depends-on): Add float.
24444
24445         * tests/test-ldexpl.c (zero): Remove variable.
24446         (minus_zero): New variable.
24447         (main): Use minus_zero instead of -zero.
24448         * modules/ldexpl-tests (Depends-on): Add float.
24449
24450         * tests/test-snprintf-posix.h (zerol): Remove variable.
24451         (minus_zerol): New variable.
24452         (test_function): Use minus_zerol instead of -zerol.
24453         * modules/snprintf-posix-tests (Depends-on): Add float.
24454         * modules/vsnprintf-posix-tests (Depends-on): Add float.
24455
24456         * tests/test-sprintf-posix.h (zerol): Remove variable.
24457         (minus_zerol): New variable.
24458         (test_function): Use minus_zerol instead of -zerol.
24459         * modules/sprintf-posix-tests (Depends-on): Add float.
24460         * modules/vsprintf-posix-tests (Depends-on): Add float.
24461
24462         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
24463         (minus_zerol): New variable.
24464         (test_function): Use minus_zerol instead of -zerol.
24465         * modules/vasnprintf-posix-tests (Depends-on): Add float.
24466
24467         * tests/test-vasprintf-posix.c (zerol): Remove variable.
24468         (minus_zerol): New variable.
24469         (test_function): Use minus_zerol instead of -zerol.
24470         * modules/vasprintf-posix-tests (Depends-on): Add float.
24471
24472 2008-10-07  Simon Josefsson  <simon@josefsson.org>
24473
24474         * MODULES.html.sh (Support for building documentation): Mention
24475         pmccabe2html.  Sort entries.
24476
24477         Add pmccabe2html module, from gnupdf.
24478         * build-aux/pmccabe.css: New file.
24479         * build-aux/pmccabe2html: New file.
24480         * m4/pmccabe2html.m4: New file.
24481         * modules/pmccabe2html: New file.
24482
24483 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
24484
24485         flock: new module
24486         * MODULES.html.sh: Add to list of modules.
24487         * lib/flock.c: flock implementation for Windows and Unix systems
24488         which have fcntl.
24489         * doc/glibc-functions/flock.texi: Update documentation.
24490         * lib/sys_file.in.h: <sys/file.h> header file.
24491         * m4/flock.m4: M4 macros.
24492         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
24493         * modules/flock: flock module.
24494         * modules/flock-tests: flock tests module.
24495         * modules/sys_file: sys/file.h module.
24496         * tests/test-flock.c: test suite for flock.
24497
24498 2008-10-06  Jim Meyering  <meyering@redhat.com>
24499
24500         bootstrap: check for LT_INIT more portably still ;-)
24501         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
24502         Spotted by Bruno Haible.
24503
24504 2008-10-06  Eric Blake  <ebb9@byu.net>
24505
24506         test-signbit: avoid tripping Irix cc bug on -0.0L
24507         * tests/test-signbit.c (minus_zerol): Delete, and replace with
24508         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
24509         entire testsuite consistent and avoids an Irix 6.2 bug.
24510
24511 2008-10-05  Bruno Haible  <bruno@clisp.org>
24512             Jim Meyering  <jim@meyering.net>
24513
24514         Add an option for ignoring EPIPE during close_stdout.
24515         * lib/closeout.h: Include <stdbool.h>.
24516         (close_stdout_set_ignore_EPIPE): New declaration.
24517         * lib/closeout.c: Include <stdbool.h>.
24518         (ignore_EPIPE): New variable.
24519         (close_stdout_set_ignore_EPIPE): New function.
24520         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
24521         * lib/close-stream.c (close_stream): Mention the possible EPIPE
24522         failure.
24523         * modules/closeout (Depends-on): Add stdbool.
24524
24525 2008-10-05  Bruno Haible  <bruno@clisp.org>
24526
24527         * modules/accept: New file.
24528         * modules/bind: New file.
24529         * modules/connect: New file.
24530         * modules/getpeername: New file.
24531         * modules/getsockname: New file.
24532         * modules/getsockopt: New file.
24533         * modules/listen: New file.
24534         * modules/recv: New file.
24535         * modules/recvfrom: New file.
24536         * modules/send: New file.
24537         * modules/sendto: New file.
24538         * modules/setsockopt: New file.
24539         * modules/socket: New file.
24540         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
24541         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
24542         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
24543         the particular module is requested. Add a link warning when the
24544         particular module is not requested.
24545         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
24546         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
24547         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
24548         the particular module is requested.
24549         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
24550         gl_SYS_SOCKET_H_DEFAULTS): New macros.
24551         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
24552         * modules/sys_socket (Depends-on): Add link-warning.
24553         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
24554         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
24555         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
24556         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
24557         GL_LINK_WARNING.
24558         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
24559         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
24560         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
24561         * doc/posix-functions/getpeername.texi: Mention the new module
24562         'getpeername'.
24563         * doc/posix-functions/getsockname.texi: Mention the new module
24564         'getsockname'.
24565         * doc/posix-functions/getsockopt.texi: Mention the new module
24566         'getsockopt'.
24567         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
24568         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
24569         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
24570         * doc/posix-functions/send.texi: Mention the new module 'send'.
24571         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
24572         * doc/posix-functions/setsockopt.texi: Mention the new module
24573         'setsockopt'.
24574         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
24575         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
24576         listen, connect, accept.
24577         * modules/select-tests (Depends-on): Likewise.
24578
24579 2008-10-05  Bruno Haible  <bruno@clisp.org>
24580
24581         * lib/winsock.c (strerror): Remove unused #undef.
24582         (rpl_close): Remove unused local variable.
24583
24584         * modules/sys_socket (Depends-on); Add errno.
24585
24586 2008-10-05  Bruno Haible  <bruno@clisp.org>
24587
24588         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
24589         (select): Add a link warning when the 'select' module is not used.
24590         * modules/sys_select (Depends-on): Add link-warning.
24591         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
24592         Suggested by Paolo Bonzini.
24593
24594 2008-10-05  Jim Meyering  <meyering@redhat.com>
24595
24596         bootstrap: check for LT_INIT more portably
24597         * build-aux/bootstrap: Avoid using grep -E, since it's not
24598         portable enough.  Suggestion from Bruno Haible.
24599
24600 2008-10-05  Bruno Haible  <bruno@clisp.org>
24601
24602         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
24603         as being fixed by gnulib.
24604
24605 2008-10-05  Bruno Haible  <bruno@clisp.org>
24606
24607         * modules/select-tests: New file, mostly copied from
24608         modules/sys_select-tests.
24609         * tests/test-select.c: New file, mostly copied from
24610         tests/test-sys_select.c.
24611         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
24612         * modules/sys_select-tests (Depends-on): Remove all dependencies.
24613         (Makefile.am): Remove test_sys_select_LDADD.
24614
24615         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
24616         to an undefined symbol, for an error message.
24617         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
24618         (gl_SYS_SELECT_H_DEFAULTS): New macro.
24619         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
24620         winsock-select.c here.
24621         * modules/sys_select (Files): Remove lib/winsock-select.c.
24622         (Depends-on): Remove alloca.
24623         (Makefile.am): Substitute GNULIB_SELECT.
24624         * modules/select: New file.
24625         * doc/posix-functions/select.texi: Update.
24626
24627 2008-10-05  Bruno Haible  <bruno@clisp.org>
24628
24629         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
24630         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
24631         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
24632         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
24633         getdtablesize.
24634         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
24635         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
24636
24637 2008-10-05  Bruno Haible  <bruno@clisp.org>
24638
24639         * modules/getdtablesize-tests: New file.
24640         * tests/test-getdtablesize.c: New file.
24641
24642         New module 'getdtablesize'.
24643         * lib/unistd.in.h (getdtablesize): New declaration.
24644         * lib/getdtablesize.c: New file.
24645         * m4/getdtablesize.m4: New file.
24646         * modules/getdtablesize: New file.
24647         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24648         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
24649         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
24650         HAVE_GETDTABLESIZE.
24651         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
24652
24653 2008-10-05  Bruno Haible  <bruno@clisp.org>
24654
24655         * modules/sched (Makefile.am): Fix typo.
24656         Reported by Simon Josefsson.
24657
24658 2008-10-05  Jim Meyering  <meyering@redhat.com>
24659
24660         bootstrap: check for LT_INIT, too
24661         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
24662         are deprecated.  Suggestion from Ralf Wildenhues.
24663
24664 2008-10-05  Bruno Haible  <bruno@clisp.org>
24665
24666         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
24667         overriding them by ours.
24668         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
24669
24670 2008-10-05  Jim Meyering  <meyering@redhat.com>
24671
24672         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
24673         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
24674         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
24675
24676 2008-10-04  Bruno Haible  <bruno@clisp.org>
24677
24678         * modules/dup2 (License): Change to LGPLv2+.
24679         * modules/sleep (License): Likewise.
24680         * modules/perror (License): Likewise.
24681         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
24682         Blake.
24683         * modules/signal (License): Likewise.
24684         * modules/sigprocmask (License): Likewise.
24685         * modules/raise (License): Change to LGPLv2+, with approval by Jim
24686         Meyering.
24687
24688 2008-10-04  Bruno Haible  <bruno@clisp.org>
24689
24690         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
24691         Reported by Rainer Tammer <tammer@tammer.net>.
24692
24693 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
24694             Bruno Haible  <bruno@clisp.org>
24695
24696         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
24697         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
24698         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
24699
24700 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
24701
24702         filevercmp: new module
24703         * lib/filevercmp.h: New function filevercmp comparing version strings.
24704         * lib/filevercmp.c: Implementation of filevercmp function.
24705         * modules/filevercmp: Module metadata.
24706         * tests/test-filevercmp.c: Unit test for new module.
24707         * modules/filevercmp-tests: Unit test metadata.
24708         * MODULES.html.sh: Add filevercmp module.
24709
24710 2008-10-03  Bruno Haible  <bruno@clisp.org>
24711
24712         * lib/c-ctype.h: Add comment.
24713         Reported by Jim Meyering.
24714
24715 2008-10-02  Bruno Haible  <bruno@clisp.org>
24716
24717         * modules/posix_spawn-internal (Depends-on): Add 'open'.
24718
24719 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
24720
24721         * build-aux/bootstrap: Allow renaming bootstrap, and change the
24722         name of bootstrap.conf accordingly.
24723
24724 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
24725
24726         * build-aux/bootstrap: Install git-merge-changelog configuration
24727         items into .gitconfig if needed.
24728
24729 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
24730
24731         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
24732         git repository, and initialize/update it accordingly.
24733
24734 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
24735
24736         * modules/fsync-tests: New file.
24737         * tests/test-fsync.c: New file.
24738
24739         New module 'fsync'.
24740         * lib/fsync.c: New file.
24741         * m4/fsync.m4: New file.
24742         * modules/fsync: New file.
24743         * lib/unistd.in.h (fsync): New declaration.
24744         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
24745         GNULIB_FSYNC and HAVE_FSYNC.
24746         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
24747         * MODULES.html.sh (posix_functions): Add fsync.
24748         * doc/posix-functions/fsync.texi: Mention the new module.
24749
24750 2008-10-02  Jim Meyering  <meyering@redhat.com>
24751
24752         fts.c: sync with similar code from coreutils' remove.c
24753         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
24754         Guard also with "#if defined __linux__", since for now at least,
24755         this code is Linux-kernel-specific.
24756
24757 2008-10-02  Jim Meyering  <meyering@redhat.com>
24758
24759         fts: bug fixes
24760         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
24761         Include <sys/vfs.h>, not <sys/statfs.h>.
24762
24763         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
24764         Include <sys/vfs.h>, not <sys/statfs.h>.
24765
24766 2008-10-01  Bruno Haible  <bruno@clisp.org>
24767
24768         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
24769         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
24770         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
24771         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
24772         * doc/posix-functions/posix_spawnp.texi: Likewise.
24773         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
24774         whether posix_spawn actually works.
24775         * m4/pipe.m4 (gl_PIPE): Likewise.
24776         * modules/execute (Files): Add m4/posix_spawn.m4.
24777         * modules/pipe (Files): Add m4/posix_spawn.m4.
24778         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
24779
24780 2008-10-01  Jim Meyering  <meyering@redhat.com>
24781
24782         remove trailing spaces
24783         * NEWS: Likewise.
24784         * lib/poll.c (poll): Likewise.
24785         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
24786         * lib/winsock.c (rpl_close): Likewise.
24787         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
24788         * modules/yield: Likewise.
24789         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
24790         * tests/test-sys_select.c (connect_to_socket): Likewise.
24791
24792         fts.c: adjust a new interface to be more generally useful
24793         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
24794         (fts_build): Adjust caller.
24795
24796 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24797
24798         * modules/cond-tests: New file.
24799         * tests/test-cond.c: New file.
24800
24801 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24802             Bruno Haible  <bruno@clisp.org>
24803
24804         * modules/cond (Dependencies): Add errno, time.
24805         * lib/glthread/cond.h: Include <time.h>.
24806         (gl_cond_define, gl_cond_define_initialized): Use the same definition
24807         across platforms.
24808
24809 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24810             Bruno Haible  <bruno@clisp.org>
24811
24812         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
24813
24814 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24815             Bruno Haible  <bruno@clisp.org>
24816
24817         * modules/tls-tests (Depends-on): Add thread, yield.
24818         (configure.ac): Remove all checks.
24819         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
24820         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
24821         gl_thread_self): Remove definitions. Include glthread/thread.h and
24822         glthread/yield.h instead.
24823         (test_tls): Pass an additional NULL argument to gl_thread_join.
24824
24825 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24826             Bruno Haible  <bruno@clisp.org>
24827
24828         * modules/lock-tests (Depends-on): Add thread, yield.
24829         (configure.ac): Remove all checks.
24830         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
24831         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
24832         gl_thread_self): Remove definitions. Include glthread/thread.h and
24833         glthread/yield.h instead.
24834         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
24835         additional NULL argument to gl_thread_join.
24836
24837 2008-09-30  Bruno Haible  <bruno@clisp.org>
24838
24839         Fix the Win32 implementation of the 'thread' module.
24840         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
24841         pointer type.
24842         (gl_thread_self): Invoke gl_thread_self_func.
24843         (gl_thread_self_func): New declaration.
24844         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
24845         (do_init_self_key, init_self_key): New functions.
24846         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
24847         Remove some fields.
24848         (running_threads, running_lock): Remove variables.
24849         (get_current_thread_handle): New function.
24850         (gl_thread_self_func, wrapper_func, glthread_create_func,
24851         glthread_join_func, gl_thread_exit_func): Largely rewritten and
24852         simplified.
24853
24854 2008-09-30  Bruno Haible  <bruno@clisp.org>
24855
24856         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
24857         files.
24858
24859 2008-09-30  Jim Meyering  <meyering@redhat.com>
24860
24861         fts.m4: correct the test for statfs.f_type
24862         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
24863         when checking for statfs.f_type.
24864
24865 2008-09-15  Simon Josefsson  <simon@josefsson.org>
24866
24867         tests: avoid some compiler warnings
24868         * tests/test-memchr.c (main): Pass NULL indirectly.
24869         * tests/test-getdate.c (main): Remove unused variable 'ret'.
24870
24871 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
24872
24873         getdate.y: disallow countable dayshifts like "4 yesterday ago"
24874         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
24875         exactly specified dayshifts.
24876         (dayshift): New rule.
24877         (rel): Add dayshift.
24878         (relative_time_table) [tomorrow, yesterday, today, now]:
24879         Use tDAY_SHIFT in place of tDAY_UNIT.
24880         * tests/test-getdate.c: Add tests for now-disallowed countable
24881         dayshifts, e.g., "4 yesterday ago".
24882
24883 2008-09-29  Bruno Haible  <bruno@clisp.org>
24884
24885         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
24886         * tests/test-posix_spawn1.in.sh: Renamed from
24887         tests/test-posix_spawn.in.sh.
24888         * tests/test-posix_spawn2.c: New file.
24889         * tests/test-posix_spawn2.in.sh: New file.
24890         * modules/posix_spawnp-tests (Files): Update.
24891         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
24892
24893 2008-09-29  Bruno Haible  <bruno@clisp.org>
24894
24895         Propagate effects of putenv/setenv/unsetenv to child processes.
24896         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
24897         * lib/pipe.c (create_pipe): Likewise.
24898
24899 2008-09-29  Bruno Haible  <bruno@clisp.org>
24900
24901         Enable use of shell scripts as executables in mingw.
24902         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
24903         run the program as a shell script.
24904         * lib/pipe.c (create_pipe): Likewise.
24905         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
24906         resulting array.
24907
24908 2008-09-29  Eric Blake  <ebb9@byu.net>
24909
24910         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
24911
24912 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
24913
24914         * doc/posix-functions/accept.texi: Update mingw problems.
24915         * doc/posix-functions/bind.texi: Update mingw problems.
24916         * doc/posix-functions/close.texi: Update mingw problems.
24917         * doc/posix-functions/connect.texi: Update mingw problems.
24918         * doc/posix-functions/getpeername.texi: Update mingw problems.
24919         * doc/posix-functions/getsockname.texi: Update mingw problems.
24920         * doc/posix-functions/getsockopt.texi: Update mingw problems.
24921         * doc/posix-functions/ioctl.texi: Update mingw problems.
24922         * doc/posix-functions/listen.texi: Update mingw problems.
24923         * doc/posix-functions/recv.texi: Update mingw problems.
24924         * doc/posix-functions/recvfrom.texi: Update mingw problems.
24925         * doc/posix-functions/select.texi: Update mingw problems.
24926         * doc/posix-functions/send.texi: Update mingw problems.
24927         * doc/posix-functions/sendto.texi: Update mingw problems.
24928         * doc/posix-functions/setsockopt.texi: Update mingw problems.
24929         * doc/posix-functions/socket.texi: Update mingw problems.
24930
24931 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
24932             Bruno Haible  <bruno@clisp.org>
24933
24934         * lib/sys_select.in.h: Include sys/time.h.
24935         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
24936         * modules/sys_select: Depend on sys_time.
24937         * tests/test-sys_select.c: Test that sys/select.h defines struct
24938         timeval fully.
24939
24940 2008-09-29  Bruno Haible  <bruno@clisp.org>
24941
24942         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
24943         * lib/sys_select.in.h: Likewise.
24944
24945 2008-09-29  Bruno Haible  <bruno@clisp.org>
24946
24947         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
24948
24949 2008-09-29  Bruno Haible  <bruno@clisp.org>
24950
24951         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
24952         Set LIBSOCKET instead of augmenting LIBS.
24953         * modules/sockets (Link): New section.
24954         * modules/sockets-tests (test_sockets_LDADD): New variable.
24955         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
24956         * modules/poll-tests (test_poll_LDADD): New variable.
24957         * NEWS: Document the change.
24958
24959 2008-09-29  Bruno Haible  <bruno@clisp.org>
24960
24961         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
24962         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
24963         ARPA_INET_H directly.
24964         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
24965
24966 2008-09-28  Bruno Haible  <bruno@clisp.org>
24967
24968         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
24969         from gl_HEADER_SYS_SOCKET.
24970         (gl_HEADER_SYS_SOCKET): Invoke it.
24971         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
24972
24973 2008-09-28  Bruno Haible  <bruno@clisp.org>
24974
24975         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
24976         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
24977         Needed on OSF/1 4.0.
24978
24979 2008-09-28  Bruno Haible  <bruno@clisp.org>
24980
24981         Override open more carefully.
24982         * lib/open.c (orig_open): New function.
24983         (rpl_open): Use orig_open instead of open.
24984         * lib/fcntl.in.h: Add special invocation convention.
24985         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
24986         (gl_FUNC_OPEN): Invoke it.
24987
24988         Override freopen more carefully.
24989         * lib/freopen.c (orig_freopen): New function.
24990         (rpl_freopen): Use orig_freopen instead of freopen.
24991         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
24992         (gl_FUNC_FREOPEN): Invoke it.
24993
24994         Override fopen more carefully.
24995         * lib/fopen.c (orig_fopen): New function.
24996         (rpl_fopen): Use orig_fopen instead of fopen.
24997         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
24998         (gl_FUNC_FOPEN): Invoke it.
24999         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
25000
25001 2008-09-28  Bruno Haible  <bruno@clisp.org>
25002
25003         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
25004         SIGPIPE.
25005
25006 2008-09-28  Bruno Haible  <bruno@clisp.org>
25007
25008         * tests/test-sigaction.c (handler, main): Disable the check whether
25009         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
25010         glibc systems with LinuxThreads.
25011
25012 2008-09-28  Bruno Haible  <bruno@clisp.org>
25013
25014         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
25015
25016         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
25017         with AIX xlc.
25018         * lib/fcntl.in.h (open): Likewise.
25019         Reported by Rainer Tammer <tammer@tammer.net>.
25020
25021 2008-09-28  Bruno Haible  <bruno@clisp.org>
25022
25023         * modules/posix_spawnp-tests: New file.
25024         * tests/test-posix_spawn.c: New file.
25025         * tests/test-posix_spawn.in.sh: New file.
25026
25027         New module 'posix_spawnp'.
25028         * modules/posix_spawnp: New file.
25029         * lib/spawnp.c: New file, from GNU libc with modifications.
25030         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
25031
25032         New module 'posix_spawn'.
25033         * modules/posix_spawn: New file.
25034         * lib/spawn.c: New file, from GNU libc with modifications.
25035         * doc/posix-functions/posix_spawn.texi: Mention the new module.
25036
25037         New module 'posix_spawnattr_destroy'.
25038         * modules/posix_spawnattr_destroy: New file.
25039         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
25040         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
25041         module.
25042
25043         New module 'posix_spawnattr_setsigmask'.
25044         * modules/posix_spawnattr_setsigmask: New file.
25045         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
25046         modifications.
25047         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
25048         new module.
25049
25050         New module 'posix_spawnattr_getsigmask'.
25051         * modules/posix_spawnattr_getsigmask: New file.
25052         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
25053         modifications.
25054         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
25055         new module.
25056
25057         New module 'posix_spawnattr_setsigdefault'.
25058         * modules/posix_spawnattr_setsigdefault: New file.
25059         * lib/spawnattr_setdefault.c: New file, from GNU libc with
25060         modifications.
25061         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
25062         new module.
25063
25064         New module 'posix_spawnattr_getsigdefault'.
25065         * modules/posix_spawnattr_getsigdefault: New file.
25066         * lib/spawnattr_getdefault.c: New file, from GNU libc with
25067         modifications.
25068         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
25069         new module.
25070
25071         New module 'posix_spawnattr_setschedpolicy'.
25072         * modules/posix_spawnattr_setschedpolicy: New file.
25073         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
25074         modifications.
25075         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
25076         new module.
25077
25078         New module 'posix_spawnattr_getschedpolicy'.
25079         * modules/posix_spawnattr_getschedpolicy: New file.
25080         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
25081         modifications.
25082         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
25083         new module.
25084
25085         New module 'posix_spawnattr_setschedparam'.
25086         * modules/posix_spawnattr_setschedparam: New file.
25087         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
25088         modifications.
25089         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
25090         new module.
25091
25092         New module 'posix_spawnattr_getschedparam'.
25093         * modules/posix_spawnattr_getschedparam: New file.
25094         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
25095         modifications.
25096         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
25097         new module.
25098
25099         New module 'posix_spawnattr_setpgroup'.
25100         * modules/posix_spawnattr_setpgroup: New file.
25101         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
25102         modifications.
25103         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
25104         module.
25105
25106         New module 'posix_spawnattr_getpgroup'.
25107         * modules/posix_spawnattr_getpgroup: New file.
25108         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
25109         modifications.
25110         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
25111         module.
25112
25113         New module 'posix_spawnattr_setflags'.
25114         * modules/posix_spawnattr_setflags: New file.
25115         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
25116         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
25117         module.
25118
25119         New module 'posix_spawnattr_getflags'.
25120         * modules/posix_spawnattr_getflags: New file.
25121         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
25122         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
25123         module.
25124
25125         New module 'posix_spawnattr_init'.
25126         * modules/posix_spawnattr_init: New file.
25127         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
25128         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
25129         module.
25130
25131         New module 'posix_spawn_file_actions_destroy'.
25132         * modules/posix_spawn_file_actions_destroy: New file.
25133         * lib/spawn_faction_destroy.c: New file, from GNU libc with
25134         modifications.
25135         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
25136         the new module.
25137
25138         New module 'posix_spawn_file_actions_addopen'.
25139         * modules/posix_spawn_file_actions_addopen: New file.
25140         * lib/spawn_faction_addopen.c: New file, from GNU libc with
25141         modifications.
25142         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
25143         the new module.
25144
25145         New module 'posix_spawn_file_actions_adddup2'.
25146         * modules/posix_spawn_file_actions_adddup2: New file.
25147         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
25148         modifications.
25149         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
25150         the new module.
25151
25152         New module 'posix_spawn_file_actions_addclose'.
25153         * modules/posix_spawn_file_actions_addclose: New file.
25154         * lib/spawn_faction_addclose.c: New file, from GNU libc with
25155         modifications.
25156         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
25157         the new module.
25158
25159         New module 'posix_spawn_file_actions_init'.
25160         * modules/posix_spawn_file_actions_init: New file.
25161         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
25162         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
25163         new module.
25164
25165         New module 'posix_spawn-internal'.
25166         * modules/posix_spawn-internal: New file.
25167         * lib/spawn_int.h: New file, from GNU libc with modifications.
25168         * lib/spawni.c: New file, from GNU libc with modifications.
25169         * m4/posix_spawn.m4: New file.
25170
25171         New module 'spawn'.
25172         * modules/spawn: New file.
25173         * lib/spawn.in.h: New file, from GNU libc with modifications.
25174         * m4/spawn_h.m4: New file.
25175         * doc/posix-headers/spawn.texi: Mention the new module.
25176
25177 2008-09-28  Bruno Haible  <bruno@clisp.org>
25178
25179         * modules/sched-tests: New file.
25180         * tests/test-sched.c: New file.
25181
25182         New module 'sched'.
25183         * modules/sched: New file.
25184         * lib/sched.in.h: New file.
25185         * m4/sched_h.m4: New file.
25186         * doc/posix-headers/sched.texi: Mention the new module.
25187
25188 2008-09-27  Eric Blake  <ebb9@byu.net>
25189
25190         Fix previous patch, and tweak references to $0.
25191         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
25192         (func_version, func_gnulib_dir): Don't call this program
25193         gnulib-tool.
25194         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
25195         with using $0 in function.
25196         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
25197         (func_fatal_error): Reuse the name the user invoked us with.
25198
25199 2008-09-27  Bruno Haible  <bruno@clisp.org>
25200
25201         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
25202         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
25203         (gl_ICONV_H): Not here.
25204         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
25205         instead of assigning ICONV_H directly.
25206
25207         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
25208         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
25209         WCHAR_H directly.
25210
25211 2008-09-27  Bruno Haible  <bruno@clisp.org>
25212
25213         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
25214         * modules/arpa_inet (Depends-on): Add link-warning.
25215         (Makefile.am): Insert the definition of GL_LINK-WARNING.
25216         * modules/unistd (Makefile.am): Likewise.
25217
25218 2008-09-26  Bruno Haible  <bruno@clisp.org>
25219
25220         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
25221         variables.
25222         (func_version): Essentially copied from gnulib-tool.
25223         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
25224         func_readlink): Copied from gnulib-tool.
25225
25226 2008-09-26  Bruno Haible  <bruno@clisp.org>
25227
25228         * gnulib-tool (func_version): Change directory to $gnulib_dir before
25229         invoking git-version-gen.
25230
25231 2008-09-26  Bruno Haible  <bruno@clisp.org>
25232
25233         * posix-modules: Update to directory names changed on 2008-01-19.
25234         Remove commas in output before splitting into words. No more need to
25235         avoid 'ftruncate' since 2007-02-19.
25236
25237 2008-09-26  Bruno Haible  <bruno@clisp.org>
25238
25239         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
25240
25241 2008-09-26  Bruno Haible  <bruno@clisp.org>
25242
25243         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
25244         * modules/fwriteerror (Depends-on): Add errno.
25245
25246 2008-09-26  Bruno Haible  <bruno@clisp.org>
25247
25248         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
25249         * tests/test-vc-list-files-cvs.sh: Likewise.
25250
25251 2008-09-26  Bruno Haible  <bruno@clisp.org>
25252
25253         * doc/posix-headers/sys_resource.texi: Reorder items.
25254
25255 2008-09-26  Jim Meyering  <meyering@redhat.com>
25256
25257         fts: tweak inode comparison function
25258         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
25259         inode numbers, as documented.
25260
25261         fts: sort dirent entries on inode number before traversing
25262         This avoids a quadratic, seek-related performance penalty when
25263         operating on a directory containing many entries (measurable at 10k;
25264         3.5 hours at 2 million entries with a cold cache) on certain types
25265         of file systems, including ext3 and ext4, but not tmpfs.
25266         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
25267         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
25268         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
25269         (fs_handles_readdir_ordered_dirents_efficiently): New function.
25270         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
25271         (fts_build): Set the stat.st_ino member from D_INO.
25272         If it is likely to be useful, sort dirent entries on inode number.
25273
25274         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
25275         and the struct statfs.f_type member.
25276         * modules/fts (Depends-on): Add d-ino.
25277
25278 2008-09-26  Bruno Haible  <bruno@clisp.org>
25279
25280         * modules/sigpipe-die (Depends-on): Add sigpipe.
25281
25282         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
25283         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
25284         and GNULIB_STDIO_H_SIGPIPE are set.
25285         * lib/stdio-write.c: New file.
25286         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
25287         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
25288         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
25289         REPLACE_STDIO_WRITE_FUNCS.
25290         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
25291         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
25292         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
25293         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
25294         * modules/stdio (Files): Add lib/stdio-write.c.
25295         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
25296         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
25297         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
25298         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
25299         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
25300         REPLACE_FPRINTF_POSIX.
25301         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
25302         REPLACE_PRINTF_POSIX.
25303         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
25304         REPLACE_VFPRINTF_POSIX.
25305         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
25306         REPLACE_VPRINTF_POSIX.
25307         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
25308         SIGPIPE issue.
25309         * doc/posix-functions/fputc.texi: Likewise.
25310         * doc/posix-functions/fputs.texi: Likewise.
25311         * doc/posix-functions/fwrite.texi: Likewise.
25312         * doc/posix-functions/printf.texi: Likewise.
25313         * doc/posix-functions/putc.texi: Likewise.
25314         * doc/posix-functions/putchar.texi: Likewise.
25315         * doc/posix-functions/puts.texi: Likewise.
25316         * doc/posix-functions/vfprintf.texi: Likewise.
25317         * doc/posix-functions/vprintf.texi: Likewise.
25318
25319         * modules/safe-write (Depends-on): Add write.
25320
25321         * modules/sigpipe-tests: New file.
25322         * tests/test-sigpipe.c: New file.
25323         * tests/test-sigpipe.sh: New file.
25324
25325         * modules/write: New file.
25326         * lib/unistd.in.h: Include <sys/types.h>.
25327         (write): New declaration.
25328         * lib/write.c: New file.
25329         * m4/write.m4: New file.
25330         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25331         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
25332         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
25333         GNULIB_WRITE, REPLACE_WRITE.
25334         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
25335         and the SIGPIPE issue.
25336
25337         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
25338         (raise): New declaration.
25339         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
25340         (ext_signal): New function.
25341         (rpl_raise): New function.
25342         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
25343         GNULIB_SIGNAL_H_SIGPIPE.
25344         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
25345         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
25346
25347         * modules/sigpipe: New file.
25348         * m4/sigpipe.m4: New file.
25349
25350 2008-09-25  Derek Price  <derek@ximbiot.com>
25351             Bruno Haible  <bruno@clisp.org>
25352
25353         * gnulib-tool (func_import): Report all license incompatibilities, not
25354         just the first one.
25355
25356 2008-09-25  Bruno Haible  <bruno@clisp.org>
25357
25358         * gnulib-tool (func_import): When computing the edits, consider not
25359         only the Makefile.ams that exist but also those that will be generated.
25360
25361 2008-09-25  Simon Josefsson  <simon@josefsson.org>
25362
25363         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
25364         fixes gnulib-tool --test warning about duplicate dependency.
25365
25366 2008-09-25  Bruno Haible  <bruno@clisp.org>
25367
25368         * gnulib-tool: Don't ask the user to perform edits in the generated
25369         Makefile.ams.
25370         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
25371         apply to the Makefile.am being generated.
25372         (func_emit_tests_Makefile_am): Execute edits that apply to the
25373         Makefile.am being generated.
25374         (func_import): Setup list of Makefile.am edits before emitting the
25375         Makefile.ams, not at the end.
25376         (func_create_testdir): Update.
25377         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
25378
25379 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25380
25381         * gnulib-tool (func_import): Store the --tests-base option in the
25382         comment in gnulib-cache.m4.
25383
25384 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
25385
25386         * NEWS: Document increased portability that sys_select now provides.
25387
25388         * lib/sys_select.in.h: Install select wrapper.
25389         * lib/sys_socket.in.h: Use more descriptive name when there is no
25390         select wrapper.
25391         * lib/winsock-select.c: New.
25392         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
25393         Require gl_HEADER_SYS_SOCKET.
25394         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
25395         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
25396         * tests/test-sys_select.c: Add functional tests.
25397
25398 2008-09-24  Eric Blake  <ebb9@byu.net>
25399
25400         open, fopen: close fd leak in last patch
25401         * lib/open.c (rpl_open): Close fd before returning error.
25402         * lib/fopen.c (rpl_fopen): Close fd before returning error.
25403         * doc/posix-functions/open.texi (open): Document that Irix also
25404         has the bug.
25405         * doc/posix-functions/fopen.texi (fopen): Likewise.
25406         Reported by Paolo Bonzini.
25407
25408 2008-09-24  Bruno Haible  <bruno@clisp.org>
25409
25410         Ensure that a filename ending in a slash cannot be used to access a
25411         non-directory.
25412         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
25413         to check whether it's really a directory.
25414         * lib/fopen.c: Include fcntl.h, unistd.h.
25415         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
25416         and fdopen().
25417         * modules/fopen (Depends-on): Add unistd.
25418         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
25419         * tests/test-fopen.c (main): Likewise.
25420         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
25421         * doc/posix-functions/fopen.texi: Likewise.
25422         Reported by Eric Blake.
25423
25424 2008-09-23  Eric Blake  <ebb9@byu.net>
25425
25426         c-stack: avoid compiler optimizations when provoking overflow
25427         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
25428         recursion harder to optimize, to ensure a stack overflow occurs.
25429         * tests/test-c-stack.c (recurse): Likewise.
25430         Borrowed from libsigsegv.
25431
25432         c-stack: work around Irix sigaltstack bug
25433         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
25434         whether sigaltstack uses wrong end of stack_t (copied in part from
25435         libsigsegv).
25436         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
25437         Irix bug, without requiring an over-allocation.
25438         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
25439         bug.
25440
25441         fopen: document mingw bug on directories
25442         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
25443         not allowing a stream visiting a directory, even though reading
25444         from such a stream is not portable.
25445
25446 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
25447
25448         * lib/poll.c: Rewrite.
25449         * modules/poll: Depend on alloca.
25450
25451 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
25452
25453         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
25454         instead define prototypes for a full set of wrappers.  Ensure
25455         that Cygwin does not use the compatibility code, which is only
25456         for MinGW.
25457         * lib/winsock.c: New.
25458         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
25459         * modules/sys_socket: Add lib/winsock.c.
25460
25461         * modules/poll-tests: Add errno and perror.
25462         * tests/test-poll.c: Use ioctl, not ioctlsocket.
25463
25464 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
25465
25466         * tests/test-poll.c: Downgrade minimum needed Winsock version.
25467
25468 2008-09-23  Bruno Haible  <bruno@clisp.org>
25469
25470         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
25471         * doc/glibc-functions/*: Likewise.
25472
25473 2008-09-23  Simon Josefsson  <simon@josefsson.org>
25474
25475         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
25476         success.
25477
25478 2008-09-22  Eric Blake  <ebb9@byu.net>
25479             Bruno Haible  <bruno@clisp.org>
25480
25481         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
25482         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
25483         supply %A but mishandle pseudo-NaN.
25484         Reported by Simon Josefsson.
25485
25486 2008-09-21  Bruno Haible  <bruno@clisp.org>
25487
25488         * tests/test-lock.c (main): Tweak skip message.
25489         * tests/test-tls.c (main): Likewise.
25490
25491 2008-09-21  Bruno Haible  <bruno@clisp.org>
25492
25493         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
25494         whether 'struct sigaction' has sa_sigaction here...
25495         (gl_PREREQ_SIG_HANDLER_H): ... not here.
25496         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
25497
25498 2008-09-21  Bruno Haible  <bruno@clisp.org>
25499
25500         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
25501         section.
25502         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
25503         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
25504         the new section.
25505         (Support for obsolete systems lacking POSIX:2001): New section.
25506         (String handling <string.h>): Move strdup to the new section.
25507         Suggested by Simon Josefsson and Paolo Bonzini.
25508
25509 2008-09-21  Bruno Haible  <bruno@clisp.org>
25510
25511         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
25512         exponents in %e and %g results on 'long double'. Needed for mingw's
25513         improved *printf functions.
25514         * tests/test-vasprintf-posix.c (test_function): Likewise.
25515         * tests/test-snprintf-posix.h (test_function): Likewise.
25516         * tests/test-sprintf-posix.h (test_function): Likewise.
25517         Reported by Eric Blake.
25518
25519 2008-09-21  Bruno Haible  <bruno@clisp.org>
25520
25521         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
25522         * tests/test-sprintf-posix.h (test_function): Likewise.
25523
25524 2008-09-21  Bruno Haible  <bruno@clisp.org>
25525
25526         * modules/getpass (Depends-on): Add strdup-posix.
25527
25528         New module 'strdup-posix'.
25529         * modules/strdup-posix: New file.
25530         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
25531         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
25532         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
25533         REPLACE_STRDUP.
25534         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
25535         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
25536         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
25537         strdup-posix.
25538
25539         * modules/strdup (Depends-on): Remove malloc-posix.
25540
25541 2008-09-20  Bruno Haible  <bruno@clisp.org>
25542
25543         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
25544         Wildenhues.
25545
25546 2008-09-20  Bruno Haible  <bruno@clisp.org>
25547
25548         Ensure that wint_t gets defined on IRIX 5.3.
25549         * lib/wchar.in.h (wint_t): Define if not defined by the system.
25550         * lib/wctype.in.h (wint_t): Likewise.
25551         (__wctype_wint_t): Remove type.
25552         (isw*): Use wint_t instead of __wctype_wint_t.
25553         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
25554         * modules/wchar (Files): Add m4/wint_t.m4.
25555         (Makefile.am): Substitute HAVE_WINT_T.
25556         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
25557         * tests/test-wctype.c: Check that wint_t is defined.
25558         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
25559         * doc/posix-headers/wctype.texi: Likewise.
25560         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25561
25562 2008-09-18  Bruno Haible  <bruno@clisp.org>
25563
25564         * gnulib-tool (func_exit): Update comment.
25565
25566 2008-09-18  Simon Josefsson  <simon@josefsson.org>
25567
25568         * modules/getaddrinfo (Depends-on): Remove strdup, this module
25569         assumes strdup exists and does not depend on strdup to return
25570         ENOMEM on out of memory conditions.
25571
25572 2008-09-18  Bruno Haible  <bruno@clisp.org>
25573
25574         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
25575         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
25576         digits for the exponent.
25577
25578 2008-09-18  Jim Meyering  <meyering@redhat.com>
25579             Bruno Haible  <bruno@clisp.org>
25580
25581         * lib/vasnprintf.c (decimal_point_char): Define also if
25582         NEED_PRINTF_INFINITE_LONG_DOUBLE.
25583
25584 2008-09-16  Bruno Haible  <bruno@clisp.org>
25585         and Eric Blake  <ebb9@byu.net>
25586
25587         vasnprintf: support Irix 5.3
25588         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
25589         that mishandle long double infinity.
25590         Reported by Tom G. Christensen.
25591
25592 2008-09-16  Bruno Haible  <bruno@clisp.org>
25593
25594         * doc/glibc-functions/scandir.texi: Mention the function is missing on
25595         Solaris 9.
25596         * doc/glibc-functions/alphasort.texi: Likewise.
25597         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
25598
25599 2008-09-16  Jim Meyering  <meyering@redhat.com>
25600
25601         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
25602         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
25603         a umask modification leak out of a subshell.  Otherwise, the
25604         opensolaris /bin/sh would be accepted and thus cause unwarranted
25605         failures in the coreutils test suite.
25606
25607 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
25608
25609         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
25610         to succeed.
25611
25612 2008-09-16  Jim Meyering  <meyering@redhat.com>
25613
25614         avoid spurious test failure when library is built without ACL support
25615         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
25616         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
25617         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
25618         * tests/test-copy-acl.sh: Likewise.
25619
25620 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25621
25622         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
25623         based on character occurrence counts.
25624
25625 2008-09-15  Eric Blake  <ebb9@byu.net>
25626
25627         tests: avoid some compiler warnings
25628         * tests/test-memchr.c (main): Pass NULL indirectly.
25629         * tests/test-closein.c (main): Avoid unused variable.
25630
25631 2008-09-15  Bruno Haible  <bruno@clisp.org>
25632
25633         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
25634         are missing on OpenBSD 4.0 individually.
25635         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
25636
25637 2008-09-15  Bruno Haible  <bruno@clisp.org>
25638
25639         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
25640         * doc/posix-functions/strerror.texi: Mention also Cygwin.
25641         * doc/posix-functions/perror.texi: Likewise.
25642         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
25643         is missing.
25644         Reported by Eric Blake.
25645
25646         * lib/errno.in.h: Use replacement values >= 2000.
25647         Reported by Eric Blake.
25648
25649 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25650
25651         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
25652         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
25653         limit.
25654         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
25655         compareseq was aborted.
25656
25657 2008-09-14  Bruno Haible  <bruno@clisp.org>
25658
25659         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
25660         yvec_edit_count.
25661         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
25662         (fstrcmp_bounded): Simplify result computation accordingly.
25663
25664 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25665
25666         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
25667         (fstrcmp): Define in terms of fstrcmp_bounded.
25668         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
25669         lower_bound argument.
25670         Return quickly if the result is certainly < lower_bound.
25671         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
25672
25673 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25674
25675         * lib/diffseq.h (EARLY_ABORT): New macro.
25676         (compareseq): Change return type to bool. Return true when EARLY_ABORT
25677         evaluates to true.
25678
25679 2008-09-14  Bruno Haible  <bruno@clisp.org>
25680
25681         * modules/perror-tests: New file.
25682         * tests/test-perror.sh: New file.
25683         * tests/test-perror.c: New file.
25684
25685         New module 'perror'.
25686         * lib/stdio.in.h (perror): New declaration.
25687         * lib/perror.c: New file.
25688         * m4/perror.m4: New file.
25689         * modules/perror: New file.
25690         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
25691         * doc/posix-functions/perror.texi: Mention the perror module.
25692         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
25693         REPLACE_PERROR.
25694         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
25695         REPLACE_PERROR.
25696
25697 2008-09-14  Bruno Haible  <bruno@clisp.org>
25698
25699         * modules/stdio (Makefile.am): Reorder to match the order in
25700         lib/stdio.in.h.
25701         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
25702
25703 2008-09-13  Bruno Haible  <bruno@clisp.org>
25704
25705         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
25706
25707 2008-09-13  Bruno Haible  <bruno@clisp.org>
25708
25709         Extend strerror to cover the added errno values.
25710         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
25711         (rpl_strerror): Provide error messages for the added errno values and
25712         for the WSA* values.
25713         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
25714         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
25715         strerror.
25716         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
25717         * modules/strerror (Depends-on): Add errno.
25718         * doc/posix-functions/strerror.texi: Document the change.
25719         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
25720         and EOVERFLOW.
25721
25722 2008-09-13  Bruno Haible  <bruno@clisp.org>
25723
25724         * modules/EOVERFLOW: Remove file.
25725         * m4/eoverflow.m4: Remove file.
25726         * modules/EOVERFLOW-tests: Remove file.
25727         * tests/test-EOVERFLOW.c: Remove file.
25728         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
25729         * modules/ftell (Depends-on): Likewise.
25730         * modules/getdelim (Depends-on): Likewise.
25731         * modules/getugroups (Depends-on): Likewise.
25732         * modules/poll (Depends-on): Likewise.
25733         * modules/snprintf (Depends-on): Likewise.
25734         * modules/sprintf-posix (Depends-on): Likewise.
25735         * modules/vasnprintf (Depends-on): Likewise.
25736         * modules/vasprintf (Depends-on): Likewise.
25737         * modules/vfprintf-posix (Depends-on): Likewise.
25738         * modules/vsnprintf (Depends-on): Likewise.
25739         * modules/vsprintf-posix (Depends-on): Likewise.
25740         * modules/xvasprintf (Depends-on): Likewise.
25741         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
25742         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
25743         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
25744         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
25745         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
25746         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
25747         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
25748         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
25749         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
25750         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
25751         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
25752         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
25753         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
25754         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
25755         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
25756         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
25757         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
25758         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
25759         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
25760         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
25761         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
25762         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
25763         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
25764         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
25765         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
25766         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
25767         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
25768         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
25769         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
25770         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
25771         * MODULES.html.sh: Remove EOVERFLOW.
25772         * NEWS: Mention the change.
25773
25774 2008-09-13  Bruno Haible  <bruno@clisp.org>
25775
25776         * modules/errno-tests: New file.
25777         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
25778
25779         * lib/errno.in.h: New file.
25780         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
25781         * modules/errno: New file.
25782         * doc/posix-headers/errno.texi: Update documentation.
25783         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
25784
25785 2008-09-13  Bruno Haible  <bruno@clisp.org>
25786
25787         * tests/test-poll.c: Use #if for native Windows, rather than testing
25788         __MSVCRT__.
25789
25790 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25791             Bruno Haible  <bruno@clisp.org>
25792
25793         * lib/glob.c: Don't include <pwd.h> on native Windows.
25794         (WINDOWS32): New macro.
25795         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
25796
25797 2008-09-13  Bruno Haible  <bruno@clisp.org>
25798
25799         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
25800         (ETIMEDOUT): Remove macro.
25801         (glthread_cond_timedwait_multithreaded): New declaration.
25802         (glthread_cond_timedwait): Use it.
25803         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
25804         (glthread_cond_timedwait_multithreaded): New function.
25805
25806 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
25807
25808         * modules/poll-tests: Do not check for io.h.
25809         * tests/test-poll.c: Check for __MSVCRT__ instead.
25810
25811 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
25812
25813         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
25814         * modules/poll-tests: Add inet_pton, stdbool, sockets.
25815         * tests/test-poll.c: Use them.  Use _pipe on Windows.
25816
25817 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
25818
25819         * modules/poll-tests: New.
25820         * tests/test-poll.c: New.
25821
25822 2008-09-12  Eric Blake  <ebb9@byu.net>
25823
25824         frexp: test for NetBSD failure on -0.0
25825         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
25826         not all, bugs from NetBSD 3.0 have been fixed.
25827         * doc/posix-functions/frexp.texi (frexp): Document bug.
25828         Reported by Thomas Klausner.
25829
25830         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
25831         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
25832         literal -0.0.
25833         Reported by Jonathan C. Patschke <jp@centtech.com>.
25834
25835 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25836
25837         * lib/glthread/cond.h: Use dummy implementation also if
25838         USE_WIN32_THREADS.
25839
25840 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25841
25842         * modules/fnmatch-posix (License): Change to LGPLv2+.
25843         * modules/fnmatch-gnu (License): Likewise.
25844
25845 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25846
25847         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
25848
25849 2008-09-11  Jim Meyering  <meyering@redhat.com>
25850
25851         * users.txt: Add gtk-vnc.
25852
25853 2008-09-08  Simon Josefsson  <simon@josefsson.org>
25854
25855         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
25856         rotate amounts.
25857
25858         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
25859         required for 16-bit and 8-bit rotates.
25860         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
25861         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
25862         UINT8_MAX instead of hard-coded constants.
25863         Suggested by Paul Eggert.
25864
25865 2008-09-07  Bruno Haible  <bruno@clisp.org>
25866
25867         * tests/test-striconveh.c (main): Check behaviour when converting from
25868         UTF-7.
25869
25870         Make striconveh work better with stateful encodings.
25871         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
25872         that iconv does not increment the inptr when returning -1/EINVAL.
25873
25874 2008-09-07  Bruno Haible  <bruno@clisp.org>
25875
25876         * build-aux/config.rpath: Update according to libtool-2.2.6.
25877         * build-aux/config.libpath: Likewise.
25878
25879 2008-09-06  Bruno Haible  <bruno@clisp.org>
25880
25881         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
25882         * lib/freadptr.c (freadptr): Likewise.
25883         * lib/freadseek.c (freadptrinc): Likewise.
25884         Reported by Simon Josefsson.
25885
25886 2008-09-06  Bruno Haible  <bruno@clisp.org>
25887
25888         * modules/freadptr (License): Change to LGPLv2+.
25889         * modules/freadseek (License): Likewise.
25890         Suggested by Eric Blake.
25891
25892         * modules/memchr2 (License): Change to LGPLv2+.
25893         Approved by Eric Blake.
25894
25895 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25896             Bruno Haible  <bruno@clisp.org>
25897
25898         Make gnulib-tool work with native 'sed' on AIX.
25899         * gnulib-tool (sed_noop): New variable.
25900         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
25901         func_add_or_update, func_create_testdir): Use it to initialize sed
25902         script variables.
25903         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
25904
25905 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
25906             Bruno Haible  <bruno@clisp.org>
25907
25908         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
25909         also works after #include directives.
25910
25911 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
25912
25913         getdate.y: reject an out-of-range timezone value
25914         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
25915         the range [-24...+24].  When specified with only one or two digits,
25916         * tests/test-getdate.c: Tests for the fix.
25917         * doc/getdate.texi: Document this change.
25918
25919 2008-09-03  Bruno Haible  <bruno@clisp.org>
25920
25921         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
25922
25923 2008-09-02  Simon Josefsson  <simon@josefsson.org>
25924
25925         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
25926         <bruce.korb@gmail.com> with ideas from Ben Pfaff
25927         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
25928         Blake <ebb9@byu.net>.
25929
25930         * tests/test-bitrotate.c: Add more test vectors.
25931
25932 2008-09-02  Eric Blake  <ebb9@byu.net>
25933
25934         vasnprintf-posix: handle large precision via %.*d
25935         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
25936         when handling it ourselves.
25937         * tests/test-vasnprintf-posix.c (test_function): Add test.
25938         * tests/test-snprintf-posix.h (test_function): Likewise.
25939         * tests/test-sprintf-posix.h (test_function): Likewise.
25940         * tests/test-vasprintf-posix.c (test_function): Likewise.
25941         Reported by Alain Guibert.
25942
25943 2008-09-01  Eric Blake  <ebb9@byu.net>
25944
25945         c-stack: make configure-time check more robust
25946         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
25947         successful sigaction call.
25948         Reported by Tom G. Christensen.
25949
25950 2008-09-01  Bruno Haible  <bruno@clisp.org>
25951
25952         New module 'findprog-lgpl'.
25953         * modules/findprog-lgpl: New file.
25954         * lib/findprog-lgpl.c: New file.
25955         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
25956         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
25957         to decide whether to use strdup or xstrdup, concatenated_filename or
25958         xconcatenated_filename.
25959
25960 2008-09-01  Bruno Haible  <bruno@clisp.org>
25961
25962         Split module 'concat-filename' into 'concat-filename' (LGPL) and
25963         'xconcat-filename' (GPL).
25964         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
25965         (License): Change to LGPLv2+.
25966         * modules/xconcat-filename: New file.
25967         * lib/concat-filename.h (concatenated_filename): Change specification.
25968         (xconcatenated_filename): New declaration.
25969         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
25970         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
25971         memory situations.
25972         * lib/xconcat-filename.c: New file.
25973         * NEWS: Mention the change.
25974         * lib/findprog.c: Include concat-filename.h, not filename.h.
25975         (find_in_path): Use xconcatenated_filename instead of
25976         concatenated_filename.
25977         * lib/javacomp.c: Include concat-filename.h, not filename.h.
25978         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
25979         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
25980         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
25981         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
25982         instead of concatenated_filename.
25983         * lib/javaexec.c: Include concat-filename.h, not filename.h.
25984         (execute_java_class): Use xconcatenated_filename instead of
25985         concatenated_filename.
25986         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
25987         * modules/javacomp (Depends-on): Likewise.
25988         * modules/javaexec (Depends-on): Likewise.
25989
25990 2008-09-01  Bruno Haible  <bruno@clisp.org>
25991
25992         Split module 'filename' into 'filename' and 'concat-filename'.
25993         * modules/filename: Keep only lib/filename.h.
25994         (License): Change to LGPLv2+.
25995         * modules/concat-filename: New file, extracted from modules/filename.
25996         * lib/filename.h (concatenated_filename): Remove declaration.
25997         * lib/concat-filename.h: New file, extracted from lib/filename.h.
25998         * lib/concat-filename.c: Include concat-filename.h.
25999         * NEWS: Mention the change.
26000
26001 2008-09-01  Simon Josefsson  <simon@josefsson.org>
26002
26003         * lib/bitrotate.h (rotl8, rotr8): Add.
26004
26005         * modules/bitrotate (configure.ac): Need
26006         AC_REQUIRE([AC_C_INLINE]).
26007         (Description): Mention stdint.h.  Reported by Bruno Haible
26008         <bruno@clisp.org>.
26009
26010         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
26011         Paolo Bonzini <bonzini@gnu.org>.
26012
26013 2008-08-31  Bruno Haible  <bruno@clisp.org>
26014
26015         Assume Solaris specific bi-arch conventions on Solaris systems.
26016         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
26017         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
26018         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
26019         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
26020         like acl_libdirstem.
26021         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
26022         acl_libdirstem.
26023         * NEWS: Mention the change.
26024         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
26025
26026 2008-08-31  Jim Meyering  <meyering@redhat.com>
26027
26028         * lib/strftime.h: Add comments describing the two added arguments.
26029
26030         remove duplicate #include directives
26031         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
26032         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
26033
26034 2008-08-31  Bruno Haible  <bruno@clisp.org>
26035
26036         New module 'sigpipe-die'.
26037         * modules/sigpipe-die: New file.
26038         * lib/sigpipe-die.h: New file.
26039         * lib/sigpipe-die.c: New file.
26040         * MODULES.html.sh (Signal handling): Add sigpipe-die.
26041
26042 2008-08-31  Bruno Haible  <bruno@clisp.org>
26043
26044         Don't override previously installed signal handlers.
26045         * lib/fatal-signal.c (saved_sigactions): New variable.
26046         (uninstall_handlers): Reset the signal to the saved handler, not
26047         to SIG_DFL (except when ignored).
26048         (install_handlers): Save the previous handlers.
26049
26050 2008-08-30  Bruno Haible  <bruno@clisp.org>
26051
26052         * gnulib-tool (func_reset_sigpipe): New function.
26053         (func_get_automake_snippet, func_modules_transitive_closure,
26054         func_import): Invoke it before a join command that reads from stdin,
26055         to avoid "echo: write error: Broken pipe" error messages on stderr.
26056         Reported by Sam Steingold <sds@gnu.org>.
26057
26058 2008-08-30  Bruno Haible  <bruno@clisp.org>
26059
26060         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
26061         Code copied from m4/open.m4.
26062         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
26063         access and the filename ends in a slash. Code copied from lib/open.c.
26064         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
26065         * tests/test-fopen.c (main): Check against bug with trailing slash.
26066
26067 2008-08-29  Bruno Haible  <bruno@clisp.org>
26068
26069         Avoid some "gcc -pedantic" warnings.
26070         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
26071         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
26072         * lib/dirent.in.h: Likewise.
26073         * lib/fcntl.in.h: Likewise.
26074         * lib/float.in.h: Likewise.
26075         * lib/iconv.in.h: Likewise.
26076         * lib/inttypes.in.h: Likewise.
26077         * lib/locale.in.h: Likewise.
26078         * lib/math.in.h: Likewise.
26079         * lib/netinet_in.in.h: Likewise.
26080         * lib/search.in.h: Likewise.
26081         * lib/signal.in.h: Likewise.
26082         * lib/stdarg.in.h: Likewise.
26083         * lib/stdint.in.h: Likewise.
26084         * lib/stdio.in.h: Likewise.
26085         * lib/stdlib.in.h: Likewise.
26086         * lib/string.in.h: Likewise.
26087         * lib/strings.in.h: Likewise.
26088         * lib/sys_select.in.h: Likewise.
26089         * lib/sys_socket.in.h: Likewise.
26090         * lib/sys_stat.in.h: Likewise.
26091         * lib/sys_time.in.h: Likewise.
26092         * lib/sysexits.in.h: Likewise.
26093         * lib/time.in.h: Likewise.
26094         * lib/unistd.in.h: Likewise.
26095         * lib/wchar.in.h: Likewise.
26096         * lib/wctype.in.h: Likewise.
26097         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
26098         * modules/fchdir (Makefile.am): Likewise.
26099         * modules/fcntl (Makefile.am): Likewise.
26100         * modules/float (Makefile.am): Likewise.
26101         * modules/iconv_open (Makefile.am): Likewise.
26102         * modules/inttypes (Makefile.am): Likewise.
26103         * modules/locale (Makefile.am): Likewise.
26104         * modules/math (Makefile.am): Likewise.
26105         * modules/netinet_in (Makefile.am): Likewise.
26106         * modules/search (Makefile.am): Likewise.
26107         * modules/signal (Makefile.am): Likewise.
26108         * modules/stdarg (Makefile.am): Likewise.
26109         * modules/stdint (Makefile.am): Likewise.
26110         * modules/stdio (Makefile.am): Likewise.
26111         * modules/stdlib (Makefile.am): Likewise.
26112         * modules/string (Makefile.am): Likewise.
26113         * modules/strings (Makefile.am): Likewise.
26114         * modules/sys_select (Makefile.am): Likewise.
26115         * modules/sys_socket (Makefile.am): Likewise.
26116         * modules/sys_stat (Makefile.am): Likewise.
26117         * modules/sys_time (Makefile.am): Likewise.
26118         * modules/sysexits (Makefile.am): Likewise.
26119         * modules/time (Makefile.am): Likewise.
26120         * modules/unistd (Makefile.am): Likewise.
26121         * modules/wchar (Makefile.am): Likewise.
26122         * modules/wctype (Makefile.am): Likewise.
26123         Reported by Reuben Thomas <rrt@sc3d.org>.
26124
26125 2008-08-29  Bruno Haible  <bruno@clisp.org>
26126
26127         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
26128         any more.
26129
26130 2008-08-29  Simon Josefsson  <simon@josefsson.org>
26131
26132         * MODULES.html.sh (Misc): Add bitrotate.
26133
26134         * modules/bitrotate: New file.
26135
26136         * lib/bitrotate.h: New file.
26137
26138         * modules/bitrotate-tests: New file.
26139
26140         * tests/test-bitrotate.c: New file.
26141
26142         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
26143         on the bitrotate module.
26144
26145         * lib/arctwo.c: Use new bitrotate module.
26146
26147 2008-08-29  Jim Meyering  <meyering@redhat.com>
26148
26149         bootstrap: merge changes from coreutils
26150         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
26151         of copied files.  Remove a kludge, now that this is fixed.
26152         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
26153         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
26154         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
26155
26156 2008-08-29  Bruno Haible  <bruno@clisp.org>
26157
26158         * MODULES.html.sh: Remove --cvs-urls option.
26159
26160 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
26161
26162         maint.mk: adjust to file name change
26163         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
26164
26165 2008-08-28  Jim Meyering  <meyering@redhat.com>
26166
26167         * modules/getndelim2 (License): Relicense to LGPLv2+.
26168         Approved by Richard Stallman for the version of 1995, and by
26169         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
26170
26171 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
26172
26173         * lib/getdelim.c (flockfile, funlockfile): Make all of them
26174         dummy if one is not available.  Do not touch them if
26175         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
26176         (getc_maybe_unlocked): New.
26177         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
26178
26179 2008-08-26  Eric Blake  <ebb9@byu.net>
26180
26181         doc/INSTALL: resync from autoconf
26182         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
26183         (INSTALL_PRELUDE): Delete; this is done more efficiently by
26184         moving...
26185         * install.texi [!autoconf]: ...here.  Resync from autoconf.
26186         * INSTALL: Regenerate.
26187         * INSTALL.ISO: New file.
26188         * INSTALL.UTF-8: Likewise.
26189
26190 2008-08-26  Jim Meyering  <meyering@redhat.com>
26191
26192         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
26193         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
26194         these definitions conditional, so that they may be overridden, too.
26195
26196 2008-08-26  Bruno Haible  <bruno@clisp.org>
26197
26198         Generate INSTALL file variants with prettier quotes.
26199         * doc/Makefile (INSTALL_PRELUDE): New macro.
26200         (INSTALL): Use it.
26201         (INSTALL.ISO, INSTALL.UTF-8): New rules.
26202
26203 2008-08-26  Bruno Haible  <bruno@clisp.org>
26204
26205         Run makeinfo in an English locale.
26206         * doc/Makefile (MAKEINFO): New variable.
26207
26208 2008-08-26  Bruno Haible  <bruno@clisp.org>
26209
26210         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
26211         Suggested by Eric Blake.
26212
26213 2008-08-25  Bruno Haible  <bruno@clisp.org>
26214
26215         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
26216
26217 2008-08-25  Eric Blake  <ebb9@byu.net>
26218
26219         c-stack: test that stack overflow can be caught
26220         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
26221         that platform allows handling stack overflow; at least OS/2 EMX
26222         has sigaltstack, but crashes before transferring control to
26223         handler on stack overflow.
26224         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
26225         check for HAVE_STACK_OVERFLOW_HANDLING.
26226         Reported by Elbert Pol.
26227
26228 2008-08-25  Bruno Haible  <bruno@clisp.org>
26229
26230         * doc/posix-functions/strftime.texi: Fix description of strftime
26231         module.
26232
26233 2008-08-24  Bruno Haible  <bruno@clisp.org>
26234
26235         * tests/uniwidth/test-uc_width2.c: New file.
26236         * tests/uniwidth/test-uc_width2.sh: New file.
26237         * modules/uniwidth/width-tests (Files): Add the new files.
26238         (TESTS): Add uniwidth/test-uc_width2.sh.
26239         (TESTS_ENVIRONMENT): New variable.
26240         (check_PROGRAMS): Add test-uc_width2.
26241         (test_uc_width2_SOURCES): New variable.
26242
26243         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
26244         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
26245         not 0x00AB.
26246         Reported by Alexander V. Lukyanov <lav@netis.ru>.
26247
26248 2008-08-22  Eric Blake  <ebb9@byu.net>
26249
26250         test-lock, test-tls: mention why a test is skipped
26251         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
26252         skipped.
26253         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
26254
26255         count-one-bits: relax license
26256         * modules/count-one-bits (License): Relicense to LGPLv2+.
26257         Suggested by Ludovic Courtès, approved by Ben Pfaff.
26258
26259 2008-08-22  Andreas Schwab  <schwab@suse.de>
26260
26261         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
26262         Remove spurious space in assignment.
26263
26264 2008-08-21  Simon Josefsson  <simon@josefsson.org>
26265
26266         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
26267         Paul Eggert <eggert@CS.UCLA.EDU>.
26268
26269 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
26270
26271         * modules/gettext: Add m4/threadlib.m4.
26272
26273 2008-08-19  Eric Blake  <ebb9@byu.net>
26274
26275         test-c-stack: fix compilation failure on FreeBSD 5.0
26276         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
26277         headers before <sys/resource.h>.
26278         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
26279         the bug.
26280         Reported by Nelson H. F. Beebe.
26281
26282         strverscmp: migrate from "strverscmp.h" to <string.h>
26283         * modules/string (Makefile.am): Add new hooks.
26284         * modules/strverscmp (Files): Remove strverscmp.h.
26285         (Depends-on): Add string.
26286         (configure.ac): Add indicator.
26287         (Include): Mention new header.
26288         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
26289         defaults.
26290         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
26291         results.
26292         * lib/strverscmp.h: Delete.
26293         * lib/string.in.h (strverscmp): Provide declaration, when needed.
26294         * tests/test-strverscmp.c (includes): Adjust client.
26295         * lib/check-version.c (includes): Likewise.
26296         * NEWS: Document the change.
26297
26298         strverscmp: add unit test
26299         * modules/strverscmp-tests: New file.
26300         * tests/test-strverscmp.c: Likewise.
26301
26302 2008-08-19  Simon Josefsson  <simon@josefsson.org>
26303
26304         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
26305         regarding Windows crypto stuff, from Mono.
26306
26307 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
26308
26309         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
26310         if present, for intel RND.  Return error on failures.
26311
26312 2008-08-18  Ben Pfaff  <blp@gnu.org>
26313
26314         gitlog-to-changelog: give better diagnostic for failed pipe-open
26315         * build-aux/gitlog-to-changelog: Improve error message: suggest
26316         that the version of Git may be too old.
26317
26318 2008-08-18  Simon Josefsson  <simon@josefsson.org>
26319
26320         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
26321         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
26322
26323 2008-08-18  Bruno Haible  <bruno@clisp.org>
26324
26325         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
26326         pthread_in_use().
26327
26328 2008-08-18  Bruno Haible  <bruno@clisp.org>
26329
26330         * lib/glthread/threadlib.c: Include <pthread.h>.
26331
26332 2008-08-18  Bruno Haible  <bruno@clisp.org>
26333
26334         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
26335         glthread_recursive_lock_* macros.
26336         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
26337         Fix syntax error.
26338
26339 2008-08-18  Bruno Haible  <bruno@clisp.org>
26340
26341         * lib/glthread/thread.c: Avoid forcing a context switch right after
26342         thread creation.
26343
26344 2008-08-17  Bruno Haible  <bruno@clisp.org>
26345
26346         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
26347         * lib/glthread/thread.h: Provide Win32 specific implementation.
26348         * modules/thread (Files): Add lib/glthread/thread.c.
26349         (Depends-on): Add lock.
26350         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
26351
26352 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
26353
26354         New module 'yield'.
26355         * modules/yield: New file.
26356         * lib/glthread/yield.h: New file.
26357         * m4/yield.m4: New file.
26358         * MODULES.html.sh (Multithreading): Add yield.
26359
26360 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
26361
26362         New module 'thread'.
26363         * modules/thread: New file.
26364         * lib/glthread/thread.h: New file.
26365         * m4/thread.m4: New file.
26366         * MODULES.html.sh (Multithreading): Add thread.
26367
26368 2008-08-17  Bruno Haible  <bruno@clisp.org>
26369
26370         * lib/glthread/lock.h: Include <stdlib.h> always.
26371         * lib/glthread/tls.h: Likewise.
26372         * lib/glthread/cond.h: Likewise.
26373
26374 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
26375
26376         New module 'cond'.
26377         * modules/cond: New file.
26378         * lib/glthread/cond.h: New file.
26379         * lib/glthread/cond.c: New file.
26380         * m4/cond.m4: New file.
26381         * MODULES.html.sh (Multithreading): Add cond.
26382
26383 2008-08-16  Eric Blake  <ebb9@byu.net>
26384
26385         c-stack: fix regression on Irix 5.3 from 2008-06-21
26386         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
26387         sa_sigaction...
26388         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
26389         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
26390         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
26391         * modules/signal (Makefile.am): Use the value.
26392         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
26393         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
26394         * doc/posix-headers/signal.texi (signal.h): Document this
26395         portability issue.
26396         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
26397         Reported by Tom G. Christensen.
26398
26399 2008-08-17  Bruno Haible  <bruno@clisp.org>
26400
26401         New module 'threadlib'.
26402         * modules/threadlib: New file.
26403         * lib/glthread/threadlib.c: New file, extracted from
26404         lib/glthread/lock.c.
26405         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
26406         functions.
26407         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
26408         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
26409         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
26410         macros.
26411         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
26412         (gl_DISABLE_THREADS): Remove macro.
26413         * modules/lock (Files): Remove build-aux/config.rpath.
26414         (Depends-on): Remove havelib. Add threadlib.
26415         (configure.ac-early): Remove section.
26416         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
26417         * modules/tls (Depends-on): Remove lock. Add threadlib.
26418         (Link): New section, copied from threadlib.
26419         * MODULES.html.sh (Multithreading): Add threadlib.
26420
26421 2008-08-14  Bruno Haible  <bruno@clisp.org>
26422
26423         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
26424         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
26425         glthread_rwlock_unlock, glthread_rwlock_destroy,
26426         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
26427         glthread_recursive_lock_destroy): Define as macros always.
26428         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
26429         glthread_lock_lock.
26430         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
26431         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
26432         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
26433         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
26434         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
26435         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
26436         (glthread_recursive_lock_lock_func): Renamed from
26437         glthread_recursive_lock_lock.
26438         (glthread_recursive_lock_unlock_func): Renamed from
26439         glthread_recursive_lock_unlock.
26440         (glthread_recursive_lock_destroy_func): Renamed from
26441         glthread_recursive_lock_destroy.
26442
26443 2008-08-14  Bruno Haible  <bruno@clisp.org>
26444
26445         * lib/glthread/lock.h: Renamed from lib/lock.h.
26446         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
26447         * lib/glthread/tls.h: Renamed from lib/tls.h.
26448         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
26449         * lib/fstrcmp.c: Update includes.
26450         * lib/strsignal.c: Update includes.
26451         * modules/lock (Files, Makefile.am): Update.
26452         (Include): Change to "glthread/lock.h".
26453         * modules/tls (Files, Makefile.am): Update.
26454         (Include): Change to "glthread/tls.h".
26455         * tests/test-lock.c: Update includes.
26456         * tests/test-tls.c: Update includes.
26457         * NEWS: Mention the renamed header files.
26458
26459 2008-08-11  Jim Meyering  <meyering@redhat.com>
26460
26461         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
26462
26463 2008-08-11  Eric Blake  <ebb9@byu.net>
26464
26465         test-c-stack: avoid C99-ism
26466         * tests/test-c-stack.c (main): Fix whitespace, move declaration
26467         before statement.
26468         Reported by Alain Guibert.
26469
26470 2008-08-10  Jim Meyering  <meyering@redhat.com>
26471
26472         ensure that return value of uinttostr et al are not ignored
26473         * lib/inttostr.h (__GNUC_PREREQ): Define.
26474         (__attribute_warn_unused_result__): Define.
26475         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
26476
26477 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
26478
26479         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
26480         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
26481
26482 2008-08-07  Jim Meyering  <meyering@redhat.com>
26483
26484         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
26485
26486         * modules/mkstemp (License): Relicense under LGPLv2+.
26487         * modules/tempname (License): Likewise.
26488
26489 2008-08-06  Bruno Haible  <bruno@clisp.org>
26490
26491         * lib/poll.c (poll): Further micro-optimization.
26492
26493 2008-08-06  Jim Meyering  <meyering@redhat.com>
26494
26495         inet_pton.c: use locale-independent tolower
26496         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
26497         (inet_pton6): Use c_tolower rather than tolower.
26498         * modules/inet_pton (Depends-on): Add c-ctype.
26499
26500 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
26501
26502         * lib/poll.c (poll): Avoid division when timeout is 0, cache
26503         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
26504
26505 2008-08-06  Jim Meyering  <meyering@redhat.com>
26506
26507         * modules/inet_pton (License): Relicense under LGPLv2+.
26508
26509 2008-08-03  Bruno Haible  <bruno@clisp.org>
26510
26511         Additional non-aborting API for lock and tls.
26512         * lib/lock.h: Include <errno.h>.
26513         (glthread_lock_init): New macro/function.
26514         (gl_lock_init): Define as wrapper around glthread_lock_init.
26515         (glthread_lock_lock): New macro/function.
26516         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
26517         (glthread_lock_unlock): New macro/function.
26518         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
26519         (glthread_lock_destroy): New macro/function.
26520         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
26521         (glthread_rwlock_init): New macro/function.
26522         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
26523         (glthread_rwlock_rdlock): New macro/function.
26524         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
26525         (glthread_rwlock_wrlock): New macro/function.
26526         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
26527         (glthread_rwlock_unlock): New macro/function.
26528         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
26529         (glthread_rwlock_destroy): New macro/function.
26530         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
26531         (glthread_recursive_lock_init): New macro/function.
26532         (gl_recursive_lock_init): Define as wrapper around
26533         glthread_recursive_lock_init.
26534         (glthread_recursive_lock_lock): New macro/function.
26535         (gl_recursive_lock_lock): Define as wrapper around
26536         glthread_recursive_lock_lock.
26537         (glthread_recursive_lock_unlock): New macro/function.
26538         (gl_recursive_lock_unlock): Define as wrapper around
26539         glthread_recursive_lock_unlock.
26540         (glthread_recursive_lock_destroy): New macro/function.
26541         (gl_recursive_lock_destroy): Define as wrapper around
26542         glthread_recursive_lock_destroy.
26543         (glthread_once): New macro/function.
26544         (gl_once): Define as wrapper around glthread_once.
26545         Update function declarations.
26546         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
26547         glthread_rwlock_init. Return error code.
26548         (glthread_rwlock_rdlock_multithreaded): Renamed from
26549         glthread_rwlock_rdlock. Return error code.
26550         (glthread_rwlock_wrlock_multithreaded): Renamed from
26551         glthread_rwlock_wrlock. Return error code.
26552         (glthread_rwlock_unlock_multithreaded): Renamed from
26553         glthread_rwlock_unlock. Return error code.
26554         (glthread_rwlock_destroy_multithreaded): Renamed from
26555         glthread_rwlock_destroy. Return error code.
26556         (glthread_recursive_lock_init_multithreaded): Renamed from
26557         glthread_recursive_lock_init. Return error code.
26558         (glthread_recursive_lock_lock_multithreaded): Renamed from
26559         glthread_recursive_lock_lock. Return error code.
26560         (glthread_recursive_lock_unlock_multithreaded): Renamed from
26561         glthread_recursive_lock_unlock. Return error code.
26562         (glthread_recursive_lock_destroy_multithreaded): Renamed from
26563         glthread_recursive_lock_destroy. Return error code.
26564         (glthread_once_call): Make static.
26565         (glthread_once_multithreaded): Renamed from glthread_once.
26566         * lib/tls.h: Include <errno.h>.
26567         (glthread_tls_key_init): New macro/function.
26568         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
26569         (glthread_tls_set): New macro/function.
26570         (gl_tls_set): Define as wrapper around glthread_tls_set.
26571         (glthread_tls_key_destroy): New macro/function.
26572         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
26573         Update function declarations.
26574         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
26575         glthread_tls_get.
26576         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
26577
26578 2008-08-04  Eric Blake  <ebb9@byu.net>
26579
26580         gnumakefile: use space, not TAB, outside of targets
26581         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
26582
26583 2008-08-02  Jim Meyering  <meyering@redhat.com>
26584
26585         getdate.y: avoid locale-dependent date parsing failure
26586         In Turkish locales, getdate would fail to recognize keywords
26587         containing a lowercase "i".  The solution is not to rely on
26588         locale-sensitive case-conversion.
26589         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
26590         (lookup_word): Use c_toupper in place of toupper.
26591         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
26592         Reported by Vefa Bicakci <bicave@superonline.com> in
26593         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
26594         * modules/getdate (Depends-on): Add c-ctype.
26595
26596 2008-08-02  Bruno Haible  <bruno@clisp.org>
26597
26598         * gnulib-tool (func_import): When updating or creating a .gitignore
26599         file, prepend each added line with a slash, and ignore leading slashes
26600         from the existing lines.
26601         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
26602
26603 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26604
26605         Portability fix for GNU make 3.79.1.
26606         * top/GNUmakefile: Avoid 'else COND', which older GNU make
26607         versions do not understand.
26608
26609 2008-08-01  Bruno Haible  <bruno@clisp.org>
26610
26611         Work around bug of HP-UX 10.20 cc with -0.0 literal.
26612         * tests/test-isnanf.h (zero): New variable.
26613         (main): Avoid literal -0.0f.
26614         * tests/test-isnand.h (zero): New variable.
26615         (main): Avoid literal -0.0.
26616         * tests/test-isnanl.h (zero): New variable.
26617         (main): Avoid literal -0.0L.
26618         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
26619         (test_float, test_double, test_long_double): Avoid literals -0.0f,
26620         -0.0, -0.0L.
26621         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
26622         (test_signbitd): Avoid literal -0.0.
26623         (test_signbitl): Avoid literal -0.0L.
26624         * tests/test-ceilf1.c (zero): New variable.
26625         (main): Avoid literal -0.0f.
26626         * tests/test-ceill.c (zero): New variable.
26627         (main): Avoid literal -0.0L.
26628         * tests/test-floorf1.c (zero): New variable.
26629         (main): Avoid literal -0.0f.
26630         * tests/test-floorl.c (zero): New variable.
26631         (main): Avoid literal -0.0L.
26632         * tests/test-roundf1.c (zero): New variable.
26633         (main): Avoid literal -0.0f.
26634         * tests/test-round1.c (zero): New variable.
26635         (main): Avoid literal -0.0.
26636         * tests/test-roundl.c (zero): New variable.
26637         (main): Avoid literal -0.0L.
26638         * tests/test-truncf1.c (zero): New variable.
26639         (main): Avoid literal -0.0f.
26640         * tests/test-trunc1.c (zero): New variable.
26641         (main): Avoid literal -0.0.
26642         * tests/test-truncl.c (zero): New variable.
26643         (main): Avoid literal -0.0L.
26644         * tests/test-frexp.c (zero): New variable.
26645         (main): Avoid literal -0.0.
26646         * tests/test-frexpl.c (zero): New variable.
26647         (main): Avoid literal -0.0L.
26648         * tests/test-ldexpl.c (zero): New variable.
26649         (main): Avoid literal -0.0L.
26650         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
26651         (zerod, zerol): New variables.
26652         (test_function): Avoid literals -0.0, -0.0L.
26653         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
26654         (zerod, zerol): New variables.
26655         (test_function): Avoid literals -0.0, -0.0L.
26656         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
26657         (zerod, zerol): New variables.
26658         (test_function): Avoid literals -0.0, -0.0L.
26659         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
26660         (zerod, zerol): New variables.
26661         (test_function): Avoid literals -0.0, -0.0L.
26662         * tests/test-strtod.c (zero): New variable.
26663         (main): Avoid literal -0.0.
26664         Reported by Jonathan C. Patschke <jp@centtech.com>.
26665
26666 2008-07-31  Jim Meyering  <meyering@redhat.com>
26667
26668         sha256.h: correct definition of SHA224_DIGEST_SIZE
26669         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
26670         Reported by Paulie Pena IV <paulie4@gmail.com>.
26671         Define as 224 / 8, rather than as a literal.
26672         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
26673         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
26674         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
26675
26676 2008-07-31  Bruno Haible  <bruno@clisp.org>
26677
26678         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
26679         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
26680         Reported by Jonathan Patschke <jp@centtech.com>.
26681
26682 2008-07-31  Bruno Haible  <bruno@clisp.org>
26683
26684         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
26685         Reported by Paolo Bonzini <bonzini@gnu.org>.
26686
26687 2008-07-30  Eric Blake  <ebb9@byu.net>
26688
26689         test-strtod: allow compilation without -lm
26690         * tests/test-strtod.c (main): Avoid link dependence on fabs.
26691         Reported by Dennis Clarke <blastwave@gmail.com>.
26692
26693 2008-07-28  Jim Meyering  <meyering@redhat.com>
26694
26695         bootstrap: work also when there are no .po files in po/
26696         * build-aux/bootstrap (update_po_files): Complete the change
26697         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
26698
26699 2008-07-27  Jim Meyering  <meyering@redhat.com>
26700
26701         * users.txt: Add zile.
26702
26703 2008-07-26  Ben Pfaff  <blp@gnu.org>
26704
26705         Add missing dependencies on new m4/exponent[fdl].m4 files.
26706         * modules/isnanf-nolibm: Add m4/exponentf.m4.
26707         * modules/isnand-nolibm: Add m4/exponentd.m4.
26708         * modules/isnanl-nolibm: Add m4/exponentl.m4.
26709         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
26710         m4/isnan[fdl].m4, because the macros actually used moved.
26711         Reported by Jim Meyering.
26712
26713 2008-07-14  Ben Pfaff  <blp@gnu.org>
26714
26715         Add isinf module.
26716         * lib/isinf.c: New file.
26717         * lib/math.in.h: Define isinf macro if we have decided to replace
26718         it.
26719         * m4/isinf.m4: New file.
26720         * m4/math_h.m4: Initialize and substitute variables for isinf
26721         module.
26722         * modules/isinf: New file.
26723         * modules/isinf-tests: New file.
26724         * modules/math: Add substitutions for new module.
26725         * tests/test-isinf.c: New file.
26726         * doc/posix-functions/isinf.texi: Mention new module.
26727         * MODULES.html.sh: Mention new module.
26728
26729 2008-07-14  Ben Pfaff  <blp@gnu.org>
26730
26731         Factor out some macros for use by additional modules.
26732         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
26733         exponentf.m4.
26734         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
26735         exponentd.m4.
26736         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
26737         file exponentl.m4.
26738         * m4/exponentf.m4: New file.
26739         * m4/exponentd.m4: New file.
26740         * m4/exponentl.m4: New file.
26741         * modules/isnanf: Use new file m4/exponentf.m4.
26742         * modules/isnand: Use new file m4/exponentd.m4.
26743         * modules/isnanl: Use new file m4/exponentl.m4.
26744
26745 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
26746
26747         mktime.c: normalize tp->tm_isdst value to -1/0/1.
26748         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
26749         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
26750         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
26751
26752         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
26753         readlink on platforms without PATH_MAX.
26754
26755 2008-07-21  Eric Blake  <ebb9@byu.net>
26756
26757         Warn, not fail, on stale version.
26758         * top/GNUmakefile (_curr-ver): Tone down previous patch.
26759
26760         Don't allow installation with stale devel version number.
26761         * top/GNUmakefile (_is-install-target): New macro.
26762         (_curr-ver): Forbid installation with stale version number.
26763
26764 2008-07-20  Bruno Haible  <bruno@clisp.org>
26765
26766         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
26767         TESTS_ENVIRONMENT.
26768         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
26769
26770 2008-07-20  Bruno Haible  <bruno@clisp.org>
26771
26772         * lib/c-stack.h (c_stack_action): Add documentation.
26773         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
26774
26775 2008-07-20  Bruno Haible  <bruno@clisp.org>
26776
26777         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
26778         * modules/readlink (License): Likewise.
26779
26780 2008-07-17  Eric Blake  <ebb9@byu.net>
26781
26782         * modules/c-stack (Link): Fix typo.
26783
26784         Make c-stack use libsigsegv, when available.
26785         * modules/c-stack (Depends-on): Add libsigsegv.
26786         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
26787         needed.
26788         * lib/c-stack.c (SIGSTKSZ): Define fallback.
26789         (segv_handler, overflow_handler, c_stack_action)
26790         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
26791         implementation when libsigsegv is available, but only when using
26792         the library is necessary.
26793         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
26794         comment, explaining why XSI check fails on Linux.
26795         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
26796         * tests/test-c-stack2.sh: Tweak skip message.
26797         * NEWS: Document new link-time requirements.
26798
26799 2008-07-16  Eric Blake  <ebb9@byu.net>
26800
26801         c-stack: Expose false positives when not using libsigsegv.
26802         * modules/c-stack-tests (Files): Expand test.
26803         * tests/test-c-stack.c (main): Add means to conditionally trigger
26804         non-overflow SIGSEGV.
26805         * tests/test-c-stack2.sh: New file.
26806
26807 2008-07-14  Bruno Haible  <bruno@clisp.org>
26808
26809         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
26810         Reported by Eric Blake.
26811
26812 2008-07-14  Sam Steingold  <sds@gnu.org>
26813             Bruno Haible  <bruno@clisp.org>
26814
26815         New module libsigsegv.
26816         * modules/libsigsegv: New file.
26817         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
26818         modifications.
26819         * MODULES.html.sh (Signal handling): New section.
26820
26821 2008-07-14  Bruno Haible  <bruno@clisp.org>
26822
26823         * modules/unictype/ctype-* (Description): Add the word "function".
26824         Improves the resulting doc in MODULES.html.
26825
26826 2008-07-12  Ben Pfaff  <blp@gnu.org>
26827
26828         Add longlong module.
26829         * modules/longlong: New file.
26830
26831 2008-07-12  Bruno Haible  <bruno@clisp.org>
26832
26833         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
26834         to empty.
26835
26836 2008-07-10  Ben Pfaff  <blp@gnu.org>
26837
26838         Add isnan module.
26839         * doc/posix-functions/isnan.texi: Mention new module.
26840         * lib/math.in.h: Define isnan macro if we have decided to replace
26841         it.
26842         * m4/isnan.m4: New file.
26843         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
26844         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
26845         also.
26846         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
26847         redundancy.
26848         * m4/math_h.m4: Initialize and substitute variables for isnan
26849         module.
26850         * modules/isnan: New file.
26851         * modules/isnan-tests: New file.
26852         * modules/math: Add substitutions for new module.
26853         * tests/test-isnan.c: New file.
26854         * MODULES.html.sh: Mention new module.
26855
26856 2008-07-10  Ben Pfaff  <blp@gnu.org>
26857
26858         Add isnanf module.
26859         * lib/isnanf.m4: New file.
26860         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
26861         (gl_HAVE_ISNANF_IN_LIBM): New macro.
26862         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
26863         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
26864         * modules/isnanf: New file.
26865         * modules/isnanf-tests: New file.
26866         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
26867         files.
26868         * tests/test-isnanf-nolibm.c: factored most of its contents into
26869         new file tests/test-isnanf.h.
26870         * tests/test-isnanf.h: New file.
26871         * tests/test-isnanf.c: New file.
26872         * MODULES.html.sh: Mention new module.
26873         * doc/glibc-functions/isnanf.texi: Mention new module.
26874
26875 2008-07-10  Ben Pfaff  <blp@gnu.org>
26876
26877         Add isnand module.
26878         * lib/isnand.h: New file.
26879         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
26880         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
26881         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
26882         functionality also.
26883         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
26884         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
26885         (gl_HAVE_ISNAND_IN_LIBM): New macro.
26886         * modules/isnand: New file.
26887         * modules/isnand-tests: New file.
26888         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
26889         files.
26890         * tests/test-isnand-nolibm.c: factored most of its contents into
26891         new file tests/test-isnand.h.
26892         * tests/test-isnand.h: New file.
26893         * tests/test-isnand.c: New file.
26894         * MODULES.html.sh: Mention new module.
26895
26896 2008-07-10  Ben Pfaff  <blp@gnu.org>
26897
26898         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
26899         * lib/isnand.h: Rename lib/isnand-nolibm.h.
26900         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
26901         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
26902         * modules/isnanf-nolibm: Update references to renamed files.
26903         * modules/isnand-nolibm: Likewise.
26904         * modules/isnanf-nolibm-tests: Likewise.
26905         * modules/isnand-nolibm-tests: Likewise.
26906         * lib/frexp.c: Likewise.
26907         * lib/isfinite.c: Likewise.
26908         * lib/signbitd.c: Likewise.
26909         * lib/signbitf.c: Likewise.
26910         * lib/vasnprintf.c: Likewise.
26911         * tests/test-ceilf1.c: Likewise.
26912         * tests/test-ceilf2.c: Likewise.
26913         * tests/test-floorf1.c: Likewise.
26914         * tests/test-floorf2.c: Likewise.
26915         * tests/test-frexp.c: Likewise.
26916         * tests/test-round1.c: Likewise.
26917         * tests/test-round2.c: Likewise.
26918         * tests/test-roundf1.c: Likewise.
26919         * tests/test-strtod.c: Likewise.
26920         * tests/test-trunc1.c: Likewise.
26921         * tests/test-trunc2.c: Likewise.
26922         * tests/test-truncf1.c: Likewise.
26923         * tests/test-truncf2.c: Likewise.
26924         * NEWS: Mention the renamed header files.
26925
26926 2008-07-11  Jim Meyering  <meyering@redhat.com>
26927
26928         vc-list-files: make the last-resort awk code more portable
26929         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
26930         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
26931         does not support it.
26932
26933 2008-07-10  Eric Blake  <ebb9@byu.net>
26934
26935         Work with tar's bootstrap.
26936         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
26937         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
26938         an m4 comment.
26939
26940 2008-07-09  Jim Meyering  <meyering@redhat.com>
26941
26942         posix-shell.m4: fix typo that made this test malfunction
26943         * m4/posix-shell.m4: Remove capitalization in variable name.
26944
26945 2008-07-08  Bruno Haible  <bruno@clisp.org>
26946
26947         * m4/onceonly.m4: Update comments.
26948         Reported by Ben Pfaff <blp@cs.stanford.edu>.
26949
26950 2008-07-04  Jim Meyering  <meyering@redhat.com>
26951
26952         * users.txt: Add vc-dwim.
26953         (bison, coreutils): Use the gitweb URL.
26954
26955 2008-07-03  Jim Meyering  <meyering@redhat.com>
26956
26957         * users.txt: Add libffcall.  From Sam Steingold.
26958
26959 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
26960
26961         getdate.y: do not ignore TZ with relative day, month or year offset
26962         * lib/getdate.y (get_date): Move the tz-handling block to follow the
26963         relative-date-handling, since otherwise, the latter would clobber the
26964         sole output (an updated Start value) of the tz-handling block.
26965         * tests/test-getdate.c: Tests for the fix
26966
26967 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26968
26969         Recognize 'foo_LIBRARIES += libgnu.a'.
26970         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
26971         makefile snippet has already specified an installation location,
26972         also using '+='.
26973
26974 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
26975
26976         getdate.y: factor out common actions
26977         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
26978         Use them in place of open-coded actions.
26979
26980 2008-07-01  Simon Josefsson  <simon@josefsson.org>
26981
26982         Add self-test for getdate module.
26983         * modules/getdate-tests: New file.
26984         * tests/test-getdate.c: New file.
26985
26986 2008-06-29  Bruno Haible  <bruno@clisp.org>
26987
26988         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
26989         .gitignore.
26990         Reported by Sylvain Beucler <beuc@beuc.net>.
26991
26992 2008-06-29  Bruno Haible  <bruno@clisp.org>
26993
26994         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
26995         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
26996
26997 2008-06-29  Bruno Haible  <bruno@clisp.org>
26998
26999         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
27000         EXTRA_DIST.
27001         Reported by Sylvain Beucler <beuc@beuc.net>.
27002
27003 2008-06-26  Jim Meyering  <meyering@redhat.com>
27004
27005         make several modules depend on the "open" module
27006         This provides slightly increased consistency when opening-for-write
27007         the name of a non-directory spelled with a trailing slash.
27008         * modules/chdir-safer: Likewise.
27009         * modules/chown: Likewise.
27010         * modules/clean-temp: Likewise.
27011         * modules/copy-file: Likewise.
27012         * modules/fchdir: Likewise.
27013         * modules/fcntl-safer: Likewise.
27014         * modules/pipe: Likewise.
27015         * modules/utime: Likewise.
27016         Prompted by Eric Blake and Bruno Haible.
27017
27018 2008-06-24  Andreas Schwab  <schwab@suse.de>
27019
27020         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
27021         literals can be used as initializers for global variables.
27022
27023 2008-06-23  Eric Blake  <ebb9@byu.net>
27024
27025         Make gnulib-cache.m4 easier to diff.
27026         * gnulib-tool (func_import): Allow newlines when reading cached
27027         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
27028
27029 2008-06-23  Bruno Haible  <bruno@clisp.org>
27030
27031         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
27032         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
27033         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
27034         m4/signalblocking.m4.
27035         (gl_PREREQ_SIGACTION): Don't invoke it.
27036         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
27037         gl_PREREQ_SIG_HANDLER_H.
27038         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
27039         Don't check for sigaction here.
27040
27041 2008-06-23  Bruno Haible  <bruno@clisp.org>
27042
27043         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
27044         (install_handlers): Don't set the SA_RESETHAND flag.
27045
27046 2008-06-23  Bruno Haible  <bruno@clisp.org>
27047
27048         * m4/sigaction.m4: Comment fixes.
27049         * lib/signal.in.h: Likewise.
27050
27051 2008-06-23  Eric Blake  <ebb9@byu.net>
27052
27053         Fix typo.
27054         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
27055
27056         Avoid SA_ namespace.
27057         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
27058         Reported by Ralf Wildenhues.
27059
27060         Avoid test failure due to SA_RESTORER.
27061         * tests/test-sigaction.c (SA_MASK): New macro.
27062         (main): Avoid failing due to extension flags being set.
27063         Reported by Jim Meyering.
27064
27065         Revert use of sig-handler.h in sigprocmask.c.
27066         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
27067         it requires the existence of struct sigaction.
27068         * lib/sigprocmask.c (handler_t): Restore typedef.
27069         (rpl_signal, old_handlers): Use local type.
27070
27071 2008-06-22  Bruno Haible  <bruno@clisp.org>
27072
27073         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
27074         conditionally.
27075         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
27076
27077 2008-06-22  Bruno Haible  <bruno@clisp.org>
27078
27079         * doc/posix-functions/siginterrupt.texi: Move note.
27080
27081         * lib/signal.in.h (SA_RESTART): New macro.
27082         * lib/sigaction.c: Update comment.
27083
27084         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
27085
27086         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
27087         (gl_PREREQ_SIGPROCMASK): Invoke it.
27088         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
27089
27090         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
27091
27092         * lib/sigprocmask.c: Update a comment.
27093
27094 2008-06-21  Eric Blake  <ebb9@byu.net>
27095
27096         Use sigaction module rather than signal().
27097         * modules/c-stack (Depends-on): Add sigaction.
27098         * modules/fatal-signal (Depends-on): Likewise.
27099         * modules/nanosleep (Depends-on): Likewise.
27100         * modules/sigprocmask (Files): Add sig-handler.h.
27101         * modules/sigaction (Files): Likewise.
27102         * lib/sig-handler.h (get_handler): New file, suggested by Paul
27103         Eggert.
27104         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
27105         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
27106         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
27107         (init_fatal_signals): Likewise.
27108         * lib/nanosleep.c (rpl_nanosleep): Likewise.
27109         (siginterrupt): Delete fallback.
27110         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
27111         instead.
27112         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
27113         siginterrupt.
27114
27115         New module sigaction, for mingw.
27116         * modules/sigaction: New module...
27117         * modules/sigaction-tests: ...and its test.
27118         * m4/sigaction.m4: New file.
27119         * lib/sigaction.c: Likewise.
27120         * tests/test-sigaction.c: Likewise.
27121         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
27122         * modules/signal (Makefile.am): Likewise.
27123         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
27124         needed.
27125         * doc/posix-headers/signal.texi (signal.h): Mention provided
27126         types.
27127         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
27128         that sigaction is preferable.
27129         * doc/posix-functions/sigaction.texi (sigaction): Mention new
27130         module.
27131         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
27132         sigaction.
27133
27134         Improve robustness of sigprocmask by overriding signal.
27135         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
27136         is in use.
27137         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
27138         (SIGKILL, SIGSTOP): Provide fallbacks.
27139         (rpl_signal): Implement.
27140         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
27141         signal can be called inside handlers.
27142
27143         Fix nanosleep module on mingw.
27144         * modules/nanosleep (Depends-on): Add sys_select.
27145         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
27146
27147         Fix licensing of sigprocmask.
27148         * modules/raise (License): Relicense as LGPL.
27149
27150 2008-06-21  Bruno Haible  <bruno@clisp.org>
27151
27152         * lib/propername.c (proper_name_utf8): Don't use the transliterated
27153         result if it contains question marks.
27154         Reported by Michael Geng <linux@michaelgeng.de>.
27155
27156 2008-06-19  Bruno Haible  <bruno@clisp.org>
27157
27158         Fix CVS-ism.
27159         * doc/gnulib.texi: Include updated-stamp.texi.
27160         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
27161         (updated-stamp.texi): New rule.
27162         (gnulib.info): Depend on it.
27163         * doc/.gitignore: Add updated-stamp.texi.
27164         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
27165
27166 2008-06-19  Bruno Haible  <bruno@clisp.org>
27167
27168         * doc/Makefile (gnulib.info): Update and simplify dependencies.
27169         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
27170
27171 2008-06-19  Eric Blake  <ebb9@byu.net>
27172
27173         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
27174         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
27175         Reported by Stepan Kasal.
27176
27177 2008-06-18  Bruno Haible  <bruno@clisp.org>
27178
27179         * lib/fatal-signal.c (init_fatal_signals): Add comment.
27180         Reported by Eric Blake.
27181
27182 2008-06-18  Eric Blake  <ebb9@byu.net>
27183
27184         Work around cygwin 1.5.25 strsignal bug.
27185         * tests/test-strsignal.c: Allow for const char *.
27186         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
27187
27188 2008-06-18  Simon Josefsson  <simon@josefsson.org>
27189
27190         * users.txt: Update URL to article and add author/date
27191         information.
27192
27193 2008-06-17  Bruno Haible  <bruno@clisp.org>
27194
27195         New macro gl_DISABLE_THREADS.
27196         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
27197         if the user did not pass --enable-threads or --disable-threads option.
27198         (gl_DISABLE_THREADS): New macro.
27199         Reported by Eric Blake <ebb9@byu.net>.
27200
27201 2008-06-17  Bruno Haible  <bruno@clisp.org>
27202
27203         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
27204         when the macro ignores it.
27205         Based on a patch by Eric Blake <ebb9@byu.net>.
27206
27207 2008-06-17  Bruno Haible  <bruno@clisp.org>
27208
27209         * modules/tls (License): Change to LGPLv2+.
27210         Reported by Eric Blake.
27211
27212 2008-06-17  Eric Blake  <ebb9@byu.net>
27213
27214         Simplify c-stack prerequisites.
27215         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
27216         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
27217         no longer requires <ucontext.h> to exist.  Optimize setrlimit
27218         check.
27219         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
27220         <sys/resource.h>.
27221
27222         Move c-stack test into testsuite.
27223         * modules/c-stack-tests: New file.
27224         * lib/c-stack.c [DEBUG]: Move test program...
27225         * tests/test-c-stack.c: ...into this new file.  Skip rather than
27226         fail test if sigaltstack is lacking.
27227         * tests/test-c-stack.sh: New driver file.
27228
27229 2008-06-16  Eric Blake  <ebb9@byu.net>
27230
27231         Use raise module consistently.
27232         * modules/fatal-signal (Depends-on): Add raise.
27233         * modules/sigprocmask (Depends-on): Likewise.
27234         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
27235         * lib/sigprocmask.c (sigprocmask): Likewise.
27236         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
27237         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
27238
27239         Fix compliance bug in sigpending.
27240         * lib/sigprocmask.c (sigpending): Return pending array via
27241         parameter, not return value.
27242
27243 2008-06-14  Eric Blake  <ebb9@byu.net>
27244
27245         Improve obstack-printf test code.
27246         * tests/test-obstack-printf.c (test_function): Fix comment, and
27247         simplify usage of obstack_* in macros.  Add a test for coverage.
27248         Reported by Bruno Haible.
27249
27250 2008-06-14  Bruno Haible  <bruno@clisp.org>
27251
27252         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
27253         array size as a constant, not as a const variable.
27254         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
27255         AC_USE_SYSTEM_EXTENSIONS.
27256         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
27257         Test whether the obstack_printf function actually exists.
27258         * modules/obstack-printf (Depends-on): Add extensions.
27259         (Include): Remove obstack.h.
27260         * modules/obstack-printf-posix (Depends-on): Add extensions.
27261         (Include): Remove obstack.h.
27262
27263 2008-06-13  Eric Blake  <ebb9@byu.net>
27264
27265         Add obstack-printf and obstack-printf-posix modules.
27266         * modules/obstack-printf: New file.
27267         * modules/obstack-printf-posix: Likewise.
27268         * MODULES.html.sh (Misc): Mention them.
27269         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
27270         Likewise.
27271         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
27272         Likewise.
27273         * modules/stdio (Makefile.am): Accomodate new modules.
27274         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
27275         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
27276         Declare.
27277         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
27278         functions.
27279         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
27280         (gl_REPLACE_OBSTACK_PRINTF): New macros
27281         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
27282         * tests/test-obstack-printf.c: New file.
27283         * modules/obstack-printf-tests: Likewise.
27284         * modules/obstack-printf-posix-tests: Likewise.
27285
27286 2008-06-11  Bruno Haible  <bruno@clisp.org>
27287
27288         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
27289         * lib/open.c: Include errno.h.
27290         (open): Fail when attempting to write to a file that has a trailing
27291         slash.
27292         * tests/test-open.c (main): Test against trailing slash bug.
27293         * doc/posix-functions/open.texi: Mention the trailing slash bug.
27294
27295 2008-06-10  Bruno Haible  <bruno@clisp.org>
27296
27297         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
27298         for $? to work inside the trap command, with various /bin/sh-s.
27299         * tests/test-vc-list-files-cvs.sh: Likewise.
27300
27301 2008-06-10  Bruno Haible  <bruno@clisp.org>
27302
27303         * lib/acl-internal.h: Don't include gettext.h here.
27304         * lib/set-mode-acl.c: Include gettext.h here.
27305         * lib/copy-acl.c: Likewise.
27306
27307 2008-06-10  Bruno Haible  <bruno@clisp.org>
27308
27309         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
27310         * lib/wait-process.c (wait_subprocess): Likewise.
27311         * lib/execute.h (execute): Add termsigp argument.
27312         * lib/execute.c (execute): Likewise.
27313         * lib/csharpcomp.c (compile_csharp_using_pnet,
27314         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
27315         * lib/csharpexec.c (execute_csharp_using_pnet,
27316         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
27317         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
27318         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
27319         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
27320         is_jikes_present): Update.
27321         * lib/javaexec.c (execute_java_class): Update.
27322         * lib/javaversion.c (execute_and_read_line): Update.
27323         * NEWS: Document the changes.
27324         Reported by Eric Blake.
27325
27326 2008-06-10  Eric Blake  <ebb9@byu.net>
27327
27328         Add missing include.
27329         * tests/test-strstr.c (includes): Add <signal.h>.
27330         * tests/test-strcasestr.c (includes): Likewise.
27331         * tests/test-memmem.c (includes): Likewise.
27332
27333 2008-06-10  Bruno Haible  <bruno@clisp.org>
27334
27335         * lib/wait-process.c (wait_subprocess): Add an assertion.
27336
27337 2008-06-10  Bruno Haible  <bruno@clisp.org>
27338
27339         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
27340
27341 2008-06-10  Bruno Haible  <bruno@clisp.org>
27342
27343         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
27344         using alarm().
27345         * tests/test-strcasestr.c (main): Likewise.
27346         * tests/test-strstr.c (main): Likewise.
27347
27348 2008-06-09  Bruno Haible  <bruno@clisp.org>
27349
27350         Work around the Solaris 10 ACE ACLs ABI change.
27351         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
27352         declare if ACL_NO_TRIVIAL is present.
27353         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
27354         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
27355         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
27356         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
27357         define if ACL_NO_TRIVIAL is present.
27358         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
27359         and use the current ABI.
27360         (file_has_acl): Use same #if condition as elsewhere.
27361         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
27362         in use, and use the current ABI.
27363         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
27364         Reported by Jim Meyering.
27365
27366 2008-06-09  Eric Blake  <ebb9@byu.net>
27367
27368         Work around environments that (stupidly) ignore SIGALRM.
27369         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
27370         before using alarm().
27371         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
27372         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
27373         Reported by Ian Beckwith <ianb@erislabs.net>.
27374
27375         Produce autobuild blurb earlier in log.
27376         * modules/autobuild (configure.ac-early): Move AB_INIT here.
27377
27378 2008-06-09  Jim Meyering  <meyering@redhat.com>
27379         and Ondřej Vašík  <ovasik@redhat.com>
27380
27381         utimens.c: correct kernel bug work-around
27382         Ondřej Vašík found that the invalid return value of 280 indicates
27383         failure, not success, and the kernel bug we're trying to work
27384         around affects not just the utimensat call, but also the fallback
27385         futimens call.
27386         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
27387         not success.
27388         [HAVE_FUTIMENS]: Use the same work-around, here.
27389
27390 2008-06-09  Jim Meyering  <meyering@redhat.com>
27391
27392         add more guards around definition of ACE_-related code
27393         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
27394         ALLOW and ACE_OWNER are also defined.
27395
27396 2008-06-08  Bruno Haible  <bruno@clisp.org>
27397
27398         * lib/acl-internal.h: Add me as co-author.
27399         * lib/file-has-acl.c: Likewise.
27400         * lib/set-mode-acl.c: Likewise.
27401         * lib/copy-acl.c: Likewise.
27402
27403 2008-06-08  Bruno Haible  <bruno@clisp.org>
27404
27405         Add support for AIX ACLs.
27406         * lib/acl-internal.h (acl_nontrivial): New declaration.
27407         * lib/file-has-acl.c (acl_nontrivial): New function.
27408         (file_has_acl): Add implementation using AIX 4 ACL API.
27409         * lib/set-mode-acl.c (qset_acl): Likewise.
27410         * lib/copy-acl.c (qcopy_acl): Likewise.
27411
27412 2008-06-08  Bruno Haible  <bruno@clisp.org>
27413
27414         Add support for HP-UX ACLs.
27415         * lib/acl-internal.h (acl_nontrivial): New declaration.
27416         * lib/file-has-acl.c (acl_nontrivial): New function.
27417         (file_has_acl): Add implementation using HP-UX 11 ACL API.
27418         * lib/set-mode-acl.c (qset_acl): Likewise.
27419         * lib/copy-acl.c (qcopy_acl): Likewise.
27420
27421 2008-06-08  Bruno Haible  <bruno@clisp.org>
27422
27423         Add support for Cygwin ACLs.
27424         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
27425         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
27426         the chmod_or_fchmod call.
27427         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
27428
27429 2008-06-08  Bruno Haible  <bruno@clisp.org>
27430
27431         Fix bug with setuid modes in Solaris 10+ code.
27432         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
27433         succeeded, when the mode contains some special bits.
27434
27435 2008-06-08  Bruno Haible  <bruno@clisp.org>
27436
27437         Add support for Solaris 7..10 ACLs.
27438         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
27439         declarations.
27440         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
27441         functions.
27442         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
27443         * lib/set-mode-acl.c (qset_acl): Likewise.
27444         * lib/copy-acl.c (qcopy_acl): Likewise.
27445
27446 2008-06-08  Bruno Haible  <bruno@clisp.org>
27447
27448         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
27449         declaration.
27450         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
27451         (acl_access_nontrivial): Remove MacOS X case.
27452         (file_has_acl): Use acl_extended_nontrivial.
27453         * lib/copy-acl.c (qcopy_acl): Likewise.
27454
27455 2008-06-08  Bruno Haible  <bruno@clisp.org>
27456
27457         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
27458
27459 2008-06-08  Jim Meyering  <meyering@redhat.com>
27460
27461         * modules/acl (Maintainer): Add Bruno Haible.
27462
27463 2008-06-07  Bruno Haible  <bruno@clisp.org>
27464
27465         Improve support for Tru64 ACLs.
27466         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
27467         ACL on OSF/1.
27468
27469 2008-06-07  Bruno Haible  <bruno@clisp.org>
27470
27471         Add support for MacOS X ACLs.
27472         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
27473         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
27474         * lib/set-mode-acl.c (qset_acl): Likewise.
27475         * lib/copy-acl.c (qcopy_acl): Likewise.
27476
27477 2008-06-07  Bruno Haible  <bruno@clisp.org>
27478
27479         Fix memory leak introduced on 2008-05-22.
27480         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
27481         use.
27482
27483 2008-06-07  Bruno Haible  <bruno@clisp.org>
27484
27485         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
27486         to construct an empty ACL.
27487
27488 2008-06-07  Bruno Haible  <bruno@clisp.org>
27489
27490         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
27491         precisely.
27492         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
27493
27494 2008-06-07  Bruno Haible  <bruno@clisp.org>
27495
27496         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
27497         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
27498
27499 2008-06-07  Bruno Haible  <bruno@clisp.org>
27500
27501         * doc/posix-functions/_setjmp.texi: Explain the use of this function
27502         regardless of POSIX.
27503         * doc/posix-functions/_longjmp.texi: Likewise.
27504         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
27505         SystemV platform in this case.
27506
27507 2008-06-06  Eric Blake  <ebb9@byu.net>
27508
27509         Document abort() bugs.
27510         * doc/posix-functions/abort.texi (abort): Mention anomalies.
27511
27512         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
27513         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
27514         sigsetjmp.
27515         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
27516         siglongjmp, but only as a macro.
27517         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
27518         is obsolete.
27519         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
27520
27521         Tweak documentation to cover cygwin argz bugs.
27522         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
27523         argz bug fix; no code change needed since no cygwin releases
27524         occurred between the last fix and the bug being tested.
27525         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
27526         module and recently fixed cygwin bugs.
27527         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
27528         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
27529         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
27530         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
27531         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
27532         Likewise.
27533         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
27534         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
27535         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
27536         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
27537         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
27538         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
27539         Likewise.
27540
27541         Avoid gcc warning on cygwin.
27542         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
27543         !ACL_NO_TRIVIAL]: Avoid unused variable.
27544
27545 2008-06-05  Eric Blake  <ebb9@byu.net>
27546
27547         Be tolerant of UNKNOWN version in gnulib-tool test dir.
27548         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
27549         git-version-gen fails to come up with a version.
27550         Reported by Simon Josefsson.
27551
27552 2008-06-05  Jim Meyering  <meyering@redhat.com>
27553             Paul Eggert  <eggert@cs.ucla.edu>
27554
27555         utimens.c: work around a probable Linux kernel bug
27556         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
27557         appears to be a kernel bug that causes utimensat to return 280
27558         instead of 0, indicating success.
27559
27560 2008-06-04  Bruno Haible  <bruno@clisp.org>
27561
27562         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
27563         2008-06-01 commit.
27564
27565 2008-06-04  Bruno Haible  <bruno@clisp.org>
27566
27567         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
27568         * lib/file-has-acl.c (acl_access_nontrivial): New function.
27569         (file_has_acl): Use it. Save errno afterwards.
27570         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
27571
27572 2008-06-03  Bruno Haible  <bruno@clisp.org>
27573
27574         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
27575         draft code. Simplify #ifs.
27576         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
27577         Put Solaris code after POSIX-draft code. Fix comments regarding
27578         Solaris 10, HP-UX. Mention Cygwin.
27579         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
27580
27581 2008-06-03  Eric Blake  <ebb9@byu.net>
27582
27583         Provide fallback for older kernels.
27584         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
27585         Provide runtime fallback if kernel lacks support.
27586         Reported by Mike Frysinger.
27587
27588 2008-06-02  Bruno Haible  <bruno@clisp.org>
27589
27590         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
27591         it exists.
27592
27593 2008-06-02  Bruno Haible  <bruno@clisp.org>
27594
27595         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
27596         * lib/copy-acl.c (qcopy_acl): Update comment.
27597
27598 2008-06-02  Bruno Haible  <bruno@clisp.org>
27599
27600         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
27601         like ACL APIs.
27602
27603 2008-06-02  Bruno Haible  <bruno@clisp.org>
27604
27605         * tests/test-file-has-acl.sh: Use different code for Cygwin.
27606         * tests/test-set-mode-acl.sh: Likewise.
27607         * tests/test-copy-acl.sh: Likewise.
27608         * tests/test-copy-file.sh: Likewise.
27609
27610 2008-06-02  Bruno Haible  <bruno@clisp.org>
27611
27612         * tests/test-file-has-acl.sh: Remove unused code.
27613
27614 2008-06-01  Bruno Haible  <bruno@clisp.org>
27615
27616         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
27617         (copy_acl): Just a wrapper around qcopy_acl that emits the error
27618         messages.
27619         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
27620
27621 2008-06-01  Bruno Haible  <bruno@clisp.org>
27622
27623         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
27624         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
27625         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
27626         APIs.
27627         * modules/acl-tests (configure.ac): Remove tests now contained in
27628         m4/acl.m4.
27629
27630 2008-06-02  Jim Meyering  <meyering@redhat.com>
27631
27632         announce-gen: use a better key-server host name
27633         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
27634         it may be more consistently reliable.  Suggested by Werner Koch
27635         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
27636
27637 2008-06-01  Bruno Haible  <bruno@clisp.org>
27638
27639         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
27640         Reported by Voroskoi Andras <voroskoi@gmail.com>.
27641
27642 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
27643
27644         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
27645
27646 2008-06-01  Bruno Haible  <bruno@clisp.org>
27647
27648         New ACL tests.
27649         * tests/test-file-has-acl.sh: New file.
27650         * tests/test-file-has-acl.c: New file.
27651         * tests/test-set-mode-acl.sh: New file.
27652         * tests/test-set-mode-acl.c: New file.
27653         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
27654         * tests/test-copy-acl.c: New file.
27655         * modules/acl-tests: New file, based on modules/copy-file-tests.
27656         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
27657         (Depends-on): Add acl-tests.
27658         (configure.ac): Remove checks.
27659         (Makefile.am): Don't create test-sameacls program here any more.
27660
27661 2008-06-01  Bruno Haible  <bruno@clisp.org>
27662
27663         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
27664         * tests/test-sameacls.c: Include progname.h.
27665         (main): Invoke set_program_name. Portability fixes for MacOS X,
27666         Solaris, HP-UX.
27667
27668 2008-06-01  Bruno Haible  <bruno@clisp.org>
27669
27670         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
27671         function.
27672         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
27673
27674 2008-06-01  Bruno Haible  <bruno@clisp.org>
27675
27676         * modules/rpmatch (Depends-on): Add strdup.
27677
27678 2008-06-01  Bruno Haible  <bruno@clisp.org>
27679
27680         * lib/pipe.c: Include unistd-safer.h.
27681         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
27682         * modules/pipe (Depends-on): Add unistd-safer.
27683
27684 2008-05-30  Simon Josefsson  <simon@josefsson.org>
27685
27686         * modules/autobuild (configure.ac): Call AB_INIT.
27687
27688 2008-05-30  Simon Josefsson  <simon@josefsson.org>
27689
27690         * tests/test-getaddrinfo.c: Don't print debug messages by default.
27691         Suggested by Bruno Haible <bruno@clisp.org>.
27692
27693 2008-05-30  Simon Josefsson  <simon@josefsson.org>
27694
27695         * tests/test-base64.c: Cast size_t to unsigned long when invoking
27696         printf.  Use %lu instead of %d.  Reported by Bruno Haible
27697         <bruno@clisp.org>.
27698
27699 2008-05-29  Eric Blake  <ebb9@byu.net>
27700
27701         Prefer new POSIX 200x interfaces over futimesat.
27702         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
27703         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
27704         when available.
27705         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
27706
27707 2008-05-28  Bruno Haible  <bruno@clisp.org>
27708
27709         * modules/stpcpy (License): Change to LGPLv2+.
27710         Requested by David Lutterkort <dlutter@redhat.com>.
27711
27712 2008-05-27  Bruno Haible  <bruno@clisp.org>
27713
27714         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
27715         current mingw.
27716         Reported by Jose E. Marchesi <jemarch@gnu.org>.
27717
27718 2008-05-27  Bruno Haible  <bruno@clisp.org>
27719
27720         * modules/iconv_open (Link): New section, from module 'iconv'.
27721         * modules/striconv (Link): Likewise.
27722         * modules/striconveh (Link): Likewise.
27723         * modules/xstriconv (Link): Likewise.
27724         * modules/unicodeio (Link): Likewise.
27725         * modules/propername (Link): Likewise.
27726         Reported by Jim Meyering.
27727
27728 2008-05-26  Jim Meyering  <meyering@redhat.com>
27729
27730         sha256: do not artificially restrict buffer length to be < 2^32
27731         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
27732         uint32_t to size_t.
27733         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
27734         to match.
27735
27736         avoid unaligned access errors, e.g., on sparc
27737         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
27738         direct access through a possibly-unaligned uint64* pointer.
27739         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
27740         direct access through a possibly-unaligned uint32* pointer.
27741         Prompted by this patch from Tom "spot" Callaway:
27742         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
27743
27744         sha512.c: fix typo in comment
27745         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
27746
27747 2008-05-25  Bruno Haible  <bruno@clisp.org>
27748
27749         * lib/set-mode-acl.c: Renamed from lib/acl.c.
27750         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
27751         (Makefile.am): Update lib_SOURCES.
27752
27753 2008-05-25  Bruno Haible  <bruno@clisp.org>
27754
27755         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
27756
27757 2008-05-25  Jim Meyering  <meyering@redhat.com>
27758
27759         useless-if-before-free: freed expr may have white-space differences
27760         * build-aux/useless-if-before-free: Recognize cases in which the
27761         freed expression differs from the tested one in embedded white
27762         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
27763         $1 was used, so we can't make any regexp shy.  Improved tests now
27764         detect this.
27765
27766         useless-if-before-free: accept white space in the expression.
27767         * build-aux/useless-if-before-free: For now, any white space
27768         in the expression must be identical in the free argument.
27769
27770         useless-if-before-free: efficiency tweak
27771         * build-aux/useless-if-before-free: Make the expression-matching
27772         regexp "shy".
27773         Make the *outer* regexp shy, not the expr-matching one.
27774
27775         update code-in-comment to accept cast of free arg
27776         * build-aux/useless-if-before-free: Update regexp.
27777
27778 2008-05-25  Bruno Haible  <bruno@clisp.org>
27779
27780         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
27781         * modules/copy-file-tests (Files, Makefile.am): Update.
27782         * tests/test-copy-file.c (func_test_copy): Update.
27783
27784 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
27785
27786         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
27787
27788 2008-05-23  Bruno Haible  <bruno@clisp.org>
27789
27790         Improve support for ACLs on OSF/1.
27791         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
27792         Remove fallback for unknown flavors of ACLs.
27793
27794 2008-05-22  Bruno Haible  <bruno@clisp.org>
27795
27796         Add support for ACLs on OSF/1.
27797         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
27798         replacements.
27799         (acl_free_text): New macro fallback.
27800         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
27801         acl_free.
27802         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
27803         acl_free_text function. Require AC_C_INLINE.
27804
27805 2008-05-22  Bruno Haible  <bruno@clisp.org>
27806
27807         Make copy_acl work on MacOS X 10.5.
27808         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
27809         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
27810         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
27811         If MODE_INSIDE_ACL, don't assume that every system has the same text
27812         representation for ACLs as FreeBSD.
27813         * lib/copy-acl.c (copy_acl): Add support for platforms with
27814         !MODE_INSIDE_ACL.
27815         * lib/file-has-acl.c (file_has_acl): Likewise.
27816         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
27817         FreeBSD, MacOS X, or IRIX, respectively.
27818
27819 2008-05-22  Bruno Haible  <bruno@clisp.org>
27820
27821         * lib/acl.h: Don't include <sys/acl.h>.
27822         (GETACLCNT): Move fallback to lib/acl-internal.h.
27823         * lib/acl-internal.h: Include <sys/acl.h> here.
27824         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
27825
27826 2008-05-22  Bruno Haible  <bruno@clisp.org>
27827
27828         Split off copy_acl function to separate file.
27829         * lib/copy-acl.c: New file, extracted from lib/acl.c.
27830         * lib/acl.c (copy_acl): Moved function to separate file.
27831         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
27832         * modules/acl (Files): Add lib/copy-acl.c.
27833         (Makefiles.am): Augment lib_SOURCES.
27834
27835 2008-05-22  Bruno Haible  <bruno@clisp.org>
27836
27837         * modules/copy-file-tests: New file.
27838         * tests/test-copy-file.sh: New file.
27839         * tests/test-copy-file.c: New file.
27840         * tests/test-copy-file-sameacls.c: New file.
27841
27842 2008-05-22  Eric Blake  <ebb9@byu.net>
27843
27844         Avoid gcc warning.
27845         * tests/test-memcmp.c (main): Pass NULL indirectly.
27846
27847 2008-05-21  Bruno Haible  <bruno@clisp.org>
27848
27849         Add reference doc about ACLs.
27850         * doc/acl-resources.txt: New file.
27851         * doc/acl-cygwin.txt: New file.
27852
27853 2008-05-21  Bruno Haible  <bruno@clisp.org>
27854
27855         Avoid one more warning from gcc.
27856         * lib/vasnprintf.c (IF_LINT): Update comments.
27857         (VASNPRINTF): Use it also for the 'prefix' array initializer.
27858
27859 2008-05-21  Jim Meyering  <meyering@redhat.com>
27860
27861         avoid a warning from gcc
27862         * lib/vasnprintf.c (IF_LINT): Define.
27863         (scale10_round_decimal_long_double):
27864         Use it to avoid a "may be used uninitialized" warning.
27865         (scale10_round_decimal_double): Likewise.
27866
27867 2008-05-21  Simon Josefsson  <simon@josefsson.org>
27868
27869         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
27870         declared.
27871
27872 2008-05-20  Bruno Haible  <bruno@clisp.org>
27873
27874         * tests/test-memcmp.c (main): Test also the sign of the result. Test
27875         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
27876
27877 2008-05-20  Simon Josefsson  <simon@josefsson.org>
27878
27879         * modules/memcmp-tests: New file.
27880         * tests/test-memcmp.c: New file.
27881
27882 2008-05-19  Bruno Haible  <bruno@clisp.org>
27883
27884         * modules/propername (Notice, configure.ac): Put quoted "..." into
27885         --keyword option.
27886         * lib/propername.h: Update comments accordingly.
27887         Reported by Eric Blake.
27888
27889 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
27890
27891         * modules/getpass-gnu (Depends-on): Add fseeko.
27892
27893 2008-05-19  Simon Josefsson  <simon@josefsson.org>
27894
27895         * modules/base64-tests: New file.
27896
27897 2008-05-19  Bo Borgerson <gigabo@gmail.com>
27898
27899         * lib/base64.c (base64_decode_ctx): If a decode context structure
27900         was passed in use it to ignore newlines.  If a context structure
27901         was _not_ passed in, continue to treat newlines as garbage (this
27902         is the historical behavior).  Formerly base64_decode.
27903         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
27904         takes a decode context structure.
27905         * lib/base64.h (base64_decode): Macro for four-argument calls.
27906         (base64_decode_alloc): Likewise.
27907         * lib/base64.c (base64_decode_ctx): If a decode context structure
27908         was passed in use it to ignore newlines.  If a context structure
27909         was _not_ passed in, continue to treat newlines as garbage (this
27910         is the historical behavior).  Formerly base64_decode.
27911         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
27912         takes a decode context structure.
27913         * lib/base64.h (base64_decode): Macro for four-argument calls.
27914         (base64_decode_alloc): Likewise.
27915
27916 2008-05-19  Jim Meyering  <meyering@redhat.com>
27917
27918         avoid a warning from gcc
27919         * lib/trim.c (IF_LINT): Define.
27920         (trim2): Use it to avoid a "may be used uninitialized" warning.
27921
27922         Fix doc typo.
27923         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
27924
27925 2008-05-19  Bruno Haible  <bruno@clisp.org>
27926
27927         * doc/glibc-functions/getpass.texi: Document limits of other
27928         implementations.
27929
27930 2008-05-19  Simon Josefsson  <simon@josefsson.org>
27931             Bruno Haible <bruno@clisp.org>
27932
27933         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
27934
27935 2008-05-18  Bruno Haible  <bruno@clisp.org>
27936
27937         * modules/propername: New file, from GNU gettext.
27938         * lib/propername.h: New file, from GNU gettext.
27939         * lib/propername.c: New file, from GNU gettext.
27940         * MODULES.html.sh (Internationalization functions): Add propername.
27941
27942 2008-05-16  Jim Meyering  <meyering@redhat.com>
27943             Bruno Haible  <bruno@clisp.org>
27944
27945         Avoid some warnings from "gcc -Wshadow".
27946         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
27947
27948 2008-05-15  Eric Blake  <ebb9@byu.net>
27949
27950         Extend previous patch to cygwin 1.7.0.
27951         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
27952         fast implementation in cygwin >= 1.7.0.
27953         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
27954         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
27955
27956 2008-05-15  Bruno Haible  <bruno@clisp.org>
27957
27958         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
27959         implementation in glibc >= 2.9.
27960         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
27961         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
27962
27963 2008-05-15  Bruno Haible  <bruno@clisp.org>
27964
27965         * MODULES.html.sh (Internationalization functions): Remove linebreak.
27966         (Unicode string functions): Add unilbrk/*.
27967         Reported by Karl Berry.
27968
27969 2008-05-15  Eric Blake  <ebb9@byu.net>
27970
27971         Fix violation of <stdbool.h> replacement in regex.
27972         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
27973         * lib/regexec.c (re_search_internal): Likewise.
27974         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
27975
27976 2008-05-15  Jim Meyering  <meyering@redhat.com>
27977
27978         avoid distracting test output when git or cvs is not found
27979         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
27980         * tests/test-vc-list-files-git.sh: Likewise.
27981
27982 2008-05-15  Eric Blake  <ebb9@byu.net>
27983
27984         Glibc finally accepted the memmem speedup code, bugzilla #5514.
27985         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
27986         glibc version.
27987         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
27988         * doc/posix-functions/strstr.texi (strstr): Likewise.
27989         * lib/str-two-way.h (MAX): Sychronize with glibc.
27990
27991 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
27992
27993         * lib/regcomp.c (optimize_utf8): Add a note on why we test
27994         opr.ctx_type.
27995         (calc_first): Initialize constraint field.
27996         (duplicate_node_closure): Use it instead of special casing ANCHORS.
27997         Fix grammar.
27998         (duplicate_node): Merge constraint field for all node types.
27999         (calc_eclosure_iter): Look at constraint field for all node types.
28000         * lib/regex_internal.c (create_cd_newstate): Don't look at
28001         opr.ctx_type.
28002
28003 2008-05-14  Bruno Haible  <bruno@clisp.org>
28004
28005         Help GCC to do better code generation.
28006         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
28007         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
28008         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
28009         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
28010         Declare with attribute 'malloc' if supported.
28011
28012 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
28013
28014         use "echo STR|wc -c" rather than unportable "expr length STR"
28015         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
28016         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
28017
28018 2008-05-14  Jim Meyering  <meyering@redhat.com>
28019
28020         use dd ibs=$n count=1 ... rather than less-portable head -c$n
28021         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
28022         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
28023         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
28024         via Collin Lasse.
28025
28026 2008-05-14  Eric Blake  <ebb9@byu.net>
28027
28028         Avoid quadratic growth in gl_LIBSOURCES.
28029         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
28030         Suggested by Bruno Haible.
28031
28032         Test xmemdup0.
28033         * modules/xmemdup0-tests: New file.
28034         * tests/test-xmemdup0.c: Likewise.
28035
28036 2008-05-13  Eric Blake  <ebb9@byu.net>
28037
28038         Split xmemdup0 into its own module.
28039         * modules/xmemdup0: New file.
28040         * lib/xmemdup0.h: Likewise.
28041         * lib/xmemdup0.c: Likewise.
28042         * MODULES.html.sh (Memory management functions): Add xmemdup0.
28043         * lib/xalloc.h (xmemdup0): Remove.
28044         * lib/xmalloc.c (xmemdup0): Likewise.
28045
28046 2008-05-13  Eric Blake  <ebb9@byu.net>
28047             Bruno Haible  <bruno@clisp.org>
28048
28049         Reduce number of forks required during autoconf.
28050         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
28051         and gl_LIBSOURCES_DIR.
28052         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
28053         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
28054         m4_syscmd per file.
28055         <m4_foreach_w>: Move...
28056         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
28057
28058 2008-05-13  Eric Blake  <ebb9@byu.net>
28059
28060         * gnulib-tool: Fix various comment typos.
28061
28062 2008-05-12  Bruno Haible  <bruno@clisp.org>
28063
28064         Tailor the linebreaking algorithm.
28065         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
28066
28067 2008-05-12  Bruno Haible  <bruno@clisp.org>
28068
28069         Update to Unicode 5.0.0.
28070         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
28071         LBP_JV, LBP_JT. Redistribute values.
28072         (unilbrk_table): Change size.
28073         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
28074         Unicode TR#14 rev. 22.
28075         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
28076         LBP_JV, LBP_JT. Redistribute values.
28077         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
28078         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
28079         Update.
28080         * lib/unilbrk/lbrkprop1.h: Regenerated.
28081         * lib/unilbrk/lbrkprop2.h: Regenerated.
28082         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
28083         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
28084         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
28085         Likewise.
28086         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
28087         Likewise.
28088         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
28089         result.
28090         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
28091         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
28092         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
28093         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
28094         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
28095         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
28096
28097 2008-05-11  Bruno Haible  <bruno@clisp.org>
28098
28099         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
28100
28101 2008-05-11  Bruno Haible  <bruno@clisp.org>
28102
28103         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
28104         * modules/unilbrk/gen-lbrk: New file.
28105
28106 2008-05-11  Bruno Haible  <bruno@clisp.org>
28107
28108         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
28109         * m4/sha512.m4 (gl_SHA512): Likewise.
28110
28111 2008-05-11  Jim Meyering  <meyering@redhat.com>
28112
28113         New modules: crypto/sha256, crypto/sha512 (from coreutils)
28114         * modules/crypto/sha256: New file.
28115         * modules/crypto/sha512: Likewise.
28116         * lib/sha256.c: Likewise.
28117         * lib/sha256.h: Likewise.
28118         * lib/sha512.c: Likewise.
28119         * lib/sha512.h: Likewise.
28120         * lib/u64.h: Likewise.
28121         * m4/sha256.m4: Likewise.
28122         * m4/sha512.m4: Likewise.
28123         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
28124
28125 2008-05-10  Bruno Haible  <bruno@clisp.org>
28126
28127         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
28128         (Input/Output <stdio.h>): Add xprintf.
28129         (Signal handling <signal.h>): Add strsignal.
28130         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
28131         (Core language properties): Add func.
28132         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
28133         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
28134         strings.
28135         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
28136         (Input/output): New section.
28137         (File system functions): Add openat-die, stat-macros.
28138         (Networking functions): Add sockets.
28139         (Unicode string functions): Add unictype/*.
28140         (Support for building libraries and executables): Add gperf.
28141         (Support for building documentation): Add agpl-3.0.
28142         (Misc): Add nocrash.
28143
28144 2008-05-10  Bruno Haible  <bruno@clisp.org>
28145
28146         * modules/unictype/gen-ctype: New file.
28147
28148 2008-05-10  Jim Meyering  <meyering@redhat.com>
28149
28150         Make chdir-safer.c more efficient on a system with no symlinks.
28151         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
28152         also if ELOOP is zero.  Suggested by Bruno Haible.
28153
28154         Make chdir-safer.c slightly safer.
28155         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
28156         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
28157
28158         Avoid compile failure on systems without ELOOP (like mingw).
28159         * lib/chdir-safer.c (ELOOP): Define if not already defined.
28160         Reported by Bruno Haible.
28161
28162 2008-05-10  Bruno Haible  <bruno@clisp.org>
28163
28164         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
28165         (is_utf8_encoding): Use a case-insensitive comparison.
28166         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
28167         streq.
28168
28169 2008-05-10  Bruno Haible  <bruno@clisp.org>
28170
28171         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
28172         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
28173         * lib/unilbrk/ulc-common.h (iconv_string_length,
28174         iconv_string_keeping_offsets): Remove declarations.
28175         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
28176         Don't include <iconv.h>, streq.h, xsize.h.
28177         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
28178         conversion.
28179         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
28180         <iconv.h>, streq.h, xsize.h.
28181         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
28182         conversion.
28183         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
28184         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
28185         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
28186         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
28187
28188 2008-05-10  Bruno Haible  <bruno@clisp.org>
28189
28190         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
28191         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
28192
28193         * modules/unilbrk/u32-width-linebreaks-tests: New file.
28194         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
28195
28196         * modules/unilbrk/u16-width-linebreaks-tests: New file.
28197         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
28198
28199         * modules/unilbrk/u8-width-linebreaks-tests: New file.
28200         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
28201
28202         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
28203         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
28204
28205         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
28206         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
28207
28208         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
28209         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
28210
28211         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
28212         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
28213
28214 2008-05-10  Bruno Haible  <bruno@clisp.org>
28215
28216         Split up 'linebreak' module.
28217         * lib/unilbrk.h: New file, based on lib/linebreak.h.
28218         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
28219         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
28220         modifications.
28221         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
28222         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
28223         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
28224         lib/linebreak.c.
28225         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
28226         lib/linebreak.c.
28227         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
28228         lib/linebreak.c.
28229         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
28230         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
28231         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
28232         lib/linebreak.c.
28233         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
28234         lib/linebreak.c.
28235         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
28236         lib/linebreak.c.
28237         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
28238         lib/linebreak.c.
28239         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
28240         lib/linebreak.c.
28241         * modules/unilbrk/base: New file.
28242         * modules/unilbrk/tables: New file.
28243         * modules/unilbrk/u8-possible-linebreaks: New file.
28244         * modules/unilbrk/u16-possible-linebreaks: New file.
28245         * modules/unilbrk/u32-possible-linebreaks: New file.
28246         * modules/unilbrk/ulc-common: New file.
28247         * modules/unilbrk/ulc-possible-linebreaks: New file.
28248         * modules/unilbrk/u8-width-linebreaks: New file.
28249         * modules/unilbrk/u16-width-linebreaks: New file.
28250         * modules/unilbrk/u32-width-linebreaks: New file.
28251         * modules/unilbrk/ulc-width-linebreaks: New file.
28252         * lib/linebreak.h: Remove file.
28253         * lib/linebreak.c: Remove file.
28254         * m4/linebreak.m4: Remove file.
28255         * modules/linebreak: Remove file.
28256         * NEWS: Mention the changes.
28257
28258 2008-05-09  Eric Blake  <ebb9@byu.net>
28259
28260         Add xmemdup0.
28261         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
28262         implementation.
28263         * lib/xmalloc.c (xmemdup0): New C implementation.
28264
28265 2008-05-08  Bruno Haible  <bruno@clisp.org>
28266
28267         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
28268
28269 2008-05-07  Eric Blake  <ebb9@byu.net>
28270
28271         Support cross-compilation of <wctype.h>.
28272         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
28273         AC_CACHE_CHECK.
28274
28275 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
28276
28277         * build-aux/vc-list-files: Add support for bzr.
28278
28279 2008-05-03  Jim Meyering  <meyering@redhat.com>
28280
28281         avoid failed assertion with tight malloc
28282         * tests/test-getndelim2.c: Correct an off-by-one assertion.
28283
28284 2008-05-03  Simon Josefsson  <simon@josefsson.org>
28285
28286         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
28287         are needed from arpa/inet.h.
28288         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
28289         Reported by Bruno Haible.
28290
28291 2008-05-02  Jim Meyering  <meyering@redhat.com>
28292
28293         avoid compilation error on FreeBSD 6
28294         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
28295
28296 2008-05-01  Jim Meyering  <meyering@redhat.com>
28297
28298         useless-if-before-free: correct --help's exit status description
28299         * build-aux/useless-if-before-free (usage): Like grep, exit 0
28300         for one or more matches, etc.  Reported by Bruno Haible.
28301
28302         vc-list-files: make the stand-alone gnulib test work
28303         * modules/vc-list-files-tests (configure.ac):
28304         Define and AC_SUBST abs_aux_dir.
28305         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
28306         $(abs_top_srcdir) to each script and having each of them
28307         duplicate the work of setting PATH, set PATH here, using
28308         the new variable, abs_aux_dir instead.
28309         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
28310         * tests/test-vc-list-files-git.sh: Likewise.
28311         Reported by Bruno Haible.
28312
28313 2008-05-01  Bruno Haible  <bruno@clisp.org>
28314
28315         * lib/getndelim2.c (getndelim2): Fix newsize computation during
28316         reallocation. Rename 'done' to 'found_delimiter'.
28317
28318 2008-05-01  Jim Meyering  <meyering@redhat.com>
28319
28320         vc-list-files: accommodate /bin/sh like the one from Solaris 10
28321         * build-aux/vc-list-files: Use `...`, not $(...).
28322
28323 2008-04-30  Jim Meyering  <meyering@redhat.com>
28324
28325         add tests for vc-list-files
28326         * modules/vc-list-files-tests: New module.
28327         * tests/test-vc-list-files-cvs.sh: New file.
28328         * tests/test-vc-list-files-git.sh: New file.
28329
28330         avoid a warning from gcc
28331         * lib/getndelim2.c (IF_LINT): Define.
28332         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
28333
28334         vc-list-files: work properly with build-aux/cvsu, too
28335         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
28336         to all cvs-based clauses.
28337
28338         vc-list-files: work properly in the CVS+awk case, too
28339         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
28340
28341         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
28342         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
28343         take more than one file argument, so .  Add quotes, just in case $dir
28344         ever contains a shell meta-character.  Prompted by Soren Hansen in
28345         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
28346
28347 2008-04-29  Eric Blake  <ebb9@byu.net>
28348
28349         Optimize getndelim2 to use block operations when possible.
28350         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
28351         freadseek, and memchr2.
28352         * lib/getndelim2.c (getndelim2): Use them for block reads.
28353
28354 2008-04-29  Bruno Haible  <bruno@clisp.org>
28355
28356         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
28357         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
28358         * modules/inet_ntop (Depends-on): Add extensions.
28359         * modules/inet_pton (Depends-on): Likewise.
28360         Reported by Simon Josefsson.
28361
28362 2008-04-29  Jim Meyering  <meyering@redhat.com>
28363
28364         When the is more than one match in a block, match all of them.
28365         * build-aux/useless-if-before-free: Iterate through each block
28366         until there are no more matches.
28367
28368         Fix broken useless-if-before-free script.
28369         * build-aux/useless-if-before-free: Fix typo: missing "?" after
28370         the expression to match cast of argument to free-like function.
28371
28372 2008-04-29  Eric Blake  <ebb9@byu.net>
28373
28374         Use new header.
28375         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
28376
28377 2008-04-29  Jim Meyering  <meyering@redhat.com>
28378
28379         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
28380         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
28381         by gnulib to exist and to declare e.g., inet_ntop.
28382         Don't include "inet_ntop.h", now removed.
28383
28384         * m4/arpa_inet_h.m4: Remove trailing blanks.
28385
28386 2008-04-29  Eric Blake  <ebb9@byu.net>
28387
28388         Silence valgrind on safe reads beyond potential array bounds.
28389         * lib/rawmemchr.valgrind: New file.
28390         * lib/strchrnul.valgrind: Likewise.
28391         * modules/rawmemchr (Files): Distribute new file.
28392         * modules/strchrnul (Files): Likewise.
28393         Suggested by Bruno Haible.
28394
28395 2008-04-29  Bruno Haible  <bruno@clisp.org>
28396
28397         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
28398         (inet_ntop, inet_pton): Change portability warning's wording.
28399         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
28400         Invoke gl_CHECK_NEXT_HEADERS.
28401         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
28402         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
28403         set ARPA_INET_H.
28404         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
28405         * modules/arpa_inet (Description): No longer only for systems that
28406         lack it.
28407         (Depends-on): Add include_next.
28408         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
28409         HAVE_ARPA_INET_H.
28410
28411 2008-04-29  Jim Meyering  <meyering@redhat.com>
28412
28413         * modules/mkdir (License): Re-license as LGPLv2+.
28414
28415 2008-04-29  Bruno Haible  <bruno@clisp.org>
28416
28417         * modules/rawmemchr (Maintainer): Set to Eric.
28418         * modules/strchrnul (Maintainer): Likewise.
28419
28420 2008-04-29  Simon Josefsson  <simon@josefsson.org>
28421
28422         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
28423         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
28424
28425         * modules/arpa_inet (arpa/inet.h): Use them.
28426
28427 2008-04-28  Eric Blake  <ebb9@byu.net>
28428
28429         Test getndelim2.
28430         * modules/getndelim2-tests: New file.
28431         * tests/test-getndelim2.c: Likewise.
28432         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
28433         stream.
28434         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
28435
28436         * MODULES.html.sh: Document new module.
28437
28438 2008-04-20  Bruno Haible  <bruno@clisp.org>
28439
28440         * lib/c-stack.c (die): Use raise.
28441         * modules/c-stack (Depends-on): Add raise.
28442
28443 2008-04-28  Bruno Haible  <bruno@clisp.org>
28444
28445         Expect rpmatch to be declared.
28446         * lib/yesno.c (rpmatch): Remove declaration.
28447
28448         Declare rpmatch.
28449         * lib/stdlib.in.h (rpmatch): New declaration.
28450         * lib/rpmatch.c: Include <stdlib.h> first.
28451         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
28452         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
28453         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
28454         HAVE_RPMATCH.
28455         * modules/rpmatch (Depends-on): Add stdlib, extensions.
28456         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
28457         (Include): Set to <stdlib.h>.
28458         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
28459         HAVE_RPMATCH.
28460         * NEWS: Document the change.
28461
28462 2008-04-28  Bruno Haible  <bruno@clisp.org>
28463
28464         Change rpmatch to use nl_langinfo when appropriate.
28465         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
28466         (N_): New macro.
28467         (localized_pattern): New function/macro.
28468         (try): Remove match, nomatch arguments. Copy the pattern into safe
28469         memory before caching it.
28470         (rpmatch): Use localized_pattern. Add translator comments.
28471         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
28472         Suggested by Eric Blake.
28473         * modules/rpmatch (Depends-on): Add stdbool.
28474
28475 2008-04-28  Eric Blake  <ebb9@byu.net>
28476
28477         Add rawmemchr module, matching glibc.
28478         * modules/string (Makefile.am): New indicator.
28479         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
28480         * lib/string.in.h (rawmemchr): Declare when appropriate.
28481         * modules/rawmemchr: New file.
28482         * m4/rawmemchr.m4: Likewise.
28483         * lib/rawmemchr.c: Likewise.
28484         * modules/rawmemchr-tests: Likewise.
28485         * tests/test-rawmemchr.c: Likewise.
28486         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
28487         module.
28488         * modules/strchrnul (Depends-on): Add rawmemchr.
28489         * lib/strchrnul.c (strchrnul): Optimize a corner case.
28490
28491         Whitespace cleanup.
28492         * tests/test-strchrnul.c: Reindent.
28493         * lib/strchrnul.c: Likewise.
28494
28495         Optimize and test strchrnul.
28496         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
28497         * modules/strchrnul-tests: New file.
28498         * tests/test-strchrnul.c: Likewise.
28499
28500         Remove intprops dependency.
28501         * modules/memchr (Depends-on): Remove intprops.
28502         * modules/memrchr (Depends-on): Likewise.
28503         * modules/memchr2 (Depends-on): Likewise.
28504         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
28505         * lib/memrchr.c (__memrchr): Likewise.
28506         * lib/memrchr2.c (memchr2): Likewise.
28507         Reported by Simon Josefsson.
28508
28509 2008-04-28  Simon Josefsson  <simon@josefsson.org>
28510
28511         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
28512         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28513
28514 2008-04-28  Simon Josefsson  <simon@josefsson.org>
28515
28516         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
28517
28518         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
28519
28520         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
28521
28522         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
28523         declarations.
28524         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
28525
28526         * m4/inet_pton.m4: Don't check for header files.
28527
28528         * m4/inet_ntop.m4: Don't check for header files.
28529
28530 2008-04-28  Simon Josefsson  <simon@josefsson.org>
28531
28532         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
28533         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
28534         trigger for cygwin).
28535         Reported by Bruno Haible  <bruno@clisp.org>.
28536
28537 2008-04-28  Bruno Haible  <bruno@clisp.org>
28538
28539         * doc/posix-functions/strdup.texi: Mention mingw problem.
28540
28541 2008-04-27  Bruno Haible  <bruno@clisp.org>
28542
28543         * modules/stat-time-tests (Depends-on): Add sleep.
28544         * tests/test-stat-time.c (force_unlink): New function.
28545         (cleanup): Use it.
28546         (test_mtime): Remove the ctime related tests.
28547         (test_ctime): New function, containing the ctime related tests.
28548         (main): Call test_ctime, except on native Windows platforms.
28549
28550 2008-04-27  Bruno Haible  <bruno@clisp.org>
28551
28552         * lib/rpmatch.c (rpmatch): Add some comments.
28553         Reported by James Youngman <jay@gnu.org>.
28554
28555 2008-04-27  Bruno Haible  <bruno@clisp.org>
28556
28557         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
28558         quiet NaNs.
28559
28560 2008-04-27  Bruno Haible  <bruno@clisp.org>
28561
28562         Make test-yesno.sh work on mingw.
28563         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
28564         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
28565         (main): Set stdin to binary mode.
28566         * modules/yesno-tests (Depends-on): Add binary-io.
28567
28568 2008-04-27  Bruno Haible  <bruno@clisp.org>
28569
28570         Fix 'isfinite' on x86, x86_64, ia64 platforms.
28571         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
28572         argument that lie outside the IEEE 854 domain.
28573         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
28574         (gl_ISFINITE): Use it.
28575         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
28576
28577 2008-04-27  Bruno Haible  <bruno@clisp.org>
28578
28579         Allow local renaming in config.h.
28580         * lib/memrchr.c (memrchr): Don't undefine outside libc.
28581
28582 2008-04-27  Bruno Haible  <bruno@clisp.org>
28583
28584         * lib/memchr.c (__memchr): Change type of 'i'.
28585         * lib/memchr2.c (memchr2): Likewise.
28586
28587 2008-04-26  Eric Blake  <ebb9@byu.net>
28588         and Bruno Haible  <bruno@clisp.org>
28589
28590         Optimize and test memrchr.
28591         * modules/memrchr (Depends-on): Add intprops.
28592         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
28593         * modules/memrchr-tests: New file.
28594         * tests/test-memrchr.c: New file.
28595
28596 2008-04-26  Bruno Haible  <bruno@clisp.org>
28597
28598         Add tentative support for DragonFly BSD.
28599         * lib/stdio-impl.h: Add macros for DragonFly BSD.
28600         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
28601         fp.
28602         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
28603         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
28604         * lib/fpurge.c (fpurge): Likewise.
28605         * lib/freadable.c (freaadable): Likewise.
28606         * lib/freadahead.c (freadahead): Likewise.
28607         * lib/freading.c (freading): Likewise.
28608         * lib/freadptr.c (freadptr): Likewise.
28609         * lib/freadseek.c (freadptrinc): Likewise.
28610         * lib/fseeko.c (fseeko): Likewise.
28611         * lib/fseterr.c (fseterr): Likewise.
28612         * lib/fwritable.c (fwritable): Likewise.
28613         * lib/fwriting.c (fwriting): Likewise.
28614
28615 2008-04-26  Bruno Haible  <bruno@clisp.org>
28616
28617         * lib/stdio-impl.h: New file.
28618         * lib/fbufmode.c: Include stdio-impl.h.
28619         (fbufmode): Use fp_, remove redundant #defines.
28620         * lib/fflush.c: Include stdio-impl.h.
28621         (clear_ungetc_buffer): Remove redundant #defines.
28622         * lib/fpurge.c: Include stdio-impl.h.
28623         (fpurge): Remove redundant #defines.
28624         * lib/freadable.c: Include stdio-impl.h.
28625         (freadable): Remove redundant #defines.
28626         * lib/freadahead.c: Include stdio-impl.h.
28627         (freadahead): Remove redundant #defines.
28628         * lib/freading.c: Include stdio-impl.h.
28629         (freading): Remove redundant #defines.
28630         * lib/freadptr.c: Include stdio-impl.h.
28631         (freadptr): Remove redundant #defines.
28632         * lib/freadseek.c: Include stdio-impl.h.
28633         (freadptrinc): Remove redundant #defines.
28634         * lib/fseeko.c: Include stdio-impl.h.
28635         (rpl_fseeko): Remove redundant #defines.
28636         * lib/fseterr.c: Include stdio-impl.h.
28637         (fseterr): Remove redundant #defines.
28638         * lib/fwritable.c: Include stdio-impl.h.
28639         (fwritable: Remove redundant #defines.
28640         * lib/fwriting.c: Include stdio-impl.h.
28641         (fwriting): Remove redundant #defines.
28642         * modules/fbufmode (Files): Add lib/stdio-impl.h.
28643         * modules/fflush (Files): Likewise.
28644         * modules/fpurge (Files): Likewise.
28645         * modules/freadable (Files): Likewise.
28646         * modules/freadahead (Files): Likewise.
28647         * modules/freading (Files): Likewise.
28648         * modules/freadptr (Files): Likewise.
28649         * modules/freadseek (Files): Likewise.
28650         * modules/fseeko (Files): Likewise.
28651         * modules/fseterr (Files): Likewise.
28652         * modules/fwritable (Files): Likewise.
28653         * modules/fwriting (Files): Likewise.
28654
28655 2008-04-26  Bruno Haible  <bruno@clisp.org>
28656
28657         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
28658         restore_seek_optimization, update_fpos_cache): New functions, extracted
28659         from rpl_fflush.
28660         (rpl_fflush): Use them.
28661         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
28662         (gl_REPLACE_FFLUSH): Use it.
28663
28664 2008-04-26  Bruno Haible  <bruno@clisp.org>
28665
28666         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
28667         on Solaris.
28668         * tests/test-xstrtoimax.sh: Likewise.
28669         * tests/test-xstrtoumax.sh: Likewise.
28670         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28671
28672 2008-04-26  Bruno Haible  <bruno@clisp.org>
28673
28674         * modules/memchr-tests: New file.
28675         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
28676
28677 2008-04-26  Eric Blake  <ebb9@byu.net>
28678             Bruno Haible  <bruno@clisp.org>
28679
28680         * lib/memchr.c: Include intprops.h.
28681         (__memchr): Optimize parallel detection of matching bytes. Rename local
28682         variables. Add explanatory comments.
28683
28684 2008-04-26  Bruno Haible  <bruno@clisp.org>
28685
28686         Fix module 'memchr', broken since 2000-10-28.
28687         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
28688
28689 2008-04-26  Bruno Haible  <bruno@clisp.org>
28690
28691         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
28692         comments.
28693
28694 2008-04-25  Eric Blake  <ebb9@byu.net>
28695
28696         Use native fstatat on cygwin 1.7.0.
28697         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
28698         first.
28699
28700 2008-04-23  Eric Blake  <ebb9@byu.net>
28701
28702         Improve memchr2 performance.
28703         * lib/memchr2.c (memchr2): Further optimize parallel detection of
28704         NUL bytes.
28705         * modules/memchr2 (Depends-on): Use intprops.h.
28706
28707 2008-04-23  Simon Josefsson  <simon@josefsson.org>
28708
28709         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
28710         an inline function instead of a CPP macro.  Patch by Ben Pfaff
28711         <blp@cs.stanford.edu>.
28712
28713 2008-04-23  Simon Josefsson  <simon@josefsson.org>
28714
28715         * lib/arpa_inet.in.h: New file.
28716
28717         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
28718         (Makefile.am): Sed in substitute header file.
28719
28720         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
28721         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
28722
28723         * modules/inet_ntop (configure.ac): Use
28724         gl_ARPA_INET_MODULE_INDICATOR.
28725
28726         * modules/inet_pton (configure.ac): Use
28727         gl_ARPA_INET_MODULE_INDICATOR.
28728
28729 2008-04-22  Jim Meyering  <meyering@redhat.com>
28730
28731         * modules/verify (License): Re-license as LGPLv2+.
28732
28733 2008-04-22  Simon Josefsson  <simon@josefsson.org>
28734
28735         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
28736         parameter to void* as per POSIX standard (MinGW uses char*).
28737
28738 2008-04-21  Bruno Haible  <bruno@clisp.org>
28739
28740         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
28741         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
28742         Define to replacements if REPLACE_ISWCNTRL is 1.
28743         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
28744         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
28745         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
28746         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
28747         what it fixes.
28748         * doc/posix-functions/iswalpha.texi: Likewise.
28749         * doc/posix-functions/iswblank.texi: Likewise.
28750         * doc/posix-functions/iswcntrl.texi: Likewise.
28751         * doc/posix-functions/iswdigit.texi: Likewise.
28752         * doc/posix-functions/iswgraph.texi: Likewise.
28753         * doc/posix-functions/iswlower.texi: Likewise.
28754         * doc/posix-functions/iswprint.texi: Likewise.
28755         * doc/posix-functions/iswpunct.texi: Likewise.
28756         * doc/posix-functions/iswspace.texi: Likewise.
28757         * doc/posix-functions/iswupper.texi: Likewise.
28758         * doc/posix-functions/iswxdigit.texi: Likewise.
28759         Reported by Alain Guibert.
28760
28761 2008-04-21  Bruno Haible  <bruno@clisp.org>
28762
28763         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
28764         Patch by Alain Guibert.
28765
28766 2008-04-21  Bruno Haible  <bruno@clisp.org>
28767
28768         Fix test failures on mingw.
28769         * tests/test-xstrtol.c (print_no_progname): New function.
28770         (main): Install it in error_print_progname hook.
28771         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
28772         * tests/test-xstrtoimax.sh: Likewise.
28773         * tests/test-xstrtoumax.sh: Likewise.
28774
28775 2008-04-21  Bruno Haible  <bruno@clisp.org>
28776
28777         Fix test failure on mingw.
28778         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
28779
28780 2008-04-21  Bruno Haible  <bruno@clisp.org>
28781
28782         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
28783         Actually assign a value.
28784
28785 2008-04-20  Bruno Haible  <bruno@clisp.org>
28786
28787         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
28788         take 2.
28789         * lib/canonicalize.c (canonicalize_file_name): Elide if the
28790         'canonicalize-lgpl' module is also used.
28791         * lib/canonicalize-lgpl.c: Undo last change.
28792         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
28793
28794 2008-04-20  Bruno Haible  <bruno@clisp.org>
28795
28796         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
28797         config.h. Provide _mkdir based fallback for mingw.
28798         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
28799         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
28800         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
28801         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
28802         rather than defining mkdir in config.h.
28803         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
28804         (gl_SYS_STAT_H_DEFAULTS): New macro.
28805         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
28806         HAVE_IO_H any more.
28807         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
28808         HAVE_DECL_MKDIR and HAVE_IO_H.
28809
28810 2008-04-20  Bruno Haible  <bruno@clisp.org>
28811
28812         * lib/isapipe.c: Port to native Windows platforms.
28813
28814 2008-04-20  Bruno Haible  <bruno@clisp.org>
28815
28816         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
28817
28818 2008-04-21  Eric Blake  <ebb9@byu.net>
28819
28820         Work around preprocessors that don't handle UINTMAX_MAX.
28821         * lib/memchr2.c (memchr2): Avoid embedded #if.
28822         Reported by Alain Guibert, fix suggested by Bruno Haible.
28823
28824 2008-04-21  Simon Josefsson  <simon@josefsson.org>
28825
28826         * doc/posix-functions/strftime.texi (strftime): Explain better
28827         Windows incompatibility.  Suggested by Micah Cowan
28828         <micah@cowan.name>.
28829
28830 2008-04-20  Bruno Haible  <bruno@clisp.org>
28831
28832         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
28833         unistr/u8-mblen.
28834
28835 2008-04-20  Bruno Haible  <bruno@clisp.org>
28836
28837         Fix test failure on platforms with non-GNU iconv.
28838         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
28839         (U_TO_U8): Use it, rather than u16_to_u8.
28840         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
28841         units at the end of the input string.
28842         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
28843
28844 2008-04-20  Bruno Haible  <bruno@clisp.org>
28845
28846         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
28847         when the resulting length is 0.
28848         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
28849
28850 2008-04-20  Bruno Haible  <bruno@clisp.org>
28851
28852         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
28853         works.
28854         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
28855
28856 2008-04-20  Bruno Haible  <bruno@clisp.org>
28857
28858         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
28859         * modules/tsearch-tests (configure.ac): Test for initstate function.
28860
28861 2008-04-20  Bruno Haible  <bruno@clisp.org>
28862
28863         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
28864         for nlink_t if missing.
28865         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
28866
28867 2008-04-19  Bruno Haible  <bruno@clisp.org>
28868
28869         Work around snprintf bug on Linux libc5.
28870         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
28871         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
28872         gl_SNPRINTF_SIZE1.
28873         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
28874         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
28875         that test failed.
28876         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
28877         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
28878         * modules/snprintf (Files): Add m4/printf.m4.
28879         * modules/vsnprintf (Files): Likewise.
28880         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
28881         * doc/posix-functions/vsnprintf.texi: Likewise.
28882
28883 2008-04-19  Bruno Haible  <bruno@clisp.org>
28884
28885         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
28886         from 0.0058 to less than 10^-7.
28887
28888 2008-04-19  Bruno Haible  <bruno@clisp.org>
28889
28890         Fix rounding when a precision is given.
28891         * lib/vasnprintf.c (is_borderline): New function.
28892         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
28893         9...9x.
28894         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
28895         %e, %g.
28896         * tests/test-vasprintf-posix.c (test_function): Likewise.
28897         * tests/test-snprintf-posix.h (test_function): Likewise.
28898         * tests/test-sprintf-posix.h (test_function): Likewise.
28899         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
28900         * tests/test-printf-posix.h (test_function): Likewise.
28901         * tests/test-printf-posix.output: Update.
28902         Reported by John Darrington <john@darrington.wattle.id.au> via
28903         Ben Pfaff <blp@cs.stanford.edu>.
28904
28905 2008-04-18  Simon Josefsson  <simon@josefsson.org>
28906
28907         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
28908         Suggested by Bruno Haible <bruno@clisp.org>.
28909
28910 2008-04-17  Bruno Haible  <bruno@clisp.org>
28911
28912         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
28913         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
28914         implementation.
28915         Patch by Bruce Merry <bmerry@gmail.com>.
28916
28917 2008-04-17  Simon Josefsson  <simon@josefsson.org>
28918
28919         * doc/posix-functions/strftime.texi (strftime): Mention that %e
28920         doesn't work under Windows.
28921
28922 2008-04-16  Bruno Haible  <bruno@clisp.org>
28923
28924         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
28925         New macros.
28926         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
28927         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
28928         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
28929         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
28930         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
28931         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
28932         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
28933         macros.
28934         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
28935         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
28936         Northern Sotho, Uighur.
28937
28938 2008-04-16  Bruno Haible  <bruno@clisp.org>
28939
28940         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
28941         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
28942         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
28943         Reported by Daniel Bergström <daniel@octocode.com>.
28944
28945 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
28946             Bruno Haible  <bruno@clisp.org>
28947
28948         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
28949         function.
28950         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
28951         New functions, mostly extracted from gl_locale_name_default.
28952         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
28953
28954 2008-04-16  Eric Blake  <ebb9@byu.net>
28955
28956         Adjust strtod detection to catch glibc 2.7 bug.
28957         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
28958         Reported by John Gatewood Ham.
28959
28960 2008-04-16  Bruno Haible  <bruno@clisp.org>
28961
28962         Add tentative support for Linux libc5.
28963         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
28964         * lib/fpurge.c (fpurge): Likewise.
28965         * lib/freadable.c (freadable): Likewise.
28966         * lib/freadahead.c (freadahead): Likewise.
28967         * lib/freading.c (freading): Likewise.
28968         * lib/freadptr.c (freadptr): Likewise.
28969         * lib/freadseek.c (freadptrinc): Likewise.
28970         * lib/fseeko.c (rpl_fseeko): Likewise.
28971         * lib/fseterr.c (fseterr): Likewise.
28972         * lib/fwritable.c (fwritable): Likewise.
28973         * lib/fwriting.c (fwriting): Likewise.
28974         Reported by Alain Guibert <alguibert+bts@free.fr>.
28975
28976 2008-04-15  Bruno Haible  <bruno@clisp.org>
28977
28978         * modules/mathl (configure.ac): Define module indicator.
28979
28980 2008-04-15  Bruno Haible  <bruno@clisp.org>
28981
28982         * lib/logl.c (logl): Remove unused variables.
28983
28984 2008-04-15  Bruno Haible  <bruno@clisp.org>
28985
28986         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
28987         fails.
28988
28989 2008-04-15  Bruno Haible  <bruno@clisp.org>
28990
28991         * lib/trim.c (trim2): Fix argument of isspace() macro.
28992
28993 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
28994
28995         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
28996         to 0.
28997         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
28998
28999 2008-04-14  Bruno Haible  <bruno@clisp.org>
29000
29001         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
29002         AC_LANG_PROGRAM argument.
29003         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
29004         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
29005         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
29006         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
29007         * m4/math_h.m4 (gl_MATH_H): Likewise.
29008         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
29009         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
29010         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
29011         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
29012         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
29013         * m4/regex.m4 (gl_REGEX): Likewise.
29014         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
29015         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
29016         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
29017         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
29018         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
29019         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
29020         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
29021         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
29022
29023 2008-04-14  Jim Meyering  <meyering@redhat.com>
29024
29025         test-strtod: fix typos: s/abs/fabs/
29026         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
29027
29028 2008-04-13  Bruno Haible  <bruno@clisp.org>
29029
29030         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
29031         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
29032         module is also used and while not building the reloc-wrapper.
29033
29034 2008-04-13  Bruno Haible  <bruno@clisp.org>
29035
29036         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
29037
29038 2008-04-13  Bruno Haible  <bruno@clisp.org>
29039
29040         Fix AIX compilation failure introduced on 2008-04-02.
29041         * tests/test-frexp.c (exp): Undefine before redefining.
29042         * tests/test-frexpl.c (exp): Likewise.
29043
29044 2008-04-13  Bruno Haible  <bruno@clisp.org>
29045
29046         Work around a HP-UX stdio bug.
29047         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
29048         * tests/test-ftello.c (main): Likewise.
29049         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
29050         * doc/posix-functions/ftello.texi: Likewise.
29051
29052 2008-04-13  Bruno Haible  <bruno@clisp.org>
29053
29054         Make test-signbit pass on HP-UX/hppa.
29055         * tests/test-signbit.c (minus_zerol): New variable.
29056         (test_signbitl): Use it.
29057
29058 2008-04-13  Bruno Haible  <bruno@clisp.org>
29059
29060         Make truncl work on OSF/1 4.0.
29061         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
29062         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
29063         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
29064         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
29065         HAVE_DECL_TRUNCL.
29066         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
29067         HAVE_DECL_TRUNCL.
29068         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
29069
29070 2008-04-13  Bruno Haible  <bruno@clisp.org>
29071
29072         * lib/unictype.h: Remove trailing comma from enumeration definitions.
29073
29074 2008-04-13  Bruno Haible  <bruno@clisp.org>
29075
29076         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
29077         expression, so as to avoid HP-UX 11 cc compiler bug.
29078
29079 2008-04-13  Bruno Haible  <bruno@clisp.org>
29080
29081         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
29082
29083 2008-04-13  Bruno Haible  <bruno@clisp.org>
29084
29085         * lib/git-merge-changelog.c: Remove empty declaration outside of
29086         functions.
29087
29088 2008-04-13  Bruno Haible  <bruno@clisp.org>
29089
29090         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
29091
29092 2008-04-13  Bruno Haible  <bruno@clisp.org>
29093
29094         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
29095         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
29096         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
29097         also if it exists but lacks definitions of the SHUT_* macros.
29098         * modules/sys_socket (Description): Update.
29099         Reported by Elbert Pol <e.pol@chello.nl>.
29100
29101 2008-04-13  Bruno Haible  <bruno@clisp.org>
29102
29103         * lib/localcharset.c (OS2): Don't redefine if already defined.
29104         Reported by Elbert Pol <e.pol@chello.nl>.
29105
29106 2008-04-13  Bruno Haible  <bruno@clisp.org>
29107
29108         * lib/binary-io.h [__EMX__]: Include <io.h>.
29109         Reported by Elbert Pol <e.pol@chello.nl>.
29110
29111 2008-04-12  Bruno Haible  <bruno@clisp.org>
29112
29113         * lib/fpucw.h: Enable the definitions also for x86_64.
29114         Needed for NetBSD/x86_64.
29115         Reported by Thomas Klausner <tk@giga.or.at>.
29116
29117 2008-04-12  Bruno Haible  <bruno@clisp.org>
29118
29119         * tests/test-strtod.c: Include isnand.h.
29120         (main): Use isnand instead of isnan.
29121         Reported by Jim Meyering.
29122
29123 2008-04-12  Bruno Haible  <bruno@clisp.org>
29124
29125         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
29126         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
29127
29128 2008-04-12  Jim Meyering  <meyering@redhat.com>
29129
29130         * m4/math_h.m4 (gl_MATH_H): Fix typos.
29131
29132 2008-04-12  Bruno Haible  <bruno@clisp.org>
29133
29134         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
29135         Reported by Elbert Pol <e.pol@chello.nl>.
29136
29137 2008-04-12  Eric Blake  <ebb9@byu.net>
29138
29139         Work around Solaris 10 math.h bug.
29140         * m4/math_h.m4 (gl_MATH_H): Check for bug.
29141         (gl_MATH_H_DEFAULTS): Set up default.
29142         * modules/math (Makefile.am): Replace new indicators.
29143         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
29144         * tests/test-math.c (main): Test this.
29145         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
29146         * doc/posix-headers/math.texi (math.h): Mention bug.
29147         Reported by Nelson H. F. Beebe and Jim Meyering.
29148
29149 2008-04-11  Bruno Haible  <bruno@clisp.org>
29150
29151         Adapt to future versions of Apple GCC.
29152         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
29153         Reported by Peter O'Gorman <peter@pogma.com>.
29154
29155 2008-04-11  Bruno Haible  <bruno@clisp.org>
29156
29157         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
29158
29159 2008-04-11  Bruno Haible  <bruno@clisp.org>
29160
29161         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
29162
29163         * modules/getaddrinfo-tests (Makefile.am): Define
29164         test_getaddrinfo_LDADD.
29165
29166 2008-04-11  Bruno Haible  <bruno@clisp.org>
29167
29168         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
29169         (init): Fix syntax error.
29170         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
29171         is declared.
29172
29173 2008-04-11  Bruno Haible  <bruno@clisp.org>
29174
29175         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
29176         * modules/glob (Depends-on): Add stdbool.
29177
29178 2008-04-11  Bruno Haible  <bruno@clisp.org>
29179
29180         * lib/trim.c: Include <string.h>.
29181
29182 2008-04-11  Eric Blake  <ebb9@byu.net>
29183
29184         Avoid compile failure on OS/2.
29185         * lib/regex_internal.h (internal_function): Disable optimization
29186         on OS/2 (__EMX__), where it caused compiler error.
29187         Reported by Elbert Pol.
29188
29189 2008-04-11  Bruno Haible  <bruno@clisp.org>
29190
29191         Flush the standard error stream before aborting. Needed on mingw.
29192         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
29193         * tests/test-array_list.c (ASSERT): Likewise.
29194         * tests/test-array_oset.c (ASSERT): Likewise.
29195         * tests/test-avltree_list.c (ASSERT): Likewise.
29196         * tests/test-avltree_oset.c (ASSERT): Likewise.
29197         * tests/test-avltreehash_list.c (ASSERT): Likewise.
29198         * tests/test-binary-io.c (ASSERT): Likewise.
29199         * tests/test-byteswap.c (ASSERT): Likewise.
29200         * tests/test-c-ctype.c (ASSERT): Likewise.
29201         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
29202         * tests/test-c-strcasestr.c (ASSERT): Likewise.
29203         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
29204         * tests/test-c-strstr.c (ASSERT): Likewise.
29205         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
29206         * tests/test-canonicalize.c (ASSERT): Likewise.
29207         * tests/test-carray_list.c (ASSERT): Likewise.
29208         * tests/test-ceilf1.c (ASSERT): Likewise.
29209         * tests/test-ceilf2.c (ASSERT): Likewise.
29210         * tests/test-ceill.c (ASSERT): Likewise.
29211         * tests/test-count-one-bits.c (ASSERT): Likewise.
29212         * tests/test-fbufmode.c (ASSERT): Likewise.
29213         * tests/test-fflush2.c (ASSERT): Likewise.
29214         * tests/test-floorf1.c (ASSERT): Likewise.
29215         * tests/test-floorf2.c (ASSERT): Likewise.
29216         * tests/test-floorl.c (ASSERT): Likewise.
29217         * tests/test-fopen.c (ASSERT): Likewise.
29218         * tests/test-fpending.c (ASSERT): Likewise.
29219         * tests/test-fprintf-posix.c (ASSERT): Likewise.
29220         * tests/test-fpurge.c (ASSERT): Likewise.
29221         * tests/test-freadable.c (ASSERT): Likewise.
29222         * tests/test-freadahead.c (ASSERT): Likewise.
29223         * tests/test-freading.c (ASSERT): Likewise.
29224         * tests/test-freadptr.c (ASSERT): Likewise.
29225         * tests/test-freadptr2.c (ASSERT): Likewise.
29226         * tests/test-freadseek.c (ASSERT): Likewise.
29227         * tests/test-freopen.c (ASSERT): Likewise.
29228         * tests/test-frexp.c (ASSERT): Likewise.
29229         * tests/test-frexpl.c (ASSERT): Likewise.
29230         * tests/test-fseek.c (ASSERT): Likewise.
29231         * tests/test-fseeko.c (ASSERT): Likewise.
29232         * tests/test-fstrcmp.c (ASSERT): Likewise.
29233         * tests/test-ftell.c (ASSERT): Likewise.
29234         * tests/test-ftello.c (ASSERT): Likewise.
29235         * tests/test-func.c (ASSERT): Likewise.
29236         * tests/test-fwritable.c (ASSERT): Likewise.
29237         * tests/test-fwriting.c (ASSERT): Likewise.
29238         * tests/test-getdelim.c (ASSERT): Likewise.
29239         * tests/test-getline.c (ASSERT): Likewise.
29240         * tests/test-i-ring.c (ASSERT): Likewise.
29241         * tests/test-iconv-utf.c (ASSERT): Likewise.
29242         * tests/test-iconv.c (ASSERT): Likewise.
29243         * tests/test-isfinite.c (ASSERT): Likewise.
29244         * tests/test-isnand.c (ASSERT): Likewise.
29245         * tests/test-isnanf.c (ASSERT): Likewise.
29246         * tests/test-isnanl.h (ASSERT): Likewise.
29247         * tests/test-ldexpl.c (ASSERT): Likewise.
29248         * tests/test-linked_list.c (ASSERT): Likewise.
29249         * tests/test-linkedhash_list.c (ASSERT): Likewise.
29250         * tests/test-localename.c (ASSERT): Likewise.
29251         * tests/test-lseek.c (ASSERT): Likewise.
29252         * tests/test-mbscasecmp.c (ASSERT): Likewise.
29253         * tests/test-mbscasestr1.c (ASSERT): Likewise.
29254         * tests/test-mbscasestr2.c (ASSERT): Likewise.
29255         * tests/test-mbscasestr3.c (ASSERT): Likewise.
29256         * tests/test-mbscasestr4.c (ASSERT): Likewise.
29257         * tests/test-mbschr.c (ASSERT): Likewise.
29258         * tests/test-mbscspn.c (ASSERT): Likewise.
29259         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
29260         * tests/test-mbspbrk.c (ASSERT): Likewise.
29261         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
29262         * tests/test-mbsrchr.c (ASSERT): Likewise.
29263         * tests/test-mbsspn.c (ASSERT): Likewise.
29264         * tests/test-mbsstr1.c (ASSERT): Likewise.
29265         * tests/test-mbsstr2.c (ASSERT): Likewise.
29266         * tests/test-mbsstr3.c (ASSERT): Likewise.
29267         * tests/test-memchr2.c (ASSERT): Likewise.
29268         * tests/test-memmem.c (ASSERT): Likewise.
29269         * tests/test-open.c (ASSERT): Likewise.
29270         * tests/test-printf-frexp.c (ASSERT): Likewise.
29271         * tests/test-printf-frexpl.c (ASSERT): Likewise.
29272         * tests/test-printf-posix.c (ASSERT): Likewise.
29273         * tests/test-quotearg.c (ASSERT): Likewise.
29274         * tests/test-rbtree_list.c (ASSERT): Likewise.
29275         * tests/test-rbtree_oset.c (ASSERT): Likewise.
29276         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
29277         * tests/test-round1.c (ASSERT): Likewise.
29278         * tests/test-roundf1.c (ASSERT): Likewise.
29279         * tests/test-roundl.c (ASSERT): Likewise.
29280         * tests/test-signbit.c (ASSERT): Likewise.
29281         * tests/test-sleep.c (ASSERT): Likewise.
29282         * tests/test-snprintf-posix.c (ASSERT): Likewise.
29283         * tests/test-snprintf.c (ASSERT): Likewise.
29284         * tests/test-sprintf-posix.c (ASSERT): Likewise.
29285         * tests/test-stat-time.c (ASSERT): Likewise.
29286         * tests/test-strcasestr.c (ASSERT): Likewise.
29287         * tests/test-strerror.c (ASSERT): Likewise.
29288         * tests/test-striconv.c (ASSERT): Likewise.
29289         * tests/test-striconveh.c (ASSERT): Likewise.
29290         * tests/test-striconveha.c (ASSERT): Likewise.
29291         * tests/test-strsignal.c (ASSERT): Likewise.
29292         * tests/test-strstr.c (ASSERT): Likewise.
29293         * tests/test-strtod.c (ASSERT): Likewise.
29294         * tests/test-trunc1.c (ASSERT): Likewise.
29295         * tests/test-trunc2.c (ASSERT): Likewise.
29296         * tests/test-truncf1.c (ASSERT): Likewise.
29297         * tests/test-truncf2.c (ASSERT): Likewise.
29298         * tests/test-truncl.c (ASSERT): Likewise.
29299         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
29300         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
29301         * tests/test-vasnprintf.c (ASSERT): Likewise.
29302         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
29303         * tests/test-vasprintf.c (ASSERT): Likewise.
29304         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
29305         * tests/test-vprintf-posix.c (ASSERT): Likewise.
29306         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
29307         * tests/test-vsnprintf.c (ASSERT): Likewise.
29308         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
29309         * tests/test-wcwidth.c (ASSERT): Likewise.
29310         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
29311         * tests/test-xprintf-posix.c (ASSERT): Likewise.
29312         * tests/test-xvasprintf.c (ASSERT): Likewise.
29313         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
29314         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
29315         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
29316         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
29317         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
29318         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
29319         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
29320         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
29321         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
29322         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
29323         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
29324         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
29325         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
29326         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
29327         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
29328         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
29329         * tests/unictype/test-block_list.c (ASSERT): Likewise.
29330         * tests/unictype/test-block_of.c (ASSERT): Likewise.
29331         * tests/unictype/test-block_test.c (ASSERT): Likewise.
29332         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
29333         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
29334         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
29335         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
29336         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
29337         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
29338         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
29339         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
29340         * tests/unictype/test-combining.c (ASSERT): Likewise.
29341         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
29342         * tests/unictype/test-digit.c (ASSERT): Likewise.
29343         * tests/unictype/test-mirror.c (ASSERT): Likewise.
29344         * tests/unictype/test-numeric.c (ASSERT): Likewise.
29345         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
29346         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
29347         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
29348         * tests/unictype/test-scripts.c (ASSERT): Likewise.
29349         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
29350         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
29351         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
29352         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
29353         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
29354         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
29355         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
29356         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
29357         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
29358         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
29359         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
29360         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
29361         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
29362         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
29363         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
29364         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
29365         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
29366         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
29367         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
29368         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
29369         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
29370         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
29371         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
29372         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
29373         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
29374         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
29375         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
29376         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
29377         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
29378         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
29379         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
29380         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
29381         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
29382         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
29383         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
29384         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
29385         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
29386         Reported by Eric Blake.
29387
29388 2008-04-11  Bruno Haible  <bruno@clisp.org>
29389
29390         * lib/wchar.in.h: Tweak comment.
29391
29392 2008-04-11  Bruno Haible  <bruno@clisp.org>
29393
29394         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
29395         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
29396         gl_COMMON.
29397         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
29398
29399 2008-04-11  Bruno Haible  <bruno@clisp.org>
29400
29401         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
29402
29403 2008-04-11  Simon Josefsson  <simon@josefsson.org>
29404
29405         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
29406         of attempting to use non-existing /dev/*random.  Based on patch
29407         from Adam Strzelecki <ono@java.pl> in
29408         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
29409
29410 2008-04-08  Bruno Haible  <bruno@clisp.org>
29411
29412         Add tentative support for emx+gcc.
29413         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
29414         * lib/fpurge.c (fpurge): Likewise.
29415         * lib/freadable.c (freadable): Likewise.
29416         * lib/freadahead.c (freadahead): Likewise.
29417         * lib/freading.c (freading): Likewise.
29418         * lib/freadptr.c (freadptr): Likewise.
29419         * lib/freadseek.c (freadptrinc): Likewise.
29420         * lib/fseeko.c (rpl_fseeko): Likewise.
29421         * lib/fseterr.c (fseterr): Likewise.
29422         * lib/fwritable.c (fwritable): Likewise.
29423         * lib/fwriting.c (fwriting): Likewise.
29424         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
29425
29426 2008-04-09  Eric Blake  <ebb9@byu.net>
29427
29428         Avoid some autoconf warnings.
29429         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
29430         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
29431         * m4/afs.m4 (gl_AFS): Likewise.
29432         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
29433         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
29434         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
29435         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
29436         (gl_INTEGER_TYPE_SUFFIX): Likewise.
29437         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
29438         (AC_CHECK_DECLS_ONCE): Likewise.
29439         Rename file...
29440         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
29441         gnulib-tool requires autoconf 2.59 or better.
29442         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
29443
29444 2008-04-08  Eric Blake  <ebb9@byu.net>
29445
29446         Use 'git describe --match' if present (added in git 1.5.5).
29447         * build-aux/git-version-gen: Limit result to tags that match 'v*'
29448         if possible.
29449
29450 2008-04-08  Bruno Haible  <bruno@clisp.org>
29451
29452         Add tentative support for OpenServer.
29453         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
29454         _ptr, _cnt.
29455         * lib/fpurge.c (fpurge): Likewise.
29456         * lib/freadable.c (freadable): Likewise.
29457         * lib/freadahead.c (freadahead): Likewise.
29458         * lib/freading.c (freading): Likewise.
29459         * lib/freadptr.c (freadptr): Likewise.
29460         * lib/freadseek.c (freadptrinc): Likewise.
29461         * lib/fseeko.c (rpl_fseeko): Likewise.
29462         * lib/fseterr.c (fseterr): Likewise.
29463         * lib/fwritable.c (fwritable): Likewise.
29464         * lib/fwriting.c (fwriting): Likewise.
29465         Reported by Roger Cornelius <rac@tenzing.org> and
29466         Brian K. White <brian@aljex.com>.
29467
29468 2008-04-06  Jim Meyering  <meyering@redhat.com>
29469
29470         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
29471
29472 2008-04-06  Bruno Haible  <bruno@clisp.org>
29473
29474         Avoid possible error with non-ASCII bytes in UTF-8 locales.
29475         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
29476         * tests/test-printf-posix.sh: Likewise.
29477         * tests/test-vfprintf-posix.sh: Likewise.
29478         * tests/test-vprintf-posix.sh: Likewise.
29479         * tests/test-xprintf-posix.sh: Likewise.
29480
29481 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29482
29483         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
29484         hide error from 'ls', needed on OS/2.
29485         Report by Elbert Pol <elbert.pol@gmail.com>.
29486
29487 2008-04-04  Eric Blake  <ebb9@byu.net>
29488
29489         Make test-fseeko.c failures meaningful.
29490         * tests/test-fseeko.c: Print line number on failure.
29491         * tests/test-fseek.c: Likewise.
29492         Reported by Nelson H. F. Beebe.
29493
29494         Improve strtod bug detection check.
29495         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
29496         required for Solaris 10.
29497         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
29498
29499 2008-04-04  Bruno Haible  <bruno@clisp.org>
29500
29501         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
29502         by m4/setenv.m4.
29503
29504 2008-04-03  Eric Blake  <ebb9@byu.net>
29505
29506         Ensure sane .version contents.
29507         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
29508         version string.
29509         * build-aux/git-version-gen: Improve documentation.
29510
29511         Make GNU make output nicer.
29512         * top/GNUmakefile [!_have-Makefile]: Add dependency on
29513         MAKECMDGOALS to enforce message for all command line targets.  Set
29514         srcdir for use in maint.mk.
29515
29516         Another maintainer tweak.
29517         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
29518         a target that regenerates version.
29519
29520 2008-04-03  Jim Meyering  <meyering@redhat.com>
29521
29522         vc-list-files: don't cause coreutils "make po-check" failure
29523         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
29524
29525 2008-04-03  Eric Blake  <ebb9@byu.net>
29526
29527         Allow VPATH usage of vc-list-files.
29528         * build-aux/vc-list-files (scriptversion): Add timestamp.
29529         (options): Add --help, --version, -C.
29530         (CVS): Support installed cvsu.
29531
29532 2008-04-02  Bruno Haible  <bruno@clisp.org>
29533
29534         Avoid some "statement with no effect" warnings from gcc.
29535         * tests/test-wctype.c (main): Explicitly ignore unused values.
29536         Reported by Jim Meyering.
29537
29538 2008-04-02  Jim Meyering  <meyering@redhat.com>
29539
29540         Avoid some warnings from "gcc -Wshadow".
29541         * tests/test-frexp.c (exp): Define to a different identifier.
29542         * tests/test-frexpl.c (exp): Likewise.
29543
29544 2008-04-03  Jim Meyering  <meyering@redhat.com>
29545
29546         bootstrap: remove dangling *.[ch] symlinks from lib
29547         * build-aux/bootstrap [dangling symlink removal]: Move find's
29548         -depth option to precede all others, to avoid a warning.
29549         Remove *.[ch] files too, and from "$source_base" (usually lib/).
29550
29551 2008-04-02  Bruno Haible  <bruno@clisp.org>
29552
29553         Avoid some warnings from "gcc -Wshadow".
29554         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
29555         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
29556         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
29557         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
29558         Reported by Jim Meyering.
29559
29560 2008-04-01  Bruno Haible  <bruno@clisp.org>
29561
29562         Fix test to work on IRIX 6.5 with cc.
29563         * tests/test-math.c (numeric_equal): New function.
29564         (main): Use it.
29565
29566 2008-04-01  Bruno Haible  <bruno@clisp.org>
29567
29568         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
29569
29570 2008-04-01  Bruno Haible  <bruno@clisp.org>
29571
29572         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
29573         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
29574         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
29575         (Depends-on): Remove math.
29576
29577         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
29578         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
29579         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
29580         (Depends-on): Remove math.
29581
29582         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
29583         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
29584         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
29585         (Depends-on): Remove math.
29586         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
29587         (Depends-on): Remove math.
29588
29589         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
29590         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
29591         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
29592         (Depends-on): Remove math.
29593         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
29594         (Depends-on): Remove math.
29595
29596         * tests/test-round1.c: Include nan.h.
29597         (main): Use NaNd instead of NAN.
29598         * modules/round-tests (Files): Add tests/nan.h.
29599
29600         * tests/test-trunc1.c: Include nan.h.
29601         (main): Use NaNd instead of NAN.
29602         * modules/trunc-tests (Files): Add tests/nan.h.
29603
29604         * tests/test-roundf1.c: Include nan.h.
29605         (main): Use NaNf instead of NAN.
29606         * modules/roundf-tests (Files): Add tests/nan.h.
29607
29608         * tests/test-truncf1.c: Include nan.h.
29609         (main): Use NaNf instead of NAN.
29610         * modules/truncf-tests (Files): Add tests/nan.h.
29611
29612         * tests/test-ceilf1.c: Include nan.h.
29613         (main): Use NaNf instead of NAN.
29614         * modules/ceilf-tests (Files): Add tests/nan.h.
29615
29616         * tests/test-floorf1.c: Include nan.h.
29617         (main): Use NaNf instead of NAN.
29618         * modules/floorf-tests (Files): Add tests/nan.h.
29619
29620         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
29621         (main): Use NaNf instead of NAN.
29622         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
29623
29624         * tests/test-isnand.c: Include nan.h instead of <math.h>.
29625         (main): Use NaNd instead of NAN.
29626         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
29627
29628         * tests/test-frexp.c: Include nan.h.
29629         (main): Use NaNd instead of NAN.
29630         * modules/frexp-tests (Files): Add tests/nan.h.
29631
29632         * lib/isnan.c: Don't include <math.h>.
29633         (FUNC): Don't use NAN macro.
29634         * modules/isnand-nolibm (Depends-on): Remove math.
29635         * modules/isnanf-nolibm (Depends-on): Remove math.
29636         * modules/isnanl (Depends-on): Remove math.
29637         * modules/isnanl-nolibm (Depends-on): Remove math.
29638
29639         * tests/nan.h: New file.
29640
29641 2008-04-01  Eric Blake  <ebb9@byu.net>
29642
29643         Fix typos.
29644         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
29645         values to be the right type.
29646
29647         For now, cater to gnulib strtod inaccuracies.
29648         * tests/test-strtod.c (main): Allow 1-ulp error on expected
29649         fractional results.  While not as nice from a QoI perspective, it
29650         is a quicker patch than correctly implementing decimal to binary
29651         rounding.
29652
29653 2008-03-31  Eric Blake  <ebb9@byu.net>
29654
29655         Guarantee a definition of NAN.
29656         * lib/math.in.h (NAN): Define if missing.
29657         * tests/test-math.c (main): Test it.
29658         * doc/posix-headers/math.texi (math.h): Document this.
29659         * lib/isnan.c (rpl_isnand): Use it.
29660         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
29661         * tests/test-floorf1.c (NaN): Likewise.
29662         * tests/test-frexp.c (NaN): Likewise.
29663         * tests/test-isnand.c (NaN): Likewise.
29664         * tests/test-isnanf.c (NaN): Likewise.
29665         * tests/test-round1.c (NaN): Likewise.
29666         * tests/test-roundf1.c (NaN): Likewise.
29667         * tests/test-snprintf-posix.h (NaN): Likewise.
29668         * tests/test-sprintf-posix.h (NaN): Likewise.
29669         * tests/test-trunc1.c (NaN): Likewise.
29670         * tests/test-truncf1.c (NaN): Likewise.
29671         * tests/test-vasnprintf-posix.c (NaN): Likewise.
29672         * tests/test-vasprintf-posix.c (NaN): Likewise.
29673         * modules/isnand-nolibm (Depends-on): Add math.
29674         * modules/isnanf-nolibm (Depends-on): Likewise.
29675         * modules/isnanl (Depends-on): Likewise.
29676         * modules/isnanl-nolibm (Depends-on): Likewise.
29677         * modules/snprintf-posix-tests (Depends-on): Likewise.
29678         * modules/sprintf-posix-tests (Depends-on): Likewise.
29679         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
29680         * modules/vsprintf-posix-tests (Depends-on): Likewise.
29681         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
29682         * modules/vasprintf-posix-tests (Depends-on): Likewise.
29683
29684 2008-03-31  Bruno Haible  <bruno@clisp.org>
29685
29686         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
29687         * doc/posix-functions/strtod.texi: Likewise.
29688
29689 2008-03-31  Bruno Haible  <bruno@clisp.org>
29690
29691         * tests/test-strtod.c (main): Don't use C99 syntax.
29692
29693 2008-03-31  Bruno Haible  <bruno@clisp.org>
29694
29695         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
29696         Reported by Eric Blake.
29697
29698 2008-03-31  Jim Meyering  <meyering@redhat.com>
29699
29700         Don't compare actual signbit return values.
29701         * tests/test-strtod.c (main): Rather, compare only their
29702         zero/non-zero nature.
29703
29704 2008-03-31  Eric Blake  <ebb9@byu.net>
29705
29706         More strtod documentation.
29707         * doc/posix-functions/strtod.texi (strtod): Interpret more test
29708         failures as distinct bugs.
29709
29710 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
29711
29712         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
29713         Problem reported by Erik Benada in
29714         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
29715
29716 2008-03-30  Bruno Haible  <bruno@clisp.org>
29717
29718         * tests/test-strtod.c: Add comments about which assertion fails on which
29719         platform.
29720         * doc/posix-functions/strtod.texi: Add info about many more platforms.
29721
29722 2008-03-30  Eric Blake  <ebb9@byu.net>
29723
29724         Test signbit behavior on zeros.
29725         * tests/test-signbit.c (test_signbitf): Add tests for zero.
29726         (test_signbitd, test_signbitl): Likewise.
29727
29728         More strtod touchups.
29729         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
29730         sign of negative underflow, for now.  Use .5, not .1.
29731         * doc/posix-functions/strtod.texi (strtod): Mention these
29732         limitations.
29733         Reported by Jim Meyering.
29734
29735 2008-03-30  Bruno Haible  <bruno@clisp.org>
29736
29737         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
29738         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
29739
29740 2008-03-30  Bruno Haible  <bruno@clisp.org>
29741
29742         Avoid failure when attempting to return empty iconv results on some
29743         platforms.
29744         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
29745         allocation, don't report ENOMEM when the resulting string is empty.
29746
29747 2008-03-30  Bruno Haible  <bruno@clisp.org>
29748
29749         Fix buffer overrun.
29750         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
29751         Don't consider the width for tmp_length. Check count against tmp_length
29752         before doing the padding. Ensure enough allocation during padding.
29753
29754 2008-03-30  Eric Blake  <ebb9@byu.net>
29755
29756         strtod touchups.
29757         * lib/strtod.c (strtod): Avoid compiler warnings.
29758         Reported by Jim Meyering.
29759
29760 2008-03-30  Bruno Haible  <bruno@clisp.org>
29761
29762         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
29763         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
29764         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
29765         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
29766         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
29767         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
29768         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
29769         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
29770
29771         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
29772         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
29773         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
29774         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
29775         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
29776         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
29777         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
29778         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
29779
29780         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
29781         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
29782         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
29783         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
29784         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
29785         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
29786         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
29787         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
29788
29789         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
29790         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
29791
29792         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
29793         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
29794
29795         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
29796         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
29797
29798         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
29799         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
29800         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
29801
29802         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
29803         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
29804         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
29805
29806         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
29807         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
29808         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
29809
29810         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
29811         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
29812         * modules/vasprintf (Depends-on): Add EOVERFLOW.
29813
29814         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
29815         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
29816         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
29817         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
29818         (Depends-on): Add EOVERFLOW.
29819         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
29820         (Depends-on): Add EOVERFLOW.
29821         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
29822         (Depends-on): Add EOVERFLOW.
29823         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
29824         (Depends-on): Add EOVERFLOW.
29825         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
29826         (Depends-on): Add EOVERFLOW.
29827         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
29828         (Depends-on): Add EOVERFLOW.
29829         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
29830         (Depends-on): Add EOVERFLOW.
29831         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
29832         (Depends-on): Add EOVERFLOW.
29833
29834         * lib/sprintf.c (EOVERFLOW): Remove fallback.
29835         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
29836         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
29837
29838         * lib/snprintf.c (EOVERFLOW): Remove fallback.
29839         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
29840         * modules/snprintf (Depends-on): Add EOVERFLOW.
29841
29842         * lib/poll.c (EOVERFLOW): Remove fallback.
29843         * modules/poll (Depends-on): Add EOVERFLOW.
29844
29845         * lib/getugroups.c (EOVERFLOW): Remove fallback.
29846         * modules/getugroups (Depends-on): Add EOVERFLOW.
29847
29848         * lib/getdelim.c (EOVERFLOW): Remove fallback.
29849         * modules/getdelim (Depends-on): Add EOVERFLOW.
29850
29851         * lib/ftell.c (EOVERFLOW): Remove fallback.
29852         * modules/ftell (Depends-on): Add EOVERFLOW.
29853
29854         * lib/fprintf.c (EOVERFLOW): Remove fallback.
29855         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
29856         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
29857
29858         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
29859
29860         * modules/EOVERFLOW-tests: New file.
29861         * tests/test-EOVERFLOW.c: New file.
29862
29863         * modules/EOVERFLOW: New file.
29864         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
29865
29866 2008-03-30  Bruno Haible  <bruno@clisp.org>
29867
29868         Fix bug introduced on 2007-06-10.
29869         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
29870         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
29871
29872 2008-03-30  Bruno Haible  <bruno@clisp.org>
29873
29874         Improve freadseek's efficiency after ungetc.
29875         * lib/freadseek.c: Include freadahead.h.
29876         (freadptrinc): New function, extracted from freadseek.
29877         (freadseek): Use it in a loop. Use freadahead to determine the number
29878         of loop iterations.
29879         * modules/freadseek (Depends-on): Add freadahead.
29880         (configure.ac): Require AC_C_INLINE.
29881
29882 2008-03-30  Bruno Haible  <bruno@clisp.org>
29883
29884         * lib/freadseek.c (freadseek): Don't ignore the return value of
29885         freadptr.
29886
29887 2008-03-29  Eric Blake  <ebb9@byu.net>
29888
29889         Add hex float support.
29890         * modules/strtod (Depends-on): Add c-ctype.
29891         (Link): Mention POW_LIB.
29892         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
29893         whitespace between 'e' and exponent.
29894         * tests/test-strtod.c (main): Enable hex float tests.
29895         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
29896         now provides.
29897
29898         Document various strtod bugs, with some fixes.
29899         * doc/posix-functions/strtod.texi (strtod): Document bugs with
29900         "-0x", "inf", "nan", and hex constants.
29901         * doc/posix-functions/atof.texi (atof): Likewise.
29902         * modules/stdlib (Makefile.am): Support strtod.
29903         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
29904         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
29905         detect additional strtod bugs.
29906         * lib/stdlib.in.h (rpl_strtod): Add declarations.
29907         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
29908         bool where appropriate.  Parse 'inf' and 'nan'.
29909         * tests/test-strtod.c: New file.
29910         * modules/strtod (Depends-on): Add stdbool, stdlib.
29911         (configure.ac): Turn on module indicator.
29912         * modules/strtod-tests: New module.
29913
29914 2008-03-29  Eric Blake  <ebb9@byu.net>
29915
29916         Fix ftell on mingw.
29917         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
29918         * modules/ftell-tests (Depends-on): Add binary-io.
29919         * modules/ftello-tests (Depends-on): Likewise.
29920         * tests/test-ftell.c (main): Enhance test to cover behavior after
29921         ungetc.  Enforce binary mode.
29922         * tests/test-ftello.c (main): Likewise.
29923
29924         Pass test-freadseek on cygwin.
29925         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
29926         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
29927         ungetc buffer.
29928
29929         * tests/test-fflush2.c (main): Fix typo.
29930
29931 2008-03-29  Bruno Haible  <bruno@clisp.org>
29932
29933         * tests/test-fflush2.c (main): Temporarily disable the contents of
29934         this test.
29935         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
29936         Reported by Eric Blake.
29937
29938 2008-03-28  Simon Josefsson  <simon@josefsson.org>
29939
29940         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
29941         (GC_SHA224_DIGEST_SIZE): Add.
29942
29943         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
29944         (gc_hash_digest_length): Likewise.
29945         (gc_hash_buffer): Likewise.
29946
29947 2008-03-25  Bruno Haible  <bruno@clisp.org>
29948
29949         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
29950         detail which gettext release to use.
29951         Reported by Simon Josefsson.
29952
29953 2008-03-26  Jim Meyering  <meyering@redhat.com>
29954
29955         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
29956         * modules/gnumakefile (clean-GNUmakefile): Also, use
29957         test ... && ... || : syntax rather than if-then ... fi.
29958
29959         gnumakefile: Don't double-quote-expand $(VPATH) value.
29960         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
29961
29962 2008-03-24  Eric Blake  <ebb9@byu.net>
29963
29964         Alter GNUmakefile to install into top directory.
29965         * modules/maintainer-makefile: Split, and add dependency...
29966         * modules/gnumakefile: to this new module.
29967         * build-aux/GNUmakefile: Move...
29968         * top/GNUmakefile: ...here.
29969         * build-aux/maint.mk: Move...
29970         * top/maint.mk: ...here.
29971         * MODULES.html.sh (Support for maintaining...): Document new
29972         module.
29973
29974 2008-03-23  Bruno Haible  <bruno@clisp.org>
29975
29976         * gnulib-tool: New options --vc-files, --no-vc-files.
29977         (func_usage): Document them.
29978         (vc_files): New variable.
29979         (func_import): Consider vc_files.
29980         (func_create_testdir): Set vc_files to empty.
29981         Suggested by Jim Meyering and Karl Berry.
29982
29983 2008-03-23  Bruno Haible  <bruno@clisp.org>
29984
29985         Fix regex compilation error on HP-UX 11.
29986         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
29987         * modules/regex (Files): Add m4/mbstate_t.m4.
29988         Reported by Ton Voon <ton.voon@altinity.com>.
29989
29990 2008-03-23  Bruno Haible  <bruno@clisp.org>
29991
29992         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
29993
29994 2008-03-23  Eric Blake  <ebb9@byu.net>
29995             Bruno Haible  <bruno@clisp.org>
29996
29997         Install files from top/ in the destination directory.
29998         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
29999         augmentation also for the files from top/.
30000         (func_import, func_create_testdir): Rewrite file names:
30001         top/filename -> filename.
30002
30003 2008-03-23  Bruno Haible  <bruno@clisp.org>
30004
30005         Tweak "gnulib --version" output.
30006         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
30007
30008 2008-03-23  Bruno Haible  <bruno@clisp.org>
30009
30010         Tweak "gnulib --version" output.
30011         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
30012         rather than contents of ChangeLog, when possible.
30013
30014 2008-03-21  Eric Blake  <ebb9@byu.net>
30015
30016         More --version tweaks.
30017         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
30018         date of last ChangeLog entry.
30019
30020 2008-03-21  Jim Meyering  <meyering@redhat.com>
30021
30022         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
30023
30024 2008-03-20  Eric Blake  <ebb9@byu.net>
30025
30026         VPATH fix.
30027         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
30028
30029 2008-03-20  Simon Josefsson  <simon@josefsson.org>
30030
30031         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
30032         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
30033
30034 2008-03-20  Eric Blake  <ebb9@byu.net>
30035
30036         Sync GNUmakefile with coreutils.
30037         * build-aux/GNUmakefile (have-Makefile): Rename...
30038         (_have-Makefile): ...to this, for namespace consideration.
30039         (GNUmakefile.cfg): Include, if present.
30040         (_autoreconf): Define a default.
30041         (_is-dist-target): New rule for rebuilds to pick up intra-release
30042         version.
30043         (maint-cfg.mk): Rename...
30044         (cfg.mk): ...to this.
30045
30046 2008-03-18  Jim Meyering  <meyering@redhat.com>
30047
30048         New script and module: mktempd
30049         * MODULES.html.sh (maint+release support): Add mktempd.
30050         * build-aux/mktempd: New file.
30051         * modules/mktempd: New file.
30052
30053 2008-03-15  Jim Meyering  <meyering@redhat.com>
30054
30055         Undo last change.
30056         * lib/sha1.c, lib/md5.c: 63 != ~63.
30057         Reported by Andreas Schwab.
30058
30059         sha1.c, md5.c: Hoist a redundant expression.
30060         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
30061         "ctx->buflen" only once, before calling *_process_block.
30062         * lib/md5.c (md5_process_bytes): Likewise.
30063
30064 2008-03-14  Eric Blake  <ebb9@byu.net>
30065
30066         Bump copyright year in files generated by gnulib-tool.
30067         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
30068         gnulib-tool, rather than hard-coding it.
30069
30070         Fix 'gnulib-tool --version' output to work with git.
30071         * gnulib-tool (func_gnulib_dir): New function, extracted from...
30072         (startup): ...here.
30073         (func_version): Use it to invoke git-version-gen, rather than
30074         relying on CVS keyword expansion.  Modernize wording.
30075         (cvsdatestamp, last_checkin_date, version): Kill unused
30076         variables.
30077
30078 2008-03-12  Jim Meyering  <meyering@redhat.com>
30079
30080         Recognize optional cast of the argument to free.
30081         * build-aux/useless-if-before-free: Update regexps.
30082
30083         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
30084
30085 2008-03-11  Bruno Haible  <bruno@clisp.org>
30086
30087         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
30088         by a single package.
30089         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
30090         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
30091         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
30092         Reported by Sam Steingold <sds@gnu.org>.
30093
30094 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
30095
30096         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
30097         repositories.
30098
30099 2008-03-11  Bruno Haible  <bruno@clisp.org>
30100
30101         Avoid conflicts between local macro definitions.
30102         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
30103         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
30104
30105 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
30106             Bruno Haible  <bruno@clisp.org>
30107
30108         Make va_copy work with some version of xlc on AIX 5.1.
30109         * lib/stdarg.in.h: New file.
30110         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
30111         On AIX, use a <stdarg.h> file substitute.
30112         * modules/stdarg (Files): Add lib/stdarg.in.h.
30113         (Depends-on): Add include_next.
30114         (Makefile.am): Build a stdarg.h substitute if requested.
30115         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
30116
30117 2008-03-10  Bruno Haible  <bruno@clisp.org>
30118
30119         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
30120         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
30121         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
30122
30123 2008-03-10  Bruno Haible  <bruno@clisp.org>
30124
30125         * modules/stdlib (Depends-on): Add include_next, remove
30126         absolute-header.
30127
30128 2008-03-09  Bruno Haible  <bruno@clisp.org>
30129
30130         * lib/freadahead.h (freadahead): Document more precisely.
30131         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
30132         the sum of both buffer sizes.
30133         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
30134         * NEWS: Document the change.
30135
30136 2008-03-09  Bruno Haible  <bruno@clisp.org>
30137
30138         Extend freadptr to return also the buffer size.
30139         * lib/freadptr.h (freadptr): Add sizep argument.
30140         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
30141         (freadptr): Add sizep argument. Determine buffer size like freadahead
30142         does.
30143         * tests/test-freadptr.c: Don't include freadahead.h.
30144         (main): Adapt for new calling convention of freadptr.
30145         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
30146         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
30147         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
30148         tests/test-freadptr2.sh.
30149         (Depends): Remove freadahead.
30150         (TESTS): Add test-freadptr2.sh.
30151         (check_PROGRAMS): Add test-freadptr2.
30152
30153 2008-03-09  Bruno Haible  <bruno@clisp.org>
30154
30155         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
30156         Report and solution by Simon Josefsson.
30157
30158 2008-03-06  Bruno Haible  <bruno@clisp.org>
30159
30160         Make fflush after ungetc work on BSD platforms.
30161         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
30162         * tests/test-fflush2.c: New file.
30163         * tests/test-fflush2.sh: New file.
30164         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
30165         tests/test-fflush2.c.
30166         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
30167         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
30168
30169 2008-03-06  Eric Blake  <ebb9@byu.net>
30170
30171         Likewise for ftello.
30172         * modules/ftello (Dependencies): Add extensions.
30173         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
30174
30175 2008-03-06  Bruno Haible  <bruno@clisp.org>
30176
30177         * modules/fseeko (Dependencies): Add extensions.
30178         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
30179         Needed on glibc systems.
30180
30181 2008-03-06  Bruno Haible  <bruno@clisp.org>
30182
30183         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
30184         email address.
30185         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
30186
30187 2008-03-06  Bruno Haible  <bruno@clisp.org>
30188
30189         * users.txt: Add libgnupdf.
30190
30191 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
30192
30193         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
30194         (Header File Substitutes, Function Substitutes,
30195         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
30196         (Build robot for gnulib): Fix typo.
30197
30198 2008-03-06  Bruno Haible  <bruno@clisp.org>
30199
30200         * doc/gnulib-tool.texi (VCS Issues): Small updates.
30201         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
30202
30203 2008-03-06  Bruno Haible  <bruno@clisp.org>
30204
30205         * doc/func.texi: New file, extracted from doc/gnulib.texi.
30206         * doc/gnulib.texi: Include it.
30207
30208 2008-03-06  Simon Josefsson  <simon@josefsson.org>
30209
30210         * modules/func (License): Change license to unlimited; there was
30211         no LGPL parts in the module anyway.
30212
30213 2008-03-06  Simon Josefsson  <simon@josefsson.org>
30214
30215         * modules/__func__: Renamed to modules/func.
30216         * modules/__func__-tests: Renamed to modules/func-tests.
30217         * tests/test-__func__.c: Renamed to tests/test-func.c.
30218         * m4/__func__.m4: Renamed to m4/func.m4.
30219         * doc/gnulib.texi (__func__): Section renamed to func.
30220         Suggested by Eric Blake <ebb9@byu.net>.
30221
30222 2008-03-06  Simon Josefsson  <simon@josefsson.org>
30223
30224         * doc/gnulib.texi (__func__): Use C99 terminology when talking
30225         about __func__.  Make example self-contained.  Suggested by Eric
30226         Blake <ebb9@byu.net>.
30227
30228         * tests/test-__func__.c (main): Avoid extraneous () around __func.
30229         Suggested by Eric Blake <ebb9@byu.net>.
30230
30231 2008-03-06  Simon Josefsson  <simon@josefsson.org>
30232
30233         * modules/__func__: New file.
30234         * modules/__func__-tests: New file.
30235         * tests/test-__func__.c: New file.
30236         * m4/__func__.m4: New file.
30237         * doc/gnulib.texi (__func__): Document __func__ module.
30238
30239 2008-03-05  Simon Josefsson  <simon@josefsson.org>
30240
30241         * modules/byteswap (License): Re-license as LGPLv2+.
30242
30243 2008-03-05  Simon Josefsson  <simon@josefsson.org>
30244
30245         * doc/Makefile: Add pdf target.
30246
30247 2008-03-05  Simon Josefsson  <simon@josefsson.org>
30248
30249         * modules/inline (License): Use 'unlimited', since there are only
30250         *.m4 files in this module.
30251
30252 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
30253             Bruno Haible  <bruno@clisp.org>
30254
30255         Add support for HP C 7.1 on OpenVMS 8.3.
30256         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
30257
30258 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
30259
30260         Update VMS specifics.
30261         * lib/getopt.c [VMS]: Remove include of unixlib.h.
30262
30263 2008-03-02  Jim Meyering  <meyering@redhat.com>
30264
30265         Remove the last dependency on the "free" module.
30266         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
30267         Reported by Bob Proulx.
30268
30269         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
30270
30271         Remove useless "if" tests before free.  Deprecate "free" module.
30272         * doc/posix-functions/free.texi: Mention that this
30273         module is no longer useful.
30274         * modules/free (Notice): Say this module is obsolete.
30275         * modules/readutmp (Depends-on): Remove free.
30276         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
30277         * lib/putenv.c (putenv): Likewise.
30278         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
30279         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
30280         * tests/test-c-strcasestr.c (main): Likewise.
30281         * tests/test-c-strstr.c (main): Likewise.
30282         * tests/test-mbscasestr1.c (main): Likewise.
30283         * tests/test-mbscasestr2.c (main): Likewise.
30284         * tests/test-mbsstr1.c (main): Likewise.
30285         * tests/test-mbsstr2.c (main): Likewise.
30286         * tests/test-memmem.c (main): Likewise.
30287         * tests/test-strcasestr.c (main): Likewise.
30288         * tests/test-striconv.c (main): Likewise.
30289         * tests/test-striconveh.c (main): Likewise.
30290         * tests/test-striconveha.c (main): Likewise.
30291         * tests/test-strstr.c (main): Likewise.
30292
30293         * build-aux/git-version-gen: Adjust a comment and the Usage string.
30294
30295         bootstrap: sync from coreutils again
30296         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
30297
30298 2008-03-01  Jim Meyering  <meyering@redhat.com>
30299
30300         bootstrap: sync from coreutils
30301         * build-aux/bootstrap (update_po_files): Copy a .po file into place
30302         also when the target doesn't exist.
30303
30304 2008-03-01  Eric Blake  <ebb9@byu.net>
30305
30306         Fix bugs in last patch.
30307         * lib/memchr2.c (memchr2): Fix typo.
30308         * tests/test-memchr2.c: Test previous bug, and don't use GNU
30309         extension.
30310         Reported by Bruce Korb.
30311
30312         New module 'memchr2'.
30313         * modules/memchr2: New file.
30314         * modules/memchr2-tests: Likewise.
30315         * lib/memchr2.h: Likewise.
30316         * lib/memchr2.c: Likewise, based on memchr.c.
30317         * tests/test-memchr2.c: New test.
30318         * MODULES.html.sh (String handling): Add memchr2.
30319
30320 2008-02-29  Bruno Haible  <bruno@clisp.org>
30321
30322         * modules/freadseek-tests: New file.
30323         * tests/test-freadseek.sh: New file.
30324         * tests/test-freadseek.c: New file.
30325
30326         New module 'freadseek'.
30327         * modules/freadseek: New file.
30328         * lib/freadseek.h: New file.
30329         * lib/freadseek.c: New file.
30330         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
30331
30332 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
30333
30334         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
30335         wydawca.
30336
30337         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
30338         program_invocation_name and program_invocation_short_name are
30339         present.
30340
30341 2008-02-28  Bruno Haible  <bruno@clisp.org>
30342
30343         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
30344         * tests/test-freadptr.sh: Also test non-seekable stdin.
30345
30346 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
30347
30348         * build-aux/bootstrap (source_base, m4_base)
30349         (doc_base, tests_base): New variables.
30350         (gnulib_tool_options): Do not hardcode base directories, use
30351         the above variables instead.
30352
30353 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
30354
30355         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
30356
30357 2008-02-28  Bruno Haible  <bruno@clisp.org>
30358
30359         * modules/freadptr-tests: New file.
30360         * tests/test-freadptr.sh: New file.
30361         * tests/test-freadptr.c: New file.
30362
30363         New module 'freadptr'.
30364         * modules/freadptr: New file.
30365         * lib/freadptr.h: New file.
30366         * lib/freadptr.c: New file.
30367         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
30368
30369 2008-02-26  Karl Berry  <karl@freefriends.org>
30370
30371         Sync from Libtool:
30372         * libltdl/argz.c (argz_add, argz_count): New functions.
30373         * libltdl/argz.in.h: Declare them.
30374         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
30375
30376 2008-02-22  Bruno Haible  <bruno@clisp.org>
30377
30378         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
30379         is a pointer type.  Needed for HP-UX 10.
30380         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
30381         * doc/posix-functions/gmtime_r.texi: Likewise.
30382         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
30383
30384 2008-02-24  Bruno Haible  <bruno@clisp.org>
30385
30386         * modules/environ-tests: New file.
30387         * tests/test-environ.c: New file.
30388
30389         New module 'environ'.
30390         * modules/environ: New file.
30391         * lib/unistd.in.h (environ): New declaration.
30392         * m4/environ.m4: New file.
30393         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
30394         after use.
30395         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
30396         HAVE_DECL_ENVIRON.
30397         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
30398         HAVE_DECL_ENVIRON.
30399         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
30400         wrong claim that 'environ' is missing on some systems.
30401         * modules/execute (Depends-on): Add environ.
30402         * lib/execute.c (environ): Remove fallback declaration.
30403         * modules/pipe (Depends-on): Add environ.
30404         * lib/pipe.c (environ): Remove fallback declaration.
30405         * modules/setenv (Depends-on): Add environ.
30406         * lib/setenv.c (environ): Remove fallback declaration.
30407         * modules/unsetenv (Depends-on): Add environ.
30408         * lib/unsetenv.c (environ): Remove fallback declaration.
30409         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
30410         m4/environ.m4.
30411         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
30412         (gl_PREREQ_UNSETENV): Likewise.
30413
30414 2008-02-24  Bruno Haible  <bruno@clisp.org>
30415
30416         * doc/posix-functions/environ.texi: Document the MacOS X problem.
30417
30418 2008-02-20  Bob Proulx  <bob@proulx.com>
30419
30420         Enable use of older two part flavor 'git describe'.
30421         * build-aux/git-version-gen: If using the older two part flavor of
30422         git version then recreate the third part now present in the
30423         newer three part flavor of git describe.
30424
30425 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
30426
30427         * lib/fts.c (fts_build): Typo correction to comment.
30428
30429 2008-02-17  Bruno Haible  <bruno@clisp.org>
30430
30431         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
30432         generating no-op conflicts.
30433
30434 2008-02-17  Bruno Haible  <bruno@clisp.org>
30435
30436         Speed up by 10%.
30437         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
30438         result_entries, rather than an index-based loop.
30439
30440 2008-02-17  Bruno Haible  <bruno@clisp.org>
30441
30442         Speed up by 25%.
30443         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
30444         'hashcode_cached'.
30445         (entry_create): New function.
30446         (entry_hashcode): Use the cached hashcode if possible.
30447         (read_changelog_file, try_split_merged_entry): Use entry_create.
30448
30449 2008-02-17  Bruno Haible  <bruno@clisp.org>
30450
30451         Speed up from O(n^2) to O(n) for long ChangeLog files.
30452         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
30453         (read_changelog_file): Change implementation of entries_reversed list
30454         to rbtreehash.
30455         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
30456
30457 2008-02-17  Bruno Haible  <bruno@clisp.org>
30458
30459         New option --split-merged-entry.
30460         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
30461         (find_paragraph_end, try_split_merged_entry): New functions.
30462         (long_options): Add option --split-merged-entry.
30463         (usage): Document option --split-merged-entry.
30464         (main): Implement option --split-merged-entry.
30465         Reported by Eric Blake.
30466
30467 2008-02-17  Bruno Haible  <bruno@clisp.org>
30468
30469         * lib/git-merge-changelog.c: Include c-strstr.h.
30470         (main): Support the "git pull --rebase" situation.
30471         * modules/git-merge-changelog (Depends-on): Add c-strstr.
30472         Reported by Eric Blake.
30473
30474 2008-02-16  Eric Blake  <ebb9@byu.net>
30475
30476         Avoid doubling \ in common case of "c-maybe" quoting style.
30477         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
30478         eliding outer quotes.
30479         * lib/quotearg.h: Document this.
30480         * tests/test-quotearg.c (result_strings, inputs, results_g)
30481         (flag_results, locale_results): Test it by adding a new string to
30482         each test group.
30483         (compare_strings): Test new string.
30484
30485 2008-02-13  Eric Blake  <ebb9@byu.net>
30486
30487         Avoid trigraph quoting in default output.
30488         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
30489         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
30490         unless explicitly requested.
30491         * tests/test-quotearg.c (flag_results, main): Add additional tests.
30492
30493 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
30494
30495         Don't rely on signed integer overflowing to negative value.
30496         * lib/getugroups.c (getugroups): Include <limits.h>.
30497         Instead, compare against INT_MAX, and increment only if the test passes.
30498
30499 2008-02-13  Jim Meyering  <meyering@redhat.com>
30500         and Eric Blake  <ebb9@byu.net>
30501
30502         Avoid shadowing warning and compile errors on Linux.
30503         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
30504         forwarding macros on Linux.
30505         (dcgettext): Define a stub, for Linux.
30506         (results_g, main): Avoid warnings.
30507
30508 2008-02-12  Eric Blake  <ebb9@byu.net>
30509
30510         Silence warning in last patch.
30511         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
30512
30513         Quotearg part 4: add tests, fix c-maybe colon quoting.
30514         * lib/quotearg.h: Improve documentation.
30515         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
30516         escapes when adding outer quotes.  When quoting trigraphs, use
30517         valid C notation.  When quoting NUL, omit extra characters if next
30518         character is not digit.  Alter prototype.
30519         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
30520         callers.
30521         * modules/quotearg-tests: New module.
30522         * tests/test-quotearg.c: New test.
30523
30524 2008-02-07  Eric Blake  <ebb9@byu.net>
30525
30526         Quotearg part 3: add flag to control outer quote elision.
30527         * lib/quotearg.h (c_maybe_quoting_style): New style.
30528         (enum quoting_flags): Better documentation of flags.
30529         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
30530         c-maybe style.
30531         (quotearg_buffer_restyled): Handle new flag to elide outer
30532         quotes.
30533
30534         Quotearg part 2: add flag that can control NUL elision.
30535         * lib/quotearg.h (set_quoting_flags): New prototype.
30536         * lib/quotearg.c (struct quoting_options): Add flag field.
30537         (set_quoting_flags): New function.
30538         (quotearg_buffer_restyled): Add flags parameter.
30539         (quotearg_alloc_mem): Set the flag if length cannot be returned.
30540         (quotearg_n_options): Set the flag, since length cannot be
30541         returned.
30542         (quoting_options_from_style): Default flags correctly.
30543
30544         Quotearg part 1: more wrappers, restore quotearg_char state.
30545         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
30546         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
30547         (quotearg_colon_mem): New wrappers.
30548         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
30549         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
30550         functions.
30551         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
30552         (quotearg_colon_mem): New functions.
30553
30554 2008-02-11  Bruno Haible  <bruno@clisp.org>
30555
30556         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
30557         library in the current directory: it does not work with parallel make.
30558         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30559
30560 2008-02-11  Bruno Haible  <bruno@clisp.org>
30561
30562         * .gitattributes: New file.
30563
30564 2008-02-11  Jim Meyering  <meyering@redhat.com>
30565
30566         useless-if-before-free: Fix reversed exit values.
30567         * build-aux/useless-if-before-free: Use correct values
30568         for EXIT_MATCH and EXIT_NO_MATCH.
30569
30570         * build-aux/useless-if-before-free: Close stdout carefully.
30571
30572 2008-02-10  Bruno Haible  <bruno@clisp.org>
30573
30574         New module 'git-merge-changelog'.
30575         * modules/git-merge-changelog: New file.
30576         * lib/git-merge-changelog.c: New file.
30577
30578 2008-02-10  Jim Meyering  <meyering@redhat.com>
30579
30580         useless-if-before-free: New option: --list (-l).
30581
30582         useless-if-before-free: Don't exit immediately upon open failure.
30583         * build-aux/useless-if-before-free: Exit 2 for errors.
30584         Upon failure to open a file, don't exit immediately.
30585         Rather, just warn and continue with any remaining files.
30586
30587 2008-02-10  Bruno Haible  <bruno@clisp.org>
30588
30589         New abstract list operation 'node_set_value'.
30590         * lib/gl_list.h (gl_list_node_set_value): New function.
30591         (struct gl_list_implementation): New field node_set_value.
30592         * lib/gl_list.c (gl_list_node_set_value): New function.
30593         * lib/gl_array_list.c (gl_array_node_set_value): New function.
30594         (gl_array_list_implementation): Update.
30595         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
30596         (gl_carray_list_implementation): Update.
30597         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
30598         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
30599         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
30600         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
30601         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
30602         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
30603         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
30604         Update.
30605         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
30606         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
30607         (gl_sublist_list_implementation): Update.
30608
30609 2008-02-10  Bruno Haible  <bruno@clisp.org>
30610
30611         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
30612         Needed when ELEMENT is #defined to 'some_type *'.
30613
30614 2008-02-10  Jim Meyering  <meyering@redhat.com>
30615
30616         New script and module: useless-if-before-free
30617         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
30618         * build-aux/useless-if-before-free: New file.
30619         * modules/useless-if-before-free: New file.
30620
30621         * build-aux/gitlog-to-changelog: Use committer date, not author date.
30622
30623         xstrtol_error: Fix typo.
30624         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
30625         s/exit_failure/exit_status/.
30626
30627 2008-02-09  Jim Meyering  <meyering@redhat.com>
30628
30629         New script and module: gitlog-to-changelog
30630         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
30631         * modules/gitlog-to-changelog: New file.
30632         * build-aux/gitlog-to-changelog: New file.
30633
30634 2008-02-08  Jim Meyering  <meyering@redhat.com>
30635
30636         Avoid two "parameter unused" warnings.
30637         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
30638         Mark "st" as used.
30639
30640         Use "git COMMAND", not "git-COMMAND".
30641         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
30642         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
30643         * build-aux/git-version-gen: Use "git status", not "git-status".
30644
30645 2008-02-07  Bruno Haible  <bruno@clisp.org>
30646
30647         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
30648         Avoids a crash on Windows Vista.
30649         Reported by Adam Strzelecki <ono@java.pl> via
30650         Simon Josefsson <simon@josefsson.org>.
30651
30652 2008-02-06  Bruno Haible  <bruno@clisp.org>
30653
30654         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
30655         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
30656         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
30657         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
30658         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
30659         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
30660         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
30661         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
30662         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
30663         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
30664         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
30665         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
30666         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
30667         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
30668         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
30669         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
30670         left-adjust flag.
30671         * tests/test-snprintf-posix.h (test_function): Likewise.
30672         * tests/test-sprintf-posix.h (test_function): Likewise.
30673         * tests/test-vasprintf-posix.c (test_function): Likewise.
30674         * doc/posix-functions/fprintf.texi: Update.
30675         * doc/posix-functions/printf.texi: Update.
30676         * doc/posix-functions/snprintf.texi: Update.
30677         * doc/posix-functions/sprintf.texi: Update.
30678         * doc/posix-functions/vfprintf.texi: Update.
30679         * doc/posix-functions/vprintf.texi: Update.
30680         * doc/posix-functions/vsnprintf.texi: Update.
30681         * doc/posix-functions/vsprintf.texi: Update.
30682         Reported by Peter Fales <psfales@alcatel-lucent.com>.
30683
30684 2008-02-06  Bruno Haible  <bruno@clisp.org>
30685
30686         Fix bug introduced on 2008-01-26.
30687         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
30688
30689 2008-02-06  Bruno Haible  <bruno@clisp.org>
30690
30691         Fix bug introduced on 2007-06-10.
30692         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
30693         !NEED_PRINTF_FLAG_ZERO.
30694
30695 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
30696
30697         getloadavg: use libperfstat on AIX5
30698         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
30699
30700 2008-02-03  Bruno Haible  <bruno@clisp.org>
30701
30702         * lib/diffseq.h: Add comments about required #includes.
30703         Reported by Michael Biggs <gnulib@doubleplum.net>.
30704
30705 2008-02-01  Bruno Haible  <bruno@clisp.org>
30706
30707         * users.txt: Add gnuit.
30708
30709 2008-01-31  Bruno Haible  <bruno@clisp.org>
30710
30711         * lib/md4.c (set_uint32): Mark as inline.
30712         * lib/md5.c (set_uint32): Likewise.
30713         * lib/sha1.c (set_uint32): Likewise.
30714         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
30715         * m4/md5.m4 (gl_MD5): Likewise.
30716         * m4/sha1.m4 (gl_SHA1): Likewise.
30717
30718 2008-01-31  Jim Meyering  <meyering@redhat.com>
30719
30720         Use "sizeof VAR", rather than a literal "4".
30721         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
30722         * lib/md4.c (md4_read_ctx): Likewise.
30723         * lib/sha1.c (sha1_read_ctx): Likewise.
30724
30725 2008-01-31  Simon Josefsson  <simon@josefsson.org>
30726
30727         * tests/test-sha1.c: New file, based on test-md5.c.
30728
30729         * modules/crypto/sha1-tests: New file.
30730
30731 2008-01-31  Simon Josefsson  <simon@josefsson.org>
30732
30733         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
30734
30735 2008-01-31  Jim Meyering  <meyering@redhat.com>
30736
30737         Prefer "sizeof v" over the equivalent "4".
30738         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
30739         * lib/md5.c (set_uint32): Likewise.
30740         * lib/sha1.c (set_uint32): Likewise.
30741
30742 2008-01-31  Simon Josefsson  <simon@josefsson.org>
30743
30744         * lib/sha1.c (set_uint32): Mark function as static.
30745
30746 2008-01-31  Simon Josefsson  <simon@josefsson.org>
30747
30748         md2: clarify comments to say that alignment is not required.
30749         * lib/md2.h: Remove warning about alignment in comment.
30750         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
30751         never been required.
30752
30753 2008-01-31  Simon Josefsson  <simon@josefsson.org>
30754
30755         md4: adapt alignment constraint fix from sha1.
30756         * lib/md4.c (set_uint32): New function, from sha1.c
30757         (md4_read_ctx): Use it.
30758         (md4_finish_ctx): Doc fix.
30759         * lib/md4.h: Doc fix.
30760
30761 2008-01-31  Simon Josefsson  <simon@josefsson.org>
30762
30763         md5: adapt alignment constraint fix from sha1.
30764         * lib/md5.c (set_uint32): New function, from sha1.c
30765         (md5_read_ctx): Use it.
30766         (md5_finish_ctx): Doc fix.
30767         * lib/md5.h: Doc fix.
30768
30769 2008-01-30  Peter Palfrader  <weasel@debian.org>
30770
30771         sha1: remove the result buffer alignment constraint
30772         * lib/sha1.c (set_uint32): New function.
30773         (sha1_read_ctx): Rewrite to remove the result buffer alignment
30774         constraint.
30775         (sha1_finish_ctx): Remove comment warning about alignment constraint.
30776         * lib/sha1.h: Likewise.
30777
30778 2008-01-30  Andreas Schwab  <schwab@suse.de>
30779             Bruno Haible  <bruno@clisp.org>
30780
30781         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
30782         correct definition of LDBL_MIN_EXP.
30783
30784 2008-01-30  Karl Berry  <karl@gnu.org>
30785
30786         * config/srclist-update: try to preserve x bit on updates.
30787         * config/srclistvars.sh: update for karl.
30788
30789 2008-01-29  Jim Meyering  <meyering@redhat.com>
30790
30791         vasnprintf.c: Avoid warning about unused label
30792         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
30793         "overflow" label definition and associated code with the
30794         same cpp condition that guards the sole use of that label.
30795
30796 2008-01-26  Bruno Haible  <bruno@clisp.org>
30797
30798         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
30799         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
30800         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
30801         * lib/isnanl-nolibm.h (isnanl): Likewise.
30802         Reported by Paul Eggert <eggert@cs.ucla.edu>.
30803
30804 2008-01-26  Bruno Haible  <bruno@clisp.org>
30805
30806         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
30807         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
30808
30809 2008-01-26  Bruno Haible  <bruno@clisp.org>
30810
30811         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
30812         GCC >= 4.0 built-in.
30813         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
30814
30815 2008-01-26  Bruno Haible  <bruno@clisp.org>
30816
30817         Rename isnan, applicable to 'double' only, to isnand.
30818         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
30819         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
30820         (configure.ac): Update.
30821         (Include): Replace "isnan.h" with "isnand.h".
30822         * m4/isnand.m4: Renamed from m4/isnan.m4.
30823         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
30824         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
30825         instead of isnan.c.
30826         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
30827         instead of HAVE_ISNAN_IN_LIBC.
30828         (isnand): Renamed from isnan.
30829         * lib/isnand.c: New file.
30830         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
30831         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
30832         (Makefile.am): Update.
30833         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
30834         Include isnand.h instead of isnan.h.
30835         (main): Test isnand instead of isnan.
30836         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
30837         isnan-nolibm.
30838         * modules/frexp (Depends-on): Likewise.
30839         * modules/frexp-tests (Depends-on): Likewise.
30840         * modules/frexp-nolibm (Depends-on): Likewise.
30841         * modules/frexp-nolibm-tests (Depends-on): Likewise.
30842         * modules/isfinite (Depends-on): Likewise.
30843         * modules/round-tests (Depends-on): Likewise.
30844         * modules/signbit (Depends-on): Likewise.
30845         * modules/signbit-tests (Depends-on): Likewise.
30846         * modules/snprintf-posix (Depends-on): Likewise.
30847         * modules/sprintf-posix (Depends-on): Likewise.
30848         * modules/trunc-tests (Depends-on): Likewise.
30849         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
30850         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
30851         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
30852         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
30853         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
30854         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
30855         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
30856         * modules/vasnprintf-posix (Depends-on): Likewise.
30857         * modules/vasprintf-posix (Depends-on): Likewise.
30858         * modules/vfprintf-posix (Depends-on): Likewise.
30859         * modules/vsnprintf-posix (Depends-on): Likewise.
30860         * modules/vsprintf-posix (Depends-on): Likewise.
30861         * lib/frexp.c: Include isnand.h instead of isnan.h.
30862         (ISNAN): Set to isnand instead of isnan.
30863         * lib/isfinite.c: Include isnand.h instead of isnan.h.
30864         (gl_isfinited): Use isnand instead of isnan.
30865         * lib/signbitd.c: Include isnand.h instead of isnan.h.
30866         (gl_signbitd): Use isnand instead of isnan.
30867         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
30868         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
30869         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
30870         (main): Use isnand instead of isnan.
30871         * tests/test-round1.c: Include isnand.h.
30872         (main): Use isnand instead of isnan.
30873         * tests/test-round2.c: Include isnand.h instead of isnan.h.
30874         (ISNAN): Set to isnand instead of isnan.
30875         * tests/test-trunc1.c: Include isnand.h.
30876         (main): Use isnand instead of isnan.
30877         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
30878         (equal): Use isnand instead of isnan.
30879         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
30880         isnand-nolibm.
30881         * NEWS: Mention the change.
30882
30883 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
30884             Bruno Haible  <bruno@clisp.org>
30885
30886         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
30887         the GCC builtins for signbits are present and set
30888         REPLACE_SIGNBIT_USING_GCC if so.
30889         * lib/math.in.h (signbit): Define using GCC builtins if
30890         REPLACE_SIGNBIT_USING_GCC is set.
30891         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
30892         REPLACE_SIGNBIT_USING_GCC.
30893         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
30894
30895 2008-01-25  Jim Meyering  <meyering@redhat.com>
30896
30897         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
30898         * lib/poll.c: Include <config.h>, not "config.h".
30899         * tests/test-getaddrinfo.c: Likewise.
30900
30901 2008-01-25  Simon Josefsson  <simon@josefsson.org>
30902
30903         * modules/sockets-tests: New file.
30904
30905 2008-01-24  Simon Josefsson  <simon@josefsson.org>
30906
30907         * modules/sockets: New module, can be used to call WSA_Startup and
30908         WSA_Cleanup when needed.
30909
30910         * lib/sockets.h, lib/sockets.c: New files.
30911
30912         * m4/sockets.m4: New file.
30913
30914         * tests/test-sockets.c: New file.
30915
30916 2008-01-19  Bruno Haible  <bruno@clisp.org>
30917
30918         * doc/posix-headers: Renamed from doc/headers.
30919         * doc/posix-functions: Renamed from doc/functions.
30920         * doc/gnulib.texi: Update.
30921
30922 2008-01-19  Bruno Haible  <bruno@clisp.org>
30923
30924         * doc/glibc-functions/strcasestr.texi: Include contents of
30925         doc/functions/strcasestr.texi, fixing the list of platforms.
30926         * doc/functions/strcasestr.texi: Remove file.
30927
30928 2008-01-19  Bruno Haible  <bruno@clisp.org>
30929
30930         * doc/glibc-functions/memmem.texi: Include contents of
30931         doc/functions/memmem.texi.
30932         * doc/functions/memmem.texi: Remove file.
30933
30934 2008-01-18  Bruno Haible  <bruno@clisp.org>
30935
30936         * doc/glibc-functions/*.texi: New files.
30937         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
30938         to use the new files.
30939
30940 2008-01-17  Bruno Haible  <bruno@clisp.org>
30941
30942         * tests/test-gethostname.c (main): Fix printf statement.
30943
30944 2008-01-17  Simon Josefsson  <simon@josefsson.org>
30945
30946         * modules/gethostname-tests: New file.
30947
30948         * tests/test-gethostname.c: New file.
30949
30950 2008-01-17  Simon Josefsson  <simon@josefsson.org>
30951
30952         * lib/gethostname.c: Include string.h unconditionally, strncpy is
30953         used by the UNAME case.  Reported by Bruno Haible
30954         <bruno@clisp.org>.
30955
30956 2008-01-17  Eric Blake  <ebb9@byu.net>
30957
30958         Convert c-strcasestr to be more efficient.
30959         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
30960         (Depends-on): Add c-strcase, remove malloca, strnlen.
30961         * tests/test-c-strcasestr.c (main): Enhance test.
30962         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
30963
30964 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
30965
30966         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
30967         Use it in creating po/Makevars.
30968
30969 2008-01-15  Simon Josefsson  <simon@josefsson.org>
30970
30971         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
30972         Applications that requires it should initialize libgcrypt
30973         manually.
30974
30975 2008-01-16  Simon Josefsson  <simon@josefsson.org>
30976
30977         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
30978
30979 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
30980
30981         Fix problem with getdate on mingw32 reported by Simon Josefsson
30982         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
30983         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
30984         tzname", when deciding whether to declare tzname.
30985         * lib/strftime.c (tzname): Likewise.
30986
30987 2008-01-15  Bruno Haible  <bruno@clisp.org>
30988
30989         Work around a MacOS X 10.5 bug in frexpl().
30990         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
30991         * doc/functions/frexpl.texi: Document the bug.
30992         Reported by Elias Pipping <pipping@gentoo.org>.
30993
30994 2008-01-14  Eric Blake  <ebb9@byu.net>
30995
30996         Touch up previous patch.
30997         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
30998         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
30999
31000         Convert strcasestr module to use Two-Way algorithm.
31001         * modules/strcasestr-simple: New module, based on the old
31002         strcasestr, but with Two-Way rather than KMP.
31003         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
31004         * lib/string.in.h (rpl_strcasestr): Declare.
31005         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
31006         performance.
31007         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
31008         * modules/string (Makefile.am): Support strcasestr.
31009         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
31010         * modules/strcasestr-tests (Depends-on): Check for alarm.
31011         * tests/test-strcasestr.c: Augment test.
31012         * lib/str-two-way.h: Clean up stray macro.
31013         * NEWS: Document new module.
31014         * MODULES.html.sh (string handling): Likewise.
31015         * doc/functions/strcasestr.texi: New file.
31016         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
31017         here, since it is not a POSIX function.
31018
31019 2008-01-14  Colin Watson  <cjwatson@debian.org>
31020             Bruno Haible  <bruno@clisp.org>
31021
31022         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
31023         works fine; if not, set REPLACE_STRSIGNAL.
31024         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
31025         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
31026         REPLACE_STRSIGNAL.
31027         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
31028         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
31029         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
31030
31031 2008-01-14  Bruno Haible  <bruno@clisp.org>
31032
31033         * modules/strsignal (Include): Change to <string.h>.
31034
31035 2008-01-14  Colin Watson  <cjwatson@debian.org>
31036
31037         * modules/argp (Notice): Add a notice recommending to change
31038         XGETTEXT_OPTIONS.
31039         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
31040
31041 2008-01-13  Colin Watson  <cjwatson@debian.org>
31042
31043         * modules/strsignal-tests: New file.
31044         * tests/test-strsignal.c: New file.
31045
31046         * lib/strsignal.c: New file, from glibc with modifications.
31047         * lib/siglist.h: New file, from glibc with modifications.
31048         * lib/string.in.h (strsignal): New declaration.
31049         * m4/strsignal.m4: New file.
31050         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
31051         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
31052         * modules/strsignal: New file.
31053         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
31054         HAVE_DECL_STRSIGNAL.
31055
31056 2008-01-13  Bruno Haible  <bruno@clisp.org>
31057
31058         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
31059         locale encoding is not ASCII. Needed for OpenBSD 4.0.
31060         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
31061         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
31062
31063 2008-01-13  Bruno Haible  <bruno@clisp.org>
31064
31065         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
31066         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
31067         * lib/argp.h (__attribute__): Likewise.
31068         * lib/c-stack.c (__attribute__): Likewise.
31069         * lib/error.h (__attribute__): Likewise.
31070         * lib/fts.c (__attribute__): Likewise.
31071         * lib/openat.h (__attribute__): Likewise.
31072         * lib/stdio.in.h (__attribute__): Likewise.
31073         * lib/string.in.h (__attribute__): Likewise.
31074         * lib/utimens.c (__attribute__): Likewise.
31075         * lib/vasnprintf.h (__attribute__): Likewise.
31076         * lib/xalloc.h (__attribute__): Likewise.
31077         * lib/xprintf.h (__attribute__): Likewise.
31078         * lib/xstrtol.h (__attribute__): Likewise.
31079         * lib/xvasprintf.h (__attribute__): Likewise.
31080
31081 2008-01-12  Bruno Haible  <bruno@clisp.org>
31082
31083         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
31084         * doc/glibc-headers/a.out.texi: New file.
31085         * doc/glibc-headers/aliases.texi: New file.
31086         * doc/glibc-headers/alloca.texi: New file.
31087         * doc/glibc-headers/ar.texi: New file.
31088         * doc/glibc-headers/argp.texi: New file.
31089         * doc/glibc-headers/argz.texi: New file.
31090         * doc/glibc-headers/byteswap.texi: New file.
31091         * doc/glibc-headers/crypt.texi: New file.
31092         * doc/glibc-headers/endian.texi: New file.
31093         * doc/glibc-headers/envz.texi: New file.
31094         * doc/glibc-headers/err.texi: New file.
31095         * doc/glibc-headers/error.texi: New file.
31096         * doc/glibc-headers/execinfo.texi: New file.
31097         * doc/glibc-headers/fpu_control.texi: New file.
31098         * doc/glibc-headers/fstab.texi: New file.
31099         * doc/glibc-headers/fts.texi: New file.
31100         * doc/glibc-headers/getopt.texi: New file.
31101         * doc/glibc-headers/ieee754.texi: New file.
31102         * doc/glibc-headers/ifaddrs.texi: New file.
31103         * doc/glibc-headers/libintl.texi: New file.
31104         * doc/glibc-headers/mcheck.texi: New file.
31105         * doc/glibc-headers/mntent.texi: New file.
31106         * doc/glibc-headers/obstack.texi: New file.
31107         * doc/glibc-headers/paths.texi: New file.
31108         * doc/glibc-headers/printf.texi: New file.
31109         * doc/glibc-headers/pty.texi: New file.
31110         * doc/glibc-headers/resolv.texi: New file.
31111         * doc/glibc-headers/shadow.texi: New file.
31112         * doc/glibc-headers/sysexits.texi: New file.
31113         * doc/glibc-headers/ttyent.texi: New file.
31114
31115 2008-01-12  Jim Meyering  <meyering@redhat.com>
31116
31117         announce-gen: emit Gnulib's git-based version string.
31118         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
31119         New option --gnulib-version=V, where V is expected to be
31120         the output of running git describe in the gnulib directory.
31121         (get_tool_versions): Request feedback on xdelta.  I suspect it's
31122         not useful, and plan to stop publishing an xdelta file with each
31123         coreutils release.
31124
31125         * build-aux/announce-gen: Also check for lzma-compressed files.
31126
31127 2008-01-11  Bruno Haible  <bruno@clisp.org>
31128
31129         * tests/test-memmem.c (main): Increase maximum allowed time.
31130         * tests/test-strstr.c (main): Likewise.
31131
31132 2008-01-11  Bruno Haible  <bruno@clisp.org>
31133
31134         * doc/functions/memmem.texi: Add more precisions about platforms.
31135         * doc/functions/strstr.texi: Likewise.
31136
31137 2008-01-10  Eric Blake  <ebb9@byu.net>
31138
31139         * m4/strstr.m4: Delete cruft from copy-n-paste.
31140         Reported by Bruno Haible.
31141
31142 2008-01-10  Bruno Haible  <bruno@clisp.org>
31143
31144         Make c-strstr rely on strstr.
31145         * lib/c-strstr.c: Don't include str-kmp.h.
31146         (c_strstr): Define in terms of strstr.
31147         * modules/c-strstr (Files): Remove lib/str-kmp.h.
31148         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
31149
31150 2008-01-10  Bruno Haible  <bruno@clisp.org>
31151
31152         * doc/gnulib.texi (String Functions in C Locale): New section.
31153         * doc/c-ctype.texi: New file.
31154         * doc/c-strcase.texi: New file.
31155         * doc/c-strcaseeq.texi: New file.
31156         * doc/c-strcasestr.texi: New file.
31157         * doc/c-strstr.texi: New file.
31158         * doc/c-strtod.texi: New file.
31159         * doc/c-strtold.texi: New file.
31160
31161 2008-01-10  Eric Blake  <ebb9@byu.net>
31162
31163         * lib/relocatable.h: Fix a comment.
31164
31165 2008-01-10  Eric Blake  <ebb9@byu.net>
31166
31167         Share two-way algorithm.
31168         * lib/str-two-way.h: New file, merged from...
31169         * lib/memmem.c: ...here...
31170         * lib/strstr.c: ...and here.
31171         * modules/memmem (Files): Use it.
31172         * modules/strstr (Files): Likewise.
31173
31174         Avoid quadratic strstr implementations.
31175         * lib/strstr.c: New file.
31176         * m4/strstr.m4: Likewise.
31177         * modules/strstr: Likewise.
31178         * modules/strstr-tests: Likewise.
31179         * tests/test-strstr.c: Likewise.
31180         * lib/string.in.h (rpl_strstr): Declare.
31181         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
31182         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
31183         * modules/string (Makefile.am): Likewise.
31184         * MODULES.html.sh (string handling): Mention new module.
31185         * doc/functions/strstr.texi (strstr): Document the bug.
31186
31187 2008-01-10  Bruno Haible  <bruno@clisp.org>
31188
31189         * lib/relocatable.h (relocate): State whether result is freshly
31190         allocated or not.
31191         * lib/relocatable.c (relocate): Return a freshly allocated string
31192         instead of a pointer to a privately held string.
31193         Reported by Sylvain Beucler <beuc@gnu.org>.
31194
31195 2008-01-10  Colin Watson  <cjwatson@debian.org>
31196
31197         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
31198         s/S_ISNLK/S_ISLNK/.
31199
31200 2008-01-09  Bruno Haible  <bruno@clisp.org>
31201
31202         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
31203         and other files.
31204         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
31205         if it's only a guess.
31206         * modules/memmem: Simplify by depending on memmem-simple.
31207
31208 2008-01-09  Bruno Haible  <bruno@clisp.org>
31209
31210         Work around OpenBSD 4.0 tdelete() bug.
31211         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
31212         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
31213         macros and don't redefine the enum values.
31214         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
31215         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
31216         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
31217
31218 2008-01-09  Bruno Haible  <bruno@clisp.org>
31219
31220         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
31221         (main): Don't perform the tests if setlocale did not install a UTF-8
31222         locale. Needed on OpenBSD 4.0.
31223         * modules/wcwidth-tests (Depends-on): Add localcharset.
31224
31225 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
31226
31227         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
31228         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
31229         * NEWS: announce this.
31230         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
31231
31232 2008-01-09  Simon Josefsson  <simon@josefsson.org>
31233         and Eric Blake  <ebb9@byu.net>
31234
31235         Add memmem-simple module.
31236         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
31237         (gl_FUNC_MEMMEM): Separate performance from presence checks.
31238         * modules/memmem-simple: New file.
31239         * modules/memmem (Description): Tweak.
31240         * MODULES.html.sh (string handling): Mention new module.
31241         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
31242         addressed by memmem-simple.
31243         * NEWS: Document the difference.
31244
31245 2008-01-09  Eric Blake  <ebb9@byu.net>
31246
31247         Give gcc some memmem optimization hints.
31248         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
31249         (strcasestr): Declare as pure.
31250         * modules/memmem (Maintainer): Claim my implementation.
31251
31252 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31253
31254         Support AIX 6.1 and higher.
31255         * build-aux/config.libpath: Likewise.
31256         * build-aux/config.rpath: Likewise.
31257
31258 2008-01-08  Jim Meyering  <meyering@redhat.com>
31259             Bruno Haible  <bruno@clisp.org>
31260
31261         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
31262         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
31263         Reported by Peter Fales in
31264         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
31265
31266 2008-01-08  Bruno Haible  <bruno@clisp.org>
31267
31268         * modules/unictype/category-of (Depends-on): Add
31269         unictype/category-none.
31270         * modules/unictype/category-and-tests (Depends-on): Add
31271         unictype/category-{L,N,Lu,Nd}.
31272         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
31273         * modules/unictype/category-or-tests (Depends-on): Add
31274         unictype/category-{L,N}.
31275         * modules/unictype/category-name-tests (Depends-on): Add
31276         unictype/category-{Z,Nl}.
31277         Reported by Simon Josefsson.
31278
31279 2008-01-08  Bruno Haible  <bruno@clisp.org>
31280
31281         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
31282         convention better.
31283         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
31284         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
31285         Reported by Peter Miller <millerp@canb.auug.org.au>.
31286
31287 2008-01-08  Eric Blake  <ebb9@byu.net>
31288
31289         Rewrite memmem to guarantee linear complexity without malloc.
31290         * lib/memmem.c (memmem): Use Two-Way rather than
31291         Knuth-Morris-Pratt, to allow O(1) space usage.
31292         (critical_factorization, two_way_short_needle)
31293         (two_way_long_needle): New functions.
31294         (knuth_morris_pratt): Delete.
31295         * modules/memmem (Depends-on): No longer need malloca or stdbool.
31296         Add stdint.
31297         * tests/test-memmem.c (main): Add tests for periodic needle and
31298         sublinear performance.
31299         * doc/functions/memmem.texi (memmem): Document other deficiencies
31300         in cygwin and older glibc.
31301
31302 2008-01-08  Bruno Haible  <bruno@clisp.org>
31303
31304         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
31305         augmentation.
31306
31307 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
31308
31309         Add a configure time option: --disable-acl.
31310         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
31311         AC_ARG_ENABLE(acl).
31312
31313 2008-01-06  Simon Josefsson  <simon@josefsson.org>
31314
31315         * tests/test-localename.c: Don't include obsolete "setenv.h".
31316
31317         * modules/localename-tests (Depends-on): Need unsetenv.
31318
31319 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31320
31321         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
31322
31323 2008-01-06  Colin Watson  <cjwatson@debian.org>
31324
31325         * users.txt: Add man-db.
31326
31327 2008-01-07  Bruno Haible  <bruno@clisp.org>
31328
31329         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
31330         previous section name.
31331
31332 2008-01-07  Bruno Haible  <bruno@clisp.org>
31333
31334         * lib/progname.c (set_program_name): Don't strip off a leading
31335         "lt-" prefix outside a .libs directory.
31336         Suggested by Paul Eggert.
31337
31338 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
31339             Bruno Haible  <bruno@clisp.org>
31340
31341         Improve memory cleanup in 'relocatable' module.
31342         * lib/relocatable.h (compute_curr_prefix): Change return type to
31343         'char *'.
31344         * lib/relocatable.c (compute_curr_prefix): Change return type to
31345         'char *'. Free curr_installdir after use.
31346         (relocate): Free curr_prefix_better after use.
31347         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
31348
31349 2008-01-01  Bruno Haible  <bruno@clisp.org>
31350
31351         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
31352         failure on older glibc systems.
31353         Reported by Peter Fales <psfales@alcatel-lucent.com>.
31354
31355 2008-01-05  Eric Blake  <ebb9@byu.net>
31356
31357         Avoid quadratic system memmem.
31358         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
31359         Reported by Ralf Wildenhues.
31360
31361         Fix memmem test for mingw.
31362         * modules/memmem-tests (configure.ac): Check for alarm.
31363         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
31364         it.
31365         * doc/functions/memmem.texi: New file.
31366         * doc/gnulib.texi (Function Substitutes): Add memmem.
31367         Reported by Bruno Haible.
31368
31369 2008-01-04  Bruno Haible  <bruno@clisp.org>
31370
31371         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
31372         Require gl_HEADER_STRINGS_H_DEFAULTS, not
31373         gl_HEADER_STRING_H_DEFAULTS.
31374
31375 2008-01-04  Eric Blake  <ebb9@byu.net>
31376
31377         Shorten duration of memmem test.
31378         * tests/test-memmem.c (main): Use alarm to declare failure if test
31379         is taking too long.
31380         Reported by Ralf Wildenhues.
31381
31382 2007-12-21  Simon Josefsson  <simon@josefsson.org>
31383
31384         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
31385         string, needed by strerror.
31386
31387 2008-01-03  Colin Watson  <cjwatson@debian.org>
31388             Bruno Haible  <bruno@clisp.org>
31389
31390         * doc/gnulib-tool.texi (Localization): New section.
31391
31392 2008-01-02  Bruno Haible  <bruno@clisp.org>
31393
31394         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
31395         variables to 'unsigned char *' type.
31396         Reported by Paul Eggert.
31397
31398 2008-01-02  Jim Meyering  <jim@meyering.net>
31399
31400         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
31401
31402 2007-12-31  Jim Meyering  <jim@meyering.net>
31403
31404         Avoid use of private FTS type name.
31405         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
31406
31407 2007-12-30  Karl Berry  <karl@gnu.org>
31408
31409         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
31410         work around defect in Texinfo and/or the standalone Info browser.
31411
31412 2007-12-30  Bruno Haible  <bruno@clisp.org>
31413
31414         Unify 5 copies of the KMP code.
31415         * lib/str-kmp.h: New file.
31416         * lib/c-strcasestr.c: Include str-kmp.h.
31417         (knuth_morris_pratt): Remove function.
31418         (c_strcasestr): Update.
31419         * lib/c-strstr.c: Include str-kmp.h.
31420         (knuth_morris_pratt): Remove function.
31421         (c_strcasestr): Update.
31422         * lib/mbscasestr.c: Include str-kmp.h.
31423         (knuth_morris_pratt_unibyte): Remove function.
31424         * lib/mbsstr.c: Include str-kmp.h.
31425         (knuth_morris_pratt_unibyte): Remove function.
31426         * lib/strcasestr.c: Include str-kmp.h.
31427         (knuth_morris_pratt): Remove function.
31428         (strcasestr): Update.
31429         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
31430         * modules/c-strstr (Files): Likewise.
31431         * modules/mbscasestr (Files): Likewise.
31432         * modules/mbsstr (Files): Likewise.
31433         * modules/strcasestr (Files): Likewise.
31434         Suggested by Paul Eggert.
31435
31436 2007-12-30  Bruno Haible  <bruno@clisp.org>
31437
31438         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
31439         defined.
31440
31441 2007-12-30  Bruno Haible  <bruno@clisp.org>
31442
31443         * lib/xmalloca.h: Include xalloc.h.
31444         (xnmalloca): New macro.
31445
31446 2007-12-30  Bruno Haible  <bruno@clisp.org>
31447
31448         * lib/malloca.h (nmalloca): New macro.
31449         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
31450         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
31451         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
31452         knuth_morris_pratt_multibyte): Likewise.
31453         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
31454         knuth_morris_pratt_multibyte): Likewise.
31455         * lib/memmem.c (knuth_morris_pratt): Likewise.
31456         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
31457
31458 2007-12-25  Bruno Haible  <bruno@clisp.org>
31459
31460         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
31461         * lib/glob.c: Don't include openat.h.
31462         (link_exists2_p): Add back the code that deals with the
31463         !GLOB_ALTDIRFUNC case.
31464         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
31465         let it do the filename concatenation.
31466         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
31467         * modules/glob (Depends-on): Remove openat.
31468
31469 2007-12-31  Bruno Haible  <bruno@clisp.org>
31470
31471         * modules/dirfd (License): Change to LGPLv2+.
31472         Approved by Jim Meyering.
31473
31474 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
31475
31476         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
31477         when multiplying M by sizeof (size_t).
31478
31479 2007-12-10  Martin Lambers  <marlam@marlam.de>
31480
31481         Override getpagesize on mingw.
31482         * lib/getpagesize.c: New file.
31483         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
31484         * modules/getpagesize (Files): Add lib/getpagesize.c.
31485         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
31486         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
31487         REPLACE_GETPAGESIZE.
31488         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
31489
31490 2007-12-25  Bruno Haible  <bruno@clisp.org>
31491
31492         * modules/localcharset (Notice): New field.
31493         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
31494         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
31495
31496 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
31497             Bruno Haible  <bruno@clisp.org>
31498
31499         Avoid using the syntax symbol() in formatted documentation.
31500         * MODULES.html.sh (func_module): When replacing symbol() with a
31501         hyperlink, remove the parentheses. Show an error if some remain.
31502         Recognize and render the '...' syntax.
31503         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
31504         Rework. Add paragraph about GCC's inlining.
31505         * doc/alloca.texi: Likewise.
31506         * doc/error.texi: Remove parentheses from symbol reference.
31507         * doc/gnulib-intro.texi: Likewise.
31508         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
31509         * modules/fnmatch (Description): Reword to say "the ... function".
31510         * modules/full-read (Description): Likewise.
31511         * modules/full-write (Description): Likewise.
31512         * modules/safe-read (Description): Likewise.
31513         * modules/safe-write (Description): Likewise.
31514         * modules/strchrnul (Description): Likewise.
31515         * modules/trim (Description): Likewise.
31516         * modules/error (Description): Remove parentheses from symbol
31517         references.
31518         * modules/verror (Description): Likewise.
31519         Reported by Karl Berry.
31520
31521 2007-12-25  Bruno Haible  <bruno@clisp.org>
31522
31523         Fixup after 2007-10-16 commit.
31524         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
31525
31526 2007-12-24  Bruno Haible  <bruno@clisp.org>
31527
31528         Make --enable-relocatable work with DESTDIR.
31529         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
31530         to compute installdir from destprog.
31531         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
31532         also set the RELOC_DESTDIR variable.
31533         Reported by Левашев Иван <octagram@bluebottle.com>.
31534
31535 2007-12-24  Bruno Haible  <bruno@clisp.org>
31536
31537         Fix link error due to xalloc_die().
31538         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
31539         of xreadlink.
31540         * lib/relocwrapper.c: Update comments.
31541         * build-aux/install-reloc: Remove xreadlink.c from file list.
31542         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
31543         xreadlink.c.
31544         Reported by Левашев Иван <octagram@bluebottle.com>.
31545
31546 2007-12-24  Bruno Haible  <bruno@clisp.org>
31547
31548         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
31549         * lib/setenv.h: Remove file.
31550         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
31551         lib/setenv.h.
31552         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
31553         (Depends-on): Add stdlib.
31554         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
31555         gl_FUNC_UNSETENV.
31556         (Include): Replace setenv.h with <stdlib.h>.
31557         * modules/unsetenv: New file.
31558         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
31559         * lib/unsetenv.c: Include <stdlib.h> first.
31560         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
31561         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
31562         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
31563         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
31564         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
31565         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
31566         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
31567         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
31568         * doc/functions/unsetenv.texi: Update.
31569         * modules/xsetenv (Depends-on): Add unsetenv.
31570         * modules/getdate (Depends-on): Likewise.
31571         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
31572         * lib/xsetenv.c: Don't include setenv.h.
31573         * lib/getdate.y: Likewise.
31574         * lib/relocwrapper.c: Likewise.
31575         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
31576         (Depends-on): Add stdlib.
31577         * NEWS: Mention the changes.
31578         Reported by Левашев Иван <octagram@bluebottle.com>.
31579
31580 2007-12-23  Bruno Haible  <bruno@clisp.org>
31581
31582         * lib/memmem.c (memmem): Use lowercase variable names. Tab
31583         indentation.
31584
31585 2007-12-23  Bruno Haible  <bruno@clisp.org>
31586
31587         * lib/c-strcasestr.c: Add more comments.
31588         * lib/c-strstr.c: Likewise.
31589         * lib/mbscasestr.c: Likewise.
31590         * lib/mbsstr.c: Likewise.
31591         * lib/strcasestr.c: Likewise.
31592         * lib/memmem.c: Likewise.
31593
31594 2007-12-23  Bruno Haible  <bruno@clisp.org>
31595
31596         * tests/test-memmem.c: Include <string.h> first.
31597
31598 2007-12-22  Bruno Haible  <bruno@clisp.org>
31599
31600         * gnulib-tool (func_create_testdir): Change $auxdir while generating
31601         the contents of $testsbase.
31602         Reported by Ralf Wildenhues.
31603
31604 2007-12-22  Bruno Haible  <bruno@clisp.org>
31605
31606         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
31607         two variables local_ldadd_before, local_ldadd_last.
31608
31609 2007-12-20  Eric Blake  <ebb9@byu.net>
31610
31611         Work around circular library issue when cross-compiling.
31612         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
31613         that progname.o does not need to pull in rpl_memcmp.
31614
31615 2007-12-19  Eric Blake  <ebb9@byu.net>
31616
31617         Fix memmem to avoid O(n^2) worst-case complexity.
31618         * lib/memmem.c (knuth_morris_pratt): New function.
31619         (memmem): Use it if first few naive iterations fail.
31620         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
31621         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
31622         * modules/memchr (License): Likewise.
31623         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
31624         malloca.
31625         * tests/test-memmem.c: Rewrite, borrowing ideas from
31626         test-mbsstr1.c; the old version wouldn't even compile!
31627         * modules/memmem-tests: New file.
31628         * lib/string.in.h (rpl_memmem): Add declaration.
31629         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
31630         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
31631         REPLACE_MEMMEM.
31632
31633 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
31634
31635         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
31636         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
31637         before any system include files, and undef after them all.  This
31638         should fix a problem on VMS reported by John E. Malmberg in
31639         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
31640
31641 2007-12-17  Eric Blake  <ebb9@byu.net>
31642
31643         Revert addition of verify, for BSD/OS.
31644         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
31645         can't handle large files, for the sake of obsolete platforms.
31646         * modules/fseeko (Depends-on): Remove verify.
31647         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
31648         * doc/functions/ftello.texi (ftello): Likewise.
31649         * doc/functions/fgetpos.texi (fgetpos): Likewise.
31650         Reported by Larry Jones.
31651
31652 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
31653
31654         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
31655         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
31656
31657 2007-12-17  Jim Meyering  <meyering@redhat.com>
31658
31659         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
31660         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
31661         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
31662         * modules/getcwd (Depends-on): Add openat.
31663         Reported by Petr Salinger.
31664
31665 2007-12-17  Bruno Haible  <bruno@clisp.org>
31666
31667         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
31668         avoid a segmentation fault of the configure test on x86_64 systems.
31669
31670 2007-12-15  Jim Meyering  <meyering@redhat.com>
31671
31672         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
31673
31674 2007-12-13  Eric Blake  <ebb9@byu.net>
31675
31676         Another fseek test.
31677         * tests/test-fseek.c (main): Also test ungetc handling.
31678         * tests/test-fseeko.c (main): Likewise.
31679         * modules/fseeko (Depends-on): Add verify.
31680         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
31681         large.
31682         Reported by Larry Jones.
31683
31684         Fix fseeko on mingw.
31685         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
31686         seek.
31687
31688         Beef up fseek tests.
31689         * tests/test-fseek.c (main): Also test eof handling.
31690         * tests/test-fseeko.c (main): Likewise.
31691         Reported by Larry Jones.
31692
31693 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
31694
31695         Fix fseeko on BSD-based platforms.
31696         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
31697         successful seek.
31698
31699 2007-12-12  Eric Blake  <ebb9@byu.net>
31700
31701         Allow circular dependency of separate libtests.a
31702         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
31703         when use_libtests.
31704
31705 2007-12-11  Eric Blake  <ebb9@byu.net>
31706
31707         Fix bug with -0.0L in previous patch.
31708         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
31709         * tests/test-isnan.c (main): Also test on zeroes.
31710         * tests/test-isnanf.c (main): Likewise.
31711         * tests/test-isnanl.h (main): Likewise.
31712
31713         Detect pseudo-denormals on x86 even when cross-compiling.
31714         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
31715         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
31716         invalid bit patterns that happen to satisfy ==.
31717
31718         Avoid link failures with separate libtests.a.
31719         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
31720         last, to satisfy circular dependencies.
31721
31722 2007-12-11  Eric Blake  <ebb9@byu.net>
31723         and Bruno Haible  <bruno@clisp.org>
31724
31725         Fix OpenBSD 4.0 <float.h> handling of long double.
31726         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
31727         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
31728         * doc/headers/float.texi (float.h): Document OpenBSD bug.
31729
31730 2007-12-11  Jim Meyering  <meyering@redhat.com>
31731
31732         * users.txt: Add libvirt.
31733
31734         Support versions of autoconf prior to 2.59c.
31735         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
31736         if it is not already defined.
31737
31738 2007-12-09  Bruno Haible  <bruno@clisp.org>
31739
31740         Let 'gnulib-tool --import' collect sources needed for the tests in
31741         tests/ rather than in lib/.
31742         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
31743         argument. If true, add rules to generate libtests.a, and put libtests.a
31744         into $(LDADD). Consider source files in subdirectories and set
31745         uses_subdirs.
31746         (func_emit_initmacro_start, func_emit_initmacro_end,
31747         func_emit_initmacro_done): Pass all arguments explicitly.
31748         (func_import): Determine two module lists main_modules,
31749         testsrelated_modules. Determine use_libtests. Determine two variables
31750         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
31751         instead of just sed_transform_lib_file. Determine two variables
31752         main_files and testsrelated_files. Compute 'files' as the union of
31753         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
31754         func_add_or_update. In the generated gnulib-comp.m4, collect the
31755         object files for tests/ in different variables than those for lib/.
31756         Substitute LIBTESTS_LIBDEPS.
31757         (func_create_testdir): Combine the uses_subdirs results from
31758         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
31759
31760 2007-12-09  Bruno Haible  <bruno@clisp.org>
31761
31762         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
31763         the build-aux directory.
31764
31765 2007-12-09  Bruno Haible  <bruno@clisp.org>
31766
31767         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
31768         introduced on 2006-09-09.
31769
31770 2007-12-07  Jim Meyering  <meyering@redhat.com>
31771
31772         Let these macros work also with autoconf-2.59.
31773         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
31774         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
31775         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
31776
31777 2007-12-06  Jim Meyering  <meyering@redhat.com>
31778
31779         Avoid a configure-time syntax error in gl_FUNC_ACL.
31780         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
31781         function in each branch, before testing the cache variable.
31782
31783 2007-12-04  Eric Blake  <ebb9@byu.net>
31784
31785         Make scripts executable.
31786         * build-aux/config.guess: Add execute permissions.
31787         * build-aux/config.sub: Likewise.
31788         * build-aux/gendocs.sh: Likewise.
31789
31790         Fix frexp on mingw.
31791         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
31792         cross-compiling.
31793         * doc/functions/frexp.texi (frexp): Document the bug.
31794
31795         Make cygwin fseeko check more reliable.
31796         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
31797         version numbers, rather than unrelated feature check.
31798         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
31799         * doc/functions/ftello.texi (ftello): Likewise.
31800         Reported by Bruno Haible.
31801
31802         * m4/strerror.m4: Bump version number.
31803
31804 2007-12-03  Bruno Haible  <bruno@clisp.org>
31805
31806         * doc/functions/mprotect.texi: Mention the mingw problem.
31807
31808 2007-12-03  Eric Blake  <ebb9@byu.net>
31809
31810         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
31811         REPLACE_STRERROR is initialized before this macro.
31812
31813 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
31814
31815         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
31816         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
31817         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
31818         put -lsec in even for programs other than 'ls'.  This fixes a problem
31819         for gettext reported by Bruno Haible in
31820         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
31821         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
31822         Add support for Solaris 10.  This isn't efficient, but should get the
31823         job done for now.
31824
31825 2007-12-03  James Youngman  <jay@gnu.org>
31826
31827         * doc/regexprops-generic.texi: change "an close-group" to "a
31828         close-group" and "illegal" to "not allowed".
31829
31830 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31831
31832         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
31833         pr_byname.h. Needed for the rare case when the maintainer has done
31834         "make maintainer-clean" in the source directory and then attempts a
31835         build outside the source directory.
31836         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
31837         scripts_byname.h.
31838
31839 2007-12-02  Martin Lambers <marlam@marlam.de>
31840             Bruno Haible  <bruno@clisp.org>
31841
31842         * lib/getpagesize.h: Remove file.
31843         * lib/unistd.in.h: Include declaration of getpagesize here.
31844         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
31845         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
31846         HAVE_SYS_PARAM_H.
31847         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
31848         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
31849         * modules/getpagesize (Files): Remove lib/getpagesize.h.
31850         (Depends-on): Add unistd.
31851         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
31852         (Include): Use <unistd.h> instead of getpagesize.h.
31853         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
31854         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
31855         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
31856         gl_GETPAGESIZE invocation, already handled by module dependency.
31857         * lib/pagealign_alloc.c: Don't include getpagesize.h.
31858
31859 2007-12-02  Bruno Haible  <bruno@clisp.org>
31860
31861         * modules/strings-tests: New file.
31862         * tests/test-strings.c: New file.
31863
31864         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
31865         * lib/strings.in.h: New file.
31866         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
31867         * m4/strings_h.m4: New file.
31868         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
31869         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
31870         * modules/strings: New file.
31871         * modules/string (Makefile.am): Update.
31872         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
31873         Reported by Karl Berry.
31874
31875 2007-12-01  Eric Blake  <ebb9@byu.net>
31876
31877         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
31878         accomodate fix in cygwin 1.5.25.
31879
31880 2007-12-01  Jim Meyering  <meyering@redhat.com>
31881
31882         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
31883         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
31884         that would inhibit utf8-optimization of a regexp containing line-
31885         or buffer-anchors, e.g., `^', `$'.
31886
31887 2007-11-30  Bruno Haible  <bruno@clisp.org>
31888
31889         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
31890         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
31891         glthread_recursive_lock_init.
31892         * lib/lock.c (glthread_recursive_lock_init)
31893         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
31894         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
31895
31896 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
31897
31898         New function qset_acl, like set_acl but with syscall semantics.
31899         * lib/acl.h (qset_acl): New decl.
31900         * lib/acl.c (qset_acl): New function.
31901         (set_acl): Use new function.  Use more-consistent diagnostics.
31902
31903 2007-11-28  Jim Meyering  <meyering@redhat.com>
31904
31905         * modules/physmem (License): Change from GPL to LGPLv2+.
31906
31907 2007-11-26  Bruno Haible  <bruno@clisp.org>
31908
31909         * lib/vasnprintf.c (decode_long_double): Don't abort if the
31910         'long double' type has excess precision.
31911         Reported by Jim Meyering in
31912         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
31913
31914 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31915
31916         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
31917         Sync from <http://gnu.org/licenses>.
31918         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
31919         with license text from same location.
31920         * doc/maintain.texi, doc/standards.texi:  Sync from
31921         <http://savannah.gnu.org/projects/gnustandards>.
31922
31923 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
31924         and Jim Meyering  <meyering@redhat.com>
31925
31926         Adjust getdate' grammar to accept a slightly more regular language.
31927         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
31928         Before, the former was rejected.
31929         * lib/getdate.y (digits_to_date_time): New function, factored
31930         out of ...
31931         (number): ...here.  Just call digits_to_date_time.
31932         (hybrid): New non-terminal to handle an <unsigned number,
31933         signed relative offset> sequence consistently.
31934
31935 2007-11-18  Jim Meyering  <meyering@redhat.com>
31936
31937         Pull my changes from coreutils:
31938         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
31939         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
31940         use of $gnulib_tool_option_extras, so that it's separated from the
31941         preceding argument.
31942
31943         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
31944         * build-aux/bootstrap (cp_mark_as_generated): Create any required
31945         parent destination directories before copying a file into place.
31946
31947 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
31948
31949         bootstrap: work also with 4-argument variant of AC_INIT
31950         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
31951
31952 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
31953
31954         Port test-getaddrinfo to Solaris.
31955         Problem reported by Bruno Haible in
31956         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
31957         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
31958         explanation of setting 'hints'.
31959         Don't reject an implementation merely because it returns EAI_SERVICE.
31960         (EAI_SERVICE): Define to 0 if not defined.
31961
31962 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
31963
31964         The license of gnu-make and posix-shell is now "GPLed build tool".
31965         * modules/gnu-make (License): Likewise.
31966         * modules/posix-shell (License): Likewise.
31967
31968         New module posix-shell, for determining a POSIX shell
31969         or perhaps something that is close enough to a POSIX shell.
31970         * m4/posix-shell.m4: New file.
31971         * modules/posix-shell: New file.
31972
31973         * MODULES.html.sh: Mention new module.
31974
31975         New module gnu-make, for determining whether we're using GNU Make.
31976         * m4/gnu-make.m4: New file.
31977         * modules/gnu-make: New file.
31978         * MODULES.html.sh: Mention new module.
31979
31980 2007-11-14  Jim Meyering  <meyering@redhat.com>
31981
31982         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
31983         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
31984         use this macro to create a function _definition_.
31985         Remove useless "#undef ARGMATCH_DIE".
31986
31987 2007-11-14  Bruno Haible  <bruno@clisp.org>
31988
31989         * lib/config.charset: Update for OpenBSD 4.1.
31990         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
31991
31992 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
31993
31994         Document 64-bit #if problems in stdint.texi.
31995         * doc/headers/stdint.texi (stdint.h): Mention problems with
31996         64-bit-#if, and how to work around them.
31997
31998         Don't insist on 'long long int' support in the preprocessor.  It
31999         breaks too many things.  For example, PRIdMAX still uses a 'long
32000         long int' format with the latest Sun compiler, even though
32001         HAVE_LONG_LONG_INT isn't defined due to that compiler's
32002         preprocessor problem.  This causes the latest coreutils to dump
32003         core on Solaris 10 sparc with the Sun C compiler.
32004         Instead, fix the 2007-10-16 problem in a different way, by evaluating
32005         the troublesome expressions at configure-time, not at #if-time.
32006         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
32007         preprocessor.
32008         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
32009         compile-time C checks, done at 'configure'-time.
32010         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
32011         * modules/inttypes (Makefile): Substitute the new symbols that
32012         gl_INTTYPES_H now generates.
32013         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
32014
32015 2007-11-12  Bruno Haible  <bruno@clisp.org>
32016
32017         Tests for Unicode character classification functions.
32018
32019         * modules/unictype/bidicategory-byname-tests: New file.
32020         * modules/unictype/bidicategory-name-tests: New file.
32021         * modules/unictype/bidicategory-of-tests: New file.
32022         * modules/unictype/bidicategory-test-tests: New file.
32023         * modules/unictype/block-list-tests: New file.
32024         * modules/unictype/block-of-tests: New file.
32025         * modules/unictype/block-test-tests: New file.
32026         * modules/unictype/category-C-tests: New file.
32027         * modules/unictype/category-Cc-tests: New file.
32028         * modules/unictype/category-Cf-tests: New file.
32029         * modules/unictype/category-Cn-tests: New file.
32030         * modules/unictype/category-Co-tests: New file.
32031         * modules/unictype/category-Cs-tests: New file.
32032         * modules/unictype/category-L-tests: New file.
32033         * modules/unictype/category-Ll-tests: New file.
32034         * modules/unictype/category-Lm-tests: New file.
32035         * modules/unictype/category-Lo-tests: New file.
32036         * modules/unictype/category-Lt-tests: New file.
32037         * modules/unictype/category-Lu-tests: New file.
32038         * modules/unictype/category-M-tests: New file.
32039         * modules/unictype/category-Mc-tests: New file.
32040         * modules/unictype/category-Me-tests: New file.
32041         * modules/unictype/category-Mn-tests: New file.
32042         * modules/unictype/category-N-tests: New file.
32043         * modules/unictype/category-Nd-tests: New file.
32044         * modules/unictype/category-Nl-tests: New file.
32045         * modules/unictype/category-No-tests: New file.
32046         * modules/unictype/category-P-tests: New file.
32047         * modules/unictype/category-Pc-tests: New file.
32048         * modules/unictype/category-Pd-tests: New file.
32049         * modules/unictype/category-Pe-tests: New file.
32050         * modules/unictype/category-Pf-tests: New file.
32051         * modules/unictype/category-Pi-tests: New file.
32052         * modules/unictype/category-Po-tests: New file.
32053         * modules/unictype/category-Ps-tests: New file.
32054         * modules/unictype/category-S-tests: New file.
32055         * modules/unictype/category-Sc-tests: New file.
32056         * modules/unictype/category-Sk-tests: New file.
32057         * modules/unictype/category-Sm-tests: New file.
32058         * modules/unictype/category-So-tests: New file.
32059         * modules/unictype/category-Z-tests: New file.
32060         * modules/unictype/category-Zl-tests: New file.
32061         * modules/unictype/category-Zp-tests: New file.
32062         * modules/unictype/category-Zs-tests: New file.
32063         * modules/unictype/category-and-not-tests: New file.
32064         * modules/unictype/category-and-tests: New file.
32065         * modules/unictype/category-byname-tests: New file.
32066         * modules/unictype/category-name-tests: New file.
32067         * modules/unictype/category-none-tests: New file.
32068         * modules/unictype/category-of-tests: New file.
32069         * modules/unictype/category-or-tests: New file.
32070         * modules/unictype/category-test-withtable-tests: New file.
32071         * modules/unictype/combining-class-tests: New file.
32072         * modules/unictype/ctype-alnum-tests: New file.
32073         * modules/unictype/ctype-alpha-tests: New file.
32074         * modules/unictype/ctype-blank-tests: New file.
32075         * modules/unictype/ctype-cntrl-tests: New file.
32076         * modules/unictype/ctype-digit-tests: New file.
32077         * modules/unictype/ctype-graph-tests: New file.
32078         * modules/unictype/ctype-lower-tests: New file.
32079         * modules/unictype/ctype-print-tests: New file.
32080         * modules/unictype/ctype-punct-tests: New file.
32081         * modules/unictype/ctype-space-tests: New file.
32082         * modules/unictype/ctype-upper-tests: New file.
32083         * modules/unictype/ctype-xdigit-tests: New file.
32084         * modules/unictype/decimal-digit-tests: New file.
32085         * modules/unictype/digit-tests: New file.
32086         * modules/unictype/mirror-tests: New file.
32087         * modules/unictype/numeric-tests: New file.
32088         * modules/unictype/property-alphabetic-tests: New file.
32089         * modules/unictype/property-ascii-hex-digit-tests: New file.
32090         * modules/unictype/property-bidi-arabic-digit-tests: New file.
32091         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
32092         * modules/unictype/property-bidi-block-separator-tests: New file.
32093         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
32094         * modules/unictype/property-bidi-common-separator-tests: New file.
32095         * modules/unictype/property-bidi-control-tests: New file.
32096         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
32097         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
32098         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
32099         * modules/unictype/property-bidi-european-digit-tests: New file.
32100         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
32101         * modules/unictype/property-bidi-left-to-right-tests: New file.
32102         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
32103         * modules/unictype/property-bidi-other-neutral-tests: New file.
32104         * modules/unictype/property-bidi-pdf-tests: New file.
32105         * modules/unictype/property-bidi-segment-separator-tests: New file.
32106         * modules/unictype/property-bidi-whitespace-tests: New file.
32107         * modules/unictype/property-byname-tests: New file.
32108         * modules/unictype/property-combining-tests: New file.
32109         * modules/unictype/property-composite-tests: New file.
32110         * modules/unictype/property-currency-symbol-tests: New file.
32111         * modules/unictype/property-dash-tests: New file.
32112         * modules/unictype/property-decimal-digit-tests: New file.
32113         * modules/unictype/property-default-ignorable-code-point-tests: New file.
32114         * modules/unictype/property-deprecated-tests: New file.
32115         * modules/unictype/property-diacritic-tests: New file.
32116         * modules/unictype/property-extender-tests: New file.
32117         * modules/unictype/property-format-control-tests: New file.
32118         * modules/unictype/property-grapheme-base-tests: New file.
32119         * modules/unictype/property-grapheme-extend-tests: New file.
32120         * modules/unictype/property-grapheme-link-tests: New file.
32121         * modules/unictype/property-hex-digit-tests: New file.
32122         * modules/unictype/property-hyphen-tests: New file.
32123         * modules/unictype/property-id-continue-tests: New file.
32124         * modules/unictype/property-id-start-tests: New file.
32125         * modules/unictype/property-ideographic-tests: New file.
32126         * modules/unictype/property-ids-binary-operator-tests: New file.
32127         * modules/unictype/property-ids-trinary-operator-tests: New file.
32128         * modules/unictype/property-ignorable-control-tests: New file.
32129         * modules/unictype/property-iso-control-tests: New file.
32130         * modules/unictype/property-join-control-tests: New file.
32131         * modules/unictype/property-left-of-pair-tests: New file.
32132         * modules/unictype/property-line-separator-tests: New file.
32133         * modules/unictype/property-logical-order-exception-tests: New file.
32134         * modules/unictype/property-lowercase-tests: New file.
32135         * modules/unictype/property-math-tests: New file.
32136         * modules/unictype/property-non-break-tests: New file.
32137         * modules/unictype/property-not-a-character-tests: New file.
32138         * modules/unictype/property-numeric-tests: New file.
32139         * modules/unictype/property-other-alphabetic-tests: New file.
32140         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
32141         * modules/unictype/property-other-grapheme-extend-tests: New file.
32142         * modules/unictype/property-other-id-continue-tests: New file.
32143         * modules/unictype/property-other-id-start-tests: New file.
32144         * modules/unictype/property-other-lowercase-tests: New file.
32145         * modules/unictype/property-other-math-tests: New file.
32146         * modules/unictype/property-other-uppercase-tests: New file.
32147         * modules/unictype/property-paired-punctuation-tests: New file.
32148         * modules/unictype/property-paragraph-separator-tests: New file.
32149         * modules/unictype/property-pattern-syntax-tests: New file.
32150         * modules/unictype/property-pattern-white-space-tests: New file.
32151         * modules/unictype/property-private-use-tests: New file.
32152         * modules/unictype/property-punctuation-tests: New file.
32153         * modules/unictype/property-quotation-mark-tests: New file.
32154         * modules/unictype/property-radical-tests: New file.
32155         * modules/unictype/property-sentence-terminal-tests: New file.
32156         * modules/unictype/property-soft-dotted-tests: New file.
32157         * modules/unictype/property-space-tests: New file.
32158         * modules/unictype/property-terminal-punctuation-tests: New file.
32159         * modules/unictype/property-test-tests: New file.
32160         * modules/unictype/property-titlecase-tests: New file.
32161         * modules/unictype/property-unassigned-code-value-tests: New file.
32162         * modules/unictype/property-unified-ideograph-tests: New file.
32163         * modules/unictype/property-uppercase-tests: New file.
32164         * modules/unictype/property-variation-selector-tests: New file.
32165         * modules/unictype/property-white-space-tests: New file.
32166         * modules/unictype/property-xid-continue-tests: New file.
32167         * modules/unictype/property-xid-start-tests: New file.
32168         * modules/unictype/property-zero-width-tests: New file.
32169         * modules/unictype/scripts-tests: New file.
32170         * modules/unictype/syntax-c-ident-tests: New file.
32171         * modules/unictype/syntax-c-whitespace-tests: New file.
32172         * modules/unictype/syntax-java-ident-tests: New file.
32173         * modules/unictype/syntax-java-whitespace-tests: New file.
32174         * tests/unictype/test-bidi_byname.c: New file.
32175         * tests/unictype/test-bidi_name.c: New file.
32176         * tests/unictype/test-bidi_of.c: New file.
32177         * tests/unictype/test-bidi_test.c: New file.
32178         * tests/unictype/test-block_list.c: New file.
32179         * tests/unictype/test-block_of.c: New file.
32180         * tests/unictype/test-block_test.c: New file.
32181         * tests/unictype/test-categ_and.c: New file.
32182         * tests/unictype/test-categ_and_not.c: New file.
32183         * tests/unictype/test-categ_byname.c: New file.
32184         * tests/unictype/test-categ_name.c: New file.
32185         * tests/unictype/test-categ_none.c: New file.
32186         * tests/unictype/test-categ_of.c: New file.
32187         * tests/unictype/test-categ_or.c: New file.
32188         * tests/unictype/test-categ_test_withtable.c: New file.
32189         * tests/unictype/test-combining.c: New file.
32190         * tests/unictype/test-decdigit.c: New file.
32191         * tests/unictype/test-digit.c: New file.
32192         * tests/unictype/test-mirror.c: New file.
32193         * tests/unictype/test-numeric.c: New file.
32194         * tests/unictype/test-pr_byname.c: New file.
32195         * tests/unictype/test-pr_test.c: New file.
32196         * tests/unictype/test-predicate-part1.h: New file.
32197         * tests/unictype/test-predicate-part2.h: New file.
32198         * tests/unictype/test-scripts.c: New file.
32199         * tests/unictype/test-sy_c_ident.c: New file.
32200         * tests/unictype/test-sy_java_ident.c: New file.
32201
32202         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
32203         for Unicode 5.0.0.
32204         * tests/unictype/test-categ_Cc.c: Likewise.
32205         * tests/unictype/test-categ_Cf.c: Likewise.
32206         * tests/unictype/test-categ_Cn.c: Likewise.
32207         * tests/unictype/test-categ_Co.c: Likewise.
32208         * tests/unictype/test-categ_Cs.c: Likewise.
32209         * tests/unictype/test-categ_L.c: Likewise.
32210         * tests/unictype/test-categ_Ll.c: Likewise.
32211         * tests/unictype/test-categ_Lm.c: Likewise.
32212         * tests/unictype/test-categ_Lo.c: Likewise.
32213         * tests/unictype/test-categ_Lt.c: Likewise.
32214         * tests/unictype/test-categ_Lu.c: Likewise.
32215         * tests/unictype/test-categ_M.c: Likewise.
32216         * tests/unictype/test-categ_Mc.c: Likewise.
32217         * tests/unictype/test-categ_Me.c: Likewise.
32218         * tests/unictype/test-categ_Mn.c: Likewise.
32219         * tests/unictype/test-categ_N.c: Likewise.
32220         * tests/unictype/test-categ_Nd.c: Likewise.
32221         * tests/unictype/test-categ_Nl.c: Likewise.
32222         * tests/unictype/test-categ_No.c: Likewise.
32223         * tests/unictype/test-categ_P.c: Likewise.
32224         * tests/unictype/test-categ_Pc.c: Likewise.
32225         * tests/unictype/test-categ_Pd.c: Likewise.
32226         * tests/unictype/test-categ_Pe.c: Likewise.
32227         * tests/unictype/test-categ_Pf.c: Likewise.
32228         * tests/unictype/test-categ_Pi.c: Likewise.
32229         * tests/unictype/test-categ_Po.c: Likewise.
32230         * tests/unictype/test-categ_Ps.c: Likewise.
32231         * tests/unictype/test-categ_S.c: Likewise.
32232         * tests/unictype/test-categ_Sc.c: Likewise.
32233         * tests/unictype/test-categ_Sk.c: Likewise.
32234         * tests/unictype/test-categ_Sm.c: Likewise.
32235         * tests/unictype/test-categ_So.c: Likewise.
32236         * tests/unictype/test-categ_Z.c: Likewise.
32237         * tests/unictype/test-categ_Zl.c: Likewise.
32238         * tests/unictype/test-categ_Zp.c: Likewise.
32239         * tests/unictype/test-categ_Zs.c: Likewise.
32240         * tests/unictype/test-ctype_alnum.c: Likewise.
32241         * tests/unictype/test-ctype_alpha.c: Likewise.
32242         * tests/unictype/test-ctype_blank.c: Likewise.
32243         * tests/unictype/test-ctype_cntrl.c: Likewise.
32244         * tests/unictype/test-ctype_digit.c: Likewise.
32245         * tests/unictype/test-ctype_graph.c: Likewise.
32246         * tests/unictype/test-ctype_lower.c: Likewise.
32247         * tests/unictype/test-ctype_print.c: Likewise.
32248         * tests/unictype/test-ctype_punct.c: Likewise.
32249         * tests/unictype/test-ctype_space.c: Likewise.
32250         * tests/unictype/test-ctype_upper.c: Likewise.
32251         * tests/unictype/test-ctype_xdigit.c: Likewise.
32252         * tests/unictype/test-decdigit.h: Likewise.
32253         * tests/unictype/test-digit.h: Likewise.
32254         * tests/unictype/test-numeric.h: Likewise.
32255         * tests/unictype/test-pr_alphabetic.c: Likewise.
32256         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
32257         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
32258         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
32259         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
32260         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
32261         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
32262         * tests/unictype/test-pr_bidi_control.c: Likewise.
32263         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
32264         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
32265         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
32266         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
32267         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
32268         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
32269         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
32270         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
32271         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
32272         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
32273         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
32274         * tests/unictype/test-pr_combining.c: Likewise.
32275         * tests/unictype/test-pr_composite.c: Likewise.
32276         * tests/unictype/test-pr_currency_symbol.c: Likewise.
32277         * tests/unictype/test-pr_dash.c: Likewise.
32278         * tests/unictype/test-pr_decimal_digit.c: Likewise.
32279         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
32280         * tests/unictype/test-pr_deprecated.c: Likewise.
32281         * tests/unictype/test-pr_diacritic.c: Likewise.
32282         * tests/unictype/test-pr_extender.c: Likewise.
32283         * tests/unictype/test-pr_format_control.c: Likewise.
32284         * tests/unictype/test-pr_grapheme_base.c: Likewise.
32285         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
32286         * tests/unictype/test-pr_grapheme_link.c: Likewise.
32287         * tests/unictype/test-pr_hex_digit.c: Likewise.
32288         * tests/unictype/test-pr_hyphen.c: Likewise.
32289         * tests/unictype/test-pr_id_continue.c: Likewise.
32290         * tests/unictype/test-pr_id_start.c: Likewise.
32291         * tests/unictype/test-pr_ideographic.c: Likewise.
32292         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
32293         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
32294         * tests/unictype/test-pr_ignorable_control.c: Likewise.
32295         * tests/unictype/test-pr_iso_control.c: Likewise.
32296         * tests/unictype/test-pr_join_control.c: Likewise.
32297         * tests/unictype/test-pr_left_of_pair.c: Likewise.
32298         * tests/unictype/test-pr_line_separator.c: Likewise.
32299         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
32300         * tests/unictype/test-pr_lowercase.c: Likewise.
32301         * tests/unictype/test-pr_math.c: Likewise.
32302         * tests/unictype/test-pr_non_break.c: Likewise.
32303         * tests/unictype/test-pr_not_a_character.c: Likewise.
32304         * tests/unictype/test-pr_numeric.c: Likewise.
32305         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
32306         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
32307         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
32308         * tests/unictype/test-pr_other_id_continue.c: Likewise.
32309         * tests/unictype/test-pr_other_id_start.c: Likewise.
32310         * tests/unictype/test-pr_other_lowercase.c: Likewise.
32311         * tests/unictype/test-pr_other_math.c: Likewise.
32312         * tests/unictype/test-pr_other_uppercase.c: Likewise.
32313         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
32314         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
32315         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
32316         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
32317         * tests/unictype/test-pr_private_use.c: Likewise.
32318         * tests/unictype/test-pr_punctuation.c: Likewise.
32319         * tests/unictype/test-pr_quotation_mark.c: Likewise.
32320         * tests/unictype/test-pr_radical.c: Likewise.
32321         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
32322         * tests/unictype/test-pr_soft_dotted.c: Likewise.
32323         * tests/unictype/test-pr_space.c: Likewise.
32324         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
32325         * tests/unictype/test-pr_titlecase.c: Likewise.
32326         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
32327         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
32328         * tests/unictype/test-pr_uppercase.c: Likewise.
32329         * tests/unictype/test-pr_variation_selector.c: Likewise.
32330         * tests/unictype/test-pr_white_space.c: Likewise.
32331         * tests/unictype/test-pr_xid_continue.c: Likewise.
32332         * tests/unictype/test-pr_xid_start.c: Likewise.
32333         * tests/unictype/test-pr_zero_width.c: Likewise.
32334         * tests/unictype/test-sy_c_whitespace.c: Likewise.
32335         * tests/unictype/test-sy_java_whitespace.c: Likewise.
32336
32337 2007-11-12  Bruno Haible  <bruno@clisp.org>
32338
32339         Unicode character classification functions.
32340         * lib/unictype.h: New file.
32341         * modules/unictype/base: New file.
32342         * modules/unictype/category-L: New file.
32343         * modules/unictype/category-Lu: New file.
32344         * modules/unictype/category-Ll: New file.
32345         * modules/unictype/category-Lt: New file.
32346         * modules/unictype/category-Lm: New file.
32347         * modules/unictype/category-Lo: New file.
32348         * modules/unictype/category-M: New file.
32349         * modules/unictype/category-Mn: New file.
32350         * modules/unictype/category-Mc: New file.
32351         * modules/unictype/category-Me: New file.
32352         * modules/unictype/category-N: New file.
32353         * modules/unictype/category-Nd: New file.
32354         * modules/unictype/category-Nl: New file.
32355         * modules/unictype/category-No: New file.
32356         * modules/unictype/category-P: New file.
32357         * modules/unictype/category-Pc: New file.
32358         * modules/unictype/category-Pd: New file.
32359         * modules/unictype/category-Ps: New file.
32360         * modules/unictype/category-Pe: New file.
32361         * modules/unictype/category-Pi: New file.
32362         * modules/unictype/category-Pf: New file.
32363         * modules/unictype/category-Po: New file.
32364         * modules/unictype/category-S: New file.
32365         * modules/unictype/category-Sm: New file.
32366         * modules/unictype/category-Sc: New file.
32367         * modules/unictype/category-Sk: New file.
32368         * modules/unictype/category-So: New file.
32369         * modules/unictype/category-Z: New file.
32370         * modules/unictype/category-Zs: New file.
32371         * modules/unictype/category-Zl: New file.
32372         * modules/unictype/category-Zp: New file.
32373         * modules/unictype/category-C: New file.
32374         * modules/unictype/category-Cc: New file.
32375         * modules/unictype/category-Cf: New file.
32376         * modules/unictype/category-Cs: New file.
32377         * modules/unictype/category-Co: New file.
32378         * modules/unictype/category-Cn: New file.
32379         * modules/unictype/category-or: New file.
32380         * modules/unictype/category-of: New file.
32381         * modules/unictype/category-test: New file.
32382         * modules/unictype/category-test-withtable: New file.
32383         * modules/unictype/category-byname: New file.
32384         * modules/unictype/category-none: New file.
32385         * modules/unictype/category-and: New file.
32386         * modules/unictype/category-and-not: New file.
32387         * modules/unictype/category-name: New file.
32388         * modules/unictype/combining-class: New file.
32389         * modules/unictype/category-all: New file.
32390         * modules/unictype/bidicategory-all: New file.
32391         * modules/unictype/bidicategory-byname: New file.
32392         * modules/unictype/bidicategory-name: New file.
32393         * modules/unictype/bidicategory-of: New file.
32394         * modules/unictype/bidicategory-test: New file.
32395         * modules/unictype/decimal-digit: New file.
32396         * modules/unictype/digit: New file.
32397         * modules/unictype/numeric: New file.
32398         * modules/unictype/mirror: New file.
32399         * modules/unictype/property-white-space: New file.
32400         * modules/unictype/property-alphabetic: New file.
32401         * modules/unictype/property-other-alphabetic: New file.
32402         * modules/unictype/property-not-a-character: New file.
32403         * modules/unictype/property-default-ignorable-code-point: New file.
32404         * modules/unictype/property-other-default-ignorable-code-point: New
32405         file.
32406         * modules/unictype/property-deprecated: New file.
32407         * modules/unictype/property-logical-order-exception: New file.
32408         * modules/unictype/property-variation-selector: New file.
32409         * modules/unictype/property-private-use: New file.
32410         * modules/unictype/property-unassigned-code-value: New file.
32411         * modules/unictype/property-uppercase: New file.
32412         * modules/unictype/property-other-uppercase: New file.
32413         * modules/unictype/property-lowercase: New file.
32414         * modules/unictype/property-other-lowercase: New file.
32415         * modules/unictype/property-titlecase: New file.
32416         * modules/unictype/property-soft-dotted: New file.
32417         * modules/unictype/property-id-start: New file.
32418         * modules/unictype/property-other-id-start: New file.
32419         * modules/unictype/property-id-continue: New file.
32420         * modules/unictype/property-other-id-continue: New file.
32421         * modules/unictype/property-xid-start: New file.
32422         * modules/unictype/property-xid-continue: New file.
32423         * modules/unictype/property-pattern-white-space: New file.
32424         * modules/unictype/property-pattern-syntax: New file.
32425         * modules/unictype/property-join-control: New file.
32426         * modules/unictype/property-grapheme-base: New file.
32427         * modules/unictype/property-grapheme-extend: New file.
32428         * modules/unictype/property-other-grapheme-extend: New file.
32429         * modules/unictype/property-grapheme-link: New file.
32430         * modules/unictype/property-bidi-control: New file.
32431         * modules/unictype/property-bidi-left-to-right: New file.
32432         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
32433         * modules/unictype/property-bidi-arabic-right-to-left: New file.
32434         * modules/unictype/property-bidi-european-digit: New file.
32435         * modules/unictype/property-bidi-eur-num-separator: New file.
32436         * modules/unictype/property-bidi-eur-num-terminator: New file.
32437         * modules/unictype/property-bidi-arabic-digit: New file.
32438         * modules/unictype/property-bidi-common-separator: New file.
32439         * modules/unictype/property-bidi-block-separator: New file.
32440         * modules/unictype/property-bidi-segment-separator: New file.
32441         * modules/unictype/property-bidi-whitespace: New file.
32442         * modules/unictype/property-bidi-non-spacing-mark: New file.
32443         * modules/unictype/property-bidi-boundary-neutral: New file.
32444         * modules/unictype/property-bidi-pdf: New file.
32445         * modules/unictype/property-bidi-embedding-or-override: New file.
32446         * modules/unictype/property-bidi-other-neutral: New file.
32447         * modules/unictype/property-hex-digit: New file.
32448         * modules/unictype/property-ascii-hex-digit: New file.
32449         * modules/unictype/property-ideographic: New file.
32450         * modules/unictype/property-unified-ideograph: New file.
32451         * modules/unictype/property-radical: New file.
32452         * modules/unictype/property-ids-binary-operator: New file.
32453         * modules/unictype/property-ids-trinary-operator: New file.
32454         * modules/unictype/property-zero-width: New file.
32455         * modules/unictype/property-space: New file.
32456         * modules/unictype/property-non-break: New file.
32457         * modules/unictype/property-iso-control: New file.
32458         * modules/unictype/property-format-control: New file.
32459         * modules/unictype/property-dash: New file.
32460         * modules/unictype/property-hyphen: New file.
32461         * modules/unictype/property-punctuation: New file.
32462         * modules/unictype/property-line-separator: New file.
32463         * modules/unictype/property-paragraph-separator: New file.
32464         * modules/unictype/property-quotation-mark: New file.
32465         * modules/unictype/property-sentence-terminal: New file.
32466         * modules/unictype/property-terminal-punctuation: New file.
32467         * modules/unictype/property-currency-symbol: New file.
32468         * modules/unictype/property-math: New file.
32469         * modules/unictype/property-other-math: New file.
32470         * modules/unictype/property-paired-punctuation: New file.
32471         * modules/unictype/property-left-of-pair: New file.
32472         * modules/unictype/property-combining: New file.
32473         * modules/unictype/property-composite: New file.
32474         * modules/unictype/property-decimal-digit: New file.
32475         * modules/unictype/property-numeric: New file.
32476         * modules/unictype/property-diacritic: New file.
32477         * modules/unictype/property-extender: New file.
32478         * modules/unictype/property-ignorable-control: New file.
32479         * modules/unictype/property-test: New file.
32480         * modules/unictype/property-byname: New file.
32481         * modules/unictype/property-all: New file.
32482         * modules/unictype/scripts: New file.
32483         * modules/unictype/scripts-all: New file.
32484         * modules/unictype/block-of: New file.
32485         * modules/unictype/block-test: New file.
32486         * modules/unictype/block-list: New file.
32487         * modules/unictype/block-all: New file.
32488         * modules/unictype/syntax-c-whitespace: New file.
32489         * modules/unictype/syntax-java-whitespace: New file.
32490         * modules/unictype/syntax-c-ident: New file.
32491         * modules/unictype/syntax-java-ident: New file.
32492         * modules/unictype/ctype-alnum: New file.
32493         * modules/unictype/ctype-alpha: New file.
32494         * modules/unictype/ctype-cntrl: New file.
32495         * modules/unictype/ctype-digit: New file.
32496         * modules/unictype/ctype-graph: New file.
32497         * modules/unictype/ctype-lower: New file.
32498         * modules/unictype/ctype-print: New file.
32499         * modules/unictype/ctype-punct: New file.
32500         * modules/unictype/ctype-space: New file.
32501         * modules/unictype/ctype-upper: New file.
32502         * modules/unictype/ctype-xdigit: New file.
32503         * modules/unictype/ctype-blank: New file.
32504         * lib/unictype/bidi_byname.c: New file.
32505         * lib/unictype/bidi_name.c: New file.
32506         * lib/unictype/bidi_of.c: New file.
32507         * lib/unictype/bidi_test.c: New file.
32508         * lib/unictype/bitmap.h: New file.
32509         * lib/unictype/block_test.c: New file.
32510         * lib/unictype/blocks.c: New file.
32511         * lib/unictype/categ_C.c: New file.
32512         * lib/unictype/categ_Cc.c: New file.
32513         * lib/unictype/categ_Cf.c: New file.
32514         * lib/unictype/categ_Cn.c: New file.
32515         * lib/unictype/categ_Co.c: New file.
32516         * lib/unictype/categ_Cs.c: New file.
32517         * lib/unictype/categ_L.c: New file.
32518         * lib/unictype/categ_Ll.c: New file.
32519         * lib/unictype/categ_Lm.c: New file.
32520         * lib/unictype/categ_Lo.c: New file.
32521         * lib/unictype/categ_Lt.c: New file.
32522         * lib/unictype/categ_Lu.c: New file.
32523         * lib/unictype/categ_M.c: New file.
32524         * lib/unictype/categ_Mc.c: New file.
32525         * lib/unictype/categ_Me.c: New file.
32526         * lib/unictype/categ_Mn.c: New file.
32527         * lib/unictype/categ_N.c: New file.
32528         * lib/unictype/categ_Nd.c: New file.
32529         * lib/unictype/categ_Nl.c: New file.
32530         * lib/unictype/categ_No.c: New file.
32531         * lib/unictype/categ_P.c: New file.
32532         * lib/unictype/categ_Pc.c: New file.
32533         * lib/unictype/categ_Pd.c: New file.
32534         * lib/unictype/categ_Pe.c: New file.
32535         * lib/unictype/categ_Pf.c: New file.
32536         * lib/unictype/categ_Pi.c: New file.
32537         * lib/unictype/categ_Po.c: New file.
32538         * lib/unictype/categ_Ps.c: New file.
32539         * lib/unictype/categ_S.c: New file.
32540         * lib/unictype/categ_Sc.c: New file.
32541         * lib/unictype/categ_Sk.c: New file.
32542         * lib/unictype/categ_Sm.c: New file.
32543         * lib/unictype/categ_So.c: New file.
32544         * lib/unictype/categ_Z.c: New file.
32545         * lib/unictype/categ_Zl.c: New file.
32546         * lib/unictype/categ_Zp.c: New file.
32547         * lib/unictype/categ_Zs.c: New file.
32548         * lib/unictype/categ_and.c: New file.
32549         * lib/unictype/categ_and_not.c: New file.
32550         * lib/unictype/categ_byname.c: New file.
32551         * lib/unictype/categ_name.c: New file.
32552         * lib/unictype/categ_none.c: New file.
32553         * lib/unictype/categ_of.c: New file.
32554         * lib/unictype/categ_or.c: New file.
32555         * lib/unictype/categ_test.c: New file.
32556         * lib/unictype/combining.c: New file.
32557         * lib/unictype/ctype_alnum.c: New file.
32558         * lib/unictype/ctype_alpha.c: New file.
32559         * lib/unictype/ctype_blank.c: New file.
32560         * lib/unictype/ctype_cntrl.c: New file.
32561         * lib/unictype/ctype_digit.c: New file.
32562         * lib/unictype/ctype_graph.c: New file.
32563         * lib/unictype/ctype_lower.c: New file.
32564         * lib/unictype/ctype_print.c: New file.
32565         * lib/unictype/ctype_punct.c: New file.
32566         * lib/unictype/ctype_space.c: New file.
32567         * lib/unictype/ctype_upper.c: New file.
32568         * lib/unictype/ctype_xdigit.c: New file.
32569         * lib/unictype/decdigit.c: New file.
32570         * lib/unictype/digit.c: New file.
32571         * lib/unictype/identsyntaxmap.h: New file.
32572         * lib/unictype/mirror.c: New file.
32573         * lib/unictype/numeric.c: New file.
32574         * lib/unictype/pr_alphabetic.c: New file.
32575         * lib/unictype/pr_ascii_hex_digit.c: New file.
32576         * lib/unictype/pr_bidi_arabic_digit.c: New file.
32577         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
32578         * lib/unictype/pr_bidi_block_separator.c: New file.
32579         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
32580         * lib/unictype/pr_bidi_common_separator.c: New file.
32581         * lib/unictype/pr_bidi_control.c: New file.
32582         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
32583         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
32584         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
32585         * lib/unictype/pr_bidi_european_digit.c: New file.
32586         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
32587         * lib/unictype/pr_bidi_left_to_right.c: New file.
32588         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
32589         * lib/unictype/pr_bidi_other_neutral.c: New file.
32590         * lib/unictype/pr_bidi_pdf.c: New file.
32591         * lib/unictype/pr_bidi_segment_separator.c: New file.
32592         * lib/unictype/pr_bidi_whitespace.c: New file.
32593         * lib/unictype/pr_byname.c: New file.
32594         * lib/unictype/pr_byname.gperf: New file.
32595         * lib/unictype/pr_combining.c: New file.
32596         * lib/unictype/pr_composite.c: New file.
32597         * lib/unictype/pr_currency_symbol.c: New file.
32598         * lib/unictype/pr_dash.c: New file.
32599         * lib/unictype/pr_decimal_digit.c: New file.
32600         * lib/unictype/pr_default_ignorable_code_point.c: New file.
32601         * lib/unictype/pr_deprecated.c: New file.
32602         * lib/unictype/pr_diacritic.c: New file.
32603         * lib/unictype/pr_extender.c: New file.
32604         * lib/unictype/pr_format_control.c: New file.
32605         * lib/unictype/pr_grapheme_base.c: New file.
32606         * lib/unictype/pr_grapheme_extend.c: New file.
32607         * lib/unictype/pr_grapheme_link.c: New file.
32608         * lib/unictype/pr_hex_digit.c: New file.
32609         * lib/unictype/pr_hyphen.c: New file.
32610         * lib/unictype/pr_id_continue.c: New file.
32611         * lib/unictype/pr_id_start.c: New file.
32612         * lib/unictype/pr_ideographic.c: New file.
32613         * lib/unictype/pr_ids_binary_operator.c: New file.
32614         * lib/unictype/pr_ids_trinary_operator.c: New file.
32615         * lib/unictype/pr_ignorable_control.c: New file.
32616         * lib/unictype/pr_iso_control.c: New file.
32617         * lib/unictype/pr_join_control.c: New file.
32618         * lib/unictype/pr_left_of_pair.c: New file.
32619         * lib/unictype/pr_line_separator.c: New file.
32620         * lib/unictype/pr_logical_order_exception.c: New file.
32621         * lib/unictype/pr_lowercase.c: New file.
32622         * lib/unictype/pr_math.c: New file.
32623         * lib/unictype/pr_non_break.c: New file.
32624         * lib/unictype/pr_not_a_character.c: New file.
32625         * lib/unictype/pr_numeric.c: New file.
32626         * lib/unictype/pr_other_alphabetic.c: New file.
32627         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
32628         * lib/unictype/pr_other_grapheme_extend.c: New file.
32629         * lib/unictype/pr_other_id_continue.c: New file.
32630         * lib/unictype/pr_other_id_start.c: New file.
32631         * lib/unictype/pr_other_lowercase.c: New file.
32632         * lib/unictype/pr_other_math.c: New file.
32633         * lib/unictype/pr_other_uppercase.c: New file.
32634         * lib/unictype/pr_paired_punctuation.c: New file.
32635         * lib/unictype/pr_paragraph_separator.c: New file.
32636         * lib/unictype/pr_pattern_syntax.c: New file.
32637         * lib/unictype/pr_pattern_white_space.c: New file.
32638         * lib/unictype/pr_private_use.c: New file.
32639         * lib/unictype/pr_punctuation.c: New file.
32640         * lib/unictype/pr_quotation_mark.c: New file.
32641         * lib/unictype/pr_radical.c: New file.
32642         * lib/unictype/pr_sentence_terminal.c: New file.
32643         * lib/unictype/pr_soft_dotted.c: New file.
32644         * lib/unictype/pr_space.c: New file.
32645         * lib/unictype/pr_terminal_punctuation.c: New file.
32646         * lib/unictype/pr_test.c: New file.
32647         * lib/unictype/pr_titlecase.c: New file.
32648         * lib/unictype/pr_unassigned_code_value.c: New file.
32649         * lib/unictype/pr_unified_ideograph.c: New file.
32650         * lib/unictype/pr_uppercase.c: New file.
32651         * lib/unictype/pr_variation_selector.c: New file.
32652         * lib/unictype/pr_white_space.c: New file.
32653         * lib/unictype/pr_xid_continue.c: New file.
32654         * lib/unictype/pr_xid_start.c: New file.
32655         * lib/unictype/pr_zero_width.c: New file.
32656         * lib/unictype/scripts.c: New file.
32657         * lib/unictype/sy_c_ident.c: New file.
32658         * lib/unictype/sy_c_whitespace.c: New file.
32659         * lib/unictype/sy_java_ident.c: New file.
32660         * lib/unictype/sy_java_whitespace.c: New file.
32661
32662         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
32663         Unicode 5.0.0.
32664         * lib/unictype/blocks.h: Likewise.
32665         * lib/unictype/categ_C.h: Likewise.
32666         * lib/unictype/categ_Cc.h: Likewise.
32667         * lib/unictype/categ_Cf.h: Likewise.
32668         * lib/unictype/categ_Cn.h: Likewise.
32669         * lib/unictype/categ_Co.h: Likewise.
32670         * lib/unictype/categ_Cs.h: Likewise.
32671         * lib/unictype/categ_L.h: Likewise.
32672         * lib/unictype/categ_Ll.h: Likewise.
32673         * lib/unictype/categ_Lm.h: Likewise.
32674         * lib/unictype/categ_Lo.h: Likewise.
32675         * lib/unictype/categ_Lt.h: Likewise.
32676         * lib/unictype/categ_Lu.h: Likewise.
32677         * lib/unictype/categ_M.h: Likewise.
32678         * lib/unictype/categ_Mc.h: Likewise.
32679         * lib/unictype/categ_Me.h: Likewise.
32680         * lib/unictype/categ_Mn.h: Likewise.
32681         * lib/unictype/categ_N.h: Likewise.
32682         * lib/unictype/categ_Nd.h: Likewise.
32683         * lib/unictype/categ_Nl.h: Likewise.
32684         * lib/unictype/categ_No.h: Likewise.
32685         * lib/unictype/categ_P.h: Likewise.
32686         * lib/unictype/categ_Pc.h: Likewise.
32687         * lib/unictype/categ_Pd.h: Likewise.
32688         * lib/unictype/categ_Pe.h: Likewise.
32689         * lib/unictype/categ_Pf.h: Likewise.
32690         * lib/unictype/categ_Pi.h: Likewise.
32691         * lib/unictype/categ_Po.h: Likewise.
32692         * lib/unictype/categ_Ps.h: Likewise.
32693         * lib/unictype/categ_S.h: Likewise.
32694         * lib/unictype/categ_Sc.h: Likewise.
32695         * lib/unictype/categ_Sk.h: Likewise.
32696         * lib/unictype/categ_Sm.h: Likewise.
32697         * lib/unictype/categ_So.h: Likewise.
32698         * lib/unictype/categ_Z.h: Likewise.
32699         * lib/unictype/categ_Zl.h: Likewise.
32700         * lib/unictype/categ_Zp.h: Likewise.
32701         * lib/unictype/categ_Zs.h: Likewise.
32702         * lib/unictype/categ_of.h: Likewise.
32703         * lib/unictype/combining.h: Likewise.
32704         * lib/unictype/ctype_alnum.h: Likewise.
32705         * lib/unictype/ctype_alpha.h: Likewise.
32706         * lib/unictype/ctype_blank.h: Likewise.
32707         * lib/unictype/ctype_cntrl.h: Likewise.
32708         * lib/unictype/ctype_digit.h: Likewise.
32709         * lib/unictype/ctype_graph.h: Likewise.
32710         * lib/unictype/ctype_lower.h: Likewise.
32711         * lib/unictype/ctype_print.h: Likewise.
32712         * lib/unictype/ctype_punct.h: Likewise.
32713         * lib/unictype/ctype_space.h: Likewise.
32714         * lib/unictype/ctype_upper.h: Likewise.
32715         * lib/unictype/ctype_xdigit.h: Likewise.
32716         * lib/unictype/decdigit.h: Likewise.
32717         * lib/unictype/digit.h: Likewise.
32718         * lib/unictype/mirror.h: Likewise.
32719         * lib/unictype/numeric.h: Likewise.
32720         * lib/unictype/pr_alphabetic.h: Likewise.
32721         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
32722         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
32723         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
32724         * lib/unictype/pr_bidi_block_separator.h: Likewise.
32725         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
32726         * lib/unictype/pr_bidi_common_separator.h: Likewise.
32727         * lib/unictype/pr_bidi_control.h: Likewise.
32728         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
32729         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
32730         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
32731         * lib/unictype/pr_bidi_european_digit.h: Likewise.
32732         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
32733         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
32734         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
32735         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
32736         * lib/unictype/pr_bidi_pdf.h: Likewise.
32737         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
32738         * lib/unictype/pr_bidi_whitespace.h: Likewise.
32739         * lib/unictype/pr_combining.h: Likewise.
32740         * lib/unictype/pr_composite.h: Likewise.
32741         * lib/unictype/pr_currency_symbol.h: Likewise.
32742         * lib/unictype/pr_dash.h: Likewise.
32743         * lib/unictype/pr_decimal_digit.h: Likewise.
32744         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
32745         * lib/unictype/pr_deprecated.h: Likewise.
32746         * lib/unictype/pr_diacritic.h: Likewise.
32747         * lib/unictype/pr_extender.h: Likewise.
32748         * lib/unictype/pr_format_control.h: Likewise.
32749         * lib/unictype/pr_grapheme_base.h: Likewise.
32750         * lib/unictype/pr_grapheme_extend.h: Likewise.
32751         * lib/unictype/pr_grapheme_link.h: Likewise.
32752         * lib/unictype/pr_hex_digit.h: Likewise.
32753         * lib/unictype/pr_hyphen.h: Likewise.
32754         * lib/unictype/pr_id_continue.h: Likewise.
32755         * lib/unictype/pr_id_start.h: Likewise.
32756         * lib/unictype/pr_ideographic.h: Likewise.
32757         * lib/unictype/pr_ids_binary_operator.h: Likewise.
32758         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
32759         * lib/unictype/pr_ignorable_control.h: Likewise.
32760         * lib/unictype/pr_iso_control.h: Likewise.
32761         * lib/unictype/pr_join_control.h: Likewise.
32762         * lib/unictype/pr_left_of_pair.h: Likewise.
32763         * lib/unictype/pr_line_separator.h: Likewise.
32764         * lib/unictype/pr_logical_order_exception.h: Likewise.
32765         * lib/unictype/pr_lowercase.h: Likewise.
32766         * lib/unictype/pr_math.h: Likewise.
32767         * lib/unictype/pr_non_break.h: Likewise.
32768         * lib/unictype/pr_not_a_character.h: Likewise.
32769         * lib/unictype/pr_numeric.h: Likewise.
32770         * lib/unictype/pr_other_alphabetic.h: Likewise.
32771         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
32772         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
32773         * lib/unictype/pr_other_id_continue.h: Likewise.
32774         * lib/unictype/pr_other_id_start.h: Likewise.
32775         * lib/unictype/pr_other_lowercase.h: Likewise.
32776         * lib/unictype/pr_other_math.h: Likewise.
32777         * lib/unictype/pr_other_uppercase.h: Likewise.
32778         * lib/unictype/pr_paired_punctuation.h: Likewise.
32779         * lib/unictype/pr_paragraph_separator.h: Likewise.
32780         * lib/unictype/pr_pattern_syntax.h: Likewise.
32781         * lib/unictype/pr_pattern_white_space.h: Likewise.
32782         * lib/unictype/pr_private_use.h: Likewise.
32783         * lib/unictype/pr_punctuation.h: Likewise.
32784         * lib/unictype/pr_quotation_mark.h: Likewise.
32785         * lib/unictype/pr_radical.h: Likewise.
32786         * lib/unictype/pr_sentence_terminal.h: Likewise.
32787         * lib/unictype/pr_soft_dotted.h: Likewise.
32788         * lib/unictype/pr_space.h: Likewise.
32789         * lib/unictype/pr_terminal_punctuation.h: Likewise.
32790         * lib/unictype/pr_titlecase.h: Likewise.
32791         * lib/unictype/pr_unassigned_code_value.h: Likewise.
32792         * lib/unictype/pr_unified_ideograph.h: Likewise.
32793         * lib/unictype/pr_uppercase.h: Likewise.
32794         * lib/unictype/pr_variation_selector.h: Likewise.
32795         * lib/unictype/pr_white_space.h: Likewise.
32796         * lib/unictype/pr_xid_continue.h: Likewise.
32797         * lib/unictype/pr_xid_start.h: Likewise.
32798         * lib/unictype/pr_zero_width.h: Likewise.
32799         * lib/unictype/scripts.h: Likewise.
32800         * lib/unictype/scripts_byname.gperf: Likewise.
32801         * lib/unictype/sy_c_ident.h: Likewise.
32802         * lib/unictype/sy_c_whitespace.h: Likewise.
32803         * lib/unictype/sy_java_ident.h: Likewise.
32804         * lib/unictype/sy_java_whitespace.h: Likewise.
32805
32806         * lib/unictype/Makefile: New file.
32807         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
32808         glibc.
32809         * lib/unictype/3level.h: New file, copied from glibc.
32810         * lib/unictype/3levelbit.h: New file.
32811
32812 2007-11-11  Bruno Haible  <bruno@clisp.org>
32813
32814         * modules/gperf: New file.
32815         * modules/iconv_open (Depends-on): Add it.
32816         (Makefile.am): Remove the GPERF definition.
32817
32818 2007-11-11  Bruno Haible  <bruno@clisp.org>
32819
32820         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
32821         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
32822
32823 2007-11-11  Bruno Haible  <bruno@clisp.org>
32824
32825         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
32826         (usage): Remove function.
32827
32828 2007-11-11  Bruno Haible  <bruno@clisp.org>
32829
32830         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
32831         gl_FUNC_CEILF_LIBS.
32832         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
32833         gl_FUNC_CEIL_LIBS.
32834         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
32835         gl_FUNC_CEILL_LIBS.
32836         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
32837         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
32838         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
32839
32840 2007-11-11  Bruno Haible  <bruno@clisp.org>
32841
32842         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
32843         roundf were declared but do not exist on functions.
32844         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
32845         roundl were declared but do not exist on functions.
32846         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
32847         HAVE_FLOORL_AND_CEILL, respectively.
32848         Needed for Sun C on Solaris 10.
32849
32850 2007-11-11  Bruno Haible  <bruno@clisp.org>
32851
32852         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
32853         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
32854         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
32855         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
32856         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
32857         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
32858         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
32859         HAVE_DECL_ROUNDF.
32860         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
32861         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
32862         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
32863         of HAVE_DECL_ROUND*.
32864         * modules/math (Makefile.am): Update.
32865
32866 2007-11-10  Bruno Haible  <bruno@clisp.org>
32867
32868         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
32869         ptrdiff_t as m4/intl.m4.
32870
32871 2007-11-10  Jim Meyering  <meyering@redhat.com>
32872
32873         Avoid link failure for the argmatch test.
32874         * tests/test-argmatch.c (usage): Define function to avoid a link
32875         failure: argmatch_die requires a usage function.
32876
32877 2007-11-09  Bruno Haible  <bruno@clisp.org>
32878
32879         * doc/functions/snprintf.texi: Mention BeOS deficiency.
32880         * doc/functions/vsnprintf.texi: Likewise.
32881         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
32882         with a size argument < 2.
32883
32884 2007-11-09  Bruno Haible  <bruno@clisp.org>
32885
32886         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
32887         buffer. Fixes an inefficiency introduced on 2007-11-03.
32888
32889 2007-11-09  Bruno Haible  <bruno@clisp.org>
32890
32891         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
32892         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
32893
32894 2007-11-08  Jim Meyering  <meyering@redhat.com>
32895
32896         Change cache variable name prefix "jm_" to "gl_" everywhere.
32897         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
32898         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
32899         * m4/uptime.m4: s/gl_/jm_/
32900
32901 2007-11-07  Bruno Haible  <bruno@clisp.org>
32902
32903         Update to GNU gettext 0.17.
32904         * m4/intl.m4: Update to GNU gettext 0.17.
32905         * m4/po.m4: Likewise.
32906         * modules/gettext (Files): Remove m4/ulonglong.m4.
32907         (configure.ac): Require gettext infrastructure from version 0.17.
32908
32909 2007-11-06  Bruno Haible  <bruno@clisp.org>
32910
32911         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
32912         symbolic values are not defined in a public header.
32913         * lib/freadable.c (freadable) [QNX]: Likewise.
32914         * lib/freadahead.c (freadahead) [QNX]: Likewise.
32915         * lib/freading.c (freading) [QNX]: Likewise.
32916         * lib/fseterr.c (fseterr) [QNX]: Likewise.
32917         * lib/fwritable.c (fwritable) [QNX]: Likewise.
32918         * lib/fwriting.c (fwriting) [QNX]: Likewise.
32919         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
32920         Reported by Alain Magloire.
32921
32922         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
32923
32924 2007-11-05  Bruno Haible  <bruno@clisp.org>
32925
32926         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
32927         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
32928         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
32929         Reported by Eric Blake.
32930
32931 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32932             Bruno Haible  <bruno@clisp.org>
32933
32934         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
32935         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
32936         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
32937         (malloc): Undefine also before including <stdlib.h>.
32938         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
32939         Needed on OSF/1 4.0.
32940
32941 2007-11-05  Jim Meyering  <meyering@redhat.com>
32942
32943         git-version-gen: sync from coreutils.
32944         * build-aux/git-version-gen: Add comments.
32945         Change the first '-' to '.' in the snapshot version string,
32946         e.g., 6.9-377-08144 -> 6.9.377-08144
32947         Remove first parameter.
32948         Don't declare a version "-dirty" merely because a time
32949         stamp has changed.
32950
32951 2007-11-04  Bruno Haible  <bruno@clisp.org>
32952
32953         * lib/lock.h: Protect all macro definitions containing an 'if'
32954         statement through a "do { ... } while (0)".
32955         * lib/tls.h: Likewise.
32956
32957 2007-11-04  Bruno Haible  <bruno@clisp.org>
32958
32959         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
32960
32961 2007-11-04  Bruno Haible  <bruno@clisp.org>
32962
32963         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
32964         * modules/fprintf-posix (Depends-on): Add nocrash.
32965         * modules/snprintf-posix (Depends-on): Likewise.
32966         * modules/sprintf-posix (Depends-on): Likewise.
32967         * modules/vasnprintf-posix (Depends-on): Likewise.
32968         * modules/vasprintf-posix (Depends-on): Likewise.
32969         * modules/vfprintf-posix (Depends-on): Likewise.
32970         * modules/vsnprintf-posix (Depends-on): Likewise.
32971         * modules/vsprintf-posix (Depends-on): Likewise.
32972         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
32973         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
32974         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
32975         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
32976         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
32977         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
32978         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
32979
32980 2007-11-04  Bruno Haible  <bruno@clisp.org>
32981
32982         * modules/nocrash: New file.
32983         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
32984         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
32985
32986 2007-11-04  Bruno Haible  <bruno@clisp.org>
32987
32988         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
32989         precision handling.
32990         * tests/test-vasprintf-posix.c (test_function): Likewise.
32991         * tests/test-snprintf-posix.h (test_function): Likewise.
32992         * tests/test-sprintf-posix.h (test_function): Likewise.
32993
32994         Fix *printf behaviour for large precisions on mingw and BeOS.
32995         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
32996         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
32997         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
32998         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
32999         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
33000         gl_PRINTF_PRECISION and test its result. Invoke
33001         gl_PREREQ_VASNPRINTF_PRECISION.
33002         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
33003         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
33004         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
33005         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
33006         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
33007         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
33008         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
33009         * doc/functions/fprintf.texi: Update.
33010         * doc/functions/printf.texi: Update.
33011         * doc/functions/snprintf.texi: Update.
33012         * doc/functions/sprintf.texi: Update.
33013         * doc/functions/vfprintf.texi: Update.
33014         * doc/functions/vprintf.texi: Update.
33015         * doc/functions/vsnprintf.texi: Update.
33016         * doc/functions/vsprintf.texi: Update.
33017
33018 2007-11-04  Bruno Haible  <bruno@clisp.org>
33019
33020         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
33021
33022 2007-11-04  Bruno Haible  <bruno@clisp.org>
33023
33024         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
33025         Reported by Sylvain Beucler <beuc@gnu.org>.
33026
33027 2007-11-03  Bruno Haible  <bruno@clisp.org>
33028
33029         * tests/test-fprintf-posix2.sh: New file.
33030         * tests/test-fprintf-posix2.c: New file.
33031         * modules/fprintf-posix-tests (Files): Add them.
33032         (TESTS): Add test-fprintf-posix2.sh.
33033         (configure.ac): Check for getrlimit and setrlimit.
33034         (check_PROGRAMS): Add test-fprintf-posix2.
33035
33036         * tests/test-printf-posix2.sh: New file.
33037         * tests/test-printf-posix2.c: New file.
33038         * modules/printf-posix-tests (Files): Add them.
33039         (TESTS): Add test-printf-posix2.sh.
33040         (configure.ac): Check for getrlimit and setrlimit.
33041         (check_PROGRAMS): Add test-printf-posix2.
33042
33043         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
33044         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
33045         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
33046         (decode_double): New function, copied from decode_long_double.
33047         (scale10_round_decimal_decoded): New function, extracted from
33048         scale10_round_decimal_long_double.
33049         (scale10_round_decimal_long_double): Use it.
33050         (scale10_round_decimal_double): New function.
33051         (floorlog10): New function.
33052         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
33053         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
33054         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
33055         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
33056         gl_PRINTF_ENOMEM and test its result. Invoke
33057         gl_PREREQ_VASNPRINTF_ENOMEM.
33058         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
33059         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
33060         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
33061         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
33062         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
33063         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
33064         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
33065         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
33066         * modules/snprintf-posix (Depends-on): Likewise.
33067         * modules/sprintf-posix (Depends-on): Likewise.
33068         * modules/vasnprintf-posix (Depends-on): Likewise.
33069         * modules/vasprintf-posix (Depends-on): Likewise.
33070         * modules/vfprintf-posix (Depends-on): Likewise.
33071         * modules/vsnprintf-posix (Depends-on): Likewise.
33072         * modules/vsprintf-posix (Depends-on): Likewise.
33073         * doc/functions/fprintf.texi: Update.
33074         * doc/functions/printf.texi: Update.
33075         * doc/functions/snprintf.texi: Update.
33076         * doc/functions/sprintf.texi: Update.
33077         * doc/functions/vfprintf.texi: Update.
33078         * doc/functions/vprintf.texi: Update.
33079         * doc/functions/vsnprintf.texi: Update.
33080         * doc/functions/vsprintf.texi: Update.
33081
33082 2007-11-03  Bruno Haible  <bruno@clisp.org>
33083
33084         * modules/frexp-nolibm-tests: New file.
33085
33086         * modules/frexp-nolibm: New file.
33087         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
33088
33089 2007-11-03  Bruno Haible  <bruno@clisp.org>
33090
33091         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
33092         value is C99 compliant.
33093         Needed for OSF/1 5.1.
33094
33095 2007-11-03  Bruno Haible  <bruno@clisp.org>
33096
33097         Fix out-of-memory handling of vasnprintf.
33098         * lib/printf-parse.c: Include <errno.h>.
33099         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
33100         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
33101         is already set.
33102
33103 2007-11-02  Eric Blake  <ebb9@byu.net>
33104
33105         Fix tests on cygwin.
33106         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
33107
33108 2007-11-01  Bruno Haible  <bruno@clisp.org>
33109
33110         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
33111         warning.
33112         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
33113         needed for POSIX compatibility.
33114
33115 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
33116
33117         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
33118         for compatibility with GNU.
33119
33120 2007-11-01  Bruno Haible  <bruno@clisp.org>
33121
33122         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
33123         (putenv): Renamed from rpl_putenv. Change argument type from
33124         'const char *' to 'char *'.
33125         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
33126         of defining putenv in config.h, just set REPLACE_PUTENV.
33127         * modules/putenv (Depends-on): Add stdlib.
33128         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
33129         (Include): Use <stdlib.h>.
33130         * lib/stdlib.in.h (putenv): New declaration.
33131         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
33132         REPLACE_PUTENV.
33133         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
33134         REPLACE_PUTENV.
33135         Needed for MacOS X 10.5.0.
33136         Reported by Peter O'Gorman <peter@pogma.com>.
33137
33138 2007-11-01  Jim Meyering  <meyering@redhat.com>
33139
33140         Treat an empty date string exactly like "0".
33141         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
33142         if the remaining date string (to be parsed) is empty, use "0".
33143         Reported by Mischa Molhoek and discussed in this thread:
33144         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
33145
33146 2007-10-31  Bruno Haible  <bruno@clisp.org>
33147
33148         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
33149         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
33150         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
33151         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
33152         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
33153         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
33154
33155 2007-10-31  Bruno Haible  <bruno@clisp.org>
33156
33157         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
33158         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
33159         (AC_TYPE_LONG_LONG_INT): Use it.
33160         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
33161         it as well.
33162         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
33163         to m4/longlong.m4.
33164         * modules/stdint (Files): Remove m4/ulonglong.m4.
33165         * modules/strtoull (Files): Use m4/longlong.m4 instead of
33166         m4/ulonglong.m4.
33167         * modules/strtoumax (Files): Likewise.
33168
33169 2007-10-30  Bruno Haible  <bruno@clisp.org>
33170
33171         * modules/xvasprintf-posix: New file.
33172         Suggested by Eric Blake.
33173
33174 2007-10-30  Bruno Haible  <bruno@clisp.org>
33175
33176         * modules/xprintf-posix-tests: New file.
33177         * tests/test-xprintf-posix.sh: New file.
33178         * tests/test-xprintf-posix.c: New file.
33179         * tests/test-xfprintf-posix.c: New file.
33180
33181         * modules/xprintf-posix: New file.
33182
33183 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33184
33185         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
33186         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
33187         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
33188
33189 2007-10-29  Bruno Haible  <bruno@clisp.org>
33190
33191         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
33192         contain the special marker '_cv_'.
33193         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
33194         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
33195         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
33196         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
33197         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
33198         Reported by Ralf Wildenhues.
33199
33200 2007-10-29  Bruno Haible  <bruno@clisp.org>
33201
33202         * gnulib-tool (func_import): When --lgpl is not specified, set
33203         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
33204         GPLv3.
33205         Reported by Simon Josefsson.
33206
33207 2007-10-28  Bruno Haible  <bruno@clisp.org>
33208
33209         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
33210         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
33211         HAVE_DECL_ISFINITE.
33212         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
33213         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
33214         HAVE_DECL_ISFINITE.
33215
33216 2007-10-28  Bruno Haible  <bruno@clisp.org>
33217
33218         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
33219         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
33220
33221 2007-10-28  Bruno Haible  <bruno@clisp.org>
33222
33223         Fix link errors with Sun C 5.0 on Solaris 10.
33224         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
33225         function is declared but not present in the compiler's libm.
33226         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
33227         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
33228         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
33229         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
33230         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
33231         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
33232         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
33233         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
33234         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
33235         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
33236         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
33237         HAVE_DECL_FLOORL.
33238
33239 2007-10-28  Bruno Haible  <bruno@clisp.org>
33240
33241         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
33242         gl_FUNC_FLOORL. Cache the result.
33243         (gl_FUNC_FLOORL): Use it.
33244         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
33245         gl_FUNC_CEILL. Cache the result.
33246         (gl_FUNC_CEILL): Use it.
33247
33248         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
33249         gl_FUNC_FLOOR. Cache the result.
33250         (gl_FUNC_FLOOR): Use it.
33251         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
33252         gl_FUNC_CEIL. Cache the result.
33253         (gl_FUNC_CEIL): Use it.
33254
33255         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
33256         gl_FUNC_FLOORF. Cache the result.
33257         (gl_FUNC_FLOORF): Use it.
33258         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
33259         gl_FUNC_CEILF. Cache the result.
33260         (gl_FUNC_CEILF): Use it.
33261
33262 2007-10-28  Bruno Haible  <bruno@clisp.org>
33263
33264         * gnulib-tool: Allow specifying the LGPL version number through
33265         --lgpl=2 or --lgpl=3.
33266         (func_usage): Document --lgpl with argument.
33267         Handle --lgpl=... arguments.
33268         (func_import): Recognize also gl_LGPL calls with an argument. When
33269         --lgpl=2 is used and the module's license is just LGPL, report an
33270         error. Set sed_transform_lib_file according to the lgpl variable. In
33271         the generated files, use --lgpl or gl_LGPL invocations with argument,
33272         if necessary.
33273         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
33274         an LGPv2+ license.
33275         * doc/gnulib-tool.texi (Modified imports): Update explanation of
33276         gl_LGPL macro.
33277
33278 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33279             Bruno Haible  <bruno@clisp.org>
33280
33281         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
33282         (u16_uctomb_aux): Likewise.
33283         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
33284         !HAVE_INLINE.
33285         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
33286
33287 2007-10-28  Bruno Haible  <bruno@clisp.org>
33288
33289         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
33290         Invoke AM_GETTEXT_OPTION if it exists.
33291         * modules/vasprintf: Likewise.
33292         * modules/verror: Likewise.
33293         * modules/xprintf: Likewise.
33294         * modules/xvasprintf: Likewise.
33295
33296 2007-10-27  Ben Pfaff  <blp@gnu.org>
33297
33298         * lib/math.in.h: Define isfinite macro and prototypes for
33299         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
33300         implementations.
33301         * m4/math_h.m4: New substitutions for isfinite module.
33302         * lib/isfinite.c: New file.
33303         * m4/isfinite.m4: New file.
33304         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
33305         * modules/isfinite: New file.
33306         * modules/isfinite-tests: New file.
33307         * tests/tests-isfinite.c: New file.
33308         * doc/functions/isfinite.texi: Mention isfinite module.
33309         * MODULES.html.sh: Mention new module.
33310
33311 2007-10-27  Ben Pfaff  <blp@gnu.org>
33312
33313         Ralf Wildenhues reported that Tru64 4.0D declares the round
33314         functions but does not have definitions.
33315         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
33316         cannot be found in any library, set the output variable to
33317         "missing" instead of "".
33318         * m4/round.m4: Also use our substitute if we cannot find round in
33319         any library, even if it is declared.
33320         * m4/roundf.m4: Likewise for roundf.
33321         * m4/roundl.m4: Likewise for roundl.
33322         * lib/math.in.h: Undefine roundf, round, roundl before defining
33323         their replacements, to allow for hypothetical systems where these
33324         may be defined as macros but not available in libraries.
33325
33326 2007-10-27  Bruno Haible  <bruno@clisp.org>
33327
33328         * doc/gnulib.texi: Invoke @firstparagraphindent.
33329         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
33330         changes in gnulib.
33331         (Source changes): New section.
33332
33333 2007-10-26  Bruno Haible  <bruno@clisp.org>
33334
33335         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
33336         borrowed from autoconf.
33337
33338 2007-10-26  Bruno Haible  <bruno@clisp.org>
33339
33340         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
33341         strerror returned the empty string. Needed on HP-UX 11.00.
33342
33343 2007-10-24  Micah Cowan  <micah@cowan.name>
33344
33345         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
33346         * build-aux/bootstrap: Remove support for now-unnecessary option,
33347         --cvs-user, and envvars CVS_USER, CVS_RSH.
33348
33349 2007-10-24  Jim Meyering  <meyering@redhat.com>
33350
33351         Avoid diagnostics from sha1sum when there is no cached checksum.
33352         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
33353         if the po.s1 file hasn't been created yet.
33354
33355         * build-aux/bootstrap: Sync from coreutils:
33356         2007-10-24  Jim Meyering  <meyering@redhat.com>
33357         Get gnulib from the git repository, not from an obsolete cvs one.
33358         * build-aux/bootstrap: Suggestion from Micah Cowan.
33359         2007-10-04  Jim Meyering  <jim@meyering.net>
33360         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
33361         (update_po_files): Work also when there are no .po files in po/.
33362
33363 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
33364
33365         * README: Append ".git" to git and cg examples.
33366         Problem reported by Benoit Sigoure.
33367
33368 2007-10-23  Micah Cowan  <micah@cowan.name>
33369
33370         * users.txt: Add wget.
33371
33372 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33373
33374         Fix linking of some unistdio tests on FreeBSD.
33375         * modules/unistdio/u16-vsnprintf-tests
33376         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
33377         * modules/unistdio/u16-vsprintf-tests
33378         (test_u16_vsnprintf1_LDADD): Likewise.
33379         * modules/unistdio/u32-vsnprintf-tests
33380         (test_u32_vsnprintf1_LDADD): Likewise.
33381         * modules/unistdio/u32-vsprintf-tests
33382         (test_u32_vsprintf1_LDADD): Likewise.
33383         * modules/unistdio/u8-vsnprintf-tests
33384         (test_u8_vsnprintf1_LDADD): Likewise.
33385         * modules/unistdio/u8-vsprintf-tests
33386         (test_u8_vsprintf1_LDADD): Likewise.
33387         * modules/unistdio/ulc-vsnprintf-tests
33388         (test_ulc_vsnprintf1_LDADD): Likewise.
33389         * modules/unistdio/ulc-vsprintf-tests
33390         (test_ulc_vsprintf1_LDADD): Likewise.
33391
33392         Fix linking of some uniconv tests on FreeBSD.
33393         * modules/uniconv/u16-conv-from-enc-tests
33394         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
33395         * modules/uniconv/u16-conv-to-enc-tests
33396         (test_u16_conv_to_enc_LDADD): Likewise.
33397         * modules/uniconv/u16-strconv-from-enc-tests
33398         (test_u16_strconv_from_enc_LDADD): Likewise.
33399         * modules/uniconv/u16-strconv-to-enc-tests
33400         (test_u16_strconv_to_enc_LDADD): Likewise.
33401         * modules/uniconv/u32-conv-from-enc-tests
33402         (test_u32_conv_from_enc_LDADD): Likewise.
33403         * modules/uniconv/u32-conv-to-enc-tests
33404         (test_u32_conv_to_enc_LDADD): Likewise.
33405         * modules/uniconv/u32-strconv-from-enc-tests
33406         (test_u32_strconv_from_enc_LDADD): Likewise.
33407         * modules/uniconv/u32-strconv-to-enc-tests
33408         (test_u32_strconv_to_enc_LDADD): Likewise.
33409         * modules/uniconv/u8-conv-from-enc-tests
33410         (test_u8_conv_from_enc_LDADD): Likewise.
33411         * modules/uniconv/u8-conv-to-enc-tests
33412         (test_u8_conv_to_enc_LDADD): Likewise.
33413         * modules/uniconv/u8-strconv-from-enc-tests
33414         (test_u8_strconv_from_enc_LDADD): Likewise.
33415         * modules/uniconv/u8-strconv-to-enc-tests
33416         (test_u8_strconv_to_enc_LDADD): Likewise.
33417
33418 2007-10-22  Bruno Haible  <bruno@clisp.org>
33419
33420         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
33421         size.
33422
33423 2007-10-22  Eric Blake  <ebb9@byu.net>
33424
33425         Tweak x*printf documentation.
33426         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
33427         variable name and comments.
33428         Suggested by Bruno Haible.
33429
33430 2007-10-22  Bruno Haible  <bruno@clisp.org>
33431
33432         * lib/acl.c (copy_acl): Fix file name in comment.
33433
33434 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
33435
33436         Fix Tru64 problem with stdbool.h.
33437         * lib/stdbool.in.h (false, true):
33438         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
33439         Don't declare as an enum in this situation; it runs afoul of Tru64.
33440         Problem reported by Steven M. Schweda in
33441         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
33442
33443 2007-10-22  Eric Blake  <ebb9@byu.net>
33444
33445         Also wrap vf?printf.
33446         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
33447         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
33448         (xvprintf, xvfprintf): New functions.
33449
33450 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33451
33452         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
33453         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
33454
33455         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
33456         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
33457
33458 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
33459
33460         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
33461         by Bruno Haible.
33462
33463 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33464
33465         * lib/getloadavg.c
33466         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
33467         Undef `sys' after including sys/table.h, for Tru64 4.0D.
33468
33469         * tests/test-i-ring.c: Work for C89.
33470
33471 2007-10-22  Bruno Haible  <bruno@clisp.org>
33472
33473         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
33474         -1u, in preprocessor expression, so that we don't test for the bug
33475         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
33476         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
33477
33478 2007-10-22  Eric Blake  <ebb9@byu.net>
33479
33480         * tests/test-yesno.sh: Silence stderr during test.
33481
33482 2007-10-22  Simon Josefsson  <simon@josefsson.org>
33483
33484         * modules/crypto/gc-camellia: New file.
33485
33486         * m4/gc-camellia.m4: New file.
33487
33488         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
33489
33490         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
33491
33492 2007-10-22  Simon Josefsson  <simon@josefsson.org>
33493
33494         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
33495         --help to stdout.  Reported by sms@antinode.org (Steven
33496         M. Schweda).
33497
33498 2007-10-22  Simon Josefsson  <simon@josefsson.org>
33499
33500         * users.txt: Fix link to libksba.
33501
33502 2007-10-21  Ben Pfaff  <blp@gnu.org>
33503
33504         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
33505         round.c roundf implementation that depends on floorf and ceilf to
33506         be tested unconditionally.
33507
33508 2007-10-21  Ben Pfaff  <blp@gnu.org>
33509
33510         * m4/check-libm-func.m4: Removed.
33511         * m4/check-math-lib.m4: New file.
33512         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
33513         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
33514         definition and lack of AC_LIBOBJ([roundf]).
33515         * m4/roundl.m4: Ditto, and similarly for roundl.
33516         * modules/round: Reference new m4 file.
33517         * modules/roundf: Ditto.
33518         * modules/roundl: Ditto.
33519         * tests/test-round2.c (main): Use ROUND instead of round.
33520         Bug report from Bruno Haible.
33521
33522 2007-10-21  Bruno Haible  <bruno@clisp.org>
33523
33524         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
33525         context.
33526
33527 2007-10-21  Bruno Haible  <bruno@clisp.org>
33528
33529         * tests/test-wcwidth.c (main): Allow negative result for some control
33530         characters.
33531
33532         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
33533         Needed on OSF/1 5.1.
33534
33535 2007-10-21  Bruno Haible  <bruno@clisp.org>
33536
33537         * tests/test-floorf1.c: Include isnanf.h.
33538         (main): Use isnanf() instead of isnan().
33539         * tests/test-ceilf1.c: Include isnanf.h.
33540         (main): Use isnanf() instead of isnan().
33541         * tests/test-truncf1.c: Include isnanf.h.
33542         (main): Use isnanf() instead of isnan().
33543         * tests/test-roundf1.c: Include isnanf.h.
33544         (main): Use isnanf() instead of isnan().
33545
33546 2007-10-21  Eric Blake  <ebb9@byu.net>
33547
33548         * users.txt: Update URL for m4.
33549
33550 2007-10-21  Bruno Haible  <bruno@clisp.org>
33551
33552         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
33553
33554 2007-10-21  Bruno Haible  <bruno@clisp.org>
33555
33556         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
33557         Git's management files if the CVS files are not present.
33558
33559 2007-10-20  Bruno Haible  <bruno@clisp.org>
33560
33561         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
33562         gcc-3.4.x.
33563
33564 2007-10-20  Ben Pfaff  <blp@gnu.org>
33565
33566         * lib/math.in.h: Declare round, roundf, roundl if we are providing
33567         implementations.
33568         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
33569         * lib/round.c: New file.
33570         * lib/roundf.c: New file.
33571         * lib/roundl.c: New file.
33572         * m4/round.m4: New file.
33573         * m4/roundf.m4: New file.
33574         * m4/roundl.m4: New file.
33575         * m4/check-libm-func-m4: New file.
33576         * modules/math: Replace round, roundf, roundl related @VARS@ in
33577         math.in.h.
33578         * modules/round: New file.
33579         * modules/round-tests: New file.
33580         * modules/roundf: New file.
33581         * modules/roundf-tests: New file.
33582         * modules/roundl: New file.
33583         * modules/roundl-tests: New file.
33584         * tests/test-round1.c: New file.
33585         * tests/test-round2.c: New file.
33586         * tests/test-roundf1.c: New file.
33587         * tests/test-roundf2.c: New file.
33588         * tests/test-roundl.c: New file.
33589         * doc/functions/round.texi: Mention round module.
33590         * doc/functions/roundf.texi: Mention roundf module.
33591         * doc/functions/roundl.texi: Mention roundl module.
33592         * MODULES.html.sh: Mention new modules.
33593         Thanks to Bruno Haible for suggestions.
33594
33595 2007-10-20  Jim Meyering  <meyering@redhat.com>
33596
33597         * lib/xprintf.c: Include <config.h> unconditionally.
33598
33599         Change xprintf's license to GPL.
33600         * modules/xprintf (License): s/LGPL/GPL/, since this module
33601         depends on modules (exit and exitfail) which are GPL.
33602         Suggestion from Bruno Haible.
33603
33604         xprintf fixes.
33605         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
33606         Use a clearer diagnostic.
33607         Patch from Bruno Haible.
33608
33609 2007-10-20  Bruno Haible  <bruno@clisp.org>
33610
33611         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
33612         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
33613         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33614
33615 2007-10-20  Bruno Haible  <bruno@clisp.org>
33616
33617         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
33618         precision in the comparison result > x - 1 or similar.
33619         * tests/test-ceilf2.c (correct_result_p): Likewise.
33620         * tests/test-truncf2.c (correct_result_p): Likewise.
33621         * tests/test-trunc2.c (correct_result_p): Likewise.
33622         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33623
33624 2007-10-20  Bruno Haible  <bruno@clisp.org>
33625
33626         * modules/ceil: New file.
33627         * m4/ceil.m4: New file.
33628         * doc/functions/ceil.texi: Mention the 'ceil' module.
33629
33630 2007-10-20  Bruno Haible  <bruno@clisp.org>
33631
33632         * modules/floor: New file.
33633         * m4/floor.m4: New file.
33634         * doc/functions/floor.texi: Mention the 'floor' module.
33635
33636 2007-10-20  Bruno Haible  <bruno@clisp.org>
33637
33638         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
33639         of %a.
33640         * modules/floorf-tests (Depends-on): Likewise.
33641         * modules/truncf-tests (Depends-on): Likewise.
33642         * modules/trunc-tests (Depends-on): Likewise.
33643         Reported by Ben Pfaff.
33644
33645 2007-10-19  Jim Meyering  <meyering@redhat.com>
33646
33647         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
33648         Don't bother testing specific errno values.  Just test ferror.
33649
33650         New module: xprintf
33651         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
33652
33653 2007-10-19  Bruno Haible  <bruno@clisp.org>
33654
33655         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
33656         syntax.
33657         * modules/javaexec (Makefile.am): Likewise.
33658         * modules/relocatable-prog (Makefile.am): Likewise.
33659         Suggested by Jim Meyering.
33660
33661 2007-10-18  Bruno Haible  <bruno@clisp.org>
33662
33663         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
33664         Reported by Jim Meyering.
33665
33666 2007-10-18  Eric Blake  <ebb9@byu.net>
33667
33668         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
33669
33670 2007-10-18  Bruno Haible  <bruno@clisp.org>
33671
33672         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
33673         the format string into writable memory. Needed in Fortify conditions.
33674
33675 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
33676             Bruno Haible  <bruno@clisp.org>
33677
33678         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
33679         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
33680         * modules/trim (Depends-on): Add mbchar.
33681         (configure.ac): Add gl_FUNC_MBRTOWC.
33682         (Makefile.am): Augment lib_SOURCES.
33683
33684 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
33685
33686         Modify glob.c to use fstatat and dirfd, to simplify it.
33687         Suggested by Eric Blake.
33688         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
33689         Don't include <stdbool.h>; not used.
33690         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
33691         (link_exists_p): Simplify implementation, since we can now assume
33692         dirfd and fstatat.
33693         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
33694
33695 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33696
33697         * gnulib-tool (func_get_dependencies): Fix sed script to
33698         match only tests.
33699
33700 2007-10-17  Bruno Haible  <bruno@clisp.org>
33701
33702         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
33703         allow locale names without encoding suffix.
33704         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
33705         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
33706
33707 2007-10-16  Bruno Haible  <bruno@clisp.org>
33708
33709         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
33710         * lib/getgroups.c (getgroups): Likewise.
33711         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
33712
33713 2007-10-16  Bruno Haible  <bruno@clisp.org>
33714
33715         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
33716         * modules/malloc-posix (License): Likewise.
33717         * modules/realloc-posix (License): Likewise.
33718         * modules/calloc-posix (License): Likewise.
33719         * modules/intprops (License): Change from GPL to LGPL, with
33720         Paul Eggert's approval.
33721
33722 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
33723
33724         Merge glibc changes into lib/glob.c.
33725
33726         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
33727         2007-10-15 04:59:03 UTC.  Here are the changes:
33728
33729         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
33730
33731         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
33732
33733         * lib/glob.c: Add some branch prediction throughout.
33734
33735         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
33736
33737         [BZ #5103]
33738         * lib/glob.c (glob): Recognize patterns starting \/.
33739
33740         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
33741
33742         [BZ #3996]
33743         * lib/glob.c (attribute_hidden): Define if not defined.
33744         (glob): Unescape dirname, filename or username when needed and not
33745         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
33746         is NULL.  Handle unescaped [ in pattern without closing ].
33747         Don't pass GLOB_CHECK down to recursive glob for directories.
33748         (__glob_pattern_type): New function.
33749         (__glob_pattern_p): Implement using __glob_pattern_type.
33750         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
33751         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
33752         Remove unreachable code.
33753
33754         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
33755
33756         * lib/glob.c (glob_in_dir): Add some comments and asserts to
33757         explain why there are no leaks.
33758
33759         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
33760
33761         [BZ #3253]
33762         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
33763         time, rather allocate increasingly bigger arrays of pointers, if
33764         possible with alloca, if too large with malloc.
33765
33766 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
33767
33768         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
33769         Problem reported by H.Merijn Brand in
33770         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
33771         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
33772         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
33773
33774 2007-10-15  Bruno Haible  <bruno@clisp.org>
33775
33776         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
33777         with explicit rpl_ prefix.
33778         * lib/fopen.c (fopen): Likewise.
33779         * lib/freopen.c (freopen): Likewise.
33780         * lib/iconv.c (iconv): Likewise.
33781         * lib/iconv_close.c (iconv_close): Likewise.
33782
33783 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33784
33785         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
33786
33787 2007-10-15  Bruno Haible  <bruno@clisp.org>
33788
33789         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
33790         <stddef.h> instead of <stdlib.h> since we only need NULL.
33791         Reported by Ben Pfaff <blp@cs.stanford.edu>.
33792
33793 2007-10-15  Bruno Haible  <bruno@clisp.org>
33794
33795         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
33796         Replace paragraph talking about LIBOBJS.
33797         Reported by Colin Watson <cjwatson@debian.org>.
33798
33799 2007-10-15  Bruno Haible  <bruno@clisp.org>
33800
33801         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
33802         <stdlib.h> before using NULL.
33803
33804 2007-10-15  Simon Josefsson  <simon@josefsson.org>
33805
33806         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
33807         Reported by Albert Chin <china@thewrittenword.com>.
33808
33809 2007-10-14  Bruno Haible  <bruno@clisp.org>
33810
33811         * modules/iconv_open-utf-tests: New file.
33812         * tests/test-iconv-utf.c: New file.
33813
33814         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
33815         * modules/iconv_open-utf: New file.
33816         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
33817         (iconv, iconv_close): New declarations.
33818         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
33819         be defined.
33820         (iconv_open): Add special handling of conversion between UTF-8 and
33821         UTF-{16,32}{BE,LE}.
33822         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
33823         * lib/iconv_close.c: New file.
33824         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
33825         gl_FUNC_ICONV_OPEN.
33826         (gl_FUNC_ICONV_OPEN): Use it.
33827         (gl_FUNC_ICONV_OPEN_UTF): New macro.
33828         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
33829         and REPLACE_ICONV_UTF.
33830         * modules/iconv_open (Depends-on): Add c-strcase.
33831         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
33832         ICONV_CONST.
33833         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
33834
33835 2007-10-13  Albert Chin  <china@thewrittenword.com>
33836             Bruno Haible  <bruno@clisp.org>
33837
33838         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
33839         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
33840
33841 2007-10-13  Bruno Haible  <bruno@clisp.org>
33842
33843         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
33844         defined, use the ISO C99 inline semantics.
33845         * lib/argp.h (ARGP_EI): Likewise.
33846
33847 2007-10-13  Bruno Haible  <bruno@clisp.org>
33848
33849         Handle 'inline' change in gcc 4.3.0.
33850         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
33851         argp_fmtstream_write, argp_fmtstream_set_lmargin,
33852         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
33853         argp_fmtstream_point): Disable 'extern' declaration if the function
33854         definition is going to be provided inline.
33855         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
33856         semantics, not the ISO C99 inline semantics.
33857         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
33858         'extern' declaration if the function definition is going to be provided
33859         inline.
33860         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
33861         the GNU C inline semantics, not the ISO C99 inline semantics. With
33862         GCC 4.2, avoid a warning.
33863
33864 2007-10-13  Bruno Haible  <bruno@clisp.org>
33865
33866         * lib/freading.h (freading): Enable the use of __freading for
33867         glibc >= 2.7.
33868         * lib/freading.c (freading): Likewise.
33869
33870 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
33871
33872         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
33873         "warning: C99 inline functions are not supported; using GNU89".
33874
33875 2007-10-12  Bruno Haible  <bruno@clisp.org>
33876
33877         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
33878         of 2.
33879         * tests/test-ceilf2.c: New file.
33880         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
33881
33882         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
33883         * modules/ceilf-tests: Update.
33884
33885 2007-10-12  Bruno Haible  <bruno@clisp.org>
33886
33887         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
33888         of 2.
33889         * tests/test-floorf2.c: New file.
33890         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
33891
33892         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
33893         * modules/floorf-tests: Update.
33894
33895 2007-10-12  Bruno Haible  <bruno@clisp.org>
33896
33897         * tests/test-trunc2.c: New file.
33898         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
33899
33900         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
33901         * modules/trunc-tests: Update.
33902
33903 2007-10-12  Bruno Haible  <bruno@clisp.org>
33904
33905         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
33906         of 2.
33907         * tests/test-truncf2.c: New file.
33908         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
33909
33910         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
33911         * modules/truncf-tests: Update.
33912
33913 2007-10-11  Eric Blake  <ebb9@byu.net>
33914
33915         Don't claim strerror is broken on Interix.
33916         * doc/functions/strerror.texi (strerror): Known broken systems are
33917         now Solaris 8, and not Interix.
33918         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
33919         Interix on cross-compile.
33920         Reported by Martin Koeppe in
33921         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
33922
33923 2007-10-11  Bruno Haible  <bruno@clisp.org>
33924
33925         * modules/i-ring-tests: New file.
33926         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
33927         instead of assert.
33928
33929 2007-10-11  Bruno Haible  <bruno@clisp.org>
33930
33931         * modules/filenamecat-tests: New file.
33932         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
33933         * lib/filenamecat.c: Remove test code.
33934
33935 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
33936
33937         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
33938
33939         * lib/strerror.c: Include <string.h> always, to test interface,
33940         and to remove the need for the dummy.
33941         Include intprops.h to compute width instead of doing it ourselves
33942         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
33943         (strerror): Define it to return NULL if there's no system strerror.
33944         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
33945         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
33946         ancient pre-strerror Unix systems well any more.  Saying "unknown
33947         system error" is enough.
33948         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
33949         simpler strerror.c implementation.
33950         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
33951         Simplify the tests to reflect the simpler strerror implementation.
33952         * modules/strerror (Depends-on): Add intprops.
33953
33954 2007-10-09  Eric Blake  <ebb9@byu.net>
33955
33956         Silence test-fpending.
33957         * modules/fpending-tests (Files): Add wrapper script.
33958         * tests/test-fpending.sh: New file.
33959
33960 2007-10-09  Bruno Haible  <bruno@clisp.org>
33961
33962         * MODULES.html.sh (func_module): Don't create a hyperlink for
33963         function names like 'printf_frexp'.
33964         (Misc): Add crc, memxor.
33965         (Characteristics of floating types): New section.
33966         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
33967         isnanf-nolibm, signbit, trunc, truncf, truncl.
33968         (Enhancements for ISO C 99 functions): New subsection Input/output.
33969         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
33970         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
33971         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
33972         (Compatibility checks for POSIX:2001 functions): Add clock-time.
33973         (Enhancements for POSIX:2001 functions): Add chdir-long.
33974         (File system functions): Add areadlink, chdir-safer, read-file.
33975         Remove cycle-check.
33976         (File system as inode set): New section.
33977         (Date and time): Add gethrxtime.
33978         (Multithreading): Add openmp.
33979         (Internationalization functions): Add localename.
33980         (Unicode string functions): Add unistr/u*-mbsnlen.
33981         (Support for maintaining and releasing projects): Add git-version-gen.
33982         (Lone files): Remove directories.
33983
33984 2007-10-08  Ben Pfaff  <blp@gnu.org>
33985
33986         * lib/xmalloca.h: Fix typo in comment.
33987
33988 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
33989
33990         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
33991         when avoiding problems with integer overflow.  Use a portable test
33992         instead.
33993
33994 2007-10-08  Simon Josefsson  <simon@josefsson.org>
33995
33996         * modules/dummy (License): Change to LGPLv2+.
33997         * modules/float (License): Likewise
33998         * modules/realloc (License): Likewise
33999         * modules/stdlib (License): Likewise
34000
34001 2007-10-07  Bruno Haible  <bruno@clisp.org>
34002
34003         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
34004         * floor.c (TWO_MANT_DIG): Likewise.
34005         * ceil.c (TWO_MANT_DIG): Likewise.
34006         Reported by Ben Pfaff.
34007
34008 2007-10-07  Bruno Haible  <bruno@clisp.org>
34009
34010         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
34011         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
34012         * lib/frexp.c (FUNC): Likewise.
34013         * lib/printf-frexp.h (printf_frexp): Likewise.
34014         * lib/printf-frexpl.h (printf_frexpl): Likewise.
34015         * lib/printf-frexp.c (FUNC): Likewise.
34016         Suggested by Jim Meyering.
34017
34018 2007-10-07  Jim Meyering  <meyering@redhat.com>
34019
34020         Make xnanosleep's integer overflow test more robust.
34021         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
34022         so that gcc-4.3.0 doesn't optimize away this test for overflow.
34023
34024 2007-10-07  Bruno Haible  <bruno@clisp.org>
34025
34026         * NEWS: Mention the license change.
34027
34028         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
34029         abbreviations in the modules files.
34030
34031         Change copyright notice from GPLv2+ to GPLv3+.
34032         * README: Change copyright notice.
34033         * MODULES.html.sh: Likewise.
34034         * build-aux/bootstrap.conf: Likewise.
34035         * build-aux/config.libpath: Likewise.
34036         * build-aux/csharpcomp.sh.in: Likewise.
34037         * build-aux/csharpexec.sh.in: Likewise.
34038         * build-aux/install-reloc: Likewise.
34039         * build-aux/javacomp.sh.in: Likewise.
34040         * build-aux/javaexec.sh.in: Likewise.
34041         * build-aux/ldd.sh.in: Likewise.
34042         * build-aux/reloc-ldflags: Likewise.
34043         * build-aux/relocatable.sh.in: Likewise.
34044         * build-aux/x-to-1.in: Likewise.
34045         * check-module: Likewise.
34046         * config/srclistvars.sh: Likewise.
34047         * gnulib-tool: Likewise.
34048         * lib/acl-internal.h: Likewise.
34049         * lib/acl.c: Likewise.
34050         * lib/acl.h: Likewise.
34051         * lib/acl_entries.c: Likewise.
34052         * lib/areadlink-with-size.c: Likewise.
34053         * lib/areadlink.c: Likewise.
34054         * lib/areadlink.h: Likewise.
34055         * lib/argmatch.c: Likewise.
34056         * lib/argmatch.h: Likewise.
34057         * lib/argp-ba.c: Likewise.
34058         * lib/argp-eexst.c: Likewise.
34059         * lib/argp-fmtstream.c: Likewise.
34060         * lib/argp-fmtstream.h: Likewise.
34061         * lib/argp-fs-xinl.c: Likewise.
34062         * lib/argp-help.c: Likewise.
34063         * lib/argp-namefrob.h: Likewise.
34064         * lib/argp-parse.c: Likewise.
34065         * lib/argp-pin.c: Likewise.
34066         * lib/argp-pv.c: Likewise.
34067         * lib/argp-pvh.c: Likewise.
34068         * lib/argp-xinl.c: Likewise.
34069         * lib/argp.h: Likewise.
34070         * lib/at-func.c: Likewise.
34071         * lib/atanl.c: Likewise.
34072         * lib/backupfile.c: Likewise.
34073         * lib/backupfile.h: Likewise.
34074         * lib/basename.c: Likewise.
34075         * lib/binary-io.h: Likewise.
34076         * lib/byteswap.in.h: Likewise.
34077         * lib/c-stack.c: Likewise.
34078         * lib/c-stack.h: Likewise.
34079         * lib/c-strcasestr.c: Likewise.
34080         * lib/c-strcasestr.h: Likewise.
34081         * lib/c-strstr.c: Likewise.
34082         * lib/c-strstr.h: Likewise.
34083         * lib/c-strtod.c: Likewise.
34084         * lib/calloc.c: Likewise.
34085         * lib/canon-host.c: Likewise.
34086         * lib/canon-host.h: Likewise.
34087         * lib/canonicalize-lgpl.c: Likewise.
34088         * lib/canonicalize.c: Likewise.
34089         * lib/canonicalize.h: Likewise.
34090         * lib/ceil.c: Likewise.
34091         * lib/ceilf.c: Likewise.
34092         * lib/ceill.c: Likewise.
34093         * lib/chdir-long.c: Likewise.
34094         * lib/chdir-long.h: Likewise.
34095         * lib/chdir-safer.c: Likewise.
34096         * lib/chdir-safer.h: Likewise.
34097         * lib/chown.c: Likewise.
34098         * lib/classpath.c: Likewise.
34099         * lib/classpath.h: Likewise.
34100         * lib/clean-temp.c: Likewise.
34101         * lib/clean-temp.h: Likewise.
34102         * lib/cloexec.c: Likewise.
34103         * lib/close-stream.c: Likewise.
34104         * lib/closein.c: Likewise.
34105         * lib/closein.h: Likewise.
34106         * lib/closeout.c: Likewise.
34107         * lib/closeout.h: Likewise.
34108         * lib/concat-filename.c: Likewise.
34109         * lib/copy-file.c: Likewise.
34110         * lib/copy-file.h: Likewise.
34111         * lib/count-one-bits.h: Likewise.
34112         * lib/crc.c: Likewise.
34113         * lib/crc.h: Likewise.
34114         * lib/creat-safer.c: Likewise.
34115         * lib/csharpcomp.c: Likewise.
34116         * lib/csharpcomp.h: Likewise.
34117         * lib/csharpexec.c: Likewise.
34118         * lib/csharpexec.h: Likewise.
34119         * lib/cycle-check.c: Likewise.
34120         * lib/cycle-check.h: Likewise.
34121         * lib/diacrit.c: Likewise.
34122         * lib/diacrit.h: Likewise.
34123         * lib/diffseq.h: Likewise.
34124         * lib/dirchownmod.c: Likewise.
34125         * lib/dirent.in.h: Likewise.
34126         * lib/dirfd.c: Likewise.
34127         * lib/dirfd.h: Likewise.
34128         * lib/dirname.c: Likewise.
34129         * lib/dirname.h: Likewise.
34130         * lib/dummy.c: Likewise.
34131         * lib/dup-safer.c: Likewise.
34132         * lib/dup2.c: Likewise.
34133         * lib/eealloc.h: Likewise.
34134         * lib/error.c: Likewise.
34135         * lib/error.h: Likewise.
34136         * lib/euidaccess.c: Likewise.
34137         * lib/exclude.c: Likewise.
34138         * lib/exclude.h: Likewise.
34139         * lib/execute.c: Likewise.
34140         * lib/execute.h: Likewise.
34141         * lib/exitfail.c: Likewise.
34142         * lib/exitfail.h: Likewise.
34143         * lib/expl.c: Likewise.
34144         * lib/fatal-signal.c: Likewise.
34145         * lib/fatal-signal.h: Likewise.
34146         * lib/fbufmode.c: Likewise.
34147         * lib/fbufmode.h: Likewise.
34148         * lib/fchdir.c: Likewise.
34149         * lib/fchmodat.c: Likewise.
34150         * lib/fchownat.c: Likewise.
34151         * lib/fcntl--.h: Likewise.
34152         * lib/fcntl-safer.h: Likewise.
34153         * lib/fcntl.in.h: Likewise.
34154         * lib/fd-safer.c: Likewise.
34155         * lib/fflush.c: Likewise.
34156         * lib/file-has-acl.c: Likewise.
34157         * lib/file-set.c: Likewise.
34158         * lib/file-type.c: Likewise.
34159         * lib/file-type.h: Likewise.
34160         * lib/fileblocks.c: Likewise.
34161         * lib/filemode.c: Likewise.
34162         * lib/filemode.h: Likewise.
34163         * lib/filename.h: Likewise.
34164         * lib/filenamecat.c: Likewise.
34165         * lib/filenamecat.h: Likewise.
34166         * lib/findprog.c: Likewise.
34167         * lib/findprog.h: Likewise.
34168         * lib/float.in.h: Likewise.
34169         * lib/floor.c: Likewise.
34170         * lib/floorf.c: Likewise.
34171         * lib/floorl.c: Likewise.
34172         * lib/fopen-safer.c: Likewise.
34173         * lib/fopen.c: Likewise.
34174         * lib/fpending.c: Likewise.
34175         * lib/fpending.h: Likewise.
34176         * lib/fprintf.c: Likewise.
34177         * lib/fprintftime.h: Likewise.
34178         * lib/fpucw.h: Likewise.
34179         * lib/fpurge.c: Likewise.
34180         * lib/fpurge.h: Likewise.
34181         * lib/freadable.c: Likewise.
34182         * lib/freadable.h: Likewise.
34183         * lib/freadahead.c: Likewise.
34184         * lib/freadahead.h: Likewise.
34185         * lib/freading.c: Likewise.
34186         * lib/freading.h: Likewise.
34187         * lib/free.c: Likewise.
34188         * lib/freopen.c: Likewise.
34189         * lib/frexp.c: Likewise.
34190         * lib/frexpl.c: Likewise.
34191         * lib/fseek.c: Likewise.
34192         * lib/fseterr.c: Likewise.
34193         * lib/fseterr.h: Likewise.
34194         * lib/fstatat.c: Likewise.
34195         * lib/fstrcmp.c: Likewise.
34196         * lib/fstrcmp.h: Likewise.
34197         * lib/fsusage.c: Likewise.
34198         * lib/fsusage.h: Likewise.
34199         * lib/ftell.c: Likewise.
34200         * lib/ftello.c: Likewise.
34201         * lib/fts-cycle.c: Likewise.
34202         * lib/fts.c: Likewise.
34203         * lib/fts_.h: Likewise.
34204         * lib/full-read.c: Likewise.
34205         * lib/full-read.h: Likewise.
34206         * lib/full-write.c: Likewise.
34207         * lib/full-write.h: Likewise.
34208         * lib/fwritable.c: Likewise.
34209         * lib/fwritable.h: Likewise.
34210         * lib/fwriteerror.c: Likewise.
34211         * lib/fwriteerror.h: Likewise.
34212         * lib/fwriting.c: Likewise.
34213         * lib/fwriting.h: Likewise.
34214         * lib/gcd.c: Likewise.
34215         * lib/gcd.h: Likewise.
34216         * lib/getcwd.c: Likewise.
34217         * lib/getdate.h: Likewise.
34218         * lib/getdate.y: Likewise.
34219         * lib/getdomainname.c: Likewise.
34220         * lib/getdomainname.h: Likewise.
34221         * lib/getgroups.c: Likewise.
34222         * lib/gethostname.c: Likewise.
34223         * lib/gethrxtime.c: Likewise.
34224         * lib/gethrxtime.h: Likewise.
34225         * lib/getloadavg.c: Likewise.
34226         * lib/getndelim2.c: Likewise.
34227         * lib/getndelim2.h: Likewise.
34228         * lib/getnline.c: Likewise.
34229         * lib/getnline.h: Likewise.
34230         * lib/getopt.c: Likewise.
34231         * lib/getopt.in.h: Likewise.
34232         * lib/getopt1.c: Likewise.
34233         * lib/getopt_int.h: Likewise.
34234         * lib/getpagesize.h: Likewise.
34235         * lib/getsubopt.c: Likewise.
34236         * lib/gettime.c: Likewise.
34237         * lib/getugroups.c: Likewise.
34238         * lib/getugroups.h: Likewise.
34239         * lib/getusershell.c: Likewise.
34240         * lib/gl_anyavltree_list1.h: Likewise.
34241         * lib/gl_anyavltree_list2.h: Likewise.
34242         * lib/gl_anyhash_list1.h: Likewise.
34243         * lib/gl_anyhash_list2.h: Likewise.
34244         * lib/gl_anylinked_list1.h: Likewise.
34245         * lib/gl_anylinked_list2.h: Likewise.
34246         * lib/gl_anyrbtree_list1.h: Likewise.
34247         * lib/gl_anyrbtree_list2.h: Likewise.
34248         * lib/gl_anytree_list1.h: Likewise.
34249         * lib/gl_anytree_list2.h: Likewise.
34250         * lib/gl_anytree_oset.h: Likewise.
34251         * lib/gl_anytreehash_list1.h: Likewise.
34252         * lib/gl_anytreehash_list2.h: Likewise.
34253         * lib/gl_array_list.c: Likewise.
34254         * lib/gl_array_list.h: Likewise.
34255         * lib/gl_array_oset.c: Likewise.
34256         * lib/gl_array_oset.h: Likewise.
34257         * lib/gl_avltree_list.c: Likewise.
34258         * lib/gl_avltree_list.h: Likewise.
34259         * lib/gl_avltree_oset.c: Likewise.
34260         * lib/gl_avltree_oset.h: Likewise.
34261         * lib/gl_avltreehash_list.c: Likewise.
34262         * lib/gl_avltreehash_list.h: Likewise.
34263         * lib/gl_carray_list.c: Likewise.
34264         * lib/gl_carray_list.h: Likewise.
34265         * lib/gl_linked_list.c: Likewise.
34266         * lib/gl_linked_list.h: Likewise.
34267         * lib/gl_linkedhash_list.c: Likewise.
34268         * lib/gl_linkedhash_list.h: Likewise.
34269         * lib/gl_list.c: Likewise.
34270         * lib/gl_list.h: Likewise.
34271         * lib/gl_oset.c: Likewise.
34272         * lib/gl_oset.h: Likewise.
34273         * lib/gl_rbtree_list.c: Likewise.
34274         * lib/gl_rbtree_list.h: Likewise.
34275         * lib/gl_rbtree_oset.c: Likewise.
34276         * lib/gl_rbtree_oset.h: Likewise.
34277         * lib/gl_rbtreehash_list.c: Likewise.
34278         * lib/gl_rbtreehash_list.h: Likewise.
34279         * lib/gl_sublist.c: Likewise.
34280         * lib/gl_sublist.h: Likewise.
34281         * lib/group-member.c: Likewise.
34282         * lib/group-member.h: Likewise.
34283         * lib/hard-locale.c: Likewise.
34284         * lib/hard-locale.h: Likewise.
34285         * lib/hash-pjw.c: Likewise.
34286         * lib/hash-pjw.h: Likewise.
34287         * lib/hash-triple.c: Likewise.
34288         * lib/hash.c: Likewise.
34289         * lib/hash.h: Likewise.
34290         * lib/human.c: Likewise.
34291         * lib/human.h: Likewise.
34292         * lib/i-ring.c: Likewise.
34293         * lib/i-ring.h: Likewise.
34294         * lib/idcache.c: Likewise.
34295         * lib/imaxabs.c: Likewise.
34296         * lib/imaxdiv.c: Likewise.
34297         * lib/inet_pton.c: Likewise.
34298         * lib/inet_pton.h: Likewise.
34299         * lib/intprops.h: Likewise.
34300         * lib/inttostr.c: Likewise.
34301         * lib/inttostr.h: Likewise.
34302         * lib/inttypes.in.h: Likewise.
34303         * lib/isapipe.c: Likewise.
34304         * lib/isdir.c: Likewise.
34305         * lib/isnan.c: Likewise.
34306         * lib/isnan.h: Likewise.
34307         * lib/isnanf.c: Likewise.
34308         * lib/isnanf.h: Likewise.
34309         * lib/isnanl-nolibm.h: Likewise.
34310         * lib/isnanl.c: Likewise.
34311         * lib/isnanl.h: Likewise.
34312         * lib/javacomp.c: Likewise.
34313         * lib/javacomp.h: Likewise.
34314         * lib/javaexec.c: Likewise.
34315         * lib/javaexec.h: Likewise.
34316         * lib/javaversion.c: Likewise.
34317         * lib/javaversion.h: Likewise.
34318         * lib/javaversion.java: Likewise.
34319         * lib/lbrkprop.h: Likewise.
34320         * lib/lchmod.h: Likewise.
34321         * lib/lchown.c: Likewise.
34322         * lib/ldexpl.c: Likewise.
34323         * lib/linebreak.c: Likewise.
34324         * lib/linebreak.h: Likewise.
34325         * lib/linebuffer.c: Likewise.
34326         * lib/linebuffer.h: Likewise.
34327         * lib/locale.in.h: Likewise.
34328         * lib/logl.c: Likewise.
34329         * lib/long-options.c: Likewise.
34330         * lib/long-options.h: Likewise.
34331         * lib/lstat.c: Likewise.
34332         * lib/lstat.h: Likewise.
34333         * lib/math.in.h: Likewise.
34334         * lib/mbchar.c: Likewise.
34335         * lib/mbchar.h: Likewise.
34336         * lib/mbfile.h: Likewise.
34337         * lib/mbiter.h: Likewise.
34338         * lib/mbscasecmp.c: Likewise.
34339         * lib/mbscasestr.c: Likewise.
34340         * lib/mbschr.c: Likewise.
34341         * lib/mbscspn.c: Likewise.
34342         * lib/mbslen.c: Likewise.
34343         * lib/mbsncasecmp.c: Likewise.
34344         * lib/mbsnlen.c: Likewise.
34345         * lib/mbspbrk.c: Likewise.
34346         * lib/mbspcasecmp.c: Likewise.
34347         * lib/mbsrchr.c: Likewise.
34348         * lib/mbssep.c: Likewise.
34349         * lib/mbsspn.c: Likewise.
34350         * lib/mbsstr.c: Likewise.
34351         * lib/mbstok_r.c: Likewise.
34352         * lib/mbswidth.c: Likewise.
34353         * lib/mbswidth.h: Likewise.
34354         * lib/mbuiter.h: Likewise.
34355         * lib/memcasecmp.c: Likewise.
34356         * lib/memcasecmp.h: Likewise.
34357         * lib/memchr.c: Likewise.
34358         * lib/memcmp.c: Likewise.
34359         * lib/memcoll.c: Likewise.
34360         * lib/memcoll.h: Likewise.
34361         * lib/memcpy.c: Likewise.
34362         * lib/memrchr.c: Likewise.
34363         * lib/mkancesdirs.c: Likewise.
34364         * lib/mkdir-p.c: Likewise.
34365         * lib/mkdir-p.h: Likewise.
34366         * lib/mkdir.c: Likewise.
34367         * lib/mkdirat.c: Likewise.
34368         * lib/mkdtemp.c: Likewise.
34369         * lib/mkstemp-safer.c: Likewise.
34370         * lib/mkstemp.c: Likewise.
34371         * lib/modechange.c: Likewise.
34372         * lib/modechange.h: Likewise.
34373         * lib/mountlist.c: Likewise.
34374         * lib/mountlist.h: Likewise.
34375         * lib/mpsort.c: Likewise.
34376         * lib/nanosleep.c: Likewise.
34377         * lib/obstack.c: Likewise.
34378         * lib/obstack.h: Likewise.
34379         * lib/open-safer.c: Likewise.
34380         * lib/open.c: Likewise.
34381         * lib/openat-die.c: Likewise.
34382         * lib/openat-priv.h: Likewise.
34383         * lib/openat-proc.c: Likewise.
34384         * lib/openat.c: Likewise.
34385         * lib/openat.h: Likewise.
34386         * lib/pagealign_alloc.c: Likewise.
34387         * lib/pagealign_alloc.h: Likewise.
34388         * lib/physmem.c: Likewise.
34389         * lib/physmem.h: Likewise.
34390         * lib/pipe-safer.c: Likewise.
34391         * lib/pipe.c: Likewise.
34392         * lib/pipe.h: Likewise.
34393         * lib/posixtm.c: Likewise.
34394         * lib/posixtm.h: Likewise.
34395         * lib/posixver.c: Likewise.
34396         * lib/printf-frexp.c: Likewise.
34397         * lib/printf-frexp.h: Likewise.
34398         * lib/printf-frexpl.c: Likewise.
34399         * lib/printf-frexpl.h: Likewise.
34400         * lib/printf.c: Likewise.
34401         * lib/progname.c: Likewise.
34402         * lib/progname.h: Likewise.
34403         * lib/progreloc.c: Likewise.
34404         * lib/putenv.c: Likewise.
34405         * lib/quote.c: Likewise.
34406         * lib/quote.h: Likewise.
34407         * lib/quotearg.c: Likewise.
34408         * lib/quotearg.h: Likewise.
34409         * lib/raise.c: Likewise.
34410         * lib/readline.c: Likewise.
34411         * lib/readline.h: Likewise.
34412         * lib/readlink.c: Likewise.
34413         * lib/readtokens.c: Likewise.
34414         * lib/readtokens.h: Likewise.
34415         * lib/readtokens0.c: Likewise.
34416         * lib/readtokens0.h: Likewise.
34417         * lib/readutmp.c: Likewise.
34418         * lib/readutmp.h: Likewise.
34419         * lib/realloc.c: Likewise.
34420         * lib/relocwrapper.c: Likewise.
34421         * lib/rename-dest-slash.c: Likewise.
34422         * lib/rename.c: Likewise.
34423         * lib/rmdir.c: Likewise.
34424         * lib/rpmatch.c: Likewise.
34425         * lib/safe-read.c: Likewise.
34426         * lib/safe-read.h: Likewise.
34427         * lib/safe-write.c: Likewise.
34428         * lib/safe-write.h: Likewise.
34429         * lib/same-inode.h: Likewise.
34430         * lib/same.c: Likewise.
34431         * lib/same.h: Likewise.
34432         * lib/save-cwd.c: Likewise.
34433         * lib/save-cwd.h: Likewise.
34434         * lib/savedir.c: Likewise.
34435         * lib/savedir.h: Likewise.
34436         * lib/savewd.c: Likewise.
34437         * lib/savewd.h: Likewise.
34438         * lib/search.in.h: Likewise.
34439         * lib/setenv.c: Likewise.
34440         * lib/setenv.h: Likewise.
34441         * lib/settime.c: Likewise.
34442         * lib/sh-quote.c: Likewise.
34443         * lib/sh-quote.h: Likewise.
34444         * lib/sig2str.c: Likewise.
34445         * lib/sig2str.h: Likewise.
34446         * lib/signal.in.h: Likewise.
34447         * lib/signbitd.c: Likewise.
34448         * lib/signbitf.c: Likewise.
34449         * lib/signbitl.c: Likewise.
34450         * lib/sigprocmask.c: Likewise.
34451         * lib/sincosl.c: Likewise.
34452         * lib/sleep.c: Likewise.
34453         * lib/sprintf.c: Likewise.
34454         * lib/sqrtl.c: Likewise.
34455         * lib/stat-time.h: Likewise.
34456         * lib/stdio--.h: Likewise.
34457         * lib/stdio-safer.h: Likewise.
34458         * lib/stdlib--.h: Likewise.
34459         * lib/stdlib-safer.h: Likewise.
34460         * lib/stdlib.in.h: Likewise.
34461         * lib/stpcpy.c: Likewise.
34462         * lib/stpncpy.c: Likewise.
34463         * lib/strchrnul.c: Likewise.
34464         * lib/strcspn.c: Likewise.
34465         * lib/strerror.c: Likewise.
34466         * lib/strftime.c: Likewise.
34467         * lib/strftime.h: Likewise.
34468         * lib/striconveh.c: Likewise.
34469         * lib/striconveh.h: Likewise.
34470         * lib/striconveha.c: Likewise.
34471         * lib/striconveha.h: Likewise.
34472         * lib/stripslash.c: Likewise.
34473         * lib/strnlen1.c: Likewise.
34474         * lib/strnlen1.h: Likewise.
34475         * lib/strtod.c: Likewise.
34476         * lib/strtoimax.c: Likewise.
34477         * lib/strtok_r.c: Likewise.
34478         * lib/strtol.c: Likewise.
34479         * lib/strtoll.c: Likewise.
34480         * lib/strtoul.c: Likewise.
34481         * lib/strtoull.c: Likewise.
34482         * lib/sysexits.in.h: Likewise.
34483         * lib/tempname.c: Likewise.
34484         * lib/tempname.h: Likewise.
34485         * lib/timespec.h: Likewise.
34486         * lib/tls.c: Likewise.
34487         * lib/tls.h: Likewise.
34488         * lib/tmpdir.c: Likewise.
34489         * lib/tmpdir.h: Likewise.
34490         * lib/tmpfile-safer.c: Likewise.
34491         * lib/tmpfile.c: Likewise.
34492         * lib/trigl.c: Likewise.
34493         * lib/trigl.h: Likewise.
34494         * lib/trim.c: Likewise.
34495         * lib/trim.h: Likewise.
34496         * lib/trunc.c: Likewise.
34497         * lib/truncf.c: Likewise.
34498         * lib/truncl.c: Likewise.
34499         * lib/tsearch.c: Likewise.
34500         * lib/unicodeio.c: Likewise.
34501         * lib/unicodeio.h: Likewise.
34502         * lib/unistd--.h: Likewise.
34503         * lib/unistd-safer.h: Likewise.
34504         * lib/unistdio/ulc-fprintf.c: Likewise.
34505         * lib/unistdio/ulc-vfprintf.c: Likewise.
34506         * lib/unlinkdir.c: Likewise.
34507         * lib/unlinkdir.h: Likewise.
34508         * lib/unlocked-io.h: Likewise.
34509         * lib/unsetenv.c: Likewise.
34510         * lib/userspec.c: Likewise.
34511         * lib/utime.c: Likewise.
34512         * lib/utimecmp.c: Likewise.
34513         * lib/utimecmp.h: Likewise.
34514         * lib/utimens.c: Likewise.
34515         * lib/verify.h: Likewise.
34516         * lib/verror.c: Likewise.
34517         * lib/verror.h: Likewise.
34518         * lib/version-etc-fsf.c: Likewise.
34519         * lib/version-etc.c: Likewise.
34520         * lib/version-etc.h: Likewise.
34521         * lib/vfprintf.c: Likewise.
34522         * lib/vprintf.c: Likewise.
34523         * lib/vsprintf.c: Likewise.
34524         * lib/w32spawn.h: Likewise.
34525         * lib/wait-process.c: Likewise.
34526         * lib/wait-process.h: Likewise.
34527         * lib/wcwidth.c: Likewise.
34528         * lib/write-any-file.c: Likewise.
34529         * lib/xalloc-die.c: Likewise.
34530         * lib/xalloc.h: Likewise.
34531         * lib/xasprintf.c: Likewise.
34532         * lib/xgetcwd.c: Likewise.
34533         * lib/xgetcwd.h: Likewise.
34534         * lib/xgetdomainname.c: Likewise.
34535         * lib/xgetdomainname.h: Likewise.
34536         * lib/xgethostname.c: Likewise.
34537         * lib/xmalloc.c: Likewise.
34538         * lib/xmalloca.c: Likewise.
34539         * lib/xmalloca.h: Likewise.
34540         * lib/xmemcoll.c: Likewise.
34541         * lib/xnanosleep.c: Likewise.
34542         * lib/xreadlink.c: Likewise.
34543         * lib/xreadlink.h: Likewise.
34544         * lib/xsetenv.c: Likewise.
34545         * lib/xsetenv.h: Likewise.
34546         * lib/xstriconv.c: Likewise.
34547         * lib/xstriconv.h: Likewise.
34548         * lib/xstrndup.c: Likewise.
34549         * lib/xstrndup.h: Likewise.
34550         * lib/xstrtod.c: Likewise.
34551         * lib/xstrtod.h: Likewise.
34552         * lib/xstrtol-error.c: Likewise.
34553         * lib/xstrtol.c: Likewise.
34554         * lib/xstrtol.h: Likewise.
34555         * lib/xtime.h: Likewise.
34556         * lib/xvasprintf.c: Likewise.
34557         * lib/xvasprintf.h: Likewise.
34558         * lib/yesno.c: Likewise.
34559         * lib/yesno.h: Likewise.
34560         * posix-modules: Likewise.
34561         * tests/test-alloca-opt.c: Likewise.
34562         * tests/test-arcfour.c: Likewise.
34563         * tests/test-arctwo.c: Likewise.
34564         * tests/test-argmatch.c: Likewise.
34565         * tests/test-argp-2.sh: Likewise.
34566         * tests/test-argp.c: Likewise.
34567         * tests/test-arpa_inet.c: Likewise.
34568         * tests/test-array_list.c: Likewise.
34569         * tests/test-array_oset.c: Likewise.
34570         * tests/test-atexit.c: Likewise.
34571         * tests/test-avltree_list.c: Likewise.
34572         * tests/test-avltree_oset.c: Likewise.
34573         * tests/test-avltreehash_list.c: Likewise.
34574         * tests/test-base64.c: Likewise.
34575         * tests/test-binary-io.c: Likewise.
34576         * tests/test-byteswap.c: Likewise.
34577         * tests/test-c-ctype.c: Likewise.
34578         * tests/test-c-strcasecmp.c: Likewise.
34579         * tests/test-c-strcasestr.c: Likewise.
34580         * tests/test-c-strncasecmp.c: Likewise.
34581         * tests/test-c-strstr.c: Likewise.
34582         * tests/test-canonicalize-lgpl.c: Likewise.
34583         * tests/test-canonicalize.c: Likewise.
34584         * tests/test-carray_list.c: Likewise.
34585         * tests/test-ceilf.c: Likewise.
34586         * tests/test-ceill.c: Likewise.
34587         * tests/test-count-one-bits.c: Likewise.
34588         * tests/test-crc.c: Likewise.
34589         * tests/test-dirname.c: Likewise.
34590         * tests/test-fbufmode.c: Likewise.
34591         * tests/test-fcntl.c: Likewise.
34592         * tests/test-fflush.c: Likewise.
34593         * tests/test-floorf.c: Likewise.
34594         * tests/test-floorl.c: Likewise.
34595         * tests/test-fopen.c: Likewise.
34596         * tests/test-fprintf-posix.c: Likewise.
34597         * tests/test-fprintf-posix.h: Likewise.
34598         * tests/test-fpurge.c: Likewise.
34599         * tests/test-freadable.c: Likewise.
34600         * tests/test-freadahead.c: Likewise.
34601         * tests/test-freading.c: Likewise.
34602         * tests/test-freopen.c: Likewise.
34603         * tests/test-frexp.c: Likewise.
34604         * tests/test-frexpl.c: Likewise.
34605         * tests/test-fseek.c: Likewise.
34606         * tests/test-fseeko.c: Likewise.
34607         * tests/test-fseterr.c: Likewise.
34608         * tests/test-fstrcmp.c: Likewise.
34609         * tests/test-ftell.c: Likewise.
34610         * tests/test-ftello.c: Likewise.
34611         * tests/test-fwritable.c: Likewise.
34612         * tests/test-fwriting.c: Likewise.
34613         * tests/test-getaddrinfo.c: Likewise.
34614         * tests/test-getpass.c: Likewise.
34615         * tests/test-gettimeofday.c: Likewise.
34616         * tests/test-hmac-md5.c: Likewise.
34617         * tests/test-hmac-sha1.c: Likewise.
34618         * tests/test-iconv.c: Likewise.
34619         * tests/test-iconvme.c: Likewise.
34620         * tests/test-inttypes.c: Likewise.
34621         * tests/test-isnan.c: Likewise.
34622         * tests/test-isnanf.c: Likewise.
34623         * tests/test-isnanl-nolibm.c: Likewise.
34624         * tests/test-isnanl.c: Likewise.
34625         * tests/test-isnanl.h: Likewise.
34626         * tests/test-ldexpl.c: Likewise.
34627         * tests/test-linked_list.c: Likewise.
34628         * tests/test-linkedhash_list.c: Likewise.
34629         * tests/test-locale.c: Likewise.
34630         * tests/test-localename.c: Likewise.
34631         * tests/test-lock.c: Likewise.
34632         * tests/test-lseek.c: Likewise.
34633         * tests/test-malloca.c: Likewise.
34634         * tests/test-math.c: Likewise.
34635         * tests/test-mbscasecmp.c: Likewise.
34636         * tests/test-mbscasestr1.c: Likewise.
34637         * tests/test-mbscasestr2.c: Likewise.
34638         * tests/test-mbscasestr3.c: Likewise.
34639         * tests/test-mbscasestr4.c: Likewise.
34640         * tests/test-mbschr.c: Likewise.
34641         * tests/test-mbscspn.c: Likewise.
34642         * tests/test-mbsncasecmp.c: Likewise.
34643         * tests/test-mbspbrk.c: Likewise.
34644         * tests/test-mbspcasecmp.c: Likewise.
34645         * tests/test-mbsrchr.c: Likewise.
34646         * tests/test-mbsspn.c: Likewise.
34647         * tests/test-mbsstr1.c: Likewise.
34648         * tests/test-mbsstr2.c: Likewise.
34649         * tests/test-mbsstr3.c: Likewise.
34650         * tests/test-md5.c: Likewise.
34651         * tests/test-memmem.c: Likewise.
34652         * tests/test-netinet_in.c: Likewise.
34653         * tests/test-open.c: Likewise.
34654         * tests/test-printf-frexp.c: Likewise.
34655         * tests/test-printf-frexpl.c: Likewise.
34656         * tests/test-printf-posix.c: Likewise.
34657         * tests/test-printf-posix.h: Likewise.
34658         * tests/test-rbtree_list.c: Likewise.
34659         * tests/test-rbtree_oset.c: Likewise.
34660         * tests/test-rbtreehash_list.c: Likewise.
34661         * tests/test-read-file.c: Likewise.
34662         * tests/test-rijndael.c: Likewise.
34663         * tests/test-search.c: Likewise.
34664         * tests/test-signbit.c: Likewise.
34665         * tests/test-sleep.c: Likewise.
34666         * tests/test-snprintf-posix.c: Likewise.
34667         * tests/test-snprintf-posix.h: Likewise.
34668         * tests/test-snprintf.c: Likewise.
34669         * tests/test-sprintf-posix.c: Likewise.
34670         * tests/test-sprintf-posix.h: Likewise.
34671         * tests/test-stat-time.c: Likewise.
34672         * tests/test-stdbool.c: Likewise.
34673         * tests/test-stdint.c: Likewise.
34674         * tests/test-stdio.c: Likewise.
34675         * tests/test-stdlib.c: Likewise.
34676         * tests/test-stpncpy.c: Likewise.
34677         * tests/test-strcasestr.c: Likewise.
34678         * tests/test-striconv.c: Likewise.
34679         * tests/test-striconveh.c: Likewise.
34680         * tests/test-striconveha.c: Likewise.
34681         * tests/test-string.c: Likewise.
34682         * tests/test-sys_select.c: Likewise.
34683         * tests/test-sys_socket.c: Likewise.
34684         * tests/test-sys_stat.c: Likewise.
34685         * tests/test-sys_time.c: Likewise.
34686         * tests/test-sysexits.c: Likewise.
34687         * tests/test-time.c: Likewise.
34688         * tests/test-tls.c: Likewise.
34689         * tests/test-trunc.c: Likewise.
34690         * tests/test-truncf.c: Likewise.
34691         * tests/test-truncl.c: Likewise.
34692         * tests/test-unistd.c: Likewise.
34693         * tests/test-vasnprintf-posix.c: Likewise.
34694         * tests/test-vasnprintf-posix2.c: Likewise.
34695         * tests/test-vasnprintf.c: Likewise.
34696         * tests/test-vasprintf-posix.c: Likewise.
34697         * tests/test-vasprintf.c: Likewise.
34698         * tests/test-verify.c: Likewise.
34699         * tests/test-vfprintf-posix.c: Likewise.
34700         * tests/test-vprintf-posix.c: Likewise.
34701         * tests/test-vsnprintf-posix.c: Likewise.
34702         * tests/test-vsnprintf.c: Likewise.
34703         * tests/test-vsprintf-posix.c: Likewise.
34704         * tests/test-wchar.c: Likewise.
34705         * tests/test-wctype.c: Likewise.
34706         * tests/test-wcwidth.c: Likewise.
34707         * tests/test-xstrtol.c: Likewise.
34708         * tests/test-xvasprintf.c: Likewise.
34709         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
34710         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
34711         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
34712         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
34713         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
34714         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
34715         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
34716         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
34717         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
34718         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
34719         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
34720         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
34721         * tests/uniname/test-uninames.c: Likewise.
34722         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
34723         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
34724         * tests/unistdio/test-u16-printf1.h: Likewise.
34725         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
34726         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
34727         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
34728         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
34729         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
34730         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
34731         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
34732         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
34733         * tests/unistdio/test-u32-printf1.h: Likewise.
34734         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
34735         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
34736         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
34737         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
34738         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
34739         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
34740         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
34741         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
34742         * tests/unistdio/test-u8-printf1.h: Likewise.
34743         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
34744         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
34745         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
34746         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
34747         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
34748         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
34749         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
34750         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
34751         * tests/unistdio/test-ulc-printf1.h: Likewise.
34752         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
34753         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
34754         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
34755         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
34756         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
34757         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
34758         * tests/uniwidth/test-u16-strwidth.c: Likewise.
34759         * tests/uniwidth/test-u16-width.c: Likewise.
34760         * tests/uniwidth/test-u32-strwidth.c: Likewise.
34761         * tests/uniwidth/test-u32-width.c: Likewise.
34762         * tests/uniwidth/test-u8-strwidth.c: Likewise.
34763         * tests/uniwidth/test-u8-width.c: Likewise.
34764         * tests/uniwidth/test-uc_width.c: Likewise.
34765         * config/srclist-update: Likewise.
34766         (fixlicense): Update to GPLv3+.
34767
34768         Change copyright notice from LGPLv2.1+ to LGPLv3+.
34769         * tests/test-tsearch.c: Change copyright notice.
34770
34771         Change copyright notice from LGPLv2.0+ to LGPLv3+.
34772         * lib/c-strcaseeq.h: Change copyright notice.
34773         * lib/streq.h: Likewise.
34774         * lib/uniconv.h: Likewise.
34775         * lib/uniconv/u-conv-from-enc.h: Likewise.
34776         * lib/uniconv/u-conv-to-enc.h: Likewise.
34777         * lib/uniconv/u-strconv-from-enc.h: Likewise.
34778         * lib/uniconv/u-strconv-to-enc.h: Likewise.
34779         * lib/uniconv/u16-conv-from-enc.c: Likewise.
34780         * lib/uniconv/u16-conv-to-enc.c: Likewise.
34781         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
34782         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
34783         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
34784         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
34785         * lib/uniconv/u32-conv-from-enc.c: Likewise.
34786         * lib/uniconv/u32-conv-to-enc.c: Likewise.
34787         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
34788         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
34789         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
34790         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
34791         * lib/uniconv/u8-conv-from-enc.c: Likewise.
34792         * lib/uniconv/u8-conv-to-enc.c: Likewise.
34793         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
34794         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
34795         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
34796         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
34797         * lib/uniname.h: Likewise.
34798         * lib/uniname/uniname.c: Likewise.
34799         * lib/unistdio.h: Likewise.
34800         * lib/unistdio/u-asnprintf.h: Likewise.
34801         * lib/unistdio/u-asprintf.h: Likewise.
34802         * lib/unistdio/u-printf-args.c: Likewise.
34803         * lib/unistdio/u-printf-args.h: Likewise.
34804         * lib/unistdio/u-printf-parse.h: Likewise.
34805         * lib/unistdio/u-snprintf.h: Likewise.
34806         * lib/unistdio/u-sprintf.h: Likewise.
34807         * lib/unistdio/u-vasprintf.h: Likewise.
34808         * lib/unistdio/u-vsnprintf.h: Likewise.
34809         * lib/unistdio/u-vsprintf.h: Likewise.
34810         * lib/unistdio/u16-asnprintf.c: Likewise.
34811         * lib/unistdio/u16-asprintf.c: Likewise.
34812         * lib/unistdio/u16-printf-parse.c: Likewise.
34813         * lib/unistdio/u16-snprintf.c: Likewise.
34814         * lib/unistdio/u16-sprintf.c: Likewise.
34815         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
34816         * lib/unistdio/u16-u16-asprintf.c: Likewise.
34817         * lib/unistdio/u16-u16-snprintf.c: Likewise.
34818         * lib/unistdio/u16-u16-sprintf.c: Likewise.
34819         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
34820         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
34821         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
34822         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
34823         * lib/unistdio/u16-vasnprintf.c: Likewise.
34824         * lib/unistdio/u16-vasprintf.c: Likewise.
34825         * lib/unistdio/u16-vsnprintf.c: Likewise.
34826         * lib/unistdio/u16-vsprintf.c: Likewise.
34827         * lib/unistdio/u32-asnprintf.c: Likewise.
34828         * lib/unistdio/u32-asprintf.c: Likewise.
34829         * lib/unistdio/u32-printf-parse.c: Likewise.
34830         * lib/unistdio/u32-snprintf.c: Likewise.
34831         * lib/unistdio/u32-sprintf.c: Likewise.
34832         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
34833         * lib/unistdio/u32-u32-asprintf.c: Likewise.
34834         * lib/unistdio/u32-u32-snprintf.c: Likewise.
34835         * lib/unistdio/u32-u32-sprintf.c: Likewise.
34836         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
34837         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
34838         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
34839         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
34840         * lib/unistdio/u32-vasnprintf.c: Likewise.
34841         * lib/unistdio/u32-vasprintf.c: Likewise.
34842         * lib/unistdio/u32-vsnprintf.c: Likewise.
34843         * lib/unistdio/u32-vsprintf.c: Likewise.
34844         * lib/unistdio/u8-asnprintf.c: Likewise.
34845         * lib/unistdio/u8-asprintf.c: Likewise.
34846         * lib/unistdio/u8-printf-parse.c: Likewise.
34847         * lib/unistdio/u8-snprintf.c: Likewise.
34848         * lib/unistdio/u8-sprintf.c: Likewise.
34849         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
34850         * lib/unistdio/u8-u8-asprintf.c: Likewise.
34851         * lib/unistdio/u8-u8-snprintf.c: Likewise.
34852         * lib/unistdio/u8-u8-sprintf.c: Likewise.
34853         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
34854         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
34855         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
34856         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
34857         * lib/unistdio/u8-vasnprintf.c: Likewise.
34858         * lib/unistdio/u8-vasprintf.c: Likewise.
34859         * lib/unistdio/u8-vsnprintf.c: Likewise.
34860         * lib/unistdio/u8-vsprintf.c: Likewise.
34861         * lib/unistdio/ulc-asnprintf.c: Likewise.
34862         * lib/unistdio/ulc-asprintf.c: Likewise.
34863         * lib/unistdio/ulc-printf-parse.c: Likewise.
34864         * lib/unistdio/ulc-snprintf.c: Likewise.
34865         * lib/unistdio/ulc-sprintf.c: Likewise.
34866         * lib/unistdio/ulc-vasnprintf.c: Likewise.
34867         * lib/unistdio/ulc-vasprintf.c: Likewise.
34868         * lib/unistdio/ulc-vsnprintf.c: Likewise.
34869         * lib/unistdio/ulc-vsprintf.c: Likewise.
34870         * lib/unistr.h: Likewise.
34871         * lib/unistr/u-cpy-alloc.h: Likewise.
34872         * lib/unistr/u-cpy.h: Likewise.
34873         * lib/unistr/u-endswith.h: Likewise.
34874         * lib/unistr/u-move.h: Likewise.
34875         * lib/unistr/u-set.h: Likewise.
34876         * lib/unistr/u-startswith.h: Likewise.
34877         * lib/unistr/u-stpcpy.h: Likewise.
34878         * lib/unistr/u-stpncpy.h: Likewise.
34879         * lib/unistr/u-strcat.h: Likewise.
34880         * lib/unistr/u-strcpy.h: Likewise.
34881         * lib/unistr/u-strcspn.h: Likewise.
34882         * lib/unistr/u-strdup.h: Likewise.
34883         * lib/unistr/u-strlen.h: Likewise.
34884         * lib/unistr/u-strncat.h: Likewise.
34885         * lib/unistr/u-strncpy.h: Likewise.
34886         * lib/unistr/u-strnlen.h: Likewise.
34887         * lib/unistr/u-strpbrk.h: Likewise.
34888         * lib/unistr/u-strspn.h: Likewise.
34889         * lib/unistr/u-strstr.h: Likewise.
34890         * lib/unistr/u-strtok.h: Likewise.
34891         * lib/unistr/u16-check.c: Likewise.
34892         * lib/unistr/u16-chr.c: Likewise.
34893         * lib/unistr/u16-cmp.c: Likewise.
34894         * lib/unistr/u16-cpy-alloc.c: Likewise.
34895         * lib/unistr/u16-cpy.c: Likewise.
34896         * lib/unistr/u16-endswith.c: Likewise.
34897         * lib/unistr/u16-mblen.c: Likewise.
34898         * lib/unistr/u16-mbsnlen.c: Likewise.
34899         * lib/unistr/u16-mbtouc-aux.c: Likewise.
34900         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
34901         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
34902         * lib/unistr/u16-mbtouc.c: Likewise.
34903         * lib/unistr/u16-mbtoucr.c: Likewise.
34904         * lib/unistr/u16-move.c: Likewise.
34905         * lib/unistr/u16-next.c: Likewise.
34906         * lib/unistr/u16-prev.c: Likewise.
34907         * lib/unistr/u16-set.c: Likewise.
34908         * lib/unistr/u16-startswith.c: Likewise.
34909         * lib/unistr/u16-stpcpy.c: Likewise.
34910         * lib/unistr/u16-stpncpy.c: Likewise.
34911         * lib/unistr/u16-strcat.c: Likewise.
34912         * lib/unistr/u16-strchr.c: Likewise.
34913         * lib/unistr/u16-strcmp.c: Likewise.
34914         * lib/unistr/u16-strcpy.c: Likewise.
34915         * lib/unistr/u16-strcspn.c: Likewise.
34916         * lib/unistr/u16-strdup.c: Likewise.
34917         * lib/unistr/u16-strlen.c: Likewise.
34918         * lib/unistr/u16-strmblen.c: Likewise.
34919         * lib/unistr/u16-strmbtouc.c: Likewise.
34920         * lib/unistr/u16-strncat.c: Likewise.
34921         * lib/unistr/u16-strncmp.c: Likewise.
34922         * lib/unistr/u16-strncpy.c: Likewise.
34923         * lib/unistr/u16-strnlen.c: Likewise.
34924         * lib/unistr/u16-strpbrk.c: Likewise.
34925         * lib/unistr/u16-strrchr.c: Likewise.
34926         * lib/unistr/u16-strspn.c: Likewise.
34927         * lib/unistr/u16-strstr.c: Likewise.
34928         * lib/unistr/u16-strtok.c: Likewise.
34929         * lib/unistr/u16-to-u32.c: Likewise.
34930         * lib/unistr/u16-to-u8.c: Likewise.
34931         * lib/unistr/u16-uctomb-aux.c: Likewise.
34932         * lib/unistr/u16-uctomb.c: Likewise.
34933         * lib/unistr/u32-check.c: Likewise.
34934         * lib/unistr/u32-chr.c: Likewise.
34935         * lib/unistr/u32-cmp.c: Likewise.
34936         * lib/unistr/u32-cpy-alloc.c: Likewise.
34937         * lib/unistr/u32-cpy.c: Likewise.
34938         * lib/unistr/u32-endswith.c: Likewise.
34939         * lib/unistr/u32-mblen.c: Likewise.
34940         * lib/unistr/u32-mbsnlen.c: Likewise.
34941         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
34942         * lib/unistr/u32-mbtouc.c: Likewise.
34943         * lib/unistr/u32-mbtoucr.c: Likewise.
34944         * lib/unistr/u32-move.c: Likewise.
34945         * lib/unistr/u32-next.c: Likewise.
34946         * lib/unistr/u32-prev.c: Likewise.
34947         * lib/unistr/u32-set.c: Likewise.
34948         * lib/unistr/u32-startswith.c: Likewise.
34949         * lib/unistr/u32-stpcpy.c: Likewise.
34950         * lib/unistr/u32-stpncpy.c: Likewise.
34951         * lib/unistr/u32-strcat.c: Likewise.
34952         * lib/unistr/u32-strchr.c: Likewise.
34953         * lib/unistr/u32-strcmp.c: Likewise.
34954         * lib/unistr/u32-strcpy.c: Likewise.
34955         * lib/unistr/u32-strcspn.c: Likewise.
34956         * lib/unistr/u32-strdup.c: Likewise.
34957         * lib/unistr/u32-strlen.c: Likewise.
34958         * lib/unistr/u32-strmblen.c: Likewise.
34959         * lib/unistr/u32-strmbtouc.c: Likewise.
34960         * lib/unistr/u32-strncat.c: Likewise.
34961         * lib/unistr/u32-strncmp.c: Likewise.
34962         * lib/unistr/u32-strncpy.c: Likewise.
34963         * lib/unistr/u32-strnlen.c: Likewise.
34964         * lib/unistr/u32-strpbrk.c: Likewise.
34965         * lib/unistr/u32-strrchr.c: Likewise.
34966         * lib/unistr/u32-strspn.c: Likewise.
34967         * lib/unistr/u32-strstr.c: Likewise.
34968         * lib/unistr/u32-strtok.c: Likewise.
34969         * lib/unistr/u32-to-u16.c: Likewise.
34970         * lib/unistr/u32-to-u8.c: Likewise.
34971         * lib/unistr/u32-uctomb.c: Likewise.
34972         * lib/unistr/u8-check.c: Likewise.
34973         * lib/unistr/u8-chr.c: Likewise.
34974         * lib/unistr/u8-cmp.c: Likewise.
34975         * lib/unistr/u8-cpy-alloc.c: Likewise.
34976         * lib/unistr/u8-cpy.c: Likewise.
34977         * lib/unistr/u8-endswith.c: Likewise.
34978         * lib/unistr/u8-mblen.c: Likewise.
34979         * lib/unistr/u8-mbsnlen.c: Likewise.
34980         * lib/unistr/u8-mbtouc-aux.c: Likewise.
34981         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
34982         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
34983         * lib/unistr/u8-mbtouc.c: Likewise.
34984         * lib/unistr/u8-mbtoucr.c: Likewise.
34985         * lib/unistr/u8-move.c: Likewise.
34986         * lib/unistr/u8-next.c: Likewise.
34987         * lib/unistr/u8-prev.c: Likewise.
34988         * lib/unistr/u8-set.c: Likewise.
34989         * lib/unistr/u8-startswith.c: Likewise.
34990         * lib/unistr/u8-stpcpy.c: Likewise.
34991         * lib/unistr/u8-stpncpy.c: Likewise.
34992         * lib/unistr/u8-strcat.c: Likewise.
34993         * lib/unistr/u8-strchr.c: Likewise.
34994         * lib/unistr/u8-strcmp.c: Likewise.
34995         * lib/unistr/u8-strcpy.c: Likewise.
34996         * lib/unistr/u8-strcspn.c: Likewise.
34997         * lib/unistr/u8-strdup.c: Likewise.
34998         * lib/unistr/u8-strlen.c: Likewise.
34999         * lib/unistr/u8-strmblen.c: Likewise.
35000         * lib/unistr/u8-strmbtouc.c: Likewise.
35001         * lib/unistr/u8-strncat.c: Likewise.
35002         * lib/unistr/u8-strncmp.c: Likewise.
35003         * lib/unistr/u8-strncpy.c: Likewise.
35004         * lib/unistr/u8-strnlen.c: Likewise.
35005         * lib/unistr/u8-strpbrk.c: Likewise.
35006         * lib/unistr/u8-strrchr.c: Likewise.
35007         * lib/unistr/u8-strspn.c: Likewise.
35008         * lib/unistr/u8-strstr.c: Likewise.
35009         * lib/unistr/u8-strtok.c: Likewise.
35010         * lib/unistr/u8-to-u16.c: Likewise.
35011         * lib/unistr/u8-to-u32.c: Likewise.
35012         * lib/unistr/u8-uctomb-aux.c: Likewise.
35013         * lib/unistr/u8-uctomb.c: Likewise.
35014         * lib/unitypes.h: Likewise.
35015         * lib/uniwidth.h: Likewise.
35016         * lib/uniwidth/cjk.h: Likewise.
35017         * lib/uniwidth/u16-strwidth.c: Likewise.
35018         * lib/uniwidth/u16-width.c: Likewise.
35019         * lib/uniwidth/u32-strwidth.c: Likewise.
35020         * lib/uniwidth/u32-width.c: Likewise.
35021         * lib/uniwidth/u8-strwidth.c: Likewise.
35022         * lib/uniwidth/u8-width.c: Likewise.
35023         * lib/uniwidth/width.c: Likewise.
35024
35025 2007-10-07  Bruno Haible  <bruno@clisp.org>
35026
35027         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
35028         The file is still under LGPL (see modules/inttypes).
35029
35030 2007-10-06  Bruno Haible  <bruno@clisp.org>
35031
35032         * modules/trunc (Dependencies): Add 'extensions'.
35033         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
35034         Reported by Ben Pfaff <blp@gnu.org>.
35035
35036 2007-10-06  Bruno Haible  <bruno@clisp.org>
35037
35038         * modules/freopen-tests: New file.
35039         * tests/test-freopen.c: New file.
35040
35041         * modules/fopen-tests: New file.
35042         * tests/test-fopen.c: New file.
35043
35044         * modules/fopen: New file.
35045         * lib/fopen.c: New file.
35046         * m4/fopen.m4: New file.
35047         * modules/freopen: New file.
35048         * lib/freopen.c: New file.
35049         * m4/freopen.m4: New file.
35050         * lib/stdio.in.h (fopen, freopen): New declarations.
35051         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
35052         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
35053         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
35054         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
35055         * doc/functions/fopen.texi: Mention the 'fopen' module.
35056         * doc/functions/freopen.texi: Mention the 'freopen' module.
35057
35058 2007-10-06  Bruno Haible  <bruno@clisp.org>
35059
35060         * modules/open-tests: New file.
35061         * tests/test-open.c: New file.
35062
35063         * modules/open: New file.
35064         * lib/open.c: New file.
35065         * m4/open.m4: New file.
35066         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
35067         lib/open.c does.
35068         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
35069         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
35070         macros.
35071         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
35072         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
35073         REPLACE_OPEN.
35074         * doc/functions/open.texi: Mention the 'open' module.
35075
35076 2007-10-04  Bruno Haible  <bruno@clisp.org>
35077
35078         * modules/ceill-tests: New file.
35079         * tests/test-ceill.c: New file.
35080
35081         * modules/ceill: New file.
35082         * lib/ceill.c: Replace entire file.
35083         * m4/ceill.m4: New file.
35084         * lib/math.in.h (ceill): Replace declaration.
35085         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
35086         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
35087         * doc/functions/ceill.texi: Mention the 'ceill' module.
35088         * modules/mathl (Files): Remove lib/ceill.c.
35089         (Depends-on): Add ceill.
35090
35091 2007-10-04  Bruno Haible  <bruno@clisp.org>
35092
35093         * modules/ceilf-tests: New file.
35094         * tests/test-ceilf.c: New file.
35095
35096         * modules/ceilf: New file.
35097         * lib/ceil.c: New file.
35098         * lib/ceilf.c: New file.
35099         * m4/ceilf.m4: New file.
35100         * lib/math.in.h (ceilf): New declaration.
35101         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
35102         HAVE_DECL_CEILF.
35103         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
35104         HAVE_DECL_CEILF.
35105         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
35106
35107 2007-10-04  Bruno Haible  <bruno@clisp.org>
35108
35109         * modules/floorl-tests: New file.
35110         * tests/test-floorl.c: New file.
35111
35112         * modules/floorl: New file.
35113         * lib/floorl.c: Replace entire file.
35114         * m4/floorl.m4: New file.
35115         * lib/math.in.h (floorl): Replace declaration.
35116         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
35117         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
35118         * doc/functions/floorl.texi: Mention the 'floorl' module.
35119         * modules/mathl (Files): Remove lib/floorl.c.
35120         (Depends-on): Add floorl.
35121
35122 2007-10-04  Bruno Haible  <bruno@clisp.org>
35123
35124         * modules/floorf-tests: New file.
35125         * tests/test-floorf.c: New file.
35126
35127         * modules/floorf: New file.
35128         * lib/floor.c: New file.
35129         * lib/floorf.c: New file.
35130         * m4/floorf.m4: New file.
35131         * lib/math.in.h (floorf): New declaration.
35132         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
35133         HAVE_DECL_FLOORF.
35134         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
35135         HAVE_DECL_FLOORF.
35136         * doc/functions/floorf.texi: Mention the 'floorf' module.
35137
35138 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
35139             Bruno Haible  <bruno@clisp.org>
35140
35141         Advertise for the Git server instead of the CVS server.
35142         * doc/gnulib-intro.texi (Steady Development): Mention the Git
35143         repository instead of the CVS one.
35144         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
35145         about all VCS systems generically.
35146         * doc/gnulib.texi (Introduction): Capitalize `Git'.
35147
35148 2007-10-04  Bruno Haible  <bruno@clisp.org>
35149
35150         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
35151         means.
35152         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
35153
35154 2007-10-04  Bruno Haible  <bruno@clisp.org>
35155
35156         * modules/truncl-tests: New file.
35157         * tests/test-truncl.c: New file.
35158
35159         * modules/truncl: New file.
35160         * lib/truncl.c: New file.
35161         * m4/truncl.m4: New file.
35162         * lib/math.in.h (truncl): New declaration.
35163         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
35164         HAVE_DECL_TRUNCL.
35165         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
35166         HAVE_DECL_TRUNCL.
35167         * doc/functions/truncl.texi: Mention the 'truncl' module.
35168
35169 2007-10-04  Bruno Haible  <bruno@clisp.org>
35170
35171         * modules/truncf-tests: New file.
35172         * tests/test-truncf.c: New file.
35173
35174         * modules/truncf: New file.
35175         * lib/trunc.c: Make paramerizable through USE_* macros.
35176         * lib/truncf.c: New file.
35177         * m4/truncf.m4: New file.
35178         * lib/math.in.h (truncf): New declaration.
35179         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
35180         HAVE_DECL_TRUNCF.
35181         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
35182         HAVE_DECL_TRUNCF.
35183         * doc/functions/truncf.texi: Mention the 'truncf' module.
35184
35185 2007-10-03  Bruno Haible  <bruno@clisp.org>
35186
35187         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
35188         augmentation also for tests modules.
35189         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
35190         * modules/atexit-tests (Makefile.am): Likewise.
35191         * modules/binary-io-tests (Makefile.am): Likewise.
35192         * modules/c-strcase-tests (Makefile.am): Likewise.
35193         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
35194         * modules/canonicalize-tests (Makefile.am): Likewise.
35195         * modules/closein-tests (Makefile.am): Likewise.
35196         * modules/fprintf-posix-tests (Makefile.am): Likewise.
35197         * modules/freadahead-tests (Makefile.am): Likewise.
35198         * modules/fseek-tests (Makefile.am): Likewise.
35199         * modules/fseeko-tests (Makefile.am): Likewise.
35200         * modules/ftell-tests (Makefile.am): Likewise.
35201         * modules/ftello-tests (Makefile.am): Likewise.
35202         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
35203         * modules/isnanl-tests (Makefile.am): Likewise.
35204         * modules/lseek-tests (Makefile.am): Likewise.
35205         * modules/mbscasecmp-tests (Makefile.am): Likewise.
35206         * modules/mbscasestr-tests (Makefile.am): Likewise.
35207         * modules/mbschr-tests (Makefile.am): Likewise.
35208         * modules/mbscspn-tests (Makefile.am): Likewise.
35209         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
35210         * modules/mbspbrk-tests (Makefile.am): Likewise.
35211         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
35212         * modules/mbsrchr-tests (Makefile.am): Likewise.
35213         * modules/mbsspn-tests (Makefile.am): Likewise.
35214         * modules/mbsstr-tests (Makefile.am): Likewise.
35215         * modules/printf-posix-tests (Makefile.am): Likewise.
35216         * modules/snprintf-posix-tests (Makefile.am): Likewise.
35217         * modules/sprintf-posix-tests (Makefile.am): Likewise.
35218         * modules/tsearch-tests (Makefile.am): Likewise.
35219         * modules/uniname/uniname-tests (Makefile.am): Likewise.
35220         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
35221         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
35222         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
35223         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
35224         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
35225         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
35226         * modules/vprintf-posix-tests (Makefile.am): Likewise.
35227         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
35228         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
35229         * modules/xstrtoimax-tests (Makefile.am): Likewise.
35230         * modules/xstrtol-tests (Makefile.am): Likewise.
35231         * modules/xstrtoumax-tests (Makefile.am): Likewise.
35232         * modules/yesno-tests (Makefile.am): Likewise.
35233
35234 2007-10-03  Bruno Haible  <bruno@clisp.org>
35235
35236         * modules/trunc-tests: New file.
35237         * tests/test-trunc.c: New file.
35238
35239         * modules/trunc: New file.
35240         * lib/trunc.c: New file.
35241         * m4/trunc.m4: New file.
35242         * lib/math.in.h (trunc): New declaration.
35243         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
35244         HAVE_DECL_TRUNC.
35245         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
35246         HAVE_DECL_TRUNC.
35247         * doc/functions/trunc.texi: Mention the 'trunc' module.
35248
35249 2007-10-03  Bruno Haible  <bruno@clisp.org>
35250
35251         * tests/test-fpending.c: New file, mostly copied
35252         from coreutils/lib/t-fpending.c.
35253         * modules/fpending-tests: New file.
35254
35255 2007-10-03  Bruno Haible  <bruno@clisp.org>
35256
35257         Port the stdio extensions to QNX (untested).
35258         * lib/fseterr.c (fseterr): Add support for QNX.
35259         * lib/fbufmode.c (fbufmode): Likewise.
35260         * lib/freadable.c (freadable): Likewise.
35261         * lib/fwritable.c (fwritable): Likewise.
35262         * lib/freading.c (freading): Likewise.
35263         * lib/fwriting.c (fwriting): Likewise.
35264         * lib/freadahead.c (freadahed): Likewise.
35265         * lib/fpurge.c (fpurge): Likewise.
35266         * lib/fseeko.c (rpl_fseeko): Likewise.
35267
35268 2007-10-03  Bruno Haible  <bruno@clisp.org>
35269             Jim Meyering  <jim@meyering.net>
35270             Eric Blake  <ebb9@byu.net>
35271
35272         * doc/relocatable.texi: Use @command instead of @program.
35273
35274 2007-10-02  Jim Meyering  <jim@meyering.net>
35275
35276         Perform one more "_.h" -> ".in.h" substitution.
35277         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
35278         instead of unistd_.h here, too.
35279
35280 2007-10-01  Bruno Haible  <bruno@clisp.org>
35281
35282         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
35283         Needed for the alloca-opt module.
35284
35285 2007-09-30  Bruno Haible  <bruno@clisp.org>
35286
35287         * lib/alloca.in.h: Renamed from lib/alloca_.h.
35288         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
35289         alloca_.h.
35290         * lib/argz.in.h: Renamed from lib/argz_.h.
35291         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
35292         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
35293         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
35294         byteswap_.h.
35295         * lib/dirent.in.h: Renamed from lib/dirent_.h.
35296         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
35297         dirent_.h.
35298         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
35299         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
35300         fcntl_.h.
35301         * lib/float.in.h: Renamed from lib/float_.h.
35302         * modules/float (Files, Makefile.am): Use float.in.h instead of
35303         float_.h.
35304         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
35305         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
35306         fnmatch_.h.
35307         * lib/getopt.in.h: Renamed from lib/getopt_.h.
35308         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
35309         getopt_.h.
35310         * lib/glob.in.h: Renamed from lib/glob_.h.
35311         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
35312         * lib/iconv.in.h: Renamed from lib/iconv_.h.
35313         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
35314         iconv_.h.
35315         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
35316         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
35317         inttypes_.h.
35318         * lib/locale.in.h: Renamed from lib/locale_.h.
35319         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
35320         locale_.h.
35321         * lib/math.in.h: Renamed from lib/math_.h.
35322         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
35323         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
35324         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
35325         of netinet_in_.h. Add dependency.
35326         * lib/poll.in.h: Renamed from lib/poll_.h.
35327         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
35328         * lib/search.in.h: Renamed from lib/search_.h.
35329         * modules/search (Files, Makefile.am): Use search.in.h instead of
35330         search_.h.
35331         * lib/signal.in.h: Renamed from lib/signal_.h.
35332         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
35333         _signal.h.
35334         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
35335         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
35336         stdbool_.h.
35337         * lib/stdint.in.h: Renamed from lib/stdint_.h.
35338         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
35339         stdint_.h.
35340         * lib/stdio.in.h: Renamed from lib/stdio_.h.
35341         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
35342         stdio_.h.
35343         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
35344         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
35345         stdlib_.h.
35346         * lib/string.in.h: Renamed from lib/string_.h.
35347         * modules/string (Files, Makefile.am): Use string.in.h instead of
35348         string_.h.
35349         * doc/gnulib-tool.texi (Initial import): Update.
35350         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
35351         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
35352         of sys_select_.h. Add dependency.
35353         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
35354         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
35355         of sys_socket_.h.
35356         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
35357         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
35358         sys_stat_.h.
35359         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
35360         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
35361         sys_time_.h.
35362         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
35363         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
35364         sysexits_.h.
35365         * lib/time.in.h: Renamed from lib/time_.h.
35366         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
35367         * lib/unistd.in.h: Renamed from lib/unistd_.h.
35368         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
35369         unistd_.h.
35370         * lib/wchar.in.h: Renamed from lib/wchar_.h.
35371         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
35372         wchar_.h.
35373         * lib/wctype.in.h: Renamed from lib/wctype_.h.
35374         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
35375         wctype_.h.
35376         * build-aux/bootstrap (slurp): Update.
35377         * lib/.cppi-disable: Update.
35378
35379 2007-09-30  Bruno Haible  <bruno@clisp.org>
35380
35381         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
35382         Needed on BeOS.
35383
35384 2007-09-30  Bruno Haible  <bruno@clisp.org>
35385
35386         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
35387
35388 2007-09-29  Bruno Haible  <bruno@clisp.org>
35389
35390         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
35391
35392 2007-09-29  Bruno Haible  <bruno@clisp.org>
35393
35394         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
35395         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
35396         * build-aux/install-reloc: Compile also areadlink.c.
35397         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
35398
35399 2007-09-29  Bruno Haible  <bruno@clisp.org>
35400
35401         * gnulib-tool (func_emit_initmacro_done): Indentation.
35402
35403 2007-09-29  Bruno Haible  <bruno@clisp.org>
35404
35405         * README: Add CVS checkout update instructions.
35406         Info from Bob Proulx <bob@proulx.com>.
35407
35408 2007-09-28  Eric Blake  <ebb9@byu.net>
35409
35410         Provide move-if-change.
35411         * build-aux/move-if-change: New file, based on best practice
35412         rather than any canonical upstream location.
35413
35414 2007-09-28  Jim Meyering  <jim@meyering.net>
35415
35416         Fix canonicalize loop-detection corner case.
35417         Do not attempt to stat the symlink values stored via seen_triple.
35418         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
35419         on linux-2.6.18, (but not 2.6.22).
35420         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
35421         triple_compare.  The former compares dev,ino,filename, while the latter
35422         would actually stat dirname(filename) when dev and ino were equal.
35423         * lib/hash-triple.c: Install <string.h>.
35424         (STREQ): Define.
35425         (triple_compare_ino_str): New function.
35426         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
35427
35428 2007-09-28  Eric Blake  <ebb9@byu.net>
35429
35430         Enforce that AC_REPLACE_FUNCS files exist.
35431         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
35432         override check for typos.
35433
35434         Fix test-closein on Solaris 10.
35435         * tests/test-closein.c (main): Don't assume stdin can be inherited
35436         closed on all systems.
35437         * tests/test-closein.sh: Likewise.
35438         Reported by Piotr Tarnowski.
35439
35440 2007-09-28  Jim Meyering  <jim@meyering.net>
35441
35442         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
35443
35444 2007-09-27  Jim Meyering  <jim@meyering.net>
35445
35446         canonicalize: Avoid a false-positive cycle failure.
35447         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
35448         Sort.  Remove cycle-check.
35449         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
35450         not cycle-check.h.
35451         (seen_triple): New function.
35452         (canonicalize_filename_mode): Use it instead of cycle-check.
35453         * tests/test-canonicalize.c: Add a test for this bug.
35454         * tests/test-canonicalize.sh: Set up and run the test.
35455
35456         New module, file-set, from coreutils.
35457         * modules/file-set: Define it.
35458         * lib/file-set.c, lib/file-set.h: Implement.
35459
35460         New module, hash-triple, from coreutils.
35461         * modules/hash-triple: Define it.
35462         * lib/hash-triple.c, lib/hash-triple.h: Implement.
35463
35464 2007-09-25  Eric Blake  <ebb9@byu.net>
35465
35466         Fix strerror on Interix.
35467         * lib/string_.h (strerror): Declare replacement.
35468         * doc/functions/strerror.texi (strerror): Document the Interix
35469         shortcoming.
35470         * modules/string (Makefile.am): Support new hooks.
35471         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
35472         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
35473         gl_FUNC_STRERROR_SEPARATE.
35474         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
35475         * lib/strerror.c (rpl_strerror): Provide replacement.
35476         * modules/strerror (Depends-on): Add string.
35477         (configure.ac): Detect use of module.
35478         * tests/test-strerror.c: New file.
35479         * modules/strerror-tests: New test module.
35480         * modules/argp (Depends-on): Add strerror.
35481         * modules/error (Depends-on): Likewise.
35482         Reported by Martin Koeppe.
35483
35484 2007-09-24  Bruno Haible  <bruno@clisp.org>
35485
35486         * README: Update git instructions.
35487
35488 2007-09-24  Eric Blake  <ebb9@byu.net>
35489
35490         Revert fpending breakage from 2007-09-08.
35491         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
35492         __fpending.c.
35493
35494 2007-09-24  Jim Meyering  <jim@meyering.net>
35495
35496         filenamecat.c: Add a test.
35497         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
35498         showing how the function works when DIR is the empty string.
35499
35500 2007-09-21  Simon Josefsson  <simon@josefsson.org>
35501
35502         * tests/test-canonicalize.sh: Turn on executable bit.
35503
35504 2007-09-19  Eric Blake  <ebb9@byu.net>
35505
35506         * README: Update CVS instructions.
35507
35508 2007-09-18  Bruno Haible  <bruno@clisp.org>
35509
35510         * modules/areadlink: New file.
35511         * lib/areadlink.h (areadlink): New declaration.
35512         * lib/areadlink.c: New file, based on lib/xreadlink.c.
35513
35514 2007-09-17  Jim Meyering  <jim@meyering.net>
35515
35516         * lib/savewd.c (ESTALE) [!defined]: Define.
35517         Reported to be required on Interix by Martin Koeppe.
35518
35519 2007-09-17  Bruno Haible  <bruno@clisp.org>
35520
35521         * gnulib-tool (func_version): Use $version.
35522
35523 2007-09-16  Bruno Haible  <bruno@clisp.org>
35524
35525         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
35526         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
35527         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
35528         Reported by Greg Schafer <gschafer@zip.com.au>.
35529
35530 2007-09-15  Bruno Haible  <bruno@clisp.org>
35531
35532         * gnulib-tool (sed): Try a little harder to make bash understand the
35533         alias.
35534         Reported by Bruce Korb <bruce.korb@gmail.com>.
35535
35536 2007-09-13  Eric Blake  <ebb9@byu.net>
35537
35538         * ChangeLog: Remove conflict markers.
35539
35540 2007-09-13  Simon Josefsson  <simon@josefsson.org>
35541
35542         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
35543         Reported by Bruno Haible <bruno@clisp.org>.
35544
35545 2007-09-12  Bruno Haible  <bruno@clisp.org>
35546
35547         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
35548         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
35549         is not defined.
35550
35551 2007-09-12  Eric Blake  <ebb9@byu.net>
35552
35553         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
35554         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
35555         Autoconf definition.
35556         * modules/euidaccess (Depends-on): Add extensions, for
35557         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
35558         * modules/fnmatch (Depends-on): Likewise.
35559         * modules/getaddrinfo (Depends-on): Likewise.
35560         * modules/getdelim (Depends-on): Likewise.
35561         * modules/getline (Depends-on): Likewise.
35562         * modules/getsubopt (Depends-on): Likewise.
35563         * modules/gettext (Depends-on): Likewise.
35564         * modules/group-member (Depends-on): Likewise.
35565         * modules/mbchar (Depends-on): Likewise.
35566         * modules/memmem (Depends-on): Likewise.
35567         * modules/mempcpy (Depends-on): Likewise.
35568         * modules/memrchr (Depends-on): Likewise.
35569         * modules/pagealign_alloc (Depends-on): Likewise.
35570         * modules/readutmp (Depends-on): Likewise.
35571         * modules/stpcpy (Depends-on): Likewise.
35572         * modules/stpncpy (Depends-on): Likewise.
35573         * modules/strchrnul (Depends-on): Likewise.
35574         * modules/strndup (Depends-on): Likewise.
35575         * modules/strsep (Depends-on): Likewise.
35576         * modules/strverscmp (Depends-on): Likewise.
35577         * modules/vasprintf (Depends-on): Likewise.
35578         * modules/wcwidth (Depends-on): Likewise.
35579         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
35580         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
35581         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
35582         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
35583         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
35584         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
35585         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
35586         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
35587         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
35588         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
35589         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
35590         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
35591         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
35592         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
35593         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
35594         * m4/readutmp.m4 (gl_READUTMP): Likewise.
35595         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
35596         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
35597         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
35598         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
35599         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
35600         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
35601         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
35602         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
35603         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
35604         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
35605         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
35606         so that lock.m4 can be used in gettext without extensions module.
35607
35608 2007-09-11  Bruno Haible  <bruno@clisp.org>
35609
35610         * m4/isc-posix.m4: Remove file.
35611         Suggested by Eric Blake.
35612
35613 2007-09-11  Eric Blake  <ebb9@byu.net>
35614
35615         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
35616
35617 2007-09-10  Bruno Haible  <bruno@clisp.org>
35618
35619         * posix-modules: Fix typo in error message.
35620         Reported by Matt <mkraai@beckman.com>.
35621
35622 2007-09-09  Bruno Haible  <bruno@clisp.org>
35623
35624         * doc/functions/getdelim.texi: Update list of platforms lacking the
35625         function.
35626         * doc/functions/getline.texi: Likewise.
35627
35628 2007-09-09  Jim Meyering  <jim@meyering.net>
35629
35630         * lib/hash.c (hash_initialize): Detect calloc failure.
35631         Reported by Bruno Haible.
35632
35633 2007-09-09  Bruno Haible  <bruno@clisp.org>
35634
35635         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
35636         malloc or realloc fails.
35637
35638 2007-09-09  Bruno Haible  <bruno@clisp.org>
35639
35640         * modules/getcwd (Depends-on): Add malloc-posix.
35641         * modules/glob (Depends-on): Likewise.
35642         * modules/putenv (Depends-on): Likewise.
35643         * modules/strdup (Depends-on): Likewise.
35644         * modules/getdelim (Depends-on): Add realloc-posix.
35645         * modules/read-file (Depends-on): Likewise.
35646
35647 2007-09-09  Bruno Haible  <bruno@clisp.org>
35648
35649         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
35650         (gl_FUNC_MALLOC_POSIX): Require it.
35651         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
35652         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
35653         * modules/realloc (Files): Add m4/malloc.m4.
35654         * modules/calloc (Files): Likewise.
35655
35656 2007-09-09  Bruno Haible  <bruno@clisp.org>
35657
35658         * modules/malloc-posix: New file.
35659         * modules/malloc (Depends-on): Add malloc-posix.
35660         * lib/malloc.c: Include errno.h.
35661         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
35662         and a POSIX-compatible malloc into a single function. Set ENOMEM
35663         when returning NULL.
35664         * m4/malloc.m4: New file.
35665         * doc/functions/malloc.texi: Mention the malloc-posix module.
35666         * lib/stdlib_.h (malloc): New declaration.
35667         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
35668         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
35669         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
35670         and HAVE_MALLOC_POSIX.
35671
35672 2007-09-09  Bruno Haible  <bruno@clisp.org>
35673
35674         * modules/realloc-posix: New file.
35675         * modules/realloc (Depends-on): Add realloc-posix.
35676         * lib/realloc.c: Include errno.h.
35677         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
35678         and a POSIX-compatible realloc into a single function. Set ENOMEM
35679         when returning NULL.
35680         * m4/realloc.m4: New file.
35681         * doc/functions/realloc.texi: Mention the realloc-posix module.
35682         * lib/stdlib_.h (realloc): New declaration.
35683         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
35684         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
35685         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
35686         and HAVE_REALLOC_POSIX.
35687
35688 2007-09-09  Bruno Haible  <bruno@clisp.org>
35689
35690         * modules/calloc-posix: New file.
35691         * modules/calloc (Depends-on): Add calloc-posix.
35692         * lib/calloc.c: Include errno.h.
35693         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
35694         and a POSIX-compatible calloc into a single function. Set ENOMEM
35695         when returning NULL.
35696         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
35697         * doc/functions/calloc.texi: Mention the calloc-posix module.
35698         * lib/stdlib_.h (calloc): New declaration.
35699         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
35700         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
35701         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
35702         and HAVE_CALLOC_POSIX.
35703
35704 2007-09-09  Bruno Haible  <bruno@clisp.org>
35705
35706         Allow for modules to show an arbitrary notice.
35707         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
35708         * gnulib-tool: New option --extract-notice.
35709         (func_usage): Document it.
35710         (sed_extract_prog): Update.
35711         (func_get_notice): New function.
35712         (func_modules_notice): New function.
35713         (func_import, func_create_testdir): Invoke it.
35714         Suggested by Jim Meyering.
35715
35716 2007-09-09  Bruno Haible  <bruno@clisp.org>
35717
35718         * gnulib-tool: New options --verbose, --quiet.
35719         (func_usage): Document them.
35720         (verbose): New variable.
35721         (func_execute_command): New function.
35722         (func_import): Don't show the module list and the file list if
35723         $verbose < 0.
35724         (func_create_testdir): Likewise. Use func_execute_command.
35725         (func_create_megatestdir): Use func_execute_command.
35726
35727 2007-09-08  Bruno Haible  <bruno@clisp.org>
35728
35729         * gnulib-tool (func_import): Prefer rsync over wget when available,
35730         for fetching the PO files.
35731
35732 2007-09-08  Bruno Haible  <bruno@clisp.org>
35733
35734         * posix-modules: New file. Portions copied from gnulib-tool.
35735         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
35736
35737 2007-09-08  Jim Meyering  <jim@meyering.net>
35738
35739         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
35740         * lib/fpending.h: Rename from __fpending.h.
35741         * lib/fpending.c: Rename from __fpending.c.
35742         Include "fpending.h", not "__fpending.h".
35743         * lib/__fpending.h, lib/__fpending.c: Remove files.
35744         * modules/fpending (Files): Reflect new file names.
35745         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
35746
35747 2007-09-08  Bruno Haible  <bruno@clisp.org>
35748
35749         * m4/inttypes-h.m4: Remove stub file.
35750
35751 2007-09-07  Simon Josefsson  <simon@josefsson.org>
35752
35753         * doc/headers/stdint.texi: Discuss #include_next issue.
35754
35755 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
35756
35757         * build-aux/bootstrap: Remove obsolete comment about wget --help.
35758
35759 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35760
35761         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
35762         in variable name.
35763
35764 2007-09-03  Jim Meyering  <jim@meyering.net>
35765
35766         New module: git-version-gen.
35767         * modules/git-version-gen: New file.
35768
35769         Import changes from coreutils for bootstrap script.
35770
35771         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
35772
35773         bootstrap: uses rsync to download the .po files
35774         * build-aux/bootstrap (po_download_command_format): New global.
35775         (download_po_files): Use rsync.
35776         (update_po_files): Don't remove .po files after download,
35777         so future rsync runs can take advantage of the copies.
35778
35779         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
35780
35781         Solve the unnecessary-.po-file-regeneration problem once and for all.
35782         * build-aux/bootstrap (download_po_files): New function, renamed from
35783         get_translations.  Now, downloads, but doesn't update LINGUAS.
35784         (update_po_files): New function.
35785
35786         bootstrap: Ignore more.
35787         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
35788         uniwidth to e.g., lib/.gitignore.
35789         (slurp): Handle the sys_stat_.h -> sys mapping, too.
35790
35791         * build-aux/bootstrap: New setting: vc_ignore.
35792         (insert_sorted_if_absent): Create $file if absent.
35793         Adapt to new, possibly empty, list: $vc_ignore.
35794
35795         bootstrap: generate more ignorable names
35796         * build-aux/bootstrap (slurp): When generating ignorable names,
35797         also map .sin to .sed, .gperf to .c, and .y to .c.
35798
35799 2007-09-03  Jim Meyering  <jim@meyering.net>
35800
35801         * build-aux/git-version-gen: New file, from coreutils.  For details, see
35802         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
35803
35804 2007-09-02  Bruno Haible  <bruno@clisp.org>
35805
35806         Fix mis-recognition of 'mcs' on QNX 6.
35807         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
35808         output contains the string "Mono".
35809         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
35810         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
35811
35812 2007-09-01  Bruno Haible  <bruno@clisp.org>
35813
35814         Fix collision between uniwidth/* and linebreak modules.
35815         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
35816         u32_width): Remove declarations.
35817         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
35818         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
35819         streq3, streq2, streq1, streq0): Remove functions.
35820         (STREQ): Remove macro.
35821         (is_cjk_encoding): Remove function.
35822         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
35823         (uc_width, u8_width, u16_width, u32_width): Remove functions.
35824         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
35825         * NEWS: Document the change.
35826
35827 2007-09-01  Bruno Haible  <bruno@clisp.org>
35828
35829         * lib/streq.h: Add double-inclusion guard.
35830
35831 2007-09-01  Karl Berry  <karl@gnu.org>
35832
35833         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
35834
35835 2007-08-28  Jim Meyering  <jim@meyering.net>
35836
35837         Rename mreadlink_with_size to areadlink_with_size.
35838         * NEWS: Document the change.
35839         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
35840         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
35841         * lib/mreadlink.h: Rename this to...
35842         * lib/areadlink.h: ...this.
35843         * modules/mreadlink-with-size: Rename this to...
35844         * modules/areadlink-with-size: ...this.
35845         * lib/canonicalize.c: Reflect the renaming.
35846         * modules/canonicalize: Likewise.
35847
35848 2007-08-26  Bruno Haible  <bruno@clisp.org>
35849
35850         * gnulib-tool (func_import): When deciding which files to remove,
35851         consider also dangling symbolic links.
35852         Reported by Eric Blake.
35853
35854 2007-08-26  Bruno Haible  <bruno@clisp.org>
35855
35856         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
35857
35858 2007-08-23  Simon Josefsson  <simon@josefsson.org>
35859
35860         * lib/readline.c: Don't include getline.h, the prototype is now
35861         found in stdio.h.
35862
35863 2007-08-23  Jim Meyering  <jim@meyering.net>
35864
35865         Getdelim touchup.
35866         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
35867         around the funlockfile call, since funlockfile never sets errno.
35868         Don't set errno upon failed realloc.
35869
35870 2007-08-22  Eric Blake  <ebb9@byu.net>
35871
35872         Getline touchups.
35873         * lib/getdelim.c (getdelim): Revert regression that required *n to
35874         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
35875         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
35876         getdelim, rather than whether implementation is missing.
35877         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
35878         * lib/stdio_.h (getline): Also declare if replacement is
35879         required.
35880         * doc/functions/getdelim.texi: New file.
35881         * doc/functions/getline.texi: Likewise.
35882         * doc/gnulib.texi (Function Substitutes): Add new files.
35883         Reported by Bruno Haible.
35884
35885 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
35886
35887         * users.txt: Add Guile.
35888
35889 2007-08-22  Eric Blake  <ebb9@byu.net>
35890
35891         * tests/test-getdelim.c (main): Use remove, not unlink.
35892         * tests/test-getline.c (main): Likewise.
35893
35894         Move getline and getdelim into stdio.h, per POSIX 200x.
35895         * modules/getline (Files): Remove getline.h.
35896         (Depends-on): Add stdio.
35897         (configure.ac): Add module indicator.
35898         * modules/getdelim (Files): Remove getdelim.h.
35899         (Depends-on): Add stdio.
35900         (configure.ac): Add module indicator.
35901         * modules/stdio (Makefile.am): Work with new indicators.
35902         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
35903         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
35904         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
35905         * lib/getdelim.h: Delete.
35906         * lib/getline.h: Delete.
35907         * lib/stdio_.h (getdelim, getline): Declare.
35908         * modules/getdelim-tests: New module.
35909         * modules/getline-tests: Likewise.
35910         * tests/test-getdelim.c: New file.
35911         * tests/test-getline.c: Likewise.
35912         * NEWS: Document the change.
35913         * lib/getline.c: Update choice of header.
35914         * lib/csharpcomp.c: Likewise.
35915         * lib/getpass.c: Likewise.
35916         * lib/javacomp.c: Likewise.
35917         * lib/javaversion.c: Likewise.
35918         * lib/yesno.c: Likewise.
35919         * lib/getdelim.c: Likewise.
35920         (getdelim): Set errno on failure, and avoid memory leak.
35921
35922 2007-08-19  Bruno Haible  <bruno@clisp.org>
35923
35924         * modules/closein (Depends-on): Add freadahead.
35925         * lib/closein.c: Include freadahead.h.
35926         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
35927         is zero.
35928
35929 2007-08-19  Bruno Haible  <bruno@clisp.org>
35930
35931         * modules/freadahead-tests: New file.
35932         * tests/test-freadahead.sh: New file.
35933         * tests/test-freadahead.c: New file.
35934
35935         * modules/freadahead: New file.
35936         * lib/freadahead.h: New file.
35937         * lib/freadahead.c: New file.
35938         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
35939         fbufmode, fpurge, freadable, fwritable.
35940
35941 2007-08-19  Eric Blake  <ebb9@byu.net>
35942
35943         Test yesno in combination with closein.
35944         * lib/yesno.c (yesno): Document use of stdin.
35945         * modules/yesno-tests (Files): New module.
35946         * tests/test-yesno.c (main): New file.
35947         * tests/test-yesno.sh: Likewise.
35948
35949 2007-08-19  Bruno Haible  <bruno@clisp.org>
35950
35951         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
35952         * lib/fseeko.c (rpl_fseeko): Likewise.
35953         * lib/fseterr.c (fseterr): Likewise.
35954
35955 2007-08-19  Bruno Haible  <bruno@clisp.org>
35956
35957         * tests/test-lseek.c (main): Disable a test for BeOS.
35958         * doc/functions/lseek.texi: Document the BeOS bug.
35959
35960 2007-08-19  Bruno Haible  <bruno@clisp.org>
35961             Eric Blake  <ebb9@byu.net>
35962
35963         * lib/lseek.c: Include <sys/stat.h>.
35964         (rpl_lseek): Add workaround code also for Unix platforms.
35965         Needed for BeOS.
35966         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
35967         * doc/functions/lseek.texi: Document BeOS definiency.
35968
35969 2007-08-18  Bruno Haible  <bruno@clisp.org>
35970
35971         * modules/fstrcmp-tests: New file.
35972         * tests/test-fstrcmp.c: New file.
35973
35974 2007-08-18  Bruno Haible  <bruno@clisp.org>
35975
35976         * modules/fstrcmp: New file, from GNU gettext with modifications.
35977         * lib/fstrcmp.h: New file, from GNU gettext.
35978         * lib/fstrcmp.c: New file, from GNU gettext.
35979         * MODULES.html.sh (String handling): Add fstrcmp.
35980
35981 2007-08-18  Bruno Haible  <bruno@clisp.org>
35982
35983         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
35984         'bool'.
35985         (diag, compareseq): Remove const from the ctxt argument.
35986         (USE_HEURISTIC): Undefine at the end.
35987
35988 2007-08-18  Jim Meyering  <jim@meyering.net>
35989
35990         New file: lib/idcache.h
35991         * NEWS: Mention the addition.
35992         * modules/idcache (Files): Add lib/idcache.h
35993         * lib/idcache.c: Include "idcache.h".
35994         Don't include <sys/types.h>.
35995         Add a FIXME comment.
35996         Move file-scoped "static" declarations to the top.
35997         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
35998
35999 2007-08-17  Bruno Haible  <bruno@clisp.org>
36000         and Paul Eggert  <eggert@cs.ucla.edu>
36001
36002         * MODULES.html.sh: Add diffseq.
36003         * modules/diffseq: New file.
36004         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
36005         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
36006
36007 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
36008
36009         Import changes from coreutils for bootstrap script.
36010
36011         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
36012
36013         * build-aux/bootstrap (slurp): Work even in environments where
36014         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
36015         current code does not slurp files whose names start with ".", and
36016         this looks like it might be a troublesome area.
36017
36018         2007-07-11  Jim Meyering  <jim@meyering.net>
36019
36020         If there's a GPL vN copyright comment, require that N == 3.
36021
36022         2007-07-08  Jim Meyering  <jim@meyering.net>
36023
36024         Run the coreutils-specific code only if tests/Makefile.am.in exists.
36025         * build-aux/bootstrap (mam_template): Move definition out of loop.
36026
36027         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
36028
36029         * build-aux/bootstrap (symlink_to_dir): Rename function from
36030         symlink_to_gnulib.  Add a directory parameter.  Update all
36031         callers.
36032         (cp_mark_as_generated): Also check for -- and link to -- files in
36033         gl/.
36034
36035         2007-07-08  Jim Meyering  <jim@meyering.net>
36036
36037         Adapt to deeper hierarchy in gnulib.
36038         * build-aux/bootstrap (symlink_to_dir): If the destination
36039         directory doesn't exist, create it. This is required at least for
36040         "lib/uniwidth/cjk.h".
36041
36042         2007-05-15  Jim Meyering  <jim@meyering.net>
36043
36044         * build-aux/bootstrap: Now that generated Makefile.am files
36045         are no longer under version control, they must be created at
36046         bootstrap time.
36047
36048 2007-08-14  Ben Pfaff  <blp@gnu.org>
36049
36050         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
36051
36052 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
36053
36054         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
36055         given the changes below.
36056         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
36057         even on hosts that have padding bits beyond the supported 64.
36058
36059 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
36060
36061         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
36062         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
36063         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
36064         depends on it.
36065         (xstrtol_error): Remove.
36066         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
36067         but with a different signature.
36068         (ATTRIBUTE_NORETURN, __attribute__): New macros.
36069         * lib/xstrtol-error.c: Include exitfail.h.
36070         (xstrtol_fatal): New function, with a different signature from the
36071         old xstrtol_error, so that the caller need not worry about passing
36072         in an exit status, or about storage management of the option argument.
36073         (xstrtol_error): Now a static function.  Redo signature to
36074         implement xstrtol_fatal.  Output the correct number of hyphens in
36075         front of the option so that the caller need not worry about
36076         storage management.
36077         (N_): New macro.
36078         (_): Remove; not used now.
36079         * modules/xstrtol: Depend on getopt.
36080         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
36081         of old STRTOL_FATAL_ERROR macro.
36082         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
36083         of test program.
36084         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
36085         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
36086
36087 2007-08-08  Eric Blake  <ebb9@byu.net>
36088
36089         * lib/xstrtol-error.c: Add missing include.
36090
36091         Move xstrtol messages into gnulib domain, when --pobase is used.
36092         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
36093         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
36094         * modules/xstrtol (Files): Distribute new file.
36095         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
36096         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
36097         * tests/test-xstrtol.c: ...into new file.
36098         * tests/test-xstrtoul.c: Also test xstrtoul.
36099         * tests/test-xstrtoimax.c: Also test xstrtoimax.
36100         * tests/test-xstrtoumax.c: Also test xstrtoumax.
36101         * tests/test-xstrtol.sh: Drive the tests.
36102         * tests/test-xstrtoimax.sh: Likewise.
36103         * tests/test-xstrtoumax.sh: Likewise.
36104         * modules/xstrtol-tests: New module.
36105         * modules/xstrtoimax-tests: Likewise.
36106         * modules/xstrtoumax-tests: Likewise.
36107
36108 2007-08-08  Jim Meyering  <jim@meyering.net>
36109
36110         New function: mfile_name_concat.
36111         * lib/filenamecat.c (mfile_name_concat): New function, just like
36112         file_name_concat, but return NULL upon failure rather than exiting
36113         with a diagnostic.
36114         * lib/filenamecat.h: Declare it.
36115
36116 2007-08-07  Bruno Haible  <bruno@clisp.org>
36117
36118         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
36119         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
36120         warning from gcc.
36121         Reported by Eric Blake.
36122
36123 2007-08-07  Simon Josefsson  <simon@josefsson.org>
36124
36125         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
36126         * modules/crypto/arcfour (License): Likewise.
36127         * modules/crypto/des-tests (License): Likewise.
36128         * modules/crypto/gc-arctwo-tests (License): Likewise.
36129         * modules/crypto/gc-des-tests (License): Likewise.
36130         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
36131         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
36132         * modules/crypto/gc-md2-tests (License): Likewise.
36133         * modules/crypto/gc-md4-tests (License): Likewise.
36134         * modules/crypto/gc-md5-tests (License): Likewise.
36135         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
36136         * modules/crypto/gc-rijndael-tests (License): Likewise.
36137         * modules/crypto/gc-sha1-tests (License): Likewise.
36138         * modules/crypto/gc-tests (License): Likewise.
36139         * modules/crypto/hmac-md5 (License): Likewise.
36140         * modules/crypto/hmac-sha1 (License): Likewise.
36141         * modules/crypto/md2-tests (License): Likewise.
36142         * modules/crypto/md4-tests (License): Likewise.
36143         * modules/crypto/md5 (License): Likewise.
36144         * modules/crypto/rijndael (License): Likewise.
36145         * modules/crypto/sha1 (License): Likewise.
36146         * modules/memxor (License): Likewise.
36147
36148 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
36149         and Bruno Haible  <bruno@clisp.org>
36150
36151         * NEWS: Describe interface changes to human, xstrtol.
36152         * lib/human.h: Include <xstrtol.h>.
36153         (human_options): Return enum strtol_error, not int.  Remove
36154         bool arg; take int * instead.
36155         * lib/human.c: Don't include "gettext.h".
36156         (_): Remove; no longer used.
36157         Don't include <xstrtol.h>, since human.h does it.
36158         (human_options): Adjust to abovementioned interface changes.
36159         Do not report error to stderr; that's now the caller's
36160         responsibility.
36161         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
36162         interface change.
36163         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
36164         Str, Argument_type_string.  All uses changed.  Put " argument"
36165         in diagnostics to make them clearer.  Change wording of suffix
36166         message for clarity.
36167         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
36168         Argument_type_string.
36169         (STRTOL_FATAL_WARN): Remove; no longer used.
36170         * modules/human (Depends-on): Remove gettext-h.
36171
36172 2007-08-06  Simon Josefsson  <simon@josefsson.org>
36173
36174         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
36175
36176 2007-07-31  Bruno Haible  <bruno@clisp.org>
36177
36178         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
36179         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
36180         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
36181
36182 2007-07-31  Bruno Haible  <bruno@clisp.org>
36183
36184         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
36185         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
36186
36187 2007-07-30  Bruno Haible  <bruno@clisp.org>
36188
36189         * modules/base64 (License): Use the synonymous term "LGPLv2+".
36190         * modules/c-ctype (License): Likewise.
36191         * modules/c-strcase (License): Likewise.
36192         * modules/check-version (License): Likewise.
36193         * modules/iconv (License): Likewise.
36194         * modules/iconv_open (License): Likewise.
36195         * modules/read-file (License): Likewise.
36196         * modules/striconv (License): Likewise.
36197         * modules/strverscmp (License): Likewise.
36198         * modules/vasprintf (License): Likewise.
36199         * modules/crypto/des (License): Likewise.
36200         * modules/crypto/gc (License): Likewise.
36201         * modules/crypto/gc-arcfour (License): Likewise.
36202         * modules/crypto/gc-arctwo (License): Likewise.
36203         * modules/crypto/gc-des (License): Likewise.
36204         * modules/crypto/gc-hmac-md5 (License): Likewise.
36205         * modules/crypto/gc-hmac-sha1 (License): Likewise.
36206         * modules/crypto/gc-md2 (License): Likewise.
36207         * modules/crypto/gc-md4 (License): Likewise.
36208         * modules/crypto/gc-md5 (License): Likewise.
36209         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
36210         * modules/crypto/gc-random (License): Likewise.
36211         * modules/crypto/gc-rijndael (License): Likewise.
36212         * modules/crypto/gc-sha1 (License): Likewise.
36213         * modules/crypto/md2 (License): Likewise.
36214         * modules/crypto/md4 (License): Likewise.
36215
36216 2007-07-30  Jim Meyering  <jim@meyering.net>
36217
36218         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
36219         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
36220         it has valid stat data.  This bug would cause du not to count the
36221         sizes of inaccessible directories.
36222         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
36223         in <http://bugzilla.redhat.com/250077>.
36224
36225 2007-07-25  Peter O'Gorman  <peter@pogma.com>
36226             Bruno Haible  <bruno@clisp.org>
36227
36228         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
36229         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
36230         #include_next, gives a diagnostic about it, but reports no error in
36231         the exit code.
36232         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
36233
36234 2007-07-24  Ben Pfaff  <blp@gnu.org>
36235
36236         Improve name: "count-one-bits" is better than "popcount".
36237         * MODULES.html.sh: Update name.
36238         * lib/popcount.h: Renamed lib/count-one-bits.h.
36239         (popcount): Renamed count_one_bits.
36240         (popcountl): Renamed count_one_bits_l.
36241         (popcountll): Renamed count_one_bits_ll.
36242         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
36243         * modules/popcount: Renamed module/count-one-bits.
36244         * modules/popcount-tests: Renamed module/count-one-bits-tests.
36245         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
36246
36247 2007-07-23  Ben Pfaff  <blp@gnu.org>
36248
36249         * lib/popcount.h (popcount32): Reduce size of constants, to allow
36250         better code generation, and add U to large constants to avoid
36251         warnings, in non-GCC case.
36252         Suggested by Bruno Haible.
36253
36254 2007-07-23  Ben Pfaff  <blp@gnu.org>
36255
36256         * lib/popcount.h: Use verify_true instead of if...abort.
36257         * modules/popcount: Depend on verify module.
36258         Suggested by Jim Meyering.
36259
36260 2007-07-23  Bruno Haible  <bruno@clisp.org>
36261
36262         * gnulib-tool (func_import): Create a .cvsignore file also when the
36263         directory is not yet in CVS but the toplevel directory is. When
36264         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
36265         Reported by Karl Berry.
36266
36267 2007-07-22  Ben Pfaff  <blp@gnu.org>
36268
36269         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
36270         case.
36271         Suggested by Eric Blake.
36272
36273 2007-07-22  Ben Pfaff  <blp@gnu.org>
36274
36275         New module: popcount.
36276         * MODULES.html.sh: Add popcount.
36277         * modules/popcount: New file.
36278         * modules/popcount-tests: New file.
36279         * tests/test-popcount.c: New file.
36280         * lib/popcount.h: New file.
36281         * m4/popcount.m4: New file.
36282
36283 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
36284
36285         * build-aux/announce-gen: Update to GPLv3.
36286
36287         * build-aux/config.guess: Update from config.
36288
36289 2007-07-21  Bruno Haible  <bruno@clisp.org>
36290
36291         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
36292         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
36293
36294 2007-07-20  Jim Meyering  <jim@meyering.net>
36295
36296         * check-module: Diagnose a self-dependency.
36297
36298 2007-07-19  Bruno Haible  <bruno@clisp.org>
36299
36300         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
36301         empty.
36302         Reported by Eric Blake.
36303
36304 2007-07-18  Bruno Haible  <bruno@clisp.org>
36305
36306         * gnulib-tool: New options --po-base, --po-domain.
36307         (func_usage): Document them.
36308         (pobase, po_domain): New variables.
36309         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
36310         DEFAULT_TEXT_DOMAIN.
36311         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
36312         (func_import): Consider pobase and po_domain. Create a po/ directory.
36313         (func_create_testdir): Set pobase and po_domain to empty.
36314         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
36315         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
36316
36317 2007-07-18  Bruno Haible  <bruno@clisp.org>
36318
36319         * gnulib-tool (func_get_automake_snippet): Synthesize also an
36320         EXTRA_DIST augmentation for files in build-aux/.
36321
36322 2007-07-16  Bruno Haible  <bruno@clisp.org>
36323
36324         * modules/lseek (License): Use the synonymous term "LGPLv2+".
36325         * modules/getdelim (License): Likewise.
36326
36327 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36328
36329         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
36330         * modules/d-type (License): Likewise.
36331         * modules/extensions (License): Likewise.
36332         * modules/fnmatch (License): Likewise.
36333         * modules/fseeko (License): Likewise.
36334         * modules/getaddrinfo (License): Likewise.
36335         * modules/getline (License): Likewise.
36336         * modules/getlogin_r (License): Likewise.
36337         * modules/getpass (License): Likewise.
36338         * modules/gettimeofday (License): Likewise.
36339         * modules/glob (License): Likewise.
36340         * modules/inet_ntop (License): Likewise.
36341         * modules/malloc (License): Likewise.
36342         * modules/malloca (License): Likewise.
36343         * modules/memmem (License): Likewise.
36344         * modules/mempcpy (License): Likewise.
36345         * modules/memset (License): Likewise.
36346         * modules/minmax (License): Likewise.
36347         * modules/mktime (License): Likewise.
36348         * modules/netinet_in (License): Likewise.
36349         * modules/pathmax (License): Likewise.
36350         * modules/poll (License): Likewise.
36351         * modules/regex (License): Likewise.
36352         * modules/snprintf (License): Likewise.
36353         * modules/stdbool (License): Likewise.
36354         * modules/stdint (License): Likewise.
36355         * modules/stdio (License): Likewise.
36356         * modules/strcase (License): Likewise.
36357         * modules/strcasestr (License): Likewise.
36358         * modules/strdup (License): Likewise.
36359         * modules/string (License): Likewise.
36360         * modules/strndup (License): Likewise.
36361         * modules/strnlen (License): Likewise.
36362         * modules/strpbrk (License): Likewise.
36363         * modules/strptime (License): Likewise.
36364         * modules/strsep (License): Likewise.
36365         * modules/sys_select (License): Likewise.
36366         * modules/sys_socket (License): Likewise.
36367         * modules/sys_stat (License): Likewise.
36368         * modules/sys_time (License): Likewise.
36369         * modules/time (License): Likewise.
36370         * modules/time_r (License): Likewise.
36371         * modules/timegm (License): Likewise.
36372         * modules/unistd (License): Likewise.
36373         * modules/vsnprintf (License): Likewise.
36374         * modules/wctype (License): Likewise.
36375
36376 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36377
36378         * modules/argz (License): LGPLv2+.
36379
36380 2007-07-15  Karl Berry  <karl@gnu.org>
36381
36382         * doc/gnulib.texi: revise node structure per new fdl.texi.
36383
36384 2007-07-14  Bruno Haible  <bruno@clisp.org>
36385
36386         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
36387         the output file.
36388         * lib/uniname/uninames.h: Regenerated.
36389
36390 2007-07-14  Karl Berry  <karl@gnu.org>
36391
36392         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
36393         omitting sectioning and index commands.
36394
36395 2007-07-13  Bruno Haible  <bruno@clisp.org>
36396
36397         New gnulib-tool option --more-symlinks.
36398         * gnulib-tool (func_usage): Document --more-symlinks.
36399         (do_copyrights): New variable.
36400         Recognize option --more-symlinks.
36401         (func_import): Don't add a copyright notice transform to
36402         sed_transform_lib_file if do_copyrights is empty.
36403
36404 2007-07-13  Bruno Haible  <bruno@clisp.org>
36405
36406         * lib/vasnprintf.c (decimal_point_char): Define also if
36407         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
36408         && !NEED_PRINTF_DIRECTIVE_A.
36409         Reported by Clemens Koller <clemens.koller@anagramm.de> via
36410         Gary V. Vaughan <gary@gnu.org>.
36411
36412 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
36413
36414         * lib/inttypes_.h: Undo previous change, since it was fixed
36415         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
36416
36417 2007-07-13  Bruno Haible  <bruno@clisp.org>
36418
36419         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
36420         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
36421
36422 2007-07-13  Jim Meyering  <jim@meyering.net>
36423
36424         df: Don't fail for Tru64's "file-on-file mount".
36425         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
36426         so we fall through and use statfs instead.  Details here:
36427         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
36428         Reported by Albert Chin.
36429
36430 2007-07-13  Bruno Haible  <bruno@clisp.org>
36431
36432         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
36433         * modules/configmake (License): Likewise.
36434         * modules/gettext (License): Likewise.
36435         * modules/gettext-h (License): Likewise.
36436         * modules/include_next (License): Likewise.
36437         * modules/link-warning (License): Likewise.
36438         * modules/localcharset (License): Likewise.
36439         * modules/localename (License): Likewise.
36440         * modules/lock (License): Likewise.
36441         * modules/relocatable-lib-lgpl (License): Likewise.
36442         * modules/size_max (License): Likewise.
36443         * modules/vasnprintf (License): Likewise.
36444         * modules/wchar (License): Likewise.
36445         * modules/xsize (License): Likewise.
36446
36447 2007-07-13  Bruno Haible  <bruno@clisp.org>
36448
36449         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
36450         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
36451
36452 2007-07-12  Bruno Haible  <bruno@clisp.org>
36453
36454         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
36455         in the modules files.
36456
36457 2007-07-11  Karl Berry  <karl@gnu.org>
36458
36459         * MODULES.html.sh (func_module): use
36460          sed -e '\|^'"${includefile}"'$|d'
36461          instead of /.../d, to avoid errors on $includefile's containing /.
36462
36463 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
36464
36465         * gnulib-tool (func_import): Avoid duplication of --avoid
36466         statements
36467         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
36468         names to `_' in variable names.
36469
36470 2007-07-10  Eric Blake  <ebb9@byu.net>
36471
36472         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
36473         * NEWS: Document this change.
36474
36475 2007-07-08  Bruno Haible  <bruno@clisp.org>
36476
36477         Update to Unicode 5.0.
36478         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
36479         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
36480         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
36481         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
36482         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
36483         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
36484         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
36485         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
36486         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
36487         U+10A3F, U+1D242..U+1D244.
36488         (nonspacing_table_ind): Update.
36489         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
36490         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
36491
36492 2007-07-08  Bruno Haible  <bruno@clisp.org>
36493
36494         Update to Unicode 5.0.
36495         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
36496         code transform. Extend the name index field of unicode_name_to_code and
36497         unicode_code_to_name from 16 to 24 bits.
36498         * lib/uniname/uniname.c (unicode_character_name,
36499         unicode_name_character): Add the range 0x12xxx to the code transform.
36500         * lib/uniname/uninames.h: Regenerated.
36501         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
36502
36503 2007-07-07  Bruno Haible  <bruno@clisp.org>
36504
36505         * modules/wcwidth-tests: New file.
36506         * tests/test-wcwidth.c: New file.
36507
36508         Work around MacOS X wcwidth() bug.
36509         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
36510         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
36511         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
36512         original wcwidth in non-UTF-8 locales.
36513         * modules/wcwidth (Depends-on): Add localcharset, streq,
36514         uniwidth/width.
36515         * doc/functions/wcwidth.texi: Update.
36516
36517 2007-07-07  Bruno Haible  <bruno@clisp.org>
36518
36519         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
36520         (wcwidth): New declaration.
36521         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
36522         macros.
36523         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
36524         here. Prepare for creating <wchar.h> unconditionally.
36525         * modules/wchar (Depends-on): Add link-warning.
36526         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
36527         REPLACE_WCWIDTH, and GL_LINK_WARNING.
36528         * lib/wcwidth.h: Remove file.
36529         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
36530         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
36531         * modules/wcwidth (Files): Remove lib/wcwidth.h.
36532         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
36533         (Include): Replace wcwidth.h with <wchar.h>.
36534         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
36535         * lib/mbchar.h: Don't include wcwidth.h.
36536         * lib/mbswidth.c: Likewise.
36537         * NEWS: Mention the change.
36538
36539 2007-07-07  Bruno Haible  <bruno@clisp.org>
36540
36541         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
36542         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
36543         definition with an external declaration.
36544         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
36545         defined as a function. Remove AC_C_INLINE requirement.
36546         * modules/wcwidth (Files): Add lib/wcwidth.c.
36547         (Makefile.am): Remove redundant statement.
36548
36549 2007-07-07  Bruno Haible  <bruno@clisp.org>
36550
36551         * MODULES.html.sh (Unicode string functions): Add the new modules.
36552
36553         * tests/uniwidth/test-u32-strwidth.c: New file.
36554         * modules/uniwidth/u32-strwidth-tests: New file.
36555
36556         * lib/uniwidth/u32-strwidth.c: New file.
36557         * modules/uniwidth/u32-strwidth: New file.
36558
36559         * tests/uniwidth/test-u16-strwidth.c: New file.
36560         * modules/uniwidth/u16-strwidth-tests: New file.
36561
36562         * lib/uniwidth/u16-strwidth.c: New file.
36563         * modules/uniwidth/u16-strwidth: New file.
36564
36565         * tests/uniwidth/test-u8-strwidth.c: New file.
36566         * modules/uniwidth/u8-strwidth-tests: New file.
36567
36568         * lib/uniwidth/u8-strwidth.c: New file.
36569         * modules/uniwidth/u8-strwidth: New file.
36570
36571         * tests/uniwidth/test-u32-width.c: New file.
36572         * modules/uniwidth/u32-width-tests: New file.
36573
36574         * lib/uniwidth/u32-width.c: New file.
36575         * modules/uniwidth/u32-width: New file.
36576
36577         * tests/uniwidth/test-u16-width.c: New file.
36578         * modules/uniwidth/u16-width-tests: New file.
36579
36580         * lib/uniwidth/u16-width.c: New file.
36581         * modules/uniwidth/u16-width: New file.
36582
36583         * tests/uniwidth/test-u8-width.c: New file.
36584         * modules/uniwidth/u8-width-tests: New file.
36585
36586         * lib/uniwidth/u8-width.c: New file.
36587         * modules/uniwidth/u8-width: New file.
36588
36589         * tests/uniwidth/test-uc_width.c: New file.
36590         * modules/uniwidth/width-tests: New file.
36591
36592         * lib/uniwidth/width.c: New file, from GNU libiconv.
36593         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
36594         * modules/uniwidth/width: New file.
36595
36596         * lib/uniwidth.h: New file, from GNU libiconv.
36597         * modules/uniwidth/base: New file.
36598
36599 2007-07-07  Bruno Haible  <bruno@clisp.org>
36600
36601         * lib/uniname.h: New file, from GNU gettext.
36602         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
36603         * lib/uniname/uninames.h: New file, from GNU gettext.
36604         * lib/uniname/uniname.c: New file, from GNU gettext.
36605         * tests/uniname/test-uninames.sh: New file.
36606         * tests/uniname/test-uninames.c: New file, from GNU gettext.
36607         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
36608         * modules/uniname/base: New file.
36609         * modules/uniname/uniname: New file.
36610         * modules/uniname/uniname-tests: New file.
36611         * MODULES.html.sh (Unicode string functions): Add the new modules.
36612
36613 2007-07-06  Bruno Haible  <bruno@clisp.org>
36614
36615         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
36616
36617 2007-07-06  Bruno Haible  <bruno@clisp.org>
36618
36619         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
36620         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
36621         includes <cygwin/sys_time.h> which includes <sys/select.h> which
36622         include <sys/time.h>.
36623         Reported by Eric Blake.
36624
36625 2007-07-06  Eric Blake  <ebb9@byu.net>
36626
36627         Fix testing canonicalize on cygwin.
36628         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
36629         Revert patch from 2007-06-19.
36630         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
36631         canonicalize module is also in use.
36632         * tests/test-canonicalize.c: New file.
36633         * tests/test-canonicalize.sh: Likewise.
36634         * modules/canonicalize-tests: Likewise.
36635
36636 2007-07-06  Jim Meyering  <jim@meyering.net>
36637
36638         * lib/getugroups.c (getugroups): Detect getgrent failure.
36639         Adjust comment to reflect reality: this function may return -1.
36640
36641 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
36642
36643         * build-aux/bootstrap (TP_URL,get_translations): Update to use
36644         the new TP address.
36645         (usage): Fix typo
36646         (gnulib_mk): New variable.
36647
36648 2007-07-05  Jim Meyering  <jim@meyering.net>
36649
36650         Don't let endgrent clobber errno, no matter how improbable.
36651         * lib/getugroups.c (getugroups): Save and restore errno around
36652         endgrent call.
36653
36654         Close the group DB even when failing with 2^31 or more members.
36655         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
36656
36657 2007-07-04  Jim Meyering  <jim@meyering.net>
36658
36659         * lib/getugroups.h: New file.
36660         * lib/getugroups.c: Include "getugroups.h".
36661         Remove uses of "register" keyword.
36662         Move local variable, "cp", down into scope where used.
36663         Give "username" parameter the "const" attribute.
36664         * modules/getugroups (Files): Add lib/getugroups.h
36665
36666 2007-07-04  Karl Berry  <karl@gnu.org>
36667
36668         * MODULES.html.sh (func_all_modules): Complete rename of
36669         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
36670
36671 2007-07-02  Bruno Haible  <bruno@clisp.org>
36672
36673         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
36674         mode, when inttypes.h comes from gnulib.
36675         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
36676
36677 2007-07-02  Simon Josefsson  <simon@josefsson.org>
36678
36679         * NEWS: Mention lgpl module name change.
36680
36681         * modules/lgpl-2.1: Renamed from lgpl.
36682
36683         * NEWS: Mention gpl module name change.
36684
36685         * modules/gpl-3.0: New file, based on gpl-2.0.
36686
36687         * modules/gpl-2.0: Renamed from gpl.
36688
36689         * modules/gpl: Fix filename, doc/gpl.texi is now found at
36690         doc/gpl-2.0.texi.
36691
36692 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
36693
36694         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
36695         #define __STDC_LIMIT_MACROS temporarily while including
36696         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
36697         Problem reported by Joel E. Denny in
36698         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
36699
36700 2007-07-01  Bruno Haible  <bruno@clisp.org>
36701
36702         * lib/unistdio.h: New file.
36703         * lib/unistdio/u-asnprintf.h: New file.
36704         * lib/unistdio/u-asprintf.h: New file.
36705         * lib/unistdio/u-printf-args.c: New file.
36706         * lib/unistdio/u-printf-args.h: New file.
36707         * lib/unistdio/u-printf-parse.h: New file.
36708         * lib/unistdio/u-snprintf.h: New file.
36709         * lib/unistdio/u-sprintf.h: New file.
36710         * lib/unistdio/u-vasprintf.h: New file.
36711         * lib/unistdio/u-vsnprintf.h: New file.
36712         * lib/unistdio/u-vsprintf.h: New file.
36713         * lib/unistdio/ulc-asnprintf.c: New file.
36714         * lib/unistdio/ulc-asprintf.c: New file.
36715         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
36716         * lib/unistdio/ulc-printf-parse.c: New file.
36717         * lib/unistdio/ulc-snprintf.c: New file.
36718         * lib/unistdio/ulc-sprintf.c: New file.
36719         * lib/unistdio/ulc-vasnprintf.c: New file.
36720         * lib/unistdio/ulc-vasprintf.c: New file.
36721         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
36722         * lib/unistdio/ulc-vsnprintf.c: New file.
36723         * lib/unistdio/ulc-vsprintf.c: New file.
36724         * lib/unistdio/u8-asnprintf.c: New file.
36725         * lib/unistdio/u8-asprintf.c: New file.
36726         * lib/unistdio/u8-printf-parse.c: New file.
36727         * lib/unistdio/u8-snprintf.c: New file.
36728         * lib/unistdio/u8-sprintf.c: New file.
36729         * lib/unistdio/u8-vasnprintf.c: New file.
36730         * lib/unistdio/u8-vasprintf.c: New file.
36731         * lib/unistdio/u8-vsnprintf.c: New file.
36732         * lib/unistdio/u8-vsprintf.c: New file.
36733         * lib/unistdio/u8-u8-asnprintf.c: New file.
36734         * lib/unistdio/u8-u8-asprintf.c: New file.
36735         * lib/unistdio/u8-u8-snprintf.c: New file.
36736         * lib/unistdio/u8-u8-sprintf.c: New file.
36737         * lib/unistdio/u8-u8-vasnprintf.c: New file.
36738         * lib/unistdio/u8-u8-vasprintf.c: New file.
36739         * lib/unistdio/u8-u8-vsnprintf.c: New file.
36740         * lib/unistdio/u8-u8-vsprintf.c: New file.
36741         * lib/unistdio/u16-asnprintf.c: New file.
36742         * lib/unistdio/u16-asprintf.c: New file.
36743         * lib/unistdio/u16-printf-parse.c: New file.
36744         * lib/unistdio/u16-snprintf.c: New file.
36745         * lib/unistdio/u16-sprintf.c: New file.
36746         * lib/unistdio/u16-vasnprintf.c: New file.
36747         * lib/unistdio/u16-vasprintf.c: New file.
36748         * lib/unistdio/u16-vsnprintf.c: New file.
36749         * lib/unistdio/u16-vsprintf.c: New file.
36750         * lib/unistdio/u16-u16-asnprintf.c: New file.
36751         * lib/unistdio/u16-u16-asprintf.c: New file.
36752         * lib/unistdio/u16-u16-snprintf.c: New file.
36753         * lib/unistdio/u16-u16-sprintf.c: New file.
36754         * lib/unistdio/u16-u16-vasnprintf.c: New file.
36755         * lib/unistdio/u16-u16-vasprintf.c: New file.
36756         * lib/unistdio/u16-u16-vsnprintf.c: New file.
36757         * lib/unistdio/u16-u16-vsprintf.c: New file.
36758         * lib/unistdio/u32-asnprintf.c: New file.
36759         * lib/unistdio/u32-asprintf.c: New file.
36760         * lib/unistdio/u32-printf-parse.c: New file.
36761         * lib/unistdio/u32-snprintf.c: New file.
36762         * lib/unistdio/u32-sprintf.c: New file.
36763         * lib/unistdio/u32-vasnprintf.c: New file.
36764         * lib/unistdio/u32-vasprintf.c: New file.
36765         * lib/unistdio/u32-vsnprintf.c: New file.
36766         * lib/unistdio/u32-vsprintf.c: New file.
36767         * lib/unistdio/u32-u32-asnprintf.c: New file.
36768         * lib/unistdio/u32-u32-asprintf.c: New file.
36769         * lib/unistdio/u32-u32-snprintf.c: New file.
36770         * lib/unistdio/u32-u32-sprintf.c: New file.
36771         * lib/unistdio/u32-u32-vasnprintf.c: New file.
36772         * lib/unistdio/u32-u32-vasprintf.c: New file.
36773         * lib/unistdio/u32-u32-vsnprintf.c: New file.
36774         * lib/unistdio/u32-u32-vsprintf.c: New file.
36775         * tests/unistdio/test-ulc-asnprintf1.c: New file.
36776         * tests/unistdio/test-ulc-asnprintf1.h: New file.
36777         * tests/unistdio/test-ulc-printf1.h: New file.
36778         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
36779         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
36780         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
36781         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
36782         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
36783         * tests/unistdio/test-ulc-vasprintf1.c: New file.
36784         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
36785         * tests/unistdio/test-ulc-vsprintf1.c: New file.
36786         * tests/unistdio/test-u8-asnprintf1.c: New file.
36787         * tests/unistdio/test-u8-asnprintf1.h: New file.
36788         * tests/unistdio/test-u8-printf1.h: New file.
36789         * tests/unistdio/test-u8-vasnprintf1.c: New file.
36790         * tests/unistdio/test-u8-vasnprintf2.c: New file.
36791         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
36792         * tests/unistdio/test-u8-vasnprintf3.c: New file.
36793         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
36794         * tests/unistdio/test-u8-vasprintf1.c: New file.
36795         * tests/unistdio/test-u8-vsnprintf1.c: New file.
36796         * tests/unistdio/test-u8-vsprintf1.c: New file.
36797         * tests/unistdio/test-u16-asnprintf1.c: New file.
36798         * tests/unistdio/test-u16-asnprintf1.h: New file.
36799         * tests/unistdio/test-u16-printf1.h: New file.
36800         * tests/unistdio/test-u16-vasnprintf1.c: New file.
36801         * tests/unistdio/test-u16-vasnprintf2.c: New file.
36802         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
36803         * tests/unistdio/test-u16-vasnprintf3.c: New file.
36804         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
36805         * tests/unistdio/test-u16-vasprintf1.c: New file.
36806         * tests/unistdio/test-u16-vsnprintf1.c: New file.
36807         * tests/unistdio/test-u16-vsprintf1.c: New file.
36808         * tests/unistdio/test-u32-asnprintf1.c: New file.
36809         * tests/unistdio/test-u32-asnprintf1.h: New file.
36810         * tests/unistdio/test-u32-printf1.h: New file.
36811         * tests/unistdio/test-u32-vasnprintf1.c: New file.
36812         * tests/unistdio/test-u32-vasnprintf2.c: New file.
36813         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
36814         * tests/unistdio/test-u32-vasnprintf3.c: New file.
36815         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
36816         * tests/unistdio/test-u32-vasprintf1.c: New file.
36817         * tests/unistdio/test-u32-vsnprintf1.c: New file.
36818         * tests/unistdio/test-u32-vsprintf1.c: New file.
36819         * modules/unistdio/base: New file.
36820         * modules/unistdio/u-printf-args: New file.
36821         * modules/unistdio/ulc-asnprintf: New file.
36822         * modules/unistdio/ulc-asprintf: New file.
36823         * modules/unistdio/ulc-fprintf: New file.
36824         * modules/unistdio/ulc-printf-parse: New file.
36825         * modules/unistdio/ulc-snprintf: New file.
36826         * modules/unistdio/ulc-sprintf: New file.
36827         * modules/unistdio/ulc-vasnprintf: New file.
36828         * modules/unistdio/ulc-vasprintf: New file.
36829         * modules/unistdio/ulc-vfprintf: New file.
36830         * modules/unistdio/ulc-vsnprintf: New file.
36831         * modules/unistdio/ulc-vsprintf: New file.
36832         * modules/unistdio/u8-asnprintf: New file.
36833         * modules/unistdio/u8-asprintf: New file.
36834         * modules/unistdio/u8-printf-parse: New file.
36835         * modules/unistdio/u8-snprintf: New file.
36836         * modules/unistdio/u8-sprintf: New file.
36837         * modules/unistdio/u8-vasnprintf: New file.
36838         * modules/unistdio/u8-vasprintf: New file.
36839         * modules/unistdio/u8-vsnprintf: New file.
36840         * modules/unistdio/u8-vsprintf: New file.
36841         * modules/unistdio/u8-u8-asnprintf: New file.
36842         * modules/unistdio/u8-u8-asprintf: New file.
36843         * modules/unistdio/u8-u8-snprintf: New file.
36844         * modules/unistdio/u8-u8-sprintf: New file.
36845         * modules/unistdio/u8-u8-vasnprintf: New file.
36846         * modules/unistdio/u8-u8-vasprintf: New file.
36847         * modules/unistdio/u8-u8-vsnprintf: New file.
36848         * modules/unistdio/u8-u8-vsprintf: New file.
36849         * modules/unistdio/u16-asnprintf: New file.
36850         * modules/unistdio/u16-asprintf: New file.
36851         * modules/unistdio/u16-printf-parse: New file.
36852         * modules/unistdio/u16-snprintf: New file.
36853         * modules/unistdio/u16-sprintf: New file.
36854         * modules/unistdio/u16-vasnprintf: New file.
36855         * modules/unistdio/u16-vasprintf: New file.
36856         * modules/unistdio/u16-vsnprintf: New file.
36857         * modules/unistdio/u16-vsprintf: New file.
36858         * modules/unistdio/u16-u16-asnprintf: New file.
36859         * modules/unistdio/u16-u16-asprintf: New file.
36860         * modules/unistdio/u16-u16-snprintf: New file.
36861         * modules/unistdio/u16-u16-sprintf: New file.
36862         * modules/unistdio/u16-u16-vasnprintf: New file.
36863         * modules/unistdio/u16-u16-vasprintf: New file.
36864         * modules/unistdio/u16-u16-vsnprintf: New file.
36865         * modules/unistdio/u16-u16-vsprintf: New file.
36866         * modules/unistdio/u32-asnprintf: New file.
36867         * modules/unistdio/u32-asprintf: New file.
36868         * modules/unistdio/u32-printf-parse: New file.
36869         * modules/unistdio/u32-snprintf: New file.
36870         * modules/unistdio/u32-sprintf: New file.
36871         * modules/unistdio/u32-vasnprintf: New file.
36872         * modules/unistdio/u32-vasprintf: New file.
36873         * modules/unistdio/u32-vsnprintf: New file.
36874         * modules/unistdio/u32-vsprintf: New file.
36875         * modules/unistdio/u32-u32-asnprintf: New file.
36876         * modules/unistdio/u32-u32-asprintf: New file.
36877         * modules/unistdio/u32-u32-snprintf: New file.
36878         * modules/unistdio/u32-u32-sprintf: New file.
36879         * modules/unistdio/u32-u32-vasnprintf: New file.
36880         * modules/unistdio/u32-u32-vasprintf: New file.
36881         * modules/unistdio/u32-u32-vsnprintf: New file.
36882         * modules/unistdio/u32-u32-vsprintf: New file.
36883         * modules/unistdio/ulc-asnprintf-tests: New file.
36884         * modules/unistdio/ulc-vasnprintf-tests: New file.
36885         * modules/unistdio/ulc-vasprintf-tests: New file.
36886         * modules/unistdio/ulc-vsnprintf-tests: New file.
36887         * modules/unistdio/ulc-vsprintf-tests: New file.
36888         * modules/unistdio/u8-asnprintf-tests: New file.
36889         * modules/unistdio/u8-vasnprintf-tests: New file.
36890         * modules/unistdio/u8-vasprintf-tests: New file.
36891         * modules/unistdio/u8-vsnprintf-tests: New file.
36892         * modules/unistdio/u8-vsprintf-tests: New file.
36893         * modules/unistdio/u16-asnprintf-tests: New file.
36894         * modules/unistdio/u16-vasnprintf-tests: New file.
36895         * modules/unistdio/u16-vasprintf-tests: New file.
36896         * modules/unistdio/u16-vsnprintf-tests: New file.
36897         * modules/unistdio/u16-vsprintf-tests: New file.
36898         * modules/unistdio/u32-asnprintf-tests: New file.
36899         * modules/unistdio/u32-vasnprintf-tests: New file.
36900         * modules/unistdio/u32-vasprintf-tests: New file.
36901         * modules/unistdio/u32-vsnprintf-tests: New file.
36902         * modules/unistdio/u32-vsprintf-tests: New file.
36903         * MODULES.html.sh (Unicode string functions): Add the new modules.
36904
36905 2007-07-01  Bruno Haible  <bruno@clisp.org>
36906
36907         * lib/sprintf.c (sprintf): Limit the available length estimation,
36908         to avoid address wraparound.
36909         * lib/vsprintf.c (vsprintf): Likewise.
36910         * modules/sprintf-posix (Dependencies): Add stdint.
36911         * modules/vsprintf-posix (Dependencies): Likewise.
36912
36913 2007-07-01  Bruno Haible  <bruno@clisp.org>
36914
36915         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
36916         Windows PATH as well. Conservative double-quoting. Comments.
36917
36918 2007-07-01  Bruno Haible  <bruno@clisp.org>
36919             Eric Blake  <ebb9@byu.net>
36920             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36921
36922         * gnulib-tool (self_abspathname): Fix algorithm to cope with
36923         empty components in $PATH, denoting '.'.
36924
36925 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36926
36927         * gnulib-tool: Fix indentation.
36928         (func_create_megatestdir): Likewise.
36929         Report by Bruno Haible.
36930
36931 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36932
36933         Sync from Automake.
36934         * build-aux/gnupload: Fix shell portability issues with for loops.
36935         Report by Karl Berry.
36936
36937 2007-06-29  Simon Josefsson  <simon@josefsson.org>
36938
36939         * build-aux/maint.mk (POURL): Use translationproject.org.
36940
36941 2007-06-27  Simon Josefsson  <simon@josefsson.org>
36942             Bruno Haible  <bruno@clisp.org>
36943
36944         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
36945         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
36946         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
36947         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
36948         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
36949
36950 2007-06-27  Bruno Haible  <bruno@clisp.org>
36951
36952         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
36953         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
36954
36955 2007-06-26  Karl Berry  <karl@gnu.org>
36956
36957         * MODULES.html.sh: remove xreadlink-with-size.
36958
36959 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
36960
36961         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
36962         method that I hope also handles the double-include problem noted
36963         by Bruno Haible in
36964         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
36965
36966 2007-06-23  Bruno Haible  <bruno@clisp.org>
36967
36968         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
36969         Don't let the 'mostlyclean' target fail if the last subdirectory could
36970         not be removed.
36971         Reported by Karl Berry.
36972
36973 2007-06-23  Bruno Haible  <bruno@clisp.org>
36974
36975         * gnulib-tool (echo): Add a speedier workaround for ksh.
36976         * tests/test-echo.sh: Likewise.
36977
36978 2007-06-23  Bruno Haible  <bruno@clisp.org>
36979
36980         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
36981         * tests/test-echo.sh: Likewise.
36982
36983 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36984
36985         * gnulib-tool (IFS): Initialize early, so we don't set it to
36986         empty later.
36987         (self_abspathname): Rewrite algorithm to set it, reindent.
36988         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
36989         (func_create_megatestdir): Merge some sed scripts.
36990
36991 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
36992
36993         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
36994         exposed by Sun Studio 11 cc on Solaris 8.
36995
36996 2007-06-22  Bruno Haible  <bruno@clisp.org>
36997
36998         * gnulib-tool (echo): Ensure the echo primitive does not interpret
36999         backslashes.
37000         * tests/test-echo.sh: New file.
37001
37002 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37003
37004         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
37005         simplify `sed_replace_build_aux' scripts, they are portable but
37006         echoing them with `echo' is not.
37007         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
37008
37009 2007-06-21  Karl Berry  <karl@gnu.org>
37010
37011         * config/srclist.txt: guess we can't handle the licenses via
37012         srclist at the moment.
37013
37014 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
37015
37016         * MODULES.html.sh: Add include_next.
37017         * modules/include_next: New file.
37018
37019 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
37020
37021         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
37022         INCLUDE_NEXT.
37023         (gl_CHECK_NEXT_HEADERS): New macro.
37024         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
37025         the obsolescent gl_ABSOLUTE_HEADER.
37026         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
37027         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
37028         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
37029         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
37030         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
37031         * m4/math_h.m4 (gl_MATH_H): Likewise.
37032         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
37033         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
37034         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
37035         * m4/stdint.m4 (gl_STDINT_H): Likewise.
37036         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
37037         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
37038         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
37039         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
37040         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
37041         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
37042         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
37043         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
37044         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
37045         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
37046         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
37047         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
37048         * m4/inttypes.m4 (gl_INTTYPES_H): Define
37049         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
37050         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
37051         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
37052         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
37053         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
37054         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
37055         * lib/float_.h: Likewise.
37056         * lib/inttypes_.h: Likewise.
37057         * lib/math_.h: Likewise.
37058         * lib/search_.h: Likewise.
37059         * lib/signal_.h: Likewise.
37060         * lib/stdint_.h: Likewise.
37061         * lib/stdio_.h: Likewise.
37062         * lib/stdlib_.h: Likewise.
37063         * lib/string_.h: Likewise.
37064         * lib/sys_stat_.h: Likewise.
37065         * lib/sys_time_.h: Likewise.
37066         * lib/time_.h: Likewise.
37067         * lib/unistd_.h: Likewise.
37068         * lib/wchar_.h: Likewise.
37069         * lib/wctype_.h: Likewise.
37070         * lib/dirent_.h: Likewise.
37071         * lib/iconv_.h: Likewise.
37072         * lib/locale_.h: Likewise.
37073         * lib/netinet_in_.h: Likewise.
37074         * lib/sys_select_.h: Likewise.
37075         * lib/sys_socket_.h: Likewise.
37076         * lib/sysexits_.h: Likewise.
37077         * modules/fcntl (Depends-on): Depend on include_next, not
37078         absolute_header.
37079         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
37080         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
37081         * modules/fchdir: Likewise.
37082         * modules/float: Likewise.
37083         * modules/iconv_open: Likewise.
37084         * modules/inttypes: Likewise.
37085         * modules/locale: Likewise.
37086         * modules/math: Likewise.
37087         * modules/netinet_in: Likewise.
37088         * modules/search: Likewise.
37089         * modules/signal: Likewise.
37090         * modules/stdint: Likewise.
37091         * modules/stdio: Likewise.
37092         * modules/stdlib: Likewise.
37093         * modules/string: Likewise.
37094         * modules/sys_select: Likewise.
37095         * modules/sys_socket: Likewise.
37096         * modules/sys_stat: Likewise.
37097         * modules/sys_time: Likewise.
37098         * modules/sysexits: Likewise.
37099         * modules/time: Likewise.
37100         * modules/unistd: Likewise.
37101         * modules/wchar: Likewise.
37102         * modules/wctype: Likewise.
37103         * modules/sys_stat: Change maintainer to "all".
37104         * modules/unistd: Likewise.
37105
37106 2007-06-20  Karl Berry  <karl@gnu.org>
37107
37108         * config/srclist.txt: track www changes in license files.
37109
37110 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
37111
37112         * build-aux/bootstrap: Remove stray dot.
37113         Make sure build_aux settings are honored when linking
37114         gnulib_extra_files.
37115
37116 2007-06-19  Eric Blake  <ebb9@byu.net>
37117
37118         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
37119         Allow compilation on cygwin.
37120
37121 2007-06-19  Jim Meyering  <jim@meyering.net>
37122
37123         xreadlink-with-size: Remove module.  No longer used.
37124         Ex-callers now use xreadlink or mreadlink-with-size.
37125         * modules/xreadlink-with-size: Remove module.
37126         * lib/xreadlink-with-size.c: Remove file.
37127         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
37128         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
37129         just before the function definition *is* accurate.
37130
37131         Eliminate one way canonicalize_filename_mode could exit.
37132         * lib/canonicalize.c (canonicalize_filename_mode):
37133         Use mreadlink_with_size, not xreadlink_with_size.
37134
37135 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
37136
37137         Detect porting problems to FreeBSD/arm, which has time_t wider than
37138         long int.  Original problem reported for GNU diff by Xin Li in
37139         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
37140         * modules/getdate (Depends-on): Add intprops, verify.
37141         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
37142         is an integer type no wider than long int.
37143
37144 2007-06-18  Jim Meyering  <jim@meyering.net>
37145
37146         New module: mreadlink-with-size.
37147         * MODULES.html.sh: Add mreadlink-with-size.
37148         * modules/mreadlink-with-size: New module
37149         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
37150         not xreadlink-with-size.
37151         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
37152
37153 2007-06-16  Bruno Haible  <bruno@clisp.org>
37154
37155         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
37156         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
37157         Reported by Gary V. Vaughan <gary@gnu.org>.
37158
37159 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
37160
37161         Revamp lchown so that it lives in unistd.h where it belongs.
37162         * lib/lchown.h: Remove.
37163         * lib/dirchownmod.c: Don't include lib/lchown.h.
37164         * lib/fchownat.c: Likewise.
37165         * lib/openat.c: Likewise.
37166         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
37167         does not follow symlinks.
37168         (EOPNOTSUPP): Define if not defined.
37169         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
37170         is defined to 0.
37171         (lchown): New decl.
37172         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
37173         Do not check for lchown decl.
37174         Set REPLACE_LCHOWN.
37175         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
37176         REPLACE_LCHOWN.
37177         * modules/chown: Make it clear it follows symlinks.
37178         * modules/lchown: Make it clear it doesn't follow symlinks.
37179         (Files): Remove lib/lchown.h
37180         (Depends-on): Add unistd.
37181         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
37182         (Include): Include <unistd.h>, not "lchown.h".
37183         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
37184         REPLACE_LCHOWN.
37185
37186 2007-06-15  Jim Meyering  <jim@meyering.net>
37187
37188         Change license (GPL to LGPL) of fsusage and dependents.
37189         * modules/fsusage (License): Change to LGPL.
37190         * modules/full-read (License): Likewise.
37191         * modules/full-write (License): Likewise.
37192         * modules/safe-read (License): Likewise.
37193         * modules/safe-write (License): Likewise.
37194
37195 2007-06-14  Ben Pfaff  <blp@gnu.org>
37196
37197         Missing part of allocsa -> malloca transition.
37198         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
37199         gl_MALLOCA.
37200
37201 2007-06-12  Bruno Haible  <bruno@clisp.org>
37202
37203         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
37204         to ia64, x86_64, i386.
37205         Reported by Eric Blake.
37206
37207 2007-06-12  Bruno Haible  <bruno@clisp.org>
37208
37209         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
37210         cross-compiling to x86_64.
37211
37212 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
37213
37214         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
37215         glitch reported by Ralf Wildenhues in
37216         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
37217
37218         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
37219         Vin Shelton.
37220
37221 2007-06-11  Bruno Haible  <bruno@clisp.org>
37222
37223         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
37224         replacement string.
37225         Reported by Eric Blake.
37226
37227 2007-06-10  Bruno Haible  <bruno@clisp.org>
37228
37229         Prepare vasnprintf code for use with Unicode strings.
37230         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
37231         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
37232         TYPE_U32_STRING.
37233         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
37234         a_u32_string variants.
37235         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
37236         * lib/printf-args.c: Don't include config.h and the specification
37237         header if PRINTF_FETCHARGS is already defined.
37238         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
37239         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
37240         TYPE_U16_STRING, TYPE_U32_STRING.
37241         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
37242         u16_directive, u16_directives, u32_directive, u32_directives): New
37243         types.
37244         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
37245         New declarations.
37246         * lib/printf-parse.c: Don't include config.h and the specification
37247         header if PRINTF_PARSE is already defined. Eliminate the set of
37248         parameters for WIDE_CHAR_VERSION; the user of this file must provide
37249         them now. Include c-ctype.h.
37250         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
37251         directive and CHAR_T_ONLY_ASCII.
37252         * lib/vasnprintf.c: Don't include config.h and the specification header
37253         if VASNPRINTF is already defined.
37254         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
37255         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
37256         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
37257         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
37258         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
37259         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
37260         code accordingly.
37261         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
37262         pad_ourselves also in this case, with the 'c' and 's' directives, and
37263         with a different notion of "width".
37264         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
37265
37266 2007-06-10  Bruno Haible  <bruno@clisp.org>
37267
37268         * modules/unistr/u32-mbsnlen: New file.
37269         * lib/unistr/u32-mbsnlen.c: New file.
37270
37271         * modules/unistr/u16-mbsnlen: New file.
37272         * lib/unistr/u16-mbsnlen.c: New file.
37273
37274         * modules/unistr/u8-mbsnlen: New file.
37275         * lib/unistr/u8-mbsnlen.c: New file.
37276
37277         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
37278         declarations.
37279
37280 2007-06-10  Bruno Haible  <bruno@clisp.org>
37281
37282         * lib/string_.h (mbsnlen): New declaration.
37283         * lib/mbsnlen.c: New file.
37284         * m4/mbsnlen.m4: New file.
37285         * modules/mbsnlen: New file.
37286         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
37287         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
37288         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
37289
37290 2007-06-10  Bruno Haible  <bruno@clisp.org>
37291
37292         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
37293
37294 2007-06-10  Bruno Haible  <bruno@clisp.org>
37295
37296         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
37297         * lib/mbuiter.h: Likewise.
37298
37299 2007-06-10  Bruno Haible  <bruno@clisp.org>
37300
37301         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
37302         declaration.
37303
37304 2007-06-10  Karl Berry  <karl@gnu.org>
37305
37306         * config/srclist.txt: remove gettext entries, Bruno prefers
37307         to update individually.
37308
37309 2007-06-10  Bruno Haible  <bruno@clisp.org>
37310
37311         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
37312         'maxlen'. Ensure only length + width bytes are allocated, not
37313         length + 1 + width.
37314
37315 2007-06-09  Bruno Haible  <bruno@clisp.org>
37316
37317         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
37318         (CHAR_T): Remove macro.
37319         (VASNPRINTF): Update.
37320
37321 2007-06-09  Bruno Haible  <bruno@clisp.org>
37322
37323         * MODULES.html.sh (Unicode string functions): Add the new modules.
37324
37325         * modules/uniconv/u32-conv-to-enc: New file.
37326         * lib/uniconv/u32-conv-to-enc.c: New file.
37327         * modules/uniconv/u32-conv-to-enc-tests: New file.
37328         * tests/uniconv/test-u32-conv-to-enc.c: New file.
37329
37330         * modules/uniconv/u16-conv-to-enc: New file.
37331         * lib/uniconv/u16-conv-to-enc.c: New file.
37332         * lib/uniconv/u-conv-to-enc.h: New file.
37333         * modules/uniconv/u16-conv-to-enc-tests: New file.
37334         * tests/uniconv/test-u16-conv-to-enc.c: New file.
37335
37336         * modules/uniconv/u8-conv-to-enc: New file.
37337         * lib/uniconv/u8-conv-to-enc.c: New file.
37338         * modules/uniconv/u8-conv-to-enc-tests: New file.
37339         * tests/uniconv/test-u8-conv-to-enc.c: New file.
37340
37341         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
37342         u32_conv_to_encoding): New declarations.
37343
37344 2007-06-09  Bruno Haible  <bruno@clisp.org>
37345
37346         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
37347
37348 2007-06-09  Bruno Haible  <bruno@clisp.org>
37349
37350         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
37351         * modules/malloca: Renamed from modules/allocsa, updated.
37352         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
37353         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
37354         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
37355         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
37356         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
37357         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
37358         * modules/xmalloca: Renamed from modules/xallocsa, updated.
37359         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
37360         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
37361         * modules/c-strcasestr (Depends-on): Update.
37362         * lib/c-strcasestr.c: Update.
37363         * modules/c-strstr (Depends-on): Update.
37364         * lib/c-strstr.c: Update.
37365         * modules/canonicalize-lgpl (Depends-on): Update.
37366         * lib/canonicalize-lgpl.c: Update.
37367         * modules/clean-temp (Depends-on): Update.
37368         * lib/clean-temp.c: Update.
37369         * modules/csharpcomp (Depends-on): Update.
37370         * lib/csharpcomp.c: Update.
37371         * modules/csharpexec (Depends-on): Update.
37372         * lib/csharpexec.c: Update.
37373         * modules/javacomp (Depends-on): Update.
37374         * lib/javacomp.c: Update.
37375         * modules/javaexec (Depends-on): Update.
37376         * lib/javaexec.c: Update.
37377         * modules/mbscasestr (Depends-on): Update.
37378         * lib/mbscasestr.c: Update.
37379         * modules/mbsstr (Depends-on): Update.
37380         * lib/mbsstr.c: Update.
37381         * modules/setenv (Depends-on): Update.
37382         * lib/setenv.c: Update.
37383         * modules/strcasestr (Depends-on): Update.
37384         * lib/strcasestr.c: Update.
37385         * modules/striconveha (Depends-on): Update.
37386         * lib/striconveha.c: Update.
37387         * modules/relocatable-prog-wrapper (Files): Update.
37388         * lib/relocwrapper.c: Update.
37389         * build-aux/install-reloc: Update.
37390         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
37391
37392 2007-06-08  Bruno Haible  <bruno@clisp.org>
37393
37394         Port to uClibc.
37395         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
37396         * lib/fpurge.c (fpurge): Likewise.
37397         * lib/freading.c (freading): Likewise.
37398         * lib/fseeko.c (rpl_fseeko): Likewise.
37399         * lib/fseterr.c (fseterr): Likewise.
37400         * lib/fwriting.c (fwriting): Likewise.
37401         * tests/test-fflush.c (main): Avoid a failure on uClibc.
37402
37403 2007-06-08  Bruno Haible  <bruno@clisp.org>
37404
37405         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
37406         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
37407         * modules/gettext (Files): Add m4/intlmacosx.m4.
37408
37409 2007-06-07  Bruno Haible  <bruno@clisp.org>
37410
37411         * modules/localename-tests: New file.
37412         * tests/test-localename.c: New file.
37413
37414         New module 'localename'.
37415         * lib/localename.h: New file.
37416         * lib/localename.c: New file, from GNU gettext.
37417         * m4/localename.m4: New file.
37418         * modules/localename: New file.
37419
37420 2007-06-07  Bruno Haible  <bruno@clisp.org>
37421
37422         Work around the lack of <wchar.h> on some builds of uClibc.
37423         * doc/headers/wchar.texi: Update.
37424         * lib/wchar_.h: Include <wchar.h> only if it exists.
37425         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
37426         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
37427         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
37428         doesn't exist.
37429         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
37430         * modules/mbfile (Depends-on): Add wchar.
37431         * modules/mbiter (Depends-on): Likewise.
37432         * modules/mbuiter (Depends-on): Likewise.
37433         Reported by Simon Josefsson.
37434
37435 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
37436
37437         Work around problem reported by Steven M. Schweda in
37438         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
37439         Tru64 5.1B with the Compaq compiler environment installed declares
37440         an 'isblank' function but does not define it in the C library.
37441         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
37442         * lib/regex_internal.h (isblank): Likewise.
37443         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
37444         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
37445
37446 2007-06-05  Bruno Haible  <bruno@clisp.org>
37447
37448         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
37449         ia64.
37450         * modules/printf-safe: New file.
37451         * modules/fprintf-posix (Depends-on): Add printf-safe.
37452         * modules/printf-posix (Depends-on): Likewise.
37453         * modules/snprintf-posix (Depends-on): Likewise.
37454         * modules/sprintf-posix (Depends-on): Likewise.
37455         * modules/vasnprintf-posix (Depends-on): Likewise.
37456         * modules/vasprintf-posix (Depends-on): Likewise.
37457         * modules/vfprintf-posix (Depends-on): Likewise.
37458         * modules/vprintf-posix (Depends-on): Likewise.
37459         * modules/vsnprintf-posix (Depends-on): Likewise.
37460         * modules/vsprintf-posix (Depends-on): Likewise.
37461         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
37462         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
37463         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
37464         "no" on i386, x86_64, ia64.
37465         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
37466         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
37467         on i386, x86_64, ia64.
37468         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
37469         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
37470         on i386, x86_64, ia64.
37471         * tests/test-vasnprintf-posix.c: Include float.h.
37472         (LDBL80_WORDS): New macro.
37473         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
37474         on i386, x86_64, ia64.
37475         * tests/test-vasprintf-posix.c: Include float.h.
37476         (LDBL80_WORDS): New macro.
37477         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
37478         on i386, x86_64, ia64.
37479         * tests/test-snprintf-posix.c: Include float.h.
37480         * tests/test-sprintf-posix.c: Likewise.
37481         * tests/test-vsnprintf-posix.c: Likewise.
37482         * tests/test-vsprintf-posix.c: Likewise.
37483
37484 2007-06-05  Bruno Haible  <bruno@clisp.org>
37485
37486         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
37487         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
37488         non-IEEE numbers on i386, x86_64, ia64.
37489         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
37490         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
37491         * tests/test-isnanl.h: Include float.h.
37492         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
37493
37494 2007-06-05  Bruno Haible  <bruno@clisp.org>
37495
37496         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
37497         also the %a / %A. Handle the %a / %A code before this extra handling.
37498
37499 2007-06-05  Bruno Haible  <bruno@clisp.org>
37500
37501         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
37502         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
37503
37504 2007-06-05  Bruno Haible  <bruno@clisp.org>
37505
37506         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
37507         typo in variable name.
37508
37509 2007-06-05  Eric Blake  <ebb9@byu.net>
37510
37511         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
37512         Reported by Simon Josefsson.
37513
37514 2007-06-04  Bruno Haible  <bruno@clisp.org>
37515
37516         Avoid test failures on some PowerPC platforms.
37517         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
37518         Define differently for PowerPC.
37519         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
37520         Reported by Gary V. Vaughan <gary@gnu.org>.
37521
37522 2007-06-02  Bruno Haible  <bruno@clisp.org>
37523
37524         Fix test-stdint failure on FreeBSD/ia64.
37525         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
37526         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
37527         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
37528         * doc/headers/stdint.texi: Update.
37529
37530 2007-06-01  Bruno Haible  <bruno@clisp.org>
37531
37532         * tests/test-binary-io.c (main): Pass a third argument to open().
37533         Reported by Gary V. Vaughan <gary@gnu.org>.
37534
37535 2007-06-01  Bruno Haible  <bruno@clisp.org>
37536
37537         * doc/functions/frexpl.texi: Update for mingw.
37538
37539 2007-06-01  Bruno Haible  <bruno@clisp.org>
37540
37541         * tests/test-lseek.c (main): Disable test of errno for invalid third
37542         argument.
37543         * doc/functions/lseek.texi: Update.
37544         Reported by Gary V. Vaughan <gary@gnu.org>.
37545
37546 2007-05-28  Bruno Haible  <bruno@clisp.org>
37547
37548         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
37549
37550 2007-05-31  Eric Blake  <ebb9@byu.net>
37551
37552         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
37553         cross compiling.
37554
37555 2007-05-30  Eric Blake  <ebb9@byu.net>
37556         and Bruno Haible  <bruno@clisp.org>
37557
37558         Work around mingw test failures exposed by m4-1.4.9b.
37559         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
37560         * tests/test-unistd.c: Disable uid_t and git_t tests for the
37561         moment.
37562
37563 2007-05-30  Bruno Haible  <bruno@clisp.org>
37564
37565         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
37566         assuming that they are closed. Needed on HP-UX 11.
37567
37568 2007-05-29  Bruno Haible  <bruno@clisp.org>
37569
37570         Fix a problem with #include_next.
37571         * lib/dirent_.h: Split the double-inclusion guard.
37572         * lib/fcntl_.h: Likewise.
37573         * lib/float_.h: Likewise.
37574         * lib/iconv_.h: Likewise.
37575         * lib/inttypes_.h: Likewise.
37576         * lib/locale_.h: Likewise.
37577         * lib/math_.h: Likewise.
37578         * lib/netinet_in_.h: Likewise.
37579         * lib/search_.h: Likewise.
37580         * lib/signal_.h: Likewise.
37581         * lib/stdint_.h: Likewise.
37582         * lib/stdio_.h: Likewise.
37583         * lib/stdlib_.h: Likewise.
37584         * lib/string_.h: Likewise.
37585         * lib/sys_select_.h: Likewise.
37586         * lib/sys_socket_.h: Likewise.
37587         * lib/sys_stat_.h: Likewise.
37588         * lib/sys_time_.h: Likewise.
37589         * lib/sysexits_.h: Likewise.
37590         * lib/time_.h: Likewise.
37591         * lib/unistd_.h: Likewise.
37592         * lib/wchar_.h: Likewise.
37593         * lib/wctype_.h: Likewise.
37594
37595 2007-05-29  Bruno Haible  <bruno@clisp.org>
37596
37597         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
37598         for the moment.
37599
37600 2007-05-29  Bruno Haible  <bruno@clisp.org>
37601
37602         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
37603         invocation.
37604         Reported by Eric Blake.
37605
37606 2007-05-29  Bruno Haible  <bruno@clisp.org>
37607
37608         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
37609         compiling case.
37610
37611 2007-05-29  Eric Blake  <ebb9@byu.net>
37612             Bruno Haible  <bruno@clisp.org>
37613
37614         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
37615         cross compiles.
37616
37617 2007-05-28  Eric Blake  <ebb9@byu.net>
37618
37619         * modules/closein-tests (test_closein_LDADD): Support test on
37620         cygwin with libtool.
37621
37622 2007-05-28  Bruno Haible  <bruno@clisp.org>
37623
37624         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
37625         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
37626         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
37627         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
37628         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
37629         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
37630         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
37631         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
37632         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
37633
37634 2007-05-28  Eric Blake  <ebb9@byu.net>
37635
37636         Unconditionally include <config.h> in unit tests.
37637         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
37638         * tests/test-allocsa.c, tests/test-arcfour.c,
37639         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
37640         tests/test-array_list.c, tests/test-array_oset.c,
37641         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
37642         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
37643         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
37644         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
37645         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
37646         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
37647         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
37648         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
37649         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
37650         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
37651         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
37652         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
37653         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
37654         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
37655         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
37656         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
37657         test-md5.c, test-memmem.c, test-printf-posix.c,
37658         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
37659         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
37660         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
37661         test-strcasestr.c, test-striconv.c, test-striconveh.c,
37662         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
37663         test-vasnprintf-posix2.c, test-vasnprintf.c,
37664         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
37665         test-vfprintf-posix.c, test-vprintf-posix.c,
37666         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
37667         test-xvasprintf.c: Likewise.
37668
37669 2007-05-28  Bruno Haible  <bruno@clisp.org>
37670
37671         * gnulib-tool (func_import): Remember the --with-tests command-line
37672         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
37673         Reported by Eric Blake.
37674
37675 2007-05-28  Bruno Haible  <bruno@clisp.org>
37676
37677         * modules/ftell-tests: New file.
37678         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
37679         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
37680
37681         * lib/ftell.c: New file.
37682         * modules/ftell: New file.
37683         * m4/ftell.m4: New file.
37684         * doc/functions/ftell.texi: Update.
37685         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
37686         REPLACE_FTELL.
37687         * lib/stdio_.h (rpl_ftell): New declaration.
37688         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
37689         REPLACE_FTELL.
37690
37691 2007-05-28  Eric Blake  <ebb9@byu.net>
37692
37693         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
37694
37695 2007-05-28  Bruno Haible  <bruno@clisp.org>
37696
37697         * modules/fseek-tests: New file.
37698         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
37699         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
37700
37701         * lib/fseek.c: New file.
37702         * modules/fseek: New file.
37703         * m4/fseek.m4: New file.
37704         * doc/functions/fseek.texi: Update.
37705         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
37706         REPLACE_FSEEK.
37707         * lib/stdio_.h (rpl_fseek): New declaration.
37708         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
37709         REPLACE_FSEEK.
37710
37711 2007-05-28  Bruno Haible  <bruno@clisp.org>
37712
37713         * lib/stdio_.h (fflush): More comments.
37714
37715 2007-05-28  Bruno Haible  <bruno@clisp.org>
37716
37717         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
37718         runtime test.
37719
37720 2007-05-28  Eric Blake  <ebb9@byu.net>
37721
37722         Improve lseek module.
37723         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
37724         * lib/unistd_.h (lseek): Scale back link warning message.
37725         * tests/test-lseek.c: Beef up test.
37726         * tests/test-lseek.sh: Exercise more facets of lseek.
37727         Reported by Bruno Haible.
37728
37729 2007-05-28  Bruno Haible  <bruno@clisp.org>
37730
37731         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
37732         to define.
37733
37734 2007-05-27  Bruno Haible  <bruno@clisp.org>
37735
37736         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
37737
37738 2007-05-27  Bruno Haible  <bruno@clisp.org>
37739
37740         * modules/openmp: New file.
37741         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
37742         Noah Misch.
37743
37744 2007-05-26  Bruno Haible  <bruno@clisp.org>
37745
37746         * modules/chdir-long (Depends-on): Add fchdir.
37747         * modules/chdir-safer (Depends-on): Likewise.
37748         * modules/fts (Depends-on): Likewise.
37749         * modules/fts-lgpl (Depends-on): Likewise.
37750         * modules/openat (Depends-on): Likewise.
37751         * modules/savewd (Depends-on): Likewise.
37752
37753 2007-05-24  Eric Blake  <ebb9@byu.net>
37754
37755         Fix lseek on mingw.
37756         * modules/lseek: New module.
37757         * m4/lseek.m4: New file.
37758         * lib/lseek.c: New file.
37759         * modules/lseek-tests: New file.
37760         * tests/test-lseek.c: New file.
37761         * tests/test-lseek.sh: New file.
37762         * MODULES.html.sh: Document lseek module.
37763         * modules/fflush (Depends-on): Add lseek, fseeko.
37764         * modules/fseeko (Depends-on): Likewise.
37765         * modules/ftello (Depends-on): Likewise.
37766         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
37767         broken.
37768         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
37769         broken.
37770         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
37771         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
37772         * lib/ftello.c (rpl_ftello): Likewise.
37773         * tests/test-fseeko.c (main): Test this.
37774         * tests/test-fseeko.sh: Likewise.
37775         * tests/test-ftello.c (main): Likewise.
37776         * tests/test-ftello.sh: Likewise.
37777         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
37778         implies replacing fseek.
37779         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
37780         HAVE_FTELLO.
37781         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
37782         * modules/unistd (Makefile.am): Likewise.
37783         * lib/unistd_.h (lseek): Declare a replacement.
37784         * doc/functions/lseek.texi (lseek): Document this fix.
37785         * doc/functions/fseek.texi (fseek): Likewise.
37786         * doc/functions/ftell.texi (ftell): Likewise.
37787
37788 2007-05-24  Bruno Haible  <bruno@clisp.org>
37789
37790         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
37791         in the printed representation of a NaN.
37792         * tests/test-vasprintf-posix.c (test_function): Likewise.
37793         * tests/test-snprintf-posix.h (test_function): Likewise.
37794         * tests/test-sprintf-posix.h (test_function): Likewise.
37795         Reported by Eric Blake.
37796
37797 2007-05-23  Eric Blake  <ebb9@byu.net>
37798
37799         Fix fseeko/ftello on cygwin 1.5.24.
37800         * doc/functions/fseeko.texi (fseeko): Document the fix.
37801         * doc/functions/ftello.texi (ftello): Document the fix.
37802         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
37803         * doc/functions/stdout.text (stdout): New file.
37804         * doc/functions/stderr.text (stderr): New file.
37805         * doc/gnulib.texi (Function Substitutes): Use new files.
37806         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
37807         prior to 1.7.0.
37808         * tests/test-ftello.c (main): Likewise for ftello.
37809         * tests/test-fseeko.sh: New file.
37810         * tests/test-ftello.sh: New file.
37811         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
37812         with seekable stdin.
37813         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
37814         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
37815         (gl_REPLACE_FSEEKO): New macro.
37816         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
37817         * modules/fseeko (Files): Distribute fseeko.c.
37818         * modules/ftello (Files): Distribute ftello.c.
37819         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
37820         mode.
37821         * lib/ftello.c (rpl_ftello): New file.
37822         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
37823         fseeko, ftello.
37824         (gl_STDIN_LARGE_OFFSET): New macro.
37825         * modules/stdio (Makefile.am): Perform the replacement.
37826         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
37827
37828 2007-05-23  Bruno Haible  <bruno@clisp.org>
37829
37830         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
37831         GNULIB_POSIXCHECK is defined.
37832
37833 2007-05-21  Bruno Haible  <bruno@clisp.org>
37834
37835         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
37836         Check also the output for NaN arguments. When cross-compiling, guess
37837         no on IRIX.
37838         * lib/vasnprintf.c: Update comments.
37839         * tests/test-vasnprintf-posix.c (strisnan): New function.
37840         (test_function): Use it.
37841         * tests/test-vasprintf-posix.c (strisnan): New function.
37842         (test_function): Use it.
37843         * tests/test-snprintf-posix.h (strisnan): New function.
37844         (test_function): Use it.
37845         * tests/test-sprintf-posix.h (strisnan): New function.
37846         (test_function): Use it.
37847         Reported by Eric Blake.
37848
37849 2007-05-20  Bruno Haible  <bruno@clisp.org>
37850
37851         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
37852         numbers that fails on BeOS.
37853         * doc/functions/frexpl.texi: Update.
37854
37855 2007-05-20  Jim Meyering  <jim@meyering.net>
37856
37857         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
37858         forced upon us by glibc-2.6.
37859
37860 2007-05-20  Bruno Haible  <bruno@clisp.org>
37861
37862         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
37863         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
37864         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
37865         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
37866         NEED_PRINTF_INFINITE.
37867         (is_infinitel): New function.
37868         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
37869         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
37870         gl_PREREQ_VASNPRINTF_INFINITE.
37871         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
37872         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
37873         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
37874         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
37875         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
37876         gl_PREREQ_VASNPRINTF_INFINITE.
37877         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
37878         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
37879         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
37880         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
37881         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
37882         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
37883         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
37884         * doc/functions/fprintf.texi: Update.
37885         * doc/functions/printf.texi: Update.
37886         * doc/functions/snprintf.texi: Update.
37887         * doc/functions/sprintf.texi: Update.
37888         * doc/functions/vfprintf.texi: Update.
37889         * doc/functions/vprintf.texi: Update.
37890         * doc/functions/vsnprintf.texi: Update.
37891         * doc/functions/vsprintf.texi: Update.
37892
37893 2007-05-20  Bruno Haible  <bruno@clisp.org>
37894
37895         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
37896         was not found in libc.
37897         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
37898
37899 2007-05-20  Bruno Haible  <bruno@clisp.org>
37900
37901         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
37902         printed as "-nan" instead of "nan".
37903         * tests/test-vasprintf-posix.c (test_function): Likewise.
37904         * tests/test-snprintf-posix.h (test_function): Likewise.
37905         * tests/test-sprintf-posix.h (test_function): Likewise.
37906         Needed for HP-UX 11.
37907
37908 2007-05-20  Jim Meyering  <jim@meyering.net>
37909
37910         Fix buggy test for the fchownat-deref bug.
37911         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
37912         symlink required for the run-test.  Without it, this test would
37913         always declare that fchownat doesn't work, and client code would
37914         unnecessarily use the replacement function with fixed libc.
37915         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
37916         Reported by Greg Schafer.
37917
37918 2007-05-19  Bruno Haible  <bruno@clisp.org>
37919
37920         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
37921         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
37922         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
37923         Needed for IRIX 6.5 and Solaris 2.5.1.
37924
37925 2007-05-19  Bruno Haible  <bruno@clisp.org>
37926
37927         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
37928         (test_function): Skip tests involving -0.0 on platforms where
37929         -0.0 = 0.0.
37930         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
37931         (test_function): Skip tests involving -0.0 on platforms where
37932         -0.0 = 0.0.
37933         * tests/test-snprintf-posix.h (have_minus_zero): New function.
37934         (test_function): Skip tests involving -0.0 on platforms where
37935         -0.0 = 0.0.
37936         * tests/test-sprintf-posix.h (have_minus_zero): New function.
37937         (test_function): Skip tests involving -0.0 on platforms where
37938         -0.0 = 0.0.
37939         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
37940         tests.
37941         * tests/test-printf-posix.h (test_function): Likewise.
37942         * tests/test-printf-posix.output: Remove all -0.0 related results.
37943         Needed for IRIX 6.5.
37944
37945 2007-05-19  Bruno Haible  <bruno@clisp.org>
37946
37947         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
37948         printed as "nan0x7fffffff" instead of "nan".
37949         * tests/test-vasprintf-posix.c (test_function): Likewise.
37950         * tests/test-snprintf-posix.h (test_function): Likewise.
37951         * tests/test-sprintf-posix.h (test_function): Likewise.
37952         * tests/test-fprintf-posix.h (NaN): Remove macro.
37953         (test_function): Remove all NaN related tests.
37954         * tests/test-printf-posix.h (NaN): Remove macro.
37955         (test_function): Remove all NaN related tests.
37956         * tests/test-printf-posix.output: Remove all NaN related results.
37957         Needed for IRIX 6.5.
37958
37959 2007-05-19  Bruno Haible  <bruno@clisp.org>
37960
37961         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
37962         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
37963
37964 2007-05-19  Bruno Haible  <bruno@clisp.org>
37965
37966         * lib/float_.h: New file.
37967         * m4/float_h.m4: New file.
37968         * modules/float: New file.
37969         * modules/isnanl (Dependencies): Add float.
37970         * modules/isnanl-nolibm (Dependencies): Likewise.
37971         * modules/mathl (Dependencies): Likewise.
37972         * modules/printf-frexpl (Dependencies): Likewise.
37973         * modules/signbit (Dependencies): Likewise.
37974         * modules/vasnprintf (Dependencies): Likewise.
37975         * doc/headers/float.texi: Update.
37976
37977 2007-05-19  Jim Meyering  <jim@meyering.net>
37978
37979         * lib/utimens.c (gl_futimens): Rename from futimens,
37980         now that glibc-2.6 declares futimens.
37981         * lib/utimens.h: Likewise.
37982
37983 2007-05-19  Bruno Haible  <bruno@clisp.org>
37984
37985         Avoid test failures on mingw.
37986         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
37987         * tests/test-printf-posix.sh: Likewise.
37988         * tests/test-vfprintf-posix.sh: Likewise.
37989         * tests/test-vprintf-posix.sh: Likewise.
37990
37991 2007-05-19  Bruno Haible  <bruno@clisp.org>
37992
37993         Fix *printf result for NaN, Inf, -0.0 on mingw.
37994         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
37995         * lib/vasnprintf.c: Include math.h and isnan.h.
37996         (is_infinite_or_zero): New function.
37997         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
37998         values in the %f, %F, %e, %E, %g, %G directives.
37999         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
38000         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
38001         gl_PRINTF_INFINITE and test its result. Invoke
38002         gl_PREREQ_VASNPRINTF_INFINITE.
38003         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
38004         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
38005         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
38006         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
38007         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
38008         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38009         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
38010         * doc/functions/fprintf.texi: Update.
38011         * doc/functions/printf.texi: Update.
38012         * doc/functions/snprintf.texi: Update.
38013         * doc/functions/sprintf.texi: Update.
38014         * doc/functions/vfprintf.texi: Update.
38015         * doc/functions/vprintf.texi: Update.
38016         * doc/functions/vsnprintf.texi: Update.
38017         * doc/functions/vsprintf.texi: Update.
38018
38019 2007-05-19  Bruno Haible  <bruno@clisp.org>
38020
38021         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
38022         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
38023         Instead of multiplying with 10^k, set extra_zeroes to k.
38024         (scale10_round_long_double): Remove function.
38025
38026 2007-05-18  Bruno Haible  <bruno@clisp.org>
38027
38028         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
38029         introduced on 2007-05-06.
38030
38031 2007-05-18  Bruno Haible  <bruno@clisp.org>
38032
38033         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
38034         %g directives.
38035         * tests/test-vasprintf-posix.c (test_function): Likewise.
38036         * tests/test-snprintf-posix.h (test_function): Likewise.
38037         * tests/test-sprintf-posix.h (test_function): Likewise.
38038
38039 2007-05-18  Bruno Haible  <bruno@clisp.org>
38040
38041         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
38042         (strmatch): New function.
38043         (test_function): Test the %f directive on numbers of various exponents.
38044         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
38045         (strmatch): New function.
38046         (test_function): Test the %f directive on numbers of various exponents.
38047         * tests/test-snprintf-posix.h (strmatch): New function.
38048         (test_function): Test the %f directive on numbers of various exponents.
38049         * tests/test-sprintf-posix.h (strmatch): New function.
38050         (test_function): Test the %f directive on numbers of various exponents.
38051         * tests/test-snprintf-posix.c (SIZEOF): New macro.
38052         * tests/test-sprintf-posix.c (SIZEOF): New macro.
38053         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
38054         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
38055
38056 2007-05-18  Bruno Haible  <bruno@clisp.org>
38057
38058         Add support for 'long double' number output.
38059         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
38060         * lib/vasnprintf.c: Include math.h and float+.h.
38061         (mp_limb_t): New type.
38062         (GMP_LIMB_BITS): New macro.
38063         (mp_twolimb_t): New type.
38064         (GMP_TWOLIMB_BITS): New macro.
38065         (mpn_t): New type.
38066         (multiply, divide, convert_to_decimal, decode_long_double,
38067         scale10_round_long_double, scale10_round_decimal_long_double,
38068         floorlog10l): New functions.
38069         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
38070         for the %f, %F, %e, %E, %g, %G directives.
38071         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
38072         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
38073         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
38074         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
38075         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
38076         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
38077         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
38078         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
38079         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
38080         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38081         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
38082         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
38083         * modules/snprintf-posix (Depends-on): Likewise.
38084         * modules/sprintf-posix (Depends-on): Likewise.
38085         * modules/vasnprintf-posix (Depends-on): Likewise.
38086         * modules/vasprintf-posix (Depends-on): Likewise.
38087         * modules/vfprintf-posix (Depends-on): Likewise.
38088         * modules/vsnprintf-posix (Depends-on): Likewise.
38089         * modules/vsprintf-posix (Depends-on): Likewise.
38090         * modules/vasnprintf (Files): Add lib/float+.h.
38091         * doc/functions/fprintf.texi: Update.
38092         * doc/functions/printf.texi: Update.
38093         * doc/functions/snprintf.texi: Update.
38094         * doc/functions/sprintf.texi: Update.
38095         * doc/functions/vfprintf.texi: Update.
38096         * doc/functions/vprintf.texi: Update.
38097         * doc/functions/vsnprintf.texi: Update.
38098         * doc/functions/vsprintf.texi: Update.
38099
38100 2007-05-18  Bruno Haible  <bruno@clisp.org>
38101
38102         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
38103
38104 2007-05-18  Bruno Haible  <bruno@clisp.org>
38105
38106         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
38107         for printing 64-bit integers. Needed for mingw.
38108
38109 2007-05-18  Bruno Haible  <bruno@clisp.org>
38110
38111         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
38112         gl_FUNC_FREXPL_WORKS.
38113         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
38114
38115 2007-05-18  Bruno Haible  <bruno@clisp.org>
38116
38117         * modules/frexpl-nolibm-tests: New file.
38118
38119         * modules/frexpl-nolibm: New file.
38120         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
38121
38122 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
38123
38124         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
38125         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
38126         GCC 4.2, which otherwise issues a lot of warnings.
38127         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
38128         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
38129         Likewise.
38130         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
38131         * modules/iconv_open (iconv.h): Likewise.
38132         * modules/locale (locale.h): Likewise.
38133         * modules/netinet_in (netinet/in.h): Likewise.
38134         * modules/sys_select (sys_select.h): Likewise.
38135         * modules/sys_socket (sys/socket.h): Likewise.
38136         * modules/sys_stat (sys/stat.h): Likewise.
38137         * modules/sysexits (sysexits.h): Likewise.
38138         * modules/unistd (unistd.h): Likewise.
38139
38140 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38141
38142         * modules/closein-tests (Makefile.am): Distribute
38143         `test-closein.sh'.
38144
38145 2007-05-17  Bruno Haible  <bruno@clisp.org>
38146
38147         * tests/test-printf-posix.output: Renamed from
38148         tests/test-fprintf-posix.out.
38149         * modules/fprintf-posix-tests: Update.
38150         * modules/printf-posix-tests: Update.
38151         * modules/vfprintf-posix-tests: Update.
38152         * modules/vprintf-posix-tests: Update.
38153         * tests/test-fprintf-posix.sh: Update.
38154         * tests/test-printf-posix.sh: Update.
38155         * tests/test-vfprintf-posix.sh: Update.
38156         * tests/test-vprintf-posix.sh: Update.
38157         Reported by Ralf Wildenhues.
38158
38159 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
38160
38161         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
38162         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
38163         GCC 4.2, which otherwise issues a lot of warnings.
38164         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
38165         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
38166         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
38167         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
38168         it should no longer be needed.
38169         * lib/string_.h: Likewise.
38170         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
38171         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
38172         * modules/inttypes (inttypes.h): Likewise.
38173         * modules/math (math.h): Likewise.
38174         * modules/search (search.h): Likewise.
38175         * modules/signal (signal.h): Likewise.
38176         * modules/stdint (stdint.h): Likewise.
38177         * modules/stdio (stdio.h): Likewise.
38178         * modules/stdlib (stdlib.h): Likewise.
38179         * modules/string (string.h): Likewise.
38180         * modules/sys_time (sys/time.h): Likewise.
38181         * modules/time (time.h): Likewise.
38182         * modules/wchar (wchar.h): Likewise.
38183         * modules/wctype (wtype.h): Likewise.
38184
38185 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
38186
38187         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
38188
38189 2007-05-13  Bruno Haible  <bruno@clisp.org>
38190
38191         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
38192         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
38193         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
38194         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
38195         (gl_PREREQ_STRTOK_R): Don't require it here.
38196
38197 2007-05-13  Bruno Haible  <bruno@clisp.org>
38198
38199         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
38200         when used in C++ mode.
38201
38202 2007-05-12  Bruno Haible  <bruno@clisp.org>
38203
38204         * lib/linebuffer.h: Tweak doc.
38205         * lib/linebuffer.c: Likewise.
38206
38207 2007-05-12  James Youngman  <jay@gnu.org>
38208
38209         * lib/linebuffer.c (readlinebuffer_delim): New function,
38210         like readlinebuffer, but use a caller-specified delimiter.
38211         (readlinebuffer): Just call readlinebuffer_delim with '\n'
38212         as the delimiter.
38213         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
38214
38215 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
38216
38217         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
38218         * modules/openat (Files): Remove openat-die.c.
38219         (Depends-on): Add openat-die.
38220         * modules/openat-die: New module.
38221
38222 2007-05-06  Bruno Haible  <bruno@clisp.org>
38223
38224         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
38225         Update with info about Cygwin.
38226         * doc/functions/fprintf.texi: Update.
38227         * doc/functions/printf.texi: Update.
38228         * doc/functions/snprintf.texi: Update.
38229         * doc/functions/sprintf.texi: Update.
38230         * doc/functions/vfprintf.texi: Update.
38231         * doc/functions/vprintf.texi: Update.
38232         * doc/functions/vsnprintf.texi: Update.
38233         * doc/functions/vsprintf.texi: Update.
38234         Reported by Eric Blake.
38235
38236 2007-05-06  Bruno Haible  <bruno@clisp.org>
38237
38238         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
38239         padding ourselves for the floating-point directives.
38240         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
38241         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
38242         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
38243         gl_PRINTF_FLAG_ZERO and test its result. Invoke
38244         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
38245         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
38246         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
38247         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
38248         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
38249         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
38250         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38251         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
38252         * tests/test-snprintf-posix.h (test_function): Also check the width
38253         and some flags in the %f directive.
38254         * tests/test-sprintf-posix.h (test_function): Likewise.
38255         * tests/test-vasnprintf-posix.c (test_function): Likewise.
38256         * tests/test-vasprintf-posix.c (test_function): Likewise.
38257         * doc/functions/fprintf.texi: Update.
38258         * doc/functions/printf.texi: Update.
38259         * doc/functions/snprintf.texi: Update.
38260         * doc/functions/sprintf.texi: Update.
38261         * doc/functions/vfprintf.texi: Update.
38262         * doc/functions/vprintf.texi: Update.
38263         * doc/functions/vsnprintf.texi: Update.
38264         * doc/functions/vsprintf.texi: Update.
38265
38266 2007-05-06  Bruno Haible  <bruno@clisp.org>
38267
38268         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
38269         pass the ' flag character to sprintf or snprintf.
38270         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
38271         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
38272         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
38273         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
38274         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
38275         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
38276         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
38277         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
38278         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
38279         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
38280         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38281         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
38282         * tests/test-snprintf-posix.h (test_function): Also check the grouping
38283         flag.
38284         * tests/test-sprintf-posix.h (test_function): Likewise.
38285         * tests/test-vasnprintf-posix.c (test_function): Likewise.
38286         * tests/test-vasprintf-posix.c (test_function): Likewise.
38287         * doc/functions/fprintf.texi: Update.
38288         * doc/functions/printf.texi: Update.
38289         * doc/functions/snprintf.texi: Update.
38290         * doc/functions/sprintf.texi: Update.
38291         * doc/functions/vfprintf.texi: Update.
38292         * doc/functions/vprintf.texi: Update.
38293         * doc/functions/vsnprintf.texi: Update.
38294         * doc/functions/vsprintf.texi: Update.
38295
38296 2007-05-01  Bruno Haible  <bruno@clisp.org>
38297
38298         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
38299
38300 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
38301
38302         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
38303         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
38304
38305 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
38306
38307         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
38308         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
38309         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
38310
38311 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
38312
38313         * lib/argp-help.c (struct hol_entry): New member `ord'.
38314         (HOL_ENTRY_PTRCMP): Use ord for comparison
38315         (hol_sort): Initialize ord.
38316
38317 2007-05-01  Bruno Haible  <bruno@clisp.org>
38318
38319         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
38320         Reported by Eric Blake.
38321         * doc/gnulib.texi (Function Substitutes): Update.
38322
38323 2007-05-01  Bruno Haible  <bruno@clisp.org>
38324
38325         * doc/functions.texi: Remove file, now redundant through
38326         doc/functions/*.texi.
38327
38328 2007-05-01  Bruno Haible  <bruno@clisp.org>
38329
38330         * modules/argp (Depends-on): Add sleep.
38331
38332 2007-05-01  Bruno Haible  <bruno@clisp.org>
38333
38334         * modules/sleep-tests: New file.
38335         * tests/test-sleep.c: New file.
38336
38337         * modules/sleep: New file.
38338         * lib/sleep.c: New file.
38339         * m4/sleep.m4: New file.
38340         * lib/unistd_.h (sleep): New declaration.
38341         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
38342         HAVE_SLEEP.
38343         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
38344         * doc/functions/sleep.texi: Document the sleep module.
38345
38346 2007-05-01  Bruno Haible  <bruno@clisp.org>
38347
38348         * lib/sigprocmask.h: Remove file.
38349         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
38350         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
38351         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
38352         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
38353         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
38354         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
38355         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
38356         HAVE_SIGSET_T as a shell variable.
38357         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
38358         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
38359         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
38360         (Depends-on): Add signal. Remove verify.
38361         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
38362         (Include): Mention <signal.h> instead of sigprocmask.h.
38363         * NEWS: Mention the change.
38364         * lib/fatal-signal.c: Don't include sigprocmask.h.
38365
38366 2007-05-01  Bruno Haible  <bruno@clisp.org>
38367
38368         * modules/signal: New file.
38369         * lib/signal_.h: New file.
38370         * m4/signal_h.m4: New file.
38371
38372 2007-05-01  Bruno Haible  <bruno@clisp.org>
38373
38374         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
38375         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
38376         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
38377         HAVE_WCTYPE_CTMP_BUG into wctype.h.
38378
38379 2007-05-01  Bruno Haible  <bruno@clisp.org>
38380
38381         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
38382         configure time.
38383         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
38384         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
38385         * modules/sys_stat (Makefile.am): Substitute their values into
38386         sys/stat.h.
38387
38388 2007-05-01  Bruno Haible  <bruno@clisp.org>
38389
38390         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
38391         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
38392         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
38393
38394 2007-05-01  Bruno Haible  <bruno@clisp.org>
38395
38396         * doc/header/assert.texi: Undo last change: don't mention the gnulib
38397         'assert' module here.
38398
38399 2007-05-01  Bruno Haible  <bruno@clisp.org>
38400
38401         * doc/functions/*.texi: New files.
38402         * doc/functions/google-ranking.txt: New file.
38403         * doc/gnulib.texi (Function Substitutes): New chapter.
38404         (ctime, inet_ntoa): Remove sections.
38405         * doc/ctime.texi: Remove file.
38406         * doc/inet_ntoa.texi: Remove file.
38407         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
38408         dependencies.
38409         (%.info): New rule, specifying a --reference-limit.
38410
38411 2007-05-01  Bruno Haible  <bruno@clisp.org>
38412
38413         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
38414
38415 2007-05-01  Bruno Haible  <bruno@clisp.org>
38416
38417         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
38418         the portability of 'mkdir' to mingw systems.
38419
38420 2007-05-01  Bruno Haible  <bruno@clisp.org>
38421
38422         * doc/headers/google-ranking.txt: New file.
38423
38424 2007-04-30  Eric Blake  <ebb9@byu.net>
38425
38426         Prefer fseeko to fseek.
38427         * modules/getpass (Depends-on): Add fseeko.
38428         * lib/getpass.c (getpass): Use fseeko, not fseek.
38429
38430 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
38431
38432         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
38433         assumes the sorting is stable, while most qsort implementations
38434         are not.  Use argument addresses to ensure they never compare as
38435         equal.
38436
38437         * tests/test-argp-2.sh (usage-indent test): Fix output
38438         (func_compare): Restore diff options
38439         * tests/test-argp.c: Restore #include "progname.h"
38440
38441 2007-04-29  Bruno Haible  <bruno@clisp.org>
38442
38443         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
38444         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
38445         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
38446         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38447         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
38448         (configure.ac): Define CHECK_SNPRINTF_POSIX.
38449         (TESTS, check_PROGRAMS): Add test-snprintf.
38450         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
38451         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
38452         (TESTS, check_PROGRAMS): Add test-vsnprintf.
38453         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
38454         assertions that fail on HP-UX, OSF/1, or IRIX.
38455         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
38456
38457 2007-04-29  Bruno Haible  <bruno@clisp.org>
38458
38459         * MODULES.html.sh (posix_functions): Remove 'contents'.
38460
38461 2007-04-29  Karl Berry  <karl@gnu.org>
38462
38463         * config/srclist.txt (gendocs_template_min): new entry.
38464
38465 2007-04-29  Bruno Haible  <bruno@clisp.org>
38466
38467         Work around fpurge bug on BSD systems.
38468         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
38469         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
38470         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
38471         fpurge to rpl_fpurge if the system already has this function.
38472         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
38473         the case where the system already has this function. Correct invariants
38474         on BSD systems.
38475         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
38476         BSD systems.
38477
38478 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
38479
38480         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
38481         proposed by Sven Verdoolaege.
38482
38483         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
38484         options.
38485         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
38486         (usage and help tests): Update
38487
38488 2007-04-29  Bruno Haible  <bruno@clisp.org>
38489
38490         * tests/test-fflush.c (main): Use a file of size 17, not 10.
38491         Print more information in case of failure. Disable a test on BeOS.
38492
38493 2007-04-29  Bruno Haible  <bruno@clisp.org>
38494
38495         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
38496         This helps debugging on systems on which no gdb is available.
38497
38498 2007-04-29  Bruno Haible  <bruno@clisp.org>
38499
38500         * lib/freading.h: Improve comments.
38501         * lib/fwriting.h: Likewise.
38502         * tests/test-freading.c (main): Don't check freading immediately after
38503         repositioning. Needed for glibc.
38504
38505 2007-04-29  Bruno Haible  <bruno@clisp.org>
38506
38507         * lib/freading.c (freading): Trivial simplification.
38508
38509 2007-04-28  Bruno Haible  <bruno@clisp.org>
38510
38511         * tests/test-fwriting.c (main): Also test the interaction between
38512         fflush and fwriting.
38513         * modules/fwriting-tests (Depends-on): Add fflush.
38514
38515         * tests/test-freading.c (main): Also test the interaction between
38516         fflush and freading.
38517         * modules/freading-tests (Depends-on): Add fflush.
38518
38519 2007-04-28  Bruno Haible  <bruno@clisp.org>
38520
38521         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
38522         fseeko and ftello.
38523         Suggested by Eric Blake.
38524
38525 2007-04-28  Jim Meyering  <jim@meyering.net>
38526
38527         Avoid false-negative in gl_STDINT_H's C99 conformance test.
38528         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
38529         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
38530
38531 2007-04-27  Eric Blake  <ebb9@byu.net>
38532
38533         * doc/headers/assert.texi (assert.h): Document assert module use.
38534
38535 2007-04-27  Bruno Haible  <bruno@clisp.org>
38536
38537         * doc/headers/*.texi: New files.
38538         * doc/gnulib.texi (Header File Substitutes): New chapter.
38539         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
38540         dependencies.
38541         (standards.info ,standards.html, standards.dvi): Update dependencies.
38542         (mostlyclean, clean): New targets.
38543
38544 2007-04-27  Bruno Haible  <bruno@clisp.org>
38545
38546         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
38547         * modules/sysexits (Files, Makefile.am): Update.
38548
38549         * lib/sys_socket_.h: Renamed from lib/socket_.h.
38550         * modules/sys_socket (Files, Makefile.am): Update.
38551
38552         * lib/sys_stat_.h: Renamed from lib/stat_.h.
38553         * modules/sys_stat (Files, Makefile.am): Update.
38554
38555 2007-04-27  Eric Blake  <ebb9@byu.net>
38556
38557         * lib/freading.h: Improve comments.
38558         * lib/fwriting.h: Likewise.
38559         * lib/fflush.c: Likewise.
38560
38561         Fix closein for mingw.
38562         * modules/closein-tests: Add tests for closein.
38563         * tests/test-closein.c: New file.
38564         * tests/test-closein.sh: Likewise.
38565         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
38566         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
38567
38568 2007-04-27  Bruno Haible  <bruno@clisp.org>
38569
38570         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
38571         version is < 6.
38572         * lib/math_.h [__DECC]: Likewise.
38573         * lib/stdio_.h [__DECC]: Likewise.
38574         * lib/stdlib_.h [__DECC]: Likewise.
38575         * lib/string_.h [__DECC]: Likewise.
38576         * lib/time_.h [__DECC]: Likewise.
38577         * lib/wchar_.h [__DECC]: Likewise.
38578         * lib/wctype_.h [__DECC]: Likewise.
38579
38580 2007-04-27  Bruno Haible  <bruno@clisp.org>
38581
38582         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
38583
38584 2007-04-27  Bruno Haible  <bruno@clisp.org>
38585
38586         * lib/fflush.c: Add comments.
38587         * modules/fpurge-tests (Depends-on): Add fflush.
38588         * modules/freadable-tests (Depends-on): Likewise.
38589         * modules/fwritable-tests (Depends-on): Likewise.
38590
38591 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
38592
38593         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
38594         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
38595         Report by Bruno Haible <bruno@clisp.org>.
38596
38597 2007-04-26  Eric Blake  <ebb9@byu.net>
38598
38599         Fix fflush on mingw.
38600         * modules/fflush (Depends-on): Add freading.
38601         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
38602         but unread data.
38603
38604 2007-04-26  Eric Blake  <ebb9@byu.net>
38605         and Bruno Haible  <bruno@clisp.org>
38606
38607         Implement freading and fwriting.
38608         * lib/freading.c: New file.
38609         * lib/freading.h: Likewise.
38610         * m4/freading.m4: Likewise.
38611         * modules/freading: Likewise.
38612         * modules/freading-tests: Likewise.
38613         * tests/test-freading.c: Likewise.
38614         * lib/fwriting.c: New file.
38615         * lib/fwriting.h: Likewise.
38616         * m4/fwriting.m4: Likewise.
38617         * modules/fwriting: Likewise.
38618         * modules/fwriting-tests: Likewise.
38619         * tests/test-fwriting.c: Likewise.
38620         * MODULES.html.sh (File stream based Input/Output): Mention them.
38621
38622 2007-04-26  Bruno Haible  <bruno@clisp.org>
38623
38624         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
38625         'long' when we assume it.
38626         Suggested by Eric Blake.
38627
38628 2007-04-26  Bruno Haible  <bruno@clisp.org>
38629
38630         Ensure fseeko, ftello are declared on glibc systems.
38631         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
38632         * modules/fseeko (configure.ac-early): Likewise.
38633         * modules/ftello (configure.ac-early): Likewise.
38634         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
38635         AC_FUNC_FSEEKO for this.
38636         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
38637         (gl_CHECK_FSEEKO): Remove macro.
38638
38639 2007-04-26  Bruno Haible  <bruno@clisp.org>
38640
38641         * tests/test-fflush.c (main): Also check the ftell result after
38642         fflush and fseek/fseeko.
38643         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
38644         file descriptor position cache in the stream.
38645         * lib/fseeko.c (rpl_fseeko): Likewise.
38646
38647 2007-04-26  Bruno Haible  <bruno@clisp.org>
38648
38649         * modules/fflush-tests (Depends-on): Add fseeko.
38650
38651 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
38652             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38653
38654         * lib/argz_.h: ensure error_t definition is obtained in same
38655         mechanism system argz.h would have.
38656         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
38657         argz facilities are known bad.  Err on the side of caution if
38658         cross-compiling.
38659
38660 2007-04-25  Eric Blake  <ebb9@byu.net>
38661
38662         * lib/fpurge.c (includes): Use stdlib.h for free.
38663         * tests/test-fflush.c (main): Also test fflush-fseeko.
38664
38665 2007-04-25  Bruno Haible  <bruno@clisp.org>
38666
38667         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
38668         * lib/fseeko.c: New file.
38669         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
38670         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
38671         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
38672         gl_FUNC_FSEEKO.
38673         (gl_FUNC_FSEEKO): Invoke it.
38674         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
38675         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
38676         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
38677
38678 2007-04-25  Bruno Haible  <bruno@clisp.org>
38679
38680         * modules/fflush (Depends-on): Add ftello.
38681
38682 2007-04-25  Bruno Haible  <bruno@clisp.org>
38683
38684         * modules/ftello-tests: New file.
38685         * tests/test-ftello.c: New file.
38686
38687         * modules/ftello: New file.
38688         * m4/ftello.m4: New file.
38689         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
38690         HAVE_FTELLO.
38691         * lib/stdio_.h (ftello): New declaration.
38692         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
38693         HAVE_FTELLO.
38694
38695 2007-04-25  Bruno Haible  <bruno@clisp.org>
38696
38697         * modules/fseeko-tests: New file.
38698         * tests/test-fseeko.c: New file.
38699
38700         * modules/fseeko: New file.
38701         * m4/fseeko.m4: New file.
38702         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
38703         HAVE_FSEEKO.
38704         * lib/stdio_.h (fseeko): New declaration.
38705         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
38706         HAVE_FSEEKO.
38707
38708 2007-04-25  Bruno Haible  <bruno@clisp.org>
38709
38710         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
38711
38712 2007-04-25  Bruno Haible  <bruno@clisp.org>
38713
38714         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
38715         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
38716         * tests/test-unistd.c: Likewise.
38717         * tests/test-fcntl.c: Likewise.
38718
38719 2007-04-23  Eric Blake  <ebb9@byu.net>
38720
38721         * lib/fflush.c: Fix missing include.
38722         Reported by Bruno Haible.
38723
38724 2007-04-23  Bruno Haible  <bruno@clisp.org>
38725
38726         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
38727         Reported by Eric Blake.
38728
38729 2007-04-23  Bruno Haible  <bruno@clisp.org>
38730
38731         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
38732
38733 2007-04-23  Bruno Haible  <bruno@clisp.org>
38734
38735         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
38736
38737 2007-04-23  Bruno Haible  <bruno@clisp.org>
38738
38739         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
38740         Needed on HP-UX 11.
38741
38742 2007-04-16  Eric Blake  <ebb9@byu.net>
38743
38744         Make fflush rely on fpurge.
38745         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
38746         open coding all variants.
38747         * modules/fflush (Depends-on): Add fpurge and unistd.
38748         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
38749         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
38750
38751         Fix --with-tests compilation on cygwin.
38752         * modules/argmatch-tests (Makefile.am): List gnulib library first
38753         in LDADD.
38754         * modules/argp-tests (Makefile.am): Likewise.
38755         * modules/array-list-tests (Makefile.am): Likewise.
38756         * modules/array-oset-tests (Makefile.am): Likewise.
38757         * modules/avltree-list-tests (Makefile.am): Likewise.
38758         * modules/avltree-oset-tests (Makefile.am): Likewise.
38759         * modules/avltreehash-list-tests (Makefile.am): Likewise.
38760         * modules/carray-list-tests (Makefile.am): Likewise.
38761         * modules/dirname-tests (Makefile.am): Likewise.
38762         * modules/frexp-tests (Makefile.am): Likewise.
38763         * modules/isnanl-tests (Makefile.am): Likewise.
38764         * modules/linked-list-tests (Makefile.am): Likewise.
38765         * modules/linkedhash-list-tests (Makefile.am): Likewise.
38766         * modules/lock-tests (Makefile.am): Likewise.
38767         * modules/rbtree-list-tests (Makefile.am): Likewise.
38768         * modules/rbtree-oset-tests (Makefile.am): Likewise.
38769         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
38770         * modules/tls-tests (Makefile.am): Likewise.
38771         * modules/tsearch-tests (Makefile.am): Likewise.
38772         * modules/xvasprintf-tests (Makefile.am): Likewise.
38773
38774         Fix fpurge for cygwin.
38775         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
38776         value.
38777         * modules/fpurge-tests (Depends-on): Clean up trash.
38778
38779 2007-04-16  Simon Josefsson  <simon@josefsson.org>
38780
38781         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
38782
38783         * m4/autobuild.m4: Re-indent.
38784
38785 2007-04-13  Bruno Haible  <bruno@clisp.org>
38786
38787         * modules/fpurge-tests: New file.
38788         * tests/test-fpurge.c: New file.
38789
38790         * modules/fpurge: New file.
38791         * lib/fpurge.h: New file.
38792         * lib/fpurge.c: New file.
38793         * m4/fpurge.m4: New file.
38794
38795 2007-04-13  Bruno Haible  <bruno@clisp.org>
38796
38797         * modules/fbufmode-tests: New file.
38798         * tests/test-fbufmode.c: New file.
38799
38800         * modules/fbufmode: New file.
38801         * lib/fbufmode.h: New file.
38802         * lib/fbufmode.c: New file.
38803         * m4/fbufmode.m4: New file.
38804
38805 2007-04-13  Bruno Haible  <bruno@clisp.org>
38806
38807         * modules/fwritable-tests: New file.
38808         * tests/test-fwritable.c: New file.
38809
38810         * modules/fwritable: New file.
38811         * lib/fwritable.h: New file.
38812         * lib/fwritable.c: New file.
38813         * m4/fwritable.m4: New file.
38814
38815 2007-04-13  Bruno Haible  <bruno@clisp.org>
38816
38817         * modules/freadable-tests: New file.
38818         * tests/test-freadable.c: New file.
38819
38820         * modules/freadable: New file.
38821         * lib/freadable.h: New file.
38822         * lib/freadable.c: New file.
38823         * m4/freadable.m4: New file.
38824
38825 2007-04-13  Bruno Haible  <bruno@clisp.org>
38826
38827         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
38828         MOSTLYCLEANFILES.
38829
38830 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
38831
38832         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
38833         gzip bootstrap.conf to avoid dragging in i18n machinery.
38834         (gnulib_tool_option): Use it.
38835
38836 2007-04-13  Bruno Haible  <bruno@clisp.org>
38837
38838         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
38839         %F directives.
38840         * tests/test-vasprintf-posix.c (test_function): Likewise.
38841         * tests/test-snprintf-posix.h (test_function): Likewise.
38842         * tests/test-sprintf-posix.h (test_function): Likewise.
38843         * tests/test-fprintf-posix.h (test_function): Likewise.
38844         * tests/test-printf-posix.h (test_function): Likewise.
38845         * tests/test-fprintf-posix.out: Likewise.
38846
38847 2007-04-13  Bruno Haible  <bruno@clisp.org>
38848
38849         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
38850         * modules/tls-tests (configure.ac): Likewise.
38851         Reported by Arto C. Nirkko <anirkko@insel.ch>.
38852
38853 2007-04-13  Bruno Haible  <bruno@clisp.org>
38854
38855         * lib/tls.c (glthread_tls_get): Fix return type.
38856         Patch by Arto C. Nirkko <anirkko@insel.ch>.
38857
38858 2007-04-12  Eric Blake  <ebb9@byu.net>
38859
38860         * modules/gettime (Depends-on): Remove gettime.
38861         Reported by Dmitry V. Levin.
38862
38863 2007-04-12  Bruno Haible  <bruno@clisp.org>
38864
38865         * modules/fflush (Include): Mention <stdio.h>.
38866         * modules/strtoimax (Include): Mention <inttypes.h>.
38867         * modules/strtoumax (Include): Likewise.
38868
38869 2007-04-12  Eric Blake  <ebb9@byu.net>
38870
38871         * .cvsignore: New file.
38872         * .gitignore: Likewise.
38873
38874 2007-04-12  Bruno Haible  <bruno@clisp.org>
38875
38876         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
38877         not before, since $(LDADD) often contains libgnu.a.
38878         * modules/striconv-tests (test_striconv_LDADD): Likewise.
38879         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
38880         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
38881         Needed on Cygwin.
38882
38883 2007-04-12  Eric Blake  <ebb9@byu.net>
38884
38885         Work around glibc's failure to flush stdin on fclose.
38886         * lib/closein.c (close_stdin): Flush stdin before closing.
38887
38888         Work around glibc's failure to reset seekable stdin on exit.
38889         * modules/closein: New module.
38890         * lib/closein.c: New file.
38891         * lib/closein.h: Likewise.
38892         * m4/closein.m4: Likewise.
38893         * MODULES.html.sh (File stream based Input/Output): Document it.
38894
38895 2007-04-12  Simon Josefsson  <simon@josefsson.org>
38896
38897         * gnulib-tool: Rename generated 'autobuild' script to
38898         'do-autobuild' in --create-megatestdir output.
38899
38900         * doc/gnulib.texi (Build robot for gnulib): Fix.
38901
38902 2007-04-12  Simon Josefsson  <simon@josefsson.org>
38903
38904         * modules/sysexits (Depends-on): Add absolute-header.
38905
38906 2007-04-12  Eric Blake  <ebb9@byu.net>
38907
38908         No need to preserve errno on success.
38909         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
38910         Reported by Bruno Haible.
38911
38912 2007-04-12  Simon Josefsson  <simon@josefsson.org>
38913
38914         * MODULES.html.sh (Support for maintaining and releasing
38915         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
38916
38917 2007-04-12  Simon Josefsson  <simon@josefsson.org>
38918
38919         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
38920
38921 2007-04-12  Simon Josefsson  <simon@josefsson.org>
38922
38923         * modules/autobuild: New module.
38924
38925         * m4/autobuild.m4: New file.
38926
38927 2007-04-11  Bruno Haible  <bruno@clisp.org>
38928
38929         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
38930         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
38931         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
38932         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
38933         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
38934         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
38935         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
38936         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
38937         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
38938         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
38939         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
38940         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
38941         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
38942         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
38943         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
38944         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
38945         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
38946         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
38947         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
38948         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
38949         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
38950         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
38951         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
38952         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
38953         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
38954         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
38955         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
38956         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
38957         Reported by Eric Blake.
38958
38959 2007-04-11  Bruno Haible  <bruno@clisp.org>
38960
38961         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
38962
38963 2007-04-10  Bruno Haible  <bruno@clisp.org>
38964
38965         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
38966         for NaN and Infinity. Needed on FreeBSD 6.1.
38967         * tests/test-vasnprintf-posix.c (test_function): Undo last change
38968         regarding results for "%010a" of Infinity and NaN.
38969         * tests/test-vasprintf-posix.c (test_function): Likewise.
38970         * tests/test-snprintf-posix.h (test_function): Likewise.
38971         * tests/test-sprintf-posix.h (test_function): Likewise.
38972         * tests/test-fprintf-posix.h (test_function): Likewise.
38973         * tests/test-printf-posix.h (test_function): Likewise.
38974         * tests/test-fprintf-posix.out: Likewise.
38975
38976 2007-04-10  Bruno Haible  <bruno@clisp.org>
38977
38978         * modules/locale-tests: New file.
38979         * tests/test-locale.c: New file.
38980
38981         * modules/locale: New file.
38982         * lib/locale_.h: New file.
38983         * m4/locale_h.m4: New file.
38984
38985 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
38986             Bruno Haible  <bruno@clisp.org>
38987
38988         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
38989         be determined, test for availability of the copysignf, copysign,
38990         copysignl functions.
38991         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
38992         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
38993         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
38994
38995 2007-04-09  Eric Blake  <ebb9@byu.net>
38996
38997         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
38998         * modules/stdio (Makefile.am): Support fflush.
38999         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
39000         * modules/fflush: New file.
39001         * lib/fflush.c: Likewise.
39002         * m4/fflush.m4: Likewise.
39003         * modules/fflush-tests: New test.
39004         * tests/test-fflush.c: Likewise.
39005         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
39006
39007 2007-04-06  Bruno Haible  <bruno@clisp.org>
39008
39009         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
39010         (VASNPRINTF): Use signbit for faster determination whether to print a
39011         minus sign.
39012         * modules/vasnprintf (Files): Remove lib/float+.h.
39013         * modules/fprintf-posix (Depends-on): Add signbit.
39014         * modules/snprintf-posix (Depends-on): Likewise.
39015         * modules/sprintf-posix (Depends-on): Likewise.
39016         * modules/vasnprintf-posix (Depends-on): Likewise.
39017         * modules/vasprintf-posix (Depends-on): Likewise.
39018         * modules/vfprintf-posix (Depends-on): Likewise.
39019         * modules/vsnprintf-posix (Depends-on): Likewise.
39020         * modules/vsprintf-posix (Depends-on): Likewise.
39021
39022 2007-04-06  Bruno Haible  <bruno@clisp.org>
39023
39024         * tests/test-frexp.c (main): Test also the sign bit of zero results.
39025         * tests/test-frexpl.c (main): Likewise.
39026         * tests/test-ldexpl.c (main): Likewise.
39027         * modules/frexp-tests (Depends-on): Add signbit.
39028         * modules/frexpl-tests (Depdends-on): Likewise.
39029         * modules/ldexpl-tests (Depdends-on): Likewise.
39030
39031 2007-04-06  Bruno Haible  <bruno@clisp.org>
39032
39033         * modules/signbit-tests: New file.
39034         * tests/test-signbit.c: New file.
39035
39036         * modules/signbit: New file.
39037         * lib/signbitf.c: New file.
39038         * lib/signbitd.c: New file.
39039         * lib/signbitl.c: New file.
39040         * m4/signbit.m4: New file.
39041         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
39042         (signbit): New macro.
39043         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
39044         REPLACE_SIGNBIT.
39045         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
39046         REPLACE_FREXPL into math.h.
39047
39048 2007-04-06  Bruno Haible  <bruno@clisp.org>
39049
39050         * modules/isnanf-nolibm-tests: New file.
39051         * tests/test-isnanf.c: New file.
39052
39053         * modules/isnanf-nolibm: New file.
39054         * lib/isnanf.h: New file.
39055         * lib/isnanf.c: New file.
39056         * lib/isnan.c: Consider the USE_FLOAT macro.
39057         * m4/isnanf.m4: New file.
39058
39059 2007-04-06  Bruno Haible  <bruno@clisp.org>
39060
39061         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
39062         (Link): New section.
39063
39064         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
39065
39066 2007-04-06  Bruno Haible  <bruno@clisp.org>
39067
39068         Assume the 'long double' type.
39069         * m4/longdouble.m4: Remove file.
39070         * config/srclist.txt: Don't mention longdouble.m4.
39071         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
39072         * lib/float+.h: Likewise.
39073         * lib/frexp.c: Likewise.
39074         * lib/printf-args.h: Likewise.
39075         * lib/printf-args.c: Likewise.
39076         * lib/printf-frexp.c: Likewise.
39077         * lib/printf-parse.c: Likewise.
39078         * lib/vasnprintf.c: Likewise.
39079         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
39080         * m4/intl.m4: Likewise.
39081         * m4/isnanl.m4: Likewise.
39082         * m4/printf.m4: Likewise.
39083         * m4/printf-frexpl.m4: Likewise.
39084         * m4/vasnprintf.m4: Likewise.
39085         * modules/allocsa (Files): Remove m4/longdouble.m4.
39086         * modules/gettext (Files): Likewise.
39087         * modules/relocatable-prog-wrapper (Files): Likewise.
39088         * modules/vasnprintf (Files): Likewise.
39089         * modules/isnanl (Files): Likewise.
39090         (Include): Simplify.
39091         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
39092         (Include): Simplify.
39093         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
39094         (Include): Simplify.
39095         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
39096         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
39097         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
39098         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
39099         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
39100         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
39101         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
39102         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
39103         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
39104         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
39105         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
39106         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
39107         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
39108         * tests/test-isnanl.c: Likewise.
39109         * tests/test-snprintf-posix.h: Likewise.
39110         * tests/test-sprintf-posix.h: Likewise.
39111         * tests/test-vasnprintf-posix.c: Likewise.
39112         * tests/test-vasnprintf-posix2.c: Likewise.
39113         * tests/test-vasprintf-posix.c: Likewise.
39114
39115 2007-04-06  Bruno Haible  <bruno@clisp.org>
39116
39117         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
39118         * lib/math_.h [__DECC]: Include the overridden include file through
39119         #include_next, outside the double-inclusion guard.
39120         * lib/stdio_.h [__DECC]: Likewise.
39121         * lib/stdlib_.h [__DECC]: Likewise.
39122         * lib/string_.h [__DECC]: Likewise.
39123         * lib/time_.h [__DECC]: Likewise.
39124         * lib/wchar_.h [__DECC]: Likewise.
39125         * lib/wctype_.h [__DECC]: Likewise.
39126         * lib/inttypes_.h [__DECC]: Likewise.
39127         Reported by Albert Chin <china@thewrittenword.com> in
39128         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
39129
39130 2007-04-04  Eric Blake  <ebb9@byu.net>
39131
39132         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
39133         1.5.x.
39134
39135 2007-04-04  Bruno Haible  <bruno@clisp.org>
39136
39137         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
39138         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
39139
39140 2007-04-04  Bruno Haible  <bruno@clisp.org>
39141
39142         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
39143         results for "%010a" of Infinity and NaN.
39144         * tests/test-vasprintf-posix.c (test_function): Likewise.
39145         * tests/test-snprintf-posix.h (test_function): Likewise.
39146         * tests/test-sprintf-posix.h (test_function): Likewise.
39147         * tests/test-fprintf-posix.h (test_function): Remove these tests.
39148         * tests/test-printf-posix.h (test_function): Likewise.
39149         * tests/test-fprintf-posix.out: Update.
39150         Needed for FreeBSD 6.1.
39151
39152 2007-04-04  Bruno Haible  <bruno@clisp.org>
39153
39154         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
39155         directly used by the gnulib modules nor by gnulib-tool.
39156
39157 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
39158
39159         * DEPENDENCIES: Give overall description of version dependency
39160         desirability.  Use more-typical names for apps.
39161         Add shell, coreutils, diffutils, grep, tar, gzip.
39162
39163 2007-04-04  Simon Josefsson  <simon@josefsson.org>
39164
39165         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
39166
39167 2007-04-04  Karl Berry  <karl@gnu.org>
39168
39169         * MODULES.html.sh (func_module): missing '.
39170
39171 2007-04-03  Bruno Haible  <bruno@clisp.org>
39172
39173         * modules/argmatch-tests (Makefile.am): New variable
39174         test_argmatch_LDADD.
39175         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
39176         * modules/array-list-tests (Makefile.am): New variable
39177         test_array_list_LDADD.
39178         * modules/array-oset-tests (Makefile.am): New variable
39179         test_array_oset_LDADD.
39180         * modules/avltree-list-tests (Makefile.am): New variable
39181         test_avltree_list_LDADD.
39182         * modules/avltree-oset-tests (Makefile.am): New variable
39183         test_avltree_oset_LDADD.
39184         * modules/avltreehash-list-tests (Makefile.am): New variable
39185         test_avltreehash_list_LDADD.
39186         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
39187         test_canonicalize_lgpl_LDADD.
39188         * modules/carray-list-tests (Makefile.am): New variable
39189         test_carray_list_LDADD.
39190         * modules/dirname-tests (Makefile.am): New variable
39191         test_dirname_LDADD.
39192         * modules/linked-list-tests (Makefile.am): New variable
39193         test_linked_list_LDADD.
39194         * modules/linkedhash-list-tests (Makefile.am): New variable
39195         test_linkedhash_list_LDADD.
39196         * modules/rbtree-list-tests (Makefile.am): New variable
39197         test_rbtree_list_LDADD.
39198         * modules/rbtree-oset-tests (Makefile.am): New variable
39199         test_rbtree_oset_LDADD.
39200         * modules/rbtreehash-list-tests (Makefile.am): New variable
39201         test_rbtreehash_list_LDADD.
39202         * modules/xvasprintf-tests (Makefile.am): New variable
39203         test_xvasprintf_LDADD.
39204         Reported by Eric Blake.
39205
39206 2007-04-03  Eric Blake  <ebb9@byu.net>
39207
39208         * DEPENDENCIES: Weaken m4 requirements.
39209
39210 2007-04-03  Bruno Haible  <bruno@clisp.org>
39211
39212         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
39213         * modules/isnanl-tests (configure.ac): Likewise.
39214
39215 2007-04-03  Ben Pfaff  <blp@gnu.org>
39216
39217         * modules/iconv_open: Add $(srcdir)/ to source directory
39218         references in Makefile fragments that call gperf, to fix VPATH
39219         builds.
39220
39221 2007-04-03  Bruno Haible  <bruno@clisp.org>
39222
39223         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
39224         * lib/ldexpl.c: Undo last change.
39225
39226 2007-04-03  Bruno Haible  <bruno@clisp.org>
39227
39228         * modules/printf-frexpl (Depends-on): Undo last change.
39229         (Files): Add m4/ldexpl.m4.
39230
39231 2007-04-03  Bruno Haible  <bruno@clisp.org>
39232
39233         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
39234         * modules/isnanl (Link): New section.
39235
39236         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
39237         * modules/frexp (Link): New section.
39238
39239         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
39240         * modules/frexpl (Link): New section.
39241
39242         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
39243         * modules/ldexpl (Link): New section.
39244
39245 2007-04-03  Bruno Haible  <bruno@clisp.org>
39246
39247         * modules/TEMPLATE-EXTENDED: New file.
39248         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
39249
39250 2007-04-03  Bruno Haible  <bruno@clisp.org>
39251
39252         * DEPENDENCIES: New file.
39253         Suggested by Simon Josefsson.
39254
39255 2007-04-03  Bruno Haible  <bruno@clisp.org>
39256
39257         * doc/gnulib.texi: Escape @.
39258
39259 2007-04-03  James Youngman  <jay@gnu.org>
39260         and Paul Eggert  <eggert@cs.ucla.edu>
39261
39262         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
39263         birthtime on all systems that have birthtime, not just those which
39264         use st_birthtimensec rather than st_birthtim.  Putting zero in
39265         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
39266         that the birth time is not available for files on an NFS mount.
39267
39268 2007-04-03  Simon Josefsson  <simon@josefsson.org>
39269
39270         * modules/memxor: Move back from crypto/, suggested by Bruno.
39271         * modules/crypto/hmac-sha1: Fix memxor dependency.
39272
39273         * modules/crypto/gc: Moved from ../.
39274
39275 2007-04-02  Eric Blake  <ebb9@byu.net>
39276
39277         * lib/ldexpl.c (includes): Avoid libm.
39278
39279         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
39280
39281 2007-04-02  Bruno Haible  <bruno@clisp.org>
39282
39283         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
39284         on IRIX.
39285
39286 2007-04-02  Bruno Haible  <bruno@clisp.org>
39287
39288         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
39289         x86 or x86_64 platforms running MacOS X.
39290         Reported by Ryan Schmidt <@ryandesign.com>.
39291
39292 2007-04-02  Bruno Haible  <bruno@clisp.org>
39293
39294         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
39295         i386.
39296
39297 2007-04-01  Simon Josefsson  <simon@josefsson.org>
39298
39299         * modules/crypto/arcfour: Moved from ../.
39300         * modules/crypto/arcfour-tests: Moved from ../.
39301         * modules/crypto/arctwo: Moved from ../.
39302         * modules/crypto/arctwo-tests: Moved from ../.
39303         * modules/crypto/des: Moved from ../.
39304         * modules/crypto/des-tests: Moved from ../.
39305         * modules/crypto/gc-arcfour: Moved from ../.
39306         * modules/crypto/gc-arcfour-tests: Moved from ../.
39307         * modules/crypto/gc-arctwo: Moved from ../.
39308         * modules/crypto/gc-arctwo-tests: Moved from ../.
39309         * modules/crypto/gc-des: Moved from ../.
39310         * modules/crypto/gc-des-tests: Moved from ../.
39311         * modules/crypto/gc-hmac-md5: Moved from ../.
39312         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
39313         * modules/crypto/gc-hmac-sha1: Moved from ../.
39314         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
39315         * modules/crypto/gc-md2: Moved from ../.
39316         * modules/crypto/gc-md2-tests: Moved from ../.
39317         * modules/crypto/gc-md4: Moved from ../.
39318         * modules/crypto/gc-md4-tests: Moved from ../.
39319         * modules/crypto/gc-md5: Moved from ../.
39320         * modules/crypto/gc-md5-tests: Moved from ../.
39321         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
39322         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
39323         * modules/crypto/gc-random: Moved from ../.
39324         * modules/crypto/gc-rijndael: Moved from ../.
39325         * modules/crypto/gc-rijndael-tests: Moved from ../.
39326         * modules/crypto/gc-sha1: Moved from ../.
39327         * modules/crypto/gc-sha1-tests: Moved from ../.
39328         * modules/crypto/gc-tests: Moved from ../.
39329         * modules/crypto/hmac-md5: Moved from ../.
39330         * modules/crypto/hmac-md5-tests: Moved from ../.
39331         * modules/crypto/hmac-sha1: Moved from ../.
39332         * modules/crypto/hmac-sha1-tests: Moved from ../.
39333         * modules/crypto/md2: Moved from ../.
39334         * modules/crypto/md2-tests: Moved from ../.
39335         * modules/crypto/md4: Moved from ../.
39336         * modules/crypto/md4-tests: Moved from ../.
39337         * modules/crypto/md5: Moved from ../.
39338         * modules/crypto/md5-tests: Moved from ../.
39339         * modules/crypto/memxor: Moved from ../.
39340         * modules/crypto/rijndael: Moved from ../.
39341         * modules/crypto/rijndael-tests: Moved from ../.
39342         * modules/crypto/sha1: Moved from ../.
39343
39344 2007-03-30  James Youngman  <jay@gnu.org>
39345
39346         * tests/test-stat-time.c (prepare_test): use chmod() rather than
39347         rename() to change the ctime of a file (because ctime is unaffected
39348         by rename on jfs2 on AIX 5.1).
39349         (main): Start by doing cleanup, in case a previous run failed leaving
39350         test files behind.
39351
39352 2007-03-31  Bruno Haible  <bruno@clisp.org>
39353
39354         Support old proprietary implementations of iconv.
39355         * modules/iconv_open: New file.
39356         * lib/iconv_.h: New file.
39357         * m4/iconv_h.m4: New file.
39358         * lib/iconv_open.c: New file.
39359         * lib/iconv_open-aix.gperf: New file.
39360         * lib/iconv_open-hpux.gperf: New file.
39361         * lib/iconv_open-irix.gperf: New file.
39362         * lib/iconv_open-osf.gperf: New file.
39363         * m4/iconv_open.m4: New file.
39364         * modules/linebreak (Depends-on): Add iconv_open.
39365         * modules/striconv (Depends-on): Likewise.
39366         * modules/striconveh (Depends-on): Likewise.
39367         * modules/unicodeio (Depends-on): Likewise.
39368         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
39369         (iconv_t)(-1).
39370         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
39371         conversion if cd is (iconv_t)(-1).
39372         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
39373         is not possible.
39374
39375 2007-03-31  Bruno Haible  <bruno@clisp.org>
39376
39377         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
39378         work on Solaris either. Protect also second use of "autodetect_jp".
39379
39380 2007-03-31  Bruno Haible  <bruno@clisp.org>
39381
39382         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
39383         the function is not present.
39384
39385 2007-03-31  Bruno Haible  <bruno@clisp.org>
39386
39387         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
39388         the function is not present.
39389
39390 2007-03-31  Bruno Haible  <bruno@clisp.org>
39391
39392         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
39393         a bug in HP-UX iconv_open().
39394
39395 2007-03-31  Bruno Haible  <bruno@clisp.org>
39396
39397         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
39398         (Mathematics <math.h>): New section, add fpieee.
39399         (Input/output <stdio.h>): Add fseterr.
39400         (Mathematics <math.h>): New section, add printf-frexp.
39401         (Container data structures): Add sublist.
39402         (Core language properties): Add fpucw, inline.
39403         (Functions for greatest-width integer types <inttypes.h>): Add
39404         imaxabs, imaxdiv, inttypes.
39405         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
39406         isnanl-nolibm, ldexp.
39407         (Mathematics <math.h>): New section, add printf-frexpl.
39408         (Support for systems lacking POSIX:2001): Add fprintf-posix,
39409         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
39410         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
39411         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
39412         (Unicode string functions): Add unistr/u*-mbtoucr.
39413         (Java): Add javacomp-script, javaexec-script.
39414         (C#): Add csharpcomp-script, csharpexec-script.
39415         (Support for building libraries and executables): Add havelib,
39416         relocatable-*.
39417         (Support for maintaining and releasing projects): Renamed from
39418         'Support for maintaining and release projects'. Add announce-gen.
39419
39420 2007-03-31  Bruno Haible  <bruno@clisp.org>
39421
39422         * README: Talk primarily about git.
39423         (git and CVS): Renamed from CVS.
39424         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
39425         gnulib is available through git.
39426         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
39427
39428 2007-03-30  Bruno Haible  <bruno@clisp.org>
39429
39430         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
39431         * lib/poll_.h: Likewise.
39432         * lib/stat_.h: Likewise.
39433         * lib/sys_time_.h: Likewise.
39434         * lib/sysexit_.h: Likewise.
39435         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
39436         * lib/stdbool_.h: Likewise.
39437         * lib/byteswap_.h: Add double-inclusion guard.
39438
39439 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
39440
39441         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
39442
39443 2007-03-30  Karl Berry  <karl@gnu.org>
39444
39445         * config/srclist-update: double space after USA in the license
39446         substitution, since that's how it's usually (?) written.
39447
39448 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
39449
39450         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
39451         reported by Bruno Haible.
39452
39453 2007-03-29  Bruno Haible  <bruno@clisp.org>
39454
39455         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
39456         a bug in AIX iconv().
39457
39458 2007-03-29  Bruno Haible  <bruno@clisp.org>
39459
39460         * modules/ldexpl-tests: New file.
39461         * tests/test-ldexpl.c: New file.
39462
39463 2007-03-29  Bruno Haible  <bruno@clisp.org>
39464
39465         * lib/ldexpl.c: Include fpucw.h.
39466         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
39467         multiplication.
39468         * modules/ldexpl (Depends-on): Add fpucw.
39469
39470 2007-03-29  Bruno Haible  <bruno@clisp.org>
39471
39472         * modules/ldexpl: New file.
39473         * m4/ldexpl.m4: New file.
39474         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
39475         set.
39476         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
39477         REPLACE_LDEXPL.
39478         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
39479         REPLACE_LDEXPL.
39480         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
39481         gl_FUNC_LDEXPL_WORKS.
39482         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
39483         * modules/mathl (Files): Remove lib/ldexpl.c.
39484         (Depends-on): Add ldexpl.
39485
39486 2007-03-29  Bruno Haible  <bruno@clisp.org>
39487
39488         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
39489
39490 2007-03-29  Bruno Haible  <bruno@clisp.org>
39491
39492         * tests/test-striconveh.c (main): Don't assume that a direct conversion
39493         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
39494         and possibly also HP-UX.
39495         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
39496         work on AIX, IRIX, HP-UX, OSF/1.
39497         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
39498         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
39499         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
39500         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
39501         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
39502         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
39503
39504 2007-03-29  Bruno Haible  <bruno@clisp.org>
39505
39506         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
39507
39508 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
39509
39510         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
39511         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
39512
39513 2007-03-29  Eric Blake  <ebb9@byu.net>
39514
39515         * lib/acl-internal.h: Remove redundant include.
39516         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
39517         Cygwin when a file is locked.
39518
39519 2007-03-29  Bruno Haible  <bruno@clisp.org>
39520
39521         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
39522         file.
39523         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
39524
39525 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
39526
39527         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
39528         try to remove a parent directory if the child couldn't be removed
39529         (except for the first rmdir, which could fail because the child
39530         doesn't exist).  Problem reported by Jeff Blaine in
39531         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
39532
39533 2007-03-28  Bruno Haible  <bruno@clisp.org>
39534
39535         * lib/striconveh.c (utf8conv_carefully): New function.
39536         (mem_cd_iconveh_internal): Invoke it.
39537
39538 2007-03-28  Bruno Haible  <bruno@clisp.org>
39539
39540         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
39541         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
39542         input.
39543         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
39544         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
39545         unistr/u8-uctomb.
39546
39547 2007-03-28  Bruno Haible  <bruno@clisp.org>
39548
39549         * modules/unistr/u8-mbtoucr: New file.
39550         * lib/unistr/u8-mbtoucr.c: New file.
39551         * modules/unistr/u16-mbtoucr: New file.
39552         * lib/unistr/u16-mbtoucr.c: New file.
39553         * modules/unistr/u16-mbtoucr: New file.
39554         * lib/unistr/u16-mbtoucr.c: New file.
39555         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
39556
39557 2007-03-27  Simon Josefsson  <simon@josefsson.org>
39558             Bruno Haible  <bruno@clisp.org>
39559
39560         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
39561         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
39562         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
39563
39564         * m4/stdio_h.m4: Add stubs for vasprintf too.
39565
39566         * modules/stdio: Support vasprintf in sed command.
39567
39568         * modules/vasprintf: Depend on stdio for prototypes.  Remove
39569         vasprintf.h.  Add stdio module indicator.
39570
39571         * lib/stdio_.h: Declare asprintf and vasprintf, based on
39572         vasprintf.h.
39573
39574         * lib/vasprintf.h: File removed.
39575
39576         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
39577         * lib/vasprintf.c: Ditto.
39578         * lib/xvasprintf.c: Ditto.
39579         * tests/test-vasprintf-posix.c: Ditto.
39580         * tests/test-vasprintf.c: Ditto.
39581
39582 2007-03-27  Bruno Haible  <bruno@clisp.org>
39583
39584         Make vasnprintf multithread-safe.
39585         * lib/vasnprintf.c (decimal_point_char): New function.
39586         (VASNPRINTF): Use it.
39587         Suggested by Simon Josefsson.
39588
39589 2007-03-27  Eric Blake  <ebb9@byu.net>
39590
39591         Support sub-second birthtime on cygwin.
39592         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
39593         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
39594         (get_stat_birthtime): Also work with st_birthtim.
39595
39596 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
39597
39598         * lib/stat-time.h (USE_BIRTHTIME): Remove.
39599         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
39600         (get_stat_birthtime_ns): Do not try to use "spare" fields.
39601         (get_stat_birthtime_ns): Simplify compile-time tests.
39602         (get_stat_birthtime): Change the API to look like
39603         get_stat_mtime etc., except return a negative tv_nsec on error.
39604         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
39605         Don't check for "spare" fields.
39606         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
39607         or for struct stat.st_birthtime, as these tests aren't used.
39608         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
39609
39610 2007-03-27  Bruno Haible  <bruno@clisp.org>
39611
39612         * lib/stat-time.h: Include <sys/stat.h>.
39613
39614 2007-03-27  James Youngman  <jay@gnu.org>
39615
39616         * lib/stat-time.h (get_stat_birthtime): New function for
39617           retrieving st_birthtime as provided by UFS2 (hence *BSD).
39618         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
39619           and its variants.
39620         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
39621         * modules/stat-time-test: New file.
39622         * tests/test-stat-time.c: New test, devised by Bruno Haible.
39623
39624 2007-03-26  Bruno Haible  <bruno@clisp.org>
39625
39626         Better support of signalling NaNs.
39627         * lib/atanl.c: Include isnanl.h.
39628         (atanl): Perform test for NaN at the beginning of the function and
39629         through a call to isnanl.
39630         * lib/cosl.c: Include isnanl.h.
39631         (cosl): Perform test for NaN at the beginning of the function and
39632         through a call to isnanl.
39633         * lib/ldexpl.c: Include isnanl.h.
39634         (ldexpl): Perform test for NaN through a call to isnanl.
39635         * lib/logl.c: Include isnanl.h.
39636         (logl): Perform test for NaN at the beginning of the function and
39637         through a call to isnanl.
39638         * lib/sinl.c: Include isnanl.h.
39639         (sinl): Perform test for NaN at the beginning of the function and
39640         through a call to isnanl.
39641         * lib/sqrtl.c: Include isnanl.h.
39642         (sqrtl): Perform test for NaN at the beginning of the function and
39643         through a call to isnanl.
39644         * lib/tanl.c: Include isnanl.h.
39645         (tanl): Perform test for NaN at the beginning of the function and
39646         through a call to isnanl.
39647         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
39648         * modules/mathl (Depends-on): Add isnanl.
39649
39650 2007-03-26  Eric Blake  <ebb9@byu.net>
39651
39652         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
39653         regression in logic sense of previous patch.
39654
39655 2007-03-26  Bruno Haible  <bruno@clisp.org>
39656
39657         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
39658         unportable shell command "if ! ...".
39659         Reported by Ralf Wildenhues.
39660
39661 2007-03-25  Bruno Haible  <bruno@clisp.org>
39662
39663         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
39664         <sysexits.h> file, and only add EX_CONFIG.
39665         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
39666         absolute file name and whether it is sufficient. Substitute also
39667         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
39668         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
39669         ABSOLUTE_SYSEXITS_H into sysexits.h.
39670
39671 2007-03-25  Bruno Haible  <bruno@clisp.org>
39672
39673         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
39674         hints is NULL.
39675
39676 2007-03-25  Bruno Haible  <bruno@clisp.org>
39677
39678         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
39679         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
39680
39681 2007-03-25  Bruno Haible  <bruno@clisp.org>
39682
39683         * lib/vasnprintf.c: Include langinfo.h.
39684         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
39685         multithread-safe.
39686         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
39687         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
39688         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
39689         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
39690         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
39691         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
39692         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
39693         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
39694         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
39695         Reported by Simon Josefsson.
39696
39697 2007-03-25  Bruno Haible  <bruno@clisp.org>
39698
39699         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
39700         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
39701         * modules/vasnprintf (Depends-on): Add stdint.
39702
39703 2007-03-25  Bruno Haible  <bruno@clisp.org>
39704
39705         * modules/fpieee: New file.
39706         * m4/fpieee.m4: New file.
39707         * modules/isnan-nolibm (Depends-on): Add fpieee.
39708         * modules/isnanl-nolibm (Depends-on): Add fpieee.
39709         * modules/isnanl (Depends-on): Add fpieee.
39710
39711 2007-03-25  Bruno Haible  <bruno@clisp.org>
39712
39713         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
39714
39715 2007-03-25  Bruno Haible  <bruno@clisp.org>
39716
39717         Avoid test failures on IRIX 6.5.
39718         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
39719         (main): Use it.
39720         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
39721         macros.
39722         (main): Use them.
39723
39724 2007-03-25  Bruno Haible  <bruno@clisp.org>
39725
39726         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
39727         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
39728         exists but doesn't work.
39729         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
39730         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
39731         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
39732         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
39733
39734 2007-03-25  Bruno Haible  <bruno@clisp.org>
39735
39736         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
39737         returns inf. Needed on IRIX 6.5.
39738
39739 2007-03-25  Bruno Haible  <bruno@clisp.org>
39740
39741         * tests/test-frexpl.c: Include isnanl-nolibm.h.
39742         (main): Use isnanl instead of x != x idiom.
39743         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
39744
39745         * tests/test-frexp.c: Include isnan.h.
39746         (main): Use isnan instead of x != x idiom.
39747         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
39748
39749 2007-03-25  Bruno Haible  <bruno@clisp.org>
39750
39751         * tests/test-frexp.c (NaN): New function/macro.
39752         (main): Use it instead of 0.0 / 0.0.
39753         * tests/test-isnan.c (NaN): New function/macro.
39754         (main): Use it instead of 0.0 / 0.0.
39755         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
39756         (test_function): Use it instead of 0.0 / 0.0.
39757         * tests/test-vasprintf-posix.c (NaN): New function/macro.
39758         (test_function): Use it instead of 0.0 / 0.0.
39759         * tests/test-snprintf-posix.h (NaN): New function/macro.
39760         (test_function): Use it instead of 0.0 / 0.0.
39761         * tests/test-sprintf-posix.h (NaN): New function/macro.
39762         (test_function): Use it instead of 0.0 / 0.0.
39763         * tests/test-fprintf-posix.h (NaN): New function/macro.
39764         (test_function): Use it instead of 0.0 / 0.0.
39765         * tests/test-printf-posix.h (NaN): New function/macro.
39766         (test_function): Use it instead of 0.0 / 0.0.
39767
39768         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
39769
39770 2007-03-25  Bruno Haible  <bruno@clisp.org>
39771
39772         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
39773
39774 2007-03-25  Bruno Haible  <bruno@clisp.org>
39775
39776         * lib/regexec.c (merge_state_with_log): Make static.
39777
39778 2007-03-25  Bruno Haible  <bruno@clisp.org>
39779
39780         * lib/trigl.c (kernel_rem_pio2): Make static.
39781
39782 2007-03-25  Bruno Haible  <bruno@clisp.org>
39783
39784         * lib/sincosl.c (sincosl_table): Make static.
39785
39786 2007-03-25  Bruno Haible  <bruno@clisp.org>
39787
39788         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
39789         if the compiler does not support C99.
39790
39791 2007-03-25  Bruno Haible  <bruno@clisp.org>
39792
39793         * modules/time (Makefile.am): Ensure all rule action lines start with a
39794         tab.
39795
39796 2007-03-24  Bruno Haible  <bruno@clisp.org>
39797
39798         * modules/tsearch-tests: New file.
39799         * tests/test-tsearch.sh: New file.
39800         * tests/test-tsearch.c: New file, mostly copied from glibc.
39801
39802         * modules/search-tests: New file.
39803         * tests/test-search.c: New file.
39804
39805         * modules/search: New file.
39806         * lib/search_.h: New file, incorporating lib/tsearch.h.
39807         * m4/search_h.m4: New file.
39808         * lib/tsearch.h: Remove file.
39809         * lib/tsearch.c: Include search.h instead of tsearch.h.
39810         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
39811         HAVE_TSEARCH.
39812         * modules/tsearch (Files): Remove lib/tsearch.h.
39813         (Depends-on): Add search.
39814         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
39815         (Include): Change tsearch.h into search.h.
39816
39817 2007-03-24  Bruno Haible  <bruno@clisp.org>
39818
39819         * modules/fpucw: New file.
39820         * lib/fpucw.h: New file.
39821         * lib/frexp.c: Include fpucw.h.
39822         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
39823         (FUNC): Use them.
39824         * lib/printf-frexp.c: Include fpucw.h.
39825         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
39826         (FUNC): Use them.
39827         * lib/vasnprintf.c: Include fpucw.h.
39828         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
39829         'long double' calculations.
39830         * tests/test-frexpl.c: Include fpucw.h.
39831         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
39832         * tests/test-printf-frexpl.c: Include fpucw.h.
39833         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
39834         * modules/frexpl (Depends-on): Add fpucw.
39835         * modules/printf-frexpl (Depends-on): Likewise.
39836         * modules/fprintf-posix (Depends-on): Likewise.
39837         * modules/snprintf-posix (Depends-on): Likewise.
39838         * modules/sprintf-posix (Depends-on): Likewise.
39839         * modules/vasnprintf-posix (Depends-on): Likewise.
39840         * modules/vasprintf-posix (Depends-on): Likewise.
39841         * modules/vfprintf-posix (Depends-on): Likewise.
39842         * modules/vsnprintf-posix (Depends-on): Likewise.
39843         * modules/vsprintf-posix (Depends-on): Likewise.
39844         * modules/frexpl-tests (Depends-on): Likewise.
39845         * modules/printf-frexpl-tests (Depends-on): Likewise.
39846
39847 2007-03-24  Bruno Haible  <bruno@clisp.org>
39848
39849         * lib/float+.h: New file.
39850         * lib/isnan.c: Include float+.h.
39851         (SIZE): New macro.
39852         (FUNC): Compare only SIZE bytes of the value.
39853         * lib/vasnprintf.c: Include float+.h.
39854         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
39855         SIZEOF_LDBL or SIZEOF_DBL bytes.
39856         * modules/isnan-nolibm (Files): Add lib/float+.h.
39857         * modules/isnanl-nolibm (Files): Add lib/float+.h.
39858         * modules/isnanl (Files): Add lib/float+.h.
39859         * modules/vasnprintf (Files): Add lib/float+.h.
39860
39861 2007-03-24  Bruno Haible  <bruno@clisp.org>
39862
39863         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
39864         include isnanl-nolibm.h.
39865
39866 2007-03-24  Bruno Haible  <bruno@clisp.org>
39867
39868         * tests/test-read-file.c (main): Don't produce spurious output for
39869         expected situations. Make the test fail if it encountered unexpected
39870         results.
39871
39872 2007-03-24  Bruno Haible  <bruno@clisp.org>
39873
39874         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
39875         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
39876
39877 2007-03-24  Bruno Haible  <bruno@clisp.org>
39878
39879         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
39880
39881 2007-03-24  Bruno Haible  <bruno@clisp.org>
39882
39883         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
39884         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
39885
39886         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
39887         * modules/utf8-ucs4: Turn into a symbolic link to module
39888         unistr/u8-mbtouc.
39889
39890         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
39891         utf8-ucs4-unsafe.
39892         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
39893         unistr/u8-mbtouc-unsafe.
39894
39895         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
39896         * modules/utf16-ucs4: Turn into a symbolic link to module
39897         unistr/u16-mbtouc.
39898
39899         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
39900         utf16-ucs4-unsafe.
39901         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
39902         unistr/u16-mbtouc-unsafe.
39903
39904         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
39905         * modules/ucs4-utf8: Turn into a symbolic link to module
39906         unistr/u8-ubtomb.
39907
39908         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
39909         * modules/ucs4-utf16: Turn into a symbolic link to module
39910         unistr/u16-ubtomb.
39911
39912 2007-03-24  Bruno Haible  <bruno@clisp.org>
39913
39914         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
39915         Enable the function only if HAVE_INLINE.
39916         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
39917         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
39918         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
39919         Enable the function only if HAVE_INLINE.
39920         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
39921         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
39922         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
39923         Enable the function only if HAVE_INLINE.
39924         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
39925         Enable the function only if HAVE_INLINE.
39926         * modules/utf8-ucs4: Update.
39927         * modules/utf8-ucs4-unsafe: Update.
39928         * modules/utf16-ucs4: Update.
39929         * modules/utf16-ucs4-unsafe: Update.
39930         * modules/ucs4-utf8: Update.
39931         * modules/ucs4-utf16: Update.
39932
39933 2007-03-24  Bruno Haible  <bruno@clisp.org>
39934
39935         * lib/utf8-ucs4.h: Remove file.
39936         * lib/utf8-ucs4-unsafe.h: Remove file.
39937         * lib/utf16-ucs4.h: Remove file.
39938         * lib/utf16-ucs4-unsafe.h: Remove file.
39939         * lib/ucs4-utf8.h: Remove file.
39940         * lib/ucs4-utf16.h: Remove file.
39941         * lib/unistr.h: Include their previous contents.
39942         * m4/utf-ucs4.m4: Remove file.
39943         * m4/ucs4-utf.m4: Remove file.
39944         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
39945         (Depends-on): Add unistr/base.
39946         (configure.ac): Remove gl_UTF_UCS4.
39947         (Makefile.am): Update.
39948         (Include): Change to unistr.h.
39949         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
39950         (Depends-on): Add unistr/base.
39951         (configure.ac): Remove gl_UTF_UCS4.
39952         (Makefile.am): Update.
39953         (Include): Change to unistr.h.
39954         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
39955         (Depends-on): Add unistr/base.
39956         (configure.ac): Remove gl_UTF_UCS4.
39957         (Makefile.am): Update.
39958         (Include): Change to unistr.h.
39959         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
39960         (Depends-on): Add unistr/base.
39961         (configure.ac): Remove gl_UTF_UCS4.
39962         (Makefile.am): Update.
39963         (Include): Change to unistr.h.
39964         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
39965         (Depends-on): Add unistr/base.
39966         (configure.ac): Remove gl_UCS4_UTF.
39967         (Makefile.am): Update.
39968         (Include): Change to unistr.h.
39969         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
39970         (Depends-on): Add unistr/base.
39971         (configure.ac): Remove gl_UCS4_UTF.
39972         (Makefile.am): Update.
39973         (Include): Change to unistr.h.
39974         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
39975         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
39976         utf8-ucs4-unsafe.h.
39977         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
39978         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
39979         utf16-ucs4-unsafe.h.
39980         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
39981         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
39982         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
39983         * lib/unistr/u8-strchr.c: Likewise.
39984         * lib/unistr/u8-strrchr.c: Likewise.
39985         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
39986         * lib/unistr/u16-strchr.c: Likewise.
39987         * lib/unistr/u16-strrchr.c: Likewise.
39988         * lib/striconveh.c: Update.
39989         * lib/linebreak.c: Update.
39990
39991 2007-03-24  Bruno Haible  <bruno@clisp.org>
39992
39993         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
39994         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
39995
39996 2007-03-22  Bruno Haible  <bruno@clisp.org>
39997
39998         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
39999
40000 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
40001
40002         * MODULES.html.sh (File system functions): New module write-any-file.
40003         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
40004         * m4/write-any-file.m4: New files.
40005
40006 2007-03-23  Eric Blake  <ebb9@byu.net>
40007
40008         * gnulib-tool: Rearrange space-tab sequences, since some editors
40009         like to eat them.
40010
40011 2007-03-23  Eric Blake  <ebb9@byu.net>
40012
40013         * lib/version-etc.c (version_etc_va): Update license wording to
40014         be more concise.  Recommended by Richard Stallman.
40015
40016 2007-03-22  Bruno Haible  <bruno@clisp.org>
40017
40018         * lib/poll.c (MSG_PEEK): New fallback definition.
40019
40020 2007-03-22  Bruno Haible  <bruno@clisp.org>
40021
40022         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
40023         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
40024         (main): Update.
40025         Fixes a compilation error on BeOS.
40026
40027 2007-03-22  Bruno Haible  <bruno@clisp.org>
40028
40029         * modules/frexpl-tests: New file.
40030         * tests/test-frexpl.c: New file.
40031
40032         * modules/frexpl: New file.
40033         * m4/frexpl.m4: New file.
40034         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
40035         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
40036         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
40037         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
40038         (Depends-on): Add frexpl. Remove isnanl-nolibm.
40039         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
40040
40041 2007-03-22  Bruno Haible  <bruno@clisp.org>
40042
40043         * lib/frexpl.c: Share code with lib/frexp.c.
40044         * modules/mathl (Files): Add lib/frexp.c.
40045         (Depends-on): Add isnanl-nolibm.
40046
40047 2007-03-22  Bruno Haible  <bruno@clisp.org>
40048
40049         * modules/printf-frexp (Files): Add m4/frexp.m4.
40050         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
40051         only if the found frexp function actually works.
40052
40053 2007-03-22  Bruno Haible  <bruno@clisp.org>
40054
40055         * lib/frexp.c: Remove older implementation that uses divisions.
40056
40057 2007-03-21  Bruno Haible  <bruno@clisp.org>
40058
40059         * modules/frexp-tests: New file.
40060         * tests/test-frexp.c: New file.
40061
40062         * modules/frexp: New file.
40063         * lib/frexp.c: New file.
40064         * m4/frexp.m4: New file.
40065         * lib/math_.h (frexp): New declaration.
40066         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
40067         REPLACE_FREXP.
40068         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
40069
40070 2007-03-21  Bruno Haible  <bruno@clisp.org>
40071
40072         * modules/isnanl-tests: New file.
40073         * tests/test-isnanl.c: New file.
40074
40075         * modules/isnanl: New file.
40076         * lib/isnanl.h: New file.
40077         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
40078         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
40079         gl_FUNC_ISNANL_WORKS.
40080         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
40081         New macros.
40082
40083 2007-03-21  Bruno Haible  <bruno@clisp.org>
40084
40085         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
40086         lib/isnanl.h.
40087         (Include): Update.
40088         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
40089         * lib/vasnprintf.c: Update.
40090         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
40091         tests/test-isnanl.h, remove tests/test-isnanl.c.
40092         (Makefile.am): Update.
40093         * tests/test-isnanl-nolibm.c: New file.
40094         * tests/test-isnanl.h: New file.
40095         * tests/test-isnanl.c: Remove file.
40096
40097 2007-03-21  Jim Meyering  <jim@meyering.net>
40098
40099         When trying to open ".", treat ESTALE like EACCES.
40100         * lib/savewd.c (savewd_save): Resort to forking not just upon
40101         failure with EACCES, but also when errno is ESTALE.
40102
40103 2007-03-20  Bruno Haible  <bruno@clisp.org>
40104
40105         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
40106         Needed on AIX 5.1. Reported by Matthew Woehlke.
40107
40108 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
40109
40110         Suggestions by Bruno Haible:
40111         * lib/acl-internal.h: Include "gettext.h" rather than rolling
40112         our own.
40113         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
40114         * modules/acl (Depends-on): Add gettext.
40115
40116 2007-03-19  Bruno Haible  <bruno@clisp.org>
40117
40118         * modules/iconvme: Remove file.
40119         * lib/iconvme.h: Remove file.
40120         * lib/iconvme.c: Remove file.
40121         * m4/iconvme.m4: Remove file.
40122
40123 2007-03-19  Bruno Haible  <bruno@clisp.org>
40124
40125         * doc/relocatable-maint.texi: Break long shell script line.
40126         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
40127
40128 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
40129
40130         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
40131         handle file_has_acl.
40132         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
40133         * lib/acl.c: Move header inclusions and related macro defns into
40134         lib/acl-internal.h.
40135         (S_ISLNK): Remove defn, since that's now done for us.
40136         (file_has_acl): Move to lib/file-has-acl.c.
40137         Call acl_trivial if available.  This is the crucial part of the fix.
40138         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
40139         shared within the library.  Rewrite a bit, partly to make it compatible
40140         with the GNU coding style.
40141         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
40142         Remove unnecessary double-quotes.
40143         Don't test for acl_to_text; the build will catch that.
40144         Replace acl_entries if it doesn't exist and it is needed.
40145         Check for -lsec and acl_trivial (as used on Solaris 10).
40146         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
40147         lib/file-has-acl.c.
40148         (Depends-on): Add sys_stat, for S_ISLNK.
40149
40150 2007-03-19  Ben Pfaff  <blp@gnu.org>
40151
40152         * doc/gnulib.texi: Fix typos.
40153         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
40154
40155 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
40156
40157         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
40158         If size is zero here, buf must be zero.
40159
40160 2007-03-19  Simon Josefsson  <simon@josefsson.org>
40161
40162         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
40163         <bruno@clisp.org>.
40164
40165 2007-03-18  Bruno Haible  <bruno@clisp.org>
40166
40167         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
40168         Suggested by Eric Blake.
40169
40170 2007-03-18  Ben Pfaff  <blp@gnu.org>
40171
40172         * doc/relocatable.texi: Recommend using as prefix a directory
40173         that does not exist and will never be created.  Based on
40174         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
40175         and others.
40176
40177 2007-03-17  Bruno Haible  <bruno@clisp.org>
40178
40179         * lib/fchownat.c: Include lchown.h.
40180
40181 2007-03-17  Bruno Haible  <bruno@clisp.org>
40182
40183         Fix endless loop when the given allocated size was > INT_MAX.
40184         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
40185         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
40186         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
40187         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
40188         * lib/sprintf.c (sprintf): Likewise.
40189
40190 2007-03-17  Bruno Haible  <bruno@clisp.org>
40191
40192         * tests/test-argp-2.sh (func_compare): Output a context diff.
40193
40194 2007-03-17  Bruno Haible  <bruno@clisp.org>
40195
40196         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
40197         locale's decimal-point character.
40198
40199 2007-03-17  Bruno Haible  <bruno@clisp.org>
40200
40201         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
40202         before comparing it. Needed because on some platforms (e.g. x86) a
40203         'long double' occupies less bytes than sizeof (long double).
40204
40205 2007-03-17  Bruno Haible  <bruno@clisp.org>
40206
40207         * tests/test-crc.c (main): Make printf statements 64-bit clean.
40208         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
40209         * tests/test-getaddrinfo.c (simple): Likewise.
40210         * tests/test-read-file.c (main): Likewise.
40211
40212 2007-03-17  Bruno Haible  <bruno@clisp.org>
40213
40214         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
40215
40216 2007-03-17  Bruno Haible  <bruno@clisp.org>
40217
40218         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
40219         unused variable.
40220
40221 2007-03-17  Bruno Haible  <bruno@clisp.org>
40222
40223         * tests/test-c-strcasecmp.c: Include c-strcase.h.
40224         * tests/test-c-strncasecmp.c: Likewise.
40225
40226 2007-03-17  Bruno Haible  <bruno@clisp.org>
40227
40228         * modules/stdlib (Depends-on): Add unistd.
40229         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
40230         Needed for MacOS X 10.3.
40231
40232 2007-03-17  Bruno Haible  <bruno@clisp.org>
40233
40234         * lib/unistr/u-strdup.h: Include <stdlib.h>.
40235
40236 2007-03-17  Bruno Haible  <bruno@clisp.org>
40237
40238         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
40239
40240 2007-03-17  Bruno Haible  <bruno@clisp.org>
40241
40242         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
40243         to reflect files copied from gnulib (with or without modifications).
40244         Suggested by Jim Meyering.
40245
40246 2007-03-17  Eric Blake  <ebb9@byu.net>
40247
40248         * NEWS: Document stdlib change from 2007-02-18.
40249
40250 2007-03-17  Jim Meyering  <jim@meyering.net>
40251
40252         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
40253         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
40254         someone uses a name containing shell meta-characters.
40255         Reported by Alfred M. Szmidt.
40256
40257         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
40258
40259 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
40260
40261         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
40262         and copy gettext configuration files only if configure.ac contains
40263         a use of AM_GNU_GETTEXT_VERSION.
40264
40265 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
40266
40267         * build-aux/bootstrap (gnulib_name): New variable.
40268         (gnulib_tool_options): Use it.
40269
40270 2007-03-13  Simon Josefsson  <simon@josefsson.org>
40271
40272         * tests/test-des.c: Use new namespace.
40273
40274 2007-03-15  Bruno Haible  <bruno@clisp.org>
40275
40276         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
40277         Reported by James Youngman <jay@gnu.org>.
40278
40279 2007-03-15  Bruno Haible  <bruno@clisp.org>
40280
40281         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
40282         declared prototype. Needed with cc on OSF/1 5.1.
40283
40284 2007-03-15  Bruno Haible  <bruno@clisp.org>
40285
40286         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
40287         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
40288         (struct gl_list_implementation): Add dispose_fn argument to the
40289         'create_empty', 'create' methods.
40290         (struct gl_list_impl_base): Add field 'dispose_fn'.
40291         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
40292         argument.
40293         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
40294         dispose_fn argument.
40295         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
40296         dispose_fn on the dropped values.
40297         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
40298         dispose_fn argument.
40299         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
40300         dropped values.
40301         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
40302         (gl_tree_remove_node): Call dispose_fn on the dropped value.
40303         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
40304         (gl_tree_remove_node): Call dispose_fn on the dropped value.
40305         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
40306         argument.
40307         (gl_tree_list_free): Call dispose_fn on the dropped values.
40308         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
40309         the dropped values.
40310         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
40311         Add dispose_fn argument.
40312         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
40313         Call dispose_fn on the dropped values.
40314         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
40315         Add dispose_fn argument.
40316         (gl_sublist_create): Initialize the 'dispose_fn' field.
40317         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
40318         * tests/test-array_list.c (main): Update.
40319         * tests/test-carray_list.c (main): Update.
40320         * tests/test-avltree_list.c (main): Update.
40321         * tests/test-rbtree_list.c (main): Update.
40322         * tests/test-avltreehash_list.c (main): Update.
40323         * tests/test-rbtreehash_list.c (main): Update.
40324         * tests/test-linked_list.c (main): Update.
40325         * tests/test-linkedhash_list.c (main): Update.
40326         * tests/test-array_oset.c (main): Update.
40327
40328 2007-03-15  Bruno Haible  <bruno@clisp.org>
40329
40330         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
40331         (gl_oset_create_empty): Add dispose_fn argument.
40332         (struct gl_oset_implementation): Add dispose_fn argument to
40333         'create_empty' method.
40334         (struct gl_oset_impl_base): Add dispose_fn field.
40335         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
40336         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
40337         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
40338         values.
40339         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
40340         (gl_tree_oset_free): Call dispose_fn on the dropped values.
40341         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
40342         dropped value.
40343         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
40344         dropped value.
40345         * tests/test-array_oset.c (main): Update.
40346         * tests/test-avltree_oset.c (main): Update.
40347         * tests/test-rbtree_oset.c (main): Update.
40348         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
40349
40350 2007-03-13  Bruno Haible  <bruno@clisp.org>
40351
40352         * tests/test-stdbool.c (i): Update after last patch.
40353
40354 2007-03-12  Bruno Haible  <bruno@clisp.org>
40355
40356         * lib/quotearg.c: Include <wctype.h> early, before the definition of
40357         the iswprint macro. Needed on Solaris 2.5.1.
40358
40359 2007-03-12  Bruno Haible  <bruno@clisp.org>
40360
40361         * tests/test-printf-frexp.c (main): Declare x as volatile.
40362
40363 2007-03-12  Simon Josefsson  <simon@josefsson.org>
40364
40365         * doc/gnulib.texi (Build robot for gnulib): New section.
40366
40367 2007-03-12  Jim Meyering  <jim@meyering.net>
40368
40369         * build-aux/bootstrap: New file.
40370         * build-aux/bootstrap.conf: New file, from coreutils.
40371
40372 2007-03-11  Bruno Haible  <bruno@clisp.org>
40373
40374         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
40375
40376 2007-03-12  Simon Josefsson  <simon@josefsson.org>
40377
40378         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
40379         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
40380         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
40381
40382 2007-03-11  Bruno Haible  <bruno@clisp.org>
40383
40384         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
40385         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
40386
40387 2007-03-11  Bruno Haible  <bruno@clisp.org>
40388
40389         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
40390         formula. Needed for SunPRO C 5.0.
40391
40392 2007-03-11  Bruno Haible  <bruno@clisp.org>
40393
40394         * modules/long-options (Depends-on): Add getopt.
40395
40396 2007-03-11  Bruno Haible  <bruno@clisp.org>
40397
40398         * modules/modechange (Depends-on): Add stdbool.
40399
40400 2007-03-11  Bruno Haible  <bruno@clisp.org>
40401
40402         * modules/i-ring (Depends-on): Add stdbool.
40403
40404 2007-03-11  Bruno Haible  <bruno@clisp.org>
40405
40406         * modules/gc-des (Depends-on): Add stdbool.
40407
40408 2007-03-11  Bruno Haible  <bruno@clisp.org>
40409
40410         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
40411
40412 2007-03-11  Bruno Haible  <bruno@clisp.org>
40413
40414         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
40415
40416 2007-03-11  Bruno Haible  <bruno@clisp.org>
40417
40418         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
40419
40420 2007-03-11  Bruno Haible  <bruno@clisp.org>
40421
40422         * lib/vasnprintf.c (sprintf): Undefine.
40423
40424 2007-03-11  Bruno Haible  <bruno@clisp.org>
40425
40426         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
40427         initializers in SunPRO C and Compaq C compilers.
40428
40429 2007-03-11  Bruno Haible  <bruno@clisp.org>
40430
40431         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
40432         decrementing code ANSI C compliant.
40433
40434 2007-03-11  Bruno Haible  <bruno@clisp.org>
40435
40436         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
40437         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
40438
40439 2007-03-11  Bruno Haible  <bruno@clisp.org>
40440
40441         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
40442         <stdbool.h> substitute doesn't pass.
40443
40444 2007-03-11  Bruno Haible  <bruno@clisp.org>
40445
40446         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
40447
40448 2007-03-11  Bruno Haible  <bruno@clisp.org>
40449
40450         * gnulib-tool (func_create_megatestdir): Create also an autobuild
40451         script, for submission to autobuild.josefsson.org.
40452
40453 2007-03-10  Bruno Haible  <bruno@clisp.org>
40454
40455         * modules/canonicalize-lgpl-tests: New file.
40456         * tests/test-canonicalize-lgpl.sh: New file.
40457         * tests/test-canonicalize-lgpl.c: New file.
40458
40459         * modules/c-strcase-tests: New file.
40460         * tests/test-c-strcase.sh: New file.
40461         * tests/test-c-strcasecmp.c: New file.
40462         * tests/test-c-strncasecmp.c: New file.
40463
40464         * modules/atexit-tests: New file.
40465         * tests/test-atexit.sh: New file.
40466         * tests/test-atexit.c: New file.
40467
40468 2007-03-10  Bruno Haible  <bruno@clisp.org>
40469
40470         * tests/test-binary-io.sh: Use temporary filenames that are not so
40471         likely to clash with those of other tests (in a parallel make).
40472         * tests/test-binary-io.c: Likewise.
40473
40474 2007-03-10  Bruno Haible  <bruno@clisp.org>
40475
40476         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
40477         fallback; use #error instead.
40478         Suggested by Simon Josefsson.
40479
40480 2007-03-10  Bruno Haible  <bruno@clisp.org>
40481
40482         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
40483         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
40484         first and the last.
40485
40486 2007-03-10  Bruno Haible  <bruno@clisp.org>
40487
40488         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
40489
40490 2007-03-10  Bruno Haible  <bruno@clisp.org>
40491
40492         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
40493         "make distcheck".
40494         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
40495         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
40496         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
40497
40498 2007-03-10  Bruno Haible  <bruno@clisp.org>
40499
40500         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
40501         variable.
40502         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
40503         variable.
40504
40505 2007-03-09  Eric Blake  <ebb9@byu.net>
40506         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
40507
40508         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
40509         types are not being provided by gnulib.
40510         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
40511         types are supported.
40512
40513 2007-03-10  Bruno Haible  <bruno@clisp.org>
40514
40515         * lib/stdio_.h (__attribute__): New macro.
40516         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
40517         vsprintf): Specify __attribute__ __format__ for GCC.
40518         Suggested by Eric Blake.
40519
40520 2007-03-09  Bruno Haible  <bruno@clisp.org>
40521
40522         * modules/printf-posix-tests: New file.
40523         * tests/test-printf-posix.sh: New file.
40524         * tests/test-printf-posix.c: New file.
40525
40526         * modules/printf-posix: New file.
40527         * lib/printf.c: New file.
40528         * m4/printf-posix-rpl.m4: New file.
40529         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
40530         REPLACE_PRINTF.
40531         * lib/stdio_.h (printf): New declaration.
40532         (format, __format__, ____printf____, ____scanf____, ____strftime____,
40533         ____strfmon____): New macros.
40534         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
40535         REPLACE_PRINTF.
40536
40537 2007-03-09  Bruno Haible  <bruno@clisp.org>
40538
40539         * tests/test-vasnprintf-posix2.sh: New file.
40540         * tests/test-vasnprintf-posix2.c: New file.
40541         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
40542         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
40543         (Makefile.am): Activate test-vasnprintf-posix2.sh.
40544
40545         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
40546         a locale dependent decimal point, rather than always '.'.
40547
40548 2007-03-09  Eric Blake  <ebb9@byu.net>
40549
40550         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
40551         spite of platforms like Tandem/NSK that define it to -1.
40552
40553 2007-03-08  Bruno Haible  <bruno@clisp.org>
40554
40555         * modules/vprintf-posix-tests: New file.
40556         * tests/test-vprintf-posix.sh: New file.
40557         * tests/test-vprintf-posix.c: New file.
40558         * tests/test-printf-posix.h: New file.
40559
40560         * modules/vprintf-posix: New file.
40561         * lib/vprintf.c: New file.
40562         * m4/vprintf-posix.m4: New file.
40563         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
40564         REPLACE_VPRINTF.
40565         * lib/stdio_.h (vprintf): New declaration.
40566         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
40567         REPLACE_VPRINTF.
40568
40569 2007-03-08  Bruno Haible  <bruno@clisp.org>
40570
40571         * modules/fprintf-posix-tests: New file.
40572         * tests/test-fprintf-posix.sh: New file.
40573         * tests/test-fprintf-posix.c: New file.
40574
40575         * modules/fprintf-posix: New file.
40576         * lib/fprintf.c: New file.
40577         * m4/fprintf-posix.m4: New file.
40578         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
40579         REPLACE_FPRINTF.
40580         * lib/stdio_.h (fprintf): New declaration.
40581         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
40582         REPLACE_FPRINTF.
40583
40584 2007-03-08  Bruno Haible  <bruno@clisp.org>
40585
40586         * modules/vfprintf-posix-tests: New file.
40587         * tests/test-vfprintf-posix.sh: New file.
40588         * tests/test-vfprintf-posix.c: New file.
40589         * tests/test-fprintf-posix.h: New file.
40590         * tests/test-fprintf-posix.out: New file.
40591
40592         * modules/vfprintf-posix: New file.
40593         * lib/vfprintf.c: New file.
40594         * m4/vfprintf-posix.m4: New file.
40595         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
40596         REPLACE_VFPRINTF.
40597         * lib/stdio_.h (vfprintf): New declaration.
40598         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
40599         REPLACE_VFPRINTF.
40600
40601 2007-03-08  Bruno Haible  <bruno@clisp.org>
40602
40603         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
40604
40605 2007-03-08  Bruno Haible  <bruno@clisp.org>
40606
40607         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
40608         instead of 'expr' invocations.
40609         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40610         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40611         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40612         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40613         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40614         Suggested by Paul Eggert.
40615
40616 2007-03-08  Bruno Haible  <bruno@clisp.org>
40617
40618         * modules/fseterr-tests: New file.
40619         * tests/test-fseterr.c: New file.
40620
40621         * modules/fseterr: New file.
40622         * lib/fseterr.h: New file.
40623         * lib/fseterr.c: New file.
40624
40625 2007-03-08  Bruno Haible  <bruno@clisp.org>
40626
40627         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
40628         * lib/getopt_.h: Likewise.
40629         * lib/mbswidth.h: Likewise.
40630         * lib/setenv.h: Likewise.
40631         * lib/vasnprintf.h: Likewise.
40632         * lib/vasprintf.h: Likewise.
40633         * lib/verror.h: Likewise.
40634         * lib/xsetenv.h: Likewise.
40635         * lib/xvasprintf.h: Likewise.
40636
40637 2007-03-08  Jim Meyering  <jim@meyering.net>
40638
40639         * users.txt: Add parted.
40640
40641         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
40642
40643 2007-03-07  Bruno Haible  <bruno@clisp.org>
40644
40645         * m4/printf.m4: Make the shell script snippets copy&pastable.
40646
40647 2007-03-02  Bruno Haible  <bruno@clisp.org>
40648
40649         * lib/netinet_in_.h: New file.
40650         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
40651         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
40652         * modules/netinet_in (Files): Add lib/netinet_in_.h.
40653         (Depends-on): Add absolute-header.
40654         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
40655         into netinet/in.h.
40656
40657 2007-03-03  Bruno Haible  <bruno@clisp.org>
40658
40659         * lib/sys_select_.h: New file.
40660         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
40661         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
40662         * modules/sys_select (Files): Add lib/sys_select_.h.
40663         (Depends-on): Add absolute-header.
40664         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
40665         into sys/select.h.
40666
40667 2007-03-02  Bruno Haible  <bruno@clisp.org>
40668
40669         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
40670         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
40671         values.
40672         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
40673         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
40674         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
40675         * modules/sys_socket (Depends-on): Add absolute-header.
40676         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
40677         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
40678         (Include): Remove requirement of inclusion of <sys/types.h>.
40679
40680 2007-03-02  Bruno Haible  <bruno@clisp.org>
40681
40682         * lib/byteswap_.h (bswap_32): Fix formula.
40683
40684 2007-03-06  Bruno Haible  <bruno@clisp.org>
40685
40686         * modules/sprintf-posix-tests: New file.
40687         * tests/test-sprintf-posix.c: New file.
40688
40689         * modules/sprintf-posix: New file.
40690         * lib/sprintf.c: New file.
40691         * m4/sprintf-posix.m4: New file.
40692         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
40693         REPLACE_SPRINTF.
40694         * lib/stdio_.h (sprintf): New declaration.
40695         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
40696         REPLACE_SPRINTF.
40697
40698 2007-03-06  Bruno Haible  <bruno@clisp.org>
40699
40700         * modules/vsprintf-posix-tests: New file.
40701         * tests/test-vsprintf-posix.c: New file.
40702         * tests/test-sprintf-posix.h: New file.
40703
40704         * modules/vsprintf-posix: New file.
40705         * lib/vsprintf.c: New file.
40706         * m4/vsprintf-posix.m4: New file.
40707         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
40708         REPLACE_VSPRINTF.
40709         * lib/stdio_.h (vsprintf): New declaration.
40710         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
40711         REPLACE_VSPRINTF.
40712
40713 2007-03-06  Bruno Haible  <bruno@clisp.org>
40714
40715         * modules/vsnprintf (Depend-on): Remove minmax.
40716
40717 2007-03-06  Bruno Haible  <bruno@clisp.org>
40718
40719         * modules/snprintf-posix-tests: New file.
40720         * tests/test-snprintf-posix.c: New file.
40721
40722         * modules/snprintf-posix: New file.
40723         * m4/snprintf-posix.m4: New file.
40724         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
40725         gl_FUNC_SNPRINTF.
40726         (gl_FUNC_SNPRINTF): Invoke it.
40727         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
40728         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
40729         is set.
40730         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
40731
40732 2007-03-06  Bruno Haible  <bruno@clisp.org>
40733
40734         * modules/vsnprintf-posix-tests: New file.
40735         * tests/test-vsnprintf-posix.c: New file.
40736         * tests/test-snprintf-posix.h: New file.
40737
40738         * modules/vsnprintf-posix: New file.
40739         * m4/vsnprintf-posix.m4: New file.
40740         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
40741         gl_FUNC_VSNPRINTF.
40742         (gl_FUNC_VSNPRINTF): Invoke it.
40743         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
40744         * lib/stdio_.h (vsnprintf): Define as a replacement if
40745         REPLACE_VSNPRINTF is set.
40746         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
40747
40748 2007-03-06  Bruno Haible  <bruno@clisp.org>
40749
40750         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
40751         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
40752
40753 2007-03-06  Bruno Haible  <bruno@clisp.org>
40754
40755         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
40756         (asinl): Declare also if HAVE_DECL_ASINL is set.
40757         (atanl): Declare also if HAVE_DECL_ATANL is set.
40758         (ceill): Declare also if HAVE_DECL_CEILL is set.
40759         (cosl): Declare also if HAVE_DECL_COSL is set.
40760         (expl): Declare also if HAVE_DECL_EXPL is set.
40761         (floorl): Declare also if HAVE_DECL_FLOORL is set.
40762         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
40763         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
40764         (logl): Declare also if HAVE_DECL_LOGL is set.
40765         (sinl): Declare also if HAVE_DECL_SINL is set.
40766         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
40767         (tanl): Declare also if HAVE_DECL_TANL is set.
40768         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
40769         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
40770         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
40771         declaration of frexpl, ldexpl.
40772         * modules/printf-frexpl (Depends-on): Add math.
40773         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
40774
40775 2007-03-05  Bruno Haible  <bruno@clisp.org>
40776
40777         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
40778         frexpl and ldexpl are declared.
40779         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
40780
40781 2007-03-05  Bruno Haible  <bruno@clisp.org>
40782
40783         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
40784         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
40785
40786 2007-03-05  Bruno Haible  <bruno@clisp.org>
40787
40788         * lib/stdio_.h: Include <stddef.h>.
40789
40790 2007-03-05  Bruno Haible  <bruno@clisp.org>
40791
40792         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
40793
40794 2007-03-05  Bruno Haible  <bruno@clisp.org>
40795
40796         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
40797         NetBSD 4, from Ralf Wildenhues.
40798
40799 2007-03-04  Bruno Haible  <bruno@clisp.org>
40800
40801         * lib/vasprintf.h: Update #if logic for the case when the functions
40802         exist but are overridden.
40803
40804 2007-03-04  Bruno Haible  <bruno@clisp.org>
40805
40806         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
40807         implementations: glibc-2.4 and MacOS X 10.3.
40808         * tests/test-vasnprintf-posix.c (test_function): Test also the case
40809         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
40810         * tests/test-vasprintf-posix.c (test_function): Likewise.
40811
40812 2007-03-04  Bruno Haible  <bruno@clisp.org>
40813
40814         * modules/vasprintf-posix-tests: New file.
40815         * tests/test-vasprintf-posix.c: New file.
40816
40817         * modules/vasprintf-posix: New file.
40818         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
40819         defined.
40820         * m4/vasprintf-posix.m4: New file.
40821         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
40822         gl_FUNC_VASPRINTF.
40823         (gl_FUNC_VASPRINTF): Invoke it.
40824         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
40825         here.
40826         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
40827
40828 2007-03-04  Bruno Haible  <bruno@clisp.org>
40829
40830         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
40831         REPLACE_GETTIMEOFDAY.
40832         * modules/sys_time (Makefile.am): Likewise.
40833         * m4/sys_time_h.m4: Likewise.
40834         * m4/gettimeofday.m4: Likewise.
40835
40836 2007-03-04  Bruno Haible  <bruno@clisp.org>
40837
40838         * modules/vasnprintf-posix-tests: New file.
40839         * tests/test-vasnprintf-posix.c: New file.
40840
40841         * modules/vasnprintf-posix: New file.
40842         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
40843         printf-frexpl.h.
40844         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
40845         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
40846         REPLACE_VASNPRINTF is defined.
40847         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
40848         gl_FUNC_VASNPRINTF.
40849         (gl_FUNC_VASNPRINTF): Invoke it.
40850         * m4/vasnprintf-posix.m4: New file.
40851         * m4/printf.m4: New file.
40852
40853 2007-03-04  Bruno Haible  <bruno@clisp.org>
40854
40855         Compile progreloc.c only if --enable-relocatable is specified.
40856         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
40857         if --enable-relocatable was specified.
40858         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
40859         lib_SOURCES.
40860
40861 2007-03-04  Jim Meyering  <jim@meyering.net>
40862
40863         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
40864         Use it consistently, rather than enumerating errno constants.
40865
40866 2007-03-04  Bruno Haible  <bruno@clisp.org>
40867
40868         * modules/xvasprintf-tests: New file.
40869         * tests/test-xvasprintf.c: New file.
40870
40871         * modules/vasprintf-tests: New file.
40872         * tests/test-vasprintf.c: New file.
40873
40874         * modules/vasnprintf-tests: New file.
40875         * tests/test-vasnprintf.c: New file.
40876
40877         * modules/vsnprintf-tests: New file.
40878         * tests/test-vsnprintf.c: New file.
40879
40880         * modules/snprintf-tests: New file.
40881         * tests/test-snprintf.c: New file.
40882
40883 2007-03-04  Bruno Haible  <bruno@clisp.org>
40884
40885         Compile relocatable.c only if --enable-relocatable is specified.
40886         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
40887         gl_RELOCATABLE_LIBRARY.
40888         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
40889         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
40890         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
40891         gl_RELOCATABLE_LIBRARY.
40892         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
40893         (Makefile.am): Remove lib_SOURCES.
40894         * modules/relocatable-lib-lgpl (configure.ac): Invoke
40895         gl_RELOCATABLE_LIBRARY.
40896         (Makefile.am): Remove lib_SOURCES.
40897         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
40898         always.
40899         * modules/relocatable-prog-wrapper (configure.ac): Invoke
40900         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
40901
40902 2007-03-04  Bruno Haible  <bruno@clisp.org>
40903
40904         * modules/argmatch-tests: New file.
40905         * tests/test-argmatch.c: New file.
40906
40907         * tests/test-allocsa.c (main): Halve the number of loop runs.
40908
40909         * modules/alloca-opt-tests: New file.
40910         * tests/test-alloca-opt.c: New file.
40911
40912 2007-03-04  Jim Meyering  <jim@meyering.net>
40913
40914         Work around difference between Linux ACLs and Solaris 10 ZFS.
40915         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
40916         for EINVAL.
40917
40918 2007-03-03  Bruno Haible  <bruno@clisp.org>
40919
40920         * modules/relocatable-prog (Depends-on): Add back progreloc's
40921         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
40922
40923 2007-03-03  Bruno Haible  <bruno@clisp.org>
40924
40925         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
40926         * modules/relocatable-lib: New file.
40927
40928 2007-03-03  Bruno Haible  <bruno@clisp.org>
40929
40930         * modules/relocatable-prog: Renamed from modules/relocatable.
40931         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
40932
40933 2007-03-03  Bruno Haible  <bruno@clisp.org>
40934
40935         * modules/relocatable-script (Files): Add doc/relocatable.texi,
40936         m4/relocatable-lib.m4.
40937         (Depends-on): Remove 'relocatable'.
40938         (configure.ac): Add gl_RELOCATABLE_NOP.
40939
40940 2007-03-03  Bruno Haible  <bruno@clisp.org>
40941
40942         * modules/relocatable-prog-wrapper: New file.
40943         * modules/relocatable (Depends-on): Add it. Remove all other
40944         dependencies except progname.
40945         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
40946
40947         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
40948         (gl_FUNC_STRERROR): Nop.
40949         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
40950
40951         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
40952         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
40953
40954         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
40955         (gl_FUNC_READLINK): Update.
40956
40957         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
40958
40959 2007-03-03  Bruno Haible  <bruno@clisp.org>
40960
40961         * lib/xreadlink.c: Include <unistd.h> unconditionally.
40962         * modules/xreadlink (Depends-on): Add unistd.
40963         * modules/xreadlink-with-size (Depends-on): Likewise.
40964
40965 2007-03-03  Bruno Haible  <bruno@clisp.org>
40966
40967         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
40968         extracted from gt_FUNC_SETENV.
40969         (gt_FUNC_SETENV): Remove macro.
40970         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
40971         remove gt_FUNC_SETENV.
40972
40973 2007-03-03  Bruno Haible  <bruno@clisp.org>
40974
40975         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
40976         ENABLE_RELOCATABLE here.
40977         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
40978
40979 2007-03-03  Bruno Haible  <bruno@clisp.org>
40980
40981         * modules/rbtreehash-list-tests (Depends-on): Add progname.
40982         * tests/test-rbtreehash_list.c: Include progname.h.
40983         (main): Call set_program_name.
40984
40985         * modules/rbtree-oset-tests (Depends-on): Add progname.
40986         * tests/test-rbtree_oset.c: Include progname.h.
40987         (main): Call set_program_name.
40988
40989         * modules/rbtree-list-tests (Depends-on): Add progname.
40990         * tests/test-rbtree_list.c: Include progname.h.
40991         (main): Call set_program_name.
40992
40993         * modules/linked-list-tests (Depends-on): Add progname.
40994         * tests/test-linked_list.c: Include progname.h.
40995         (main): Call set_program_name.
40996
40997 2007-03-03  Bruno Haible  <bruno@clisp.org>
40998
40999         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
41000         All uses of __restrict changed to _Restrict_.
41001         * lib/glob_.h (__restrict): Remove macro.
41002
41003 2007-03-02  Bruno Haible  <bruno@clisp.org>
41004
41005         * modules/gettext (configure.ac): Require gettext infrastructure
41006         from version 0.16.1.
41007
41008 2007-03-02  Bruno Haible  <bruno@clisp.org>
41009
41010         * modules/linkedhash-list-tests (Depends-on): Add progname.
41011         * tests/test-linkedhash_list.c: Include progname.h.
41012         (main): Call set_program_name.
41013
41014         * modules/carray-list-tests (Depends-on): Add progname.
41015         * tests/test-carray_list.c: Include progname.h.
41016         (main): Call set_program_name.
41017
41018         * modules/avltreehash-list-tests (Depends-on): Add progname.
41019         * tests/test-avltreehash_list.c: Include progname.h.
41020         (main): Call set_program_name.
41021
41022         * modules/avltree-oset-tests (Depends-on): Add progname.
41023         * tests/test-avltree_oset.c: Include progname.h.
41024         (main): Call set_program_name.
41025
41026         * modules/avltree-list-tests (Depends-on): Add progname.
41027         * tests/test-avltree_list.c: Include progname.h.
41028         (main): Call set_program_name.
41029
41030         * modules/array-oset-tests (Depends-on): Add progname.
41031         * tests/test-array_oset.c: Include progname.h.
41032         (main): Call set_program_name.
41033
41034         * modules/array-list-tests (Depends-on): Add progname.
41035         * tests/test-array_list.c: Include progname.h.
41036         (main): Call set_program_name.
41037
41038         * modules/argp-tests (Depends-on): Add progname.
41039         * tests/test-argp.c: Include argp.h first. Include progname.h.
41040         (main): Call set_program_name.
41041
41042 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
41043
41044         * doc/gnulib-tool.texi (Initial import): Reword description of
41045         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
41046         limited effect even if defined after the first system include.
41047
41048 2007-03-01  Bruno Haible  <bruno@clisp.org>
41049
41050         * build-aux/config.libpath: Update to libtool-1.5.22.
41051         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
41052
41053 2007-03-01  Bruno Haible  <bruno@clisp.org>
41054
41055         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
41056         foo_CFLAGS.
41057         Reported by Ralf Wildenhues.
41058
41059 2007-03-01  Bruno Haible  <bruno@clisp.org>
41060
41061         * build-aux/install-reloc: Remove object files left over by some
41062         compilers.
41063         Reported by Ralf Wildenhues.
41064
41065 2007-03-01  Bruno Haible  <bruno@clisp.org>
41066
41067         * build-aux/install-reloc: Break long lines.
41068
41069 2007-03-01  Bruno Haible  <bruno@clisp.org>
41070
41071         * doc/relocatable.texi: Document that it may not work on OpenBSD.
41072         Reported by Ralf Wildenhues.
41073
41074 2007-03-01  Bruno Haible  <bruno@clisp.org>
41075
41076         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
41077         include ordering constraints.
41078
41079 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
41080
41081         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
41082         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
41083         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
41084         as another example.
41085         * lib/time_.h: Fix misspelling.
41086         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
41087         Require gl_HEADER_TIME_H_DEFAULTS.
41088         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
41089         * m4/time_r.m4 (gl_TIME_R): Likewise.
41090         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
41091
41092 2007-03-01  Bruno Haible  <bruno@clisp.org>
41093
41094         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
41095         * m4/utimens.m4 (gl_UTIMENS): Likewise.
41096
41097 2007-03-01  Jim Meyering  <jim@meyering.net>
41098
41099         * modules/xreadlink (Maintainer): Add my name.
41100         * modules/xreadlink-with-size (Depends-on): Alphabetize.
41101
41102 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
41103             Bruno Haible  <bruno@clisp.org>
41104
41105         * build-aux/install-reloc: Compile also c-ctype.c.
41106         * build-aux/relocatable.sh.in: New file.
41107         * doc/relocatable.texi: New file.
41108         * doc/relocatable-maint.texi: New file.
41109         * doc/gnulib.texi: Include relocatable-maint.texi.
41110         * lib/progreloc.c: Include unistd.h unconditionally.
41111         * lib/relocwrapper.c: Include unistd.h unconditionally.
41112         Include c-ctype.h.
41113         (add_dotbin): Use c_tolower.
41114         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
41115         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
41116         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
41117         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
41118         to m4/relocatable-lib.m4.
41119         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
41120         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
41121         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
41122         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
41123         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
41124         * modules/relocatable: New file.
41125         * modules/relocatable-lib: New file.
41126         * modules/relocatable-script: New file.
41127
41128 2007-02-28  Bruno Haible  <bruno@clisp.org>
41129
41130         Import --enable-relocatable infrastructure.
41131         * build-aux/config.libpath: New file, from GNU gettext.
41132         * build-aux/install-reloc: New file, from GNU gettext.
41133         * build-aux/reloc-ldflags: New file, from GNU gettext.
41134         * lib/relocatable.h: New file, from GNU gettext.
41135         * lib/relocatable.c: New file, from GNU gettext.
41136         * lib/relocwrapper.c: New file, from GNU gettext.
41137         * m4/relocatable.m4: New file, from GNU gettext.
41138
41139 2007-02-28  Bruno Haible  <bruno@clisp.org>
41140
41141         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
41142
41143         * modules/xreadlink: New file, from GNU gettext with modifications.
41144         * lib/xreadlink.c: New file, from GNU gettext.
41145         * lib/xreadlink.h: Add comments.
41146         (xreadlink): New declaration.
41147
41148         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
41149         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
41150         lib/xreadlink-with-size.c.
41151         (configure.ac): Remove gl_XREADLINK invocation.
41152         (Makefile.am): Augment lib_SOURCES.
41153         * m4/xreadlink.m4: Remove file.
41154         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
41155         (xreadlink_with_size): Renamed from xreadink.
41156         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
41157         * modules/canonicalize (Depends-on): Replace xreadlink with
41158         xreadlink-with-size.
41159         * lib/canonicalize.c (canonicalize_filename_mode): Update.
41160
41161 2007-02-25  Jim Meyering  <jim@meyering.net>
41162
41163         * build-aux/announce-gen: When complaining about excess arguments,
41164         list them.
41165
41166 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
41167
41168         * README: Document signed integer overflow situation more
41169         accurately.
41170
41171 2007-02-25  Bruno Haible  <bruno@clisp.org>
41172
41173         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
41174         'a' or 'A' conversion.
41175
41176 2007-02-25  Bruno Haible  <bruno@clisp.org>
41177
41178         * modules/filename: Renamed from modules/pathname.
41179         (Files): Replace lib/pathname.h with lib/filename.h. Replace
41180         lib/concatpath.c with lib/concat-filename.c.
41181         (Makefile.am): Update.
41182         (Include): Replace pathname.h with filename.h.
41183         * lib/filename.h: Renamed from lib/pathname.h.
41184         (concatenated_filename): Renamed from concatenated_pathname.
41185         * lib/concat-filename.c: Renamed from lib/concatpath.c.
41186         (concatenated_filename): Renamed from concatenated_pathname.
41187         * lib/findprog.c: Include filename.h instead of pathname.h.
41188         (find_in_path): Update.
41189         * lib/javacomp.c: Include filename.h instead of pathname.h.
41190         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
41191         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
41192         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
41193         is_oldgcj_14_13_usable, is_javac_usable): Update.
41194         * lib/javaexec.c: Include filename.h instead of pathname.h.
41195         (execute_java_class): Update.
41196         * modules/findprog: Update.
41197         * modules/javacomp: Update.
41198         * modules/javaexec: Update.
41199         * MODULES.html.sh (File system functions): Add 'filename', remove
41200         'pathname'.
41201
41202 2007-02-25  Bruno Haible  <bruno@clisp.org>
41203
41204         * modules/printf-frexpl-tests: New file.
41205         * tests/test-printf-frexpl.c: New file.
41206
41207         * modules/printf-frexpl: New file.
41208         * lib/printf-frexpl.h: New file.
41209         * lib/printf-frexpl.c: New file.
41210         * m4/printf-frexpl.m4: New file.
41211
41212 2007-02-25  Bruno Haible  <bruno@clisp.org>
41213
41214         * modules/printf-frexp-tests: New file.
41215         * tests/test-printf-frexp.c: New file.
41216
41217         * modules/printf-frexp: New file.
41218         * lib/printf-frexp.h: New file.
41219         * lib/printf-frexp.c: New file.
41220         * m4/printf-frexp.m4: New file.
41221
41222 2007-02-25  Bruno Haible  <bruno@clisp.org>
41223
41224         Assume automake >= 1.10 for the tests.
41225         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
41226         * modules/arctwo-tests: Likewise.
41227         * modules/argp-tests: Likewise.
41228         * modules/avltree-list-tests: Likewise.
41229         * modules/avltree-oset-tests: Likewise.
41230         * modules/avltreehash-list-tests: Likewise.
41231         * modules/carray-list-tests: Likewise.
41232         * modules/crc-tests: Likewise.
41233         * modules/des-tests: Likewise.
41234         * modules/gc-arcfour-tests: Likewise.
41235         * modules/gc-arctwo-tests: Likewise.
41236         * modules/gc-des-tests: Likewise.
41237         * modules/gc-hmac-md5-tests: Likewise.
41238         * modules/gc-hmac-sha1-tests: Likewise.
41239         * modules/gc-md2-tests: Likewise.
41240         * modules/gc-md4-tests: Likewise.
41241         * modules/gc-md5-tests: Likewise.
41242         * modules/gc-pbkdf2-sha1-tests: Likewise.
41243         * modules/gc-rijndael-tests: Likewise.
41244         * modules/gc-sha1-tests: Likewise.
41245         * modules/gc-tests: Likewise.
41246         * modules/getaddrinfo-tests: Likewise.
41247         * modules/hmac-md5-tests: Likewise.
41248         * modules/hmac-sha1-tests: Likewise.
41249         * modules/linked-list-tests: Likewise.
41250         * modules/linkedhash-list-tests: Likewise.
41251         * modules/lock-tests: Likewise.
41252         * modules/md2-tests: Likewise.
41253         * modules/md4-tests: Likewise.
41254         * modules/md5-tests: Likewise.
41255         * modules/rbtree-list-tests: Likewise.
41256         * modules/rbtree-oset-tests: Likewise.
41257         * modules/rbtreehash-list-tests: Likewise.
41258         * modules/read-file-tests: Likewise.
41259         * modules/rijndael-tests: Likewise.
41260         * modules/stdint-tests: Likewise.
41261         * modules/tls-tests: Likewise.
41262
41263 2007-02-24  Bruno Haible  <bruno@clisp.org>
41264
41265         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
41266         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
41267         function; instead check whether isnan with a double argument links.
41268         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
41269         function; instead check whether isnan with a 'long double' argument
41270         links.
41271         Reported by Eric Blake <ebb9@byu.net>.
41272
41273 2007-02-24  Bruno Haible  <bruno@clisp.org>
41274
41275         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
41276         defined.
41277         * lib/isnanl.c: Remove all code. Just include isnan.c.
41278         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
41279
41280 2007-02-25  Jim Meyering  <jim@meyering.net>
41281
41282         Avoid conflicting types for 'unsetenv' on FreeBSD.
41283         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
41284         conflicting with FreeBSD's (5.0 and 6.1) function declaration
41285         in stdlib.h.
41286
41287 2007-02-24  Bruno Haible  <bruno@clisp.org>
41288
41289         * modules/isnanl-nolibm-tests: New file.
41290         * tests/test-isnanl.c: New file.
41291
41292         * modules/isnanl-nolibm: New file.
41293         * lib/isnanl.h: New file.
41294         * lib/isnanl.c: New file.
41295         * m4/isnanl.m4: New file.
41296
41297 2007-02-24  Bruno Haible  <bruno@clisp.org>
41298
41299         * modules/isnan-nolibm-tests: New file.
41300         * tests/test-isnan.c: New file.
41301
41302         * modules/isnan-nolibm: New file.
41303         * lib/isnan.h: New file.
41304         * lib/isnan.c: New file.
41305         * m4/isnan.m4: New file.
41306
41307 2007-02-24  Bruno Haible  <bruno@clisp.org>
41308
41309         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
41310         assume that an exponent fits in 20 bits.
41311
41312 2007-02-24  Jim Meyering  <jim@meyering.net>
41313
41314         * m4/regex.m4: Update the description of the configure-time option,
41315         --without-included-regex, to state accurately what the defaults are,
41316         and perhaps to give people an idea why using this option is risky.
41317
41318 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
41319
41320         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
41321         loops on small arguments.  This attempts to avoid the problem
41322         Bruno Haible reported for AIX 4.3.2 in
41323         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
41324
41325 2007-02-23  Bruno Haible  <bruno@clisp.org>
41326
41327         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
41328         Needed for help2man.
41329
41330 2007-02-23  Karl Berry  <karl@gnu.org>
41331
41332         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
41333         exists, foo.h should be cvs-ignored, not committed.
41334
41335 2007-02-23  Eric Blake  <ebb9@byu.net>
41336
41337         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
41338         * lib/stat-time.h (includes): Likewise.
41339         * lib/utimecmp.c (includes): Likewise.
41340         * lib/utimens.h (includes): Likewise.
41341         * lib/getdate.y (includes): Also include "timespec.h" for use
41342         internal to the module.
41343         * modules/utimens (Depends-on): Revert yesterday's patch.
41344         * modules/nanosleep (Depends-on): Add missing dependency.
41345
41346 2007-02-22  Bruno Haible  <bruno@clisp.org>
41347
41348         * lib/glob.c: Don't include getlogin_r.h.
41349
41350 2007-02-22  Jim Meyering  <jim@meyering.net>
41351
41352         * modules/utimens (Depends-on): Add timespec, required for
41353         utimens.h's inclusion of timespec.h.
41354
41355 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
41356
41357         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
41358         long unreadable paths in GNU/Linux.  Problem reported by Andreas
41359         Schwab in
41360         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
41361         I'll try to think of a better way to fix the Solaris problem.
41362
41363         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
41364         like glibc; on Solaris 10, it fails with errno == EINVAL.
41365         POSIX says the behavior is unspecified if the first argument is NULL,
41366         so play it safe and never pass NULL to the system getcwd.
41367
41368 2007-02-21  Jim Meyering  <jim@meyering.net>
41369
41370         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
41371         of gettimeofday.  It would conflict with the one now always
41372         provided via sys_time_.h.  Reported by Matthew Woehlke, as
41373         an IRIX 6.5 build failure.
41374
41375 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
41376
41377         Minor fixups to port to Solaris 10 with Sun C 5.8.
41378         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
41379         * modules/getcwd (Depends-on): Add dirfd.
41380         * lib/putenv.c (putenv): #undef it.
41381         (rpl_putenv): New decl.
41382         (malloc, free): Include <stdlib.h> rather than prototyping separately.
41383
41384 2007-02-20  Bruno Haible  <bruno@clisp.org>
41385
41386         * modules/stdio-tests: New file.
41387         * tests/test-stdio.c: New file.
41388
41389         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
41390         (Depends-on): Add stdio.
41391         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
41392         (Include): Use <stdio.h> instead of vsnprintf.h.
41393         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
41394         HAVE_DECL_VSNPRINTF.
41395         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
41396
41397         * modules/snprintf (Files): Remove lib/snprintf.h.
41398         (Depends-on): Add stdio.
41399         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
41400         (Include): Use <stdio.h> instead of snprintf.h.
41401         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
41402         HAVE_DECL_SNPRINTF.
41403         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
41404         * lib/getaddrinfo.c: Likewise.
41405
41406         * modules/stdio: New file.
41407         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
41408         * lib/snprintf.h: Remove file.
41409         * lib/vsnprintf.h: Remove file.
41410         * lib/.cppi-disable: Remove snprintf.h.
41411         * m4/stdio_h.m4: New file.
41412         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
41413
41414 2007-02-20  Jim Meyering  <jim@meyering.net>
41415
41416         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
41417         used by e.g., mingw.  From Bruno Haible.
41418
41419 2007-02-19  Bruno Haible  <bruno@clisp.org>
41420
41421         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
41422         warnings.
41423         Reported by Ben Pfaff <blp@cs.stanford.edu>.
41424
41425 2007-02-19  Bruno Haible  <bruno@clisp.org>
41426
41427         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
41428         from mingw users.
41429
41430 2007-02-19  Bruno Haible  <bruno@clisp.org>
41431
41432         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
41433         warnings.
41434         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
41435
41436 2007-02-19  Jim Meyering  <jim@meyering.net>
41437
41438         Don't use FD after a successful "fdopendir (fd)".
41439         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
41440         Reset it by calling dirfd on the just-obtained DIR*.
41441
41442         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
41443         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
41444
41445 2007-02-18  Bruno Haible  <bruno@clisp.org>
41446
41447         * lib/readlink.c: Include <unistd.h>.
41448         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
41449         HAVE_READLINK.
41450         * modules/readlink (Depends-on): Add unistd.
41451         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41452         (Include): Add <unistd.h>.
41453
41454         * lib/getlogin_r.h: Remove file.
41455         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
41456         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
41457         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
41458         HAVE_DECL_GETLOGIN_R.
41459         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
41460         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41461         (Include): Use <unistd.h> instead of getlogin_r.h.
41462
41463         * lib/getcwd.h: Remove file.
41464         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
41465         * lib/xgetcwd.c: Likewise.
41466         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
41467         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
41468         * modules/getcwd (Files): Remove lib/getcwd.h.
41469         (Depends-on): Add unistd.
41470         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41471         (Include): Use <unistd.h> instad of getcwd.h.
41472
41473         * lib/ftruncate.c: Include <unistd.h> first.
41474         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
41475         Set HAVE_FTRUNCATE.
41476         * modules/ftruncate (Depends-on): Add unistd.
41477         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41478
41479         * lib/fchdir.c: Include <unistd.h> first.
41480         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
41481         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
41482         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
41483         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41484         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
41485
41486         * lib/dup2.c: Include <unistd.h> first.
41487         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
41488         HAVE_DUP2.
41489         * modules/dup2 (Depends-on): Add unistd.
41490         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41491
41492         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
41493         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
41494         REPLACE_CHOWN. Don't define chown as a macro here.
41495         * modules/chown (Depends-on): Add unistd.
41496         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41497
41498         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
41499         Add definition for GL_LINK_WARNING.
41500         (chown, dup2): New declarations.
41501         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
41502         link warning.
41503         (ftruncate): New declaration.
41504         (getcwd): New declaration, taken from old getcwd.h.
41505         (getlogin_r): New declaration, taken from old getlogin_r.h.
41506         (readlink): New declaration.
41507         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
41508         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
41509         (gl_PREREQ_UNISTD): Remove macro.
41510         (gl_UNISTD_MODULE_INDICATOR): New macro.
41511         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
41512         many new variables. Don't set UNISTD_H.
41513         * modules/unistd (Description): Change.
41514         (Depends-on): Add link-warning.
41515         (configure.ac): Update.
41516         (Makefile.am): Create unistd.h always. Substitute many new variables
41517         into it.
41518
41519 2007-02-18  Bruno Haible  <bruno@clisp.org>
41520
41521         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
41522         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
41523         HAVE_GETSUBOPT.
41524         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
41525         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
41526         * lib/getsubopt.h: Remove file.
41527         * modules/getsubopt (Files): Remove lib/getsubopt.h.
41528         (Depends-on): Add stdlib.
41529         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
41530         (Includes): Use <stdlib.h> instead of getsubopt.h.
41531         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
41532         Set HAVE_GETSUBOPT.
41533         * lib/getsubopt.c: Don't include getsubopt.h.
41534
41535 2007-02-18  Bruno Haible  <bruno@clisp.org>
41536
41537         * modules/fchdir (Depends-on): Add dup2.
41538
41539 2007-02-18  Bruno Haible  <bruno@clisp.org>
41540
41541         * lib/stdlib_.h: Handle glibc's special invocation convention
41542         specially.
41543
41544 2007-02-18  Bruno Haible  <bruno@clisp.org>
41545
41546         * modules/stdlib-tests: New file.
41547         * tests/test-stdlib.c: New file.
41548
41549         * modules/mkstemp (Files): Remove lib/mkstemp.h.
41550         (Depends-on): Add stdlib.
41551         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
41552         (Includes): Use <stdlib.h> instead of mkstemp.h.
41553         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
41554         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
41555         * lib/mkstemp.c: Don't include mkstemp.h.
41556         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
41557         * lib/stdlib--.h: Don't include mkstemp.h.
41558
41559         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
41560         (Depends-on): Add stdlib.
41561         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
41562         (Includes): Use <stdlib.h> instead of mkdtemp.h.
41563         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
41564         HAVE_MKDTEMP.
41565         * lib/mkdtemp.c: Don't include mkdtemp.h.
41566         * lib/clean-temp.c: Don't include mkdtemp.h.
41567
41568         * modules/exit (Files): Remove lib/exit.h.
41569         (Depends-on): Add stdlib.
41570         (Makefile.am): Remove lib_SOURCES.
41571         (Include): Use <stdlib.h> instead of exit.h.
41572         * lib/argmatch.c: Don't include exit.h.
41573         * lib/execute.c: Likewise.
41574         * lib/pagealign_alloc.c: Likewise.
41575         * lib/pipe.c: Likewise.
41576         * lib/wait-process.c: Likewise.
41577         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
41578         * lib/exitfail.c: Likewise.
41579         * lib/savewd.c: Likewise.
41580         * lib/xsetenv.c: Likewise.
41581
41582         * modules/stdlib: New file.
41583         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
41584         and extra comments about mkstemp().
41585         * lib/exit.h: Remove file.
41586         * lib/mkdtemp.h: Remove file.
41587         * lib/mkstemp.h: Remove file.
41588         * m4/stdlib_h.m4: New file.
41589         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
41590
41591 2007-02-18  Bruno Haible  <bruno@clisp.org>
41592
41593         * modules/math-tests: New file.
41594         * tests/test-math.c: New file.
41595
41596         * modules/math: New file.
41597         * modules/mathl (Files): Remove lib/mathl.h.
41598         (Depends-on): Add math.
41599         (Makefile.am): Don't mention mathl.h.
41600         (Include): Use <math.h> instead of mathl.h.
41601         * lib/math_.h: New file.
41602         * lib/mathl.h: Remove file.
41603         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
41604         mathl.h.
41605         * lib/asinl.c: Likewise.
41606         * lib/atanl.c: Likewise.
41607         * lib/ceill.c: Likewise.
41608         * lib/cosl.c: Likewise.
41609         * lib/expl.c: Likewise.
41610         * lib/floorl.c: Likewise.
41611         * lib/frexpl.c: Likewise.
41612         * lib/ldexpl.c: Likewise.
41613         * lib/logl.c: Likewise.
41614         * lib/sincosl.c: Likewise.
41615         * lib/sinl.c: Likewise.
41616         * lib/sqrtl.c: Likewise.
41617         * lib/tanl.c: Likewise.
41618         * lib/trigl.c: Likewise.
41619         * m4/math_h.m4: New file.
41620         * MODULES.html.sh (Mathematics): Add math.
41621
41622 2007-02-17  Bruno Haible  <bruno@clisp.org>
41623
41624         * modules/wctype-tests: New file.
41625         * tests/test-wctype.c: New file.
41626
41627         * modules/wchar-tests: New file.
41628         * tests/test-wchar.c: New file.
41629
41630         * modules/unistd-tests: New file.
41631         * tests/test-unistd.c: New file.
41632
41633         * modules/time-tests: New file.
41634         * tests/test-time.c: New file.
41635
41636         * modules/sysexits-tests: New file.
41637         * tests/test-sysexits.c: New file.
41638
41639         * modules/sys_time-tests: New file.
41640         * tests/test-sys_time.c: New file.
41641
41642         * modules/sys_stat-tests: New file.
41643         * tests/test-sys_stat.c: New file.
41644
41645         * modules/sys_socket-tests: New file.
41646         * tests/test-sys_socket.c: New file.
41647
41648         * modules/sys_select-tests: New file.
41649         * tests/test-sys_select.c: New file.
41650
41651         * modules/string-tests: New file.
41652         * tests/test-string.c: New file.
41653
41654         * modules/stdbool-tests: New file.
41655         * tests/test-stdbool.c: New file.
41656
41657         * modules/netinet_in-tests: New file.
41658         * tests/test-netinet_in.c: New file.
41659
41660         * modules/inttypes-tests: New file.
41661         * tests/test-inttypes.c: New file.
41662
41663         * modules/fcntl-tests: New file.
41664         * tests/test-fcntl.c: New file.
41665
41666         * modules/byteswap-tests: New file.
41667         * tests/test-byteswap.c: New file.
41668
41669         * modules/arpa_inet-tests: New file.
41670         * tests/test-arpa_inet.c: New file.
41671
41672 2007-02-17  Bruno Haible  <bruno@clisp.org>
41673
41674         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
41675         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
41676         if the corresponding module is not enabled. Emit link warnings if
41677         the function is used nevertheless.
41678         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
41679         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
41680         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
41681         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
41682         * modules/inttypes (Depends-on): Add link-warning.
41683         (Makefile.am): Copy the contents of build-aux/link-warning.h into
41684         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
41685         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
41686         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
41687         * modules/imaxdiv (configure.ac): Likewise.
41688         * modules/strtoimax (configure.ac): Likewise.
41689         * modules/strtoumax (configure.ac): Likewise.
41690
41691 2007-02-17  Bruno Haible  <bruno@clisp.org>
41692
41693         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
41694         gl_STRING_MODULE_INDICATOR_DEFAULTS.
41695         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
41696         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
41697
41698 2007-02-17  Bruno Haible  <bruno@clisp.org>
41699
41700         * modules/link-warning: New file.
41701         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
41702         * lib/string_.h (GL_LINK_WARNING): Remove definition.
41703         * modules/string (Depends-on): Add link-warning.
41704         (Makefile.am): Copy the contents of build-aux/link-warning.h into
41705         string.h.
41706         * MODULES.html.sh (Support for building libraries and executables): Add
41707         link-warning.
41708
41709 2007-02-17  Bruno Haible  <bruno@clisp.org>
41710
41711         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
41712         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
41713         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
41714         long lines.
41715
41716 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
41717             Bruno Haible  <bruno@clisp.org>
41718
41719         * modules/tmpfile: New file.
41720         * lib/tmpfile.c: New file.
41721         * m4/tmpfile.m4: New file.
41722         * MODULES.html.sh (func_all_modules): New section "Input/output".
41723
41724 2007-02-15  Bruno Haible  <bruno@clisp.org>
41725
41726         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
41727         (supports_delete_on_close): New function.
41728         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
41729
41730 2007-02-14  Bruno Haible  <bruno@clisp.org>
41731
41732         * modules/mbspcasecmp-tests: New file.
41733         * tests/test-mbspcasecmp.sh: New file.
41734         * tests/test-mbspcasecmp.c: New file.
41735
41736         New module mbspcasecmp.
41737         * modules/mbspcasecmp: New file.
41738         * lib/mbspcasecmp.c: New file.
41739         * lib/string_.h (strncasecmp): Change warning message.
41740         (mbspcasecmp): New declaration.
41741         * m4/mbspcasecmp.m4: New file.
41742         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
41743         GNULIB_MBSPCASECMP.
41744         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
41745         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
41746
41747 2007-02-14  Bruno Haible  <bruno@clisp.org>
41748
41749         * modules/mbsncasecmp-tests: New file.
41750         * tests/test-mbsncasecmp.sh: New file.
41751         * tests/test-mbsncasecmp.c: New file.
41752
41753         New module mbsncasecmp.
41754         * modules/mbsncasecmp: New file.
41755         * lib/mbsncasecmp.c: New file.
41756         * lib/string_.h (mbsncasecmp): New declaration.
41757         * m4/mbsncasecmp.m4: New file.
41758         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
41759         GNULIB_MBSNCASECMP.
41760         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
41761         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
41762
41763 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
41764
41765         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
41766         Verify that it doesn't overlap with our flags.
41767         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
41768         do not have the desired effect in multibyte locales; instead, use
41769         mbscasecmp.
41770         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
41771         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
41772         we don't require GNU fnmatch ourselves (if our users require it, they
41773         should do so explicitly).
41774
41775         Fix regex code so it doesn't rely on strcasecmp.
41776         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
41777         Otherwise, include gnulib's langinfo.h.
41778         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
41779         undesirable behavior in non-C locales.  Instead, rely on localecharset.
41780         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
41781         * modules/regex (FILES): Remove m4/codeset.m4.
41782         (Depends-on): Add localcharset.  Remove strcase.
41783
41784 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41785
41786         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
41787         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
41788
41789 2007-02-13  Bruno Haible  <bruno@clisp.org>
41790
41791         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
41792         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
41793
41794 2007-02-12  Bruno Haible  <bruno@clisp.org>
41795
41796         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
41797         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
41798         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
41799         time warning rather than a link error.
41800
41801 2007-02-12  Bruno Haible  <bruno@clisp.org>
41802
41803         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
41804         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
41805         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
41806
41807 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
41808
41809         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
41810         args, not 2.
41811
41812 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
41813
41814         New module 'time', so that apps can include <time.h> as per
41815         POSIX and GNU instead of separate include files like time_r.h
41816         and timegm.h.  This implementation tries out a simpler approach
41817         for replacing decls in standard include files (as compared to
41818         the string module), somewhat as an experiment.
41819
41820         * config/srclist.txt: Comment out mktime.c for now.
41821         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
41822         since it doesn't apply any more.  Use generic wording instead.
41823         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
41824         'time'.
41825         * lib/time_.h, m4/time_h.m4, modules/time: New files.
41826         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
41827         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
41828         Don't include <sys/types.h>; no longer needed since we assume C89.
41829         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
41830         * lib/strftime.c: Likewise.
41831         * lib/time_r.c: Likewise.
41832         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
41833         * lib/nanosleep.c: Include <time.h> first, to check interface.
41834         * lib/strptime.c: Likewise.
41835         * lib/time_r.c: Likewise.
41836         * lib/timegm.c: Likewise.
41837         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
41838         needed.
41839         * lib/timegm.c: Don't include timegm.h; no longer needed.
41840         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
41841         time.h now handles any problems in that area.
41842         (struct timespec, nanosleep): Remove; time.h now arranges for these.
41843         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
41844         that time.h defines struct timespec.
41845         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
41846         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
41847         handles that.
41848         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
41849         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
41850         needed.  Set REPLACE_LOCALTIME.
41851         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
41852         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
41853         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
41854         nanosleep; time_h.m4 now does that.  Don't require
41855         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
41856         module handles this now.
41857         * modules/getdate (Depends-on): Remove timespec.  Add time.
41858         * modules/nanosleep (Depends-on): Likewise.
41859         * modules/stat-time (Depends-on): Likewise.
41860         * modules/nanosleep (Include): Include time.h, not timespec.h.
41861         * modules/strptime (Files): Remove lib/strptime.h.
41862         (Depends-on): Add extensions, time.
41863         (Include): Include time.h, not strptime.h.
41864         * modules/time_r (Files): Remove lib/time_r.h.
41865         (Depends-on): Add time.
41866         (Include): Include time.h, not time_r.h.
41867         * modules/timegm: Likewise.
41868         * modules/timespec (Description): Now does timespec-related decls
41869         of our own, instead of struct timespec itself.
41870         (Depends-on): Add time; remove extensions.
41871         (Maintainer): Add self.
41872         * modules/utimecmp (Depends-on): Add time; remove timespec.
41873         * modules/utimens (Depends-on): Likewise.
41874         * modules/xnanosleep (Depends-on): Likewise.
41875
41876 2007-02-11  Bruno Haible  <bruno@clisp.org>
41877
41878         * lib/c-strstr.c: Include allocsa.h.
41879         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
41880         * lib/c-strcasestr.c: Include allocsa.h.
41881         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
41882         * lib/strcasestr.c: Include allocsa.h.
41883         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
41884         * lib/mbsstr.c: Include allocsa.h.
41885         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
41886         allocsa/freesa instead of malloc/free.
41887         * lib/mbscasestr.c: Include allocsa.h.
41888         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
41889         allocsa/freesa instead of malloc/free.
41890         * modules/c-strstr (Depends-on): Add allocsa.
41891         * modules/c-strcasestr (Depends-on): Likewise.
41892         * modules/strcasestr (Depends-on): Likewise.
41893         * modules/mbsstr (Depends-on): Likewise.
41894         * modules/mbscasestr (Depends-on): Likewise.
41895
41896 2007-02-11  Bruno Haible  <bruno@clisp.org>
41897
41898         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
41899
41900         * modules/mbsspn-tests: New file.
41901         * tests/test-mbsspn.sh: New file.
41902         * tests/test-mbsspn.c: New file.
41903
41904 2007-02-11  Bruno Haible  <bruno@clisp.org>
41905
41906         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
41907
41908         * modules/mbspbrk-tests: New file.
41909         * tests/test-mbspbrk.sh: New file.
41910         * tests/test-mbspbrk.c: New file.
41911
41912 2007-02-11  Bruno Haible  <bruno@clisp.org>
41913
41914         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
41915         unneeded cast.
41916
41917         * modules/mbscspn-tests: New file.
41918         * tests/test-mbscspn.sh: New file.
41919         * tests/test-mbscspn.c: New file.
41920
41921 2007-02-11  Bruno Haible  <bruno@clisp.org>
41922
41923         * modules/mbscasecmp-tests: New file.
41924         * tests/test-mbscasecmp.sh: New file.
41925         * tests/test-mbscasecmp.c: New file.
41926
41927 2007-02-11  Bruno Haible  <bruno@clisp.org>
41928
41929         Ensure O(n) worst-case complexity of mbscasestr.
41930         * lib/mbscasestr.c: Include stdbool.h.
41931         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
41932         functions.
41933         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
41934         the bookkeeping indicates that it's worth it.
41935         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
41936
41937         * modules/mbscasestr-tests: New file.
41938         * tests/test-mbscasestr1.c: New file.
41939         * tests/test-mbscasestr2.sh: New file.
41940         * tests/test-mbscasestr2.c: New file.
41941         * tests/test-mbscasestr3.sh: New file.
41942         * tests/test-mbscasestr3.c: New file.
41943         * tests/test-mbscasestr4.sh: New file.
41944         * tests/test-mbscasestr4.c: New file.
41945         * m4/locale-tr.m4: New file.
41946
41947 2007-02-11  Bruno Haible  <bruno@clisp.org>
41948
41949         Ensure O(n) worst-case complexity of mbsstr.
41950         * lib/mbsstr.c: Include stdbool.h.
41951         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
41952         functions.
41953         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
41954         bookkeeping indicates that it's worth it.
41955         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
41956
41957         * modules/mbsstr-tests: New file.
41958         * tests/test-mbsstr1.c: New file.
41959         * tests/test-mbsstr2.sh: New file.
41960         * tests/test-mbsstr2.c: New file.
41961         * tests/test-mbsstr3.sh: New file.
41962         * tests/test-mbsstr3.c: New file.
41963         * m4/locale-fr.m4: New file.
41964
41965 2007-02-11  Bruno Haible  <bruno@clisp.org>
41966
41967         * lib/mbsrchr.c (mbsrchr): Fix bug.
41968
41969         * modules/mbsrchr-tests: New file.
41970         * tests/test-mbsrchr.sh: New file.
41971         * tests/test-mbsrchr.c: New file.
41972
41973 2007-02-11  Bruno Haible  <bruno@clisp.org>
41974
41975         * lib/mbschr.c (mbschr): Fix bug.
41976
41977         * modules/mbschr-tests: New file.
41978         * tests/test-mbschr.sh: New file.
41979         * tests/test-mbschr.c: New file.
41980         * m4/locale-zh.m4: New file.
41981
41982 2007-02-11  Bruno Haible  <bruno@clisp.org>
41983
41984         Support for copying multibyte string iterators.
41985         * lib/mbiter.h: Include <string.h>.
41986         (mbiter_multi_copy): New function.
41987         (mbi_copy): New macro.
41988         * lib/mbuiter.h: Include <string.h>.
41989         (mbuiter_multi_copy): New function.
41990         (mbui_copy): New macro.
41991
41992 2007-02-11  Bruno Haible  <bruno@clisp.org>
41993
41994         New module mbslen.
41995         * modules/mbslen: New file.
41996         * lib/mbslen.c: New file.
41997         * lib/string_.h (mbslen): New declaration.
41998         * m4/mbslen.m4: New file.
41999         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42000         GNULIB_MBSLEN.
42001         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
42002         * MODULES.html.sh (Internationalization functions): Add mbslen.
42003
42004 2007-02-11  Bruno Haible  <bruno@clisp.org>
42005
42006         Ensure O(n) worst-case complexity of strcasestr substitute.
42007         * lib/strcasestr.c: Include stdbool.h.
42008         (knuth_morris_pratt): New function.
42009         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
42010         bookkeeping indicates that it's worth it.
42011         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
42012
42013         * modules/strcasestr-tests: New file.
42014         * tests/test-strcasestr.c: New file.
42015
42016 2007-02-11  Bruno Haible  <bruno@clisp.org>
42017
42018         Ensure O(n) worst-case complexity of c_strcasestr.
42019         * lib/c-strcasestr.c: Include stdbool.h, string.h.
42020         (knuth_morris_pratt): New function.
42021         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
42022         the bookkeeping indicates that it's worth it.
42023         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
42024
42025         * modules/c-strcasestr-tests: New file.
42026         * tests/test-c-strcasestr.c: New file.
42027
42028 2007-02-11  Bruno Haible  <bruno@clisp.org>
42029
42030         Ensure O(n) worst-case complexity of c_strstr.
42031         * lib/c-strstr.c: Include stdbool.h, string.h.
42032         (knuth_morris_pratt): New function.
42033         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
42034         bookkeeping indicates that it's worth it.
42035         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
42036
42037         * lib/c-strstr.c: Complete rewrite for maintainability.
42038
42039         * modules/c-strstr-tests: New file.
42040         * tests/test-c-strstr.c: New file.
42041
42042 2007-02-11  Bruno Haible  <bruno@clisp.org>
42043
42044         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
42045         5.2.1 and earlier, whereby \055 was treated just like the range
42046         delimiter '-'.
42047         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
42048
42049 2007-02-08  Bruno Haible  <bruno@clisp.org>
42050
42051         * modules/regex (Depends-on): Add stdbool.
42052         Reported by Dalibor Topic <robilad@kaffe.org>.
42053
42054 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
42055
42056         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
42057         Prefer returning from main to exiting from it.
42058         Remove unnecessary parens after sizeof.
42059
42060 2007-02-05  Bruno Haible  <bruno@clisp.org>
42061
42062         New module mbssep.
42063         * modules/mbssep: New file.
42064         * lib/mbssep.c: New file.
42065         * lib/string_.h (strsep): Add a conditional link warning.
42066         (mbssep): New declaration.
42067         * m4/mbssep.m4: New file.
42068         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42069         GNULIB_MBSSEP.
42070         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
42071         * MODULES.html.sh (Internationalization functions): Add mbssep.
42072
42073 2007-02-05  Bruno Haible  <bruno@clisp.org>
42074
42075         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
42076         Optimize search in case of 1 delimiter.
42077
42078 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
42079
42080         * lib/acl.h: Include sys/types.h before sys/acl.h.
42081
42082 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
42083
42084         Merge upstream fix for glibc bugzilla #3957:
42085
42086         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
42087
42088         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
42089         bit for RE_HAT_LISTS_NOT_NEWLINE.
42090         (build_charclass_op): Remove bogus comment.
42091
42092 2007-02-05  Simon Josefsson  <simon@josefsson.org>
42093
42094         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
42095
42096 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
42097
42098         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
42099         * lib/memmem.c [!defined _LIBC]: Include config.h.
42100
42101 2007-02-04  Bruno Haible  <bruno@clisp.org>
42102
42103         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
42104         warning message.
42105
42106 2007-02-04  Bruno Haible  <bruno@clisp.org>
42107
42108         New module mbstok_r.
42109         * modules/mbstok_r: New file.
42110         * lib/mbstok_r.c: New file.
42111         * lib/string_.h (strtok_r): Change argument names to match the
42112         comments. Add a conditional link warning.
42113         (mbstok_r): New declaration.
42114         * m4/mbstok_r.m4: New file.
42115         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42116         GNULIB_MBSTOK_R.
42117         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
42118         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
42119
42120 2007-02-04  Bruno Haible  <bruno@clisp.org>
42121
42122         New module mbsspn.
42123         * modules/mbsspn: New file.
42124         * lib/mbsspn.c: New file.
42125         * lib/string_.h (strspn): Add a conditional link warning.
42126         (mbsspn): New declaration.
42127         * m4/mbsspn.m4: New file.
42128         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42129         GNULIB_MBSSPN.
42130         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
42131         * MODULES.html.sh (Internationalization functions): Add mbsspn.
42132
42133 2007-02-04  Bruno Haible  <bruno@clisp.org>
42134
42135         New module mbspbrk.
42136         * modules/mbspbrk: New file.
42137         * lib/mbspbrk.c: New file.
42138         * lib/string_.h (strpbrk): Add a conditional link warning.
42139         (mbspbrk): New declaration.
42140         * m4/mbspbrk.m4: New file.
42141         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42142         GNULIB_MBSPBRK.
42143         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
42144         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
42145
42146 2007-02-04  Bruno Haible  <bruno@clisp.org>
42147
42148         New module mbscspn.
42149         * modules/mbscspn: New file.
42150         * lib/mbscspn.c: New file.
42151         * lib/string_.h (strcspn): Add a conditional link warning.
42152         (mbscspn): New declaration.
42153         * m4/mbscspn.m4: New file.
42154         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42155         GNULIB_MBSCSPN.
42156         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
42157         * MODULES.html.sh (Internationalization functions): Add mbscspn.
42158
42159 2007-02-04  Bruno Haible  <bruno@clisp.org>
42160
42161         New module mbscasestr, reduced goal of strcasestr.
42162         * modules/mbscasestr: New file.
42163         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
42164         (mbscasestr): Renamed from strcasestr.
42165         * lib/strcasestr.c: Don't include mbuiter.h.
42166         (strcasestr): Remove support for multibyte locales.
42167         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
42168         Change the conditional link warning.
42169         (mbscasestr): New declaration.
42170         * m4/mbscasestr.m4: New file.
42171         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
42172         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
42173         REPLACE_STRCASESTR.
42174         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
42175         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
42176         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
42177         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
42178         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
42179         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
42180         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
42181         (Depends-on): Remove mbuiter.
42182         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
42183
42184 2007-02-04  Bruno Haible  <bruno@clisp.org>
42185
42186         Simplify handling of strncasecmp.
42187         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
42188         the conditional link warning.
42189         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
42190         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
42191         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
42192         * modules/strcase (configure.ac): Don't invoke
42193         gl_STRING_MODULE_INDICATOR.
42194         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
42195
42196 2007-02-04  Bruno Haible  <bruno@clisp.org>
42197
42198         New module mbscasecmp, reduced goal of strcasecmp.
42199         * modules/mbscasecmp: New file.
42200         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
42201         (mbscasecmp): Renamed from strcasecmp.
42202         * lib/strcasecmp.c: Don't include mbuiter.h.
42203         (strcasecmp): Remove support for multibyte locales.
42204         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
42205         Change the conditional link warning.
42206         (mbscasecmp): New declaration.
42207         * m4/mbscasecmp.m4: New file.
42208         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
42209         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
42210         REPLACE_STRCASECMP.
42211         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
42212         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42213         GNULIB_MBSCASECMP.
42214         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
42215         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
42216         * modules/strcase (Files): Remove m4/mbrtowc.m4.
42217         (Depends-on): Remove mbuiter.
42218         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
42219
42220 2007-02-04  Bruno Haible  <bruno@clisp.org>
42221
42222         New module mbsstr. Remove module strstr.
42223         * modules/mbsstr: New file.
42224         * modules/strstr: Remove file.
42225         * lib/mbsstr.c: Renamed from lib/strstr.c.
42226         (mbsstr): Renamed from strstr.
42227         * lib/string_.h (strstr): Remove declaration. Change the conditional
42228         link warning.
42229         (mbsstr): New declaration.
42230         * m4/mbsstr.m4: New file.
42231         * m4/strstr.m4: Remove file.
42232         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
42233         REPLACE_STRSTR.
42234         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
42235         Don't initialize GNULIB_STRSTR.
42236         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
42237         substitute GNULIB_STRSTR and REPLACE_STRSTR.
42238         * MODULES.html.sh (Internationalization functions): Add mbsstr.
42239         (Support for systems lacking ANSI C 89): Remove strstr.
42240
42241 2007-02-04  Bruno Haible  <bruno@clisp.org>
42242
42243         New module mbsrchr.
42244         * modules/mbsrchr: New file.
42245         * lib/mbsrchr.c: New file.
42246         * lib/string_.h (strrchr): Add a conditional link warning.
42247         (mbsrchr): New declaration.
42248         * m4/mbsrchr.m4: New file.
42249         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42250         GNULIB_MBSRCHR.
42251         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
42252         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
42253
42254 2007-02-04  Bruno Haible  <bruno@clisp.org>
42255
42256         New module mbschr.
42257         * modules/mbschr: New file.
42258         * lib/mbschr.c: New file.
42259         * lib/string_.h (strchr): Add a conditional link warning.
42260         (mbschr): New declaration.
42261         * m4/mbschr.m4: New file.
42262         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42263         GNULIB_MBSCHR.
42264         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
42265         * MODULES.html.sh (Internationalization functions): Add mbschr.
42266
42267 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
42268
42269         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
42270
42271         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
42272
42273 2007-02-04  Bruno Haible  <bruno@clisp.org>
42274
42275         New module description section 'configure.ac-early'.
42276         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
42277         (func_get_autoconf_early_snippet): New function.
42278         (func_import, func_create_testdir): Use it. Remove special cases for
42279         modules 'extensions' and 'lock'.
42280         * modules/extensions (configure.ac-early): Require
42281         gl_USE_SYSTEM_EXTENSIONS.
42282         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
42283
42284 2007-02-04  Bruno Haible  <bruno@clisp.org>
42285
42286         Make use of gcj-4.3's -fsource and -ftarget option.
42287         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
42288         and if so try the options -fsource and -ftarget.
42289         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
42290         source_version, ftarget_option, target_version arguments.
42291         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
42292         (is_envjavac_oldgcj_14_14_usable): Renamed from
42293         is_envjavac_gcj_14_14_usable.
42294         (is_envjavac_oldgcj_14_13_usable): Renamed from
42295         is_envjavac_gcj_14_13_usable.
42296         (is_gcj_present): Update.
42297         (is_gcj_43, is_gcj43_usable): New functions.
42298         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
42299         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
42300         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
42301         try the options -fsource and -ftarget.
42302
42303 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
42304
42305         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
42306         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
42307         larger value.
42308
42309 2007-02-03  Jim Meyering  <jim@meyering.net>
42310
42311         Give tools a better chance to allocate space for very large buffers.
42312         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
42313
42314         Make pwd and readlink work also when run with an unreadable parent dir
42315         on systems with openat support.
42316         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
42317         provided getcwd function, even when we have openat support.
42318         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
42319
42320 2007-02-02  Bruno Haible  <bruno@clisp.org>
42321
42322         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
42323         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
42324         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
42325         portability problems if one of these functions is only used on specific
42326         platforms.
42327         Reported by Paul Eggert.
42328
42329 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
42330
42331         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
42332         is causing more trouble than it's curing.
42333         * lib/regex_internal.h (__mempcpy): Remove.
42334         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
42335         (and make the code a tad smaller to boot).
42336         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
42337
42338 2007-02-02  Jim Meyering  <jim@meyering.net>
42339
42340         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
42341         section, not in the Makefile.am: one.
42342
42343 2007-02-02  Eric Blake  <ebb9@byu.net>
42344
42345         * lib/strchrnul.c: Always include config.h first.
42346
42347         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
42348         gnulib strstr is not necessary here.
42349
42350 2007-02-02  Simon Josefsson  <simon@josefsson.org>
42351
42352         * m4/socklen.m4: Fix typo.
42353
42354 2007-02-02  Eric Blake  <ebb9@byu.net>
42355
42356         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
42357         * modules/netinet_in (Makefile.am): Likewise.
42358
42359 2007-02-01  Bruno Haible  <bruno@clisp.org>
42360
42361         * lib/string_.h (GL_LINK_WARNING): New macro.
42362         (strcasecmp, strstr, strcasestr): If provided by the system,
42363         conditionally define as a macro that leads to a warning instead of to
42364         an error.
42365         (strncasecmp): Conditionally define as a macro that leads to a warning.
42366
42367 2007-02-01  Karl Berry  <karl@gnu.org>
42368
42369         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
42370
42371 2007-02-01  Bruno Haible  <bruno@clisp.org>
42372
42373         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
42374         renamings.
42375
42376 2007-02-01  Eric Blake  <ebb9@byu.net>
42377
42378         * modules/regex (Depends-on): Revert dependence on mempcpy.
42379         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
42380         module's definition of mempcpy.
42381         Reported by Paul Eggert.
42382
42383 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
42384
42385         * lib/string_.h: If the gnulib module XYZ is not present, undefine
42386         the symbol XYZ before redefining it.  This fixes a problem with
42387         programs that don't use XYZ, when compiled on systems that define
42388         XYZ to something else.
42389
42390 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
42391
42392         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
42393         occurs when "mkdir -m foo" creates a setgid directory that is (1)
42394         writeable to group or other and (2) is intended to have a special
42395         mode bit that is set or cleared.  In such a case, the directory
42396         should be neither group- nor other-writeable until the special
42397         mode bits are right.
42398
42399 2007-01-31  Eric Blake  <ebb9@byu.net>
42400
42401         * modules/mountlist (Depends-on): Add strstr.
42402
42403         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
42404         bug.
42405         * modules/string (Makefile.am): Remove redundant replacement.
42406         * modules/regex (Depends-on): Add mempcpy.
42407
42408 2007-01-31  Bruno Haible  <bruno@clisp.org>
42409
42410         New module description field 'Link'.
42411         * gnulib-tool (func_usage): Document --extract-link-directive.
42412         (sed_extract_prog): Recognize 'Link' directive.
42413         (func_get_link_directive): New function.
42414         (func_import): Show summary of link directives.
42415         Handle --extract-link-directive option.
42416         * modules/acl (Link): New section.
42417         * modules/clock-time (Link): New section.
42418         * modules/euidaccess (Link): New section.
42419         * modules/gettext (Link): New section.
42420         * modules/iconv (Link): New section.
42421         * modules/lock (Link): New section.
42422         * modules/nanosleep (Link): New section.
42423         * modules/readline (Link): New section.
42424
42425 2007-01-27  Bruno Haible  <bruno@clisp.org>
42426
42427         Enforce the use of gnulib modules for unportable <string.h> functions.
42428         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
42429         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
42430         (gl_HEADER_STRING_H_BODY): Require it.
42431         * lib/string_.h: If the gnulib module XYZ is not present, redefine
42432         the symbol XYZ to one that gives a link error.
42433         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
42434         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
42435         * modules/mempcpy (configure.ac): Likewise.
42436         * modules/memrchr (configure.ac): Likewise.
42437         * modules/stpcpy (configure.ac): Likewise.
42438         * modules/stpncpy (configure.ac): Likewise.
42439         * modules/strcase (configure.ac): Likewise.
42440         * modules/strcasestr (configure.ac): Likewise.
42441         * modules/strchrnul (configure.ac): Likewise.
42442         * modules/strdup (configure.ac): Likewise.
42443         * modules/strndup (configure.ac): Likewise.
42444         * modules/strnlen (configure.ac): Likewise.
42445         * modules/strpbrk (configure.ac): Likewise.
42446         * modules/strsep (configure.ac): Likewise.
42447         * modules/strstr (configure.ac): Likewise.
42448         * modules/strtok_r (configure.ac): Likewise.
42449
42450 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
42451
42452         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
42453
42454 2007-01-30  Jim Meyering  <jim@meyering.net>
42455
42456         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
42457
42458 2007-01-29  Bruno Haible  <bruno@clisp.org>
42459
42460         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
42461         * lib/execute.c: Likewise.
42462         * lib/pipe.c: Likewise.
42463         * lib/printf-args.h: Likewise.
42464         * lib/printf-args.c: Likewise.
42465         * lib/printf-parse.c: Likewise.
42466         * lib/vasnprintf.c: Likewise.
42467
42468 2007-01-29  Eric Blake  <ebb9@byu.net>
42469
42470         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
42471         declaration.
42472
42473 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
42474
42475         * lib/strptime.h (strptime): Use 'restrict' for args where
42476         POSIX requires this.
42477         * lib/strptime.c (strptime): Likewise.
42478         Change license notice from LGPL to GPL, since gnulib-tool will
42479         change this as needed.
42480         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
42481         defined.
42482         Include "strptime.h" first, to check interface.
42483         Do not #undef _LIBC and _NL_CURRENT.
42484         Do not include <stdlib.h>; no longer needed.
42485         Include "time_r.h" and declare ptime_locale_status
42486         only if _LIBC is not defined.
42487         (__P): Remove unused macro.
42488         (match_string): Bring back glibc version, but use it only if _LIBC
42489         is defined.
42490         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
42491         Remove unnecessary assertion and abort() call.
42492         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
42493         * m4/strptime.m4: Fix serial number comment.
42494         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
42495         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
42496         (Depends-on): Add time_r.
42497
42498 2007-01-29  Bruno Haible  <bruno@clisp.org>
42499
42500         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
42501         strptime.
42502         * modules/strptime (Depends-on): Add stdbool.
42503         * lib/strptime.h: Include <time.h> always. Add comments.
42504
42505 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
42506
42507         * modules/strptime: New file.
42508         * lib/strptime.h: New file.
42509         * lib/strptime.c: New file.
42510         * m4/strptime.m4: New file.
42511
42512 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
42513
42514         * MODULES.html.sh: New module mpsort.
42515         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
42516
42517         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
42518         a circularity problem with HP-UX ia64 reported by Bob Proulx in
42519         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
42520         All uses changed.
42521         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
42522         All uses changed.
42523         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
42524         to _Restrict_.
42525         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
42526         the parameter matches the prototype.
42527
42528 2007-01-28  Jim Meyering  <jim@meyering.net>
42529
42530         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
42531         sys/time.h here, reverting that part of the previous patch:
42532         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
42533
42534 2007-01-28  Bruno Haible  <bruno@clisp.org>
42535
42536         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
42537         value of $(SYS_TIME_H).
42538         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
42539         remove it conditionally, too. [added by Jim Meyering]
42540         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
42541         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
42542         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
42543         GETTIMEOFDAY_REPLACEMENT to 1.
42544
42545 2007-01-28  Bruno Haible  <bruno@clisp.org>
42546
42547         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
42548         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
42549         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
42550         Set UNISTD_H instead of UNISTD_H2.
42551         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
42552
42553 2007-01-28  Bruno Haible  <bruno@clisp.org>
42554
42555         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
42556         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
42557
42558 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42559
42560         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
42561         (func_create_testdir): Ensure C locale for `grep' and `tr'
42562         character ranges.
42563         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
42564         ACLOCAL_AMFLAGS parsing state machine.
42565
42566 2007-01-27  Bruno Haible  <bruno@clisp.org>
42567
42568         * modules/unistr/base: Update.
42569
42570 2007-01-27  Bruno Haible  <bruno@clisp.org>
42571
42572         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
42573         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
42574         * modules/unistr/u32-mbtouc-unsafe: Renamed from
42575         modules/unistr/u32-mbtouc.
42576         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
42577         * lib/unistr.h: Update.
42578         * lib/linebreak.c: Update.
42579         * modules/unistr/u32-mbtouc: Renamed from
42580         modules/unistr/u32-mbtouc-safe.
42581         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
42582         * lib/unistr.h: Update.
42583         * lib/unistr/u32-to-u8.c: Update.
42584         * lib/unistr/u32-to-u16.c: Update.
42585
42586 2007-01-27  Bruno Haible  <bruno@clisp.org>
42587
42588         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
42589         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
42590         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
42591         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
42592         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
42593         * modules/unistr/u16-mbtouc-unsafe: Renamed from
42594         modules/unistr/u16-mbtouc.
42595         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
42596         * lib/unistr.h: Update.
42597         * lib/linebreak.c: Update.
42598         * modules/linebreak: Update.
42599         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
42600         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
42601         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
42602         * modules/unistr/u16-mbtouc: Renamed from
42603         modules/unistr/u16-mbtouc-safe.
42604         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
42605         * lib/unistr.h: Update.
42606         * lib/unistr/u16-to-u8.c: Update.
42607         * modules/unistr/u16-to-u8: Update.
42608         * lib/unistr/u16-to-u32.c: Update.
42609         * modules/unistr/u16-to-u32: Update.
42610
42611 2007-01-27  Bruno Haible  <bruno@clisp.org>
42612
42613         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
42614         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
42615         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
42616         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
42617         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
42618         * modules/unistr/u8-mbtouc-unsafe: Renamed from
42619         modules/unistr/u8-mbtouc.
42620         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
42621         * lib/unistr.h: Update.
42622         * lib/striconveh.c: Update.
42623         * modules/striconveh: Update.
42624         * lib/linebreak.c: Update.
42625         * modules/linebreak: Update.
42626         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
42627         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
42628         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
42629         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
42630         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
42631         * lib/unistr.h: Update.
42632         * lib/striconveh.c: Update.
42633         * modules/striconveh: Update.
42634         * lib/unistr/u8-to-u16.c: Update.
42635         * modules/unistr/u8-to-u16: Update.
42636         * lib/unistr/u8-to-u32.c: Update.
42637         * modules/unistr/u8-to-u32: Update.
42638
42639 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42640
42641         Sync from Libtool.
42642         * lib/argz.c: Do not include strings.h nor memory.h, include
42643         string.h unconditionally.  Patch by Simon Josefsson.
42644
42645 2007-01-27  Bruno Haible  <bruno@clisp.org>
42646
42647         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
42648         from gl_HEADER_STRING_H_BODY.
42649         (gl_HEADER_STRING_H_BODY): Require it.
42650         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
42651         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
42652         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
42653         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
42654         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
42655         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
42656         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
42657         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
42658         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
42659         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
42660         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
42661         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
42662         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
42663         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
42664         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
42665
42666 2007-01-27  Bruno Haible  <bruno@clisp.org>
42667
42668         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
42669         check_PROGRAMS into noinst_PROGRAMS.
42670         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
42671         check_PROGRAMS in this case.
42672         (func_import): Set for_test to false.
42673         (func_create_testdir): Set for_test to true.
42674
42675 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
42676             Bruno Haible  <bruno@clisp.org>
42677
42678         * modules/strcasestr (Files): Remove lib/strcasestr.h.
42679         (Depends-on): Add string.
42680         (Includes): Use <string.h> instead of strcasestr.h.
42681         * modules/string (Makefile.am): Also substitute the value of
42682         REPLACE_STRCASESTR.
42683         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
42684         assume strcasestr is declared in <string.h> not <strings.h>. Also
42685         set REPLACE_STRCASESTR.
42686         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
42687         REPLACE_STRCASESTR.
42688         * lib/strcasestr.h: Remove file.
42689         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
42690         * lib/string_.h (strcasestr): New declaration.
42691
42692 2007-01-27  Bruno Haible  <bruno@clisp.org>
42693
42694         * lib/string_.h: Use 'extern'.
42695
42696 2007-01-27  Jim Meyering  <jim@meyering.net>
42697
42698         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
42699         of set-but-not-used local, "q".
42700
42701         * lib/mempcpy.c: Include <config.h> before <string.h>.
42702         This fixes a compilation error on HP-UX, due to the system's
42703         "restrict"-using mempcpy prototype.
42704
42705 2007-01-26  Bruno Haible  <bruno@clisp.org>
42706
42707         Small optimization.
42708         * lib/javacomp.c: Include c-strstr.h.
42709          (is_envjavac_gcj): Use c_strstr instead of strstr.
42710         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
42711
42712 2007-01-26  Bruno Haible  <bruno@clisp.org>
42713
42714         * MODULES.html.sh (Unicode string functions): Add the new modules.
42715
42716         * modules/uniconv/u32-strconv-to-locale: New file.
42717         * lib/uniconv/u32-strconv-to-locale.c: New file.
42718
42719         * modules/uniconv/u16-strconv-to-locale: New file.
42720         * lib/uniconv/u16-strconv-to-locale.c: New file.
42721
42722         * modules/uniconv/u8-strconv-to-locale: New file.
42723         * lib/uniconv/u8-strconv-to-locale.c: New file.
42724
42725         * modules/uniconv/u32-strconv-from-locale: New file.
42726         * lib/uniconv/u32-strconv-from-locale.c: New file.
42727
42728         * modules/uniconv/u16-strconv-from-locale: New file.
42729         * lib/uniconv/u16-strconv-from-locale.c: New file.
42730
42731         * modules/uniconv/u8-strconv-from-locale: New file.
42732         * lib/uniconv/u8-strconv-from-locale.c: New file.
42733
42734         * modules/uniconv/u32-strconv-to-enc: New file.
42735         * lib/uniconv/u32-strconv-to-enc.c: New file.
42736         * modules/uniconv/u32-strconv-to-enc-tests: New file.
42737         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
42738
42739         * modules/uniconv/u16-strconv-to-enc: New file.
42740         * lib/uniconv/u16-strconv-to-enc.c: New file.
42741         * lib/uniconv/u-strconv-to-enc.h: New file.
42742         * modules/uniconv/u16-strconv-to-enc-tests: New file.
42743         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
42744
42745         * modules/uniconv/u8-strconv-to-enc: New file.
42746         * lib/uniconv/u8-strconv-to-enc.c: New file.
42747         * modules/uniconv/u8-strconv-to-enc-tests: New file.
42748         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
42749
42750         * modules/uniconv/u32-strconv-from-enc: New file.
42751         * lib/uniconv/u32-strconv-from-enc.c: New file.
42752         * modules/uniconv/u32-strconv-from-enc-tests: New file.
42753         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
42754
42755         * modules/uniconv/u16-strconv-from-enc: New file.
42756         * lib/uniconv/u16-strconv-from-enc.c: New file.
42757         * modules/uniconv/u16-strconv-from-enc-tests: New file.
42758         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
42759
42760         * modules/uniconv/u8-strconv-from-enc: New file.
42761         * lib/uniconv/u8-strconv-from-enc.c: New file.
42762         * lib/uniconv/u-strconv-from-enc.h: New file.
42763         * modules/uniconv/u8-strconv-from-enc-tests: New file.
42764         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
42765
42766         * modules/uniconv/u32-conv-from-enc: New file.
42767         * lib/uniconv/u32-conv-from-enc.c: New file.
42768         * modules/uniconv/u32-conv-from-enc-tests: New file.
42769         * tests/uniconv/test-u32-conv-from-enc.c: New file.
42770
42771         * modules/uniconv/u16-conv-from-enc: New file.
42772         * lib/uniconv/u16-conv-from-enc.c: New file.
42773         * lib/uniconv/u-conv-from-enc.h: New file.
42774         * modules/uniconv/u16-conv-from-enc-tests: New file.
42775         * tests/uniconv/test-u16-conv-from-enc.c: New file.
42776
42777         * modules/uniconv/u8-conv-from-enc: New file.
42778         * lib/uniconv/u8-conv-from-enc.c: New file.
42779         * modules/uniconv/u8-conv-from-enc-tests: New file.
42780         * tests/uniconv/test-u8-conv-from-enc.c: New file.
42781
42782         * modules/uniconv/base: New file.
42783         * lib/uniconv.h: New file.
42784
42785 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
42786
42787         * doc/gnulib-tool.texi (Initial import): Update to match current
42788         behavior with strdup module.
42789         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
42790         * lib/memmem.h: Remove; all uses removed.  This is now done
42791         by <string.h>.
42792         * lib/mempcpy.h: Likewise.
42793         * lib/memrchr.h: Likewise.
42794         * lib/stpcpy.h: Likewise.
42795         * lib/stpncpy.h: Likewise.
42796         * lib/strcase.h: Likewise.
42797         * lib/strchrnul.h: Likewise.
42798         * lib/strdup.h: Likewise.
42799         * lib/strndup.h: Likewise.
42800         * lib/strnlen.h: Likewise.
42801         * lib/strpbrk.h: Likewise.
42802         * lib/strsep.h: Likewise.
42803         * lib/strstr.h: Likewise.
42804         * lib/strtok_r.h: Likewise.
42805         * lib/string_.h: New file.
42806         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
42807         Rely on <string.h> instead.
42808         * lib/canon-host.c: Likewise.
42809         * lib/chdir-long.c: Likewise.
42810         * lib/concatpath.c: Likewise.
42811         * lib/exclude.c: Likewise.
42812         * lib/fchdir.c: Likewise.
42813         * lib/getaddrinfo.c: Likewise.
42814         * lib/getcwd.c: Likewise.
42815         * lib/getsubopt.c: Likewise.
42816         * lib/glob.c: Likewise.
42817         * lib/hard-locale.c: Likewise.
42818         * lib/iconvme.c: Likewise.
42819         * lib/javacomp.c: Likewise.
42820         * lib/mempcpy.c: Likewise.
42821         * lib/memrchr.c: Likewise.
42822         * lib/regex_internal.h: Likewise.
42823         * lib/stpncpy.c: Likewise.
42824         * lib/strcasecmp.c: Likewise.
42825         * lib/strchrnul.c: Likewise.
42826         * lib/strdup.c: Likewise.
42827         * lib/striconv.c: Likewise.
42828         * lib/striconveh.c: Likewise.
42829         * lib/striconveha.c: Likewise.
42830         * lib/strncasecmp.c: Likewise.
42831         * lib/strndup.c: Likewise.
42832         * lib/strnlen.c: Likewise.
42833         * lib/strsep.c: Likewise.
42834         * lib/strstr.c: Likewise.
42835         * lib/strtok_r.c: Likewise.
42836         * lib/userspec.c: Likewise.
42837         * lib/w32spawn.h: Likewise.
42838         * lib/xstrndup.c: Likewise.
42839         * lib/mountlist.c (strstr): Remove decl.
42840         * m4/string_h.m4: New file.
42841         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
42842         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
42843         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
42844         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
42845         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
42846         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
42847         Set REPLACE_STRCASECMP if necessary.
42848         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
42849         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
42850         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
42851         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
42852         HAVE_DECL_STRDUP if necessary.
42853         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
42854         since gl_FUNC_STRNDUP does that now.
42855         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
42856         Check for decl here...
42857         (gl_PREREQ_STRNLEN): ... not here.
42858         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
42859         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
42860         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
42861         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
42862         necessary.
42863         * modules/string: New file.
42864         * modules/memmem (Files): Remove special-purpose include file.
42865         (Depends-on): Add string.
42866         (Include): Include <string.h>, not the removed file.
42867         * modules/mempcpy: Likewise.
42868         * modules/memrchr: Likewise.
42869         * modules/stpcpy: Likewise.
42870         * modules/stpncpy: Likewise.
42871         * modules/strcase: Likewise.
42872         * modules/strchrnul: Likewise.
42873         * modules/strdup: Likewise.
42874         * modules/strndup: Likewise.
42875         * modules/strnlen: Likewise.
42876         * modules/strpbrk: Likewise.
42877         * modules/strsep: Likewise.
42878         * modules/strstr: Likewise.
42879         * modules/strtok_r: Likewise.
42880         * tests/test-dirname.c: Don't include "strdup.h", since
42881         <string.h> now suffices.
42882         * tests/test-memmem.c: Don't include "memmem.h", since
42883         <string.h> now suffices.
42884
42885 2007-01-25  Bruno Haible  <bruno@clisp.org>
42886
42887         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
42888         *resultp is 0.
42889
42890         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
42891         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
42892         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
42893         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
42894
42895         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
42896         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
42897         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
42898         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
42899         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
42900         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
42901
42902 2007-01-24  Bruno Haible  <bruno@clisp.org>
42903
42904         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
42905         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
42906         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
42907         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
42908         gl_FUNC_FTS_CORE.
42909         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
42910         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
42911         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
42912         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
42913         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
42914         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
42915         gl_FUNC_FCHOWNAT.
42916         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
42917         gl_FUNC_STRFTIME.
42918         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
42919         Reported by Ralf Wildenhues.
42920
42921 2007-01-24  Bruno Haible  <bruno@clisp.org>
42922
42923         Drop AC_REQUIRE calls that are redundant with the module dependencies.
42924         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
42925         gl_GETADDRINFO.
42926         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
42927         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
42928         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
42929
42930 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
42931
42932         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
42933         Don't use 'exit'; just return from 'main'.
42934         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
42935
42936         * lib/fnmatch_.h: Readjust white space and comments to match
42937         glibc, to avoid spurious diffs.
42938
42939 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
42940
42941         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
42942         2004-12-01 change by Jakub Jelinek, since this code won't compile
42943         if !LIBC.  Problem reported by Bob Proulx.
42944
42945 2007-01-23  Bruno Haible  <bruno@clisp.org>
42946
42947         * lib/striconveh.c: Include c-strcaseeq.h.
42948         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
42949         * modules/striconveh (Depends-on): Add c-strcaseeq.
42950
42951 2007-01-23  Bruno Haible  <bruno@clisp.org>
42952
42953         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
42954
42955         * modules/c-strcaseeq: New file.
42956         * lib/c-strcaseeq.h: New file.
42957
42958         * modules/streq: New file.
42959         * lib/streq.h: New file.
42960
42961 2007-01-23  Bruno Haible  <bruno@clisp.org>
42962
42963         * modules/striconveha-tests: New file.
42964         * tests/test-striconveha.c: New file.
42965
42966         * lib/striconveha.h: Include <stdbool.h>.
42967         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
42968         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
42969         (mem_iconveha_notranslit): Renamed from mem_iconveha.
42970         (mem_iconveha): New function.
42971         (str_iconveha_notranslit): Renamed from str_iconveha.
42972         (str_iconveha): New function.
42973         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
42974         c-strcase.
42975
42976 2007-01-23  Bruno Haible  <bruno@clisp.org>
42977
42978         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
42979         encodings without forgiving before trying any encoding with handler.
42980         (str_iconveha): Try all encodings without forgiving before trying any
42981         encoding with handler.
42982
42983 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
42984
42985         Import the following changes from libc.
42986
42987         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
42988
42989         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
42990
42991         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
42992
42993         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
42994         normal_bracket label.
42995
42996         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
42997
42998         [BZ #361]
42999         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
43000         to normal_bracket after fetching the next character.
43001
43002 2007-01-22  Bruno Haible  <bruno@clisp.org>
43003
43004         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
43005         argument.
43006         * lib/striconveh.c (iconv_carefully_1): New function.
43007         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
43008         argument.
43009         (str_cd_iconveh): Update.
43010         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
43011         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
43012         * tests/test-striconveh.c (MAGIC): New macro.
43013         (new_offsets): New function.
43014         (main): Test call with and without offsets.
43015
43016 2007-01-22  Bruno Haible  <bruno@clisp.org>
43017
43018         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
43019         * modules/sys_select (Makefile.am): Likewise.
43020         * modules/sys_socket (Makefile.am): Likewise.
43021         * modules/sys_time (Makefile.am): Likewise.
43022
43023 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
43024
43025         * modules/gettimeofday (License): Change from GPL to LGPL, since
43026         gettimeofday is a library function.
43027
43028 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43029
43030         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
43031
43032 2007-01-21  Bruno Haible  <bruno@clisp.org>
43033
43034         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
43035
43036 2007-01-21  Bruno Haible  <bruno@clisp.org>
43037
43038         * modules/striconveha: New file.
43039         * lib/striconveha.h: New file.
43040         * lib/striconveha.c: New file.
43041         * MODULES.html.sh (Internationalization functions): Add striconveha.
43042         * lib/striconv.c (str_iconv): Optimize the case of an empty input
43043         string.
43044         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
43045
43046 2007-01-21  Bruno Haible  <bruno@clisp.org>
43047
43048         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
43049         * lib/striconveh.c (str_iconveh): Likewise.
43050
43051 2007-01-21  Bruno Haible  <bruno@clisp.org>
43052
43053         * lib/striconveh.h (mem_iconveh): New declaration.
43054         * lib/striconveh.c (mem_iconveh): New function.
43055         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
43056
43057 2007-01-21  Bruno Haible  <bruno@clisp.org>
43058
43059         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
43060
43061         * lib/striconveh.h (mem_cd_iconveh): Change specification.
43062         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
43063         original result buffer.
43064         (str_cd_iconveh): Update.
43065         * tests/test-striconveh.c (main): Update.
43066
43067         * lib/striconv.h (mem_cd_iconv): Change specification.
43068         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
43069         result buffer.
43070         (str_cd_iconv): Update.
43071         * tests/test-striconv.c (main): Update.
43072
43073 2007-01-21  Bruno Haible  <bruno@clisp.org>
43074
43075         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
43076
43077 2007-01-20  Jim Meyering  <jim@meyering.net>
43078
43079         * lib/userspec.c (parse_with_separator): If a user or group string
43080         starts with "+", skip the corresponding name-to-ID look-up, since
43081         such a look-up must fail: user and group names may not include "+".
43082
43083 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
43084
43085         * lib/poll.c: Include sys/time.h and time.h unconditionally,
43086         since we now assume the sys_time module.
43087         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
43088         check for sys/time.h; no longer needed.
43089         * modules/poll (Depends-on): Depend on sys_time.
43090
43091 2007-01-18  Bruno Haible  <bruno@clisp.org>
43092
43093         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
43094         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
43095
43096         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
43097         gettimeofday.
43098
43099         * tests/test-gettimeofday.c: Include <time.h>.
43100         (dummy): Remove variable.
43101
43102         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
43103         gl_HEADER_SYS_TIME_H.
43104         (gl_HEADER_SYS_TIME_H): New macro.
43105
43106         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
43107         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
43108         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
43109         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
43110         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
43111         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
43112         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
43113         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
43114         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
43115         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
43116         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
43117
43118         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
43119         last change; it caused a compilation error when cross-compiling to
43120         Cygwin.
43121
43122 2007-01-18  Jim Meyering  <jim@meyering.net>
43123
43124         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
43125         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
43126         than the race-prone "test -d sys || mkdir sys".
43127         (configure.ac): Use AC_PROG_MKDIR_P.
43128         * modules/sys_select: Likewise.
43129         * modules/sys_socket: Likewise.
43130         * modules/sys_time: Likewise.
43131
43132 2007-01-18  Eric Blake  <ebb9@byu.net>
43133
43134         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
43135         replace gettimeofday.
43136         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
43137         name, to avoid infinite recursion.
43138
43139 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
43140
43141         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
43142         module sys_time.
43143         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
43144         assume timespec.h defines struct timeval.
43145         * lib/settime.c: Likewise.
43146         * lib/utimens.c: Likewise.
43147         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
43148         since we now assume the gettimeofday module.
43149         * lib/tempname.c (__gen_tempname): Likewise.
43150         * lib/gettimeofday.h: Remove.
43151         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
43152         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
43153         Include <time.h>, for 'time()'.
43154         (localtime_buffer_addr): Also use this workaround if
43155         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
43156         to simplify the uses.  All uses changed.
43157         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
43158         that #undef is inside {}, and 'const' follows type name consistently.
43159         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
43160         (gettimeofday): Do not use the maximum possible value for
43161         tv->tv_usec, since that might break usages other than ls.c.
43162         Instead, we'll leave ls.c alone.  This undoes today's patch
43163         by Bruno.  Add a compile-time warning for 1s-clock resolution;
43164         we've never observed the problem but might as well keep the
43165         canary.
43166         * lib/nanosleep.c: Include timespec.h first, for interface check.
43167         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
43168         now assume the sys_time module.
43169         * lib/tempname.c: Likewise.
43170         * lib/timespec.h: Likewise.
43171         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
43172         needed.
43173         * lib/strftime.c: Likewise.
43174         * lib/timespec.h: Likewise.
43175         * lib/posixtm.c: Include posixtm.h first, for interface check.
43176         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
43177         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
43178         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
43179         * lib/sys_time_.h: New file.
43180         * lib/timespec.h (struct timespec): Use long int, not long.
43181         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
43182         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
43183         Remove obsolescent call to AC_HEADER_TIME.
43184         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
43185         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
43186         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
43187         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
43188         Likewise.
43189         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
43190         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
43191         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
43192         into the sys_time module.  Check for gettimeofday just once.
43193         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
43194         for gettimeofday signature to just check the signature.  Merely
43195         compile it, since linking doesn't test signature.  Improve test for
43196         whether gettimeofday.o is actually needed.
43197         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
43198         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
43199         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
43200         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
43201         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
43202         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
43203         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
43204         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
43205         than worrying about sys/time.h.
43206         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
43207         Don't bother worrying about TIME_WITH_SYS_TIME.
43208         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
43209         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
43210         * m4/sys_time_h.m4: New file.
43211         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
43212         Don't include sys/time.h.  Return from main rather than exiting.
43213         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
43214         all uses changed.
43215         * modules/gethrxtime (Depends-on): Add sys_time.
43216         * modules/gettime (Depends-on): Likewise.
43217         * modules/gettimeofday (Depends-on): Likewise.
43218         * modules/nanosleep (Depends-on): Likewise.
43219         * modules/settime (Depends-on): Likewise.
43220         * modules/tempname (Depends-on): Likewise.
43221         * modules/utimens (Depends-on): Likewise.
43222         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
43223         (Include:) Change back to <sys/time.h>.
43224         (Maintainer:) Add self.
43225         * modules/sys_time: New file.
43226         * modules/tempname (Depends-on): Add gettimeofday.
43227         * tests/test-gettimeofday.c: Include <sys/time.h>
43228         rather than gettimeofday.h.
43229
43230 2007-01-17  Bruno Haible  <bruno@clisp.org>
43231
43232         * gnulib-tool (func_get_license): Revert last patch. Instead, let
43233         the license default to GPL.
43234         (func_create_testdir): Don't complain if a module is LGPL and its
43235         tests module depends on GPLed modules.
43236
43237 2007-01-17  Bruno Haible  <bruno@clisp.org>
43238
43239         * lib/gettimeofday.c (gettimeofday): Add code for the case
43240         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
43241         maximum possible value for tv->tv_usec, rather than the minimum one.
43242
43243 2005-10-08  Martin Lambers  <marlam@marlam.de>
43244 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
43245 2007-01-16  Bruno Haible  <bruno@clisp.org>
43246
43247         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
43248         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
43249         gl_FUNC_GETTIMEOFDAY.
43250         (Include): Add gettimeofday.h.
43251         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
43252         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
43253         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
43254         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
43255         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
43256         * lib/gettimeofday.h: New file.
43257         * lib/gettimeofday.c: Include <sys/timeb.h>.
43258         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
43259         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
43260         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
43261         fall back on time().
43262
43263         * tests/test-gettimeofday.c: New file.
43264         * modules/gettimeofday-tests: New file.
43265
43266 2007-01-16  Eric Blake  <ebb9@byu.net>
43267
43268         * modules/fnmatch (Depends-on): Depend on wchar.
43269         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
43270         * m4/fnmatch.m4: Likewise.
43271         * modules/mbchar (Makefile.am): Assume <wchar.h>.
43272         * m4/mbchar.m4: Likewise.
43273         * modules/mbswidth (Depends-on): Depend on wchar.
43274         * lib/mbswidth.c: Assume <wchar.h>.
43275         * m4/mbswidth.m4: Likewise.
43276         * modules/quotearg (Depends-on): Depend on wchar.
43277         * lib/quotearg.c: Assume <wchar.h>.
43278         * m4/quotearg.m4: Likewise.
43279         * modules/regex (Depends-on): Depend on wchar.
43280         * lib/regex_internal.h: Assume <wchar.h>.
43281         * m4/regex.m4: Likewise.
43282         * modules/stdint (Depends-on): Depend on wchar.
43283         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
43284         * m4/stdint.m4: Likewise.
43285         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
43286         * modules/strftime (Depends-on): Depend on wchar.
43287         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
43288         * modules/strtol (Depends-on): Depend on wchar.
43289         * lib/strtol.c: Assume <wchar.h>.
43290         * modules/wcwidth (Depends-on): Depend on wchar.
43291         * lib/wcwidth.h: Assume <wchar.h>.
43292         * m4/wcwidth.m4: Likewise.
43293
43294 2007-01-16  Bruno Haible  <bruno@clisp.org>
43295
43296         * modules/csharpexec-script: New, created from...
43297         * modules/csharpexec: ... this.
43298
43299 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
43300
43301         * modules/javaexec-script: New, created from...
43302         * modules/javaexec: ... this.
43303
43304 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43305
43306         * modules/poll (Dependencies): Add sys_select.
43307
43308 2007-01-15  Jim Meyering  <jim@meyering.net>
43309
43310         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
43311         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
43312         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
43313         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
43314
43315 2007-01-15  Bruno Haible  <bruno@clisp.org>
43316
43317         * modules/striconveh: New file.
43318         * lib/striconveh.h: New file.
43319         * lib/striconveh.c: New file.
43320         * MODULES.html.sh (Internationalization functions): Add striconveh.
43321
43322         * modules/striconveh-tests: New file.
43323         * tests/test-striconveh.c: New file.
43324
43325 2007-01-15  Bruno Haible  <bruno@clisp.org>
43326
43327         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
43328         not from GNU libiconv or GNU libc.
43329
43330 2007-01-15  Bruno Haible  <bruno@clisp.org>
43331
43332         * doc/gnulib-intro.texi (Copyright): Explain the different license
43333         terms for module descriptions, autoconf macros, tests, documentation.
43334
43335 2007-01-14  Bruno Haible  <bruno@clisp.org>
43336
43337         * modules/striconv-tests: New file.
43338         * tests/test-striconv.c: New file.
43339
43340 2007-01-14  Bruno Haible  <bruno@clisp.org>
43341
43342         * modules/iconv-tests: New file.
43343         * tests/test-iconv.c: New file.
43344
43345 2007-01-14  Bruno Haible  <bruno@clisp.org>
43346
43347         * gnulib-tool (func_get_license): For test modules, use the license of
43348         the main module.
43349
43350 2007-01-14  Bruno Haible  <bruno@clisp.org>
43351
43352         * modules/iconv (Include): Clarify that <iconv.h> can only be included
43353         if iconv is found to exist.
43354
43355 2007-01-14  Bruno Haible  <bruno@clisp.org>
43356
43357         * modules/c-ctype-tests: New file.
43358         * tests/test-c-ctype.c: New file.
43359
43360 2007-01-14  Bruno Haible  <bruno@clisp.org>
43361
43362         * modules/binary-io-tests: New file.
43363         * tests/test-binary-io.sh: New file.
43364         * tests/test-binary-io.c: New file.
43365
43366 2007-01-14  Bruno Haible  <bruno@clisp.org>
43367
43368         * modules/array-oset-tests: New file.
43369         * tests/test-array_oset.c: New file.
43370
43371 2007-01-14  Bruno Haible  <bruno@clisp.org>
43372
43373         * modules/array-list-tests: New file.
43374         * tests/test-array_list.c: New file.
43375
43376 2007-01-14  Bruno Haible  <bruno@clisp.org>
43377
43378         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
43379         and make.
43380         Reported by Simon Josefsson in
43381         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
43382
43383 2007-01-14  Bruno Haible  <bruno@clisp.org>
43384
43385         * modules/allocsa-tests: New file.
43386         * tests/test-allocsa.c: New file.
43387
43388 2007-01-14  Bruno Haible  <bruno@clisp.org>
43389
43390         * modules/fchdir (Depends-on): Add absolute-header.
43391         * modules/unistd (Depends-on): Likewise.
43392
43393 2006-12-30  Bruno Haible  <bruno@clisp.org>
43394
43395         * modules/fchdir: New file.
43396         * modules/unistd (Files): Add lib/unistd_.h.
43397         (Makefile.am): Generate unistd.h from unistd_.h.
43398         * lib/fchdir.c: New file.
43399         * lib/dirent_.h: New file.
43400         * lib/unistd_.h: New file.
43401         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
43402         * m4/fchdir.m4: New file.
43403         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
43404         (gl_HEADER_UNISTD): Invoke it.
43405         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
43406         function.
43407         * lib/backupfile.c (opendir, closedir): Undefine.
43408         * lib/chown.c (open, close): Undefine.
43409         * lib/clean-temp.c (open, close): Undefine.
43410         * lib/copy-file.c (open, close): Undefine.
43411         * lib/execute.c (open, close): Undefine.
43412         * lib/fsusage.c (open, close): Undefine.
43413         * lib/gc-gnulib.c (open, close): Undefine.
43414         * lib/getcwd.c (opendir, closedir): Undefine.
43415         * lib/glob.c (opendir, closedir): Undefine.
43416         * lib/javacomp.c (open, close): Undefine.
43417         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
43418         * lib/openat-proc.c (open, close): Undefine.
43419         * lib/pagealign_alloc.c (open, close): Undefine.
43420         * lib/pipe.c (open, close): Undefine.
43421         * lib/progreloc.c (open, close): Undefine.
43422         * lib/savedir.c (opendir, closedir): Undefine.
43423         * lib/utime.c (open, close): Undefine.
43424         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
43425
43426 2007-01-10  Bruno Haible  <bruno@clisp.org>
43427
43428         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
43429
43430 2007-01-12  Eric Blake  <ebb9@byu.net>
43431
43432         Provide a robust <wchar.h>.  Further simplifications are now
43433         possible in other modules, but not included here.
43434         * modules/wchar: New module.
43435         * m4/wchar.m4: New file.
43436         * lib/wchar_.h: Likewise.
43437         * modules/mbchar (Depends-on): Depend on wchar, as the first use
43438         of the new module.
43439         * MODULES.html.sh (Extended multibyte and wide character utilities):
43440         New section.
43441
43442 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
43443
43444         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
43445         to a reasonable default for memory allocation.
43446         (xreadlink): Don't allocate a huge buffer, to work around a buggy
43447         file system that reports garbage st_size values for symlinks.
43448         Problem reported by Liyang Hu.
43449
43450 2007-01-11  Simon Josefsson  <simon@josefsson.org>
43451
43452         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
43453         Emacs .#* auto-save files).
43454
43455 2007-01-11  Bruno Haible  <bruno@clisp.org>
43456
43457         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
43458         directory.
43459
43460 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
43461
43462         Use @...@ consistently in lib/wctype_.h.
43463         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
43464         on it being set to 1 or 0.
43465         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
43466         go back to AC_SUBSTing it.
43467         * modules/wctype (Makefile.am): Undo previous change.
43468
43469 2007-01-10  Eric Blake  <ebb9@byu.net>
43470
43471         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
43472         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
43473         * modules/wctype (Makefile.am): Likewise.
43474         Reported by Chris McGuire.
43475
43476 2007-01-10  Jim Meyering  <jim@meyering.net>
43477
43478         fts.c: a small readability/maintainability improvement
43479         * lib/fts.c (fts_read): Make this code slightly more readable and
43480         maintainable by hoisting the "sp->fts_cur = p" assignments to
43481         immediately follow the statements that set P.  Derived from
43482         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
43483
43484 2007-01-10  Eric Blake  <ebb9@byu.net>
43485
43486         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
43487         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
43488         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
43489         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
43490         Reported by Chris McGuire.
43491
43492 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43493
43494         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
43495         in sed script.
43496
43497 2007-01-09  Bruno Haible  <bruno@clisp.org>
43498
43499         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
43500         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
43501         variables.
43502         (func_module): Use them.
43503
43504 2007-01-09  Bruno Haible  <bruno@clisp.org>
43505
43506         * modules/unistr/base: New file.
43507         * lib/unistr.h: New file.
43508
43509         * modules/unistr/u8-to-u16: New file.
43510         * lib/unistr/u8-to-u16.c: New file.
43511
43512         * modules/unistr/u8-to-u32: New file.
43513         * lib/unistr/u8-to-u32.c: New file.
43514
43515         * modules/unistr/u16-to-u8: New file.
43516         * lib/unistr/u16-to-u8.c: New file.
43517
43518         * modules/unistr/u16-to-u32: New file.
43519         * lib/unistr/u16-to-u32.c: New file.
43520
43521         * modules/unistr/u32-to-u8: New file.
43522         * lib/unistr/u32-to-u8.c: New file.
43523
43524         * modules/unistr/u32-to-u16: New file.
43525         * lib/unistr/u32-to-u16.c: New file.
43526
43527         * modules/unistr/u8-check: New file.
43528         * modules/unistr/u16-check: New file.
43529         * modules/unistr/u32-check: New file.
43530         * lib/unistr/u8-check.c: New file.
43531         * lib/unistr/u16-check.c: New file.
43532         * lib/unistr/u32-check.c: New file.
43533
43534         * modules/unistr/u8-chr: New file.
43535         * modules/unistr/u16-chr: New file.
43536         * modules/unistr/u32-chr: New file.
43537         * lib/unistr/u8-chr.c: New file.
43538         * lib/unistr/u16-chr.c: New file.
43539         * lib/unistr/u32-chr.c: New file.
43540
43541         * modules/unistr/u8-cmp: New file.
43542         * modules/unistr/u16-cmp: New file.
43543         * modules/unistr/u32-cmp: New file.
43544         * lib/unistr/u8-cmp.c: New file.
43545         * lib/unistr/u16-cmp.c: New file.
43546         * lib/unistr/u32-cmp.c: New file.
43547
43548         * modules/unistr/u8-cpy: New file.
43549         * modules/unistr/u16-cpy: New file.
43550         * modules/unistr/u32-cpy: New file.
43551         * lib/unistr/u8-cpy.c: New file.
43552         * lib/unistr/u16-cpy.c: New file.
43553         * lib/unistr/u32-cpy.c: New file.
43554         * lib/unistr/u-cpy.h: New file.
43555
43556         * modules/unistr/u8-cpy-alloc: New file.
43557         * modules/unistr/u16-cpy-alloc: New file.
43558         * modules/unistr/u32-cpy-alloc: New file.
43559         * lib/unistr/u8-cpy-alloc.c: New file.
43560         * lib/unistr/u16-cpy-alloc.c: New file.
43561         * lib/unistr/u32-cpy-alloc.c: New file.
43562         * lib/unistr/u-cpy-alloc.h: New file.
43563
43564         * modules/unistr/u8-endswith: New file.
43565         * modules/unistr/u16-endswith: New file.
43566         * modules/unistr/u32-endswith: New file.
43567         * lib/unistr/u8-endswith.c: New file.
43568         * lib/unistr/u16-endswith.c: New file.
43569         * lib/unistr/u32-endswith.c: New file.
43570         * lib/unistr/u-endswith.h: New file.
43571
43572         * modules/unistr/u8-mblen: New file.
43573         * modules/unistr/u16-mblen: New file.
43574         * modules/unistr/u32-mblen: New file.
43575         * lib/unistr/u8-mblen.c: New file.
43576         * lib/unistr/u16-mblen.c: New file.
43577         * lib/unistr/u32-mblen.c: New file.
43578
43579         * modules/unistr/u8-mbtouc: New file.
43580         * modules/unistr/u16-mbtouc: New file.
43581         * modules/unistr/u32-mbtouc: New file.
43582         * lib/unistr/u8-mbtouc.c: New file.
43583         * lib/unistr/u16-mbtouc.c: New file.
43584         * lib/unistr/u32-mbtouc.c: New file.
43585
43586         * modules/unistr/u8-mbtouc-safe: New file.
43587         * modules/unistr/u16-mbtouc-safe: New file.
43588         * modules/unistr/u32-mbtouc-safe: New file.
43589         * lib/unistr/u8-mbtouc-safe.c: New file.
43590         * lib/unistr/u16-mbtouc-safe.c: New file.
43591         * lib/unistr/u32-mbtouc-safe.c: New file.
43592
43593         * modules/unistr/u8-move: New file.
43594         * modules/unistr/u16-move: New file.
43595         * modules/unistr/u32-move: New file.
43596         * lib/unistr/u8-move.c: New file.
43597         * lib/unistr/u16-move.c: New file.
43598         * lib/unistr/u32-move.c: New file.
43599         * lib/unistr/u-move.h: New file.
43600
43601         * modules/unistr/u8-next: New file.
43602         * modules/unistr/u16-next: New file.
43603         * modules/unistr/u32-next: New file.
43604         * lib/unistr/u8-next.c: New file.
43605         * lib/unistr/u16-next.c: New file.
43606         * lib/unistr/u32-next.c: New file.
43607
43608         * modules/unistr/u8-prev: New file.
43609         * modules/unistr/u16-prev: New file.
43610         * modules/unistr/u32-prev: New file.
43611         * lib/unistr/u8-prev.c: New file.
43612         * lib/unistr/u16-prev.c: New file.
43613         * lib/unistr/u32-prev.c: New file.
43614
43615         * modules/unistr/u8-set: New file.
43616         * modules/unistr/u16-set: New file.
43617         * modules/unistr/u32-set: New file.
43618         * lib/unistr/u8-set.c: New file.
43619         * lib/unistr/u16-set.c: New file.
43620         * lib/unistr/u32-set.c: New file.
43621         * lib/unistr/u-set.h: New file.
43622
43623         * modules/unistr/u8-startswith: New file.
43624         * modules/unistr/u16-startswith: New file.
43625         * modules/unistr/u32-startswith: New file.
43626         * lib/unistr/u8-startswith.c: New file.
43627         * lib/unistr/u16-startswith.c: New file.
43628         * lib/unistr/u32-startswith.c: New file.
43629         * lib/unistr/u-startswith.h: New file.
43630
43631         * modules/unistr/u8-stpcpy: New file.
43632         * modules/unistr/u16-stpcpy: New file.
43633         * modules/unistr/u32-stpcpy: New file.
43634         * lib/unistr/u8-stpcpy.c: New file.
43635         * lib/unistr/u16-stpcpy.c: New file.
43636         * lib/unistr/u32-stpcpy.c: New file.
43637         * lib/unistr/u-stpcpy.h: New file.
43638
43639         * modules/unistr/u8-stpncpy: New file.
43640         * modules/unistr/u16-stpncpy: New file.
43641         * modules/unistr/u32-stpncpy: New file.
43642         * lib/unistr/u8-stpncpy.c: New file.
43643         * lib/unistr/u16-stpncpy.c: New file.
43644         * lib/unistr/u32-stpncpy.c: New file.
43645         * lib/unistr/u-stpncpy.h: New file.
43646
43647         * modules/unistr/u8-strcat: New file.
43648         * modules/unistr/u16-strcat: New file.
43649         * modules/unistr/u32-strcat: New file.
43650         * lib/unistr/u8-strcat.c: New file.
43651         * lib/unistr/u16-strcat.c: New file.
43652         * lib/unistr/u32-strcat.c: New file.
43653         * lib/unistr/u-strcat.h: New file.
43654
43655         * modules/unistr/u8-strchr: New file.
43656         * modules/unistr/u16-strchr: New file.
43657         * modules/unistr/u32-strchr: New file.
43658         * lib/unistr/u8-strchr.c: New file.
43659         * lib/unistr/u16-strchr.c: New file.
43660         * lib/unistr/u32-strchr.c: New file.
43661
43662         * modules/unistr/u8-strcmp: New file.
43663         * modules/unistr/u16-strcmp: New file.
43664         * modules/unistr/u32-strcmp: New file.
43665         * lib/unistr/u8-strcmp.c: New file.
43666         * lib/unistr/u16-strcmp.c: New file.
43667         * lib/unistr/u32-strcmp.c: New file.
43668
43669         * modules/unistr/u8-strcpy: New file.
43670         * modules/unistr/u16-strcpy: New file.
43671         * modules/unistr/u32-strcpy: New file.
43672         * lib/unistr/u8-strcpy.c: New file.
43673         * lib/unistr/u16-strcpy.c: New file.
43674         * lib/unistr/u32-strcpy.c: New file.
43675         * lib/unistr/u-strcpy.h: New file.
43676
43677         * modules/unistr/u8-strcspn: New file.
43678         * modules/unistr/u16-strcspn: New file.
43679         * modules/unistr/u32-strcspn: New file.
43680         * lib/unistr/u8-strcspn.c: New file.
43681         * lib/unistr/u16-strcspn.c: New file.
43682         * lib/unistr/u32-strcspn.c: New file.
43683         * lib/unistr/u-strcspn.h: New file.
43684
43685         * modules/unistr/u8-strdup: New file.
43686         * modules/unistr/u16-strdup: New file.
43687         * modules/unistr/u32-strdup: New file.
43688         * lib/unistr/u8-strdup.c: New file.
43689         * lib/unistr/u16-strdup.c: New file.
43690         * lib/unistr/u32-strdup.c: New file.
43691         * lib/unistr/u-strdup.h: New file.
43692
43693         * modules/unistr/u8-strlen: New file.
43694         * modules/unistr/u16-strlen: New file.
43695         * modules/unistr/u32-strlen: New file.
43696         * lib/unistr/u8-strlen.c: New file.
43697         * lib/unistr/u16-strlen.c: New file.
43698         * lib/unistr/u32-strlen.c: New file.
43699         * lib/unistr/u-strlen.h: New file.
43700
43701         * modules/unistr/u8-strmblen: New file.
43702         * modules/unistr/u16-strmblen: New file.
43703         * modules/unistr/u32-strmblen: New file.
43704         * lib/unistr/u8-strmblen.c: New file.
43705         * lib/unistr/u16-strmblen.c: New file.
43706         * lib/unistr/u32-strmblen.c: New file.
43707
43708         * modules/unistr/u8-strmbtouc: New file.
43709         * modules/unistr/u16-strmbtouc: New file.
43710         * modules/unistr/u32-strmbtouc: New file.
43711         * lib/unistr/u8-strmbtouc.c: New file.
43712         * lib/unistr/u16-strmbtouc.c: New file.
43713         * lib/unistr/u32-strmbtouc.c: New file.
43714
43715         * modules/unistr/u8-strncat: New file.
43716         * modules/unistr/u16-strncat: New file.
43717         * modules/unistr/u32-strncat: New file.
43718         * lib/unistr/u8-strncat.c: New file.
43719         * lib/unistr/u16-strncat.c: New file.
43720         * lib/unistr/u32-strncat.c: New file.
43721         * lib/unistr/u-strncat.h: New file.
43722
43723         * modules/unistr/u8-strncmp: New file.
43724         * modules/unistr/u16-strncmp: New file.
43725         * modules/unistr/u32-strncmp: New file.
43726         * lib/unistr/u8-strncmp.c: New file.
43727         * lib/unistr/u16-strncmp.c: New file.
43728         * lib/unistr/u32-strncmp.c: New file.
43729
43730         * modules/unistr/u8-strncpy: New file.
43731         * modules/unistr/u16-strncpy: New file.
43732         * modules/unistr/u32-strncpy: New file.
43733         * lib/unistr/u8-strncpy.c: New file.
43734         * lib/unistr/u16-strncpy.c: New file.
43735         * lib/unistr/u32-strncpy.c: New file.
43736         * lib/unistr/u-strncpy.h: New file.
43737
43738         * modules/unistr/u8-strnlen: New file.
43739         * modules/unistr/u16-strnlen: New file.
43740         * modules/unistr/u32-strnlen: New file.
43741         * lib/unistr/u8-strnlen.c: New file.
43742         * lib/unistr/u16-strnlen.c: New file.
43743         * lib/unistr/u32-strnlen.c: New file.
43744         * lib/unistr/u-strnlen.h: New file.
43745
43746         * modules/unistr/u8-strpbrk: New file.
43747         * modules/unistr/u16-strpbrk: New file.
43748         * modules/unistr/u32-strpbrk: New file.
43749         * lib/unistr/u8-strpbrk.c: New file.
43750         * lib/unistr/u16-strpbrk.c: New file.
43751         * lib/unistr/u32-strpbrk.c: New file.
43752         * lib/unistr/u-strpbrk.h: New file.
43753
43754         * modules/unistr/u8-strrchr: New file.
43755         * modules/unistr/u16-strrchr: New file.
43756         * modules/unistr/u32-strrchr: New file.
43757         * lib/unistr/u8-strrchr.c: New file.
43758         * lib/unistr/u16-strrchr.c: New file.
43759         * lib/unistr/u32-strrchr.c: New file.
43760
43761         * modules/unistr/u8-strspn: New file.
43762         * modules/unistr/u16-strspn: New file.
43763         * modules/unistr/u32-strspn: New file.
43764         * lib/unistr/u8-strspn.c: New file.
43765         * lib/unistr/u16-strspn.c: New file.
43766         * lib/unistr/u32-strspn.c: New file.
43767         * lib/unistr/u-strspn.h: New file.
43768
43769         * modules/unistr/u8-strstr: New file.
43770         * modules/unistr/u16-strstr: New file.
43771         * modules/unistr/u32-strstr: New file.
43772         * lib/unistr/u8-strstr.c: New file.
43773         * lib/unistr/u16-strstr.c: New file.
43774         * lib/unistr/u32-strstr.c: New file.
43775         * lib/unistr/u-strstr.h: New file.
43776
43777         * modules/unistr/u8-strtok: New file.
43778         * modules/unistr/u16-strtok: New file.
43779         * modules/unistr/u32-strtok: New file.
43780         * lib/unistr/u8-strtok.c: New file.
43781         * lib/unistr/u16-strtok.c: New file.
43782         * lib/unistr/u32-strtok.c: New file.
43783         * lib/unistr/u-strtok.h: New file.
43784
43785         * modules/unistr/u8-uctomb: New file.
43786         * modules/unistr/u16-uctomb: New file.
43787         * modules/unistr/u32-uctomb: New file.
43788         * lib/unistr/u8-uctomb.c: New file.
43789         * lib/unistr/u16-uctomb.c: New file.
43790         * lib/unistr/u32-uctomb.c: New file.
43791
43792         * MODULES.html.sh (Unicode string functions): Add the new modules.
43793
43794 2007-01-08  Bruno Haible  <bruno@clisp.org>
43795
43796         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
43797         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
43798         subdirectories.
43799
43800 2007-01-08  Karl Berry  <karl@gnu.org>
43801
43802         * doc/error.texi: mention that main() fns must set program_name
43803         when progname is used.
43804
43805 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
43806
43807         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
43808         WCTYPE_H is empty, for the benefit of builds from non-distclean
43809         directories.  Problem reported by Eric Blake in
43810         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
43811
43812 2007-01-08  Bruno Haible  <bruno@clisp.org>
43813
43814         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
43815         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
43816         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
43817         PROVIDE_CANONICALIZE_FILENAME_MODE.
43818         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
43819
43820 2007-01-08  Bruno Haible  <bruno@clisp.org>
43821
43822         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
43823         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
43824         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
43825         * lib/fts.c: Likewise.
43826         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
43827
43828 2006-12-25  Bruno Haible  <bruno@clisp.org>
43829
43830         * modules/utf8-ucs4-safe: New file.
43831         * lib/utf8-ucs4-safe.h: New file.
43832         * lib/unistr/utf8-ucs4-safe.c: New file.
43833
43834         * modules/utf16-ucs4-safe: New file.
43835         * lib/utf16-ucs4-safe.h: New file.
43836         * lib/unistr/utf16-ucs4-safe.c: New file.
43837
43838         * MODULES.html.sh (Unicode string functions): Add the new modules.
43839
43840 2007-01-08  Bruno Haible  <bruno@clisp.org>
43841
43842         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
43843         (Depends-on): Add unitypes.
43844         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
43845         (u8_mbtouc_aux): Move out to separate file.
43846         (u8_mbtouc): Use ucs4_t, uint8_t types.
43847         * lib/unistr/utf8-ucs4.c: New file.
43848
43849         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
43850         (Depends-on): Add unitypes.
43851         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
43852         (u16_mbtouc_aux): Move out to separate file.
43853         (u16_mbtouc): Use ucs4_t, uint16_t types.
43854         * lib/unistr/utf16-ucs4.c: New file.
43855
43856         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
43857         (Depends-on): Add unitypes.
43858         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
43859         (u8_uctomb_aux): Move out to separate file.
43860         (u8_uctomb): Use ucs4_t, uint8_t types.
43861         * lib/unistr/ucs4-utf8.c: New file.
43862
43863         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
43864         (Depends-on): Add unitypes.
43865         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
43866         (u16_uctomb_aux): Move out to separate file.
43867         (u16_uctomb): Use ucs4_t, uint16_t types.
43868         * lib/unistr/ucs4-utf16.c: New file.
43869
43870 2006-12-25  Bruno Haible  <bruno@clisp.org>
43871
43872         * modules/unitypes: New file.
43873         * lib/unitypes.h: New file.
43874         * MODULES.html.sh (func_all_modules): New section "Unicode string
43875         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
43876         this section. Add unitypes.
43877
43878 2007-01-08  Bruno Haible  <bruno@clisp.org>
43879
43880         Avoid variable names that conflict with those from libtool.
43881         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
43882         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
43883         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
43884         library_names_spec to acl_library_names_spec, hardcode_* to
43885         acl_hardcode_*.
43886         Reported by Ralf Wildenhues.
43887
43888 2007-01-08  Bruno Haible  <bruno@clisp.org>
43889
43890         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
43891         definition.
43892         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
43893         definition.
43894         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
43895         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
43896         definition.
43897         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
43898         definition.
43899         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
43900         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
43901         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
43902         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
43903         definition.
43904         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
43905         definition.
43906         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
43907         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
43908         GC_USE_<algorithm>.
43909         * lib/gc-libgcrypt.c: Likewise.
43910         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
43911         * modules/gc-arctwo (configure.ac): Likewise.
43912         * modules/gc-des (configure.ac): Likewise.
43913         * modules/gc-hmac-md5 (configure.ac): Likewise.
43914         * modules/gc-hmac-sha1 (configure.ac): Likewise.
43915         * modules/gc-md2 (configure.ac): Likewise.
43916         * modules/gc-md4 (configure.ac): Likewise.
43917         * modules/gc-md5 (configure.ac): Likewise.
43918         * modules/gc-random (configure.ac): Likewise.
43919         * modules/gc-rijndael (configure.ac): Likewise.
43920         * modules/gc-sha1 (configure.ac): Likewise.
43921
43922 2007-01-08  Bruno Haible  <bruno@clisp.org>
43923
43924         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
43925         macro definition.
43926         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
43927         definition.
43928         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
43929         definition.
43930         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
43931         * modules/fcntl-safer (configure.ac): Likewise.
43932         * modules/fopen-safer (configure.ac): Likewise.
43933         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
43934         GNULIB_FWRITEERROR macro definition.
43935
43936 2007-01-08  Bruno Haible  <bruno@clisp.org>
43937
43938         * m4/gnulib-common.m4: New file.
43939         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
43940         (func_get_filelist): Add m4/gnulib-common.m4.
43941
43942 2007-01-08  Bruno Haible  <bruno@clisp.org>
43943
43944         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
43945         command.
43946
43947 2007-01-08  Jim Meyering  <jim@meyering.net>
43948
43949         Use a more robust test for a "can't happen" condition.
43950         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
43951         narrowed the st_size value.  Presuming the "can't happen" condition
43952         is true, that narrowing could conceivably convert an invalid st_size
43953         value into a valid one.  Instead, use a change based on Matthew
43954         Woehlke's original patch.
43955
43956         Slight readability improvement: use an assert-like macro
43957         in place of literal "abort ()" uses.
43958         * lib/fts.c (fts_assert): Define.
43959         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
43960         Use this macro instead of a bare 'abort'.
43961
43962 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
43963
43964         Don't worry about using IRIX 5.3's wctype.h broken definitions;
43965         simply work around them.
43966         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
43967         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
43968         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
43969         declaring.
43970         Don't bother to define as macros, since the standard doesn't require it.
43971         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
43972         longer worry about IRIX 5.3.
43973         (HAVE_WCTYPE_CTMP_BUG): Remove.
43974
43975 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
43976
43977         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
43978         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
43979         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
43980         Problems reported by Georg Schwarz for IRIX 5.3.
43981
43982         * gnulib-tool (autoconf_minversion): Take the maximum version number
43983         found, not the minimum.  Problem reported by James Youngman.
43984
43985 2007-01-03  Karl Berry  <karl@gnu.org>
43986
43987         * doc/error.texi: new file, explaining interaction with progname.
43988         * doc/gnulib.texi: include it.  Update copyright.
43989
43990 2007-01-03  Simon Josefsson  <simon@josefsson.org>
43991
43992         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
43993         AC_CANONICAL_HOST, to improve autobuild outputs.
43994
43995 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
43996             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
43997
43998         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
43999         sockets, server sockets, and other file descriptors.  Count errors
44000         to compute the return value.  Reorder the code a bit to be easier
44001         to follow.  Don't set event bits that were not requested (except
44002         POLLERR and POLLHUP).
44003
44004 2007-01-01  Bruno Haible  <bruno@clisp.org>
44005
44006         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
44007
44008 2007-01-03  Jim Meyering  <jim@meyering.net>
44009
44010         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
44011
44012 2007-01-02  Bruno Haible  <bruno@clisp.org>
44013
44014         * modules/settime (Include): Require timespec.h.
44015         * modules/nanosleep (Include): Likewise.
44016
44017 2007-01-01  Bruno Haible  <bruno@clisp.org>
44018
44019         * gnulib-tool (func_emit_copyright_notice): Bump year.
44020         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
44021
44022 2007-01-01  Bruno Haible  <bruno@clisp.org>
44023
44024         Improve support for OpenBSD.
44025         * build-aux/config.rpath (libname_spec): Export.
44026         (library_names_spec): New variable. Export.
44027         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
44028         library_names_spec from the config.rpath output. Locate shared library
44029         through the name pattern in library_names_spec.
44030
44031 2007-01-01  Eric Blake  <ebb9@byu.net>
44032
44033         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
44034
44035 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
44036
44037         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
44038         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
44039         assume the C locale, and avoid an "eval" that could cause trouble.
44040         Problem with SORT reported by Bob Proulx.
44041
44042         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
44043         Define.  Trivial patch from Henning Nielsen Lund, originally
44044         sent to bug-grep@gnu.org today.
44045
44046 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
44047
44048         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
44049         struct stat.  Problem reported by Henning Nielsen Lund.
44050         * lib/acl.c: Include acl.h first, to check interface.  Don't
44051         bother to include sys/types.h and sys/stat.h again.
44052
44053 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
44054
44055         Import the following change from libc; problem reported by
44056         Sven Verdoolaege.
44057
44058         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
44059
44060         [BZ #1373]
44061         * lib/argp.h: Remove __NTH for __argp_usage inline function.
44062
44063 2006-12-28  Jim Meyering  <jim@meyering.net>
44064
44065         * build-aux/announce-gen: Do not assume that the package
44066         builds any of tar.gz, tar.bz2, and .xdelta files.
44067         Suggestion from Simon Josefsson.
44068
44069 2006-12-28  Simon Josefsson  <simon@josefsson.org>
44070
44071         * modules/announce-gen: New file.
44072
44073 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
44074
44075         * lib/mbchar.h: Just include <wctype.h>; the wctype module
44076         handles its gotchas now.
44077         * lib/mbswidth.c: Likewise.
44078         * lib/wcwidth.h: Likewise.
44079         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
44080         and iswcntrl; the wctype module does this stuff now.
44081         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
44082         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
44083         * modules/mbchar (Depends-on): Add wctype.
44084         * modules/mbswidth (Depends-on): Likewise.
44085         * modules/wcwidth (Depends-on): Likewise.
44086
44087 2006-12-27  Eric Blake  <ebb9@byu.net>
44088
44089         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
44090         module uses more than what <wctype.h> is required to provide.
44091
44092 2006-12-26  Eric Blake  <ebb9@byu.net>
44093
44094         * gnulib-tool (sed_extract_prog): Avoid space-tab.
44095
44096 2006-12-26  Eric Blake  <ebb9@byu.net>
44097
44098         * modules/absolute-header: New module.
44099         * modules/fcntl (Depends-on): Depend on it.
44100         * modules/inttypes (Depends-on): Likewise.
44101         * modules/stdint (Depends-on): Likewise.
44102         * modules/sys_stat (Depends-on): Likewise.
44103         * modules/wctype (Depends-on): Likewise.
44104         * MODULES.html.sh (Support for building libraries and
44105         executables): Document it.
44106
44107 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
44108
44109         * gnulib-tool (SED): Remove, undoing previous change.
44110         The problem was that it broke coreutils on Solaris, because
44111         "sed --posix" leaked into a makefile.
44112         (sed): New alias, if 'alias' and GNU sed.
44113
44114 2006-12-24  Jim Meyering  <jim@meyering.net>
44115
44116         Work around an fchownat bug in glibc-2.4:
44117         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
44118         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
44119         in spite of the -P option.
44120         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
44121         New macros.
44122         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
44123         * modules/openat (Files): Add lib/fchownat.c.
44124         * lib/openat.c (fchownat): Don't define here.  Move to...
44125         * lib/fchownat.c: ...this new file.
44126
44127 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
44128
44129         Fix bug reported by Bruno Haible in
44130         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
44131         where quotearg.c didn't compile on Mac OS X 10.2 because it
44132         lacks <wchar.h> and wint_t.
44133         * lib/wctype_.h (__wctype_wint_t): New type.
44134         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
44135         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
44136         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
44137         Arg is now of type __wctype_wint_t, not wint_t.
44138         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
44139         substitute HAVE_WINT_T.
44140         * modules/wctype (Files): Add m4/wint_t.m4.
44141         (wctype.h): Substitute HAVE_WINT_T.
44142
44143 2006-12-23  Bruno Haible  <bruno@clisp.org>
44144
44145         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
44146
44147 2006-12-23  Bruno Haible  <bruno@clisp.org>
44148
44149         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
44150         S_ISLNK.
44151         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
44152         mingw.
44153
44154 2006-12-22  Bruno Haible  <bruno@clisp.org>
44155
44156         * lib/copy-file.c: Include acl.h.
44157         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
44158         Close the file descriptors only after being done with copy_acl.
44159         * modules/copy-file (Depends-on): Add acl.
44160
44161 2006-12-22  Bruno Haible  <bruno@clisp.org>
44162
44163         * gnulib-tool (SED): New variable.
44164         Use $SED instead of sed everywhere.
44165
44166 2006-12-22  Bruno Haible  <bruno@clisp.org>
44167
44168         * modules/no-c++: New file.
44169         * m4/no-c++.m4: New file.
44170         * MODULES.html.sh (Support for building libraries and executables):
44171         Add no-c++.
44172
44173 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
44174
44175         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
44176         Include <limits.h>, and use its INT_MAX to rewrite the
44177         j loop so that it does not overflow 'int'.  Problem reported by
44178         Ralf Wildenhues in
44179         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
44180         Play it safe by shifting left by 1 rather than multiplying by 2,
44181         as GCC is less likely to optimize this away when the value
44182         is signed (when it assumes overflow leads to undefined behavior).
44183         Also, don't assume time_t uses two's complement.
44184
44185 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
44186
44187         * MODULES.html.sh: New module wctype.
44188         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
44189         * lib/fnmatch.c: Don't bother to include <wchar.h> before
44190         <wctype.h>, since the new wctype module should fix this.
44191         * lib/quotearg.c: Include <wctype.h> unconditionally, since
44192         the wctype module should arrange for it.
44193         * lib/regex_internal.h: Likewise.
44194         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
44195         since the wctype module should handle this now.
44196         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
44197         * modules/fnmatch (Depends-on): Add wctype.
44198         * modules/quotearg (Depends-on): Likewise.
44199         * modules/regex (Depends-on): Likewise.
44200
44201 2006-12-19  Bruno Haible  <bruno@clisp.org>
44202
44203         * lib/strdup.h [C++]: Wrap definitions in extern "C".
44204         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
44205
44206 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44207
44208         * modules/savewd (Depends-on): Fix dependency on fcntl.
44209
44210 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
44211
44212         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
44213         conforms to C99, rather than relying on the user's environment
44214         setting of STDINT_H.
44215
44216 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
44217         and Eric Blake  <ebb9@byu.net>
44218
44219         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
44220         This is more consistent with the other defines here.
44221         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
44222         Port to z/OS.  Problem reported by Paul Gilmartin.
44223         Change local vars to use gl_ prefix rather than ac_.
44224         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
44225         with other defines.
44226         * modules/double-slash-root: New module.
44227         * modules/dirname (Files): Remove m4/double-slash-root.m4.
44228         (Depends-on): Add double-slash-root.
44229         * MODULES.html.sh (File system functions): Mention new module.
44230
44231 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
44232
44233         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
44234         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
44235         This is for the benefit of gzip, which doesn't do i18n.
44236
44237 2006-12-12  Jim Meyering  <jim@meyering.net>
44238
44239         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
44240         Reported by Andreas Schwab <schwab@suse.de>.
44241
44242 2006-12-12  Bruno Haible  <bruno@clisp.org>
44243
44244         Merge these changes.
44245         2006-09-05  Bruno Haible  <bruno@clisp.org>
44246         * lib/iconvme.c (iconv_string): No need to save and restore errno when
44247         iconv_alloc succeeded.
44248         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
44249         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
44250         test for " && dest " at the end - dest is always != NULL there. Call
44251         iconv with 4xNULL arguments initially, to reset the state. Call iconv
44252         with 2xNULL arguments, also to flush the state storage. Handle the
44253         IRIX iconv behaviour. Realloc the final result, to throw away unused
44254         memory.
44255
44256 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
44257
44258         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
44259         and fchmodat unconditionally, since glibc 2.4 has them.
44260         Problem reported by Arkadiusz Miskiewicz.
44261
44262 2006-12-10  Bruno Haible  <bruno@clisp.org>
44263
44264         * gnulib-tool (func_import): Show the include files only for those
44265         modules that are copied and specified.
44266         Reported by Karl Berry.
44267
44268 2006-12-08  Jim Meyering  <jim@meyering.net>
44269
44270         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
44271         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
44272
44273         * build-aux/announce-gen: Add two new options, both optional:
44274         --bootstrap-tools=TOOL_LIST
44275               a comma-separated list of tools, e.g.,
44276               autoconf,automake,bison,gnulib
44277         --gnulib-snapshot-date=DATE
44278               if gnulib is in the bootstrap tool list,
44279               then report this as the snapshot date.
44280               If not specified, use the current date/time.
44281               If you specify a date here, be sure it's UTC.
44282
44283 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44284
44285         * tests/test-argp-2.sh: Fix test to match actual output.
44286         (func_compare): Fix sed script to be portable.
44287
44288 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
44289
44290         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
44291         workaround for this case.  It is not autoconfigured now; offhand
44292         it's hard to see how to autoconfigure it.
44293
44294 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
44295
44296         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
44297         a directory that is about to be chowned.  Such a directory's
44298         initial file permissions should permit the owner only and this
44299         should not be changed until after the chown, since the group and
44300         other bits would be incorrect if they granted permission before
44301         the chown.
44302
44303         Fix porting problem for iswctype reported by Georg Schwarz in:
44304         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
44305         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
44306         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
44307         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
44308         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
44309
44310 2006-12-03  Jim Meyering  <jim@meyering.net>
44311
44312         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
44313         p->fts_statp may not yet be defined.
44314         (fts_read): Instead, set it in the caller, once p->fts_statp is
44315         sure to be defined, and corresponds to a top-level directory.
44316         This bug made du -x fail.  Here's the coreutils test case:
44317         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
44318         Reported by Mike Frysinger.
44319
44320 2006-12-01  Jim Meyering  <jim@meyering.net>
44321
44322         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
44323         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
44324         Reported by Simon Josefsson.
44325
44326 2006-11-30  Jim Meyering  <jim@meyering.net>
44327
44328         * m4/warning.m4: Use the all-permissive copyright notice
44329         recommended by RMS (rather than LGPL).
44330         * m4/vararrays.m4: Likewise.
44331         * m4/flexmember.m4: Likewise.
44332
44333 2006-11-29  Bruno Haible  <bruno@clisp.org>
44334
44335         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
44336         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
44337         using +=.
44338         Reported by Simon Josefsson <simon@josefsson.org>.
44339
44340 2006-11-28  James Youngman <jay@gnu.org>
44341
44342         * README: Advise users that they might find the bug-gnulib@gnu.org
44343         and autotools-announce@gnu.org mailing lists useful.
44344
44345 2006-11-28  Bruno Haible  <bruno@clisp.org>
44346
44347         * m4/ptrdiff_max.m4: Remove file.
44348
44349 2006-11-21  Bruno Haible  <bruno@clisp.org>
44350
44351         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
44352         _AC_COMPUTE_INT.
44353         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
44354         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
44355         _AC_COMPUTE_INT.
44356         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
44357         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
44358         _AC_COMPUTE_INT.
44359         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
44360
44361 2006-11-28  Jim Meyering  <jim@meyering.net>
44362
44363         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
44364         warning from "gcc -Wshadow" about shadowing the builtin.
44365
44366 2006-11-27  Bruno Haible  <bruno@clisp.org>
44367
44368         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
44369         _AC_COMPUTE_INT.
44370         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
44371
44372 2006-11-27  Bruno Haible  <bruno@clisp.org>
44373             Paul Eggert  <eggert@cs.ucla.edu>
44374
44375         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
44376
44377 2006-11-26  Bruno Haible  <bruno@clisp.org>
44378
44379         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
44380         noinst_LTLIBRARIES.
44381
44382 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
44383             Bruno Haible  <bruno@clisp.org>
44384
44385         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
44386         if compiling with "gcc -ansi".
44387
44388 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
44389
44390         Fix some incompatibilities with gcc -ansi -pedantic.
44391         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
44392         if compiling pedantically with GCC, unless it's C99 or later.
44393         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
44394         it mishandles gcc -ansi -pedantic as well.
44395         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
44396         if gcc -pedantic.
44397         * lib/regexec.c (check_node_accept_bytes): Don't use auto
44398         initializers for struct if -pedantic, unless it's C99 or later.
44399
44400 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
44401
44402         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
44403         Don't close an fd more than once. Identical atimes indicate
44404         success, not failure.
44405
44406 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
44407
44408         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
44409
44410 2006-11-23  Jim Meyering  <jim@meyering.net>
44411
44412         * build-aux/announce-gen: New file.  From coreutils.
44413
44414 2006-11-22  Jim Meyering  <jim@meyering.net>
44415
44416         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
44417         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
44418         (fts_read): Use a temporary to narrow the overused st_size member
44419         before using it in a switch statement.  Reported by Matthew Woehlke.
44420
44421         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
44422         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
44423
44424 2006-11-20  Bruno Haible  <bruno@clisp.org>
44425
44426         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
44427         changequote instead of pairs of brackets.
44428         Reported by Andreas Schwab <schwab@suse.de>.
44429
44430 2006-11-21  Jim Meyering  <jim@meyering.net>
44431
44432         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
44433         so as to remain compatible with older compilers.
44434         Patch from Michael Deutschmann.
44435
44436 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
44437
44438         * MODULES.html.sh (File system functions): Add openat.
44439
44440         * lib/openat.h (rpl_fstatat): New macro, if
44441         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
44442         (fstatat): Define to rpl_fstatat under the same conditions,
44443         unless COMPILING_FSTATAT.
44444         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
44445         seems to have the bug.
44446         * lib/fstatat.c: New file.
44447         * modules/openat (Files): Add it.
44448
44449 2006-11-20  Bruno Haible  <bruno@clisp.org>
44450
44451         * Makefile: New file.
44452
44453 2006-11-20  Jim Meyering  <jim@meyering.net>
44454
44455         The beginnings of syntax-related checks for gnulib.
44456         * lib/Makefile: New file.
44457         * lib/t-idcache: New script.  Ensure that the two halves of
44458         idcache.c stay in sync.
44459
44460         * lib/idcache.c: Adjust comments in user- and group- portions to
44461         be more accurate, and to be consistent with one another.
44462
44463 2006-11-20  Jim Meyering  <jim@meyering.net>
44464
44465         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
44466         continue using the flexible array member (thus, this module performs
44467         half as many malloc calls), with the addition that...
44468         (getgroup, getuser): Consistently record a non-match via an empty
44469         "name" string, and map an empty string match to a NULL return value.
44470         * modules/idcache (Depends-on): Re-add flexmember.
44471
44472         * lib/idcache.c (getuser): Remove all uses of the register keyword.
44473         (getuidbyname, getgroup, getgidbyname): Likewise.
44474
44475         Use cleaner syntax: NULL rather than 0.
44476         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
44477
44478 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
44479
44480         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
44481         It mishandled the case where the group was missing.
44482         Problem reported by Greg Schafer.
44483         * modules/idcache: Likewise.
44484
44485 2006-11-18  Jim Meyering  <jim@meyering.net>
44486
44487         * check-module (%exempt_header): Add exception for some
44488         conditionally-included headers.
44489
44490         * modules/i-ring (Depends-on): Add verify.
44491         (License): Change to LGPL.
44492
44493 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
44494
44495         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
44496         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
44497         and inttostr.h.  Use snprintf rather than uinttostr, so that
44498         LGPLed code doesn't depend on GPLed.
44499
44500 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
44501
44502         * modules/inline (License): Change from GPL to LGPL.
44503
44504 2006-11-17  Jim Meyering  <jim@meyering.net>
44505
44506         * modules/d-type (License): Switch to LGPL.
44507
44508 2006-11-15  Bruno Haible  <bruno@clisp.org>
44509
44510         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
44511
44512 2006-11-15  Eric Blake  <ebb9@byu.net>
44513
44514         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
44515         the module dependency.
44516
44517 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44518             Bruno Haible  <bruno@clisp.org>
44519
44520         * gnulib-tool (func_create_testdir): Add license consistency check.
44521
44522 2006-11-15  Eric Blake  <ebb9@byu.net>
44523
44524         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
44525         random "(cached)" in configure output.
44526
44527 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44528
44529         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
44530         test for conforming inttypes.h is both announced and cached.
44531
44532         * MODULES.html.sh (seen_modules, seen_files): New variables.
44533         (func_module): Rewrite to use a few less gnulib-tool and sed
44534         invocations.  Avoid a couple of quadratic algorithms for ...
44535         (missed_modules, missed_files): ... these, with ...
44536         (func_append, func_tmpdir): ... these new functions, from
44537         gnulib-tool.  Analogously, install traps for cleanup.
44538
44539         * tests/test-gc.c (main): Remove unused variables.
44540         * tests/test-read-file.c: Include stdlib.h, for 'free'.
44541
44542 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
44543
44544         * modules/inttostr (License): Change to LGPL.
44545
44546 2006-11-14  Eric Blake  <ebb9@byu.net>
44547
44548         * modules/tempname (License): Change to LGPL.
44549
44550 2006-11-14  Eric Blake  <ebb9@byu.net>
44551
44552         * doc/functions.texi (Function Portability): *printf functions on
44553         Cygwin now understand all POSIX size specifiers.
44554
44555 2006-11-14  Bruno Haible  <bruno@clisp.org>
44556
44557         * modules/c-ctype (License): Change to LGPL.
44558
44559 2006-11-12  Bruno Haible  <bruno@clisp.org>
44560
44561         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
44562         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
44563         for GNOME libraries, for which the include files are installed in
44564         subdirectories of $prefix/include.
44565
44566 2006-11-12  Bruno Haible  <bruno@clisp.org>
44567
44568         * m4/lib-link.m4: Require at least autoconf-2.54.
44569         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
44570         name to underscores for the --with option.
44571
44572 2006-11-13  Bruno Haible  <bruno@clisp.org>
44573
44574         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
44575         the tests directory.
44576         Reported by Ralf Wildenhues.
44577
44578 2006-11-13  Bruno Haible  <bruno@clisp.org>
44579
44580         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
44581         (func_emit_initmacro_end): Undo the override here.
44582         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
44583         Works around the famous automake error in coreutils.
44584
44585 2006-11-13  Eric Blake  <ebb9@byu.net>
44586
44587         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
44588         element, not its node.
44589
44590 2006-11-12  Bruno Haible  <bruno@clisp.org>
44591
44592         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
44593         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
44594
44595 2006-11-12  Bruno Haible  <bruno@clisp.org>
44596
44597         * gnulib-tool: New option --local-symlink.
44598         (func_usage): Document it.
44599         (lsymbolic): New variable.
44600         (func_import, func_create_testdir): If --symlink was not specified,
44601         test whether --local-symlink was specified and the file comes from
44602         the local_gnulib_dir.
44603
44604 2006-11-12  Bruno Haible  <bruno@clisp.org>
44605
44606         * gnulib-tool (func_ln): New function.
44607         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
44608
44609 2006-11-12  Bruno Haible  <bruno@clisp.org>
44610
44611         Finish support for source files in subdirectories.
44612         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
44613         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
44614         AUTOMAKE_OPTIONS.
44615         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
44616
44617 2006-11-12  Bruno Haible  <bruno@clisp.org>
44618
44619         * gnulib-tool (func_get_automake_snippet): Synthesize also an
44620         EXTRA_lib_SOURCES augmentation.
44621         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
44622
44623 2006-11-12  Jim Meyering  <jim@meyering.net>
44624
44625         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
44626         file descriptors.  This also averts a failure on systems with
44627         native openat support when a traversed directory lacks "x" access.
44628         * lib/fts_.h: Include "i-ring.h"
44629         (struct FTS) [fts_fd_ring]: New member.
44630         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
44631         (FCHDIR): Add parentheses.
44632         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
44633         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
44634         When descending, rather than simply closing the previous
44635         fts_cwd_fd value, push that file descriptor onto the ring.
44636         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
44637         (fts_open): Initialize the new fd_ring member.
44638         (fts_close): Clear the ring.
44639         (fts_safe_changedir): When possible, use our new fd_ring to skip
44640         the diropen and fstat and dev/ino comparison that would normally
44641         accompany a virtual `chdir ("..")'.
44642
44643         * modules/fts (Depends-on): Add i-ring.
44644         * modules/i-ring: New module.
44645         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
44646         * m4/i-ring.m4: New file.
44647
44648 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44649
44650         * gnulib-tool (func_create_testdir): Fix replacement of
44651         `build-aux' in configure.ac.  Run autotools in gltests
44652         subdirectory.
44653         (func_create_testdir, func_create_megatestdir, test): There is
44654         no need for '--force' in most autotool invocations in a new
44655         tree.  Actually fail the whole test if any of the tools, or the
44656         configure or make stages fail.
44657
44658         Sync from Automake.
44659         * build-aux/gnupload: Revert last change.  Add pointer to upload
44660         instructions of the GNU Maintenance Instructions.
44661         Suggestion by Karl Berry.
44662
44663 2006-11-10  Jim Meyering  <jim@meyering.net>
44664
44665         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
44666
44667 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
44668
44669         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
44670         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
44671         (bind_textdomain_codeset) [! ENABLE_NLS]:
44672         Evaluate all the arguments.  That way, callers get compatible behavior
44673         if the arguments have side effects.  Also, it avoids some GCC
44674         diagnostics in some cases; Joel E. Denny reported problems when Bison
44675         was configured with --enable-gcc-warnigs.
44676
44677 2006-11-10  Jim Meyering  <jim@meyering.net>
44678
44679         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
44680         relevant options in CFLAGS (like -O, -fno-inline) are taken into
44681         account.
44682
44683 2006-11-10  Jim Meyering  <jim@meyering.net>
44684
44685         * modules/inline: New file/module.
44686         * modules/xalloc (Files): Remove m4/inline.m4.
44687         (Depends-on): Add inline, instead.
44688         * modules/oset: Likewise.
44689         * modules/list: Likewise.
44690
44691 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
44692
44693         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
44694         Problem reported by Matthew Woehlke.
44695
44696 2006-11-09  Bruno Haible  <bruno@clisp.org>
44697
44698         * lib/tempname.c (gen_tempname): Remove variant that invokes
44699         __gen_tempname.
44700         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
44701         __gen_tempname.
44702
44703 2006-11-08  Bruno Haible  <bruno@clisp.org>
44704
44705         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
44706         to 'yes' instead of 'cross-compiling'.
44707
44708 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
44709
44710         * lib/quotearg.h (quotearg_free): New decl.
44711         * lib/quotearg.c (quotearg_free): New function.
44712         (slot0, nslots, slotvec0, slotvec):
44713         Now file-scope so that quotearg_free can get at them.
44714
44715 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44716
44717         Sync from Automake.
44718         * build-aux/gnupload: Add missing 'gnu' to example URL.
44719         Report by Karl Berry.
44720
44721 2006-11-08  Bruno Haible  <bruno@clisp.org>
44722
44723         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
44724         Suggested by Paul Eggert.
44725
44726 2006-11-08  Jim Meyering  <jim@meyering.net>
44727
44728         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
44729         It's already included if !_LIBC.
44730         (fts_safe_changedir): Add a comment.
44731
44732 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
44733
44734         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
44735         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
44736         Matthew Woehlke.
44737
44738         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
44739         definitions up, to avoid colliding with change below.
44740         (static_inline) [HAVE_INLINE]: New macro.
44741         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
44742         Provide extern decls when !HAVE_INLINE.  Do not define unless
44743         static_inline is defined, either by us or by xmalloc.c.  Use
44744         static_inline rather than static inline.
44745         (XCALLOC): Optimize sizeof(T) = 1 case.
44746         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
44747
44748 2006-11-07  Bruno Haible  <bruno@clisp.org>
44749
44750         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
44751         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
44752         AC_C_INLINE.
44753         * modules/xalloc (Files): Add m4/inline.m4.
44754
44755 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44756
44757         * README: Fix typo.
44758         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
44759         (Miscellanous Notes): ...from this.
44760
44761 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
44762
44763         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
44764         Mention that offsetof should be used instead of sizeof.
44765         From Bruno Haible.
44766
44767 2006-11-07  Bruno Haible  <bruno@clisp.org>
44768
44769         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
44770
44771 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
44772
44773         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
44774         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
44775         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
44776         (gl_tree_add_before, gl_tree_add_after):
44777         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
44778         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
44779         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
44780         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
44781         (gl_linked_add_after, gl_linked_add_at): Likewise.
44782         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
44783         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
44784         (gl_tree_add_before, gl_tree_add_after): Likewise.
44785         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
44786         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
44787         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
44788
44789 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44790
44791         * lib/gl_oset.h: Use C comment style, not C++ comment style.
44792
44793 2006-11-06  Bruno Haible  <bruno@clisp.org>
44794
44795         * m4/inline.m4: New file.
44796         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
44797         * modules/list (Files): Add m4/inline.m4.
44798         * modules/oset (Files): Likewise.
44799
44800 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
44801
44802         * lib/idcache.c: Include <stddef.h>, for offsetof.
44803         (struct userid.name): Change from char * to a flexible array member.
44804         All uses changed.
44805         * modules/idcache (Depends-on): Add flexmember.
44806
44807         * MODULES.html.sh (Core language properties): New module flexmember.
44808         * modules/flexmember, m4/flexmember.m4: New files.
44809
44810         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
44811         inline functions that are identical with the old xnmalloc_inline,
44812         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
44813         that we can avoid some unnecessary integer multiplications and
44814         divisions in the common case where the element size is known at
44815         compile time.
44816         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
44817         needed.
44818         (xnboundedmalloc): Remove.
44819         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
44820         arguments, for consistency with rest of this header.
44821         (xcharalloc): Rewrite using XNMALLOC.
44822         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
44823         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
44824         versions have been moved to lib/xalloc.h and renamed to be the
44825         non-*_inline versions.
44826         (xmalloc, xrealloc): Implement without reference to the xnmalloc
44827         and xnrealloc functions, since those functions are now inline and
44828         now call us.
44829         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
44830         renaming described above.
44831         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
44832         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
44833         captures the dependency in AC_C_INLINE.
44834
44835         New module canonicalize-lgpl, proposed by Charles Wilson in
44836         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
44837         with a few small changes afterwards.
44838         * MODULES.html.sh (File system functions): New module
44839         canonicalize-lgpl.
44840         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
44841         and canonicalize_file_name.
44842         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
44843         * modules/canonicalize-lgpl: New files.
44844
44845 2006-11-05  Bruno Haible  <bruno@clisp.org>
44846
44847         * gnulib-tool (func_import, func_create_testdir): Create directories
44848         also for files in subdirectories of lib/.
44849
44850 2006-11-05  Bruno Haible  <bruno@clisp.org>
44851
44852         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
44853         ANSI C compliant.
44854
44855 2006-11-03  Bruno Haible  <bruno@clisp.org>
44856
44857         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
44858         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
44859         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
44860         (xnboundedmalloc): New inline function.
44861         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
44862         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
44863         xmalloc.
44864         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
44865         xmalloc.
44866         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
44867         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
44868         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
44869         xmalloc.
44870         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
44871         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
44872         xmalloc.
44873         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
44874         gl_tree_add_after): Use XMALLOC instead of xmalloc.
44875         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
44876         xmalloc.
44877         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
44878         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
44879         gl_tree_add_after): Use XMALLOC instead of xmalloc.
44880         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
44881         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
44882         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
44883         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
44884
44885 2006-11-03  Bruno Haible  <bruno@clisp.org>
44886
44887         * lib/c-ctype.h [C++]: Define functions without name mangling.
44888         * lib/fwriteerror.h [C++]: Likewise.
44889         * lib/gcd.h [C++]: Likewise.
44890         * lib/linebreak.h [C++]: Likewise.
44891
44892 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
44893
44894         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
44895         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
44896         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
44897         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
44898         Check for functions and headers just once.
44899         Check for declaration of canonicalize_file_name.
44900         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
44901
44902 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
44903
44904         * gnulib-tool (func_import): Fix typo in actioncmd.
44905
44906 2006-11-02  Bruno Haible  <bruno@clisp.org>
44907
44908         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
44909         newline sequence in the Makefile.am snippet as a space, like "make"
44910         does.
44911         Reported by Roger Persson <perrog@gmail.com>.
44912
44913 2006-11-01  Bruno Haible  <bruno@clisp.org>
44914
44915         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
44916         already declared in <string.h>.
44917         * lib/strcase.h (strncasecmp): Don't declare it if yes.
44918
44919 2006-11-01  Bruno Haible  <bruno@clisp.org>
44920
44921         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
44922         * lib/strcase.h: Include <string.h>.
44923         (strcasecmp): Define to rpl_strcasecmp here.
44924
44925 2006-11-01  Bruno Haible  <bruno@clisp.org>
44926
44927         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
44928
44929 2006-11-01  Eric Blake  <ebb9@byu.net>
44930
44931         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
44932
44933         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
44934
44935 2006-10-29  Bruno Haible  <bruno@clisp.org>
44936
44937         Make it compile in C++ mode.
44938         * lib/full-write.c (full_rw): Add a cast.
44939
44940 2006-11-01  Bruno Haible  <bruno@clisp.org>
44941
44942         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
44943         be POSIX compliant.
44944         Reported by Roger Persson <perrog@gmail.com>.
44945
44946 2006-11-01  Eric Blake  <ebb9@byu.net>
44947
44948         * lib/getopt_.h: Fix comments.
44949
44950 2006-10-31  Eric Blake  <ebb9@byu.net>
44951
44952         * modules/tmpdir (Depends-on): Add sys_stat.
44953         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
44954         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
44955         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
44956         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
44957         tempname.
44958
44959 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
44960
44961         Avoid some C++ diagnostics reported by Bruno Haible.
44962         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
44963         xmalloc.
44964         (quotearg_alloc): Use xcharalloc rather than xmalloc.
44965         (struct slotvec): Move to top level.
44966         (quotearg_n_options): Rewrite to avoid xmalloc.
44967         * lib/xalloc.h (xcharalloc): New function.
44968         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
44969         [defined __cplusplus]: Add function template that provides result
44970         type propagation.  This part of the change is from Bruno Haible.
44971
44972 2006-10-29  Bruno Haible  <bruno@clisp.org>
44973
44974         Make it compile in C++ mode.
44975         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
44976         * lib/strnlen1.c (strnlen1): Cast memchr result.
44977         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
44978         * lib/clean-temp.c (string_equals, string_hash): Add casts.
44979         (create_temp_dir): Rename local variable 'template'.
44980         (compile_csharp_using_sscli): Add cast.
44981         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
44982         * lib/findprog.c (find_in_path): Likewise.
44983         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
44984         * lib/wait-process.c (register_slave_subprocess): Likewise.
44985
44986 2006-10-22  Bruno Haible  <bruno@clisp.org>
44987
44988         * modules/tsearch: New file.
44989         * lib/tsearch.h: New file.
44990         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
44991         * m4/tsearch.m4: New file.
44992         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
44993
44994 2006-10-29  Eric Blake  <ebb9@byu.net>
44995
44996         * lib/arcfour.c: Assume config.h.
44997         * lib/arctwo.c: Likewise.
44998         * lib/base64.c: Likewise.
44999         * lib/check-version.c: Likewise.
45000         * lib/crc.c: Likewise.
45001         * lib/des.c: Likewise.
45002         * lib/gc-gnulib.c: Likewise.
45003         * lib/gc-libgcrypt.c: Likewise.
45004         * lib/gc-pbkdf2-sha1.c: Likewise.
45005         * lib/getaddrinfo.c: Likewise.
45006         * lib/getdelim.c: Likewise.
45007         * lib/getline.c: Likewise.
45008         * lib/hmac-md5.c: Likewise.
45009         * lib/hmac-sha1.c: Likewise.
45010         * lib/iconvme.c: Likewise.
45011         * lib/md2.c: Likewise.
45012         * lib/md4.c: Likewise.
45013         * lib/memxor.c: Likewise.
45014         * lib/read-file.c: Likewise.
45015         * lib/readline.c: Likewise.
45016         * lib/rijndael-alg-fst.c: Likewise.
45017         * lib/rijndael-api-fst.c: Likewise.
45018         * lib/xgetdomainname.c: Likewise.
45019
45020 2006-10-28  Eric Blake  <ebb9@byu.net>
45021
45022         * lib/xstrndup.c: Assume config.h.
45023
45024 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
45025
45026         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
45027         stat-macros.h is now for our own macros, whereas stat_h is for
45028         macros in the <sys/stat.h> name space.
45029         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
45030         (STAT_MACROS_H): Remove.
45031         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
45032         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
45033         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
45034         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
45035         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
45036         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
45037         Move these macros to ...
45038         * lib/stat_.h: here.  Don't include stat-macros.h.
45039         * lib/canonicalize.c: Don't include stat-macros.h.
45040         * lib/chown.c: Likewise.
45041         * lib/euidaccess.c: Likewise.
45042         * lib/file-type.c: Likewise.
45043         * lib/filemode.c: Likewise.
45044         * lib/glob.c: Likewise.
45045         * lib/isapipe.c: Likewise.
45046         * lib/lchown.c: Likewise.
45047         * lib/lstat.c: Likewise.
45048         * lib/mkdir-p.c: Likewise.
45049         * lib/rmdir.c: Likewise.
45050         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
45051         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
45052         unless mkdir isn't declared, to speed up 'configure'.
45053         Always create sys/stat.h, since it's unlikely any real sys/stat.h
45054         would define all the S_* symbols.
45055         * modules/canonicalize (Depends-on):
45056         Depend on sys_stat, not stat-macros.
45057         * modules/chown: Likewise.
45058         * modules/euidaccess: Likewise.
45059         * modules/filemode: Likewise.
45060         * modules/file-type: Likewise.
45061         * modules/glob: Likewise.
45062         * modules/isapipe: Likewise.
45063         * modules/lchown: Likewise.
45064         * modules/lstat: Likewise.
45065         * modules/mkancesdirs: Likewise.
45066         * modules/rmdir: Likewise.
45067         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
45068         * modules/modechange: Likewise.
45069         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
45070         (configure.ac): Remove gl_STAT_MACROS.
45071         * modules/sys_stat (Depends-on): Remove stat-macros.
45072
45073 2006-10-27  Bruno Haible  <bruno@clisp.org>
45074
45075         * m4/signed.m4: Remove file.
45076         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
45077         invocation.
45078         * modules/vasnprintf (Files): Remove m4/signed.m4.
45079
45080 2006-10-27  Bruno Haible  <bruno@clisp.org>
45081
45082         Update to GNU gettext 0.16.
45083         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
45084         m4/inttypes-h.m4, m4/signed.m4.
45085         * m4/gettext.m4: Update to GNU gettext 0.16.
45086         * m4/intl.m4: New file, from GNU gettext.
45087         * m4/intldir.m4: New file, from GNU gettext.
45088         * config/srclist.txt: Update
45089
45090 2006-10-27  Eric Blake  <ebb9@byu.net>
45091
45092         * MODULES.html.sh: Document tempname.
45093         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
45094         dependencies.
45095         (Files): Move lib/tempname.c...
45096         * modules/tempname: ...to this new module.
45097         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
45098         (gl_PREREQ_TEMPNAME): Move...
45099         * m4/tempname.m4: ...to this new file.
45100         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
45101         * modules/sys_stat (Depends-on): Add stat-macros.
45102         * lib/stat_.h (includes): Pick up stat macros.
45103         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
45104         if stat macros are broken.
45105         * lib/tempname.c (includes): No need to include "stat-macros.h".
45106         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
45107         (direxists, __path_search) [!_LIBC]: Don't compile these in
45108         gnulib; the tmpdir module covers that.
45109         * lib/tempname.h: New file.
45110
45111 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
45112
45113         * COPYING: Explain how gnulib-tool converts licence headers.
45114         Almost all wording by Eric Blake.
45115
45116 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
45117
45118         * lib/mbchar.h (is_basic_table): Make read-only.
45119         * lib/mbchar.c (is_basic_table): Likewise.
45120         Reported by John Darrington.
45121
45122 2006-10-25  Bruno Haible  <bruno@clisp.org>
45123
45124         * lib/progname.h (set_program_name): Undefine before defining.
45125
45126 2006-10-25  Bruno Haible  <bruno@clisp.org>
45127
45128         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
45129         false for non-gcc C++ compilers.
45130         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
45131
45132 2006-10-24  Bruno Haible  <bruno@clisp.org>
45133
45134         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
45135         iconv implementations like Irix iconv.
45136
45137 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
45138
45139         * modules/vararrays: New file.
45140         * m4/vararrays.m4: New file, taken from diffutils.
45141         * MODULES.html.sh: New module vararrays.
45142
45143 2006-10-24  Karl Berry  <karl@gnu.org>
45144
45145         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
45146         Don't call GNU Unix.
45147
45148 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45149
45150         * users.txt: Add Libtool.
45151
45152         Sync from Libtool:
45153
45154         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
45155
45156         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
45157         to gnulib's policy of including config.h unconditionally.
45158
45159 2006-10-24  Bruno Haible  <bruno@clisp.org>
45160
45161         * modules/wcwidth (Files): Add m4/wint_t.m4.
45162         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
45163         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
45164
45165 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
45166
45167         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
45168         to pacify GCC with some -W flags enabled.  Problem reported by
45169         Bruno Haible.
45170
45171 2006-10-24  Jim Meyering  <jim@meyering.net>
45172
45173         * MODULES.html.sh: Remove uinttostr.  It's not a module.
45174         Reported by Karl Berry.
45175
45176 2006-10-23  Bruno Haible  <bruno@clisp.org>
45177
45178         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
45179
45180 2006-10-24  Bruno Haible  <bruno@clisp.org>
45181
45182         * lib/gl_list.h: Use C comment style, not C++ comment style.
45183
45184 2006-10-23  Eric Blake  <ebb9@byu.net>
45185
45186         * lib/getaddrinfo.c (includes): Add missing include.
45187
45188 2006-10-23  Bruno Haible  <bruno@clisp.org>
45189             Paul Eggert  <eggert@cs.ucla.edu>
45190
45191         Ability to rename obstack_free.
45192         * lib/obstack.h (__obstack_free): New macro. Declare instead of
45193         obstack_free.
45194         (obstack_free): Invoke the __obstack_free macro.
45195         * lib/obstack.c (obstack_free): Use __obstack_free macro.
45196
45197 2006-10-23  Bruno Haible  <bruno@clisp.org>
45198             Paul Eggert  <eggert@cs.ucla.edu>
45199
45200         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
45201         __argc, __argv from the declaration. (They are defined as macros on
45202         mingw.)
45203
45204 2006-10-22  Bruno Haible  <bruno@clisp.org>
45205
45206         * doc/gnulib-intro.texi: New file.
45207         * doc/gnulib.texi: Include it.
45208
45209 2006-10-21  Bruno Haible  <bruno@clisp.org>
45210
45211         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
45212         "Introduction", "Miscellanous Notes", "Particular Modules".
45213
45214 2006-10-21  Bruno Haible  <bruno@clisp.org>
45215
45216         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
45217         Change mostlyclean-local rule to avoid sh syntax error from bash
45218         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
45219
45220 2006-10-23  Jim Meyering  <jim@meyering.net>
45221
45222         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
45223         in place of snprintf.
45224
45225         * modules/inttostr (Files): Add lib/uinttostr.c.
45226         * lib/uinttostr.c (inttostr): New file/function.
45227         * lib/inttostr.h (uinttostr): Declare.
45228         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
45229         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
45230         Add uinttostr.
45231         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
45232
45233 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
45234
45235         * lib/canonicalize.c (ELOOP): Define if not already defined.
45236         Problem reported by Bruno Haible in
45237         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
45238
45239 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
45240
45241         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
45242         Problem reported by Perry Smith and Ville Laurikari.
45243
45244         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
45245         uses.
45246
45247 2006-10-19  Bruno Haible  <bruno@clisp.org>
45248
45249         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
45250         for mingw.
45251
45252 2006-10-19  Bruno Haible  <bruno@clisp.org>
45253
45254         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
45255         Needed for mingw.
45256
45257 2006-10-19  Bruno Haible  <bruno@clisp.org>
45258
45259         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
45260
45261 2006-10-19  Bruno Haible  <bruno@clisp.org>
45262
45263         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
45264         it.
45265
45266 2006-10-19  Bruno Haible  <bruno@clisp.org>
45267
45268         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
45269         invocation.
45270
45271 2006-10-19  Bruno Haible  <bruno@clisp.org>
45272
45273         * gnulib-tool (func_create_testdir): Don't include ftruncate and
45274         mountlist by default.
45275
45276 2006-10-16  Bruno Haible  <bruno@clisp.org>
45277
45278         * lib/c-strstr.c: Include c-strstr.h.
45279
45280 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
45281
45282         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
45283         in a slash.
45284
45285 2006-10-18  Bruno Haible  <bruno@clisp.org>
45286
45287         * lib/lock.h [C++]: Wrap definitions in extern "C".
45288
45289 2006-10-18  Bruno Haible  <bruno@clisp.org>
45290
45291         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
45292         gl_LIBOBJS list.
45293
45294 2006-10-18  Bruno Haible  <bruno@clisp.org>
45295
45296         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
45297
45298 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
45299
45300         * lib/xstrtol.h: Include gettext.h.
45301         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
45302         Problem reported by Eric Blake.
45303         * modules/xstrtol (Depends-on): Add gettext-h.
45304
45305 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
45306
45307         * lib/strftime.c (advance): New macro.
45308         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
45309         incomplete type, so you can't add 0 to it.  Problem and patch
45310         reported by Eelco Dolstra for dietlibc.
45311
45312 2006-10-18  Jim Meyering  <jim@meyering.net>
45313
45314         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
45315         type for a local, and rename it: s/up/user_proc/.
45316
45317 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
45318
45319         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
45320         READ_UTMP_USER_PROCESS.
45321         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
45322
45323 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
45324
45325         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
45326         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
45327
45328 2006-10-17  Eric Blake  <ebb9@byu.net>
45329
45330         * lib/sigprocmask.c (sigprocmask): Fix typo.
45331
45332         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
45333
45334         * modules/clean-temp (Makefile.am): Don't add to make output...
45335         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
45336         config.h.
45337
45338 2006-10-17  Bruno Haible  <bruno@clisp.org>
45339
45340         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
45341         differently if DEFAULT_TEXT_DOMAIN is set.
45342
45343 2006-10-16  Bruno Haible  <bruno@clisp.org>
45344
45345         * lib/clean-temp.c: Include fwriteerror.h.
45346
45347 2006-10-16  Bruno Haible  <bruno@clisp.org>
45348
45349         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
45350
45351 2006-10-16  Bruno Haible  <bruno@clisp.org>
45352
45353         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
45354         * lib/sigprocmask.h: Include <sys/types.h>.
45355         (sigset_t): Use the system's definition if present.
45356
45357 2006-10-17  Eric Blake  <ebb9@byu.net>
45358
45359         * lib/xvasprintf.c (includes): Assume config.h.
45360         * lib/xasprintf.c (includes): Likewise.
45361
45362 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
45363
45364         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
45365         at least as wide as intmax_t.
45366
45367 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
45368
45369         (Imported from Automake.)
45370         * build-aux/gnupload: Update to version 1.1 of directive file.
45371
45372 2006-10-16  Eric Blake  <ebb9@byu.net>
45373
45374         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
45375         match Automake 1.10a.
45376
45377 2006-10-14  Bruno Haible  <bruno@clisp.org>
45378
45379         * modules/sigprocmask: New file.
45380         * lib/sigprocmask.h: New file.
45381         * lib/sigprocmask.c: New file.
45382         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
45383         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
45384         request sigprocmask.o.
45385         (gl_PREREQ_SIGPROCMASK): New macro.
45386         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
45387         (Depends-on): Add sigprocmask.
45388         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
45389         gt_SIGNALBLOCKING. Test for 'raise' only once.
45390         * lib/fatal-signal.c: Include sigprocmask.h.
45391         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
45392         unblock_fatal_signals): Define always.
45393         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
45394         sigprocmask.
45395
45396 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
45397
45398         Sync from Automake.
45399         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
45400         which incorrectly sets the mode of an existing destination
45401         directory.  In some cases the unpatched install-sh could do the
45402         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
45403         system.  We hope this is rare in practice, but it's clearly worth
45404         fixing.  Problem reported by Alex Unleashed in
45405         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
45406         Also, don't bother to check for -m bugs unless we're using -m;
45407         suggested by Stepan Kasal.
45408
45409 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45410
45411         Sync from Automake.
45412         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
45413         `-c' flag, so they appear at the same position as in %FASTDEP%
45414         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
45415         which ignores unknown options only after the first non-option.
45416         Bug report against M4 by Nelson H. F. Beebe.
45417
45418 2006-10-13  Jim Meyering  <jim@meyering.net>
45419
45420         Fix a bug in yesterday's change.
45421         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
45422         p->fts_statp->st_dev would be used uninitialized.
45423         Ensures that we always call fts_stat on the very first entry.
45424         Miklos Szeredi reported that find -xdev stopped working.
45425
45426 2006-10-12  Bruno Haible  <bruno@clisp.org>
45427
45428         * gnulib-tool (func_get_automake_snippet): Append an automatically
45429         computed EXTRA_DIST augmentation.
45430         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
45431         * modules/alloca-opt (Makefile.am): Likewise.
45432         * modules/allocsa (Makefile.am): Likewise.
45433         * modules/arcfour (Makefile.am): Likewise.
45434         * modules/arctwo (Makefile.am): Likewise.
45435         * modules/argmatch (Makefile.am): Likewise.
45436         * modules/argz (Makefile.am): Likewise.
45437         * modules/atexit (Makefile.am): Likewise.
45438         * modules/backupfile (Makefile.am): Likewise.
45439         * modules/byteswap (Makefile.am): Likewise.
45440         * modules/c-strtod (Makefile.am): Likewise.
45441         * modules/c-strtold (Makefile.am): Likewise.
45442         * modules/calloc (Makefile.am): Likewise.
45443         * modules/canon-host (Makefile.am): Likewise.
45444         * modules/canonicalize (Makefile.am): Likewise.
45445         * modules/chdir-long (Makefile.am): Likewise.
45446         * modules/chdir-safer (Makefile.am): Likewise.
45447         * modules/check-version (Makefile.am): Likewise.
45448         * modules/chown (Makefile.am): Likewise.
45449         * modules/cloexec (Makefile.am): Likewise.
45450         * modules/close-stream (Makefile.am): Likewise.
45451         * modules/closeout (Makefile.am): Likewise.
45452         * modules/crc (Makefile.am): Likewise.
45453         * modules/csharpexec (Makefile.am): Likewise.
45454         * modules/cycle-check (Makefile.am): Likewise.
45455         * modules/des (Makefile.am): Likewise.
45456         * modules/dev-ino (Makefile.am): Likewise.
45457         * modules/dirfd (Makefile.am): Likewise.
45458         * modules/dirname (Makefile.am): Likewise.
45459         * modules/dup2 (Makefile.am): Likewise.
45460         * modules/eealloc (Makefile.am): Likewise.
45461         * modules/error (Makefile.am): Likewise.
45462         * modules/euidaccess (Makefile.am): Likewise.
45463         * modules/exclude (Makefile.am): Likewise.
45464         * modules/exitfail (Makefile.am): Likewise.
45465         * modules/fcntl-safer (Makefile.am): Likewise.
45466         * modules/fcntl (Makefile.am): Likewise.
45467         * modules/file-type (Makefile.am): Likewise.
45468         * modules/fileblocks (Makefile.am): Likewise.
45469         * modules/filemode (Makefile.am): Likewise.
45470         * modules/filenamecat (Makefile.am): Likewise.
45471         * modules/fnmatch (Makefile.am): Likewise.
45472         * modules/fopen-safer (Makefile.am): Likewise.
45473         * modules/fpending (Makefile.am): Likewise.
45474         * modules/fprintftime (Makefile.am): Likewise.
45475         * modules/free (Makefile.am): Likewise.
45476         * modules/fsusage (Makefile.am): Likewise.
45477         * modules/ftruncate (Makefile.am): Likewise.
45478         * modules/fts (Makefile.am): Likewise.
45479         * modules/gc-arcfour (Makefile.am): Likewise.
45480         * modules/gc-des (Makefile.am): Likewise.
45481         * modules/gc-hmac-md5 (Makefile.am): Likewise.
45482         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
45483         * modules/gc-md4 (Makefile.am): Likewise.
45484         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
45485         * modules/gc-sha1 (Makefile.am): Likewise.
45486         * modules/gc (Makefile.am): Likewise.
45487         * modules/getaddrinfo (Makefile.am): Likewise.
45488         * modules/getcwd (Makefile.am): Likewise.
45489         * modules/getdelim (Makefile.am): Likewise.
45490         * modules/getdomainname (Makefile.am): Likewise.
45491         * modules/getgroups (Makefile.am): Likewise.
45492         * modules/gethostname (Makefile.am): Likewise.
45493         * modules/gethrxtime (Makefile.am): Likewise.
45494         * modules/getline (Makefile.am): Likewise.
45495         * modules/getloadavg (Makefile.am): Likewise.
45496         * modules/getlogin_r (Makefile.am): Likewise.
45497         * modules/getndelim2 (Makefile.am): Likewise.
45498         * modules/getopt (Makefile.am): Likewise.
45499         * modules/getpagesize (Makefile.am): Likewise.
45500         * modules/getpass-gnu (Makefile.am): Likewise.
45501         * modules/getpass (Makefile.am): Likewise.
45502         * modules/getsubopt (Makefile.am): Likewise.
45503         * modules/gettime (Makefile.am): Likewise.
45504         * modules/gettimeofday (Makefile.am): Likewise.
45505         * modules/getugroups (Makefile.am): Likewise.
45506         * modules/getusershell (Makefile.am): Likewise.
45507         * modules/glob (Makefile.am): Likewise.
45508         * modules/group-member (Makefile.am): Likewise.
45509         * modules/hard-locale (Makefile.am): Likewise.
45510         * modules/hash (Makefile.am): Likewise.
45511         * modules/hmac-md5 (Makefile.am): Likewise.
45512         * modules/hmac-sha1 (Makefile.am): Likewise.
45513         * modules/human (Makefile.am): Likewise.
45514         * modules/idcache (Makefile.am): Likewise.
45515         * modules/imaxabs (Makefile.am): Likewise.
45516         * modules/imaxdiv (Makefile.am): Likewise.
45517         * modules/inet_ntop (Makefile.am): Likewise.
45518         * modules/inet_pton (Makefile.am): Likewise.
45519         * modules/intprops (Makefile.am): Likewise.
45520         * modules/inttostr (Makefile.am): Likewise.
45521         * modules/inttypes (Makefile.am): Likewise.
45522         * modules/isapipe (Makefile.am): Likewise.
45523         * modules/javaversion (Makefile.am): Likewise.
45524         * modules/lchmod (Makefile.am): Likewise.
45525         * modules/lchown (Makefile.am): Likewise.
45526         * modules/localcharset (Makefile.am): Likewise.
45527         * modules/long-options (Makefile.am): Likewise.
45528         * modules/lstat (Makefile.am): Likewise.
45529         * modules/malloc (Makefile.am): Likewise.
45530         * modules/mathl (Makefile.am): Likewise.
45531         * modules/mbchar (Makefile.am): Likewise.
45532         * modules/md2 (Makefile.am): Likewise.
45533         * modules/md4 (Makefile.am): Likewise.
45534         * modules/md5 (Makefile.am): Likewise.
45535         * modules/memcasecmp (Makefile.am): Likewise.
45536         * modules/memchr (Makefile.am): Likewise.
45537         * modules/memcmp (Makefile.am): Likewise.
45538         * modules/memcoll (Makefile.am): Likewise.
45539         * modules/memcpy (Makefile.am): Likewise.
45540         * modules/memmem (Makefile.am): Likewise.
45541         * modules/memmove (Makefile.am): Likewise.
45542         * modules/mempcpy (Makefile.am): Likewise.
45543         * modules/memrchr (Makefile.am): Likewise.
45544         * modules/memset (Makefile.am): Likewise.
45545         * modules/memxor (Makefile.am): Likewise.
45546         * modules/mkancesdirs (Makefile.am): Likewise.
45547         * modules/mkdir-p (Makefile.am): Likewise.
45548         * modules/mkdir (Makefile.am): Likewise.
45549         * modules/mkdtemp (Makefile.am): Likewise.
45550         * modules/mkstemp (Makefile.am): Likewise.
45551         * modules/mktime (Makefile.am): Likewise.
45552         * modules/modechange (Makefile.am): Likewise.
45553         * modules/mountlist (Makefile.am): Likewise.
45554         * modules/nanosleep (Makefile.am): Likewise.
45555         * modules/obstack (Makefile.am): Likewise.
45556         * modules/openat (Makefile.am): Likewise.
45557         * modules/pagealign_alloc (Makefile.am): Likewise.
45558         * modules/pathmax (Makefile.am): Likewise.
45559         * modules/physmem (Makefile.am): Likewise.
45560         * modules/poll (Makefile.am): Likewise.
45561         * modules/posixtm (Makefile.am): Likewise.
45562         * modules/posixver (Makefile.am): Likewise.
45563         * modules/putenv (Makefile.am): Likewise.
45564         * modules/quote (Makefile.am): Likewise.
45565         * modules/quotearg (Makefile.am): Likewise.
45566         * modules/raise (Makefile.am): Likewise.
45567         * modules/read-file (Makefile.am): Likewise.
45568         * modules/readline (Makefile.am): Likewise.
45569         * modules/readlink (Makefile.am): Likewise.
45570         * modules/readtokens (Makefile.am): Likewise.
45571         * modules/readutmp (Makefile.am): Likewise.
45572         * modules/realloc (Makefile.am): Likewise.
45573         * modules/regex (Makefile.am): Likewise.
45574         * modules/rename-dest-slash (Makefile.am): Likewise.
45575         * modules/rename (Makefile.am): Likewise.
45576         * modules/rijndael (Makefile.am): Likewise.
45577         * modules/rmdir (Makefile.am): Likewise.
45578         * modules/rpmatch (Makefile.am): Likewise.
45579         * modules/safe-read (Makefile.am): Likewise.
45580         * modules/safe-write (Makefile.am): Likewise.
45581         * modules/same-inode (Makefile.am): Likewise.
45582         * modules/same (Makefile.am): Likewise.
45583         * modules/save-cwd (Makefile.am): Likewise.
45584         * modules/savedir (Makefile.am): Likewise.
45585         * modules/setenv (Makefile.am): Likewise.
45586         * modules/settime (Makefile.am): Likewise.
45587         * modules/sha1 (Makefile.am): Likewise.
45588         * modules/sig2str (Makefile.am): Likewise.
45589         * modules/snprintf (Makefile.am): Likewise.
45590         * modules/stat-macros (Makefile.am): Likewise.
45591         * modules/stat-time (Makefile.am): Likewise.
45592         * modules/stdbool (Makefile.am): Likewise.
45593         * modules/stdint (Makefile.am): Likewise.
45594         * modules/stdlib-safer (Makefile.am): Likewise.
45595         * modules/stpcpy (Makefile.am): Likewise.
45596         * modules/stpncpy (Makefile.am): Likewise.
45597         * modules/strcase (Makefile.am): Likewise.
45598         * modules/strcasestr (Makefile.am): Likewise.
45599         * modules/strchrnul (Makefile.am): Likewise.
45600         * modules/strcspn (Makefile.am): Likewise.
45601         * modules/strdup (Makefile.am): Likewise.
45602         * modules/strerror (Makefile.am): Likewise.
45603         * modules/strftime (Makefile.am): Likewise.
45604         * modules/strndup (Makefile.am): Likewise.
45605         * modules/strnlen (Makefile.am): Likewise.
45606         * modules/strpbrk (Makefile.am): Likewise.
45607         * modules/strsep (Makefile.am): Likewise.
45608         * modules/strstr (Makefile.am): Likewise.
45609         * modules/strtod (Makefile.am): Likewise.
45610         * modules/strtoimax (Makefile.am): Likewise.
45611         * modules/strtok_r (Makefile.am): Likewise.
45612         * modules/strtol (Makefile.am): Likewise.
45613         * modules/strtoll (Makefile.am): Likewise.
45614         * modules/strtoul (Makefile.am): Likewise.
45615         * modules/strtoull (Makefile.am): Likewise.
45616         * modules/strtoumax (Makefile.am): Likewise.
45617         * modules/strverscmp (Makefile.am): Likewise.
45618         * modules/sys_socket (Makefile.am): Likewise.
45619         * modules/sys_stat (Makefile.am): Likewise.
45620         * modules/sysexits (Makefile.am): Likewise.
45621         * modules/time_r (Makefile.am): Likewise.
45622         * modules/timegm (Makefile.am): Likewise.
45623         * modules/timespec (Makefile.am): Likewise.
45624         * modules/tmpfile-safer (Makefile.am): Likewise.
45625         * modules/trim (Makefile.am): Likewise.
45626         * modules/unistd-safer (Makefile.am): Likewise.
45627         * modules/unlinkdir (Makefile.am): Likewise.
45628         * modules/unlocked-io (Makefile.am): Likewise.
45629         * modules/userspec (Makefile.am): Likewise.
45630         * modules/utime (Makefile.am): Likewise.
45631         * modules/utimecmp (Makefile.am): Likewise.
45632         * modules/utimens (Makefile.am): Likewise.
45633         * modules/vasnprintf (Makefile.am): Likewise.
45634         * modules/vasprintf (Makefile.am): Likewise.
45635         * modules/vsnprintf (Makefile.am): Likewise.
45636         * modules/xalloc (Makefile.am): Likewise.
45637         * modules/xgetcwd (Makefile.am): Likewise.
45638         * modules/xnanosleep (Makefile.am): Likewise.
45639         * modules/xreadlink (Makefile.am): Likewise.
45640         * modules/xstrtod (Makefile.am): Likewise.
45641         * modules/xstrtol (Makefile.am): Likewise.
45642         * modules/xstrtold (Makefile.am): Likewise.
45643         * modules/yesno (Makefile.am): Likewise.
45644         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
45645
45646 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
45647
45648         * modules/error (Makefile.am): Distribute files through
45649         EXTRA_DIST, not lib_SOURCES.
45650
45651 2006-10-12  Eric Blake  <ebb9@byu.net>
45652
45653         * modules/error (Makefile.am): Distribute files in /lib.
45654         * modules/obstack (Makefile.am): Likewise.
45655
45656 2006-10-12  Bruno Haible  <bruno@clisp.org>
45657
45658         * modules/acl (Makefile.am): Distribute all files in lib/ through
45659         EXTRA_DIST.
45660         * modules/arcfour (Makefile.am): Likewise.
45661         * modules/arctwo (Makefile.am): Likewise.
45662         * modules/argmatch (Makefile.am): Likewise.
45663         * modules/argz (Makefile.am): Likewise.
45664         * modules/atexit (Makefile.am): Likewise.
45665         * modules/backupfile (Makefile.am): Likewise.
45666         * modules/c-strtod (Makefile.am): Likewise.
45667         * modules/c-strtold (Makefile.am): Likewise.
45668         * modules/calloc (Makefile.am): Likewise.
45669         * modules/canon-host (Makefile.am): Likewise.
45670         * modules/canonicalize (Makefile.am): Likewise.
45671         * modules/chdir-long (Makefile.am): Likewise.
45672         * modules/chdir-safer (Makefile.am): Likewise.
45673         * modules/check-version (Makefile.am): Likewise.
45674         * modules/chown (Makefile.am): Likewise.
45675         * modules/cloexec (Makefile.am): Likewise.
45676         * modules/close-stream (Makefile.am): Likewise.
45677         * modules/closeout (Makefile.am): Likewise.
45678         * modules/crc (Makefile.am): Likewise.
45679         * modules/cycle-check (Makefile.am): Likewise.
45680         * modules/des (Makefile.am): Likewise.
45681         * modules/dirfd (Makefile.am): Likewise.
45682         * modules/dirname (Makefile.am): Likewise.
45683         * modules/dup2 (Makefile.am): Likewise.
45684         * modules/euidaccess (Makefile.am): Likewise.
45685         * modules/exclude (Makefile.am): Likewise.
45686         * modules/exitfail (Makefile.am): Likewise.
45687         * modules/fcntl-safer (Makefile.am): Likewise.
45688         * modules/file-type (Makefile.am): Likewise.
45689         * modules/fileblocks (Makefile.am): Likewise.
45690         * modules/filemode (Makefile.am): Likewise.
45691         * modules/filenamecat (Makefile.am): Likewise.
45692         * modules/fnmatch (Makefile.am): Likewise.
45693         * modules/fopen-safer (Makefile.am): Likewise.
45694         * modules/fpending (Makefile.am): Likewise.
45695         * modules/fprintftime (Makefile.am): Likewise.
45696         * modules/free (Makefile.am): Likewise.
45697         * modules/fsusage (Makefile.am): Likewise.
45698         * modules/ftruncate (Makefile.am): Likewise.
45699         * modules/fts (Makefile.am): Likewise.
45700         * modules/gc (Makefile.am): Likewise.
45701         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
45702         * modules/getaddrinfo (Makefile.am): Likewise.
45703         * modules/getcwd (Makefile.am): Likewise.
45704         * modules/getdelim (Makefile.am): Likewise.
45705         * modules/getdomainname (Makefile.am): Likewise.
45706         * modules/getgroups (Makefile.am): Likewise.
45707         * modules/gethostname (Makefile.am): Likewise.
45708         * modules/gethrxtime (Makefile.am): Likewise.
45709         * modules/getline (Makefile.am): Likewise.
45710         * modules/getloadavg (Makefile.am): Likewise.
45711         * modules/getlogin_r (Makefile.am): Likewise.
45712         * modules/getopt (Makefile.am): Likewise.
45713         * modules/getpass (Makefile.am): Likewise.
45714         * modules/getpass-gnu (Makefile.am): Likewise.
45715         * modules/getsubopt (Makefile.am): Likewise.
45716         * modules/gettime (Makefile.am): Likewise.
45717         * modules/gettimeofday (Makefile.am): Likewise.
45718         * modules/getugroups (Makefile.am): Likewise.
45719         * modules/getusershell (Makefile.am): Likewise.
45720         * modules/glob (Makefile.am): Likewise.
45721         * modules/group-member (Makefile.am): Likewise.
45722         * modules/hard-locale (Makefile.am): Likewise.
45723         * modules/hash (Makefile.am): Likewise.
45724         * modules/hmac-md5 (Makefile.am): Likewise.
45725         * modules/hmac-sha1 (Makefile.am): Likewise.
45726         * modules/human (Makefile.am): Likewise.
45727         * modules/idcache (Makefile.am): Likewise.
45728         * modules/imaxabs (Makefile.am): Likewise.
45729         * modules/imaxdiv (Makefile.am): Likewise.
45730         * modules/inet_ntop (Makefile.am): Likewise.
45731         * modules/inet_pton (Makefile.am): Likewise.
45732         * modules/inttostr (Makefile.am): Likewise.
45733         * modules/isapipe (Makefile.am): Likewise.
45734         * modules/lchown (Makefile.am): Likewise.
45735         * modules/long-options (Makefile.am): Likewise.
45736         * modules/lstat (Makefile.am): Likewise.
45737         * modules/malloc (Makefile.am): Likewise.
45738         * modules/mathl (Makefile.am): Likewise.
45739         * modules/mbchar (Makefile.am): Likewise.
45740         * modules/md2 (Makefile.am): Likewise.
45741         * modules/md4 (Makefile.am): Likewise.
45742         * modules/md5 (Makefile.am): Likewise.
45743         * modules/memcasecmp (Makefile.am): Likewise.
45744         * modules/memchr (Makefile.am): Likewise.
45745         * modules/memcmp (Makefile.am): Likewise.
45746         * modules/memcoll (Makefile.am): Likewise.
45747         * modules/memcpy (Makefile.am): Likewise.
45748         * modules/memmem (Makefile.am): Likewise.
45749         * modules/memmove (Makefile.am): Likewise.
45750         * modules/mempcpy (Makefile.am): Likewise.
45751         * modules/memrchr (Makefile.am): Likewise.
45752         * modules/memset (Makefile.am): Likewise.
45753         * modules/memxor (Makefile.am): Likewise.
45754         * modules/mkancesdirs (Makefile.am): Likewise.
45755         * modules/mkdir (Makefile.am): Likewise.
45756         * modules/mkdir-p (Makefile.am): Likewise.
45757         * modules/mkdtemp (Makefile.am): Likewise.
45758         * modules/mkstemp (Makefile.am): Likewise.
45759         * modules/mktime (Makefile.am): Likewise.
45760         * modules/modechange (Makefile.am): Likewise.
45761         * modules/mountlist (Makefile.am): Likewise.
45762         * modules/nanosleep (Makefile.am): Likewise.
45763         * modules/openat (Makefile.am): Likewise.
45764         * modules/pagealign_alloc (Makefile.am): Likewise.
45765         * modules/physmem (Makefile.am): Likewise.
45766         * modules/poll (Makefile.am): Likewise.
45767         * modules/posixtm (Makefile.am): Likewise.
45768         * modules/posixver (Makefile.am): Likewise.
45769         * modules/putenv (Makefile.am): Likewise.
45770         * modules/quote (Makefile.am): Likewise.
45771         * modules/quotearg (Makefile.am): Likewise.
45772         * modules/raise (Makefile.am): Likewise.
45773         * modules/read-file (Makefile.am): Likewise.
45774         * modules/readline (Makefile.am): Likewise.
45775         * modules/readlink (Makefile.am): Likewise.
45776         * modules/readtokens (Makefile.am): Likewise.
45777         * modules/readutmp (Makefile.am): Likewise.
45778         * modules/realloc (Makefile.am): Likewise.
45779         * modules/regex (Makefile.am): Likewise.
45780         * modules/rename (Makefile.am): Likewise.
45781         * modules/rename-dest-slash (Makefile.am): Likewise.
45782         * modules/rijndael (Makefile.am): Likewise.
45783         * modules/rmdir (Makefile.am): Likewise.
45784         * modules/rpmatch (Makefile.am): Likewise.
45785         * modules/safe-read (Makefile.am): Likewise.
45786         * modules/safe-write (Makefile.am): Likewise.
45787         * modules/same (Makefile.am): Likewise.
45788         * modules/save-cwd (Makefile.am): Likewise.
45789         * modules/savedir (Makefile.am): Likewise.
45790         * modules/setenv (Makefile.am): Likewise.
45791         * modules/settime (Makefile.am): Likewise.
45792         * modules/sha1 (Makefile.am): Likewise.
45793         * modules/sig2str (Makefile.am): Likewise.
45794         * modules/snprintf (Makefile.am): Likewise.
45795         * modules/stdlib-safer (Makefile.am): Likewise.
45796         * modules/stpcpy (Makefile.am): Likewise.
45797         * modules/stpncpy (Makefile.am): Likewise.
45798         * modules/strcase (Makefile.am): Likewise.
45799         * modules/strcasestr (Makefile.am): Likewise.
45800         * modules/strchrnul (Makefile.am): Likewise.
45801         * modules/strcspn (Makefile.am): Likewise.
45802         * modules/strdup (Makefile.am): Likewise.
45803         * modules/strerror (Makefile.am): Likewise.
45804         * modules/strftime (Makefile.am): Likewise.
45805         * modules/strndup (Makefile.am): Likewise.
45806         * modules/strnlen (Makefile.am): Likewise.
45807         * modules/strpbrk (Makefile.am): Likewise.
45808         * modules/strsep (Makefile.am): Likewise.
45809         * modules/strstr (Makefile.am): Likewise.
45810         * modules/strtod (Makefile.am): Likewise.
45811         * modules/strtoimax (Makefile.am): Likewise.
45812         * modules/strtok_r (Makefile.am): Likewise.
45813         * modules/strtol (Makefile.am): Likewise.
45814         * modules/strtoll (Makefile.am): Likewise.
45815         * modules/strtoul (Makefile.am): Likewise.
45816         * modules/strtoull (Makefile.am): Likewise.
45817         * modules/strtoumax (Makefile.am): Likewise.
45818         * modules/strverscmp (Makefile.am): Likewise.
45819         * modules/time_r (Makefile.am): Likewise.
45820         * modules/timegm (Makefile.am): Likewise.
45821         * modules/tmpfile-safer (Makefile.am): Likewise.
45822         * modules/unistd-safer (Makefile.am): Likewise.
45823         * modules/unlinkdir (Makefile.am): Likewise.
45824         * modules/userspec (Makefile.am): Likewise.
45825         * modules/utime (Makefile.am): Likewise.
45826         * modules/utimecmp (Makefile.am): Likewise.
45827         * modules/utimens (Makefile.am): Likewise.
45828         * modules/vasnprintf (Makefile.am): Likewise.
45829         * modules/vasprintf (Makefile.am): Likewise.
45830         * modules/vsnprintf (Makefile.am): Likewise.
45831         * modules/xalloc (Makefile.am): Likewise.
45832         * modules/xgetcwd (Makefile.am): Likewise.
45833         * modules/xnanosleep (Makefile.am): Likewise.
45834         * modules/xreadlink (Makefile.am): Likewise.
45835         * modules/xstrtod (Makefile.am): Likewise.
45836         * modules/xstrtol (Makefile.am): Likewise.
45837         * modules/xstrtold (Makefile.am): Likewise.
45838         * modules/yesno (Makefile.am): Likewise.
45839
45840 2006-10-12  Jim Meyering  <jim@meyering.net>
45841
45842         * m4/getloadavg.m4: Revert the change below.
45843
45844         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
45845         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
45846         fail with a symlink, which is what coreutils' ./bootstrap now
45847         creates by default.
45848
45849 2006-10-12  Bruno Haible  <bruno@clisp.org>
45850
45851         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
45852         mingw.
45853         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
45854         MSVC and mingw explicitly.
45855
45856 2006-10-11  Simon Josefsson  <jas@extundo.com>
45857             Bruno Haible  <bruno@clisp.org>
45858
45859         Add support for multiple gnulib-tool invocations in the scope of a
45860         single configure.ac file.
45861         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
45862         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
45863         with the same contents as the _LIBADD variable.
45864         (func_emit_initmacro_start, func_emit_initmacro_end,
45865         func_emit_initmacro_done): New functions.
45866         (func_import, func_create_testdir): Invoke them. Allow the identifiers
45867         gl_LIBOBJS and gl_LTLIBOBJS.
45868
45869 2006-10-11  Bruno Haible  <bruno@clisp.org>
45870
45871         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
45872         (func_create_testdir): Don't create po/Makefile.am, don't invoke
45873         autoreconf. Instead, invoke autopoint explicitly but move back the
45874         *.m4 files from gnulib.
45875
45876 2006-10-11  Bruno Haible  <bruno@clisp.org>
45877
45878         * gnulib-tool (func_usage): Make module names after --create-testdir
45879         optional.
45880         (func_create_testdir): If no module was specified, use nearly all
45881         modules.
45882
45883 2006-10-12  Jim Meyering  <jim@meyering.net>
45884
45885         Big performance improvement for fts-based tools that use FTS_NOSTAT.
45886         Avoid spurious inode-mismatch problems on non-POSIX file systems.
45887         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
45888         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
45889         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
45890         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
45891         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
45892         (fts_set_stat_required): New function.
45893         (fts_open): Defer the calls to fts_stat, if possible or requested.
45894         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
45895         into fts_stat itself.
45896         (fts_read): Perform any required (deferred) fts_stat call.
45897         (fts_build): Likewise, for the directory we're about to open and read.
45898         In the readdir loop, carefully decide whether each entry will require
45899         an eventual call to fts_stat, using dirent.d_type info if available.
45900         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
45901         a command line argument into this function.  Update all callers.
45902         Map a return value of FTS_DOT to FTS_D for a command line argument.
45903         * modules/fts (Depends-on): Add d-type.  Alphabetize.
45904         Thanks to Miklos Szeredi for his tenacity and for the initial
45905         bug report about "find" failing on a FUSE-based file system.
45906
45907         * lib/fts.c (fts_open): Use consistent indentation.
45908
45909 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
45910
45911         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
45912         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
45913         reported by Jim Meyering.  All uses of cache variables renamed
45914         to match Autoconf's.
45915         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
45916         the other one.
45917
45918         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
45919         Fix misspelling in diagnostic.
45920
45921 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
45922
45923         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
45924         defined.  Problem reported by Matthew Woehlke.
45925
45926         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
45927         Add support for Tandem NonStop R series.
45928         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
45929         Use new macro.
45930
45931         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
45932         (has_trailing_slash): Omit size arg; all callers changed.
45933         Omit 'inline', since it doesn't help performance and we'd
45934         need to configure it.
45935         Don't count //, ///, etc. as having a trailing slash.
45936         As a side effect, this removes a C99ism reported by Matthew Woehlke.
45937         (rpl_rename_dest_slash): On failure, use rename's errno rather
45938         than (in some cases) an incorrect or junk errno.
45939         Simplify code by removing need to compute length; this does
45940         cause it to make two passes instead of one over the file name,
45941         but it's worth it.
45942
45943         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
45944         change, since Autoconf's version may no longer be appropriate now
45945         that we are using CVS Autoconf's version.  Add support for Tandem.
45946
45947 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
45948             Bruno Haible  <bruno@clisp.org>
45949
45950         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
45951         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
45952         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
45953         gl_AC_TYPE_LONG_LONG.
45954
45955         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
45956         instead of HAVE_LONG_LONG.
45957         * lib/printf-args.c (printf_fetchargs): Likewise.
45958         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
45959         * lib/vasnprintf.c (VASNPRINTF): Likewise.
45960         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
45961         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
45962         gl_AC_TYPE_LONG_LONG.
45963
45964 2006-10-11  Bruno Haible  <bruno@clisp.org>
45965
45966         * m4/longlong.m4: Add comments.
45967         * m4/ulonglong.m4: Likewise.
45968
45969 2006-10-10  Bruno Haible  <bruno@clisp.org>
45970
45971         Make it possible to #define stpcpy, strdup to aliases.
45972         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
45973         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
45974
45975 2006-10-10  Bruno Haible  <bruno@clisp.org>
45976
45977         Make it possible to #define gcd to an alias.
45978         * lib/gcd.c: Include config.h.
45979
45980 2006-10-10  Bruno Haible  <bruno@clisp.org>
45981
45982         Make it possible to #define c_isascii to an alias.
45983         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
45984         defined. Undefine the macros before defining them, to avoid gcc
45985         warnings.
45986         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
45987         define NO_C_CTYPE_MACROS early.
45988
45989 2006-10-10  Bruno Haible  <bruno@clisp.org>
45990
45991         Make it possible to #define set_program_name to an alias.
45992         * lib/progname.c: Don't undefine set_program_name; instead, undefine
45993         ENABLE_RELOCATABLE early.
45994
45995 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
45996
45997         Port to Tandem NSK OSS, which has 64-bit signed int but at most
45998         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
45999         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
46000         More generally, don't assume that 64-bit signed int is available
46001         if unsigned int is, and vice versa.
46002         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
46003         unsigned symbols, not on their signed counterparts.
46004         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
46005         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
46006         (UINT64_C, UINTMAX_C):
46007         Likewise.
46008         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
46009         unsigned counterparts.
46010         (Have_long_long, Unsigned): New macros.
46011         (Int): Renamed from INT.
46012         (strtoimax): Use the new macros.
46013         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
46014         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
46015         * modules/inttypes (inttypes.h): Substitute
46016         HAVE_UNSIGNED_LONG_LONG_INT.
46017         * modules/stdint (stdint.h): Likewise.
46018         (Files): Add m4/ulonglong.m4.
46019
46020 2006-10-10  Bruno Haible  <bruno@clisp.org>
46021
46022         Fix a gcc -Wshadow warning.
46023         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
46024         to 'bucket'.
46025         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
46026         gl_linked_indexof_from_to): Likewise.
46027         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
46028         Likewise.
46029         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
46030         Likewise.
46031         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
46032         Reported by Eric Blake.
46033
46034 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
46035
46036         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
46037         for NetBSD.  Problem reported by Bruno Haible.
46038
46039 2006-10-09  Jim Meyering  <jim@meyering.net>
46040
46041         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
46042         Patch from Bruno Haible.
46043
46044 2006-10-09  Jim Meyering  <jim@meyering.net>
46045
46046         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
46047         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
46048         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
46049
46050 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
46051
46052         Don't include <config.h> twice; this doesn't work in some cases,
46053         e.g., when config.h has "#define intmax_t long long int" and
46054         we include <config.h>, <inttypes.h>, <config.h> in that order.
46055         Problem reported by Matthew Woehlke in:
46056         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
46057         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
46058         * lib/fts-cycle.c: Don't include config.h.
46059         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
46060         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
46061         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
46062         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
46063         inttypes.h.
46064         * lib/xstrtoumax.c: Likewise.
46065         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
46066         __strtol and the like, so that this module is more like its siblings.
46067         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
46068         Remove; no longer needed now that we assume gnulib inttypes.h.
46069
46070 2006-10-08  Bruno Haible  <bruno@clisp.org>
46071
46072         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
46073         option.
46074
46075 2006-10-07  Jim Meyering  <jim@meyering.net>
46076
46077         * modules/inttypes (inttypes.h): Revert what seems to have been
46078         an inadvertent part of today's change: use "|", not "/" in the
46079         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
46080
46081 2006-10-07  Bruno Haible  <bruno@clisp.org>
46082
46083         * modules/sublist: New file.
46084
46085 2006-10-07  Bruno Haible  <bruno@clisp.org>
46086
46087         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
46088         * modules/argz (argz.h): Likewise.
46089         * modules/arpa_inet (arpa/inet.h): Likewise.
46090         * modules/byteswap (byteswap.h): Likewise.
46091         * modules/configmake (configmake.h): Likewise.
46092         * modules/fcntl (fcntl.h): Likewise.
46093         * modules/fnmatch (fnmatch.h): Likewise.
46094         * modules/getopt (getopt.h): Likewise.
46095         * modules/glob (glob.h): Likewise.
46096         * modules/inttypes (inttypes.h): Likewise.
46097         * modules/netinet_in (netinet/in.h): Likewise.
46098         * modules/poll (poll.h): Likewise.
46099         * modules/stdbool (stdbool.h): Likewise.
46100         * modules/stdint (stdint.h): Likewise.
46101         * modules/sys_select (sys/select.h): Likewise.
46102         * modules/sys_socket (sys/socket.h): Likewise.
46103         * modules/sys_stat (sys/stat.h): Likewise.
46104         * modules/sysexits (sysexits.h): Likewise.
46105         * modules/unistd (unistd.h): Likewise.
46106         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
46107         Add a "DO NOT EDIT" comment to the generated file.
46108         (func_import): Likewise for gnulib-comp.m4.
46109
46110 2006-10-07  Bruno Haible  <bruno@clisp.org>
46111
46112         * lib/gl_sublist.h: New file.
46113         * lib/gl_sublist.c: New file.
46114
46115 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
46116
46117         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
46118         name (relative to the original working directory) and the file
46119         name component (relative to the temporary working directory).  All
46120         callers changed.
46121         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
46122         * lib/mkdir-p.c (make_dir_parents): Likewise.
46123         * lib/mkdir-p.h (make_dir_parents): Likewise.
46124
46125 2006-10-06  Eric Blake  <ebb9@byu.net>
46126
46127         Define several macros for use by the clean-temp module.
46128         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
46129         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
46130         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
46131
46132         * lib/clean-temp.h (close_stream_temp): New declaration.
46133         * lib/clean-temp.c (includes): Pull in headers according to what
46134         other modules are in use.
46135         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
46136
46137 2006-10-06  Bruno Haible  <bruno@clisp.org>
46138
46139         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
46140         instead of fopen, fwriteerror.
46141
46142 2006-10-06  Bruno Haible  <bruno@clisp.org>
46143
46144         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
46145         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
46146         int.
46147         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
46148         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
46149         Return an error indicator.
46150         Suggested by Eric Blake.
46151
46152 2006-10-06  Bruno Haible  <bruno@clisp.org>
46153
46154         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
46155         Reported by Eric Blake.
46156
46157 2006-10-06  Bruno Haible  <bruno@clisp.org>
46158
46159         * modules/closeout (Description): Mention stderr too.
46160
46161 2006-10-06  Bruno Haible  <bruno@clisp.org>
46162         and Paul Eggert  <eggert@cs.ucla.edu>
46163
46164         * lib/closeout.c (close_stdout): Also close stderr.
46165         * lib/closeout.h: Update comment.
46166
46167 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
46168
46169         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
46170         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
46171         * lib/dirchownmod.c: Include lchown.h.
46172         * lib/lchown.c: Don't include files that lchown.h now includes.
46173         Don't declare chown, since lchown.h now does that.
46174         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
46175         (lchown): Define to rpl_chown if lchown is declared but
46176         does not exist.  Declare using a prototype if lchown is not
46177         declared.  Add a copyright notice.
46178         * lib/mkstemp.h: Include <unistd.h>.
46179         * lib/openat.c: Include lchown.h.
46180
46181         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
46182         we now test for that separately.
46183         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
46184         rather than O_NOFOLLOW, when testing whether it's possible to
46185         avoid a race condition reliably.
46186         * lib/savewd.c (savewd_chdir): Likewise.
46187
46188         Remove macros that are no longer needed now that stdint.h is
46189         reliable.
46190         * lib/fsusage.c (UINTMAX_MAX): Remove.
46191         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
46192         * lib/utimecmp.c (SIZE_MAX): Remove.
46193
46194         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
46195
46196         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
46197         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
46198         O_NOATIME works.
46199
46200 2006-10-05  Bruno Haible  <bruno@clisp.org>
46201
46202         * lib/gl_list.h (gl_sortedlist_search_from_to,
46203         gl_sortedlist_indexof_from_to): New declarations.
46204         (gl_list_implementation): New fields sortedlist_search_from_to,
46205         sortedlist_indexof_from_to.
46206         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
46207         inline functions.
46208         * lib/gl_list.c (gl_sortedlist_search_from_to,
46209         gl_sortedlist_indexof_from_to): New functions.
46210         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
46211         function.
46212         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
46213         (gl_array_sortedlist_search_from_to): New function.
46214         (gl_array_list_implementation): Update.
46215         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
46216         function.
46217         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
46218         (gl_carray_sortedlist_search_from_to): New function.
46219         (gl_carray_list_implementation): Update.
46220         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
46221         gl_linked_sortedlist_indexof_from_to): New functions.
46222         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
46223         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
46224         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
46225         gl_tree_sortedlist_indexof_from_to): New functions.
46226         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
46227         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
46228         Update.
46229         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
46230         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
46231         Update.
46232
46233 2006-10-05  Bruno Haible  <bruno@clisp.org>
46234
46235         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
46236         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
46237         (struct gl_list_implementation): Add fields search_from_to,
46238         indexof_from_to. Remove fields search, indexof.
46239         (gl_list_search): Use the search_from_to method.
46240         (gl_list_search_from, gl_list_search_from_to): New functions.
46241         (gl_list_indexof): Use the indexof_from_to method.
46242         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
46243         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
46244         (gl_list_search_from, gl_list_search_from_to): New functions.
46245         (gl_list_indexof): Use the indexof_from_to method.
46246         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
46247         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
46248         gl_array_indexof. Add start_index, end_index arguments.
46249         (gl_array_search_from_to): Renamed from gl_array_search. Add
46250         start_index, end_index arguments.
46251         (gl_array_remove, gl_array_list_implementation): Update.
46252         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
46253         gl_carray_indexof. Add start_index, end_index arguments.
46254         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
46255         start_index, end_index arguments.
46256         (gl_carray_remove, gl_carray_list_implementation): Update.
46257         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
46258         gl_linked_search. Add start_index, end_index arguments.
46259         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
46260         start_index, end_index arguments.
46261         (gl_linked_remove): Update.
46262         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
46263         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
46264         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
46265         field to 'size_t'.
46266         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
46267         gl_tree_search. Add start_index, end_index arguments.
46268         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
46269         start_index, end_index arguments.
46270         (gl_tree_remove): Update.
46271         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
46272         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
46273         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
46274         function.
46275         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
46276         gl_tree_search. Add start_index, end_index arguments.
46277         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
46278         start_index, end_index arguments.
46279         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
46280         Update.
46281         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
46282
46283 2006-10-05  Bruno Haible  <bruno@clisp.org>
46284
46285         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
46286
46287         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
46288         fwriteerror_temp): New declarations.
46289         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
46290         (descriptors): New variable.
46291         (cleanup): First, close the descriptors.
46292         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
46293         fclose_temp, fwriteerror_temp): New functions.
46294
46295 2006-10-04  Jim Meyering  <jim@meyering.net>
46296
46297         * lib/fts.c (fts_open): Tiny comment change.
46298
46299 2006-10-04  Bruno Haible  <bruno@clisp.org>
46300
46301         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
46302         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
46303         gl_LOCK_BODY.
46304         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
46305         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
46306         gl_LOCK_EARLY_BODY.
46307         (gl_LOCK): Require gl_LOCK_BODY.
46308
46309 2006-10-04  Bruno Haible  <bruno@clisp.org>
46310
46311         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
46312         (gl_oset_search_atleast): New declaration.
46313         (struct gl_oset_implementation): Add field 'search_atleast'.
46314         (gl_oset_search_atleast): New inline function.
46315         * lib/gl_oset.c (gl_oset_search_atleast): New function.
46316         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
46317         (gl_array_oset_implementation): Update.
46318         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
46319         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
46320         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
46321
46322 2006-10-04  Bruno Haible  <bruno@clisp.org>
46323
46324         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
46325
46326 2006-10-03  Bruno Haible  <bruno@clisp.org>
46327
46328         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
46329         from gl_avltreehash_list_implementation.
46330
46331 2006-10-03  Bruno Haible  <bruno@clisp.org>
46332
46333         * lib/gl_oset.c (gl_oset_add): Fix return type.
46334
46335 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
46336
46337         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
46338
46339 2006-10-02  Eric Blake  <ebb9@byu.net>
46340
46341         * modules/strnlen (Depends-on): Add extensions.
46342
46343 2006-10-02  Eric Blake  <ebb9@byu.net>
46344
46345         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
46346         definition in 2.60+.
46347
46348 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
46349
46350         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
46351         checks.
46352
46353 2006-10-02  Bruno Haible  <bruno@clisp.org>
46354
46355         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
46356         to the AUTOMAKE_OPTIONS.
46357         Reported by Jim Meyering.
46358
46359 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
46360
46361         Work around bug in Solaris 10 /proc file system:
46362         /proc/self/fd/NNN/.. isn't the parent directory of
46363         the directory whose file descriptor is NNN.  This needs to
46364         be worked around at run time, not compile time, since a
46365         program might be built on Solaris 8, where things work, and
46366         run on Solaris 10.
46367         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
46368         to use the following interface instead:
46369         (OPENAT_BUFFER_SIZE): New macro.
46370         (openat_proc_name): New function.
46371         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
46372         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
46373         Likewise.
46374         * lib/openat-proc.c: New file.
46375         * modules/openat (Files): Add lib/openat-proc.c.
46376         (Depends-on): Add same-inode, stdbool.
46377         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
46378
46379 2006-09-29  Bruno Haible  <bruno@clisp.org>
46380
46381         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
46382         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
46383         argument. Set stdout_closed before testing for ferror, not after.
46384         (fwriteerror, fwriteerror_no_ebadf): New functions.
46385
46386 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46387
46388         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
46389
46390 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
46391
46392         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
46393         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
46394
46395 2006-09-28  Jim Meyering  <jim@meyering.net>
46396
46397         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
46398         Include <unistd.h>.
46399
46400 2006-09-28  Bruno Haible  <bruno@clisp.org>
46401
46402         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
46403         * modules/linkedhash-list (Depends-on): Likewise.
46404         * modules/rbtreehash-list (Depends-on): Likewise.
46405
46406 2006-09-28  Bruno Haible  <bruno@clisp.org>
46407
46408         * lib/strndup.h: Simplify the redefinition of strndup.
46409         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
46410         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
46411
46412 2006-09-28  Bruno Haible  <bruno@clisp.org>
46413
46414         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
46415         * lib/gl_linkedhash_list.c: Likewise.
46416         * lib/gl_rbtreehash_list.c: Likewise.
46417
46418 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
46419
46420         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
46421         getaddrinfo.
46422
46423         * lib/__fpending.h: Don't include <stdio_ext.h> unless
46424         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
46425         it causes <stdio_ext.h> to cause a compile-time error.
46426         Problem reported by Nelson H. F. Beebe.
46427         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
46428         of HAVE_DECL___PENDING.
46429
46430         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
46431         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
46432         declaration.
46433
46434 2006-09-27  Jim Meyering  <jim@meyering.net>
46435
46436         This file could end up with a definition for a function
46437         named __strndup, rather than rpl_strndup on a system with
46438         incomplete weak_alias support.
46439         * lib/strndup.c (strndup): Rename from __strndup.
46440         Remove #defines that used to map __strndup to strndup.
46441         Don't use K&R prototypes.
46442         Remove LIBC-related code, since this file is not sync'd with glibc.
46443         * lib/strndup.h: Revamp, accordingly.
46444         * m4/strndup.m4: Modernize.
46445
46446 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
46447
46448         * modules/savewd (Depends-on): Add 'raise'.
46449         * lib/savewd.c: Include <signal.h>, for 'raise'.
46450
46451 2006-09-26  Jim Meyering  <jim@meyering.net>
46452
46453         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
46454         when we detect Darwin 8.7.0's acl_get_file bug.
46455         Rearrange to perform the new (below) run-test while $LIBS
46456         contains any acl-related library.  Set USE_ACL at the end.
46457         (gl_ACL_GET_FILE): New function.
46458
46459 2006-09-26  Eric Blake  <ebb9@byu.net>
46460
46461         * lib/verror.c: Include <config.h> unconditionally.
46462
46463 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
46464
46465         * modules/clock-time (Maintainer): Add self.
46466         * modules/getlogin_r (Depends-on): Add extensions.
46467
46468 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46469
46470         * modules/clock-time: New module.
46471         * modules/nanosleep (Depends-on): Add clock-time.
46472         * modules/gethrxtime (Depends-on): Likewise.
46473         * modules/gettime (Depends-on): Likewise.
46474         * modules/settime (Depends-on): Likewise.
46475
46476         * modules/fts-lgpl: Depend on openat.
46477         * modules/mkancesdirs: Depend on savewd.
46478         * modules/mkdir-p: Likewise.
46479
46480 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46481
46482         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
46483
46484         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
46485         `gl_have_arbitrary_file_name_length_limit' to
46486         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
46487         actually works between configure runs.
46488
46489 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46490             Bruno Haible  <bruno@clisp.org>
46491
46492         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
46493
46494 2006-09-25  Jim Meyering  <jim@meyering.net>
46495
46496         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
46497         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
46498
46499 2006-09-25  Eric Blake  <ebb9@byu.net>
46500
46501         * gnulib-tool (func_import, func_create_testdir): Fix typos in
46502         exec's in 2006-09-18 patch when shuffling fds.
46503
46504 2006-09-25  Bruno Haible  <bruno@clisp.org>
46505
46506         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
46507         Reported by Jim Meyering.
46508
46509 2006-09-24  Jim Meyering  <jim@meyering.net>
46510
46511         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
46512         compare a pointer against a literal "0".  That caused failures with
46513         at least HP-UX's hpcc.
46514
46515 2006-09-22  Simon Josefsson  <jas@extundo.com>
46516
46517         * modules/gc-sha1:
46518         * modules/gc-md4:
46519         * modules/gc-hmac-sha1:
46520         * modules/gc-hmac-md5:
46521         * modules/gc-des:
46522         * modules/gc-arcfour: Distribute more files.
46523
46524 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46525
46526         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
46527         (gl_linked_iterator_from_to): Initialize struct completely.
46528         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
46529         (gl_tree_iterator_from_to): Likewise
46530         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
46531         * lib/gl_array_list.c [lint] (gl_array_iterator)
46532         (gl_array_iterator_from_to): Likewise.
46533         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
46534         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
46535         (gl_carray_iterator_from_to): Likewise.
46536
46537         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
46538         * lib/md4.c (md4_process_block): Remove unused variable.
46539         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
46540         parentheses for clarity.
46541
46542 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46543
46544         * modules/bison-i18n (Depends-on): Add gettext.
46545
46546 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46547
46548         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
46549         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
46550         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
46551         also add missing comma that caused broken test.
46552         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
46553         stdlib.h, for `abort'.
46554         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
46555         variables.
46556         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
46557         include unistd.h if present, for `rmdir'.
46558         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
46559         variables.
46560         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
46561         in the process include standard headers for prototypes.
46562         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
46563         gets declared on GNU/Linux.
46564         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
46565         unistd.h, for `rmdir'.
46566         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
46567
46568         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
46569         always true.
46570         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
46571
46572         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
46573
46574 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46575
46576         * gnulib-tool (func_version): Create output all at once.  This
46577         may help avoid triggering unnecessary SIGPIPEs, and at any
46578         rate it doesn't hurt.
46579
46580 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46581             Bruno Haible  <bruno@clisp.org>
46582
46583         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
46584         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
46585         * m4/signed.m4 (bh_C_SIGNED): Likewise.
46586
46587         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
46588         (gl_FUNC_VASPRINTF): Invoke it.
46589
46590 2006-09-22  Bruno Haible  <bruno@clisp.org>
46591
46592         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
46593         getloadavg.c as first argument.
46594
46595 2006-09-22  Bruno Haible  <bruno@clisp.org>
46596
46597         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
46598         at the beginning of the gl_INIT macro.
46599         * modules/getloadavg (configure.ac): Pass $gl_source_base to
46600         gl_GETLOADAVG.
46601
46602 2006-09-22  Bruno Haible  <bruno@clisp.org>
46603
46604         * gnulib-tool (func_create_megatestdir): Don't include the config-h
46605         module.
46606         Suggested by Ralf Wildenhues.
46607
46608 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
46609
46610         Import this patch from libc:
46611
46612         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
46613
46614         * lib/regex_internal.c (re_string_reconstruct): Handle
46615         offset < pstr->valid_raw_len && pstr->offsets_needed case.
46616         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
46617         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
46618         re_string_context_at.
46619
46620         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
46621         now requires it.
46622         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
46623         gl_REGEX now does it for us.
46624         (gl_REGEX): Add test taken from
46625         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
46626
46627         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
46628         Check that large offsets work.  Modernize Autoconf usages.
46629         Prefer "yes" to mean a good thing rather than a bad.
46630         Don't put "#define mkstemp" in config.h, as this might interfere
46631         with standard system headers that "#define mkstemp mkstemp64".
46632
46633         * modules/mkstemp (Depends-on): Add extensions, so that
46634         mkstemp is visible on some platforms.
46635         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
46636         (Include): Change to "mkstemp.h" from <stdlib.h>.
46637         (Files): Add mkstemp.h.
46638
46639         * lib/mkstemp.h: New file, since some standard headers
46640         #define mkstemp.
46641         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
46642         Include "mkstemp.h".
46643         Make the _LIBC code resemble glibc original more,
46644         e.g., use K&R style.
46645         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
46646         (mkstemp): Remove, since mkstemp.h does this for us.
46647         * lib/stdlib--.h: Include mkstemp.h.
46648
46649         Import this patch from libc:
46650
46651         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
46652
46653         * lib/tempname.c (__gen_tempname): Change attempts_min
46654         into a macro.  Use preprocessor to decide how to initialize
46655         attempts [Coverity CID 67].
46656
46657 2006-09-20  Bruno Haible  <bruno@clisp.org>
46658
46659         * lib/mkdtemp.c: Import from libc.
46660         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
46661                 * sysdeps/posix/tempname.c (__gen_tempname): Change
46662                 attempts_min into a macro.  Use preprocessor to decide how to
46663                 initialize attempts [Coverity CID 67].
46664         2001-11-27  Paul Eggert  <eggert@twinsun.com>
46665                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
46666                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
46667
46668 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46669
46670         * gnulib-tool (func_exit): New function, to allow to pass the
46671         exit status portably through the trap.  Use everywhere.
46672         (--help, --version): Signal a write error.
46673         (trap): catch SIGPIPE, for write errors.
46674         Exit at the end of the trap, with the correct exit status.
46675
46676 2006-09-19  Karl Berry  <karl@gnu.org>
46677
46678         * doc/gnulib.texi: note about the license texinfo files.
46679
46680 2006-09-19  Eric Blake  <ebb9@byu.net>
46681
46682         * gnulib-tool: Avoid space-tab.
46683
46684 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
46685
46686         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
46687         that prevented coreutils 6.1 from building.  Problem reported
46688         by Petter Reinholdtsen.
46689
46690 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
46691
46692         * gnulib-tool (avoidlist): Fix typo that broke options like
46693         --avoid=lock that are used by coreutils bootstrap.
46694
46695 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
46696
46697         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
46698         more systematically.
46699
46700 2006-09-18  Jim Meyering  <jim@meyering.net>
46701
46702         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
46703
46704 2006-09-18  Bruno Haible  <bruno@clisp.org>
46705
46706         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
46707
46708 2006-09-18  Bruno Haible  <bruno@clisp.org>
46709
46710         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
46711         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
46712         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
46713         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
46714         * m4/gettext.m4: Require autoconf >= 2.52.
46715         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
46716         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
46717         of gl_cv_header_inttypes_h.
46718
46719 2006-09-18  Bruno Haible  <bruno@clisp.org>
46720
46721         * lib/javaversion.c: Include configmake.h.
46722
46723 2006-09-18  Bruno Haible  <bruno@clisp.org>
46724
46725         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
46726         avoid that the while loops be executed in a subshell.
46727
46728 2006-09-18  Bruno Haible  <bruno@clisp.org>
46729
46730         * MODULES.html.sh (func_module): Break long lines.
46731         Suggested by Bruce Korb <bkorb@gnu.org>.
46732
46733 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46734
46735         Speed up by a factor of 1.12.
46736         * gnulib-tool (nl): New variable.
46737         (func_import): Rewrite include directive extraction to only read each
46738         directive once.
46739
46740 2006-09-17  Bruno Haible  <bruno@clisp.org>
46741
46742         * modules/javaversion (Makefile.am): Remove DEFS setting.
46743         (Depends-on): Add configmake, for PKGDATADIR definition.
46744
46745 2006-09-17  Bruno Haible  <bruno@clisp.org>
46746
46747         * gnulib-tool (func_create_testdir): Rewrite all files at once.
46748
46749 2006-09-17  Bruno Haible  <bruno@clisp.org>
46750
46751         * gnulib-tool (func_append): New function, stolen from libtool.m4.
46752         (func_modules_transitive_closure, func_modules_add_dummy,
46753         func_modules_to_filelist, func_import, func_create_testdir,
46754         func_create_megatestdir, ...): Use it wherever possible.
46755         Suggested by Ralf Wildenhues.
46756
46757 2006-09-16  Karl Berry  <karl@gnu.org>
46758
46759         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
46760         to avoid sectioning errors.
46761         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
46762         [ifinfo]: blank line after @center-ed titles.
46763         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
46764         Spell FSF address consistently with others.
46765         (These changes approved by rms.)
46766
46767 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46768
46769         Speed up by a factor of 1.61.
46770         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
46771         already checked module names again.
46772
46773 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46774
46775         Speed up by a factor of 1.13.
46776         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
46777         for new_files, and the input to func_add_or_update.
46778
46779 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46780
46781         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
46782         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
46783
46784 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
46785
46786         * modules/mkancesdirs (Depends-on): Add fcntl.
46787         * modules/savewd: New file.
46788         * MODULES.html.sh (File system functions): Add savewd.
46789
46790         * modules/configmake (Makefile.am): Add support for the
46791         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
46792
46793 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
46794
46795         * m4/savewd.m4: New file.
46796
46797 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
46798
46799         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
46800         (dirchownmod): New arg FD.  All callers changed.
46801         Use FD rather than opening the directory ourself, as opening is
46802         now the caller's responsibility.
46803         * lib/dirchownmod.h: Likewise.
46804         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
46805         hosts that require <sys/types.h> before <sys/stat.h>.  Include
46806         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
46807         (test_dir): Remove.
46808         (mkancesdirs): Return length of prefix of FILE that has already
46809         been made, or -2 if there is a child doing the work.  Redo
46810         algorithm so that it is O(N) rather than O(N**2).  Optimize away
46811         ".", and treat ".." specially since it might stray back into
46812         already-created areas.  Use a subprocess if necessary.  New arg
46813         WD; all users changed.  MAKE_DIR function should now return 1
46814         if it creates a directory that is not readable.  Return -2 if
46815         a child process is spun off.
46816         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
46817         Adjust signature to match code.
46818         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
46819         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
46820         all users changed.
46821         * lib/savewd.c, lib/savewd.h: New files.
46822
46823 2006-09-15  Jim Meyering  <jim@meyering.net>
46824
46825         * modules/rename-dest-slash: New module.
46826         * MODULES.html.sh (posix_compat): Add it here.
46827
46828         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
46829
46830 2006-09-15  Jim Meyering  <jim@meyering.net>
46831
46832         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
46833         file.
46834
46835         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
46836
46837 2006-09-15  Jim Meyering  <jim@meyering.net>
46838
46839         * lib/rename-dest-slash.c (has_trailing_slash): Use
46840         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
46841         (rpl_rename_dest_slash): Perform the cheaper trailing slash
46842         test before testing whether SRC is a directory.
46843         Suggestions from Bruno Haible.
46844
46845         Avoid a warning about an unused variable.
46846         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
46847         into the #ifdef block where it's used.
46848
46849         * lib/rename-dest-slash.c: New file.
46850
46851 2006-09-14  Bruno Haible  <bruno@clisp.org>
46852
46853         * lib/allocsa.c: Include <config.h> unconditionally.
46854         * lib/asnprintf.c: Likewise.
46855         * lib/asprintf.c: Likewise.
46856         * lib/c-strcasecmp.c: Likewise.
46857         * lib/c-strcasestr.c: Likewise.
46858         * lib/c-strncasecmp.c: Likewise.
46859         * lib/c-strstr.c: Likewise.
46860         * lib/classpath.c: Likewise.
46861         * lib/clean-temp.c: Likewise.
46862         * lib/concatpath.c: Likewise.
46863         * lib/copy-file.c: Likewise.
46864         * lib/csharpcomp.c: Likewise.
46865         * lib/csharpexec.c: Likewise.
46866         * lib/execute.c: Likewise.
46867         * lib/fatal-signal.c: Likewise.
46868         * lib/findprog.c: Likewise.
46869         * lib/fwriteerror.c: Likewise.
46870         * lib/gl_array_list.c: Likewise.
46871         * lib/gl_array_oset.c: Likewise.
46872         * lib/gl_avltree_list.c: Likewise.
46873         * lib/gl_avltree_oset.c: Likewise.
46874         * lib/gl_avltreehash_list.c: Likewise.
46875         * lib/gl_carray_list.c: Likewise.
46876         * lib/gl_linked_list.c: Likewise.
46877         * lib/gl_linkedhash_list.c: Likewise.
46878         * lib/gl_list.c: Likewise.
46879         * lib/gl_oset.c: Likewise.
46880         * lib/gl_rbtree_list.c: Likewise.
46881         * lib/gl_rbtree_oset.c: Likewise.
46882         * lib/gl_rbtreehash_list.c: Likewise.
46883         * lib/imaxabs.c: Likewise.
46884         * lib/imaxdiv.c: Likewise.
46885         * lib/javacomp.c: Likewise.
46886         * lib/javaexec.c: Likewise.
46887         * lib/javaversion.c: Likewise.
46888         * lib/linebreak.c: Likewise.
46889         * lib/localcharset.c: Likewise.
46890         * lib/lock.c: Likewise.
46891         * lib/mbchar.c: Likewise.
46892         * lib/mbswidth.c: Likewise.
46893         * lib/mkdtemp.c: Likewise.
46894         * lib/pipe.c: Likewise.
46895         * lib/printf-args.c: Likewise.
46896         * lib/printf-parse.c: Likewise.
46897         * lib/progname.c: Likewise.
46898         * lib/progreloc.c: Likewise.
46899         * lib/readlink.c: Likewise.
46900         * lib/sh-quote.c: Likewise.
46901         * lib/stpcpy.c: Likewise.
46902         * lib/stpncpy.c: Likewise.
46903         * lib/strcasecmp.c: Likewise.
46904         * lib/strcasestr.c: Likewise.
46905         * lib/strcspn.c: Likewise.
46906         * lib/striconv.c: Likewise.
46907         * lib/strncasecmp.c: Likewise.
46908         * lib/strnlen1.c: Likewise.
46909         * lib/strstr.c: Likewise.
46910         * lib/strtok_r.c: Likewise.
46911         * lib/tls.c: Likewise.
46912         * lib/tmpdir.c: Likewise.
46913         * lib/unicodeio.c: Likewise.
46914         * lib/unsetenv.c: Likewise.
46915         * lib/vasnprintf.c: Likewise.
46916         * lib/vasprintf.c: Likewise.
46917         * lib/wait-process.c: Likewise.
46918         * lib/xallocsa.c: Likewise.
46919         * lib/xsetenv.c: Likewise.
46920         * lib/xstriconv.c: Likewise.
46921
46922 2006-09-13  Simon Josefsson  <jas@extundo.com>
46923
46924         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
46925         that internally, suggested by Ralf Wildenhues
46926         <Ralf.Wildenhues@gmx.de>.
46927
46928 2006-09-13  Simon Josefsson  <jas@extundo.com>
46929
46930         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
46931         @LIBOBJS@.
46932         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
46933
46934 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
46935
46936         * lib/_fpending.c: Include <config.h> unconditionally, since we no
46937         longer worry about uses that don't define HAVE_CONFIG_H.
46938         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
46939         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
46940         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
46941         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
46942         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
46943         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
46944         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
46945         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
46946         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
46947         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
46948         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
46949         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
46950         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
46951         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
46952         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
46953         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
46954         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
46955         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
46956         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
46957         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
46958         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
46959         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
46960         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
46961         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
46962         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
46963         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
46964         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
46965         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
46966         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
46967         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
46968         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
46969         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
46970         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
46971         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
46972         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
46973         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
46974         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
46975         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
46976         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
46977         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
46978         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
46979         Likewise.
46980
46981 2006-09-13  Eric Blake  <ebb9@byu.net>
46982
46983         * lib/getopt.c: Fix typo in last commit.
46984
46985 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
46986
46987         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
46988         dgettext.
46989
46990 2006-09-12  Jim Meyering  <jim@meyering.net>
46991
46992         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
46993         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
46994         Reported by Nelson H. F. Beebe.
46995
46996 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
46997
46998         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
46999         program_invocation_name and program_invocation_short_name are
47000         initialized.
47001         * lib/argp-namefrob.h: Move declarations of program_invocation_name
47002         and program_invocation_short_name to argp.h, so they are visible
47003         to user programs.
47004         * lib/argp.h: Likewise
47005
47006 2006-09-10  Bruno Haible  <bruno@clisp.org>
47007
47008         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
47009         m4/inttypes_h.m4, m4/uintmax_t.m4.
47010
47011 2006-09-10  Bruno Haible  <bruno@clisp.org>
47012
47013         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
47014         gl_AC_TYPE_UINTMAX_T.
47015
47016 2006-09-10  Bruno Haible  <bruno@clisp.org>
47017
47018         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
47019
47020 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
47021
47022         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
47023         convention.  Text proposed by Bruno Haible.
47024         (struct argp_option): Document the use of N_() wrappers.
47025
47026         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
47027         '\v', and translate the two parts separately, instead of feeding
47028         the whole string to gettext.  This allows to exclude
47029         '\v' from the strings visible to the translator by writing doc
47030         strings as N_("..") "\v" N_("..").
47031
47032 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
47033
47034         * config/srclist.txt: Undo latest change; the bug was fixed.
47035
47036 2006-09-09  Bruno Haible  <bruno@clisp.org>
47037
47038         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
47039         assignments if building a library without libtool.
47040         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
47041         in func_emit_lib_Makefile_am.
47042         (func_import): When building a static library libfoo.a, arrange to
47043         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
47044         (func_create_testdir): Likewise.
47045         * modules/gc (configure.ac, Makefile.am): If building statically,
47046         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
47047         * modules/iconvme (configure.ac, Makefile.am): Likewise.
47048         * modules/striconv (configure.ac, Makefile.am): Likewise.
47049         Based on a suggestion by Ralf Wildenhues.
47050
47051 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
47052
47053         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
47054         Check for unistd.h too, since Autoconf doesn't assume POSIX.
47055         Also:
47056
47057         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
47058         Add year_2050_test to catch glibc bug 2821
47059         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
47060
47061         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
47062         Prefer #ifdef to #if.
47063
47064         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
47065         Return from 'main' instead of calling 'exit'.
47066
47067 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
47068
47069         * lib/mktime.c (guess_time_tm): Fix bug where mktime
47070         returned the maximum time_t value rather than (time_t) -1.
47071         Problem originally reported by William Bardwell
47072         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
47073
47074         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
47075         Moved to here ...
47076         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
47077         ... from here.
47078
47079 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
47080
47081         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
47082         2821 is fixed.
47083
47084 2006-09-08  Jim Meyering  <jim@meyering.net>
47085
47086         Don't make generated files read-only.  That would bother too many
47087         people.  However, do retain the ability to work when targets are
47088         read-only: remove the destination and temporary files before writing
47089         them (when generated via sed or echo), or by using the -f option for
47090         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
47091         * modules/alloca-opt, modules/argz, modules/arpa_inet:
47092         * modules/byteswap, modules/configmake, modules/fcntl:
47093         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
47094         * modules/localcharset, modules/netinet_in, modules/poll:
47095         * modules/stdbool, modules/stdint, modules/sys_select:
47096         * modules/sys_socket, modules/sys_stat, modules/sysexits:
47097
47098 2006-09-08  Jim Meyering  <jim@meyering.net>
47099
47100         Avoid new build failure on FreeBSD 6.0.
47101         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
47102         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
47103         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
47104
47105 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47106
47107         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
47108
47109 2006-09-07  Jim Meyering  <jim@meyering.net>
47110
47111         Fix global typo in last change: use chmod u-w, not chmod u-x.
47112         Spotted by Paul Eggert and Bruce Korb.
47113         * modules/alloca-opt, modules/argz, modules/arpa_inet:
47114         * modules/byteswap, modules/configmake, modules/fcntl:
47115         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
47116         * modules/localcharset, modules/netinet_in, modules/poll:
47117         * modules/stdbool, modules/stdint, modules/sys_select:
47118         * modules/sys_socket, modules/sys_stat, modules/sysexits:
47119
47120 2006-09-06  Jim Meyering  <jim@meyering.net>
47121
47122         Make generated files be read-only.
47123         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
47124         Ensure that each generated file is now read-only.
47125         * modules/argz: Likewise.
47126         * modules/arpa_inet: Likewise.
47127         * modules/byteswap: Likewise.
47128         * modules/configmake: Likewise.
47129         * modules/fcntl: Likewise.
47130         * modules/fnmatch: Likewise.
47131         * modules/getopt: Likewise.
47132         * modules/glob: Likewise.
47133         * modules/inttypes: Likewise.
47134         * modules/netinet_in: Likewise.
47135         * modules/poll: Likewise.
47136         * modules/stdbool: Likewise.
47137         * modules/stdint: Likewise.
47138         * modules/sys_select: Likewise.
47139         * modules/sys_socket: Likewise.
47140         * modules/sys_stat: Likewise.
47141         * modules/sysexits: Likewise.
47142         * modules/localcharset: Same as above, but continue using temporary
47143         file named "t-$@" (why different?) rather than the "$@-t" used
47144         everywhere else.
47145
47146         * modules/sysexits (Makefile.am): Replace literal occurrences
47147         of "sysexit.h" more readable, and more consistent, "$@".
47148
47149 2006-09-06  Bruno Haible  <bruno@clisp.org>
47150
47151         * modules/striconv: New file.
47152         * modules/xstriconv: New file.
47153         * MODULES.html.sh (Internationalization functions): Add striconv,
47154         xstriconv.
47155
47156 2006-09-06  Bruno Haible  <bruno@clisp.org>
47157
47158         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
47159         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
47160         not using libtool correctly.
47161
47162 2006-09-06  Bruno Haible  <bruno@clisp.org>
47163
47164         * lib/striconv.h: New file.
47165         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
47166         iconvstring.c.
47167         * lib/xstriconv.h: New file.
47168         * lib/xstriconv.c: New file.
47169
47170 2006-09-06  Bruno Haible  <bruno@clisp.org>
47171
47172         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
47173         lib_..._LDFLAGS.
47174
47175 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47176
47177         * lib/argz_.h: Sync from Libtool.
47178
47179         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
47180                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
47181
47182         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
47183
47184 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
47185
47186         * modules/trim: New file.
47187
47188 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
47189
47190         * lib/trim.h: New file.
47191         * lib/trim.c: New file.
47192
47193 2006-09-05  Bruno Haible  <bruno@clisp.org>
47194
47195         * MODULES.html.sh (String handling): Add trim.
47196
47197 2006-09-04  Karl Berry  <karl@gnu.org>
47198
47199         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
47200         until next release.
47201
47202 2006-09-03  Bruno Haible  <bruno@clisp.org>
47203
47204         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
47205         correctly.
47206
47207 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
47208
47209         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
47210         not gl_GETLOADAVG.  Omit unneeded semicolons.
47211         Problems reported by Ralf Wildenhues in
47212         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
47213         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
47214         at the end, which is the usual gnulib style.
47215
47216         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
47217         of doing all the work ourselves.
47218         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
47219         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
47220
47221 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
47222
47223         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
47224         Problem reported by Ralf Wildenhues in
47225         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
47226
47227         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
47228         HAVE_STRUCT_STATFS_F_FSTYPENAME.
47229
47230 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
47231
47232         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
47233         yesterday's patch by changing test -n to test -z.
47234
47235 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
47236
47237         * modules/getloadavg (Files): Add m4/getloadavg.m4.
47238         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
47239         the former is now obsolescent.
47240
47241         * modules/chdir-long (Depends-on): Add fcntl.
47242
47243 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
47244
47245         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
47246         obsolescent, and programs should use gnulib instead.
47247         * m4/getloadavg.m4: New file, with contents taken from Autoconf
47248         but with prefixes changed.
47249
47250 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
47251
47252         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
47253         or stdbool.h, because they might not exist while configuring.
47254
47255         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
47256         Don't include unistd.h or limits.h; not needed, since chdir-long.h
47257         does that for us.
47258         (O_DIRECTORY): Remove.
47259
47260 2006-08-31  Eric Blake  <ebb9@byu.net>
47261
47262         * gnulib-tool: Don't let emacs change spaces to TAB.
47263
47264 2006-08-31  Bruno Haible  <bruno@clisp.org>
47265
47266         * gnulib-tool: When calling func_import more than once, do it in a
47267         subshell.
47268         Reported by Eric Blake <ebb9@byu.net>.
47269
47270 2006-08-31  Bruno Haible  <bruno@clisp.org>
47271
47272         * gnulib-tool (nl): Remove variable.
47273         (sed_transform_lib_file): Use more robust test for config-h module.
47274         (func_import): Fix typo in 2006-08-25 patch.
47275
47276 2006-08-31  Bruno Haible  <bruno@clisp.org>
47277
47278         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
47279         specified, augment Makefile.am variables instead of assigning them.
47280
47281 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
47282
47283         Work around a bug in both the Linux and SunOS 64-bit kernels:
47284         nanosleep mishandles sleeps for longer than 2**31 seconds.
47285         Problem reported by Frank v Waveren in
47286         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
47287         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
47288         Check for nanosleep bug.
47289         (LIB_NANOSLEEP): Append clock_gettime library if needed.
47290
47291 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
47292
47293         Work around a bug in both the Linux and SunOS 64-bit kernels:
47294         nanosleep mishandles sleeps for longer than 2**31 seconds.
47295         Problem reported by Frank v Waveren in
47296         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
47297         * lib/nanosleep.c (BILLION): New constant.
47298         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
47299         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
47300         implementation.
47301
47302 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
47303
47304         * modules/nanosleep (Depends-on): Add gettime.
47305
47306 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
47307         and Simon Josefsson  <jas@extundo.com>
47308         and Oskar Liljeblad  <oskar@osk.mine.nu>
47309
47310         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
47311         * gnulib-tool (func_import): New license type 'unmodifiable license
47312         text'.
47313         * modules/fdl: Use it.  Longer description.
47314         * module/gpl, module/lgpl: New files.
47315
47316 2006-08-30  Jim Meyering  <jim@meyering.net>
47317
47318         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
47319         shadowing the parameter.
47320
47321 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47322
47323         Sync from Libtool:
47324
47325         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47326
47327         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
47328         sharing with gnulib.  Report by Eric Blake.
47329
47330 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
47331
47332         * modules/isapipe: New file.
47333         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
47334
47335 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
47336
47337         * modules/configmake (Makefile.am): Add a comment, and omit
47338         the CONFIGMAKE_ prefix from generated macro names.  Suggested
47339         by Bruno Haible.
47340
47341 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
47342
47343         * m4/isapipe.m4: New file.
47344
47345 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
47346
47347         * lib/isapipe.c, lib/isapipe.h: New files.
47348
47349 2006-08-29  Jim Meyering  <jim@meyering.net>
47350
47351         * modules/configmake (Makefile.am): Make configmake.h depend on
47352         Makefile.  Otherwise, a stale configmake.h could hang around.
47353
47354 2006-08-29  Eric Blake  <ebb9@byu.net>
47355
47356         * lib/error.c (error_at_line, print_errno_message): Match libc, after
47357         resolution of upstream bug 3044.
47358
47359 2006-08-29  Bruno Haible  <bruno@clisp.org>
47360
47361         * modules/localcharset (Depends-on): Add configmake.
47362         (Makefile.am): Remove setting of LIBDIR through DEFS.
47363
47364 2006-08-29  Bruno Haible  <bruno@clisp.org>
47365
47366         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
47367         defined.
47368
47369 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
47370
47371         * modules/fcntl: New file.
47372         * modules/chdir-safer (Depends-on): Add fcntl.
47373         * modules/fts: Likewise.
47374         * modules/mkdir-p: Likewise.
47375
47376         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
47377         This undoes the most recent change, since we're now addressing the
47378         problem in a different way.
47379
47380         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
47381         into output, since the output might be called Makefile.am even
47382         if $makefile_name is something different.
47383         (func_import): Use $makefile_am rather than
47384         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
47385         empty.
47386
47387         * modules/inttypes (Files): Add m4/inttypes-h.m4.
47388
47389 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
47390
47391         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
47392         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
47393         recent change to stdint.m4, since we're now addressing the problem in a
47394         different way.
47395
47396 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
47397
47398         * m4/fcntl_h.m4: New file.
47399
47400 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
47401
47402         * lib/fcntl_.h: New file.
47403         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
47404         the fcntl module.
47405         * lib/dirchownmod.c: Likewise.
47406         * lib/fts.c: Likewise.
47407
47408         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
47409         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
47410         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
47411         just before including <inttypes.h>, to avoid circular inclusion.
47412
47413 2006-08-28  Jim Meyering  <jim@meyering.net>
47414
47415         * doc/visibility.texi: Actually read and correct the grammar of the
47416         sentence affected by yesterday's change.
47417
47418 2006-08-28  Eric Blake  <ebb9@byu.net>
47419
47420         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
47421         needs wrapper.
47422
47423 2006-08-28  Eric Blake  <ebb9@byu.net>
47424
47425         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
47426
47427 2006-08-28  Eric Blake  <ebb9@byu.net>
47428
47429         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
47430
47431 2006-08-28  Bruno Haible  <bruno@clisp.org>
47432
47433         * modules/c-strstr: New file, from GNU gettext.
47434         * MODULES.html.sh (String handling): Add c-strstr.
47435
47436 2006-08-28  Bruno Haible  <bruno@clisp.org>
47437
47438         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
47439         macros.
47440         Reported by Eric Blake.
47441
47442 2006-08-28  Bruno Haible  <bruno@clisp.org>
47443
47444         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
47445         (VASNPRINTF): Return a string of length > INT_MAX without failing.
47446         * lib/vasprintf.c: Include errno.h, limits.h.
47447         (EOVERFLOW): New fallback definition.
47448         (vasprintf): Test here whether the string length is > INT_MAX.
47449         * lib/vsnprintf.c: Include errno.h, limits.h.
47450         (EOVERFLOW): New fallback definition.
47451         (vsnprintf): Fix bug when generated string was too long for the buffer.
47452         Test here whether the string length is > INT_MAX.
47453
47454 2006-08-28  Bruno Haible  <bruno@clisp.org>
47455
47456         * lib/inttypes_.h (SCNX*): Remove definitions.
47457         Reported by Eric Blake.
47458
47459 2006-08-28  Bruno Haible  <bruno@clisp.org>
47460
47461         * lib/c-strstr.h: New file, from GNU gettext.
47462         * lib/c-strstr.c: New file, from GNU gettext.
47463
47464 2006-08-28  Bruno Haible  <bruno@clisp.org>
47465
47466         * gnulib-tool: Reorder some statements.
47467
47468 2006-08-28  Bruno Haible  <bruno@clisp.org>
47469
47470         * gnulib-tool: New option --makefile-name.
47471         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
47472         $makefile_name.
47473         (func_import): Write $makefile_name to the cache file, and read it from
47474         there unless explicitly specified. Use $makefile_name as file name
47475         instead of Makefile.am. Adjust the recommendations accordingly.
47476
47477 2006-08-28  Bruno Haible  <bruno@clisp.org>
47478
47479         * gnulib-tool (func_verify_module): Check against misapplying patch.
47480
47481 2006-08-28  Bruno Haible  <bruno@clisp.org>
47482
47483         * gnulib-tool (func_relativize, func_relconcat): New functions.
47484         Give an error if --local-dir is given with --update.
47485         Remove trailing slashes from $local_gnulib_dir.
47486         (func_import): Store the relativized $local_gnulib_dir in
47487         gnulib-cache.m4, and read it from there if not specified explicitly.
47488
47489 2006-08-28  Bruno Haible  <bruno@clisp.org>
47490
47491         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
47492         is the current directory. Respect also $local_gnulib_dir.
47493
47494 2006-08-28  Bruno Haible  <bruno@clisp.org>
47495             Simon Josefsson  <jas@extundo.com>
47496
47497         BeOS portability.
47498         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
47499
47500 2006-08-27  Jim Meyering  <jim@meyering.net>
47501
47502         * doc/visibility.texi: Remove duplicate word: "pointer".
47503
47504 2006-08-26  Bruno Haible  <bruno@clisp.org>
47505
47506         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
47507         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
47508         (Makefile.am): Create inttypes.h from inttypes_.h.
47509         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
47510
47511         * modules/imaxabs: New file.
47512
47513         * modules/imaxdiv: New file.
47514
47515 2006-08-26  Bruno Haible  <bruno@clisp.org>
47516
47517         * m4/inttypes.m4: New file.
47518         * m4/_inttypes_h.m4: Remove file.
47519         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
47520         PRI_MACROS_BROKEN.
47521         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
47522
47523         * m4/imaxabs.m4: New file.
47524
47525         * m4/imaxdiv.m4: New file.
47526
47527 2006-08-26  Bruno Haible  <bruno@clisp.org>
47528
47529         * lib/inttypes_.h: New file.
47530         * lib/inttypes.h: Remove file.
47531         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
47532
47533         * lib/imaxabs.c: New file.
47534
47535         * lib/imaxdiv.c: New file.
47536
47537 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
47538
47539         New config-h module, so that "make" output needn't be cluttered
47540         by -DHAVE_CONFIG_H.
47541         * MODULES.html.sh (Support for building libraries and executables):
47542         Add config-h.
47543         * modules/config-h: New file.
47544         * gnulib-tool (nl, sed_transform_lib_file): New vars.
47545         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
47546         the config-h module is used.
47547
47548         New configmake module, so that "make" output needn't be cluttered
47549         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
47550         * MODULES.html.sh (Support for building libraries and executables):
47551         Add configmake.
47552         * modules/configmake: New file.
47553
47554 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
47555
47556         * m4/config-h.m4: New file.
47557
47558 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
47559
47560         * config/srclist.txt: Add elisp-comp.
47561
47562 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
47563
47564         * MODULES.html.sh (Support for building libraries and executables):
47565         Add elisp-comp.
47566         * build-aux/elisp-comp: New file.
47567         * modules/elisp-comp: New file.
47568
47569 2006-08-24  Bruno Haible  <bruno@clisp.org>
47570
47571         * gnulib-tool (func_create_testdir): Use non-default values of
47572         sourcebase and m4base.
47573
47574 2006-08-24  Bruno Haible  <bruno@clisp.org>
47575
47576         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
47577         HTML structure.
47578
47579 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
47580
47581         * modules/openat (Depends-on): Add lchown.
47582
47583 2006-08-23  Bruno Haible  <bruno@clisp.org>
47584
47585         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
47586         of gl_LOCK_EARLY instead of gl_LOCK.
47587
47588 2006-08-23  Bruno Haible  <bruno@clisp.org>
47589
47590         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
47591         on OSF/1 to no.
47592         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
47593
47594 2006-08-23  Bruno Haible  <bruno@clisp.org>
47595
47596         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
47597         as unusable.
47598
47599         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
47600         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
47601         (gl_LOCK): New macro.
47602
47603 2006-08-22  Simon Josefsson  <jas@extundo.com>
47604
47605         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
47606         to md5 module.
47607
47608 2006-08-22  Simon Josefsson  <jas@extundo.com>
47609
47610         * MODULES.html.sh: Add "Support for maintaining and release
47611         projects".
47612
47613         * build-aux/gnupload: New file, from coreutils.
47614
47615 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
47616
47617         Avoid the need for AC_LIBSOURCES in m4 macros.
47618         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
47619         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
47620         * modules/check-version (EXTRA_DIST): Add check-version.h.
47621         * modules/crc (EXTRA_DIST): Add crc.h.
47622         * modules/des (EXTRA_DIST): Add des.h.
47623         * modules/gc (EXTRA_DIST): Add gc.h.
47624         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
47625         * modules/getline (EXTRA_DIST): Add getline.h.
47626         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
47627         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
47628         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
47629         * modules/md2 (EXTRA_DIST): Add md2.h.
47630         * modules/md4 (EXTRA_DIST): Add md4.h.
47631         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
47632         * modules/read-file (EXTRA_DIST): Add read-file.h.
47633         * modules/readline (EXTRA_DIST): Add readline.h.
47634         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
47635         rijndael-api-fst.h.
47636
47637 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
47638
47639         * m4/rijndael.m4 (gl_ARCFOUR):
47640         * m4/arctwo.m4 (gl_ARCTWO):
47641         * m4/check-version.m4 (gl_CHECK_VERSION):
47642         * m4/crc.m4 (gl_CRC):
47643         * m4/des.m4 (gl_DES):
47644         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
47645         * m4/gc.m4 (gl_GC):
47646         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
47647         * m4/getline.m4 (gl_FUNC_GETLINE):
47648         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
47649         * m4/hmac-md5.m4 (gl_HMAC_MD5):
47650         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
47651         * m4/md2.m4 (gl_MD2):
47652         * m4/md4.m4 (gl_MD4):
47653         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
47654         * m4/read-file.m4 (gl_FUNC_READ_FILE):
47655         * m4/readline.m4 (gl_FUNC_READLINE):
47656         * m4/rijndael.m4 (gl_RIJNDAEL):
47657         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
47658         to get the necessary .h files and whatnot.
47659
47660 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
47661
47662         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
47663         gnulib rather than the other way around.
47664         * config/srclistvars.sh (COREUTILS): Remove.
47665
47666 2006-08-22  Jim Meyering  <jim@meyering.net>
47667
47668         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
47669
47670         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
47671
47672 2006-08-22  Eric Blake  <ebb9@byu.net>
47673
47674         * modules/regexprops-generic: New file.
47675         * MODULES.html.sh (Support for building documentation): List it.
47676
47677 2006-08-22  Eric Blake  <ebb9@byu.net>
47678
47679         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
47680         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
47681         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
47682         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
47683
47684 2006-08-22  Bruno Haible  <bruno@clisp.org>
47685
47686         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
47687         and lib_LTLIBRARIES like the other lib_* variables.
47688
47689 2006-08-22  Bruno Haible  <bruno@clisp.org>
47690
47691         * build-aux/x-to-1.in: New file, from GNU gettext.
47692
47693 2006-08-22  Bruno Haible  <bruno@clisp.org>
47694
47695         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
47696         <utmpx.h> exists.
47697
47698 2006-08-22  Bruno Haible  <bruno@clisp.org>
47699
47700         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
47701         <utmpx.h> exists.
47702
47703 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
47704
47705         BeOS portability.
47706         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
47707         exist.
47708         Problem reported by Bruno Haible.
47709
47710 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
47711
47712         Avoid the need for AC_LIBSOURCES in m4 macros.
47713         * modules/acl (EXTRA_DIST): Add acl.h.
47714         * modules/argmatch (Files): Add m4/argmatch.m4.
47715         (configure.ac): Add gl_ARGMATCH.
47716         (EXTRA_DIST): Renamed from lib_SOURCES, for
47717         consistency with the other modules.  Remove argmatch.c.
47718         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
47719         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
47720         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
47721         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
47722         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
47723         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
47724         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
47725         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
47726         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
47727         * modules/closeout (EXTRA_DIST): Add closeout.h.
47728         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
47729         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
47730         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
47731         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
47732         dirname.h; remove basename.c and stripslash.c.
47733         * modules/exclude (EXTRA_DIST): Add exclude.h.
47734         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
47735         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
47736         * modules/file-type (EXTRA_DIST): Add file-type.h.
47737         * modules/filemode (EXTRA_DIST): Add filemode.h.
47738         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
47739         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
47740         * modules/fpending (EXTRA_DIST): Add __fpending.h.
47741         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
47742         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
47743         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
47744         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
47745         * modules/getdate (EXTRA_DIST): Add getdate.c.
47746         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
47747         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
47748         * modules/getpass (EXTRA_DIST): Add getpass.h.
47749         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
47750         * modules/group-member (EXTRA_DIST): Add group-member.h.
47751         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
47752         * modules/hash (EXTRA_DIST): Add hash.h.
47753         * modules/human (EXTRA_DIST): Add human.h.
47754         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
47755         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
47756         * modules/lchown (EXTRA_DIST): Add lchown.h.
47757         * modules/long-options (EXTRA_DIST): Add long-options.h.
47758         * modules/lstat (EXTRA_DIST): Add lstat.h.
47759         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
47760         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
47761         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
47762         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
47763         * modules/memxor (EXTRA_DIST): Add memxor.h.
47764         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
47765         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
47766         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
47767         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
47768         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
47769         * modules/physmem (EXTRA_DIST): Add physmem.h.
47770         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
47771         * modules/posixver (EXTRA_DIST): Add posixver.h.
47772         * modules/quote (EXTRA_DIST): Add quote.h.
47773         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
47774         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
47775         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
47776         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
47777         regex_internal.h regexec.c.
47778         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
47779         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
47780         * modules/same (EXTRA_DIST): Add same.h.
47781         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
47782         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
47783         * modules/savedir (EXTRA_DIST): Add savedir.h.
47784         * modules/sha1 (EXTRA_DIST): Add sha1.h.
47785         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
47786         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
47787         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
47788         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
47789         * modules/strdup (EXTRA_DIST): Add strdup.h.
47790         * modules/strftime (EXTRA_DIST): Add strftime.h.
47791         * modules/strndup (EXTRA_DIST): Add strndup.h.
47792         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
47793         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
47794         * modules/time_r (EXTRA_DIST): Add time_r.h.
47795         * modules/timespec (EXTRA_DIST): Add timespec.h.
47796         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
47797         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
47798         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
47799         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
47800         * modules/userspec (EXTRA_DIST): Add userspec.h.
47801         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
47802         * modules/utimens (EXTRA_DIST): Add utimens.h.
47803         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
47804         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
47805         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
47806         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
47807         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
47808         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
47809         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
47810         * modules/yesno (EXTRA_DIST): Add yesno.h.
47811
47812 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
47813
47814         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
47815
47816         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
47817         * m4/dev-ino.m4, same-inode.m4: Remove.
47818
47819         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
47820         * m4/acl.m4 (AC_FUNC_ACL):
47821         * m4/backupfile.m4 (gl_BACKUPFILE):
47822         * m4/c-strtod.m4 (gl_C99_STRTOLD):
47823         * m4/canon-host.m4 (gl_CANON_HOST):
47824         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
47825         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
47826         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
47827         * m4/cloexec.m4 (gl_CLOEXEC):
47828         * m4/close-stream.m4 (gl_CLOSE_STREAM):
47829         * m4/closeout.m4 (gl_CLOSEOUT):
47830         * m4/dirfd.m4 (gl_FUNC_DIRFD):
47831         * m4/dirname.m4 (gl_DIRNAME):
47832         * m4/exclude.m4 (gl_EXCLUDE):
47833         * m4/exitfail.m4 (gl_EXITFAIL):
47834         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
47835         * m4/file-type.m4 (gl_FILE_TYPE):
47836         * m4/filemode.m4 (gl_FILEMODE):
47837         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
47838         * m4/fpending.m4 (gl_FUNC_FPENDING):
47839         * m4/fprintftime.m4 (gl_FPRINTFTIME):
47840         * m4/fts.m4 (gl_FUNC_FTS):
47841         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
47842         * m4/getdate.m4 (gl_GETDATE):
47843         * m4/gethrxtime.m4 (gl_GETHRXTIME):
47844         * m4/getpagesize.m4 (gl_GETPAGESIZE):
47845         * m4/getpass.m4 (gl_FUNC_GETPASS):
47846         * m4/gettime.m4 (gl_GETTIME):
47847         * m4/getugroups.m4 (gl_GETUGROUPS):
47848         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
47849         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
47850         * m4/hard-locale.m4 (gl_HARD_LOCALE):
47851         * m4/hash.m4 (gl_HASH):
47852         * m4/idcache.m4 (gl_IDCACHE):
47853         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
47854         * m4/lchown.m4 (gl_FUNC_LCHOWN):
47855         * m4/long-options.m4 (gl_LONG_OPTIONS):
47856         * m4/lstat.m4 (gl_FUNC_LSTAT):
47857         * m4/md5.m4 (gl_MD5):
47858         * m4/memcasecmp.m4 (gl_MEMCASECMP):
47859         * m4/memcoll.m4 (gl_MEMCOLL):
47860         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
47861         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
47862         * m4/memxor.m4 (gl_MEMXOR):
47863         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
47864         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
47865         * m4/modechange.m4 (gl_MODECHANGE):
47866         * m4/mountlist.m4 (gl_MOUNTLIST):
47867         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
47868         * m4/openat.m4 (gl_FUNC_OPENAT):
47869         * m4/pathmax.m4 (gl_PATHMAX):
47870         * m4/physmem.m4 (gl_PHYSMEM):
47871         * m4/posixtm.m4 (gl_POSIXTM):
47872         * m4/posixver.m4 (gl_POSIXVER):
47873         * m4/quote.m4 (gl_QUOTE):
47874         * m4/quotearg.m4 (gl_QUOTEARG):
47875         * m4/readtokens.m4 (gl_READTOKENS):
47876         * m4/readutmp.m4 (gl_READUTMP):
47877         * m4/regex.m4 (gl_REGEX):
47878         * m4/safe-read.m4 (gl_SAFE_READ):
47879         * m4/safe-write.m4 (gl_SAFE_WRITE):
47880         * m4/same.m4 (gl_SAME):
47881         * m4/save-cwd.m4 (gl_SAVE_CWD):
47882         * m4/savedir.m4 (gl_SAVEDIR):
47883         * m4/settime.m4 (gl_SETTIME):
47884         * m4/sha1.m4 (gl_SHA1):
47885         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
47886         * m4/stat-macros.m4 (gl_STAT_MACROS):
47887         * m4/stat-time.m4 (gl_STAT_TIME):
47888         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
47889         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
47890         * m4/strdup.m4 (gl_FUNC_STRDUP):
47891         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
47892         * m4/strndup.m4 (gl_FUNC_STRNDUP):
47893         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
47894         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
47895         * m4/time_r.m4 (gl_TIME_R):
47896         * m4/timespec.m4 (gl_TIMESPEC):
47897         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
47898         * m4/unlinkdir.m4 (gl_UNLINKDIR):
47899         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
47900         * m4/userspec.m4 (gl_USERSPEC):
47901         * m4/utimecmp.m4 (gl_UTIMECMP):
47902         * m4/utimens.m4 (gl_UTIMENS):
47903         * m4/xalloc.m4 (gl_XALLOC):
47904         * m4/xgetcwd.m4 (gl_XGETCWD):
47905         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
47906         * m4/xreadlink.m4 (gl_XREADLINK):
47907         * m4/xstrtod.m4 (gl_XSTRTOD):
47908         * m4/yesno.m4 (gl_YESNO):
47909         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
47910         to get the necessary .h files and whatnot.
47911
47912 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
47913             Bruno Haible  <bruno@clisp.org>
47914
47915         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
47916         /bin/sh understanding of '!' conditional negation.
47917
47918 2006-08-21  Jim Meyering  <jim@meyering.net>
47919
47920         * modules/openat (Depends-on): Really alphabetize.
47921
47922         * modules/acl (Depends-on): Add error and quote.
47923
47924         * check-module (find_included_lib_files): Add at-func.c to the
47925         ok-to-include-more-than-once white list.
47926
47927         * modules/openat (Depends-on): Add lstat.  Alphabetize.
47928
47929 2006-08-21  Bruno Haible  <bruno@clisp.org>
47930
47931         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
47932         Emit a pkgdata_DATA variable only if some snippets add contents to it.
47933         Reported by Martin Lambers <marlam@marlam.de>.
47934
47935 2006-08-21  Bruno Haible  <bruno@clisp.org>
47936
47937         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
47938         specify an installation location, don't emit a noinst_LIBRARIES or
47939         noinst_LTLIBRARIES assignment.
47940
47941 2006-08-21  Bruno Haible  <bruno@clisp.org>
47942
47943         BeOS portability.
47944         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
47945         BeOS has mbrtowc() but no <wctype.h>.
47946
47947 2006-08-21  Bruno Haible  <bruno@clisp.org>
47948
47949         BeOS portability.
47950         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
47951         exist.
47952
47953 2006-08-21  Bruno Haible  <bruno@clisp.org>
47954
47955         BeOS portability.
47956         * lib/mbchar.h: Include <wctype.h> only if it exists.
47957
47958 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
47959
47960         Remove files that are no longer needed by their respective modules.
47961         * m4/obstack.m4: Remove.
47962         * m4/strerror_r.m4: Remove.
47963         * m4/uint32_t.m4: Remove.
47964         * m4/uintptr_t.m4: Remove.
47965         * m4/ullong_max.m4: Remove.
47966         * m4/xstrtoimax.m4: Remove.
47967         * m4/xstrtoumax.m4: Remove.
47968
47969         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
47970         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
47971         dependencies now capture this.
47972
47973         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
47974         Do not use AC_LIBSOURCES, since gnulib modules now do this.
47975         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
47976         * m4/human.m4 (gl_HUMAN): Likewise.
47977         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
47978         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
47979
47980         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
47981
47982         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
47983         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
47984         stdint.
47985         * m4/human.m4 (gl_HUMAN): Likewise.
47986         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
47987         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
47988         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
47989         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
47990         * m4/xstrtol (gl_XSTRTOL): Likewise.
47991
47992         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
47993         AC_TYPE_LONG_LONG_INT.
47994         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
47995         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
47996         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
47997         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
47998
47999         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
48000         on stdbool.
48001
48002         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
48003         (gl_PREREQ_XSTRTOUL): Remove.
48004
48005         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
48006
48007         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
48008         mode.
48009
48010 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
48011
48012         Add and change modules to make it easier for coreutils to use
48013         gnulib-tool.
48014         * modules/backupfile (Files): Remove m4/d-ino.m4.
48015         (Depends-on): Add d-ino.
48016         * modules/cycle-check (Depends-on): Add stdint.
48017         (lib_SOURCES): Add cycle-check.h.
48018         * modules/d-ino: New module.
48019         * modules/d-type: New module.
48020         * modules/error (Files): Remove m4/strerror_r.m4.
48021         * modules/filemode (Files): Add m4/st_dm_mode.m4.
48022         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
48023         m4/inttypes_h.m4, m4/uintmax_t.m4.
48024         (Depends-on): Add stdint.
48025         (lib_SOURCES): Add fsusage.h.
48026         * modules/getcwd (Files): Remove d-ino.m4.
48027         (Depends-on): Add d-ino.
48028         * modules/getndelim2 (Depends-on): Add stdint.
48029         * modules/glob (Files): Remove m4/d-type.m4.
48030         (Depends-on): Add d-type.
48031         * modules/host-os: New module.
48032         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
48033         m4/inttypes_h.m4, m4/uintmax_t.m4.
48034         * Depends-on: Add stdint.
48035         (lib_SOURCES): Add human.h.
48036         * modules/inttostr (Files): Remove m4/intmax_t.m4,
48037         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
48038         m4/uintmax_t.m4, m4/ulonglong.m4.
48039         (Depends-on): Add stdint.
48040         (EXTRA_DIST): Add inttostr.h.
48041         * modules/lchmod: New module.
48042         * modules/link-follow: New module.
48043         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
48044         (Depends-on): Add lchmod.
48045         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
48046         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
48047         (Depends-on): Add stdint.
48048         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
48049         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
48050         (Depends-on): Add stdint.
48051         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
48052         * modules/perl: New module.
48053         * modules/regex (Depends-on): Add stdint.
48054         * modules/rmdir-errno: New module.
48055         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
48056         m4/intmax_t.m4.
48057         (Depends-on): Add stdint.
48058         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
48059         m4/uintmax_t.m4.
48060         (Depends-on): Add stdint.
48061         * modules/unlink-busy: New module.
48062         * modules/utimecmp (Depends-on): Add stdint.
48063         * modules/uptime: New module.
48064         * modules/winsz-ioctl: New module.
48065         * modules/winsz-termios: New module.
48066         * modules/xnanosleep (Depends-on): Add nanosleep.
48067         * modules/ullong_max: Remove.
48068         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
48069         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
48070         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
48071         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
48072         (Depends-on): Add inttypes.
48073         (lib_SOURCES): Add xstrtol.h.
48074         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
48075         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
48076         * MODULES.html.sh: Move 'assert' into the assert section.
48077         Move 'dummy' into the linking section.
48078         Remove ullong_max.
48079         Add section for compatibility checks for POSIX:2001 functions,
48080         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
48081         winsz-ioctl, and winsz-termios into it.
48082         Add lchmod.
48083         Add top-level Misc section and put host-os, perl, and uptime
48084         into it.
48085
48086 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
48087
48088         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
48089         now assume the stdint module.  Do not include inttypes.h.
48090         * lib/fsusage.h: Likewise.
48091         * lib/getndelim2.c: Likewise.
48092         * lib/human.h: Likewise.
48093         * lib/inttostr.h: Likewise.
48094         * lib/obstack.c: Likewise.
48095         * lib/regex_internal.h: Likewise.
48096         * lib/tempname.c: Likewise.
48097         * lib/utimecmp.c: Likewise.
48098         * lib/xstrtol.h: Likewise.
48099
48100         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
48101
48102         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
48103         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
48104         * lib/xtime.h: Likewise.
48105
48106 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
48107
48108         * modules/openat (Files): Add lib/fchmodat.c.
48109         Fixes problem reported by Jay Youngman.
48110
48111 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
48112
48113         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
48114         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
48115
48116 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
48117             Bruno Haible  <bruno@clisp.org>
48118
48119         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
48120         and is a script that invokes bison. Tighten the code. Add comments.
48121
48122 2006-08-18  Jim Meyering  <jim@meyering.net>
48123
48124         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
48125         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
48126         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
48127         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
48128
48129 2006-08-18  Bruno Haible  <bruno@clisp.org>
48130
48131         * modules/bison-i18n: New file.
48132         * MODULES.html.sh (Internationalization functions): Add it.
48133
48134 2006-08-18  Bruno Haible  <bruno@clisp.org>
48135
48136         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
48137         sys/statvfs.h. When getmntinfo was found, check its declaration and
48138         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
48139
48140 2006-08-18  Bruno Haible  <bruno@clisp.org>
48141
48142         * m4/bison-i18n.m4: New file, from bison.
48143
48144 2006-08-18  Bruno Haible  <bruno@clisp.org>
48145
48146         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
48147         (ME_DUMMY): Treat "kernfs" as a dummy.
48148         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
48149
48150 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
48151
48152         Update from coreutils.
48153
48154         2006-08-15  Jim Meyering  <jim@meyering.net>
48155
48156         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
48157
48158         2006-01-17  Jim Meyering  <jim@meyering.net>
48159
48160         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
48161
48162         2006-01-11  Jim Meyering  <jim@meyering.net>
48163
48164         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
48165         Check for the lchmod function.
48166
48167 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
48168
48169         Update from coreutils.
48170
48171         * lib/__fpending.h: Add copyright notice.
48172         * lib/fprintftime.h: Likewise.
48173         * lib/savedir.c: Use (C) in copyright notice.
48174         * lib/savedir.h: Likewise.
48175
48176         2006-08-15  Jim Meyering  <jim@meyering.net>
48177
48178         * lib/at-func.c: New file, with the logic of all emulated at-functions.
48179         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
48180         in support of the EXPECTED_ERRNO macro.
48181         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
48182         definitions.  Instead, define the appropriate symbols and include
48183         "at-func.c".
48184         * lib/mkdirat.c (mkdirat): Likewise.
48185         * lib/fchmodat.c (fchmodat): Likewise.
48186         (ENOSYS): Remove definition.
48187         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
48188         it.  Don't include "unistd--.h" -- it wasn't ever used.
48189
48190         2006-01-17  Jim Meyering  <jim@meyering.net>
48191
48192         Rewrite fts.c not to change the current working directory,
48193         by using openat, fstatat, fdopendir, etc..
48194
48195         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
48196         (HAVE_OPENAT_SUPPORT): Define.
48197         [_LIBC] (fchdir): Don't undef or define; no longer used.
48198         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
48199         Now, this `function' always succeeds, and consumes its file descriptor
48200         parameter -- so callers must not close such FDs.  Update callers.
48201         (diropen_fd, opendirat, cwd_advance_fd): New functions.
48202         (diropen): Add parameter, SP.  Adjust all callers.
48203         Implement using diropen_fd, rather than open.
48204         (fts_open): Initialize new member, fts_cwd_fd.
48205         Remove fts_rft-setting code.
48206         (fts_close): Close fts_cwd_fd, if necessary.
48207         (__opendir2): Define in terms of opendir or opendirat,
48208         depending on whether the FST_NOCHDIR flag is set.
48209         (fts_build): Since fts_safe_changedir consumes its FD, and since
48210         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
48211         and close the dup'd file descriptor upon failure.
48212         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
48213         (fts_safe_changedir): Tweak semantics to reflect that this function
48214         now calls cwd_advance_fd and hence consumes its FD argument.
48215         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
48216         [struct FTS] (fts_rft): Remove now-unused member.
48217         [struct FTS] (fts_cycle.state): Improve comment.
48218
48219         * lib/openat.c (openat_needs_fchdir): New function.
48220         * lib/openat.h (openat_needs_fchdir): Declare it.
48221
48222 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
48223
48224         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
48225         Problem and fix reported by Pádraig Brady in
48226         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
48227
48228 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
48229
48230         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
48231
48232 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
48233
48234         * lib/memcoll.c (memcoll): Optimize for the common case where the
48235         arguments are bytewise equal.
48236
48237 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
48238
48239         * doc/regexprops-generic.texi: Add a copyright notice.
48240
48241 2006-08-15  Bruno Haible  <bruno@clisp.org>
48242
48243         * modules/tmpdir (License): Change to LGPL.
48244
48245 2006-08-15  Bruno Haible  <bruno@clisp.org>
48246
48247         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
48248         module.
48249
48250 2006-08-14  Simon Josefsson  <jas@extundo.com>
48251
48252         * config/srclist.txt: Add gnupload.
48253
48254 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
48255
48256         Change copyright notice from LGPL 2 to GPL 2, since that's the
48257         standard form used in the gnulib repository.
48258         * tests/test-lock.c: Likewise.
48259         * tests/test-stdint.c: Likewise.
48260         * tests/test-tls.c: Likewise.
48261
48262         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
48263         prelude-manager.  User shorter URLs for GNU projects, without '?'.
48264         Add copyright notice.
48265
48266         * check-module: Add copyright notice.  Output a copyright
48267         notice if "--version" is specified.
48268         * modules/COPYING: New file.
48269         * tests/test-getaddrinfo.c: Add copyright notice.
48270         * tests/test-verify.c: Likewise.
48271
48272 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
48273
48274         Change copyright notice from LGPL 2 to GPL 2, since that's the
48275         standard form used in the gnulib repository.
48276         * lib/lock.c: LGPL -> GPL.
48277         * lib/lock.h: Likewise.
48278         * lib/strnlen1.c: Likewise.
48279         * lib/strnlen1.h: Likewise.
48280         * lib/tls.c: Likewise.
48281         * lib/tls.h: Likewise.
48282         * lib/tmpdir.c: Likewise.
48283
48284         * lib/TODO: Remove; this belongs only in coreutils.
48285
48286 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
48287
48288         Add copyright notices to long-enough files that lack them, since
48289         otherwise the files aren't clearly free.  Use the same notice that
48290         getdate.texi already uses.
48291         * doc/alloca-opt.texi: Add copyright notice.
48292         * doc/alloca.texi: Likewise.
48293         * doc/ctime.texi: Likewise.
48294         * doc/functions.texi: Likewise.
48295         * doc/gcd.texi: Likewise.
48296         * doc/gnulib-tool.texi: Likewise.
48297         * doc/inet_ntoa.texi: Likewise.
48298         * doc/visibility.texi: Likewise.
48299
48300         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
48301         * doc/quote.texi: Add copyright notice.
48302
48303         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
48304         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
48305         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
48306         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
48307         is now obsolete, and give a pointer to the Sun list.
48308         Add copyright notice.
48309
48310 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
48311
48312         * config/srclistvars.sh: Add copyright notice.
48313
48314 2006-08-14  Eric Blake  <ebb9@byu.net>
48315
48316         Import the following change from libc:
48317
48318         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
48319
48320         Upstream bug 2997.
48321         * lib/misc/error.c: Add space between program name and message if file
48322         name is missing.
48323
48324 2006-08-12  Karl Berry  <karl@gnu.org>
48325
48326         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
48327         remove, these originate in gnulib now.
48328
48329 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48330
48331         * doc/Makefile (standards.info standards.html standards.dvi):
48332         Also depend on make-stds.texi.
48333
48334 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
48335
48336         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
48337         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
48338
48339         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
48340         in wchar_t.  Problem reported by Eric Blake.
48341
48342         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
48343         LEN is smaller than SIZE.  Suggested by Bruno Haible.
48344         Also, help the compiler to keep LEN in a register.
48345
48346 2006-08-11  Eric Blake  <ebb9@byu.net>
48347
48348         * users.txt: Sort.  Add tar.
48349
48350 2006-08-11  Bruno Haible  <bruno@clisp.org>
48351
48352         * users.txt: New file.
48353
48354 2006-08-11  Bruno Haible  <bruno@clisp.org>
48355
48356         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
48357         before <wchar.h>. Needed for OSF/1 and BSD/OS.
48358
48359 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
48360
48361         * modules/snprintf (Depends-on): Remove minmax.
48362         (Maintainer): Add self and Bruno.
48363
48364 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
48365
48366         * lib/.cppi-disable: Add snprintf.h, socket_.h.
48367         * lib/snprintf.c: Include <errno.h> and <limits.h>.
48368         (EOVERFLOW): Define if the system does not.
48369         Do not include "minmax.h"; it wasn't used.
48370         (snprintf): Don't assume size_t promotes to an unsigned type.
48371         Fix bug when generated string was too long for the buffer: the
48372         buffer's contents are supposed to be the initial prefix of the
48373         output.  Don't assume vasnprintf returns EOVERFLOW if the size
48374         exceeds INT_MAX; do the check ourselves.
48375
48376         Import the following changes from libc:
48377
48378         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
48379
48380         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
48381         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
48382         set wc to the byte which couldn't be converted.
48383         (re_string_reconstruct): Don't clear valid_raw_len before calling
48384         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
48385         tip_context using re_string_context_at.
48386
48387         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
48388
48389         * lib/posix/regex.h: g++ still cannot handled [restrict].
48390
48391         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
48392
48393         * lib/posix/regex.h: Remove special handling for VMS.
48394
48395 2006-08-10  Jim Meyering  <jim@meyering.net>
48396
48397         * modules/same-inode: New module.
48398         * modules/dev-ino: New module.
48399         * modules/cycle-check: Depend on these modules, rather than simply
48400         including their .h files.
48401         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
48402         required via m4/cycle-check.m4.
48403         * modules/same: Depend on new same-inode module, rather than
48404         including same-inode.h.
48405         * modules/chdir-safer: New file.
48406
48407         * modules/chown (Depends-on): Add stat-macros.
48408
48409 2006-08-10  Jim Meyering  <jim@meyering.net>
48410
48411         * m4/cycle-check.m4: New file.
48412         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
48413         * m4/dev-ino.m4, m4/same-inode.m4: New files.
48414
48415 2006-08-10  Eric Blake  <ebb9@byu.net>
48416
48417         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
48418         in from original proposal.
48419
48420 2006-08-10  Eric Blake  <ebb9@byu.net>
48421         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
48422
48423         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
48424         namespace.
48425
48426 2006-08-10  Bruno Haible  <bruno@clisp.org>
48427
48428         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
48429         as well.
48430
48431 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
48432
48433         Sync from coreutils.
48434
48435         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
48436
48437         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
48438         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
48439
48440 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
48441
48442         * modules/restrict: Remove; no longer needed now that we assume
48443         Autoconf 2.59 or later.
48444         * MODULES.html.sh: Remove 'restrict'.
48445         * modules/argp (Depends-on): Remove 'restrict'.
48446         * modules/base64 (Depends-on): Likewise.
48447         * modules/gc (Depends-on): Likewise.
48448         * modules/getaddrinfo (Depends-on): Likewise.
48449         * modules/glob (Depends-on): Likewise.
48450         * modules/inet_ntop (Depends-on): Likewise.
48451         * modules/inet_pton (Depends-on): Likewise.
48452         * modules/memxor (Depends-on): Likewise.
48453         * modules/regex (Depends-on): Likewise.
48454         * modules/strtok_r (Depends-on): Likewise.
48455         * modules/time_r (Depends-on): Likewise.
48456
48457 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
48458
48459         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
48460         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
48461         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
48462         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
48463         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
48464         * m4/memxor.m4 (gl_MEMXOR): Likewise.
48465         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
48466         gl_C_RESTRICT replaced by AC_C_RESTRICT.
48467
48468         Merge from coreutils.
48469         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
48470         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
48471         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
48472         * m4/time_r.m4 (gl_TIME_R): Likewise.
48473
48474 2006-08-09  Karl Berry  <karl@gnu.org>
48475
48476         * config/srclist.txt: no more gettext-tools, per Bruno.
48477
48478 2006-08-08  Eric Blake  <ebb9@byu.net>
48479
48480         * modules/verror: New module.
48481         * MODULES.html.sh: Document it.
48482
48483 2006-08-08  Eric Blake  <ebb9@byu.net>
48484
48485         * lib/verror.h, lib/verror.c: New files.
48486
48487 2006-08-08  Eric Blake  <ebb9@byu.net>
48488
48489         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
48490         verror_at_line output complies with GNU Coding Standards even when
48491         file is NULL.
48492
48493 2006-08-07  Bruno Haible  <bruno@clisp.org>
48494
48495         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
48496         versions of AIX.
48497         Reported by Ralf Wildenhues.
48498
48499 2006-08-07  Bruno Haible  <bruno@clisp.org>
48500
48501         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
48502         in an AC_DEFUN. Needed so that the autoconf snippets can use
48503         AC_REQUIRE.
48504
48505 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48506
48507         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
48508         Initialize pkgdata_DATA.
48509         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
48510         overriding it.
48511
48512 2006-08-06  Eric Blake  <ebb9@byu.net>
48513
48514         * lib/error.h: Fold in some upstream changes from glibc.
48515         * lib/error.c: Likewise.
48516
48517 2006-08-04  Bruno Haible  <bruno@clisp.org>
48518
48519         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
48520         Make the mostlyclean-local rule depend on mostlyclean-generic.
48521         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
48522
48523 2006-07-31  Bruno Haible  <bruno@clisp.org>
48524
48525         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
48526         <stdlib.h>, <string.h>.
48527
48528 2006-07-30  Bruno Haible  <bruno@clisp.org>
48529
48530         * modules/readlink (License): Change to LGPL.
48531
48532 2006-07-30  Bruno Haible  <bruno@clisp.org>
48533
48534         * modules/javaversion (Makefile.am): Distribute javaversion.java and
48535         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
48536         set PKGDATADIR to point to it.
48537
48538 2006-07-30  Bruno Haible  <bruno@clisp.org>
48539
48540         * modules/csharpexec (configure.ac): Comment out macro invocation.
48541         * modules/javaexec (configure.ac): Likewise.
48542         * modules/javacomp-script (configure.ac): Likewise.
48543
48544         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
48545
48546 2006-07-30  Bruno Haible  <bruno@clisp.org>
48547
48548         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
48549         linked-list.
48550
48551 2006-07-30  Bruno Haible  <bruno@clisp.org>
48552
48553         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
48554
48555 2006-07-30  Bruno Haible  <bruno@clisp.org>
48556
48557         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
48558         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
48559         get removed.
48560
48561 2006-07-29  Bruno Haible  <bruno@clisp.org>
48562
48563         Make it possible for gnulib-tool to work with locally modified or
48564         augmented gnulib repositories.
48565         * gnulib-tool (func_usage): Document --local-dir option.
48566         (local_gnulib_dir): New variable.
48567         Handle --local-dir option.
48568         (func_lookup_file): New function.
48569         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
48570         (func_get_description, func_get_filelist, func_get_description,
48571         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
48572         func_get_automake_snippet, func_get_include_directive,
48573         func_get_license, func_get_maintainer): Use func_lookup_file.
48574         (func_import, func_create_testdir): Use func_lookup_file.
48575
48576 2006-07-29  Bruno Haible  <bruno@clisp.org>
48577
48578         * modules/setenv (Depends-on): Add unistd.
48579
48580 2006-07-29  Bruno Haible  <bruno@clisp.org>
48581
48582         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
48583
48584 2006-07-29  Bruno Haible  <bruno@clisp.org>
48585
48586         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
48587
48588 2006-07-29  Bruno Haible  <bruno@clisp.org>
48589
48590         * gnulib-tool (import, update): If there is no Makefile.am, look at
48591         aclocal.m4, instead of bailing out.
48592
48593 2006-07-29  Bruno Haible  <bruno@clisp.org>
48594
48595         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
48596         Categorize the options by when they are useful.
48597
48598 2006-07-29  Bruno Haible  <bruno@clisp.org>
48599
48600         * gnulib-tool (func_usage): Document option --no-libtool.
48601         Handle option --no-libtool.
48602         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
48603         for changed semantics of $libtool variable.
48604         (func_import): Likewise. If libtool is not used, show this through
48605         an option --no-libtool.
48606         (func_create_testdir): Update.
48607
48608 2006-07-29  Bruno Haible  <bruno@clisp.org>
48609
48610         * gnulib-tool (func_import): Extend error message about missing
48611         --doc-base.
48612
48613 2006-07-29  Bruno Haible  <bruno@clisp.org>
48614
48615         * gnulib-tool (func_import): Don't create the $docbase directory if
48616         there is no file to store there.
48617
48618 2006-07-29  Bruno Haible  <bruno@clisp.org>
48619
48620         * gnulib-tool (autoconf_minversion): If a --dir option is given and
48621         relevant, look for configure.ac there, not in the current directory.
48622         Also use a simple search for AC_PREREQ, not "autoconf --trace".
48623
48624 2006-07-29  Bruno Haible  <bruno@clisp.org>
48625
48626         * gnulib-tool (SORT): New variable.
48627         (func_usage): Undocument --assume-autoconf option.
48628         Remove --assume-autoconf option handling.
48629         (autoconf_minversion): Determine from the contents of configure.ac.
48630         (func_import): Remove autoconf_minversion handling.
48631         Suggested by Eric Blake.
48632
48633 2006-07-29  Bruno Haible  <bruno@clisp.org>
48634
48635         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
48636
48637 2006-07-29  Bruno Haible  <bruno@clisp.org>
48638
48639         * config/srclist.txt (*setenv.[ch]): Remove rules.
48640
48641 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48642
48643         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
48644
48645 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48646
48647         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
48648         arpa/inet.h.
48649
48650 2006-07-28  Simon Josefsson  <jas@extundo.com>
48651
48652         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
48653         * modules/inet_pton (Depends-on): Likewise.
48654
48655 2006-07-28  Simon Josefsson  <jas@extundo.com>
48656
48657         * m4/netinet_in_h.m4: New file.
48658
48659 2006-07-28  Simon Josefsson  <jas@extundo.com>
48660
48661         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
48662         #include's.
48663
48664 2006-07-28  Simon Josefsson  <jas@extundo.com>
48665
48666         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
48667         #include's.
48668
48669 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
48670
48671         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
48672         setgid on directories only if they set these bits.
48673         * lib/modechange.h: Remove obsolete comment about masks.
48674
48675 2006-07-28  Eric Blake  <ebb9@byu.net>
48676
48677         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
48678         macro expansion.
48679
48680 2006-07-28  Bruno Haible  <bruno@clisp.org>
48681
48682         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
48683
48684 2006-07-28  Bruno Haible  <bruno@clisp.org>
48685
48686         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
48687
48688 2006-07-28  Bruno Haible  <bruno@clisp.org>
48689
48690         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
48691         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
48692         Define fallbacks.
48693         Avoids link error on FreeBSD 4.x.
48694         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
48695
48696         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
48697         encoding.
48698         * lib/mbswidth.c (iswcntrl): Likewise.
48699
48700 2006-07-27  Bruno Haible  <bruno@clisp.org>
48701
48702         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
48703         test.
48704
48705 2006-07-27  Bruno Haible  <bruno@clisp.org>
48706
48707         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
48708         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
48709         defined.
48710
48711 2006-07-26  Eric Blake  <ebb9@byu.net>
48712
48713         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
48714
48715 2006-07-26  Eric Blake  <ebb9@byu.net>
48716
48717         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
48718         like mingw that lack mkstemp.
48719         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
48720         avoid compilation warning on mingw.
48721
48722 2006-07-26  Bruno Haible  <bruno@clisp.org>
48723
48724         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
48725         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
48726         INT_FAST*_MIN, INTPTR_MIN.
48727
48728 2006-07-25  Bruno Haible  <bruno@clisp.org>
48729
48730         * modules/version-etc (Depends-on): Add stdarg.
48731
48732 2006-07-25  Bruno Haible  <bruno@clisp.org>
48733
48734         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
48735         complex commands.
48736
48737 2006-07-25  Bruno Haible  <bruno@clisp.org>
48738
48739         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
48740         defined in <stdarg.h> or config.h.
48741
48742 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
48743
48744         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
48745         (gl_STDIO_SAFER): Remove.
48746
48747 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
48748
48749         * MODULES.html.sh (File stream based Input/Output):
48750         Add fopen-safer, tmpfile-safer; remove stdio-safer.
48751         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
48752         * modules/fopen-safer, modules/tmpfile-safer: New files.
48753         * modules/stdio-safer: Remove.
48754
48755 2006-07-24  Bruno Haible  <bruno@clisp.org>
48756
48757         * modules/tmpdir: New file.
48758         * MODULES.html.sh (File system functions): Add it.
48759
48760 2006-07-24  Bruno Haible  <bruno@clisp.org>
48761
48762         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
48763         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
48764
48765 2006-07-24  Bruno Haible  <bruno@clisp.org>
48766
48767         * modules/clean-temp: New file.
48768
48769 2006-07-24  Bruno Haible  <bruno@clisp.org>
48770
48771         * m4/tmpdir.m4: New file, from GNU gettext.
48772
48773 2006-07-24  Bruno Haible  <bruno@clisp.org>
48774
48775         * lib/tmpdir.h: New file, from GNU gettext.
48776         * lib/tmpdir.c: New file, from GNU gettext.
48777
48778 2006-07-24  Bruno Haible  <bruno@clisp.org>
48779
48780         * lib/clean-temp.h: New file, from GNU gettext.
48781         * lib/clean-temp.c: New file, from GNU gettext.
48782
48783 2006-07-23  Eric Blake  <ebb9@byu.net>
48784
48785         * modules/stdio-safer (Files): Add tmpfile-safer.c.
48786         (Depends-on): Add binary-io.
48787
48788 2006-07-23  Eric Blake  <ebb9@byu.net>
48789
48790         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
48791
48792 2006-07-23  Eric Blake  <ebb9@byu.net>
48793
48794         * lib/tmpfile-safer.c: New file.
48795         * lib/stdio-safer.h (fopen_safer): Add prototype.
48796         * lib/stdio--.h (tmpfile): Make safer.
48797
48798 2006-07-23  Bruno Haible  <bruno@clisp.org>
48799
48800         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
48801         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
48802         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
48803         gl_linked_remove_at): Use it.
48804
48805 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48806         and Simon Josefsson <jas@extundo.com>
48807
48808         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
48809
48810         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
48811
48812 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
48813
48814         * modules/close-stream: New file.
48815         * modules/closeout (Description): Make it clear that it exits
48816         with a diagnostic on error.
48817         (Depends-on): Add close-stream.  Remove fpending, stdbool.
48818         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
48819
48820 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
48821
48822         * m4/close-stream.m4: New file.
48823
48824 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
48825
48826         * lib/close-stream.c, lib/close-stream.h: New files.
48827
48828 2006-07-22  Bruno Haible  <bruno@clisp.org>
48829
48830         Merge from GNU gettext 0.15.
48831
48832         2006-05-01  Bruno Haible  <bruno@clisp.org>
48833
48834                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
48835
48836         2006-07-22  Bruno Haible  <bruno@clisp.org>
48837
48838                 * modules/javaversion: New file.
48839                 * MODULES.html.sh (Java): Add javaversion.
48840
48841         2006-03-12  Bruno Haible  <bruno@clisp.org>
48842
48843                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
48844
48845         2005-12-04  Bruno Haible  <bruno@clisp.org>
48846
48847                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
48848                 (untested).
48849
48850         2006-06-21  Bruno Haible  <bruno@clisp.org>
48851
48852                 Avoid warnings from recent versions of mcs.
48853                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
48854                 -o, -L, -r any more. Use options documented since mcs-1.0
48855                 instead. Similarly for -g.
48856
48857         2005-12-04  Bruno Haible  <bruno@clisp.org>
48858
48859                 * build-aux/csharpcomp.sh.in: Suffix for resources is
48860                 .resources, not .resource.
48861
48862         2005-07-09  Bruno Haible  <bruno@clisp.org>
48863
48864                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
48865                 add a .dll suffix.
48866                 Reported by Mark Junker <mjscod@gmx.de>.
48867
48868         2006-07-22  Bruno Haible  <bruno@clisp.org>
48869
48870                 * modules/gettext: Upgrade to gettext-0.15.
48871                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
48872                 m4/visibility.m4.
48873                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
48874
48875 2006-07-22  Bruno Haible  <bruno@clisp.org>
48876
48877         Merge from GNU gettext 0.15.
48878
48879         2006-03-25  Bruno Haible  <bruno@clisp.org>
48880
48881                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
48882
48883         2006-07-21  Bruno Haible  <bruno@clisp.org>
48884
48885                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
48886                 "1.1".
48887
48888         2006-05-09  Bruno Haible  <bruno@clisp.org>
48889
48890                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
48891                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
48892                 for the conftestver execution.
48893
48894         2006-05-01  Bruno Haible  <bruno@clisp.org>
48895
48896                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
48897                 optional target-version argument. Verify that the compiler
48898                 groks source of the specified source-version, or add -source
48899                 option as necessary. Verify that the compiler produces
48900                 bytecode in the specified target-version, or add -target and
48901                 -source options as necessary. Make the result of the test
48902                 available as variable CONF_JAVAC. Also log error output in
48903                 config.log.
48904
48905         2006-03-11  Bruno Haible  <bruno@clisp.org>
48906
48907                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
48908
48909         2006-05-09  Bruno Haible  <bruno@clisp.org>
48910
48911                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
48912                 CLASSPATH_SEPARATOR to a semicolon.
48913
48914         2006-03-12  Bruno Haible  <bruno@clisp.org>
48915
48916                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
48917                 available as variable CONF_JAVA, for subsequent autoconf
48918                 tests. Also log error output in config.log.
48919
48920         2006-07-19  Bruno Haible  <bruno@clisp.org>
48921
48922                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
48923                 that getline works on glibc2 systems. Needed to avoid trouble
48924                 in relocatable.c.
48925                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
48926
48927         2005-12-04  Bruno Haible  <bruno@clisp.org>
48928
48929                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
48930                 launcher (untested).
48931
48932         2005-12-04  Bruno Haible  <bruno@clisp.org>
48933
48934                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
48935
48936         2006-07-22  Bruno Haible  <bruno@clisp.org>
48937
48938                 * gettext.m4: Update from GNU gettext-0.15.
48939                 * nls.m4: Likewise.
48940                 * po.m4: Likewise.
48941                 * inttypes-pri.m4: Likewise.
48942                 * inttypes-h.m4: Renamed from inttypes.m4.
48943                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
48944
48945 2006-07-22  Bruno Haible  <bruno@clisp.org>
48946
48947         Merge from GNU gettext 0.15.
48948
48949         2005-07-05  Bruno Haible  <bruno@clisp.org>
48950
48951                 * printf-args.c (printf_fetchargs): Work around broken
48952                 definition of wint_t on mingw.
48953
48954         2005-02-12  Bruno Haible  <bruno@clisp.org>
48955
48956                 * xallocsa.h: Add extern "C" for C++.
48957
48958         2006-05-17  Bruno Haible  <bruno@clisp.org>
48959
48960                 Cygwin portability.
48961                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
48962
48963         2006-04-30  Bruno Haible  <bruno@clisp.org>
48964
48965                 * progreloc.c: Include <mach-o/dyld.h> if available.
48966                 (find_executable): Use _NSGetExecutablePath when possible.
48967
48968         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
48969
48970                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
48971                 function.
48972
48973         2005-12-29  Bruno Haible  <bruno@clisp.org>
48974
48975                 * progreloc.c (set_program_name_and_installdir): Fix
48976                 compilation error.
48977
48978         2005-12-04  Bruno Haible  <bruno@clisp.org>
48979
48980                 Cygwin portability.
48981                 * progreloc.c: Include <windows.h> also on Cygwin.
48982                 (find_executable): Add support for Cygwin.
48983                 (set_program_name_and_installdir): Handle also platforms with
48984                 nonempty EXEEXT.
48985
48986         2006-07-11  Bruno Haible  <bruno@clisp.org>
48987
48988                 * javacomp.c: Fix a comment.
48989                 Reported by Jim Meyering.
48990
48991         2006-04-30  Bruno Haible  <bruno@clisp.org>
48992
48993                 * javacomp.h (compile_java_class): Add source_version,
48994                 target_version arguments.
48995                 * javacomp.c: Rewritten to choose only a compiler that
48996                 respects the specified source_version and target_version.
48997
48998         2006-06-27  Bruno Haible  <bruno@clisp.org>
48999
49000                 Assume correct S_ISDIR macro.
49001                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
49002
49003         2006-07-22  Bruno Haible  <bruno@clisp.org>
49004
49005                 * javaversion.h: New file, from GNU gettext.
49006                 * javaversion.c: New file, from GNU gettext.
49007                 * javaversion.java: New file, from GNU gettext.
49008                 * javaversion.class: New file, from GNU gettext.
49009
49010         2006-05-17  Bruno Haible  <bruno@clisp.org>
49011
49012                 Cygwin portability.
49013                 * javaexec.c (execute_java_class): Test for jview program
49014                 also on Cygwin.
49015
49016         2006-04-09  Bruno Haible  <bruno@clisp.org>
49017
49018                 * fatal-signal.c: Don't include string.h.
49019                 (at_fatal_signal): Use a copying loop instead of memcpy.
49020
49021         2005-12-04  Bruno Haible  <bruno@clisp.org>
49022
49023                 * csharpexec.c: Add support for 'clix' launcher (untested).
49024                 (execute_csharp_using_sscli): New function.
49025                 (execute_csharp_program): Call it.
49026
49027         2006-06-21  Bruno Haible  <bruno@clisp.org>
49028
49029                 Avoid warnings from recent versions of mcs.
49030                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
49031                 -o, -L, -r any more. Use options documented since mcs-1.0
49032                 instead. Similarly for -g.
49033
49034         2005-07-09  Bruno Haible  <bruno@clisp.org>
49035
49036                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
49037                 add a .dll suffix.
49038                 Reported by Mark Junker <mjscod@gmx.de>.
49039
49040         2006-06-17  Bruno Haible  <bruno@clisp.org>
49041
49042                 * config.charset: Update for NetBSD 3.0.
49043
49044         2006-05-17  Bruno Haible  <bruno@clisp.org>
49045
49046                 Cygwin portability.
49047                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
49048
49049         2006-05-16  Bruno Haible  <bruno@clisp.org>
49050
49051                 * localcharset.c [CYGWIN]: Include <windows.h>.
49052                 (get_charset_aliases): For Cygwin, return the same CPxxx
49053                 aliases list as under WIN32.
49054                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
49055                 the environment variables. Fall back to GetACP().
49056
49057         2006-04-05  Bruno Haible  <bruno@clisp.org>
49058
49059                 * config.charset: Update Juan Manuel Guerrero's address.
49060
49061         2005-02-12  Bruno Haible  <bruno@clisp.org>
49062
49063                 * allocsa.h: Add extern "C" for C++.
49064
49065         2005-02-10  Bruno Haible  <bruno@clisp.org>
49066
49067                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
49068                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
49069
49070         2006-07-22  Bruno Haible  <bruno@clisp.org>
49071
49072                 * gettext.h: Update to GNU gettext-0.15.
49073
49074 2006-07-22  Bruno Haible  <bruno@clisp.org>
49075
49076         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
49077         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
49078         lib-prefix.m4, longdouble.m4, ssize_t.m4.
49079
49080 2006-07-21  Eric Blake  <ebb9@byu.net>
49081
49082         * modules/stdlib-safer: New file.
49083         * MODULES.html.sh (File stream based Input/Output): Add
49084         stdlib-safer.
49085
49086 2006-07-21  Eric Blake  <ebb9@byu.net>
49087
49088         * lib/stdlib-safer.h: New file from coreutils, required by
49089         stdlib--.h.
49090
49091 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
49092
49093         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
49094
49095 2006-07-20  Bruno Haible  <bruno@clisp.org>
49096
49097         * gnulib-tool: Recognize new option --assume-autoconf.
49098         (autoconf_minversion): New variable.
49099         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
49100
49101 2006-07-20  Bruno Haible  <bruno@clisp.org>
49102
49103         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
49104
49105 2006-07-19  Derek R. Price  <derek@ximbiot.com>
49106
49107         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
49108         Reindent and repaginate.
49109
49110 2006-07-19  Derek Price  <derek@ximbiot.com>
49111
49112         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
49113         Correct grammar.
49114
49115 2006-07-17  Bruno Haible  <bruno@clisp.org>
49116
49117         * modules/list: New file.
49118         * modules/array-list: New file.
49119         * modules/carray-list, modules/carray-list-tests: New files.
49120         * modules/linked-list, modules/linked-list-tests: New files.
49121         * modules/avltree-list, modules/avltree-list-tests: New files.
49122         * modules/rbtree-list, modules/rbtree-list-tests: New files.
49123         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
49124         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
49125         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
49126         * modules/oset: New file.
49127         * modules/array-oset: New file.
49128         * modules/avltree-oset, modules/avltree-oset-tests: New files.
49129         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
49130         * tests/test-carray_list.c: New file.
49131         * tests/test-linked_list.c: New file.
49132         * tests/test-avltree_list.c: New file.
49133         * tests/test-rbtree_list.c: New file.
49134         * tests/test-linkedhash_list.c: New file.
49135         * tests/test-avltreehash_list.c: New file.
49136         * tests/test-rbtreehash_list.c: New file.
49137         * tests/test-avltree_oset.c: New file.
49138         * tests/test-rbtree_oset.c: New file.
49139         * MODULES.html.sh (Container data structures): New section.
49140
49141 2006-07-17  Bruno Haible  <bruno@clisp.org>
49142
49143         * m4/gl_list.m4: New file.
49144
49145 2006-07-17  Bruno Haible  <bruno@clisp.org>
49146
49147         * lib/gl_list.h: New file.
49148         * lib/gl_list.c: New file.
49149         * lib/gl_array_list.h: New file.
49150         * lib/gl_array_list.c: New file.
49151         * lib/gl_carray_list.h: New file.
49152         * lib/gl_carray_list.c: New file.
49153         * lib/gl_linked_list.h: New file.
49154         * lib/gl_linked_list.c: New file.
49155         * lib/gl_anylinked_list1.h: New file.
49156         * lib/gl_anylinked_list2.h: New file.
49157         * lib/gl_avltree_list.h: New file.
49158         * lib/gl_avltree_list.c: New file.
49159         * lib/gl_anyavltree_list1.h: New file.
49160         * lib/gl_anyavltree_list2.h: New file.
49161         * lib/gl_rbtree_list.h: New file.
49162         * lib/gl_rbtree_list.c: New file.
49163         * lib/gl_anyrbtree_list1.h: New file.
49164         * lib/gl_anyrbtree_list2.h: New file.
49165         * lib/gl_anytree_list1.h: New file.
49166         * lib/gl_anytree_list2.h: New file.
49167         * lib/gl_linkedhash_list.h: New file.
49168         * lib/gl_linkedhash_list.c: New file.
49169         * lib/gl_anyhash_list1.h: New file.
49170         * lib/gl_anyhash_list2.h: New file.
49171         * lib/gl_avltreehash_list.h: New file.
49172         * lib/gl_avltreehash_list.c: New file.
49173         * lib/gl_rbtreehash_list.h: New file.
49174         * lib/gl_rbtreehash_list.c: New file.
49175         * lib/gl_anytreehash_list1.h: New file.
49176         * lib/gl_anytreehash_list2.h: New file.
49177
49178         * lib/gl_oset.h: New file.
49179         * lib/gl_oset.c: New file.
49180         * lib/gl_array_oset.h: New file.
49181         * lib/gl_array_oset.c: New file.
49182         * lib/gl_avltree_oset.h: New file.
49183         * lib/gl_avltree_oset.c: New file.
49184         * lib/gl_rbtree_oset.h: New file.
49185         * lib/gl_rbtree_oset.c: New file.
49186         * lib/gl_anytree_oset.h: New file.
49187
49188 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
49189
49190         * m4/mkancesdirs.m4: New file.
49191         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
49192         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
49193         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
49194         it.
49195
49196 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
49197
49198         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
49199         * lib/mkancesdirs.h: New files.
49200         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
49201         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
49202         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
49203         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
49204         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
49205         callers changed.  Revamp internals significantly, by not
49206         attempting to create directories that are temporarily more
49207         permissive than the final results.  Do not attempt to use
49208         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
49209         This removes some race conditions, fixes some bugs, and simplifies
49210         things.  Use new dirchownmod function to do owner and mode changes.
49211         * lib/mkdir-p.h: Likewise.
49212         * lib/modechange.c (octal_to_mode): New function.
49213         (struct mode_change): New member mentioned.
49214         (make_node_op_equals): New arg mentioned.  All callers changed.
49215         (mode_compile): Keep track of which mode bits the user has explicitly
49216         mentioned.
49217         (mode_adjust): New arg DIR, so that we implement the X op correctly.
49218         New arg PMODE_BITS, to keep track of which mode bits the user
49219         mentioned; it treats S_ISUID and S_ISGID speciall.
49220         All callers changed.
49221         * lib/modechange.h: Likewise.
49222
49223 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
49224
49225         * MODULES.html.sh: Add mkancestors.
49226         * modules/mkancesdirs: New module.
49227         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
49228         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
49229         The chdir-safer and afs files are now orphans; I'll remove them
49230         unless someone speaks up.
49231         Add lib/dirchownmod.c, lib/dirchownmod.h.
49232         (Depends-on): Remove alloca, chown, save-cwd, dirname.
49233         Add lchown, mkancesdirs.
49234         (Maintainer): Add self.
49235
49236 2006-07-15  Karl Berry  <karl@gnu.org>
49237
49238         * gnulib-tool: help message wording/arrangement.
49239
49240 2006-07-14  Simon Josefsson  <jas@extundo.com>
49241
49242         * doc/gnulib.texi (Libtool and Windows): New section.
49243
49244 2006-07-12  Simon Josefsson  <jas@extundo.com>
49245
49246         * modules/gendocs (License): Fix license, approved by Karl.
49247
49248 2006-07-12  Eric Blake  <ebb9@byu.net>
49249
49250         * MODULES.html.sh: Add gendocs.
49251
49252 2006-07-11  Eric Blake  <ebb9@byu.net>
49253
49254         * modules/fdl: New module, to install doc/fdl.texi.
49255         * MODULES.html.sh: Add new section for documentation modules.
49256         * gnulib-tool: Avoid space-tab.
49257         (--doc-base): New option, to manage files from doc.
49258
49259 2006-07-11  Eric Blake  <ebb9@byu.net>
49260
49261         * m4/absolute-header.m4: Fix comments to match recent change.
49262
49263 2006-07-11  Eric Blake  <ebb9@byu.net>
49264
49265         * gnulib-tool: List --doc-base before --tests-base.
49266
49267 2006-07-11  Derek R. Price  <derek@ximbiot.com>
49268
49269         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
49270
49271 2006-07-11  Bruno Haible  <bruno@clisp.org>
49272
49273         * README: Mention where to put documentation.
49274
49275 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49276
49277         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
49278
49279 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
49280
49281         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
49282         to stdint.m4.
49283
49284 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
49285
49286         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
49287         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
49288         "no/such/file/stdint.h" when there is no such file, so that
49289         the resulting C code can be parsed by dodgy compilers.
49290         Problems reported by Bob Proulx.
49291
49292 2006-07-10  Derek R. Price  <derek@ximbiot.com>
49293
49294         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
49295         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
49296         macros into the GNU _D_EXACT_NAMLEN.
49297         * lib/savedir.c:  Likewise.
49298         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
49299
49300 2006-07-10  Derek R. Price  <derek@ximbiot.com>
49301         and Paul Eggert  <eggert@cs.ucla.edu>
49302
49303         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
49304         * m4/savedir.m4:
49305         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
49306         macros into the GNU _D_EXACT_NAMLEN.
49307
49308 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
49309
49310         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
49311         around the absolute name, to work around a problem with the HP-UX
49312         11.23 native C compiler, reported by Bob Proulx.
49313
49314 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
49315
49316         * doc/maintain.texi, make-stds.texi: Sync from
49317         <http://savannah.gnu.org/projects/gnustandards>.
49318
49319 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
49320
49321         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
49322
49323 2006-07-09  Jim Meyering  <jim@meyering.net>
49324
49325         * m4/glob.m4: Remove a doubled word in a comment.
49326
49327 2006-07-09  Jim Meyering  <jim@meyering.net>
49328
49329         * lib/argp-pv.c: Remove a doubled word in a comment.
49330         * lib/check-version.c (check_version): Likewise.
49331         * lib/javacomp.c (compile_java_class): Likewise.
49332
49333 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
49334
49335         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
49336         for the benefit of people using Autoconf 2.60.  If you want to
49337         support older Autoconf versions you can copy m4/onceonly_2_57.m4
49338         (or m4/onceonly.m4, if pre-2.57) manually.
49339
49340 2006-07-08  Jim Meyering  <jim@meyering.net>
49341
49342         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
49343         comment.
49344         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
49345         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
49346         comment.
49347
49348 2006-07-08  Jim Meyering  <jim@meyering.net>
49349
49350         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
49351
49352 2006-07-07  Simon Josefsson  <jas@extundo.com>
49353
49354         * tests/test-crc.c: Change expected crc value, the test vector
49355         were probably computed using the old broken crc.c?
49356
49357 2006-07-06  Simon Josefsson  <jas@extundo.com>
49358
49359         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
49360         now the canonical place for the M4 file).
49361
49362         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
49363         from the sys_socket dependency now.
49364
49365         * modules/inet_pton (Files): Ditto.
49366
49367         * modules/inet_ntop (Files): Ditto.
49368
49369 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
49370
49371         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
49372         not gl_PREREQ_GETUSERSHELL.
49373
49374 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49375
49376         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
49377         with only one argument, for Autoconf 2.60.
49378         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
49379         expand to nothing, so add a shell command to avoid syntax error.
49380         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
49381
49382 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49383
49384         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
49385
49386 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
49387
49388         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
49389         no longer needed.  Check for isblank decl.
49390         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
49391         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
49392         of existence.
49393
49394 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
49395
49396         * lib/getloadavg.c: Use __VMS, not VMS.
49397         * lib/getopt.c: Likewise.
49398         * lib/getpagesize.h: Likewise.
49399         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
49400         and probably does not work.
49401
49402 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
49403
49404         * lib/.cppi-disable: Add wcwidth.
49405         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
49406         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
49407         (ISGRAPH): Remove.  All uses changed to isgraph.
49408         (FOLD) [!defined _LIBC]: Remove special case.
49409         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
49410         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
49411         HAVE_ISBLANK.
49412         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
49413         case.
49414
49415 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
49416
49417         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
49418         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
49419         brackets.  Other minor changes to suppress some compiler
49420         warnings.
49421
49422 2006-07-06  Derek R. Price  <derek@ximbiot.com>
49423         and Paul Eggert  <eggert@cs.ucla.edu>
49424
49425         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
49426         of invoking obsolescent AC_HEADER_DIRENT macro.
49427         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
49428         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
49429         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
49430         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
49431         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
49432         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
49433         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
49434         * m4/readdir.m4: Remove; no longer needed.
49435
49436 2006-07-06  Derek R. Price  <derek@ximbiot.com>
49437         and Paul Eggert  <eggert@cs.ucla.edu>
49438
49439         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
49440         Don't worry about this obsolete case any more.
49441         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
49442         directories.
49443         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
49444         worry about this obsolete case any more.
49445         * lib/fts.c: Likewise.
49446         * lib/getcwd.c: Likewise.
49447         * lib/glob.h: Likewise.
49448         * lib/savedir.c: Likewise.
49449
49450 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
49451
49452         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
49453         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
49454         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
49455         needed.
49456         All uses removed.
49457         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
49458         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
49459         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
49460         needed.
49461         * m4/getdate.m4 (gl_GETDATE): Likewise.
49462         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
49463         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
49464         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
49465         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
49466         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
49467         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
49468         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
49469         needed.
49470
49471 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
49472
49473         * lib/memcasecmp.c: Include <limits.h>.
49474         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
49475         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
49476         Don't assume isdigit succeeds only on '0' through '9'.
49477
49478 2006-07-05  Eric Blake  <ebb9@byu.net>
49479
49480         * modules/getaddrinfo (Depends-on): Add snprintf.
49481
49482 2006-07-05  Eric Blake  <ebb9@byu.net>
49483
49484         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
49485         to avoid 'header present but could not be compiled' on cygwin.
49486
49487 2006-07-05  Eric Blake  <ebb9@byu.net>
49488
49489         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
49490         missing from netdb.h.
49491         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
49492
49493 2006-07-05  Derek R. Price  <derek@ximbiot.com>
49494
49495         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
49496         no longer needed.
49497         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
49498         * m4/getdate.m4 (gl_GETDATE): Likewise.
49499         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
49500         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
49501         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
49502         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
49503         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
49504
49505 2006-07-05  Derek R. Price  <derek@ximbiot.com>
49506
49507         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
49508         All uses of is_space replaced by isspace.
49509         * lib/exit.h: Don't talk about STDC_HEADERS.
49510         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
49511         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
49512         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
49513         replaced by isprint etc.
49514         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
49515         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
49516         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
49517         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
49518         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
49519         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
49520
49521 2006-07-05  Bruno Haible  <bruno@clisp.org>
49522
49523         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
49524         the function exists, before testing against AIX.
49525         Reported by Martin Lambers <marlam@marlam.de>.
49526
49527 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
49528
49529         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
49530         From Mark D. Baushke.
49531
49532 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
49533
49534         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
49535         to the absolute name, not just one, to bypass Sun C 5.8's
49536         "warning: #include of /usr/include/... may be non-portable".
49537
49538 2006-07-04  Eric Blake  <ebb9@byu.net>
49539
49540         * modules/dirname-tests: New test module.
49541         * tests/test-dirname.c: New file, replacing dirname.c
49542         TEST_DIRNAME section that was recently deleted.
49543
49544 2006-07-04  Bruno Haible  <bruno@clisp.org>
49545
49546         Assume ANSI C header files and <ctype.h> functions.
49547         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
49548         (mbsnwidth): Use isprint, iscntrl instead.
49549
49550 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
49551
49552         Merge from coreutils.
49553         * MODULES.html.sh: Add xstrtold.
49554         * modules/xstrtold: New file.
49555         * modules/cycle-check (Files): Add lib/same-inode.h.
49556         * modules/dirname (Files): Add m4/double-slash-root.m4.
49557         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
49558         * modules/mkdir-p (Files): Add lib/same-inode.h.
49559         * modules/same (Files): Add lib/same-inode.h.
49560
49561 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
49562
49563         * m4/absolute-header.m4: Renamed from full-header-path.m4.
49564         This is to keep the terminology clean; POSIX talks about
49565         "absolute pathnames", not "full pathnames", but the GNU
49566         Coding Standards say to use "path" for something else;
49567         so use "absolute" to keep both sides happy.
49568         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
49569         Set gl_absolute_header, not gl_full_header_path.
49570         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
49571         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
49572         All uses changed.
49573
49574         Merge from coreutils.
49575
49576         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
49577
49578         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
49579         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
49580         want to require the building of c-strtod.o.
49581         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
49582         needs -lm directly.
49583         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
49584
49585         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
49586
49587         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
49588         --as-needed option if available.  Problem reported by Albert Chin in
49589         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
49590         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
49591         cc merely issues a bunch of annoying warnings for --as-needed
49592         (this problem was reported by Bob Proulx).  Also, try linking with
49593         -lm to detect a bug in binutils 2.16 (this problem was reported
49594         by Ralf Wildenhues).
49595
49596         2006-06-18  Jim Meyering  <jim@meyering.net>
49597
49598         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
49599         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
49600         macro.
49601         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
49602         also check for glibc-2.4's abort-inducing bug.
49603
49604         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
49605         Low-probability clean-up should be to use rmdir to get rid of
49606         the just-created directory, not unlink.
49607
49608         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
49609         configure fail, and request a bug report to inform us about it.
49610         Add a comment that, barring reports to the contrary, in 2007 we'll
49611         assume ftruncate is universally available.
49612
49613         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
49614
49615         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
49616
49617         2006-03-12  Jim Meyering  <jim@meyering.net>
49618
49619         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
49620         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
49621         * m4/same.m4 (gl_SAME): Likewise.
49622         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
49623
49624         2006-03-11  Eric Blake  <ebb9@byu.net>
49625
49626         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
49627         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
49628         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
49629         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
49630
49631 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
49632
49633         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
49634         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
49635         reported by Mark D. Baushke, one in
49636         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
49637
49638         Merge from coreutils.
49639
49640         * lib/.cppi-disable: Add stdint_.h.
49641         * lib/.cvsignore: Add stdint.h.
49642
49643         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
49644
49645         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
49646         both double and long double versions.
49647         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
49648         * lib/xstrtold.c: New file.
49649         * lib/xstrtod.h (xstrtold): New decl.
49650
49651         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
49652
49653         * lib/filemode.c (setst): Remove.
49654         (strmode): Rewrite to avoid setst.  This makes the code shorter,
49655         (arguably) clearer, and the generated code is a bit smaller on my
49656         Debian GNU/Linux stable x86 host.
49657
49658         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
49659
49660         * lib/filemode.c: Include "filemode.h" first, to test the interface.
49661         Assume that filemode.h includes sys/types.h and sys/stat.h.
49662         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
49663         (ftypelet): Reorder to put common cases first, for efficiency.
49664         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
49665         to do 'M'.
49666         (strmode): Renamed from mode_string, and now stores 12 bytes instead
49667         of 10, for compatibility with FreeBSD.  All callers changed.
49668         (filemodestring): Now stores 12 bytes instead of 10, and sets file
49669         types that can't be deduced solely from st_mode.  First arg is now a
49670         const pointer.
49671         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
49672         (strmode): Renamed from mode_string.
49673         (filemodestring): New decl.
49674         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
49675         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
49676         needed.
49677         (S_ISPORT, S_ISWHT): New macros, if not already defined.
49678
49679         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
49680
49681         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
49682         fsusage.h now does that.  Include fsusage.h first, to test interface.
49683         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
49684         at most one method (the old code could have generated decls that
49685         didn't conform to C89, not that this was ever exercised).
49686         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
49687
49688         2006-03-19  Jim Meyering  <jim@meyering.net>
49689
49690         Work even in a chroot where d_ino values for entries in "/"
49691         don't match the stat.st_ino values for the same names.
49692         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
49693         number, iterate through all entries again, using lstat instead.
49694         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
49695         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
49696
49697         * lib/getcwd.c (__getcwd): Clarify a comment.
49698         Use memcpy in place of a call to strcpy.
49699
49700         2006-03-12  Jim Meyering  <jim@meyering.net>
49701
49702         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
49703         matches that of the current directory (which we're about to chdir ".."
49704         out of), then save the dev-ino of the parent, instead.
49705
49706         * lib/same-inode.h (SAME_INODE): New file/macro.
49707         * lib/chdir-safer.c (SAME_INODE): Remove definition.
49708         Include "same-inode.h", instead.
49709         * lib/same.c: Likewise.
49710         * lib/cycle-check.h: Include "same-inode.h".
49711         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
49712         * lib/cycle-check.c (SAME_INODE): Remove definition.
49713         * lib/root-dev-ino.h: Include "same-inode.h".
49714
49715         2006-03-11  Eric Blake  <ebb9@byu.net>
49716
49717         * lib/same.c (same_name): s/base_name/last_component/
49718         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
49719         * lib/filenamecat.c (file_name_concat): Likewise.
49720
49721         2006-03-11  Eric Blake  <ebb9@byu.net>,
49722                     Paul Eggert  <eggert@cs.ucla.edu>
49723
49724         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
49725         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
49726         drive prefix.
49727         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
49728         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
49729         (last_component): New method.
49730         * lib/dirname.c (dir_len): Determine when drive letters need a
49731         subsequent slash.  Preserve // when it is special.
49732         (dir_name): Don't append dot when drive letter is absolute.
49733         [TEST_DIRNAME]: Move into a full-blown gnulib test.
49734         * lib/basename.c (base_name): New semantics - malloc the result.
49735         Preserve // when it is special.  Preserve relative files that look
49736         like drive letters.
49737         (base_len): Preserve // when it is special.
49738         (last_component): New method, similar to old base_name semantics.
49739         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
49740         base_name.  Strip redundant slashes from ///.
49741
49742 2006-07-03  Jim Meyering  <jim@meyering.net>
49743
49744         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
49745         macro is used before the first cycle_check call.
49746
49747 2006-07-03  Eric Blake  <ebb9@byu.net>
49748
49749         * modules/dirname (Depends-on): Add xstrndup.
49750
49751 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
49752
49753         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
49754         test cases, so that config.log is a bit easier to follow.
49755
49756 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
49757
49758         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
49759         both are 64 bits, since this seems to be the tradition, and this
49760         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
49761         we ever run into a host that prefers long long to long in this
49762         case, we'll need another configure-time test.  Problem reported by
49763         Jim Meyering.
49764
49765 2006-07-02  Eric Blake  <ebb9@byu.net>
49766
49767         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
49768
49769 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
49770
49771         * modules/inttypes (Depends-on): No longer depends on stdint.
49772         * modules/stdint (Description): Say more about assumptions.
49773         Say that the fast types might differ.  Say macros are used.
49774         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
49775         (Makefile.am): Revise list of substituted symbols to match
49776         new stdint.m4.
49777         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
49778         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
49779         * tests/test-stdint.c (verify_same_types)
49780         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
49781         the code conforms to C99/C89.
49782         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
49783         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
49784
49785 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
49786
49787         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
49788         but fix a bug, by requiring at least 64 bits.
49789         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
49790         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
49791         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
49792         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
49793
49794         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
49795         changes.  Make 2.59 a prerequisite.  Check and substitute for
49796         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
49797         inttypes.h.  Do not use special include files; just use the
49798         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
49799         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
49800         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
49801         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
49802         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
49803         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
49804         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
49805         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
49806         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
49807         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
49808         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
49809         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
49810         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
49811         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
49812         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
49813         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
49814         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
49815         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
49816         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
49817         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
49818         WINT_MAX.  Check for C99 conformance more strictly, by detecting
49819         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
49820         not check for things that C99 does not require, e.g., int8_t.  If
49821         a test isn't needed unless <stdint.h> isn't working, and is
49822         unlikely to be needed for any other reason, then don't do it
49823         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
49824         size_t, since we assume C89 freestanding at least.  Do not check
49825         for sig_atomic_t, wchar_t, or wint_t, since the code now does
49826         the right thing even if the types are not defined.  Instead use:
49827         (gl_STDINT_TYPE_PROPERTIES): New macro.
49828         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
49829         testing whether <sys/types.h> clashes, as Autoconf does this for
49830         us now.  All uses removed.
49831         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
49832         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
49833         (gl_CHECK_TYPE_SAME):
49834         Remove; no longer needed.
49835         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
49836         exists, since we'll return 0 anyway in that case.
49837         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
49838
49839 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
49840
49841         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
49842         possible collision with system files.
49843         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
49844         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
49845         WCHAR_MIN and WCHAR_MAX in this case.
49846         (<stddef.h>): Do not include; no longer needed.
49847         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
49848         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
49849         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
49850         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
49851         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
49852         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
49853         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
49854         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
49855         !defined(__c99))]: Include in this case too, since it's harmless
49856         now.
49857         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
49858         dangerous to do so.
49859         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
49860         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
49861         (_STDINT_MIN, _STDINT_MAX): New macros.
49862         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
49863         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
49864         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
49865         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
49866         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
49867         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
49868         macros, not typedefs; this simplifies things quite a bit.
49869         Use long int for all types narrower than int64_t.
49870         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
49871         Define in terms of long long int or int64_t or long int,
49872         not int64_t or int32_t.  This saves some compile-time testing.
49873         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
49874         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
49875         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
49876         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
49877         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
49878         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
49879         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
49880         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
49881         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
49882         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
49883         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
49884         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
49885         undef any previous version and define our own version, for
49886         simplicity and consistency with the new macros for types.
49887         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
49888         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
49889         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
49890         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
49891         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
49892         @WINT_T_SUFFIX@ to keep things simple here.
49893         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
49894         Simplify by assuming typical 8/16/32/64 host, since we're
49895         already doing that elsewhere anyway.
49896         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
49897         and assume long long int is 64 bits if available.  This
49898         speeds up 'configure'.
49899
49900 2006-07-01  Eric Blake  <ebb9@byu.net>
49901
49902         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
49903         Reported by Andreas Buening.
49904
49905 2006-07-01  Eric Blake  <ebb9@byu.net>
49906
49907         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
49908
49909 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
49910
49911         * lib/getaddrinfo.c: fixed typo
49912
49913 2006-06-29  Jim Meyering  <jim@meyering.net>
49914
49915         * modules/strftime (Maintainer): Add my name, since with the
49916         FPRINTFTIME changes strftime.c has forked from glibc.
49917
49918 2006-06-29  Eric Blake  <ebb9@byu.net>
49919
49920         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
49921
49922 2006-06-29  Eric Blake  <ebb9@byu.net>
49923
49924         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
49925
49926 2006-06-29  Eric Blake  <ebb9@byu.net>
49927
49928         * lib/stat_.h: New file.
49929
49930 2006-06-29  Eric Blake  <ebb9@byu.net>
49931
49932         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
49933         unused static function.
49934
49935 2006-06-29  Eric Blake  <ebb9@byu.net>
49936
49937         * doc/functions.texi (Function Portability): Document missing lstat
49938         on mingw.
49939
49940 2006-06-29  Eric Blake  <ebb9@byu.net>
49941
49942         * MODULES.html.sh: Add sys_stat.
49943         * modules/sys_stat: New module.
49944         * modules/mkstemp (Depends-on): Add sys_stat.
49945
49946 2006-06-29  Derek R. Price  <derek@ximbiot.com>
49947
49948         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
49949
49950 2006-06-29  Derek R. Price  <derek@ximbiot.com>
49951
49952         * m4/c-bs-a.m4: Removed.
49953
49954 2006-06-29  Derek R. Price  <derek@ximbiot.com>
49955
49956         * lib/strftime.c: Assume strftime() exists.
49957
49958 2006-06-29  Derek Price  <derek@ximbiot.com>
49959
49960         * modules/c-bs-a: Removed - \a is C89.
49961         * MODULES.html.sh: Remove c-bs-a.
49962
49963 2006-06-29  Bruno Haible  <bruno@clisp.org>
49964
49965         * modules/wcwidth (License): Change to LGPL.
49966
49967 2006-06-28  Simon Josefsson  <jas@extundo.com>
49968
49969         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
49970         on _WIN32.
49971
49972         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
49973         getnameinfo.
49974
49975 2006-06-28  Simon Josefsson  <jas@extundo.com>
49976
49977         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
49978
49979 2006-06-28  Simon Josefsson  <jas@extundo.com>
49980
49981         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
49982         functions there.  It will succeed on Windows XP, but on Windows
49983         2000 and (presumably) earlier, it will fail, and use the internal
49984         re-implementation.
49985         (use_win32_p): New function.
49986         (getaddrinfo): Use strtoul on servname, to support numeric ports.
49987         Support AI_NUMERICSERV to disable getservbyname.
49988         (getnameinfo): New function, only supports
49989         NI_NUMERICHOST|NI_NUMERICSERV for now.
49990
49991         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
49992         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
49993         getnameinfo.
49994
49995 2006-06-28  Eric Blake  <ebb9@byu.net>
49996
49997         * modules/wcwidth: New file.
49998         * modules/mbchar (Depends-on): Add wcwidth.
49999         * modules/mbswidth (Depends-on): Add wcwidth.
50000         * MODULES.html.sh: Add wcwidth.
50001
50002 2006-06-28  Eric Blake  <ebb9@byu.net>
50003
50004         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
50005         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
50006
50007 2006-06-28  Eric Blake  <ebb9@byu.net>
50008
50009         * lib/xvasprintf.h: Fix comments.
50010
50011 2006-06-28  Eric Blake  <ebb9@byu.net>
50012
50013         * lib/mbchar.h (wcwidth): Include wcwidth.h.
50014         * lib/mbswidth.c (wcwidth): Move from here...
50015         * lib/wcwidth.h: ...to this new file.
50016
50017 2006-06-28  Derek R. Price  <derek@ximbiot.com>
50018
50019         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
50020
50021         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
50022         it's obsolete.
50023         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
50024
50025 2006-06-28  Derek R. Price  <derek@ximbiot.com>
50026
50027         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
50028         Autoconf 2.60 says this stuff was obsolete.
50029
50030 2006-06-28  Bruno Haible  <bruno@clisp.org>
50031
50032         * modules/wcwidth (Files): Add m4/wchar_t.m4.
50033
50034 2006-06-28  Bruno Haible  <bruno@clisp.org>
50035
50036         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
50037         gt_TYPE_WCHAR_T.
50038
50039 2006-06-28  Bruno Haible  <bruno@clisp.org>
50040
50041         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
50042         declaration for wcwidth.
50043         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
50044
50045 2006-06-28  Bruno Haible  <bruno@clisp.org>
50046
50047         * lib/mkdtemp.c [MINGW]: Include <io.h>.
50048         (mkdir): Define using _mkdir.
50049
50050 2006-06-28  Bruno Haible  <bruno@clisp.org>
50051
50052         * lib/getaddrinfo.h: Fix POSIX URL.
50053         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
50054         _WIN32.
50055         (use_win32_p): Make static.
50056         (getaddrinfo): Reject service name if it is empty or does not consist
50057         solely of decimal digits, or if its value is > 65535.
50058         (getnameinfo): Remove useless casts.
50059
50060 2006-06-27  Simon Josefsson  <jas@extundo.com>
50061
50062         * modules/sys_select: New file, suggested by Bruno Haible, Paul
50063         Eggert and Martin Lambers.
50064
50065 2006-06-27  Simon Josefsson  <jas@extundo.com>
50066
50067         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
50068         Eggert and Martin Lambers.
50069
50070 2006-06-27  Bruno Haible  <bruno@clisp.org>
50071
50072         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
50073         result to 0, not to empty.
50074         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
50075
50076 2006-06-27  Bruno Haible  <bruno@clisp.org>
50077
50078         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
50079
50080 2006-06-26  Simon Josefsson  <jas@extundo.com>
50081
50082         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
50083         present.
50084
50085 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
50086
50087         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
50088         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
50089         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
50090
50091 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
50092
50093         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
50094
50095 2006-06-26  Bruno Haible  <bruno@clisp.org>
50096
50097         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
50098
50099 2006-06-26  Bruno Haible  <bruno@clisp.org>
50100
50101         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
50102
50103 2006-06-26  Bruno Haible  <bruno@clisp.org>
50104
50105         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
50106         SGI C compiler in pre-C99 mode.
50107         Suggested by Mark D. Baushke and Larry Jones.
50108
50109 2006-06-26  Bruno Haible  <bruno@clisp.org>
50110
50111         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
50112         WCHAR_MAX.
50113         Reported by Mark D. Baushke and Larry Jones.
50114
50115 2006-06-26  Bruno Haible  <bruno@clisp.org>
50116
50117         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
50118         in pre-C99 mode.
50119         Suggested by Mark D. Baushke and Larry Jones.
50120
50121 2006-06-23  Simon Josefsson  <jas@extundo.com>
50122             Bruno Haible  <bruno@clisp.org>
50123
50124         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
50125         Emit mostlyclean-local rule.
50126         (func_emit_tests_Makefile_am): Likewise.
50127         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
50128
50129 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
50130
50131         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
50132
50133 2006-06-23  Bruno Haible  <bruno@clisp.org>
50134
50135         * tests/test-stdint.c: Update to match ISO C 99 Technical
50136         Corrigendum 1.
50137
50138 2006-06-23  Bruno Haible  <bruno@clisp.org>
50139
50140         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
50141
50142 2006-06-23  Bruno Haible  <bruno@clisp.org>
50143
50144         * lib/stdint_.h: Treat IRIX like OpenBSD.
50145
50146 2006-06-23  Bruno Haible  <bruno@clisp.org>
50147
50148         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
50149         ISO C 99 Technical Corrigendum 1.
50150
50151 2006-06-22  Simon Josefsson  <jas@extundo.com>
50152
50153         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
50154         MinGW.
50155
50156 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
50157
50158         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
50159         needed.  Some compiler complained about some of them.  Problem reported
50160         by Larry Jones in
50161         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
50162
50163 2006-06-21  Simon Josefsson  <jas@extundo.com>
50164
50165         * tests/test-getaddrinfo.c: New file.
50166
50167         * modules/getaddrinfo-tests: New file.
50168
50169         * MODULES.html.sh: Add inet_pton.
50170
50171         * modules/inet_pton: New file.
50172
50173 2006-06-21  Simon Josefsson  <jas@extundo.com>
50174
50175         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
50176         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
50177         of using the (limited) gnulib implementation on Windows XP.
50178
50179         * m4/inet_pton.m4: New file.
50180
50181 2006-06-21  Simon Josefsson  <jas@extundo.com>
50182
50183         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
50184         variable.
50185
50186         * lib/socket_.h: Don't define WINVER.
50187
50188         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
50189         slightly modified to work in gnulib.
50190
50191 2006-06-21  Simon Josefsson  <jas@extundo.com>
50192
50193         * doc/gnulib.texi (Windows sockets): Add.
50194
50195 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
50196
50197         * lib/read-file.c (fread_file): Start with buffer allocation of
50198         0 bytes rather than 1 byte; this simplifies the code.
50199         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
50200         code to free buffer and save/restore errno.
50201         (internal_read_file): Remove unused local.
50202
50203 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
50204
50205         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
50206         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
50207         Problem reported by Denis Excoffier in
50208         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
50209
50210 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50211
50212         * modules/sys_socket, modules/socklen: Include sys/types since
50213         FreeBSD 4.x's sys/socket.h needs it.
50214
50215 2006-06-19  Simon Josefsson  <jas@extundo.com>
50216
50217         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
50218
50219 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
50220
50221         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
50222
50223 2006-06-19  Bruno Haible  <bruno@clisp.org>
50224
50225         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
50226         and FULL_PATH_INTTYPES_H in angle brackets.
50227         Reported by Mark D. Baushke <mdb@gnu.org>.
50228
50229 2006-06-17  Eric Blake  <ebb9@byu.net>
50230
50231         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
50232         errno.
50233
50234 2006-06-17  Bruno Haible  <bruno@clisp.org>
50235
50236         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
50237         <sys/inttypes.h>.
50238
50239 2006-06-17  Bruno Haible  <bruno@clisp.org>
50240
50241         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
50242         whether errno is declared. Assume <errno.h> declares errno.
50243
50244 2006-06-17  Bruno Haible  <bruno@clisp.org>
50245
50246         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
50247
50248 2006-06-17  Bruno Haible  <bruno@clisp.org>
50249
50250         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
50251         problem on Solaris 2.5.1.
50252
50253 2006-06-16  Eric Blake  <ebb9@byu.net>
50254
50255         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
50256         * lib/unicodeio.c [!defined errno]: Likewise.
50257         * lib/strtol.c [!defined errno]: Likewise.
50258         * lib/strtod.c [!defined errno]: Likewise.
50259
50260 2006-06-15  Eric Blake  <ebb9@byu.net>
50261
50262         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
50263
50264 2006-06-15  Eric Blake  <ebb9@byu.net>
50265
50266         * config/srclist.txt (ssize_t.m4): Lose sync.
50267
50268 2006-06-15  Bruno Haible  <bruno@clisp.org>
50269
50270         * modules/stdint (Files): Include m4/full-header-path.m4,
50271         m4/size_max.m4, m4/wchar_t.m4.
50272         (Makefile.am): Many more substitutions.
50273         * modules/stdint-tests: New file.
50274         * tests/test-stdint.c: New file.
50275
50276 2006-06-15  Bruno Haible  <bruno@clisp.org>
50277
50278         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
50279         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
50280         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
50281         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
50282         gl_CHECK_TYPE_SAME): New macros.
50283
50284 2006-06-15  Bruno Haible  <bruno@clisp.org>
50285
50286         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
50287
50288 2006-06-15  Bruno Haible  <bruno@clisp.org>
50289
50290         * lib/stdint_.h: Rewritten to be fully auto-configured.
50291         Fixes bug on HP-UX/IA64.
50292
50293 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
50294
50295         * lib/getdate.y (__attribute__): Don't define if already defined.
50296         Problem reported by Larry Jones.
50297         * lib/utimens.c (__attribute__): Likewise.
50298
50299 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
50300
50301         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
50302         reported by Andreas Schwab.
50303
50304 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50305             Bruno Haible  <bruno@clisp.org>
50306
50307         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
50308         check for the declaration of strnlen and a run test that exposes the
50309         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
50310         rpl_strndup.
50311
50312 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50313             Bruno Haible  <bruno@clisp.org>
50314
50315         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
50316
50317 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50318
50319         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
50320         compile test, for Tru64 4.0D.
50321
50322 2006-05-28  Karl Berry  <karl@gnu.org>
50323
50324         * config/srclist.txt (printf-args.c): lose sync.
50325
50326 2006-05-26  Martin Lambers  <marlam@marlam.de>
50327
50328         * lib/getpass.c: Updates the test for the native W32 API, and adds
50329         missing includes, thus fixing compilation warnings.
50330
50331 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
50332
50333         * lib/exclude.c (exclude_fnmatch): New function.
50334         (excluded_file_name): Call exclude_fnmatch.
50335         * lib/exclude.h (excluded_file_name): New prototype
50336
50337 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
50338
50339         * lib/tempname.c (small_open, large_open): New macros.
50340         (__open, __open64) [!_LIBC]: Remove.
50341         (__gen_tempname): Use small_open and large_open instead of __open
50342         and __open64.  This fixes a portability bug on HP-UX 11.11i
50343         reported by Simon Wing-Tang in
50344         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
50345
50346 2006-05-24  Bruno Haible  <bruno@clisp.org>
50347
50348         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
50349         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
50350         Reported by Thorsten Maerz <torte@netztorte.de> via
50351         Aaron Stone <aaron@serendipity.cx>.
50352
50353 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
50354
50355         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
50356         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
50357         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
50358         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
50359         not really conditional on the cache.
50360         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
50361
50362 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
50363
50364         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
50365         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
50366         (my_usleep): Don't mishandle maximum value.
50367
50368 2006-05-19  Jim Meyering  <jim@meyering.net>
50369
50370         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
50371
50372 2006-05-17  Bruno Haible  <bruno@clisp.org>
50373
50374         Cygwin portability.
50375         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
50376
50377 2006-05-17  Bruno Haible  <bruno@clisp.org>
50378
50379         * lib/stdint_.h: Fix recognition of Cygwin.
50380
50381 2006-05-15  Bruno Haible  <bruno@clisp.org>
50382
50383         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
50384         on libtool patch by Ralf Wildenhues.
50385
50386 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
50387
50388         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
50389         test for C99 conformance; (bool) 0.5 is an integer constant
50390         expression, but (bool) -0.5 is not.  Problem reported by Fedor
50391         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
50392
50393 2006-05-11  Simon Josefsson  <jas@extundo.com>
50394
50395         * m4/xvasprintf.m4: Fix obvious typo.
50396
50397 2006-05-11  Jim Meyering  <jim@meyering.net>
50398
50399         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
50400         James Lemley.
50401
50402 2006-05-10  Simon Josefsson  <jas@extundo.com>
50403
50404         * lib/md4.c: Typo fix, update copyright years.
50405         (K1, K2): Don't use L because it turn computations into 64-bit on
50406         64-bit platforms.
50407
50408 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
50409
50410         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
50411         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
50412         unwanted sign propagation, e.g., on hosts with 64-bit int.
50413         There still are some problems with reeelly weird theoretical hosts
50414         (e.g., 33-bit int) but it's not worth worrying about now.
50415         * lib/sha1.c (rol): Likewise.
50416         (K1, K2, K3, K4): Remove unnecessary L suffix.
50417
50418 2006-05-10  Bruno Haible  <bruno@clisp.org>
50419
50420         * lib/des.c: Cast to avoid warnings.
50421
50422 2006-05-09  Bruno Haible  <bruno@clisp.org>
50423
50424         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
50425         (Depends-on): Depend also on xsize, stdarg.
50426         (configure.ac): Add gl_XVASPRINTF.
50427
50428 2006-05-09  Bruno Haible  <bruno@clisp.org>
50429
50430         * m4/xvasprintf.m4: New file.
50431
50432 2006-05-09  Bruno Haible  <bruno@clisp.org>
50433
50434         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
50435         (EOVERFLOW): Define fallback value.
50436         (xstrcat): New function.
50437         (xvasprintf): Recognize the special case of a string concatenation.
50438
50439 2006-05-08  Eric Blake  <ebb9@byu.net>
50440
50441         * gnulib-tool (func_version): Base copyright year on CVS date.
50442         (func_emit_copyright_notice): New function.
50443         (func_emit_lib_Makefile_am): Use it.
50444         (func_emit_tests_Makefile_am): Likewise.
50445         (func_import): Likewise.
50446
50447 2006-05-08  Bruno Haible  <bruno@clisp.org>
50448
50449         * modules/stdarg: New file.
50450         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
50451
50452 2006-05-08  Bruno Haible  <bruno@clisp.org>
50453
50454         * m4/stdarg.m4: New file, from GNU gettext.
50455
50456 2006-05-08  Bruno Haible  <bruno@clisp.org>
50457
50458         * config/srclist.txt (build-aux/config.rpath): different from latest
50459         release.
50460
50461 2006-05-08  Bruno Haible  <bruno@clisp.org>
50462
50463         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
50464
50465 2006-05-05  Jim Meyering  <jim@meyering.net>
50466
50467         * m4/warning.m4: New file, derived from bison's file by the same name.
50468
50469 2006-05-03  Bruno Haible  <bruno@clisp.org>
50470
50471         * lib/stdint_.h: Shorter URL.
50472         * lib/inttypes.h: Likewise.
50473
50474 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
50475
50476         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
50477
50478 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
50479
50480         * lib/verify.h: Document the internals better.  Most of this change
50481         was written by Bruno Haible.
50482
50483 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
50484
50485         * doc/verify.texi: New file, partly based on a proposal by
50486         Bruno Haible.
50487
50488 2006-05-02  Bruno Haible  <bruno@clisp.org>
50489
50490         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
50491         test from here...
50492         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
50493
50494 2006-04-29  Bruno Haible  <bruno@clisp.org>
50495
50496         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
50497         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
50498
50499 2006-04-29  Bruno Haible  <bruno@clisp.org>
50500
50501         * gnulib-tool: Make --update option actually work.
50502
50503 2006-04-29  Bruno Haible  <bruno@clisp.org>
50504
50505         * doc/gcd.texi: New file.
50506         * doc/gnulib.texi: Include it.
50507
50508 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
50509
50510         * lib/getdate.y (get_date): When adding relative date, start with the
50511         initial time, not with the result of the first mktime call.
50512
50513 2006-04-25  Bruno Haible  <bruno@clisp.org>
50514
50515         * gnulib-tool (func_import): Output the include directives in three
50516         blocks, sorted separately.
50517         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50518
50519 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
50520
50521         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
50522         to define main with arguments, for C++.  Reported by Eric Blake.
50523         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
50524         Prefer 'int main ()' to 'int main (void)', for C++.
50525         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
50526         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
50527         for 'main', for C99 and C++.
50528
50529 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
50530
50531         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
50532         Don't assume that exit status -1 is valid.
50533         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
50534         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
50535         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
50536         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
50537         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
50538         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
50539         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
50540         functions can be used without declaring them, or that you can
50541         exit with status -1.
50542         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
50543
50544 2006-04-24  Karl Berry  <karl@gnu.org>
50545
50546         * config/srclist.txt (longdouble.m4): sync lost.
50547
50548 2006-04-24  Eric Blake  <ebb9@byu.net>
50549
50550         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
50551
50552 2006-04-24  Bruno Haible  <bruno@clisp.org>
50553
50554         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
50555         poll() implementation in AIX.
50556         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50557
50558 2006-04-24  Bruno Haible  <bruno@clisp.org>
50559
50560         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
50561         assigned exactly once.
50562
50563 2006-04-23  Claudio Fontana  <claudio@gnu.org>
50564             Bruno Haible  <bruno@clisp.org>
50565
50566         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
50567         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
50568         for AM_CPPFLAGS.
50569
50570 2006-04-23  Bruno Haible  <bruno@clisp.org>
50571
50572         * modules/copy-file: Depend on unistd.
50573         * modules/execute: Likewise.
50574         * modules/fatal-signal: Likewise.
50575         * modules/findprog: Likewise.
50576         * modules/mkdtemp : Likewise.
50577         * modules/pipe: Likewise.
50578         * modules/wait-process: Likewise.
50579
50580 2006-04-23  Bruno Haible  <bruno@clisp.org>
50581
50582         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
50583         condition was already detected.
50584         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50585
50586 2006-04-23  Bruno Haible  <bruno@clisp.org>
50587
50588         * lib/copy-file.c: Include <unistd.h> unconditionally.
50589         * lib/execute.c: Likewise.
50590         * lib/fatal-signal.c: Likewise.
50591         * lib/findprog.c: Likewise.
50592         * lib/mkdtemp.c: Likewise.
50593         * lib/pipe.h: Likewise.
50594         * lib/pipe.c: Likewise.
50595         * lib/wait-process.h: Likewise.
50596
50597 2006-04-23  Bruno Haible  <bruno@clisp.org>
50598
50599         * gnulib-tool (func_usage): Fix --import description. Document
50600         --update.
50601         (func_import): Create temporary file in a temporary directory, if
50602         --dry-run is specified. Silence errors from 'grep' when there are no
50603         m4 files in $m4dir.
50604         (func_create_testdir): Silence errors from 'grep' when there are no
50605         m4 files in $m4dir.
50606         Reported by Karl Berry <karl@freefriends.org>.
50607
50608 2006-04-20  Bruno Haible  <bruno@clisp.org>
50609
50610         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
50611         one argument, so that the code will be portable to Autoconf 2.60.
50612         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
50613         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
50614         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
50615
50616 2006-04-19  Derek Price  <derek@ximbiot.com>
50617             Eric Blake  <ebb9@byu.net>
50618
50619         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
50620         rather than "/full/path.h".  Update comment to match.  Shorten &
50621         generalize m4_translit call via AS_TR_CPP.
50622
50623 2006-04-19  Derek Price  <derek@ximbiot.com>
50624             Eric Blake  <ebb9@byu.net>
50625
50626         * lib/inttypes.h: Correct grammar in comment.
50627
50628 2006-04-18  Derek Price  <derek@ximbiot.com>
50629             Paul Eggert  <eggert@cs.ucla.edu>
50630
50631         * modules/inttypes: New file.
50632         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
50633
50634 2006-04-18  Derek Price  <derek@ximbiot.com>
50635             Paul Eggert  <eggert@cs.ucla.edu>
50636
50637         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
50638         New files.
50639
50640 2006-04-18  Derek Price  <derek@ximbiot.com>
50641             Paul Eggert  <eggert@cs.ucla.edu>
50642
50643         * lib/inttypes.h: New file.
50644         * lib/strtoimax.c: Assume <inttypes.h>.
50645
50646 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
50647
50648         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
50649         isn't mounted.  Problem reported by Kir Kolyshkin.
50650
50651 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
50652
50653         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
50654         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
50655         Derek R. Price.
50656         * lib/regex.h (RE_DUP_MAX): Update comment to match current
50657         implementation.
50658
50659 2006-04-12  Eric Blake  <ebb9@byu.net>
50660
50661         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
50662         is now done automatically by the corresponding Autoconf macro.
50663
50664 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
50665
50666         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
50667         time_r.h.
50668
50669 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
50670
50671         Merge regex changes from libc, removing some of our
50672         POSIX-conformance changes that were rejected and redoing them in a
50673         less-intrusive way.
50674
50675         * lib/regcomp.c (re_compile_internal, init_dfa):
50676         Length arg is now size_t, not Idx.  All uses changed.
50677         (peek_token): Forward decl now says internal_function.
50678         (__re_error_msgid, __re_error_msgid_idx):
50679         Now static rather than extern with attribute_hidden.
50680         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
50681         For some reason libc prefers K&R style defns for external functions.
50682         (regerror) [!defined _LIBC]: Likewise.
50683         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
50684         (seek_collating_symbol_entry, lookup_collation_sequence_value):
50685         (build_range_exp, build_collating_symbol):
50686         Use K&R-style defn.
50687         (re_compile_fastmap): Use '\0' to memset, not 0.
50688         (utf8_sb_map): Make the calculations more obvious.
50689         (init_dfa, parse_bracket_exp, build_charclass_op):
50690         Call calloc and cast result, as glibc does.
50691         (init_word_char, fetch_token, peek_token, peek_token_bracket):
50692         (build_range_exp, build_collating_symbol):
50693         Now internal functions.
50694
50695         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
50696
50697         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
50698         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
50699         Don't depend on VMS; depend on __VMS instead, for POSIX
50700         namespace cleanness.
50701         (regoff_t): Define to ssize_t, not long int.
50702
50703         Remove the REG_ macros named below.  Instead, make the old names
50704         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
50705         __USE_GNU_REGEX.
50706         (REG_BACKSLASH_ESCAPE_IN_LISTS):
50707         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
50708         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
50709         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
50710         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
50711         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
50712         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
50713         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
50714         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
50715         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
50716         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
50717         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
50718         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
50719         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
50720         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
50721         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
50722         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
50723         (REG_NREGS):
50724         Remove.  All uses replaced by the old RE_* names.
50725         (RE_BACKSLASH_ESCAPE_IN_LISTS):
50726         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
50727         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
50728         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
50729         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
50730         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
50731         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
50732         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
50733         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
50734         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
50735         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
50736         Don't bother having these macros be independent of each others'
50737         values, since they no longer exist in the POSIX name space.
50738
50739         Rename the following member names back to their old names,
50740         unless !__USE_GNU_REGEX.  All uses changed back.
50741         (buffer): Renamed from re_buffer.
50742         (allocated): Renamed from re_allocated.
50743         (used): Renamed from re_used.
50744         (syntax): Renamed from re_syntax.
50745         (fastmap): Renamed from re_fastmap.
50746         (translate): Renamed from re_translate.
50747         (can_be_null): Renamed from re_can_be_null.
50748         (regs_allocated): Renamed from re_regs_allocated.
50749         (fastmap_accurate): Renamed from re_fastmap_accurate.
50750         (no_sub): Renamed from re_no_sub.
50751         (not_bol): Renamed from re_not_bol.
50752         (not_eol): Renamed from re_not_eol.
50753         (newline_anchor): Renamed from re_newline_anchor.
50754         (num_regs): Renamed from rm_num_regs.
50755         (start): Renamed from rm_start.
50756         (end): Renamed from rm_end.
50757
50758         (free_state): Move up a bit.
50759
50760         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
50761         #define to be empty.
50762         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
50763         when that is what is intended.
50764         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
50765         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
50766         (MAX): New macro.
50767         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
50768         All uses changed back to re_malloc, etc.  It's now the caller's
50769         responsibility to check for overflow; all callers changed.
50770         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
50771         (re_x2nrealloc): Remove.
50772         (free_state): Remove decl.
50773
50774         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
50775         (re_set_registers, re_exec):
50776         Use K&R-style defn.
50777
50778         2006-01-31  Roland McGrath  <roland@redhat.com>
50779
50780         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
50781         Reported by Mike Frysinger <vapier@gentoo.org>.
50782
50783         2006-01-15  Andreas Jaeger  <aj@suse.de>
50784
50785         [BZ #1950]
50786         * lib/regex_internal.c (re_string_reconstruct): Adjust for
50787         build_wcs_upper_buffer change.
50788         (build_wcs_upper_buffer): Change return type.
50789
50790         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
50791
50792         * lib/regex_internal.h: Include <stdint.h> if available.
50793
50794         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
50795
50796         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
50797
50798         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
50799
50800         * lib/regcomp.c: Adjust for changed secondary hash function.
50801
50802         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
50803
50804         * lib/regex.h: Pretty printing.
50805         Clean up namespace a bit.
50806
50807         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
50808
50809         * lib/regexec.c (update_cur_sifted_state, check_arrival,
50810         check_arrival_add_next_nodes): Avoid using uninitialized variable.
50811
50812         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
50813                     Ulrich Drepper  <drepper@redhat.com>
50814
50815         [BZ #1302]
50816         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
50817         changed.
50818         (bitset_word_t): Renamed from bitset_word.  All uses changed.
50819
50820         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
50821
50822         [BZ #281]
50823         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
50824         * lib/regcomp.c: Remove unnecessary uses of
50825         unsigned RE_TRANSLATE_TYPE.
50826         * lib/regex_internal.h: Likewise.
50827         * lib/regex_internal.c: Likewise.
50828         * lib/regexec.c: Likewise.
50829         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
50830
50831         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
50832
50833         * lib/regexec.c (find_recover_state): Remove unnecessary
50834         initialization.
50835         (transit_state_bkref): Make DFA a const pointer.
50836         (get_subexp): Likewise.
50837         (check_arrival): Likewise.
50838         (update_cur_sifted_state): Likewise.
50839         (re_search_internal): Likewise.
50840         (prune_impossible_nodes): Likewise.
50841         (acquire_init_state_context): Likewise.
50842         (proceed_next_node): Likewise.
50843         (set_regs): Likewise.
50844         (free_fail_stack_return): Likewise.
50845         (check_arrival_expand_ecl): Mark DFA parameter as const.
50846         (check_arrival_expand_ecl_sub): Likewise.
50847         (check_subexp_limits): Likewise.
50848         (sub_epsilon_src_nodes):  Likewise.
50849         (add_epsilon_src_nodes):  Likewise.
50850         (merge_state_array): Likewise.
50851         (update_regs): Likewise.
50852         (build_trtable): Likewise.
50853         (sift_states_backward): Mark MCTX parameter as const.
50854         (build_sifted_states): Likewise.
50855         (update_cur_sifted_state): Likewise.
50856         (sift_states_mkref): Likewise.
50857         (check_arrival_expand_ecl): Mark eclosure as const.
50858         (check_dst_limits_calc_pos_1): Likewise.
50859         * lib/regex_internal.h (re_match_context_t): Make dfa a const
50860         pointer.
50861
50862         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
50863
50864         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
50865         (transit_state_sb): Likewise.
50866         (transit_state_mb): Likewise.
50867         (sift_states_iter_mb): Likewise.
50868         (check_arrival_add_next_nodes): Likewise.
50869         (check_node_accept_bytes): Change first parameter to pointer-to-const.
50870         [_LIBC] (re_search_2_stub): Use mempcpy.
50871
50872         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
50873         mbrtowc for very simple UTF-8 case.
50874
50875         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
50876         a pointer-to-const.
50877         (re_acquire_state_context): Likewise.
50878         * lib/regex_internal.h: Adjust prototypes.
50879
50880         * lib/regex.c: Prevent using C++ compilers.
50881
50882         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
50883         (re_acquire_state_context): Likewise.
50884
50885 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
50886
50887         * modules/regex (Depends-on): Add ssize_t.
50888
50889 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
50890
50891         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
50892         translation table.
50893
50894 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
50895
50896         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
50897
50898 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
50899             Bruno Haible  <bruno@clisp.org>
50900
50901         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
50902         <sys/types.h> and <inttypes.h>.
50903
50904 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50905
50906         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
50907         `__error_t_defined', so argp.h will not typedef the former.
50908
50909 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
50910
50911         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
50912         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
50913         glibc names.  Even if glibc is changed to conform to POSIX, the
50914         traditional names will be available anyway, since regex depends on
50915         the extensions module.  Also, fix a longstanding typo in the
50916         implementation of Spencer ERE test #75 from grep 2.3.  Problems
50917         reported by Emanuele Giaquinta.  Also, change sense of cached
50918         variable, so that the message makes sense.
50919
50920 2006-03-24  Simon Josefsson  <jas@extundo.com>
50921
50922         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
50923         including some doc fixes.
50924         (base64_encode_alloc): Fix +1 bug on allocation failures.
50925
50926 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50927
50928         * lib/base64.c (base64_encode): Do not read past end of array with
50929         unsanitized input on systems with CHAR_BIT > 8.
50930
50931 2006-03-24  Eric Blake  <ebb9@byu.net>
50932
50933         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
50934
50935 2006-03-22  Karl Berry  <karl@gnu.org>
50936
50937         * config/srclist.txt (*setenv.[ch]): get from coreutils.
50938         * config/srclistvars.sh (COREUTILS): new var.
50939
50940 2006-03-17  Jim Meyering  <jim@meyering.net>
50941
50942         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
50943         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
50944
50945 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
50946
50947         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
50948         no longer needs it.  Instead, check that regoff_t is as least
50949         as wide as ptrdiff_t.
50950
50951         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
50952         so that our regex.h stays compatible with the installed regex.
50953         This is helpful for installers who configure --without-included-regex.
50954         Problem reported by Emanuele Giaquinta.
50955
50956 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
50957
50958         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
50959         Typedef to long int, not to off_, as POSIX will likely change
50960         in that direction.
50961
50962 2006-03-15  Eric Blake  <ebb9@byu.net>
50963
50964         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
50965
50966 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
50967
50968         * lib/argp-help.c (validate_uparams): Fix typo
50969         * lib/argp-parse.c (argp_default_options): Consistently begin help
50970         messages with a lowercase letter.
50971
50972 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
50973
50974         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
50975         overrun buffers and shouldn't be used (much as gets shouldn't be
50976         used).
50977         * lib/time_r.c (asctime_r, ctime_r): Likewise.
50978
50979 2006-03-08  Simon Josefsson  <jas@extundo.com>
50980
50981         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
50982         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50983
50984 2006-03-08  Simon Josefsson  <jas@extundo.com>
50985
50986         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
50987         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50988
50989 2006-03-08  Simon Josefsson  <jas@extundo.com>
50990
50991         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
50992         signal that configure disabled the device.
50993
50994 2006-03-08  Simon Josefsson  <jas@extundo.com>
50995
50996         * build-aux/maint.mk: Fix refresh-po, to handle no translated
50997         languages.
50998
50999 2006-03-07  Simon Josefsson  <jas@extundo.com>
51000
51001         * modules/getopt (Depends-on): Add unistd.
51002
51003         * modules/unistd: New file.
51004
51005 2006-03-07  Simon Josefsson  <jas@extundo.com>
51006
51007         * modules/gc-random: New file.
51008
51009 2006-03-07  Simon Josefsson  <jas@extundo.com>
51010
51011         * m4/unistd_h.m4: New file.
51012
51013 2006-03-07  Simon Josefsson  <jas@extundo.com>
51014
51015         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
51016         test to be side-effect free by storing the result in the cache
51017         variable gl_cv_lib_readline, and moving the assignment of
51018         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
51019         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51020
51021 2006-03-07  Simon Josefsson  <jas@extundo.com>
51022
51023         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
51024         error on missing devices (the functions will return an error).
51025
51026         * m4/gc.m4: Move random stuff to gc-random.m4
51027
51028 2006-03-07  Simon Josefsson  <jas@extundo.com>
51029
51030         * lib/unistd_.h: New file.
51031
51032 2006-03-07  Simon Josefsson  <jas@extundo.com>
51033
51034         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
51035
51036 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
51037
51038         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
51039         Problem reported by Juan Manuel Guerrero.
51040
51041 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
51042
51043         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
51044         the unistd module.
51045         * lib/getlogin_r.c: Likewise.
51046         * lib/getlogin_r.h: Likewise.
51047         * lib/glob.c: Likewise.
51048         * lib/pagealign_alloc.c: Likewise.
51049         * lib/unistd_.h: Remove; no longer needed.
51050
51051 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
51052
51053         * MODULES.html.sh (Support for systems lacking POSIX:2001):
51054         Add unistd.
51055         * modules/c-stack (Depends-on): Add unistd.
51056         * modules/getlogin_r: Likewise.
51057         * modules/glob: Likewise.
51058         * modules/pagealign_alloc: Likewise.
51059         * modules/unistd (Files): Remove lib/unistd_.h.
51060         (EXTRA_DIST): Remove.
51061         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
51062         need unistd_.h.
51063         (MOSTLYCLEANFILES): Remove unistd.h-t.
51064
51065 2006-03-03  Simon Josefsson  <jas@extundo.com>
51066
51067         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
51068
51069 2006-03-03  Simon Josefsson  <jas@extundo.com>
51070
51071         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
51072         libidn and bison.
51073
51074 2006-03-03  Simon Josefsson  <jas@extundo.com>
51075
51076         * build-aux/maint.mk: Add indent target.
51077
51078 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
51079
51080         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
51081         our replacement poll.h in any case, to avoid a differing
51082         declaration from a system header.  Seen on AIX.
51083
51084 2006-03-01  Simon Josefsson  <jas@extundo.com>
51085
51086         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
51087         <kasal@ucw.cz>.
51088
51089 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
51090
51091         * modules/gettime (Depends-on): Add extensions module.
51092         * modules/nanosleep (Depends-on): Likewise.
51093         * modules/settime (Depends-on): Likewise.
51094
51095 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
51096
51097         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
51098         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
51099         pedantically.
51100         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
51101         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
51102
51103         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
51104         not "==".  Reported by Ralf Wildenhues.
51105
51106 2006-03-01  Karl Berry  <karl@gnu.org>
51107
51108         * doc/Copyright/request-*: new files, synced from gnuorg.
51109
51110 2006-03-01  Karl Berry  <karl@gnu.org>
51111
51112         * config/srclist.txt (Copyright/*): new entries.
51113
51114 2006-02-28  Simon Josefsson  <jas@extundo.com>
51115
51116         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
51117
51118 2006-02-27  Simon Josefsson  <jas@extundo.com>
51119
51120         * lib/base64.h: Indent #define's.  From Jim Meyering
51121         <jim@meyering.net>.
51122
51123 2006-02-27  Jim Meyering  <jim@meyering.net>
51124
51125         Revert the change of 2006-02-24, so these files can continue
51126         to be sync'd from gettext.
51127         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
51128         of `config.h'.
51129
51130 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
51131
51132         * modules/intprops: New file.
51133         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
51134         Add intprops.
51135         * modules/getloadavg (Files): Remove lib/intprops.h.
51136         (Depends-on): Add intprops.
51137         * modules/human: Likewise.
51138         * modules/inttostr: Likewise.
51139         * modules/openat: Likewise.
51140         * modules/sig2str: Likewise.
51141         * modules/userspec: Likewise.
51142         * modules/utimecmp: Likewise.
51143         * modules/xnanosleep: Likewise.
51144         * modules/xstrtol: Likewise.
51145
51146 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
51147
51148         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
51149         * modules/lock-tests (TESTS): Use $(EXEEXT).
51150         * modules/tls-tests: Likewise.
51151         * modules/argp-tests: Likewise.
51152         (check_PROGRAMS): New var, replacing...
51153         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
51154
51155 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51156
51157         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
51158         `config.h'.
51159
51160 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
51161
51162         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
51163
51164 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51165
51166         Sync from coreutils.
51167         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
51168         gl_CHDIR_SAFER.
51169
51170 2006-02-22  Jim Meyering  <jim@meyering.net>
51171
51172         Sync from coreutils.
51173         * m4/chdir-safer.m4: New file.
51174
51175 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
51176
51177         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
51178         AT_FDCWD exceeds INT_MAX.
51179         * lib/openat.h (AT_FDCWD): Likewise.
51180
51181 2006-02-17  Eric Blake  <address@hidden>
51182
51183         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
51184
51185 2006-02-16  Simon Josefsson  <jas@extundo.com>
51186
51187         * modules/getaddrinfo (Depends-on): Add sys_socket.
51188
51189 2006-02-15  Simon Josefsson  <jas@extundo.com>
51190
51191         * build-aux/maint.mk: Add dsyntax-check rule.
51192
51193 2006-02-15  Eric Blake  <ebb9@byu.net>
51194
51195         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
51196         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
51197         'present but cannot compile' warnings on cygwin.
51198         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
51199         use ws2tcpip.h if sys/socket.h works.
51200         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
51201         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
51202
51203 2006-02-14  Simon Josefsson  <jas@extundo.com>
51204
51205         * modules/maintainer-makefile (Files): Rename.
51206
51207         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
51208         and (the local) Makefile.cfg to maint-cfg.mk.
51209
51210         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
51211         to the latter.
51212
51213         * modules/maintainer-makefile: New module.
51214
51215         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
51216         severaly stripped to make it possible to build it up from scratch
51217         with reliable tests.
51218
51219         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
51220         fixes to permit overriding the default actions when configure and
51221         makefile are not available.
51222
51223 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
51224
51225         Sync from coreutils.
51226         * modules/lstat (Depends-on): Don't depend on xalloc.
51227         (License): Change from GPL to LGPL, since this is now simply a
51228         replacement for a libc function.
51229
51230 2006-02-14  Jim Meyering  <jim@meyering.net>
51231
51232         Sync from coreutils.
51233
51234         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
51235         failure on deficient systems, and simplify gnulib lgpl dependencies.
51236         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
51237         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
51238
51239         * lib/xalloc-die.c: Remove unused definition of N_.
51240
51241 2006-02-14  Jim Meyering  <jim@meyering.net>
51242
51243         Sync from coreutils.
51244         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
51245         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
51246         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
51247         double-quote uses of that variable, to accommodate the rare case in
51248         which getmntent is available in none of the libraries checked.  This
51249         happens at least on FreeBSD 5.0.
51250
51251 2006-02-13  Simon Josefsson  <jas@extundo.com>
51252
51253         * gnulib-tool (Usage): Fix --import, from
51254         karl@freefriends.org (Karl Berry).
51255
51256 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
51257
51258         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
51259
51260 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
51261
51262         * lib/argp-namefrob.h: Restore changes accidentally lost during the
51263         "autoupdate" on 2005-12-12.
51264
51265 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
51266
51267         * modules/closeout (Depends-on): Remove atexit.
51268
51269 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
51270
51271         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
51272         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
51273
51274 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
51275
51276         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
51277         __EXTENSIONS__ if this causes compilation to fail.  Problem
51278         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
51279         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
51280
51281 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
51282
51283         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
51284         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
51285         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
51286         All uses changed.
51287
51288 2006-01-26  Simon Josefsson  <jas@extundo.com>
51289
51290         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
51291         prototype is visible on mingw32.
51292
51293         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
51294         for mingw32.
51295
51296         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
51297         mingw32).
51298
51299 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
51300
51301         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
51302         attempt to open for write; this always fails, at least on POSIX
51303         hosts.  This reinstates the 2006-01-09 change, which was
51304         inadvertently removed.
51305
51306 2006-01-26  Bruno Haible  <bruno@clisp.org>
51307
51308         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
51309         Reported by Paul Eggert.
51310
51311 2006-01-26  Bruno Haible  <bruno@clisp.org>
51312             Paul Eggert  <eggert@cs.ucla.edu>
51313
51314         * lib/stdbool_.h (_Bool)
51315         [(! (defined __cplusplus || defined __BEOS__)
51316           && !defined __GNUC__
51317           && !(defined __HP_cc || defined __xlc__
51318                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
51319                || defined __sgi))]:
51320         #define to signed char in these cases too; this simplifies
51321         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
51322         etc., separately) and makes it more conservative.
51323
51324 2006-01-25  Simon Josefsson  <jas@extundo.com>
51325
51326         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
51327         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
51328         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
51329
51330 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
51331
51332         * lib/argp-namefrob.h: Bugfix. Remove stray #
51333
51334 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
51335
51336         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
51337         so that we test the test.
51338         Check for yet another HP-UX cc bug involving *bool |= bool.
51339
51340 2006-01-25  Karl Berry  <karl@gnu.org>
51341
51342         * config/srclist.txt (vasnprintf.c): sync lost.
51343
51344 2006-01-25  Jim Meyering  <jim@meyering.net>
51345
51346         Sync from the stable (b5) branch of coreutils:
51347
51348         * lib/fts.c (fts_children): Don't let close() clobber errno from
51349         failed fchdir().
51350
51351         * lib/fts.c (fts_stat): When following a symlink-to-directory,
51352         don't necessarily interpret stat-fails+lstat-succeeds as indicating
51353         a dangling symlink.  That can also happen at least for ELOOP.
51354         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
51355         FYI, this bug predates the inclusion of fts.c in coreutils.
51356
51357         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
51358         in their own block, so pre-c99 compilers don't object.
51359
51360         Avoid the double-free (first in fts_read, second in fts_close) that
51361         would occur when an `active' directory is made inaccessible (e.g.,
51362         via chmod a-x) during a traversal.
51363         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
51364         before returning.  Reproduce this failure by
51365         mkdir -p a/b; cd a; chmod a-x . b
51366         Reported by Stavros Passas.
51367
51368 2006-01-25  Jim Meyering  <jim@meyering.net>
51369
51370         * lib/fileblocks.c: Remove more useless parentheses.
51371         * lib/readutmp.h: Likewise.
51372
51373 2006-01-25  Bruno Haible  <bruno@clisp.org>
51374
51375         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
51376         warnings.
51377         Reported by Paul Eggert.
51378
51379 2006-01-25  Bruno Haible  <bruno@clisp.org>
51380
51381         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
51382         rid of a trap command. For Solaris sh.
51383         Reported by Mark D. Baushke <mdb@gnu.org>.
51384
51385 2006-01-24  Simon Josefsson  <jas@extundo.com>
51386
51387         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
51388         Bruno.
51389
51390 2006-01-24  Karl Berry  <karl@gnu.org>
51391
51392         * config/srclist.txt (argp-namefrob.h): sync lost.
51393
51394 2006-01-24  Jim Meyering  <jim@meyering.net>
51395
51396         * modules/openat (Files): Add lib/intprops.h.
51397         From Mark D. Baushke.
51398
51399 2006-01-24  Jim Meyering  <jim@meyering.net>
51400
51401         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
51402         Reported by Mark D. Baushke.
51403
51404 2006-01-24  Jim Meyering  <jim@meyering.net>
51405
51406         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
51407
51408 2006-01-24  Bruno Haible  <bruno@clisp.org>
51409
51410         * modules/strnlen (Maintainer): Change from glibc to all.
51411
51412 2006-01-24  Bruno Haible  <bruno@clisp.org>
51413
51414         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
51415         Patch by Paul Eggert.
51416
51417 2006-01-24  Bruno Haible  <bruno@clisp.org>
51418
51419         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
51420         already has it.
51421         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
51422         2005-11-26.
51423
51424         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
51425         'signed char' to avoid problems with the built-in _Bool type.
51426         Reported by Paul Eggert on 2005-11-26.
51427
51428 2006-01-24  Bruno Haible  <bruno@clisp.org>
51429
51430         * gnulib-tool (func_import): Avoid constructing complicated sed
51431         expressions inside backquote.
51432         Report and solution by Mark D. Baushke <mdb@gnu.org>.
51433
51434 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
51435
51436         These changes imported from libc.
51437         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
51438         test and two separate function calls.
51439         * lib/strndup.c (__strndup): Add libc_hidden_def.
51440
51441 2006-01-23  Simon Josefsson  <jas@extundo.com>
51442
51443         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
51444         Remove the test_*_SOURCES variable: automake infers it by default.
51445         * modules/tls-tests: Likewise.
51446
51447 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
51448
51449         Work around porting bugs reported by Dieter in
51450         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
51451         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
51452         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
51453         Include "getopt.h" first, to check interface.
51454         (getenv): Declare only if defined HAVE_DECL_GETENV &&
51455         !HAVE_DECL_GETENV.
51456         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
51457         (__strndup): Revert to K&R-style function dfns, the glibc style.
51458         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
51459         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
51460         Include strnlen.h first, to get prototype properly.
51461         (strnlen): Renamed from __strnlen.
51462         Remove weak alias.
51463
51464 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
51465
51466         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
51467
51468 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
51469
51470         * config/srclist.txt: Adjust to reflect glibc reorganization.
51471         This affects only comments.
51472
51473 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
51474
51475          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
51476          Reported by Bruce Korb <bkorb@gnu.org>.
51477
51478 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
51479
51480         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
51481         to pacify gcc -Wswitch-default.
51482
51483 2006-01-22  Bruno Haible  <bruno@clisp.org>
51484
51485         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
51486         temporary buffer for sprintf, take into account the precision also
51487         for 'd', 'i', 'u', 'o', 'x', 'X'.
51488
51489 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
51490
51491         * modules/argp-tests: New module
51492         * tests/test-argp.c: New file
51493         * tests/test-argp-2.sh: New file
51494
51495 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
51496
51497         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
51498         (__argp_base_name): Removed
51499         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
51500         typo.
51501         (__argp_base_name): Provide macro definition or extern declaration
51502         depending on the configuration
51503
51504 2006-01-20  Simon Josefsson  <jas@extundo.com>
51505
51506         * modules/inet_ntop (Depends-on): Depend on sys_socket.
51507
51508 2006-01-20  Simon Josefsson  <jas@extundo.com>
51509
51510         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
51511
51512 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
51513
51514         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
51515         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
51516         Suggested by Bruno Haible.
51517
51518 2006-01-20  Karl Berry  <karl@gnu.org>
51519
51520         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
51521         until changes propagate, I guess.
51522
51523 2006-01-19  Simon Josefsson  <jas@extundo.com>
51524
51525         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
51526
51527 2006-01-19  Simon Josefsson  <jas@extundo.com>
51528
51529         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
51530
51531 2006-01-19  Simon Josefsson  <jas@extundo.com>
51532
51533         * gnulib-tool: Set check_PROGRAMS.
51534
51535         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
51536         modules/des-tests, modules/gc-arcfour-tests,
51537         modules/gc-arctwo-tests, modules/gc-des-tests,
51538         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
51539         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
51540         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
51541         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
51542         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
51543         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
51544         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
51545         test_*_SOURCES.
51546
51547 2006-01-18  Simon Josefsson  <jas@extundo.com>
51548
51549         * modules/socklen (Depends-on): Depend on sys_socket.
51550
51551 2006-01-18  Simon Josefsson  <jas@extundo.com>
51552
51553         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
51554         modules/des-tests, modules/gc-arcfour-tests,
51555         modules/gc-arctwo-tests, modules/gc-des-tests,
51556         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
51557         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
51558         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
51559         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
51560         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
51561         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
51562         $(EXEEXT) to automake TESTS variable, for mingw32.
51563
51564 2006-01-17  Simon Josefsson  <jas@extundo.com>
51565
51566         * modules/socklen (Include): Need sys/socket.h.
51567
51568 2006-01-17  Bruno Haible  <bruno@clisp.org>
51569
51570         * modules/ssize_t (Include): Add <sys/types.h>.
51571
51572 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
51573
51574         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
51575         it's not portable and it doesn't work with cross-compiles.
51576         Problem reported by Bruno Haible.  Fix missing-$ typo in
51577         'test "gl_cv_ignore_unused_libraries" ...' that prevented
51578         -zignore from being used with Sun's C compiler.
51579
51580 2006-01-12  Simon Josefsson  <jas@extundo.com>
51581
51582         * lib/base64.c: Fix warning, reported by Bruno Haible
51583         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
51584
51585 2006-01-12  Bruno Haible  <bruno@clisp.org>
51586
51587         * modules/ldd: New file.
51588         * build-aux/ldd.sh.in: New file.
51589         * MODULES.html.sh (Support for building libraries and executables): Add
51590         ldd.
51591
51592 2006-01-12  Bruno Haible  <bruno@clisp.org>
51593
51594         * m4/ldd.m4: New file.
51595
51596 2006-01-12  Bruno Haible  <bruno@clisp.org>
51597
51598         * gnulib-tool (func_import, func_create_testdir): Don't go into an
51599         endless loop while replacing $auxdir with build-aux.
51600
51601 2006-01-11  Simon Josefsson  <jas@extundo.com>
51602
51603         * lib/stdint_.h (SIZE_MAX): Add missing (.
51604
51605 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
51606
51607         Sync from coreutils.
51608         * lib/md5.c: Fix commentary typos.
51609         (alignof, UNALIGNED_P): No need for a GCC-specific version.
51610         * lib/md5.h (__attribute__): Remove; unused.
51611         * lib/sha1.c: Fix commentary to match md5 better.
51612         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
51613         so that we don't need to worry about alignment.  All uses changed.
51614         This merges the 2005-10-28 md5 change into sha1.
51615
51616 2006-01-11  Jim Meyering  <jim@meyering.net>
51617
51618         Sync from coreutils.
51619         * lib/md5.c (OP): Fix spacing.
51620
51621 2006-01-11  Bruno Haible  <bruno@clisp.org>
51622
51623         Ensure automatic ordering between gl_LOCK and gl_ARGP.
51624         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
51625         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
51626
51627 2006-01-11  Bruno Haible  <bruno@clisp.org>
51628
51629         Ensure automatic ordering between gl_LOCK and gl_ARGP.
51630         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
51631         the "early" section as well.
51632
51633 2006-01-11  Bruno Haible  <bruno@clisp.org>
51634
51635         Avoid "ar: no archive members specified" error on MacOS X.
51636         * gnulib-tool (func_modules_add_dummy): New function.
51637         (func_import, func_create_testdir): Invoke it.
51638
51639 2006-01-11  Bruno Haible  <bruno@clisp.org>
51640
51641         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
51642         with $auxdir in AC_CONFIG_FILES statements.
51643
51644 2006-01-11  Bruno Haible  <bruno@clisp.org>
51645
51646         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
51647         Initialize also noinst_HEADERS to empty.
51648
51649 2006-01-11  Bruno Haible  <bruno@clisp.org>
51650
51651         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
51652         variables.
51653         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
51654         autoreconf.
51655
51656 2006-01-11  Bruno Haible  <bruno@clisp.org>
51657
51658         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
51659         overridable by the user.
51660         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51661
51662 2006-01-10  Simon Josefsson  <jas@extundo.com>
51663
51664         * modules/sys_socket: New file.
51665
51666 2006-01-10  Simon Josefsson  <jas@extundo.com>
51667
51668         * m4/sys_socket_h.m4: New file.
51669
51670 2006-01-10  Simon Josefsson  <jas@extundo.com>
51671
51672         * lib/socket_.h: New file.
51673
51674 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
51675
51676         * modules/readutmp (Maintainer): Add myself.
51677
51678 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
51679
51680         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
51681         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
51682         People who are still concerned with buggy memcmp implementations
51683         can invoke gl_FUNC_MEMCMP themselves.
51684
51685 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
51686
51687         * lib/regex_internal.h (BITSET_WORD_BITS):
51688         Work around a bug in 64-bit PGC (before version 6.1-2), where the
51689         preprocessor mishandles large unsigned values as if they were signed.
51690         Problem reported by Claudio Fontana in
51691         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
51692
51693 2006-01-10  Jim Meyering  <jim@meyering.net>
51694
51695         Avoid the double-free (first in fts_read, second in fts_close) that
51696         would occur when an `active' directory is made inaccessible (e.g.,
51697         via chmod a-x) during a traversal.
51698         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
51699         before returning.  Reproduce this failure by
51700         mkdir -p a/b; cd a; chmod a-x . b
51701         Reported by Stavros Passas.
51702
51703         Sync from coreutils.
51704         * lib/sha1.c: Tweak grammar in a comment.
51705
51706 2006-01-10  Jim Meyering  <jim@meyering.net>
51707
51708         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
51709         Patch by Joerg Sonnenberger.
51710
51711 2006-01-10  Bruno Haible  <bruno@clisp.org>
51712
51713         * modules/readutmp: Depend on module free.
51714         * modules/strtok_r: Depend on module restrict.
51715
51716 2006-01-10  Bruno Haible  <bruno@clisp.org>
51717
51718         * modules/gettext (configure.ac): Add an invocation of
51719         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
51720
51721 2006-01-10  Bruno Haible  <bruno@clisp.org>
51722
51723         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
51724         Reported by Werner Lemberg <wl@gnu.org>.
51725
51726 2006-01-10  Bruno Haible  <bruno@clisp.org>
51727
51728         * lib/localcharset.c: Update from GNU gettext.
51729
51730 2006-01-10  Bruno Haible  <bruno@clisp.org>
51731
51732         * lib/argp.h (__const): Remove macro. Use const instead.
51733         * lib/argp-fmtstream.h (__const): Likewise.
51734         * lib/glob_.h (__const): Remove macro.
51735         * lib/glob-libc.h: Use const instead of __const.
51736
51737 2006-01-10  Bruno Haible  <bruno@clisp.org>
51738
51739         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
51740         variable.
51741         Needed to avoid an automake error regarding the 'gettext' module.
51742
51743 2006-01-09  Simon Josefsson  <jas@extundo.com>
51744
51745         * modules/inet_ntop (Depends-on): Add restrict.
51746
51747 2006-01-09  Simon Josefsson  <jas@extundo.com>
51748
51749         * modules/gc-rijndael-tests (License): Put under LGPL.
51750
51751         * modules/gc-des-tests (License): Likewise.
51752
51753         * modules/gc-arcfour-tests (License): Likewise.
51754
51755         * modules/gc-arctwo-tests (License): Likewise.
51756
51757         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
51758
51759         * modules/gc-hmac-sha1-tests (Files): Likewise.
51760
51761         * modules/gc-hmac-md5-tests (License): Likewise.
51762
51763         * modules/gc-sha1-tests (License): Likewise.
51764
51765         * modules/gc-md5-tests (License): Likewise.
51766
51767         * modules/gc-md4-tests (License): Likewise.
51768
51769         * modules/gc-md2-tests (License): Likewise.
51770
51771         * modules/gc-tests (License): Likewise.
51772
51773         * modules/des-tests (License): Likewise.
51774
51775         * modules/md4-tests (License): Likewise.
51776
51777         * modules/md2-tests (License): Likewise.
51778
51779 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
51780
51781         Sync from coreutils:
51782
51783         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
51784         * modules/lib-ignore: New file.
51785         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
51786         chdir-safer.m4, lchmod.m4.
51787         * modules/openat: Add mkdirat.c, openat-priv.h.
51788
51789 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
51790
51791         Sync from coreutils.
51792         * m4/lib-ignore.m4: New file.
51793         * m4/lchmod.m4: New file.
51794
51795 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
51796
51797         Sync from coreutils.
51798         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
51799         for write access: POSIX says that must fail.
51800         * lib/fts.c (diropen): Likewise.
51801         * lib/save-cwd.c (save_cwd): Likewise.
51802         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
51803         well, for minor improvements on hosts that lack O_DIRECTORY.
51804         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
51805         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
51806         Fall back on chown if open failed with EACCES.
51807
51808         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
51809         Report an error at compile-time if only a 1-second nominal clock
51810         resolution is found.
51811
51812         * lib/lchmod.h: New file.
51813         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
51814         (make_dir_parents): Use lchown rather than chown, and
51815         lchmod rather than chmod.
51816
51817         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
51818         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
51819         "proc" reported by n0dalus.
51820
51821         * lib/mountlist.c: Include <limits.h>.
51822         (dev_from_mount_options)
51823         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
51824         New function.  It no longer assumes "dev=" has the System V meaning
51825         on Linux (since it doesn't).  It also parses "dev=" more carefully.
51826         (read_file_system_list)
51827         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
51828         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
51829         dev= in that case.
51830
51831         * lib/posixtm.h (PDS_PRE_2000): New macro.
51832         * lib/posixtm.c (year): Arg is now syntax_bits rather than
51833         allow_century.  All usages changed.  Reject dates outside the range
51834         1969-1999 if PDS_PRE_2000 is used.
51835
51836 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
51837
51838         Sync from coreutils.
51839         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
51840         (Time of day items): Mention the possibility of leap seconds.
51841         Problem reported by Dr. David Alan Gilbert.
51842
51843 2006-01-09  Jim Meyering  <jim@meyering.net>
51844
51845         Sync from coreutils.
51846
51847         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
51848
51849         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
51850
51851         * lib/modechange.c (mode_compile): Reject an invalid mode string
51852         that starts with an octal digit.  From Andreas Gruenbacher.
51853
51854         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
51855         and dup to open_safer and dup_safer, respectively.
51856         (openat_permissive): Fix typo in comment.
51857
51858         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
51859         "gettext.h"; either no longer needed or are guaranteed by openat.h.
51860         (_): Remove; no longer needed.
51861         (openat): Renamed from rpl_openat; no need for rpl_openat
51862         since openat.h renames openat for us.
51863         Replace most of the body with a call to openat_permissive,
51864         to avoid duplicate code.
51865         Port to (probably hypothetical) environments were mode_t is
51866         wider than int.
51867         (openat_permissive): Require mode arg, so that we can check
51868         types better.  Put it just after flags.  Change cwd failure
51869         indicator from pointer-to-bool to pointer-to-errno-value.
51870         All callers changed.
51871         Invoke openat_save_fail and/or openat_restore_fail if
51872         cwd_errno is null, so that openat can call us.
51873         (openat_permissive, fdopendir, fstatat, unlinkat):
51874         Simplify errno handling to avoid some duplicate code,
51875         as it's OK to set errno on success.
51876         * lib/openat.h: Revamp code so that function macros depend on
51877         __OPENAT_PREFIX only, not also on AT_FDCWD.
51878         (openat_ro): Remove.  Caller changed to use openat_permissive.
51879         (openat_permissive): Now a macro, if not a function.
51880         (openat_restore_fail, openat_save_fail): Now always functions,
51881         since mkdirat needs them even if __OPENAT_PREFIX is defined.
51882
51883         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
51884         and openat.c.
51885         * lib/mkdirat.c: Include openat-priv.h.
51886         Remove definitions of macros defined therein.
51887         * lib/openat.c: Likewise.
51888
51889         * lib/mkdirat.c (mkdirat): New file and function.
51890         * lib/openat.h (mkdirat): Declare.
51891
51892         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
51893
51894         * lib/openat.h (openat_permissive): Declare.
51895         (openat_ro): Define.
51896
51897         * lib/openat.c (EXPECTED_ERRNO): New macro.
51898         (openat_permissive): New function -- used in remove.c rewrite.
51899         (all functions): Set errno just before returning, only if there
51900         was an actual failure.
51901         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
51902
51903         Emulate openat-family functions using Linux's procfs, if possible.
51904         Idea and some code based on Ulrich Drepper's glibc changes.
51905
51906         * lib/openat.c: (BUILD_PROC_NAME): New macro.
51907         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
51908         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
51909         before falling back on save_cwd and restore_cwd.
51910         (fdopendir, fstatat, unlinkat): Likewise.
51911
51912         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
51913         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
51914
51915         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
51916         as second argument to va_arg.  Otherwise, some versions of gcc
51917         warn that `if this code is reached, the program will abort'.
51918
51919 2006-01-09  Jim Meyering  <jim@meyering.net>
51920
51921         Sync from coreutils.
51922         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
51923         Require openat-priv.h.
51924
51925 2006-01-09  Bruno Haible  <bruno@clisp.org>
51926
51927         * modules/strnlen (Include): Use strnlen.h.
51928
51929 2006-01-09  Bruno Haible  <bruno@clisp.org>
51930
51931         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
51932
51933 2006-01-09  Bruno Haible  <bruno@clisp.org>
51934
51935         * lib/sysexit_.h (EX_OK): New macro.
51936         Suggested by Martin Lambers <marlam@marlam.de>.
51937
51938 2006-01-09  Bruno Haible  <bruno@clisp.org>
51939
51940         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
51941         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
51942
51943 2006-01-09  Bruno Haible  <bruno@clisp.org>
51944
51945         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
51946         numbers.
51947
51948 2006-01-09  Bruno Haible  <bruno@clisp.org>
51949
51950         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
51951         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
51952         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
51953         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
51954
51955 2006-01-09  Bruno Haible  <bruno@clisp.org>
51956
51957         * build-aux/javacomp.sh.in: New file, moved from lib/.
51958         * modules/javacomp-script (Files): Update.
51959         (configure.ac): Add AC_CONFIG_FILES invocation.
51960         (EXTRA_DIST): Remove variable.
51961
51962         * build-aux/javaexec.sh.in: New file, moved from lib/.
51963         * modules/javaexec (Files): Update.
51964         (configure.ac): Add AC_CONFIG_FILES invocation.
51965         (EXTRA_DIST): Remove javaexec.sh.in.
51966
51967         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
51968         * modules/csharpcomp-script (Files): Update.
51969         (configure.ac): Add AC_CONFIG_FILES invocation.
51970         (EXTRA_DIST): Remove variable.
51971
51972         * build-aux/csharpexec.sh.in: New file, moved from lib/.
51973         * modules/csharpexec (Files): Update.
51974         (configure.ac): Add AC_CONFIG_FILES invocation.
51975         (EXTRA_DIST): Remove csharpexec.sh.in.
51976
51977 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
51978
51979         Sync from coreutils.
51980
51981         Add POSIX ACL support
51982         * lib/acl.h (copy_acl, set_acl): Add declarations.
51983         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
51984         systems other than Linux.
51985         (chmod_or_fchmod): New function: use fchmod when possible,
51986         and chmod otherwise.
51987         (file_has_acl): Add a POSIX ACL implementation, with a
51988         Linux-specific subcase.
51989         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
51990         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
51991         acls are unsupported.
51992         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
51993         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
51994         are unsupported.
51995
51996 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
51997
51998         Sync from coreutils.
51999         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
52000
52001 2006-01-07  Bruno Haible  <bruno@clisp.org>
52002
52003         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
52004         gl_EARLY.
52005
52006 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
52007
52008         * lib/strftime.c (tzname): Don't declare if it is already #defined.
52009         Problem reported for Mingw by Mark Junker.
52010
52011 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
52012
52013         * README: Gnulib normally doesn't generate a tarball.
52014
52015 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
52016
52017         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
52018         long int, not int, for nanosecond counts, so that people who are
52019         used to POSIX struct timespec won't be surprised.  Reported by Jim
52020         Meyering.
52021
52022 2005-12-28  Bruno Haible  <bruno@clisp.org>
52023
52024         * build-aux/config.rpath: Update from GNU gettext.
52025
52026 2005-12-16  Jim Meyering  <jim@meyering.net>
52027
52028         * modules/fprintftime: New module.
52029         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
52030
52031 2005-12-16  Jim Meyering  <jim@meyering.net>
52032
52033         * m4/fprintftime.m4: New file.
52034
52035 2005-12-16  Jim Meyering  <jim@meyering.net>
52036
52037         * lib/fprintftime.c, lib/fprintftime.h: New files.
52038
52039 2005-12-15  Simon Josefsson  <jas@extundo.com>
52040
52041         * modules/socklen (configure.ac): Fix M4 macro name, to align with
52042         new m4/socklen.m4.
52043
52044 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
52045
52046         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
52047         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
52048
52049 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
52050
52051         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
52052         * lib/argp-help.c (fill_in_uparams): Check if the constructed
52053         struct uparams is valid. Fall back to the default values if it is
52054         not.
52055
52056 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
52057
52058         * modules/argp (Files): Add argp-pin.c
52059         (Depends-on): dirname
52060         (lib_SOURCES): Add argp-pin.c
52061
52062 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
52063
52064         * m4/argp.m4:  Check if program_invocation_name and
52065         program_invocation_short_name are declared and define appropriate
52066         macros if they are not.
52067
52068 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
52069
52070         * lib/argp-help.c (__argp_base_name): New function
52071         (__argp_short_program_name): Rewrite using __argp_base_name
52072         * lib/argp-namefrob.h: Define program_invocation_name and
52073         program_invocation_short_name if requested
52074         (__argp_base_name): Add prototype
52075         * lib/argp-parse.c (argp_def): Use gettext wrappers
52076         (argp_default_parser): Use __argp_base_name
52077         * lib/argp-pin.c: New file. Defines program_invocation_name and
52078         program_invocation_short_name on systems that lack them.
52079
52080 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
52081
52082         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
52083         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
52084         porting problem reported by Georg Schwarz in
52085         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
52086
52087 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
52088
52089         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
52090         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
52091         porting problem reported by Georg Schwarz in
52092         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
52093
52094 2005-12-05  Bruno Haible  <bruno@clisp.org>
52095
52096         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
52097         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
52098         Reported by Mark Junker <mjscod@gmx.de>.
52099
52100 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
52101
52102         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
52103         Use implementation from Albert Chin, with some
52104         comments/corrections by Stepan Kasal and myself.
52105
52106 2005-12-02  Bruno Haible  <bruno@clisp.org>
52107
52108         * gnulib-tool (func_import): Accept GPLed build tool modules when
52109         --lgpl is given.
52110         * modules/csharpcomp-script: New file.
52111         * modules/csharpcomp: Depend on it.
52112         * modules/javacomp-script: New file.
52113         * modules/javacomp: Depend on it.
52114         Suggested by Simon Josefsson.
52115
52116 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
52117
52118         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
52119         statement, to work around an HP-UX 10.20 compiler bug reported by
52120         Peter O'Gorman.
52121
52122 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
52123
52124         * modules/savedir (Depends-on): Add openat.
52125
52126 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
52127
52128         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
52129         (uintmax_t) [defined uintmax_t]: Do not declare.
52130         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
52131         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
52132         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
52133         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
52134         sake of portability to weird hosts that C allows (though we don't
52135         know of any practical examples).
52136
52137         * lib/savedir.h (fdsavedir): New decl.
52138         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
52139         contains most of the former guts of savedir.
52140         (savedir): Use savedirstream.
52141         Include "openat.h".
52142
52143 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
52144
52145         * modules/obstack (Files): Add m4/ulonglong.m4.
52146         Problem reported by Davide Angelocola.
52147
52148 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
52149
52150         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
52151         coreutils no longer futzes with rounding modes.
52152
52153 2005-11-14  Jim Meyering  <jim@meyering.net>
52154
52155         * lib/mkstemp-safer.c: Include <config.h>, required for possible
52156         replacement of mkstemp.
52157
52158 2005-11-10  Simon Josefsson  <jas@extundo.com>
52159
52160         * lib/readline.c: Remove EOL.
52161
52162 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
52163
52164         * modules/gethrxtime (Depends-on): Add gettime.
52165
52166 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
52167
52168         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
52169         or gettimeofday; no longer needed.
52170
52171 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
52172
52173         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
52174         time business.
52175         (gethrxtime) [! (HAVE_NANOUPTIME
52176         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
52177         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
52178         our own approximation.
52179
52180 2005-11-08  Eric Blake  <ebb9@byu.net>
52181
52182         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
52183
52184 2005-11-08  Eric Blake  <ebb9@byu.net>
52185
52186         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
52187
52188 2005-11-04  Bruno Haible  <bruno@clisp.org>
52189
52190         * gnulib-tool: Implement --update mode.
52191
52192 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
52193
52194         Fix porting problem reported by Theodoros V. Kalamatianos.
52195         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
52196         Don't assume that futimes failing means we must fail.
52197
52198 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
52199
52200         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
52201         variables to suggest the intended function of the PATH_MAX check.
52202
52203 2005-10-30  Kean Johnston  <jkj@sco.com>
52204
52205         Trivial changes to support SCO systems.
52206         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
52207         as PATH_MAX.
52208         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
52209         where __ptr is null when no I/O is pending.
52210
52211 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
52212
52213         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
52214         leave errno alone.  Problem reported by Dmitry V. Levin.
52215
52216 2005-10-28  Simon Josefsson  <jas@extundo.com>
52217
52218         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
52219         Test more.
52220
52221         * tests/test-gc-md2.c, tests/test-md2.c: New files.
52222
52223         * modules/md2, modules/md2-tests: New files.
52224
52225 2005-10-28  Simon Josefsson  <jas@extundo.com>
52226
52227         * m4/inet_ntop.m4: More tests.
52228
52229         * m4/gc-md2.m4, md2.m4: New file.
52230
52231 2005-10-28  Simon Josefsson  <jas@extundo.com>
52232
52233         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
52234         "restrict" keywords, as per POSIX.  Protect the function
52235         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
52236         Don't use K&R prototypes.  Check the sprintf return values.
52237         Re-define EAFNOSUPPORT if not present.  Indent.
52238
52239         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
52240         suggested by Bruno Haible <bruno@clisp.org>.
52241
52242         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
52243
52244         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
52245
52246         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
52247         libgcrypt).
52248
52249         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
52250
52251         * lib/md2.h, lib/md2.c: New files.
52252
52253 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
52254
52255         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
52256         errno alone.  Problem reported by Frederic Jolliton.
52257
52258 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
52259
52260         * modules/verify (License): Change from GPL to LGPL.  This is a
52261         tiny module and there are apparently near-equivalents that are
52262         under the BSD license.
52263
52264 2005-10-24  Simon Josefsson  <jas@extundo.com>
52265
52266         * modules/sha1: Relicense to LGPL.
52267
52268 2005-10-24  Simon Josefsson  <jas@extundo.com>
52269
52270         * lib/md4.h: Shrink buffer size, now that we changed the type.
52271
52272 2005-10-23  Simon Josefsson  <jas@extundo.com>
52273
52274         * gnulib-tool (func_import): Fix --tests-base.
52275
52276 2005-10-22  Simon Josefsson  <jas@extundo.com>
52277
52278         * modules/arcfour (Depends-on): Need stdint.
52279
52280 2005-10-22  Simon Josefsson  <jas@extundo.com>
52281
52282         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
52283         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
52284
52285 2005-10-22  Simon Josefsson  <jas@extundo.com>
52286
52287         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
52288         suggested by Bruno Haible <bruno@clisp.org>.
52289
52290 2005-10-22  Simon Josefsson  <jas@extundo.com>
52291
52292         * lib/crc.h: Include stddef.h, for size_t.
52293
52294 2005-10-22  Simon Josefsson  <jas@extundo.com>
52295
52296         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
52297         arcfour_context struct (simplify test vector testing in GNU
52298         Shishi).
52299
52300 2005-10-21  Simon Josefsson  <jas@extundo.com>
52301
52302         * modules/des, modules/des-tests: New files.
52303
52304         * modules/gc-des, modules/gc-des-tests: New files.
52305
52306         * tests/test-des.c, tests/test-gc-des.c: New file.
52307
52308 2005-10-21  Simon Josefsson  <jas@extundo.com>
52309
52310         * modules/arctwo, modules/arctwo-tests: New files.
52311
52312         * tests/test-arctwo.c: New file.
52313
52314         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
52315
52316         * tests/test-gc-arctwo.c: New file.
52317
52318 2005-10-21  Simon Josefsson  <jas@extundo.com>
52319
52320         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
52321         Bruno Haible <bruno@clisp.org>.
52322
52323         * m4/gc-des.m4: New file.
52324
52325 2005-10-21  Simon Josefsson  <jas@extundo.com>
52326
52327         * m4/arctwo.m4: New file.
52328
52329         * m4/gc-arctwo.m4: New file.
52330
52331 2005-10-21  Simon Josefsson  <jas@extundo.com>
52332
52333         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
52334         block.
52335
52336 2005-10-21  Simon Josefsson  <jas@extundo.com>
52337
52338         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
52339         <bruno@clisp.org>.
52340
52341         * lib/hmac-sha1.c (hmac_sha1): Likewise.
52342
52343         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
52344         Bruno Haible <bruno@clisp.org>.
52345
52346         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
52347         <bruno@clisp.org>.
52348
52349 2005-10-21  Simon Josefsson  <jas@extundo.com>
52350
52351         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
52352
52353 2005-10-21  Simon Josefsson  <jas@extundo.com>
52354
52355         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
52356
52357 2005-10-21  Simon Josefsson  <jas@extundo.com>
52358
52359         * lib/des.h, lib/des.c: New files.
52360
52361         * lib/gc-gnulib.c: Support DES.c
52362
52363 2005-10-21  Simon Josefsson  <jas@extundo.com>
52364
52365         * lib/arctwo.h, lib/arctwo.c: New files.
52366
52367         * lib/gc-gnulib.c: Support ARCTWO.
52368
52369 2005-10-21  Simon Josefsson  <jas@extundo.com>
52370
52371         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
52372         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52373
52374 2005-10-21  Simon Josefsson  <jas@extundo.com>
52375
52376         * gnulib-tool (func_import, func_create_testdir): Define automake
52377         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
52378         Makefile.am snippet),
52379         suggested by Bruno Haible <bruno@clisp.org>.
52380
52381         * modules/gc (Makefile.am): Use it.
52382
52383 2005-10-21  Bruno Haible  <bruno@clisp.org>
52384
52385         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
52386         patch.
52387
52388 2005-10-19  Simon Josefsson  <jas@extundo.com>
52389
52390         * tests/test-gc-rijndael.c: New file.
52391
52392         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
52393
52394 2005-10-19  Simon Josefsson  <jas@extundo.com>
52395
52396         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
52397         interface too.
52398
52399 2005-10-19  Simon Josefsson  <jas@extundo.com>
52400
52401         * tests/test-gc-arcfour.c: New file.
52402
52403         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
52404
52405 2005-10-19  Simon Josefsson  <jas@extundo.com>
52406
52407         * modules/gc-md4, modules/gc-md4-tests: New file.
52408
52409         * tests/test-gc-md4.c: New file.
52410
52411 2005-10-19  Simon Josefsson  <jas@extundo.com>
52412
52413         * m4/gc-md4.m4: New file.
52414
52415 2005-10-19  Simon Josefsson  <jas@extundo.com>
52416
52417         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
52418         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
52419         <kasal@ucw.cz>.
52420
52421 2005-10-19  Simon Josefsson  <jas@extundo.com>
52422
52423         * m4/gc-arcfour.m4: New file.
52424
52425         * m4/gc-rijndael.m4: New file.
52426
52427 2005-10-19  Simon Josefsson  <jas@extundo.com>
52428
52429         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
52430
52431 2005-10-19  Simon Josefsson  <jas@extundo.com>
52432
52433         * lib/gc-gnulib.c: Support ARCFOUR.
52434
52435 2005-10-19  Simon Josefsson  <jas@extundo.com>
52436
52437         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
52438         support.
52439
52440         * lib/gc.h: Add ECB enum type.
52441
52442         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
52443
52444 2005-10-18  Simon Josefsson  <jas@extundo.com>
52445
52446         * tests/test-md5.c: New file.
52447
52448         * modules/md5-tests: New file.
52449
52450 2005-10-18  Simon Josefsson  <jas@extundo.com>
52451
52452         * tests/test-md4.c: New file.
52453
52454         * modules/md4, modules/md4-tests: New files.
52455
52456 2005-10-18  Simon Josefsson  <jas@extundo.com>
52457
52458         * m4/md4.m4: New file.
52459
52460 2005-10-18  Simon Josefsson  <jas@extundo.com>
52461
52462         * lib/md4.h, lib/md4.c: New files, based on md5.?.
52463
52464 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
52465
52466         * gnulib-tool (func_create_testdir): Omit the second check whether
52467         BUILT_SOURCES in nonempty.
52468
52469 2005-10-17  Simon Josefsson  <jas@extundo.com>
52470
52471         * tests/test-rijndael.c: New file.
52472
52473 2005-10-17  Simon Josefsson  <jas@extundo.com>
52474
52475         * modules/sha1: Depend on stdint instead of md5.
52476
52477         * modules/md5: Depend on stdint, remove uint32_t.
52478
52479 2005-10-17  Simon Josefsson  <jas@extundo.com>
52480
52481         * modules/gc-sha1-tests: New file.
52482
52483         * tests/test-gc-sha1.c: New file.
52484
52485 2005-10-17  Simon Josefsson  <jas@extundo.com>
52486
52487         * m4/md5.m4: Remove call to uint32_t.m4.
52488
52489 2005-10-17  Simon Josefsson  <jas@extundo.com>
52490
52491         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
52492
52493         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
52494         md5.h.
52495
52496         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
52497
52498         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
52499
52500 2005-10-17  Simon Josefsson  <jas@extundo.com>
52501
52502         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
52503
52504 2005-10-17  Simon Josefsson  <jas@extundo.com>
52505
52506         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
52507
52508 2005-10-17  Simon Josefsson  <jas@extundo.com>
52509
52510         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
52511
52512         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
52513
52514 2005-10-17  Bruno Haible  <bruno@clisp.org>
52515
52516         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
52517         that it can also be used in a test.
52518
52519 2005-10-16  Bruno Haible  <bruno@clisp.org>
52520
52521         * gnulib-tool (func_emit_tests_Makefile_am): Also define
52522         TESTS_ENVIRONMENT, so that individual tests can augment it.
52523
52524         * gnulib-tool (func_create_testdir): Use an intermediate target for
52525         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
52526         macros, like $(ALLOCA_H), which cannot be passed through the command
52527         line.
52528
52529 2005-10-15  Simon Josefsson  <jas@extundo.com>
52530
52531         * modules/rijndael-tests: New file.
52532
52533         * modules/rijndael: New file.
52534
52535 2005-10-15  Simon Josefsson  <jas@extundo.com>
52536
52537         * m4/rijndael.m4: New file.
52538
52539 2005-10-15  Simon Josefsson  <jas@extundo.com>
52540
52541         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
52542
52543         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
52544
52545 2005-10-14  Simon Josefsson  <jas@extundo.com>
52546
52547         * tests/test-arcfour.c: New file.
52548
52549         * modules/arcfour, modules/arcfour-tests: New files.
52550
52551 2005-10-14  Simon Josefsson  <jas@extundo.com>
52552
52553         * m4/arcfour.m4: New file.
52554
52555 2005-10-14  Simon Josefsson  <jas@extundo.com>
52556
52557         * lib/arcfour.h, lib/arcfour.c: New files.
52558
52559 2005-10-14  Roland McGrath  <roland@redhat.com>
52560
52561         Import from libc.  [BZ #1331]
52562         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
52563         macro argument.
52564         Reported by Matej Vela <vela@debian.org>.
52565
52566 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
52567
52568         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
52569         include <wchar.h>; no longer needed.
52570
52571 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
52572
52573         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
52574
52575 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
52576         and  Ulrich Drepper  <drepper@redhat.com>
52577
52578         Import from libc.
52579         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
52580         instead of inline stream orientation test and two separate
52581         function calls.  Pay no attention to USE_IN_LIBIO.
52582
52583 2005-10-13  Simon Josefsson  <jas@extundo.com>
52584
52585         * modules/gc-hmac-md5-tests: New file.
52586
52587         * tests/test-gc-hmac-sha1.c: New file.
52588
52589         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
52590
52591         * modules/gc-hmac-md5-tests: New file.
52592
52593         * tests/test-gc-md5.c: New file.
52594
52595         * modules/gc-md5-tests: New file.
52596
52597 2005-10-13  Simon Josefsson  <jas@extundo.com>
52598
52599         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
52600         Move memory allocation outside of loop.
52601
52602 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
52603
52604         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
52605         intermediate directory is in a read-only file system.  Problem
52606         reported by Eric Blake.
52607
52608 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
52609
52610         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
52611
52612 2005-10-12  Simon Josefsson  <jas@extundo.com>
52613
52614         * tests/test-hmac-sha1.c: New file.
52615
52616         * modules/hmac-sha1-tests: New file.
52617
52618         * modules/hmac-sha1: New file.
52619
52620 2005-10-12  Simon Josefsson  <jas@extundo.com>
52621
52622         * modules/gc-sha1: New file.
52623
52624 2005-10-12  Simon Josefsson  <jas@extundo.com>
52625
52626         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
52627
52628         * tests/test-gc-pbkdf2-sha1.c: New file.
52629
52630 2005-10-12  Simon Josefsson  <jas@extundo.com>
52631
52632         * modules/gc-md5, modules/gc-hmac-md5: New files.
52633
52634         * modules/gc (Files): Remove md5, memxor and hmac files.
52635
52636 2005-10-12  Simon Josefsson  <jas@extundo.com>
52637
52638         * m4/gc-pbkdf2-sha1.m4: New file.
52639
52640         * m4/gc-hmac-sha1.m4: New file.
52641
52642         * m4/gc-sha1: New file.
52643
52644         * m4/hmac-sha1.m4: New file.
52645
52646 2005-10-12  Simon Josefsson  <jas@extundo.com>
52647
52648         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
52649
52650         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
52651
52652 2005-10-12  Simon Josefsson  <jas@extundo.com>
52653
52654         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
52655         suggested by Bruno Haible <bruno@clisp.org>.
52656
52657 2005-10-12  Simon Josefsson  <jas@extundo.com>
52658
52659         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
52660
52661 2005-10-12  Simon Josefsson  <jas@extundo.com>
52662
52663         * lib/gc-pbkdf2-sha1.c: New file.
52664
52665         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
52666
52667 2005-10-12  Simon Josefsson  <jas@extundo.com>
52668
52669         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
52670
52671         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
52672
52673 2005-10-12  Simon Josefsson  <jas@extundo.com>
52674
52675         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
52676         GC_USE_HMAC_MD5, respectively.
52677
52678         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
52679         (gc_md5): Fix typo.
52680
52681         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
52682
52683         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
52684
52685         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
52686
52687 2005-10-12  Bruno Haible  <bruno@clisp.org>
52688
52689         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
52690         Reported by Stepan Kasal <kasal@ucw.cz>.
52691
52692 2005-10-11  Simon Josefsson  <jas@extundo.com>
52693
52694         * tests/test-crc.c: New file.
52695
52696         * modules/crc, modules/crc-tests: New files.
52697
52698 2005-10-11  Simon Josefsson  <jas@extundo.com>
52699
52700         * m4/crc.m4: New file.
52701
52702 2005-10-11  Simon Josefsson  <jas@extundo.com>
52703
52704         * lib/gc.h: Add gc_hash and gc_hash_buffer.
52705
52706         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
52707
52708         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
52709
52710 2005-10-11  Simon Josefsson  <jas@extundo.com>
52711
52712         * lib/crc.h, lib/crc.c: New files.
52713
52714         * lib/gc.h (gc_hash_buffer): Add doc.
52715
52716 2005-10-11  Bruno Haible  <bruno@clisp.org>
52717
52718         * modules/c-strcasestr: New file.
52719         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
52720
52721 2005-10-11  Bruno Haible  <bruno@clisp.org>
52722
52723         * modules/c-strcase: New file.
52724         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
52725
52726 2005-10-11  Bruno Haible  <bruno@clisp.org>
52727
52728         * lib/strcasecmp.c: Include limits.h.
52729         (strcasecmp): Avoid integer overflow on exotic platforms.
52730         * lib/strncasecmp.c: Include limits.h.
52731         (strncasecmp): Avoid integer overflow on exotic platforms.
52732         Reported by Paul Eggert.
52733
52734 2005-10-11  Bruno Haible  <bruno@clisp.org>
52735
52736         * lib/c-strcasestr.h: New file, from GNU gettext.
52737         * lib/c-strcasestr.c: New file, from GNU gettext.
52738
52739 2005-10-11  Bruno Haible  <bruno@clisp.org>
52740
52741         * lib/c-strcase.h: New file, from GNU gettext.
52742         * lib/c-strcasecmp.c: New file, from GNU gettext.
52743         * lib/c-strncasecmp.c: New file, from GNU gettext.
52744
52745 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
52746
52747         * modules/mempcpy (License): GPL -> LGPL.
52748         * modules/strchrnul (License): Likewise.
52749         * modules/sysexits (License): Likewise.
52750
52751 2005-10-08  Simon Josefsson  <jas@extundo.com>
52752
52753         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
52754
52755 2005-10-07  Simon Josefsson  <jas@extundo.com>
52756
52757         * m4/memxor.m4: Remove gl_C_RESTRICT call.
52758
52759 2005-10-06  Simon Josefsson  <jas@extundo.com>
52760
52761         * tests/test-hmac-md5.c: New file.
52762
52763         * modules/hmac-md5-tests: New file.
52764
52765         * modules/hmac-md5: New file.
52766
52767 2005-10-06  Simon Josefsson  <jas@extundo.com>
52768
52769         * m4/hmac-md5.m4: New file.
52770
52771         * m4/memxor.m4: Require gl_C_RESTRICT.
52772
52773 2005-10-06  Simon Josefsson  <jas@extundo.com>
52774
52775         * lib/memxor.c (memxor): Avoid casts and warnings.
52776
52777 2005-10-06  Simon Josefsson  <jas@extundo.com>
52778
52779         * lib/hmac-md5.c: New file.
52780
52781         * lib/hmac.h: New file.
52782
52783 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
52784
52785         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
52786         promotes to int, not unsigned int, to catch the AIX 5.3
52787         compiler bug.
52788
52789 2005-10-05  Simon Josefsson  <jas@extundo.com>
52790
52791         * modules/memxor: New file.
52792
52793         * modules/iconv (Files): Move config.rpath to havelib, it is used
52794         there.
52795
52796         * modules/havelib (Files): Add config.rpath.
52797
52798 2005-10-05  Simon Josefsson  <jas@extundo.com>
52799
52800         * m4/memxor.m4: New file.
52801
52802 2005-10-05  Simon Josefsson  <jas@extundo.com>
52803
52804         * lib/memxor.c (memxor): Fix compiler error.
52805
52806         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
52807         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
52808
52809         * lib/memxor.h, lib/memxor.c: New files.
52810
52811         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
52812         we assume all systems have it, suggested by Jim Meyering
52813         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
52814         any systems lack sys/socket.h; mingw32 is known to lack it, but we
52815         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
52816         same reasons.
52817
52818 2005-10-05  Simon Josefsson  <jas@extundo.com>
52819
52820         * config/srclist.txt: Add glibc bug 1423 for md5.h.
52821
52822 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
52823
52824         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
52825         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
52826         needed, since the source code now assumes these .h files.
52827
52828 2005-10-05  Derek Price  <derek@ximbiot.com>
52829
52830         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
52831
52832 2005-10-05  Bruno Haible  <bruno@clisp.org>
52833
52834         * modules/stdint (License): Change to LGPL.
52835
52836 2005-10-04  Simon Josefsson  <jas@extundo.com>
52837
52838         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
52839         D. Baushke" <mdb@gnu.org>.
52840
52841 2005-10-04  Bruno Haible  <bruno@clisp.org>
52842
52843         * lib/verify.h (verify_true): Provide alternative definition for C++.
52844
52845 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
52846
52847         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
52848         (SSIZE_MAX): New macro, if not already defined.
52849         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
52850         than 2 GiB.
52851
52852 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
52853
52854         Sync from coreutils.
52855         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
52856         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
52857         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
52858         ULLONG_MAX doesn't work with 2.7.2.1.
52859
52860 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
52861
52862         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
52863         From Ben Pfaff.
52864
52865         * modules/exclude (Depends-on): Depend on verify.
52866         * modules/strtoimax (Depends-on): Likewise.
52867         * modules/utimecmp (Depends-on): Likewise.
52868
52869 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
52870
52871         * lib/exclude.c: Include verify.h.
52872         (verify): Remove.  All callers changed to use verify.h's version.
52873         * lib/strtoimax.c: Likewise.
52874         * lib/utimecmp.c: Likewis.e
52875
52876         Sync from coreutils.
52877         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
52878         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
52879         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
52880         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
52881         bother returning ENOSYS if settimeofday or stime fails; just let
52882         them return whatever errno they want to return.
52883         * lib/utimens.c: Include unistd.h, for dup2.
52884         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
52885         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
52886
52887 2005-10-02  Jim Meyering  <jim@meyering.net>
52888
52889         Sync from coreutils.
52890         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
52891         from glibc-2.2.5 that fails for read-only files.
52892
52893 2005-10-02  Jim Meyering  <jim@meyering.net>
52894
52895         Sync from coreutils.
52896         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
52897         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
52898         `#if HAVE_CONFIG_H'.
52899         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
52900         Remove AT_FDCWD test.
52901         Do not consume the fd unless successful.
52902         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
52903         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
52904         block, so that we don't even try to compile it if settimeofday is
52905         available.  This works around a compilation failure on OSF1 V5.1,
52906         due to stime requiring a `long int*' while tv_sec is `int'.
52907
52908 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
52909
52910         Sync from coreutils.
52911         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
52912         against `yes', rather than just testing for nonempty.
52913
52914 2005-10-01  Simon Josefsson  <jas@extundo.com>
52915
52916         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
52917         and Darwin.
52918
52919         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
52920         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
52921         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
52922         freeaddrinfo and gai_strerror are declared by the POSIX headers.
52923         Check if struct addrinfo is declared.
52924
52925 2005-10-01  Simon Josefsson  <jas@extundo.com>
52926
52927         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
52928         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
52929         AI_* and EAI_* definitions.  Protect function declarations.
52930
52931 2005-10-01  Jim Meyering  <jim@meyering.net>
52932
52933         Sync from coreutils.
52934
52935         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
52936         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
52937         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
52938         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
52939         in the inet and nsl libraries.  Required on Solaris 5.7.
52940
52941 2005-10-01  Jim Meyering  <jim@meyering.net>
52942
52943         Sync from coreutils.
52944         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
52945         in the inet and nsl libraries.  Required on Solaris 5.7.
52946
52947 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
52948
52949         * lib/getdelim.c (getdelim): Remove unused variables.
52950
52951 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
52952
52953         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
52954         so that the code works even with ancient cpp.  Portability problem
52955         with GCC 2.7.2.1 reported by Thomas M.Ott.
52956
52957 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
52958
52959         * modules/regex (Depends-on): Add strcase.
52960
52961         * modules/gethostname (Licence): Change from GPL to LGPL, since
52962         gethostname.c is a trivial implementation of a standard library
52963         function.
52964         * modules/poll (License): Change from GPL to LGPL, since it's
52965         derived from LGPL code.
52966
52967 2005-09-27  Jim Meyering  <jim@meyering.net>
52968
52969         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
52970         HAVE_CONFIG_H.
52971
52972         * lib/intprops.h (signed_type_or_expr__): Define.
52973         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
52974         for unsigned types.
52975
52976 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
52977
52978         * lib/verify.h (verify_expr): Remove, replacing with:
52979         (verify_true): New macro that returns true instead of void.
52980         (verify_type__): Remove.
52981         (verify): Use verify_true rather than verify_type__.
52982
52983 2005-09-26  Bruno Haible  <bruno@clisp.org>
52984
52985         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
52986         is necessary.
52987         (lib_SOURCES): Remove mbchar.c.
52988         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
52989         (Files): Add m4/mbrtowc.m4.
52990         * modules/mbiter: Likewise.
52991         * modules/mbuiter: Likewise.
52992
52993 2005-09-26  Bruno Haible  <bruno@clisp.org>
52994
52995         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
52996         compile mbchar.c if they are not both present.
52997         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
52998         * m4/mbiter.m4 (gl_MBITER): Likewise.
52999         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
53000         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
53001         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
53002
53003 2005-09-25  Jim Meyering  <jim@meyering.net>
53004
53005         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
53006         also uses socklen_t.
53007
53008 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
53009
53010         * lib/utimens.c (ENOSYS): Define if not already defined.
53011         (futimens): Support having a null PATH if the file descriptor
53012         is nonnegative.
53013
53014         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
53015         Remove.
53016         (__attribute): Define to empty unless GCC 3.1 or later.
53017         This works around a core dump on OpenBSD 3.4, which has GCC
53018         2.95.3, which dumps core when given __attribute__(()).  It also
53019         simplifies other tests, since we really don't want to bother with
53020         worrying about which ancient version of GCC supported what.
53021         Original problem reported by Yoann Vandoorselaere, with part of
53022         the fix suggested by Derek Price.
53023
53024 2005-09-24  Jim Meyering  <jim@meyering.net>
53025
53026         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
53027         so we can once again use a positive bitfield width of 1 -- now we
53028         don't have to explain why we were using a bitfield width of 2.
53029
53030 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
53031
53032         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
53033         and similarly for the other external symbols.  Problem reported
53034         by James Gallager.
53035
53036         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
53037         bug reported by Jim Meyering.
53038
53039         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
53040         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
53041         not needed, since socklen is a prerequisite module.
53042
53043 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
53044
53045         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
53046         Problem reported by Eric Blake.
53047         (getaddrinfo): Initialize se so that it's not garbage.
53048         Redo internal storage allocation so that it doesn't make unportable
53049         assumptions about alignment.
53050         Fix a memory leak.
53051
53052         * lib/utimens.c (futimens): Use futimesat if available.
53053         Prefer it to futimes since it doesn't have the futimes bug.
53054
53055         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
53056         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
53057         Instead, declare a function that returns a pointer to an array,
53058         and use verify_type__ to declare the size of the array.
53059         Problem and germ of a solution reported by Bruno Haible.
53060         (verify_type__): Use 2, not 1, for bitfield size, to avoid
53061         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
53062
53063 2005-09-23  Jim Meyering  <jim@meyering.net>
53064
53065         Sync from coreutils.
53066         Correct build failure (socklen_t not defined) on at least
53067         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
53068         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
53069
53070 2005-09-23  Jim Meyering  <jim@meyering.net>
53071
53072         * modules/getaddrinfo (Depends-on): Add socklen.
53073
53074 2005-09-23  Bruno Haible  <bruno@clisp.org>
53075
53076         * tests/test-verify.c: New file.
53077
53078 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
53079
53080         Sync from coreutils.
53081
53082         * modules/argmatch (Depends-on): Add verify.
53083         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
53084         unistd-safer.
53085         * modules/save-cwd (Depends-on): Likewise.
53086
53087         * modules/openat (Files): Add lib/openat-die.c.
53088         (Depends-on): Remove error, exitfail.
53089         Add dirname.
53090
53091         * modules/verify: New file.
53092         * MODULES.html.sh (Diagnostics <assert.h>): New section,
53093         with "verify" module.
53094
53095 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
53096
53097         Sync from coreutils.
53098
53099         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
53100         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
53101         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
53102         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
53103         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
53104         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
53105         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
53106         Don't bother checking for string.h, stdlib.h, unistd.h.
53107         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
53108         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
53109         module's job.
53110         * m4/jm-macros.m4 (gl_MACROS): Likewise.
53111         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
53112
53113         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
53114         (gl_GETDATE): Use it.
53115
53116         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
53117
53118 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
53119
53120         Sync from coreutils.
53121
53122         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
53123         stat-time.h.
53124         * lib/argmatch.h: Include verify.h
53125         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
53126         (ARGMATCH_ASSERT): Remove; unused.
53127         * lib/canonicalize.c: Assume STDC_HEADERS.
53128         * lib/exclude.c: Include "strcase.h".
53129         * lib/regex_internal.h [!defined _LIBC]: Likewise.
53130         * lib/getusershell.c: Include stdio--.h rather than stdio.h
53131         and stdio-safer.h.
53132         (getusershell): Call fopen, not fopen_safer.
53133         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
53134         Do not include unistd-safer.h.
53135         (save_cwd): Don't call fd_safer; no longer needed
53136         now that we include fcntl--.h.
53137
53138         * lib/getdate.y (relative_time): New type.
53139         (RELATIVE_TIME_0): New constant.
53140         (parser_control): Use relative_time instead of doing it ourselves.
53141         (%union): Add new relative_time rel member.
53142         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
53143         Now typeless.
53144         (relunit, relunit_snumber): Now of type rel.
53145         (zone, rel, relunit, get_date): Adjust to above changes.
53146
53147         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
53148         Do not include unistd-safer.h.
53149         (getloadavg): Don't call fd_safer; no longer needed
53150         now that we include fcntl--.h.
53151
53152         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
53153         (make_dir_parents): Treat ENOSYS like EEXIST.
53154
53155         Improve quality of diagnostics on restore_cwd failure.
53156         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
53157         (make_dir_parents): Last arg is now int * (for errno), not bool *.
53158         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
53159         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
53160         each time through the loop.  Do not diagnose restore_cwd failure;
53161         that is the caller's job (and perhaps the caller does not care).
53162
53163         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
53164         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
53165         If the file already exists but is not a directory, don't bother
53166         to try to make its parents.
53167         Close potential file descriptor leak if we can't chdir("/") (!).
53168         Don't always return true if chdir($PWD) fails; return true only
53169         if the requested action was done successfully (except for the
53170         chdir($PWD)).
53171         Don't log final directory unless we actually made it.
53172         Refactor to avoid duplicate code to fix up permissions.
53173         Don't attempt to fix up parent permissions if chdir($PWD) fails.
53174
53175         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
53176         to make it a bit faster and (I hope) clearer.
53177         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
53178         Fix bug in formats like %2N.
53179
53180         * lib/verify.h: New file.
53181
53182 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
53183
53184         Sync from coreutils.
53185         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
53186
53187 2005-09-22  Jim Meyering  <jim@meyering.net>
53188
53189         Sync from coreutils.
53190
53191         * m4/lstat.m4 (gl_FUNC_LSTAT):
53192         Use AC_LIBSOURCES to require lstat.c and lstat.h.
53193         Remove obsolete comment.
53194         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
53195         * m4/xstrtod.m4: Likewise.
53196
53197         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
53198
53199 2005-09-22  Jim Meyering  <jim@meyering.net>
53200
53201         Sync from coreutils.
53202
53203         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
53204
53205         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
53206         the .tm_year member, since otherwise gcc-4.0 would now warn about
53207         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
53208
53209         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
53210         order to avoid an unsuppressible warning from gcc on 64-bit systems.
53211
53212         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
53213         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
53214         when run in a time zone for which daylight savings time is in effect
53215         for the starting date.
53216
53217         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
53218         stop us from restricting permissions of just-created absolute-named
53219         directories.
53220         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
53221         to restore initial working directory.
53222         * lib/mkdir-p.c (make_dir_parents): New parameter:
53223         different_working_dir, to tell caller if/when we change the working
53224         directory and are unable to return to the initial one.
53225         * lib/mkdir-p.h (make_dir_parents): Update prototype.
53226         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
53227         `return false'.  This fixes a bug introduced on 2004-07-30.
53228
53229         * lib/openat.c (fdopendir): Be sure to close the supplied
53230         file descriptor before returning.  This makes our replacement
53231         implementation a little closer to Solaris's, where fdopendir
53232         ties the file descriptor to the returned DIR* pointer.
53233         * lib/openat.c (unlinkat): New function.
53234         * lib/openat.h (unlinkat): Add prototype.
53235         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
53236         (openat_restore_fail): Rename from openat_restore_die.
53237         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
53238
53239         Provide an alternative to exiting immediately upon save_cwd or
53240         restore_cwd failure.  Now, an application can arrange e.g.,
53241         to perform a longjump in that case.
53242         * lib/openat.c: Include dirname.h.
53243         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
53244         (rpl_openat, fdopendir, fstatat): Call openat_save_die
53245         and openat_restore_die rather than calling error directly.
53246         Don't include "error.h" or "exitfail.h"; they're no longer needed.
53247
53248         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
53249         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
53250         define.
53251
53252         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
53253         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
53254                             int utc, int nanoseconds);
53255         Background:
53256         date should not have to allocate a megabyte of virtual memory to
53257         handle a format argument like +%1048575T.  When implemented with
53258         strftime, it must allocate such a buffer, use strftime to fill it
53259         in, print it, then free it.
53260         With fprintftime, it simply prints everything and exits.
53261         With no need for memory allocation, that's one fewer way to fail.
53262         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
53263         optional field width, not before, so we accept %9:z, not %:9z.
53264         (my_strftime): Be sure to use L_('x') for literals.
53265
53266         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
53267         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
53268         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
53269         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
53270         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
53271         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
53272         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
53273         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
53274         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
53275         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
53276         * lib/xgethostname.c, lib/xreadlink.c:
53277         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
53278
53279         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
53280         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
53281         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
53282         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
53283         and don't include <sys/file.h>).
53284
53285 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
53286
53287         Sync from coreutils.
53288
53289         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
53290         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
53291         [!LDAV_DONE]: Avoid unused variable warning.
53292
53293 2005-09-21  Bruno Haible  <bruno@clisp.org>
53294
53295         * lib/unicodeio.h (unicode_to_mb): New declaration.
53296
53297 2005-09-20  Derek Price  <derek@ximbiot.com>
53298
53299         * lib/getaddrinfo.c: Don't include <netdb.h> included from
53300         getaddrinfo.h.
53301
53302 2005-09-20  Bruno Haible  <bruno@clisp.org>
53303
53304         * gnulib-tool: Remove trailing slashes from the values specified for
53305         --source-base, --m4-base, --tests-base, --aux-dir.
53306         Suggested by Simon Josefsson <jas@extundo.com>.
53307
53308 2005-09-20  Bruno Haible  <bruno@clisp.org>
53309
53310         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
53311         func_modules_to_filelist, func_import, func_create_testdir): Make all
53312         sorting results locale-independent, so that gnulib-cache.m4 doesn't
53313         change when gnulib-tool is invoked in a different locale.
53314
53315 2005-09-19  Simon Josefsson  <jas@extundo.com>
53316
53317         * m4/socklen.m4: Fix typo.
53318
53319 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53320
53321         Use a consistent style for including <config.h>.
53322         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
53323         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
53324         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
53325         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
53326         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
53327         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
53328         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
53329         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
53330         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
53331         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
53332         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
53333         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
53334         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
53335         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
53336         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
53337         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
53338         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
53339         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
53340         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
53341         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
53342         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
53343         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
53344         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
53345         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
53346         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
53347         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
53348         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
53349         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
53350         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
53351         lib/xstrtoumax.c, lib/yesno.c:
53352         Standardize inclusion of config.h.
53353         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
53354         lib/inttostr.h:  Removed inclusion of config.h from header files.
53355         * lib/inttostr.c:  Adjusted in-tree users.
53356         * lib/timespec.h: Remove superfluous warning to include config.h.
53357         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
53358         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
53359         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
53360         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
53361         config.h with HAVE_CONFIG_H.
53362
53363 2005-09-19  Jim Meyering  <jim@meyering.net>
53364
53365         * modules/pathmax (License): Change to LGPL.
53366
53367 2005-09-19  Derek Price  <derek@ximbiot.com>
53368
53369         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
53370
53371 2005-09-19  Bruno Haible  <bruno@clisp.org>
53372
53373         * gnulib-tool (import): Provide default for --tests-base.
53374
53375 2005-09-19  Bruno Haible  <bruno@clisp.org>
53376
53377         * doc/quote.texi: New file, extracted from gnulib.texi.
53378         * doc/ctime.texi: New file, extracted from gnulib.texi.
53379         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
53380         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
53381         * doc/gnulib.texi: Include them.
53382
53383 2005-09-18  Bruno Haible  <bruno@clisp.org>
53384
53385         Portability fix.
53386         * gnulib-tool (func_readlink): New function.
53387         (func_ln_if_changed): Use it.
53388
53389 2005-09-18  Bruno Haible  <bruno@clisp.org>
53390
53391         * gnulib-tool: Support --with-tests also with --import.
53392         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
53393         (func_import): Use variables $testsbase and $inctests. Emit a
53394         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
53395         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
53396         SUBDIRS += $testsdir.
53397         (func_create_testdir): Update.
53398
53399 2005-09-18  Bruno Haible  <bruno@clisp.org>
53400
53401         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
53402         instead of $dry_run.
53403         (func_cp_if_changed, func_mv_if_changed): Remove functions.
53404         (func_ln_if_changed): Don't handle dry-run here.
53405         (func_import): In dry-run mode, detect more precisely which actions
53406         would be performed, and don't use "...ing" verbs.
53407
53408 2005-09-18  Bruno Haible  <bruno@clisp.org>
53409
53410         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
53411         (func_import): Use join on two temporary files instead of three nested
53412         loops, in order to determine which files are new or old.
53413
53414 2005-09-18  Bruno Haible  <bruno@clisp.org>
53415
53416         * gnulib-tool (func_import): Comment out code that spits out the
53417         new files with --dry-run.
53418
53419 2005-09-18  Bruno Haible  <bruno@clisp.org>
53420
53421         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
53422
53423 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
53424
53425         * lib/stat-time.h: New file.
53426         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
53427         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
53428         in a different way.
53429         (timespec_cmp): New function.
53430         * lib/utimecmp.c: Include stat-time.h.
53431         (SYSCALL_RESOLUTION): Depend on whether various struct stat
53432         members exist, not on the obsolescent ST_MTIM_NSEC.
53433         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
53434
53435 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
53436
53437         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
53438
53439 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
53440
53441         * MODULES.html.sh (File system functions): Add stat-time.
53442         * modules/stat-time: New file.
53443         * modules/timespec (Files): Remove m4/st_mtim.m4; this
53444         is now done in a different way, by the stat-time module.
53445         * modules/utimecmp (Depends-on): Add stat-time.
53446
53447 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
53448
53449         * m4/st_mtim.m4: Remove.  Superseded by...
53450         * m4/stat-time.m4: New file.
53451         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
53452         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
53453
53454 2005-09-15  Derek Price  <derek@ximbiot.com>
53455
53456         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
53457
53458 2005-09-15  Derek Price  <derek@ximbiot.com>
53459
53460         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
53461         * lib/regex_internal.c: Ditto, using this...
53462         (__GNUC_PREREQ): ...new macro.
53463         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
53464         using...
53465         (__GNUC_PREREQ): ...this new macro.
53466
53467         * lib/strstr.h: Include string.h. Define strstr as a macro here.
53468
53469 2005-09-15  Derek Price  <derek@ximbiot.com>
53470             Paul Eggert  <eggert@cs.ucla.edu>
53471
53472         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
53473         changes, consolidating in...
53474         * lib/regex_internal.h: ...this file.
53475
53476 2005-09-13  Jim Meyering  <jim@meyering.net>
53477
53478         * lib/canon-host.c: Filter through gnu indent and reword comments
53479         slightly.
53480         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
53481
53482 2005-09-13  Derek Price  <derek@ximbiot.com>
53483
53484         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
53485         failure.
53486         Reported by Jim Meyering  <jim@meyering.net>.
53487
53488 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
53489
53490         * lib/base64.c: Typo.
53491         (base64_encode): Put b64str in initialized data section.
53492
53493 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
53494
53495         Merge glibc and coreutils changes into gnulib, plus a few
53496         extra fixes.
53497         * lib/md5.c: Use #error rather than a string.
53498         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
53499         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
53500         (__attribute__): Define to empty for non recent-GCC.
53501         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
53502         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
53503         Renamed from their non-__ counterparts, with new macros replacing
53504         them if not _LIBC.  Add __THROW attribute.
53505         (rol): Remove.
53506         (struct md5_ctx): Align buffer if using GCC.
53507         * lib/sha1.h (struct sha1_ctx): Likewise.
53508         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
53509         The old name was backwards.
53510         (NOTSWAP): Remove; not used.
53511         (rol): New macro, moved here from md5.h.
53512         (sha1_process_block): Remove a FIXME that doesn't make sense.
53513
53514 2005-09-12  Derek Price  <derek@ximbiot.com>
53515
53516         Return usable errors from canon-host.
53517         * lib/canon-host.h: New file.
53518         * lib/canon-host.c (canon_host): Wrap...
53519         (canon_host_r): ...this new function, which now relies exclusively on
53520         getaddrinfo.
53521         (ch_strerror): New function.
53522         (last_cherror): New global.
53523         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
53524         interface.
53525         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
53526         void *.
53527         (freeaddrinfo): Free ai->ai_canonname when set.
53528
53529 2005-09-12  Derek Price  <derek@ximbiot.com>
53530
53531         Make canon-host require getaddrinfo.
53532         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
53533         AC_LIBSOURCE canon-host.h.  Call...
53534         (gl_PREREQ_CANON_HOST): ...this new function, which requires
53535         gl_GETADDRINFO.
53536         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
53537
53538 2005-09-12  Derek Price  <derek@ximbiot.com>
53539
53540         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
53541         LGPL.
53542         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
53543
53544 2005-09-12  Derek Price  <derek@ximbiot.com>
53545
53546         * lib/gai_strerror.c: Include config.h when available.  Include
53547         getaddrinfo.h before other headers to test interface.
53548         Reported by Larry Jones <lawrence.jones@ugs.com>.
53549
53550 2005-09-12  Derek Price  <derek@ximbiot.com>
53551             Paul Eggert  <eggert@cs.ucla.edu>
53552
53553         * modules/glob (Files): Add glob-libc.h.
53554
53555 2005-09-12  Derek Price  <derek@ximbiot.com>
53556             Paul Eggert  <eggert@cs.ucla.edu>
53557
53558         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
53559         glob_.h, glob-libc.h.
53560         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
53561
53562 2005-09-12  Derek Price  <derek@ximbiot.com>
53563             Paul Eggert  <eggert@cs.ucla.edu>
53564
53565         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
53566         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
53567         protecting things that should be done only in gnulib contexts.
53568         * lib/glob_.h: New file, containing only the glob things needed for
53569         gnulib.
53570         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
53571         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
53572         (glob, globfree, glob_pattern_p): Now defined simply in terms of
53573         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
53574         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
53575         and to respect the namespace rules better.
53576
53577 2005-09-08  Simon Josefsson  <jas@extundo.com>
53578
53579         * modules/socklen: New file.
53580
53581 2005-09-08  Simon Josefsson  <jas@extundo.com>
53582
53583         * m4/socklen.m4: New file.
53584
53585 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
53586
53587         * modules/utimens (Files): Add m4/utimbuf.m4, since
53588         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
53589         Reported by Sergey Poznyakoff.
53590
53591 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
53592
53593         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
53594         definitions, since that's the preferred style in glibc.
53595         Fix a minor spacing issue, and update copyright notice to match
53596         glibc's.
53597
53598 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
53599
53600         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
53601
53602 2005-09-06  Simon Josefsson  <jas@extundo.com>
53603
53604         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
53605         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
53606
53607 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
53608
53609         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
53610         warning.
53611
53612 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
53613
53614         * config/srclist.txt: Add glibc bug 1302.
53615
53616 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
53617
53618         Change bitset word type from unsigned int to unsigned long int,
53619         as this has better performance on typical 64-bit hosts.
53620         Port bitset code to hosts with unusual word sizes.
53621         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
53622         (build_collating_symbol):
53623         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
53624         argument is a bitset.  This is merely a style issue, but it makes
53625         it clearer that an entire array is expected.
53626         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
53627         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
53628         Port to the case where bitset_word is not the same as unsigned int.
53629         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
53630         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
53631         Likewise.
53632         * lib/regexec.c (check_dst_limits_calc_pos_1,
53633         check_subexp_matching_top):
53634         (build_trtable, group_nodes_into_DFAstates):
53635         Likewise.
53636         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
53637         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
53638         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
53639         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
53640         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
53641         * lib/regcomp.c (optimize_subexps, lower_subexp):
53642         Work even if bitset_word has holes in its bitwise representation.
53643         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
53644         * lib/regexec.c (check_dst_limits_calc_pos_1,
53645         check_subexp_matching_top):
53646         Likewise.
53647         * lib/regex_internal.c (re_string_reconstruct):
53648         Don't assume UCHAR_MAX == 255.
53649         * lib/regex_internal.h (bitset_set_all): Likewise.
53650         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
53651         All uses changed.
53652         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
53653         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
53654         All uses changed.
53655         (BITSET_WORD_MAX): New macro.
53656         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
53657         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
53658         (bitset_empty, bitset_copy):
53659         Prefer sizeof (bitset) to multiplying it out ourselves.
53660         (bitset_not_merge): Remove; unused.
53661         (bitset_contain): Return bool, not unsigned int with one bit on.
53662         All callers changed.
53663         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
53664         alignment than re_node_set; do this by defining a new internal
53665         type struct dests_alloc and using it to allocate memory.
53666
53667 2005-09-05  Bruno Haible  <bruno@clisp.org>
53668
53669         * gnulib-tool (func_import): Fix comparison in handling of symbolic
53670         links.
53671
53672 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
53673
53674         * modules/size_max (Makefile.am): Add size_max.h
53675
53676 2005-09-04  Derek Price  <derek@ximbiot.com>
53677
53678         * gnulib-tool (func_import): Fix reversed $symbolic logic.
53679
53680 2005-09-03  Simon Josefsson  <jas@extundo.com>
53681
53682         * gnulib-tool: Fix typo.
53683
53684 2005-09-03  Simon Josefsson  <jas@extundo.com>
53685
53686         * config/srclist.txt: Add glibc bug 1293.
53687
53688 2005-09-03  Derek Price  <derek@ximbiot.com>
53689
53690         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
53691         From Larry Jones <lawrence.jones@ugs.com>.
53692
53693 2005-09-02  Simon Josefsson  <jas@extundo.com>
53694
53695         * modules/socklen: New file.
53696
53697 2005-09-02  Simon Josefsson  <jas@extundo.com>
53698
53699         * modules/havelib: New module.
53700
53701         * modules/gettext, modules/iconv, modules/lock, modules/readline:
53702         Use havelib.
53703
53704 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
53705
53706         Check for arithmetic overflow when calculating sizes, to prevent
53707         some buffer-overflow issues.  These patches are conservative, in the
53708         sense that when I couldn't determine whether an overflow was possible,
53709         I inserted a run-time check.
53710         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
53711         macros.
53712         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
53713         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
53714         (re_xnrealloc, re_x2nrealloc): New inline functions.
53715         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
53716         parse_bracket_exp):
53717         (build_equiv_class, build_charclass): Check for arithmetic overflow
53718         in size expression calculations.
53719         * lib/regex_internal.c (re_string_realloc_buffers):
53720         (build_wcs_upper_buffer, re_node_set_add_intersect):
53721         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
53722         (re_dfa_add_node, register_state): Likewise.
53723         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
53724         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
53725         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
53726         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
53727
53728 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
53729
53730         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
53731         m4/ulonglong.m4.  Problem reported by Martin Lambers.
53732
53733 2005-09-02  Bruno Haible  <bruno@clisp.org>
53734
53735         Support for lib vs. lib64 distinction on biarch platforms.
53736         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
53737         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
53738         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
53739
53740 2005-09-02  Bruno Haible  <bruno@clisp.org>
53741
53742         * gnulib-tool (import): In the other first-use case, provide defaults
53743         as well.
53744
53745 2005-09-02  Bruno Haible  <bruno@clisp.org>
53746
53747         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
53748         patches not yet found in the latest gettext release.
53749
53750 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
53751
53752         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
53753         to avoid a collision with bits/local_lim.h in glibc.
53754         All uses changed.  Problem reported by Dmitry V. Levin in
53755         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
53756
53757         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
53758         bugs in int versus size_t comparisons.
53759         (re_string_context_at): Fix bug where the code assumed that
53760         Idx is signed.
53761
53762         Use bool where appropriate.
53763         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
53764         All callers changed.
53765         (calc_eclosure_iter): Likewise, for ROOT arg.
53766         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
53767         (build_charclass_op): Likewise, for NON_MATCH arg.
53768         * lib/regex_internal.c (re_string_allocate, re_string_construct):
53769         (re_string_construct_common): Likewise, for ICASE arg.
53770         * lib/regexec.c (re_search_2_stub, re_search_stub):
53771         Likewise, for RET_LEN arg.
53772         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
53773         (set_regs): Likewise, for FL_BACKTRACK arg.
53774         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
53775         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
53776         (calc_eclosure_iter, parse_bracket_exp):
53777         Use bool for internal variables that are booleans.
53778         * lib/regexec.c (re_search_internal, check_matching,
53779         proceed_next_node):
53780         (set_regs, build_sifted_states, sift_states_bkref):
53781         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
53782         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
53783         (find_collation_sequence_value):
53784         Likewise.
53785         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
53786         (re_node_set_compare):
53787         Return bool, not int. All callers changed.
53788         * lib/regexec.c (check_halt_node_context, check_dst_limits):
53789         (build_trtable, check_node_accept): Likewise.
53790         * lib/regex_internal.h: Include stdbool.h.
53791
53792         Fix bugs uncovered when converting to bool.
53793         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
53794         failure instead of charging ahead blindly.
53795         * lib/regex_internal.c (register_state): Likewise.
53796         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
53797         for freeing internal storage.
53798         (group_nodes_into_DFA_states): Use unsigned int, not int, for
53799         bitset pieces used as boolean, to avoid undefined behavior
53800         on hosts that do int overflow checking.
53801
53802 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
53803
53804         * config/srclist.txt: Add glibc bugs 1285-1287.
53805
53806 2005-09-01  Jim Meyering  <jim@meyering.net>
53807
53808         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
53809         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
53810         Require gl_STAT_MACROS, too.
53811
53812 2005-09-01  Bruno Haible  <bruno@clisp.org>
53813
53814         * gnulib-tool (import): In the first-use case, provide defaults.
53815
53816 2005-09-01  Bruno Haible  <bruno@clisp.org>
53817
53818         * gnulib-tool (func_import): Remove the .tmp files.
53819
53820 2005-09-01  Bruno Haible  <bruno@clisp.org>
53821
53822         * gnulib-tool (func_import): Fix handling of symbolic links.
53823
53824 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
53825
53826         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
53827         old glibc regex code mishandles strings longer than 2**31 bytes.
53828         This patch fixes this when the regex code is used in gnulib
53829         (i.e., outside glibc).
53830
53831         This patch should not affect the use of the regex code inside
53832         glibc.  No doubt this problem also needs to be handled for glibc
53833         as well, but the result will be an incompatible change to the
53834         glibc ABI, and the old ABI will have to be supported too.  That
53835         can be the the subject for another patch.
53836
53837         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
53838         governing whether the rest of this patch is active.  By default,
53839         the macro is disabled and the patch has no effect.
53840         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
53841         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
53842         (struct re_pattern_buffer, re_search, re_search_2, re_match):
53843         (re_match_2, re_set_registers): Use the new types.
53844         * lib/regex_internal.h (Idx, re_hashval_t): New types.
53845         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
53846         New macros.
53847         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
53848         (re_string_context_at, bin_tree_t, re_dfastate_t):
53849         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
53850         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
53851         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
53852         (re_string_char_size_at, re_string_wchar_at):
53853         (re_string_elem_size_at):
53854         Use the new types and macros to port to 64-bit hosts.
53855         Use unsigned types for internal values, so that the code
53856         mostly works even for arrays larger than SSIZE_MAX.
53857         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
53858         (search_duplicated_node, calc_eclosure_iter, fetch_number):
53859         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
53860         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
53861         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
53862         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
53863         (calc_inveclosure, parse_dup_op, build_range_exp):
53864         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
53865         (fetch_number, create_token_tree, mark_opt_subexp):
53866         Likewise.
53867         * lib/regex_internal.c (re_string_construct_common,
53868         create_ci_newstate):
53869         (create_cd_newstate, re_string_allocate, re_string_construct):
53870         (re_string_realloc_buffers, build_wcs_upper_buffer):
53871         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
53872         (re_string_reconstruct, re_string_peek_byte_case):
53873         (re_string_fetch_byte_case, re_string_context_at):
53874         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
53875         (re_node_set_init_copy, re_node_set_add_intersect):
53876         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
53877         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
53878         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
53879         (re_acquire_state, re_acquire_state_context, register_state):
53880         Likewise.
53881         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
53882         search_cur_bkref_entry):
53883         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
53884         (re_search_internal, re_search_2_stub, re_search_stub)
53885         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
53886         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
53887         (update_cur_sifted_state, check_dst_limits):
53888         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
53889         (check_subexp_limits, sift_states_bkref, merge_state_array):
53890         (check_subexp_matching_top, get_subexp, get_subexp_sub):
53891         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
53892         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
53893         (expand_bkref_cache, check_node_accept_bytes):
53894         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
53895         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
53896         (acquire_init_state_context, check_halt_node_context):
53897         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
53898         (sift_states_backward, clean_state_log_if_needed):
53899         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
53900         (find_recover_state, transit_state_sb, transit_state_mb):
53901         (transit_state_bkref, build_trtable, match_ctx_clean):
53902         Likewise.
53903         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
53904         to work around an assumption that REG_MISSING is negative.
53905
53906         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
53907         (seek_collating_symbol_entry) [defined _LIBC]:
53908         (lookup_collation_sequence_value) [defined _LIBC]:
53909         (build_range_exp, build_collating_symbol) [defined _LIBC]:
53910         Use prototypes rather than old-style function definitions.
53911         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
53912         (transit_state_sb) [0]:
53913         (find_collation_sequence_value) [defined _LIBC]: Likewise.
53914
53915         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
53916         rm_eo.
53917
53918         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
53919         (optimize_subexps, lower_subexp):
53920         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
53921         since the signed shift might overflow.  Use 1u<<31 instead.
53922         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
53923         Likewise.
53924         * lib/regexec.c (check_dst_limits_calc_pos_1,
53925         check_subexp_matching_top): Likewise.
53926
53927         * lib/regcomp.c (optimize_subexps, lower_subexp):
53928         Use CHAR_BIT rather than 8, for clarity.
53929         * lib/regexec.c (check_dst_limits_calc_pos_1):
53930         (check_subexp_matching_top): Likewise.
53931         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
53932         have to worry about portability issues when shifting it left.
53933         Remove no-longer-needed test for table_size > 0.
53934         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
53935         in a word, as the resulting behavior is undefined.
53936         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
53937         in one case, a <= should have been an <, and in another case the
53938         whole test was missing.
53939         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
53940         the standard name CHAR_BIT.
53941         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
53942         this is not true on one's complement and signed-magnitude hosts.
53943
53944         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
53945         next_last_offset.
53946         (struct re_dfa_t): Remove unused member states_alloc.
53947         * lib/regcomp.c (init_dfa): Don't initialize unused members.
53948
53949 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
53950
53951         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
53952         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
53953         and large-file glibc and in 32-bit large-file Solaris.
53954
53955 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
53956
53957         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
53958         lengths fit in regoff_t; this isn't true if regoff_t is the same
53959         width as size_t.
53960         * lib/regex.c (re_search_internal): 5th arg is LAST_START
53961         (= START + RANGE) instead of RANGE.  This avoids overflow
53962         problems when regoff_t is the same width as size_t.
53963         All callers changed.
53964         (re_search_2_stub): Check for overflow when adding the
53965         sizes of the two strings.
53966         (re_search_stub): Check for overflow when adding START
53967         to RANGE; if it occurs, substitute the extreme value.
53968
53969 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
53970
53971         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
53972
53973 2005-08-31  Jim Meyering  <jim@meyering.net>
53974
53975         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
53976         a pointer-to-const.
53977         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
53978         (register_state): Likewise.
53979         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
53980         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
53981         (group_nodes_into_DFAstates): Likewise.
53982
53983 2005-08-31  Jim Meyering  <jim@meyering.net>
53984
53985         * check-module: Add a FIXME comment.
53986
53987 2005-08-31  Eric Blake  <ebb9@byu.net>
53988
53989         * modules/unistd-safer (Files): Add unistd--.h.
53990         * modules/stdio-safer (Files): Add stdio--.h.
53991
53992 2005-08-31  Derek Price  <derek@ximbiot.com>
53993
53994         * lib/getdelim.c (getdelim): Return EOF on EOF.
53995         Reported by Larry Jones <lawrence.jones@ugs.com>.
53996
53997 2005-08-31  Bruno Haible  <bruno@clisp.org>
53998
53999         Avoid unnecessary diffs in the generated lib/Makefile.am.
54000         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
54001         the generated files.
54002         (func_import): Don't set cmd.
54003
54004 2005-08-31  Bruno Haible  <bruno@clisp.org>
54005
54006         * lib/strstr.c: Include <stddef.h>, for NULL.
54007         * lib/strcasestr.c: Likewise.
54008         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
54009
54010 2005-08-31  Bruno Haible  <bruno@clisp.org>
54011
54012         * gnulib-tool: New option --macro-prefix.
54013         (func_import): Use macro_prefix.
54014         (import): Handle option --macro-prefix.
54015
54016 2005-08-31  Bruno Haible  <bruno@clisp.org>
54017
54018         * gnulib-tool (import): Rename most ac_* variables to cached_*.
54019         Also use new variables cached_lgpl, cached_libtool.
54020
54021 2005-08-31  Bruno Haible  <bruno@clisp.org>
54022
54023         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
54024         always instantiating them.
54025
54026 2005-08-31  Bruno Haible  <bruno@clisp.org>
54027
54028         * gnulib-tool (func_import): Read the previous cached settings
54029         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
54030         earlier added by gnulib but are now dropped. Warn when a gnulib file
54031         overwrites a non-gnulib file.
54032
54033 2005-08-31  Bruno Haible  <bruno@clisp.org>
54034
54035         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
54036         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
54037         projects that don't keep autogenerated files in CVS. Put into
54038         actioncmd only the specified modules, not the transitive closure.
54039
54040 2005-08-31  Bruno Haible  <bruno@clisp.org>
54041
54042         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
54043         Create directories that shall be filled.
54044         (import): Don't look for gl_* macros in configure.ac. Recurse across
54045         all directories containing a gnulib-cache.m4 files, if meaningful.
54046
54047 2005-08-31  Bruno Haible  <bruno@clisp.org>
54048
54049         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
54050         (import): Set seen_libtool when we see gl_LIBTOOL.
54051
54052 2005-08-31  Bruno Haible  <bruno@clisp.org>
54053
54054         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
54055         declaration macro definitions from generated gnulib.m4.
54056
54057 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
54058
54059         * lib/iconvme.h: Add prototype for iconv_alloc.
54060
54061 2005-08-29  Simon Josefsson  <jas@extundo.com>
54062
54063         * lib/iconvme.c: Fix errno.
54064
54065 2005-08-29  Bruno Haible  <bruno@clisp.org>
54066
54067         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
54068         that it works when the directory contains spaces.
54069
54070 2005-08-29  Bruno Haible  <bruno@clisp.org>
54071
54072         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
54073
54074 2005-08-29  Bruno Haible  <bruno@clisp.org>
54075
54076         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
54077         Emit more advice.
54078
54079 2005-08-29  Bruno Haible  <bruno@clisp.org>
54080         and Stepan Kasal  <kasal@ucw.cz>
54081
54082         * check-module: If more parameters are given, check each of them
54083         separately; add more exceptions, as noted by Jim Meyering.
54084         (check_module): New procedure.
54085         (%exempt_header): Now contains all exceptions.
54086
54087 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
54088
54089         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
54090
54091 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
54092
54093         * lib/iconvme.c: Split iconv_string into iconv_alloc.
54094
54095 2005-08-28  Bruno Haible  <bruno@clisp.org>
54096
54097         * m4/gnulib-tool.m4: New file.
54098
54099 2005-08-27  Jim Meyering  <jim@meyering.net>
54100
54101         * modules/unistd-safer (Files): Add pipe-safer.c.
54102         * modules/fcntl-safer (Files): Add creat-safer.c.
54103
54104 2005-08-27  Jim Meyering  <jim@meyering.net>
54105
54106         * m4/stdlib-safer.m4: New file.  From coreutils.
54107         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
54108         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
54109         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
54110         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
54111         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
54112
54113 2005-08-27  Jim Meyering  <jim@meyering.net>
54114
54115         * lib/fopen-safer.c: Merge minor changes from coreutils.
54116         * lib/dup-safer.c: Likewise.
54117         * lib/fd-safer.c: Likewise.
54118
54119         Merge from coreutils.
54120         * lib/stdio--.h: New file.
54121         * lib/stdlib--.h: New file.
54122         * lib/mkstemp-safer.c: New file.
54123
54124         GNU tar needs these.
54125         * lib/pipe-safer.c: New file.
54126         * lib/creat-safer.c: New file.
54127         * lib/fcntl--.h (creat): Define to creat_safer.
54128         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
54129         * lib/unistd--.h (pipe): Define to pipe_safer.
54130         * lib/unistd-safer.h: Declare pipe_safer.
54131
54132 2005-08-26  Simon Josefsson  <jas@extundo.com>
54133
54134         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
54135         Haible <bruno@clisp.org>.
54136
54137 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
54138
54139         * lib/regex_internal.h: Remove all references to
54140         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
54141         or better.
54142         (bitset_not, bitset_merge, bitset_not_merge):
54143         (bitset_mask, re_string_allocate, re_string_construct):
54144         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
54145         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
54146         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
54147         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
54148         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
54149         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
54150         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
54151         (re_acquire_state_context):
54152         Remove unnecessary forward decls.
54153         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
54154         Put __attribute at function definition,
54155         now that the function decl has been removed.
54156         * lib/regex_internal.c (re_string_peek_byte_case):
54157         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
54158         Likewise.
54159
54160 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
54161
54162         * m4/regex.m4: Add AC_PREREQ(2.50).
54163         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
54164
54165 2005-08-25  Simon Josefsson  <jas@extundo.com>
54166
54167         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
54168         __fsetlocking.
54169
54170 2005-08-25  Simon Josefsson  <jas@extundo.com>
54171
54172         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
54173         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
54174         GLIBC specific code.
54175
54176 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
54177
54178         Make regex safe for g++.  This fixes one real bug (an "err"
54179         that should have been "*err").  g++ problem reported by
54180         Sam Steingold.
54181         * lib/regex_internal.h (re_calloc): New macro, consistent with
54182         re_malloc etc.  All callers of calloc changed to use re_calloc.
54183         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
54184         not int.  All callers changed.
54185         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
54186         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
54187         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
54188         (find_recover_state): Change "err" to "*err"; this fixes what
54189         appears to be a real bug.
54190         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
54191         versus int.
54192
54193 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
54194
54195         * modules/regex (Depends-on): Add malloc, since the code
54196         assumes that !malloc(0) means failure.
54197
54198 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
54199
54200         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
54201
54202         alloca modernization/simplification for regex.
54203         * lib/regex.c: Remove portability cruft for alloca.  This no longer
54204         needs to be at the start of the file, and can be moved into
54205         regex_internal.h and simplified.
54206         * lib/regex_internal.h: Include <alloca.h>.
54207         (__libc_use_alloca) [!defined _LIBC]: New macro.
54208         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
54209         now works outside glibc.
54210
54211 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
54212
54213         * config/srclist.txt: Add glibc bugs 1241, 1245.
54214
54215 2005-08-25  Jim Meyering  <jim@meyering.net>
54216
54217         * lib/open-safer.c: Include <config.h>.
54218         Otherwise, we'd lose LARGEFILE support in any file using
54219         e.g. "fcntl--.h"
54220
54221 2005-08-25  Bruno Haible  <bruno@clisp.org>
54222
54223         * m4/minmax.m4: Require autoconf 2.52.
54224         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
54225         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
54226         alternatives of translit over the alphabet.
54227         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
54228
54229 2005-08-24  Simon Josefsson  <jas@extundo.com>
54230
54231         * tests/test-getpass.c: New file.
54232
54233 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
54234
54235         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
54236         for GNU regex features.
54237
54238 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
54239
54240         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
54241         * lib/regex.h (regerror): Likewise.
54242
54243         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
54244         requires this.  (The code never needed it.)
54245
54246         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
54247         All uses of recently-renamed identifiers changed to use the new,
54248         POSIX-compliant names.  The code will build and run just fine
54249         without these changes, but it's better to eat our own dog food
54250         and use the standard-conforming names.
54251
54252         * lib/regex.h: Fix a multitude of POSIX name space violations.
54253         These changes have an effect only for programs that define
54254         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
54255         do not change anything for programs compiled in the normal way.
54256         Also, there is no effect on the ABI.
54257
54258         (_REGEX_SOURCE): New macro.
54259         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
54260         defined and _GNU_SOURCE is not; this fixes a name space violation.
54261
54262         Rename the following macros to obey POSIX requirements.
54263         The old names are still visible as macros if _REGEX_SOURCE is defined.
54264         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
54265         RE_BACKSLASH_ESCAPE_IN_LISTS.
54266         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
54267         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
54268         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
54269         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
54270         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
54271         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
54272         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
54273         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
54274         (REG_INTERVALS): renamed from RE_INTERVALS.
54275         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
54276         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
54277         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
54278         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
54279         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
54280         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
54281         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
54282         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
54283         RE_UNMATCHED_RIGHT_PAREN_ORD.
54284         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
54285         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
54286         (REG_DEBUG): renamed from RE_DEBUG.
54287         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
54288         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
54289         unusual, since we can't clash with the POSIX REG_ICASE.
54290         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
54291         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
54292         (REG_NO_SUB): renamed from RE_NO_SUB.
54293         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
54294         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
54295         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
54296         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
54297         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
54298         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
54299         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
54300         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
54301         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
54302         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
54303         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
54304         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
54305         RE_SYNTAX_POSIX_MINIMAL_BASIC.
54306         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
54307         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
54308         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
54309         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
54310         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
54311         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
54312         (REG_FIXED): Renamed from REGS_FIXED.
54313         (REG_NREGS): Renamed from RE_NREGS.
54314
54315         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
54316         of other REG_* macros, since POSIX says the user is allowed to
54317         #undef these macros selectively.
54318
54319         (reg_errcode_t): Update comment stating what other tables need
54320         to be consistent.
54321
54322         Rename the following enum values to obey POSIX requirements.
54323         The old names are still visible as macros.
54324         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
54325         is not defined, since GNU is supposed to be a superset of POSIX as
54326         much as possible, and since we want reg_errcode_t to be a signed
54327         type for implementation consistency.
54328         (_REG_NOERROR): Renamed from REG_NOERROR.
54329         (_REG_NOMATCH): Renamed from REG_NOMATCH.
54330         (_REG_BADPAT): Renamed from REG_BADPAT.
54331         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
54332         (_REG_ECTYPE): Renamed from REG_ECTYPE.
54333         (_REG_EESCAPE): Renamed from REG_EESCAPE.
54334         (_REG_ESUBREG): Renamed from REG_ESUBREG.
54335         (_REG_EBRACK): Renamed from REG_EBRACK.
54336         (_REG_EPAREN): Renamed from REG_EPAREN.
54337         (_REG_EBRACE): Renamed from REG_EBRACE.
54338         (_REG_BADBR): Renamed from REG_BADBR.
54339         (_REG_ERANGE): Renamed from REG_ERANGE.
54340         (_REG_ESPACE): Renamed from REG_ESPACE.
54341         (_REG_BADRPT): Renamed from REG_BADRPT.
54342         (_REG_EEND): Renamed from REG_EEND.
54343         (_REG_ESIZE): Renamed from REG_ESIZE.
54344         (_REG_ERPAREN): Renamed from REG_ERPAREN.
54345         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
54346         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
54347         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
54348         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
54349
54350         (_REG_RE_NAME, _REG_RM_NAME): New macros.
54351         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
54352         changed.  But support the old name if the new one is not defined
54353         and if _REGEX_SOURCE.
54354
54355         Change the following member names in struct re_pattern_buffer.
54356         The old names are still supported if !_REGEX_SOURCE.
54357         The new names are always supported, regardless of _REGEX_SOURCE.
54358         (re_buffer): Renamed from buffer.
54359         (re_allocated): Renamed from allocated.
54360         (re_used): Renamed from used.
54361         (re_syntax): Renamed from syntax.
54362         (re_fastmap): Renamed from fastmap.
54363         (re_translate): Renamed from translate.
54364         (re_can_be_null): Renamed from can_be_null.
54365         (re_regs_allocated): Renamed from regs_allocated.
54366         (re_fastmap_accurate): Renamed from fastmap_accurate.
54367         (re_no_sub): Renamed from no_sub.
54368         (re_not_bol): Renamed from not_bol.
54369         (re_not_eol): Renamed from not_eol.
54370         (re_newline_anchor): Renamed from newline_anchor.
54371
54372         Change the following member names in struct re_registers.
54373         The old names are still supported if !_REGEX_SOURCE.
54374         The new names are always supported, regardless of _REGEX_SOURCE.
54375         (rm_num_regs): Renamed from num_regs.
54376         (rm_start): Renamed from start.
54377         (rm_end): Renamed from end.
54378
54379         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
54380         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
54381         Prepend __ to parameter names.
54382
54383         Undo yesterday's changes.
54384
54385 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
54386
54387         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
54388         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
54389         lib/regex.c.
54390
54391 2005-08-24  Jim Meyering  <jim@meyering.net>
54392
54393         Sync from coreutils.
54394         * m4/fcntl-safer.m4: New file.
54395
54396         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
54397         and object files for this module.
54398
54399 2005-08-24  Jim Meyering  <jim@meyering.net>
54400
54401         Sync from coreutils.
54402         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
54403
54404 2005-08-24  Jim Meyering  <jim@meyering.net>
54405
54406         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
54407         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
54408
54409 2005-08-24  Jim Meyering  <jim@meyering.net>
54410
54411         * modules/fcntl-safer: New module.
54412         * modules/fts (Depends-on): Add fcntl-safer.
54413         * MODULES.html.sh (File descriptor based Input/Output):
54414         Add fcntl-safer.
54415
54416 2005-08-24  Bruno Haible  <bruno@clisp.org>
54417
54418         Support for unit test modules.
54419         * modules/README: Mention tests modules.
54420         * modules/TEMPLATE-TESTS: New file.
54421         * gnulib-tool: New options --extract-tests-module, --with-tests and
54422         --tests-base (unused for the moment).
54423         (testsbase, inctests): New variables.
54424         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
54425         (func_verify_module): Exclude TEMPLATE-TESTS.
54426         (func_verify_nontests_module, func_verify_tests_module): New functions.
54427         (func_get_dependencies): Add implicit dependency for tests modules.
54428         (func_get_tests_module): New function.
54429         (func_modules_transitive_closure): When --with-tests was specified,
54430         include the unit tests as well, unless explicitly avoided.
54431         (func_emit_lib_Makefile_am): Ignore the tests modules here.
54432         (func_emit_tests_Makefile_am): New function.
54433         (func_create_testdir): When --with-tests was specified, emit a
54434         tests/ directory.
54435         * MODULES.html.sh (Future developments): Update.
54436
54437 2005-08-24  Bruno Haible  <bruno@clisp.org>
54438
54439         * modules/tls-tests: New file.
54440         * tests/test-tls.c: New file, from GNU gettext.
54441
54442 2005-08-24  Bruno Haible  <bruno@clisp.org>
54443
54444         * modules/lock-tests: New file.
54445         * tests/test-lock.c: New file, from GNU gettext.
54446
54447 2005-08-24  Bruno Haible  <bruno@clisp.org>
54448
54449         * lib/lock.h: Add multiple inclusion guard.
54450         * lib/tls.h: Add multiple inclusion guard.
54451
54452 2005-08-24  Bruno Haible  <bruno@clisp.org>
54453
54454         * gnulib-tool: Add support for the --aux-dir option to
54455         --create-testdir, --create-megatestdir, --test, --megatest.
54456         (func_create_testdir, func_create_megatestdir): Optionally emit a
54457         AC_CONFIG_AUX_DIR directive.
54458         (create-testdir, create-megatestdir, test, megatest): Provide a
54459         default value for $auxdir.
54460
54461 2005-08-24  Bruno Haible  <bruno@clisp.org>
54462
54463         * gnulib-tool (import): Use compound statement instead of subshell
54464         where possible.
54465
54466 2005-08-24  Bruno Haible  <bruno@clisp.org>
54467
54468         * gnulib-tool (import): Change --aux-dir default to "build-aux".
54469
54470 2005-08-24  Bruno Haible  <bruno@clisp.org>
54471
54472         * gnulib-tool (func_version): Update.
54473
54474 2005-08-24  Bruno Haible  <bruno@clisp.org>
54475
54476         * gnulib-tool (func_import, func_create_testdir,
54477         func_create_megatestdir): Quote all autoconf macro arguments.
54478
54479 2005-08-24  Bruno Haible  <bruno@clisp.org>
54480
54481         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
54482         option --force, because --force causes the aclocal.m4 of each
54483         subdirectory to be newer than the corresponding config.h.in.
54484
54485 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
54486
54487         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
54488         All contents moved to gl_REGEX.
54489         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
54490         assume that it does.
54491
54492 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
54493
54494         * lib/regex.h (REG_NOSYS)
54495         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
54496         Define, since POSIX requires it as of 2001.
54497         (_REG_ENOSYS)
54498         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
54499         New private symbol, used to keep the enum signed in all cases.
54500         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
54501         Youngman in
54502         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
54503
54504         * lib/regex_internal.c (re_string_skip_chars, register_state):
54505         (calc_state_hash):
54506         Remove forward decls; no longer needed now that we use prototypes.
54507         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
54508         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
54509         (clean_state_log_if_needed): Likewise.
54510
54511 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
54512
54513         * config/srclist.txt: Add glibc bugs 1231-1233.
54514
54515 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
54516
54517         Fix problems reported by Sam Steingold in
54518         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
54519         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
54520         assumed that reg_errcode_t is a signed type, which is not
54521         necessarily true if _XOPEN_SOURCE is not defined.
54522         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
54523         since some compilers warn about it otherwise.
54524
54525 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
54526
54527         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
54528         (init_word_char, create_initial_state, duplicate_node_closure):
54529         (fetch_token, peek_token_bracket, build_range_exp):
54530         (build_collating_symbol): Remove forward decls; no longer needed
54531         now that we use prototypes.
54532
54533         * lib/regcomp.c:
54534         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
54535         (re_compile_fastmap_iter, regcomp, regerror, regfree):
54536         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
54537         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
54538         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
54539         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
54540         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
54541         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
54542         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
54543         (build_range_exp, build_collating_symbol, parse_bracket_exp):
54544         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
54545         (build_charclass, build_charclass_op, fetch_number, create_tree):
54546         (create_token_tree, mark_opt_subexp, duplicate_tree):
54547         Use prototypes rather than old-style definitions.
54548
54549         * lib/regex_internal.c:
54550         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
54551         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
54552         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
54553         (re_string_reconstruct, re_string_peek_byte_case):
54554         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
54555         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
54556         (re_node_set_init_copy, re_node_set_add_intersect):
54557         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
54558         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
54559         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
54560         (re_acquire_state, re_acquire_state_context, register_state):
54561         (create_ci_newstate, create_cd_newstate, free_state):
54562         Likewise.
54563         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
54564         re_search_2):
54565         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
54566         (re_search_internal, prune_impossible_nodes):
54567         (acquire_init_state_context, check_matching, static):
54568         (check_halt_node_context, check_halt_state_context, proceed_next_node):
54569         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
54570         (update_regs, sift_states_backward, build_sifted_states):
54571         (clean_state_log_if_needed, merge_state_array):
54572         (update_cur_sifted_state, add_epsilon_src_nodes):
54573         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
54574         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
54575         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
54576         (find_recover_state, check_subexp_matching_top, transit_state_mb):
54577         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
54578         (check_arrival, check_arrival_add_next_nodes):
54579         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
54580         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
54581         (check_node_accept_bytes, check_node_accept, extend_buffers):
54582         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
54583         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
54584         (sift_ctx_init):
54585         Likewise.
54586
54587         * lib/regex_internal.h:
54588         (re_string_allocate, re_string_construct, re_string_reconstruct):
54589         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
54590         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
54591         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
54592         (re_string_context_at, re_string_peek_byte_case):
54593         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
54594         is defined, since we now use prototypes always.
54595
54596         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
54597         C89 or better.  All uses removed.
54598
54599 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
54600
54601         * config/srclist.txt: Add glibc bugs 1220-1227.
54602
54603 2005-08-20  Jim Meyering  <jim@meyering.net>
54604
54605         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
54606         of unused local, dfa.
54607
54608 2005-08-20  Bruno Haible  <bruno@clisp.org>
54609
54610         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
54611
54612 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
54613
54614         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
54615         (re_node_set_insert_last, re_dfa_add_node):
54616         Rename local variables to avoid GCC shadowing warnings.
54617
54618 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
54619
54620         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
54621         [defined lint]: Suppress bogus uninitialized-variable warnings.
54622
54623         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
54624         and let the caller return REG_ESPACE if out of space.  This
54625         removes an uninitialied-variable warning with GCC 4.0.1, and also
54626         avoids taking the address of a local variable.  All callers
54627         changed.
54628
54629 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
54630
54631         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
54632         $LIBCSRC/posix/regexec.c.
54633         Add glibc bug 1217 for regcomp.c.
54634
54635 2005-08-19  Jim Meyering  <jim@meyering.net>
54636
54637         * lib/regexec.c (proceed_next_node): Redo local variables to
54638         avoid GCC shadowing warnings.
54639
54640 2005-08-18  Bruno Haible  <bruno@clisp.org>
54641
54642         * lib/strstr.c (strstr): Fix return value in multibyte case.
54643         * lib/strcasestr.c (strcasestr): Likewise.
54644
54645 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
54646
54647         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
54648
54649 2005-08-17  Jim Meyering  <jim@meyering.net>
54650
54651         Make the %s format (seconds since the epoch) work for a negative
54652         number and when used with a zero-padded field width, e.g. %015s.
54653
54654         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
54655         label so that it precedes the code to set `digits'.  Otherwise,
54656         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
54657         print `00-22'.  Now, it prints `-0022', as it should.
54658
54659 2005-08-17  Bruno Haible  <bruno@clisp.org>
54660
54661         * modules/strstr (Files): Add m4/mbrtowc.m4.
54662         (Depends-on): Add mbuiter.
54663
54664 2005-08-17  Bruno Haible  <bruno@clisp.org>
54665
54666         * modules/strcasestr: New file.
54667         * MODULES.html.sh (String handling, based on ANSI C 89): Add
54668         strcasestr.
54669
54670 2005-08-17  Bruno Haible  <bruno@clisp.org>
54671
54672         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
54673
54674 2005-08-17  Bruno Haible  <bruno@clisp.org>
54675
54676         * modules/mbuiter: New file.
54677         * MODULES.html.sh (Extended multibyte and wide character utilities):
54678         Add mbuiter.
54679
54680 2005-08-17  Bruno Haible  <bruno@clisp.org>
54681
54682         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
54683         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
54684
54685 2005-08-17  Bruno Haible  <bruno@clisp.org>
54686
54687         * m4/strcasestr.m4: New file.
54688
54689 2005-08-17  Bruno Haible  <bruno@clisp.org>
54690
54691         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
54692         * lib/strstr.c: Completely rewritten, with multibyte locale support.
54693
54694 2005-08-17  Bruno Haible  <bruno@clisp.org>
54695
54696         * lib/strcasestr.h: New file.
54697         * lib/strcasestr.c: New file.
54698
54699 2005-08-17  Bruno Haible  <bruno@clisp.org>
54700
54701         * lib/strcasecmp.c: Use mbuiter.h.
54702
54703 2005-08-17  Bruno Haible  <bruno@clisp.org>
54704
54705         * lib/mbuiter.h: New file.
54706
54707 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
54708
54709         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
54710         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
54711         and gl_GETOPT are both invoked via different paths (as happens
54712         with GNU tar CVS because it uses both argp and getopt), the former
54713         wins.
54714
54715 2005-08-16  Bruno Haible  <bruno@clisp.org>
54716
54717         * modules/tls: New file.
54718         * MODULES.html.sh (Multithreading): Add tls.
54719
54720 2005-08-16  Bruno Haible  <bruno@clisp.org>
54721
54722         * modules/strnlen1: New file.
54723         * MODULES.html.sh (String handling): Add strnlen1.
54724
54725 2005-08-16  Bruno Haible  <bruno@clisp.org>
54726
54727         * modules/strcase (Files): Add m4/mbrtowc.m4.
54728         (Depends-on): Add strnlen1, mbchar.
54729
54730 2005-08-16  Bruno Haible  <bruno@clisp.org>
54731
54732         * modules/mbiter: New file.
54733         * MODULES.html.sh (Extended multibyte and wide character utilities):
54734         Add mbiter.
54735
54736 2005-08-16  Bruno Haible  <bruno@clisp.org>
54737
54738         * modules/mbfile: New file.
54739         * MODULES.html.sh (Extended multibyte and wide character utilities):
54740         Add mbfile.
54741
54742 2005-08-16  Bruno Haible  <bruno@clisp.org>
54743
54744         * modules/mbchar: New file.
54745         * MODULES.html.sh (Extended multibyte and wide character utilities):
54746         New section.
54747
54748 2005-08-16  Bruno Haible  <bruno@clisp.org>
54749
54750         * m4/tls.m4: New file, from GNU gettext.
54751
54752 2005-08-16  Bruno Haible  <bruno@clisp.org>
54753
54754         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
54755         always.
54756         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
54757
54758 2005-08-16  Bruno Haible  <bruno@clisp.org>
54759
54760         * m4/mbiter.m4: New file.
54761
54762 2005-08-16  Bruno Haible  <bruno@clisp.org>
54763
54764         * m4/mbfile.m4: New file.
54765
54766 2005-08-16  Bruno Haible  <bruno@clisp.org>
54767
54768         * m4/mbchar.m4: New file.
54769
54770 2005-08-16  Bruno Haible  <bruno@clisp.org>
54771
54772         * lib/tls.h: New file, from GNU gettext.
54773         * lib/tls.c: New file, from GNU gettext.
54774
54775 2005-08-16  Bruno Haible  <bruno@clisp.org>
54776
54777         * lib/strnlen1.h: New file.
54778         * lib/strnlen1.c: New file.
54779
54780 2005-08-16  Bruno Haible  <bruno@clisp.org>
54781
54782         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
54783         (mbi_init): Update.
54784         (mbi_avail, mbi_advance): Let the iteration end before the terminating
54785         NUL byte, not after it.
54786
54787 2005-08-16  Bruno Haible  <bruno@clisp.org>
54788
54789         * lib/strcase.h (strcasecmp): Add note in comments.
54790         * lib/strncasecmp.c: Use code from strcasecmp.c.
54791         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
54792         (strcasecmp): Work correctly in multibyte locales.
54793
54794 2005-08-16  Bruno Haible  <bruno@clisp.org>
54795
54796         * lib/mbiter.h: New file.
54797
54798 2005-08-16  Bruno Haible  <bruno@clisp.org>
54799
54800         * lib/mbfile.h: New file.
54801
54802 2005-08-16  Bruno Haible  <bruno@clisp.org>
54803
54804         * lib/mbchar.h: New file.
54805         * lib/mbchar.c: New file.
54806
54807 2005-08-16  Bruno Haible  <bruno@clisp.org>
54808
54809         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
54810         the valid ones. Makes the comparison operations transitive:
54811         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
54812         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
54813
54814 2005-08-15  Simon Josefsson  <jas@extundo.com>
54815
54816         * modules/ssize_t (License): Change to 'unlimited'.
54817
54818         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
54819
54820 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
54821
54822         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
54823         Add comments for each pending glibc patch.
54824
54825 2005-08-15  Bruno Haible  <bruno@clisp.org>
54826
54827         * lib/regex.h (__restrict_arr): Don't define to __restrict if
54828         __cplusplus is defined.
54829
54830 2005-08-14  Jim Meyering  <jim@meyering.net>
54831
54832         Sync from coreutils.
54833
54834         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
54835         Use the hash-table-based cycle-detection code not just when
54836         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
54837         Reported by James Youngman in
54838         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
54839         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
54840         FTS_TIGHT_CYCLE_CHECK.
54841         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
54842         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
54843         once again.
54844         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
54845         * lib/fts.c (fd_safer): Remove decl.
54846         Include fcntl--.h rather than unistd-safer.h
54847         (fts_safe_changedir): Don't call fd_safer; no longer needed
54848         now that we include fcntl--.h.
54849
54850 2005-08-12  Simon Josefsson  <jas@extundo.com>
54851
54852         * modules/getndelim2: Use ssize_t module.
54853         * modules/getnline: Likewise.
54854         * modules/safe-read: Likewise.
54855         * modules/xreadlink: Likewise.
54856
54857         * modules/ssize_t: New file.
54858
54859 2005-08-12  Simon Josefsson  <jas@extundo.com>
54860
54861         * m4/readline.m4: Look for termcap, curses or ncurses if required.
54862
54863 2005-08-12  Simon Josefsson  <jas@extundo.com>
54864
54865         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54866         ssize_t.
54867
54868 2005-08-12  Simon Josefsson  <jas@extundo.com>
54869
54870         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
54871         readline, getdelim and check_version.
54872         (Support for systems lacking ISO C 99: Sizes of integer types):
54873         Add size_max.
54874
54875 2005-08-12  Bruno Haible  <bruno@clisp.org>
54876
54877         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
54878
54879 2005-08-11  Simon Josefsson  <jas@extundo.com>
54880
54881         * modules/readline: New file.
54882
54883         * modules/strnlen (Files): Add strnlen.h.
54884
54885 2005-08-11  Simon Josefsson  <jas@extundo.com>
54886
54887         * m4/readline.m4: New file.
54888
54889 2005-08-11  Simon Josefsson  <jas@extundo.com>
54890
54891         * lib/readline.h, readline.c: New file.
54892
54893 2005-08-11  Simon Josefsson  <jas@extundo.com>
54894
54895         * doc/gnulib.texi (Initial import, Finishing touches): Mention
54896         gl_AVOID.
54897
54898 2005-08-11  Bruno Haible  <bruno@clisp.org>
54899
54900         * lib/strnlen.h (strnlen): Change parameter name to match comment.
54901
54902 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
54903
54904         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
54905
54906 2005-08-10  Simon Josefsson  <jas@extundo.com>
54907
54908         * tests/test-iconvme.c: New file.
54909
54910 2005-08-10  Simon Josefsson  <jas@extundo.com>
54911
54912         * m4/strnlen.m4: New file.
54913
54914         * m4/strndup.m4: Don't check for strnlen declaration, done in
54915         strnlen.m4.
54916
54917 2005-08-10  Simon Josefsson  <jas@extundo.com>
54918
54919         * lib/strndup.c: Use strnlen.h.
54920
54921         * lib/strnlen.h: New file.
54922
54923 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
54924
54925         * README: Typos.
54926
54927 2005-08-02  Simon Josefsson  <jas@extundo.com>
54928
54929         * modules/readline: New file.
54930
54931 2005-08-02  Simon Josefsson  <jas@extundo.com>
54932
54933         * modules/getdelim: New file.
54934
54935         * modules/getline: Rewrite, don't use getndelim2.
54936
54937 2005-08-02  Simon Josefsson  <jas@extundo.com>
54938
54939         * m4/getline.m4: Separate out getdelim stuff into separate module.
54940
54941         * m4/getdelim.m4: New file.
54942
54943 2005-08-02  Simon Josefsson  <jas@extundo.com>
54944
54945         * lib/getline.h, getline.c: Rewrite.
54946
54947         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
54948
54949 2005-07-31  Bruno Haible  <bruno@clisp.org>
54950
54951         * lib/lock.h (gl_lock_initializer): New macro.
54952         (gl_lock_define_initialized): Use it.
54953         (gl_rwlock_initializer): New macro.
54954         (gl_rwlock_define_initialized): Use it.
54955         (gl_recursive_lock_initializer): New macro.
54956         (gl_recursive_lock_define_initialized): Use it.
54957
54958 2005-07-30  Karl Berry  <karl@gnu.org>
54959
54960         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
54961         Report from Ben Pfaff, regarding getopt.
54962
54963 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
54964
54965         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
54966         normal way.
54967         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
54968         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
54969         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
54970         (gl_GETOPT): Use the new macros.  Most of the implementation
54971         is moved to the new macros.  This is for programs like Emacs
54972         that don't want all the functionality of gl_GETOPT.
54973
54974 2005-07-26  Bruno Haible  <bruno@clisp.org>
54975
54976         * m4/lock.m4: Update from GNU gettext.
54977
54978 2005-07-26  Bruno Haible  <bruno@clisp.org>
54979
54980         * lib/lock.h: Update from GNU gettext.
54981         * lib/lock.c: Update from GNU gettext.
54982
54983 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
54984
54985         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
54986         obsolescent AC_TRY_RUN.  Include the default includes files, for
54987         'exit'.
54988
54989 2005-07-24  Bruno Haible  <bruno@clisp.org>
54990
54991         * modules/visibility: New file.
54992         * MODULES.html.sh (Misc): Add visibility.
54993
54994 2005-07-24  Bruno Haible  <bruno@clisp.org>
54995
54996         * m4/visibility.m4: New file.
54997
54998 2005-07-24  Bruno Haible  <bruno@clisp.org>
54999
55000         * doc/visibility.texi: New file.
55001
55002 2005-07-22  Bruno Haible  <bruno@clisp.org>
55003
55004         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
55005         $(ALLOCA_H), redundant through BUILT_SOURCES.
55006         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
55007         redundant through BUILT_SOURCES.
55008         * modules/byteswap (Makefile.am): Remove explicit dependency on
55009         $(BYTESWAP_H), redundant through BUILT_SOURCES.
55010         * modules/fnmatch (Makefile.am): Remove explicit dependency on
55011         $(FNMATCH_H), redundant through BUILT_SOURCES.
55012         * modules/getopt (Makefile.am): Remove explicit dependency on
55013         $(GETOPT_H), redundant through BUILT_SOURCES.
55014         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
55015         redundant through BUILT_SOURCES.
55016         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
55017         redundant through BUILT_SOURCES.
55018         * modules/stdbool (Makefile.am): Remove explicit dependency on
55019         $(STDBOOL_H), redundant through BUILT_SOURCES.
55020         * modules/stdint (Makefile.am): Remove explicit dependency on
55021         $(STDINT_H), redundant through BUILT_SOURCES.
55022         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
55023         Remove explicit dependency on $(SYSEXITS_H).
55024         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
55025
55026 2005-07-18  Simon Josefsson  <jas@extundo.com>
55027
55028         * lib/check-version.c (check_version): Accept identical versions too.
55029
55030 2005-07-18  Bruno Haible  <bruno@clisp.org>
55031
55032         * modules/lock: New file.
55033         * MODULES.html.sh (Multithreading): New section.
55034
55035 2005-07-18  Bruno Haible  <bruno@clisp.org>
55036
55037         * m4/lock.m4: New file, from GNU gettext.
55038
55039 2005-07-18  Bruno Haible  <bruno@clisp.org>
55040
55041         * lib/lock.h: New file, from GNU gettext.
55042         * lib/lock.c: New file, from GNU gettext.
55043
55044 2005-07-18  Bruno Haible  <bruno@clisp.org>
55045
55046         * lib/lock.h (gl_once_t): New type.
55047         (gl_once_define, gl_once): New macros.
55048         * lib/lock.c (fresh_once): New variable.
55049         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
55050         functions.
55051
55052 2005-07-16  Simon Josefsson  <jas@extundo.com>
55053
55054         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
55055         workaround, suggested by Bruno.
55056
55057 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
55058
55059         * modules/xalloc (Depends-on): Add xalloc-die.
55060         * modules/xvasprintf (Depends-on): Add xalloc-die.
55061
55062 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
55063
55064         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
55065         with a minor change.
55066
55067 2005-07-15  Bruno Haible  <bruno@clisp.org>
55068
55069         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
55070         When using lib/poll.c, define poll as rpl_poll.
55071
55072 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
55073
55074         * modules/argp (Depends-on): Remove unlocked-io.
55075
55076 2005-07-14  Derek Price  <derek@ximbiot.com>
55077
55078         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
55079         for glob symlink bug.
55080
55081 2005-07-14  Bruno Haible  <bruno@clisp.org>
55082
55083         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
55084         Instead, test for *_unlocked function declarations directly.
55085
55086 2005-07-11  Simon Josefsson  <jas@extundo.com>
55087
55088         * modules/size_max: New file.
55089
55090         * modules/xsize: Depend on size_max module for size_max.m4.
55091
55092 2005-07-11  Simon Josefsson  <jas@extundo.com>
55093
55094         * lib/size_max.h: New file.
55095
55096 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
55097
55098         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
55099         copyright symbol and the year.
55100         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
55101         (version_etc_va): Use parameterized copyright notice.
55102         Reword to conform to the current GNU coding standards.
55103
55104 2005-07-11  Karl Berry  <karl@gnu.org>
55105
55106         * doc/gnulib.texi (Quoting): new node.
55107         (Initial import): more info, from Patrice.
55108
55109 2005-07-11  Bruno Haible  <bruno@clisp.org>
55110
55111         * gnulib-tool (func_usage): Document option --avoid.
55112         (Command line options): Handle --avoid.
55113         (func_acceptable): New function.
55114         (func_modules_transitive_closure): Use it.
55115
55116 2005-07-11  Bruno Haible  <bruno@clisp.org>
55117
55118         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
55119         Reported by Jim Meyering.
55120
55121 2005-07-10  Bruno Haible  <bruno@clisp.org>
55122
55123         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
55124         Needed when size_t is smaller than 'unsigned int'.
55125         Reported by Paul Eggert.
55126
55127 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
55128
55129         * modules/argp (Depends-on): Add unlocked-io
55130
55131 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
55132
55133         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
55134         block of defines.
55135
55136 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
55137
55138         * config/srclist.txt: Comment out regcomp.c, since we have a porting
55139         fix now.
55140
55141 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
55142         and Paul Eggert  <eggert@cs.ucla.edu>
55143
55144         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
55145         in wint_t, not wchar_t.  Remove now-unnecessary cast.
55146
55147 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
55148
55149         * modules/regex (Files): Add lib/regex_internal.c,
55150         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
55151         (Depends-on): Add extensions.
55152         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
55153
55154 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
55155
55156         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
55157         pathconf.
55158         * m4/same.m4 (gl_SAME): Likewise.
55159         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
55160
55161         * m4/regex.m4: Adjust to new libc regex implementation.
55162         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
55163         all the .c and .h parts of (the new) regex.
55164         Quote the m4 stuff better.
55165         Check for RE_ICASE bug of old gnulib.
55166         Check for REG_STARTEND of recent libc.
55167         Rename local variables from jm_* to gl_*.
55168         Quote operand of "test -f".
55169         Say "recent enough" version of libc, not "version 2".
55170         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
55171         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
55172         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
55173         Remove check for btowc, isascii.
55174         Require AM_LANGINFO_CODESET.
55175
55176 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
55177
55178         * lib/regex.c, regex.h: Sync from libc.
55179         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
55180         * lib/regexec.c:
55181         New files, synced from libc, except that regex_internal.h
55182         currently has a small porting fix.
55183
55184 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
55185
55186         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
55187         regex_internal.c, regexec.c.
55188         Add regex_internal.h too, but as a comment, since the libc version
55189         is currently broken in gnulib mode.
55190
55191 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
55192
55193         Support programs like Emacs that use gnulib but not gettext.
55194         * MODULES.html.sh (Internationalization functions): Add gettext-h.
55195         * modules/gettext-h: New file.
55196         * modules/gettext (Files): Remove lib/gettext.h.
55197         (Depends-on): Add gettext-h.
55198         (Makefile.am): Remove lib_SOURCES.
55199         * modules/argmatch, modules/c-stack, modules/closeout:
55200         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
55201         * modules/execute, modules/file-type, modules/getaddrinfo:
55202         * modules/getopt, modules/human, modules/javacomp:
55203         * modules/javaexec, modules/mkdir-p, modules/obstack:
55204         * modules/openat, modules/pagealign_alloc, modules/pipe:
55205         * modules/quotearg, modules/regex, modules/rpmatch:
55206         * modules/unicodeio, modules/userspec, modules/version-etc:
55207         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
55208         * modules/xsetenv:
55209         Depend on gettext-h, not gettext.
55210
55211 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
55212
55213         * gnulib-tool (func_import): Add support for 'public domain' license.
55214         * modules/alloca, modules/atexit, modules/memmove:
55215         Now public domain, not GPL.
55216         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
55217         * modules/realloc, modules/strerror, modules/strtod:
55218         Now LGPL, not GPL.
55219
55220 2005-07-05  Bruno Haible  <bruno@clisp.org>
55221
55222         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
55223         autoconf CVS. Needed for mingw.
55224
55225 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
55226
55227         Remove the dependency of the strftime module on the tzset module.
55228         * modules/strftime (Depends-on): Remove dependency on tzset.
55229
55230 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
55231
55232         Remove the dependency of the strftime module on the tzset module.
55233         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
55234         gl_FUNC_TZSET_CLOBBER.
55235
55236 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
55237
55238         Remove the dependency of the strftime module on the tzset module.
55239         * lib/strftime.c (my_strftime)
55240         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
55241         Copy the input structure, to work around some of the bug with
55242         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
55243         Solaris releases, you should also use the tzset module, but we won't
55244         require it as a dependency any more since we don't want LGPLed code
55245         to depend on GPLed code.
55246
55247 2005-07-02  Jim Meyering  <jim@meyering.net>
55248
55249         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
55250         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
55251         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
55252         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
55253
55254 2005-07-02  Jim Meyering  <jim@meyering.net>
55255
55256         * lib/backupfile.c (backup_args): Change a `0' to NULL.
55257
55258 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
55259
55260         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
55261         declares only 'struct timespec;' (!).
55262
55263 2005-07-01  Jim Meyering  <jim@meyering.net>
55264
55265         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
55266         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
55267         * lib/save-cwd.c, tempname.c:
55268         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
55269         and don't include <sys/file.h>).
55270
55271 2005-06-29  Jim Meyering  <jim@meyering.net>
55272
55273         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
55274         type name.  Use the variable name instead.
55275         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
55276         Likewise.
55277
55278 2005-06-28  Simon Josefsson  <jas@extundo.com>
55279
55280         * modules/check-version (Files): Add check-version.m4.
55281
55282 2005-06-28  Simon Josefsson  <jas@extundo.com>
55283
55284         * m4/check-version.m4: New file, suggested by Jim Meyering
55285         <jim@meyering.net>.
55286
55287 2005-06-28  Simon Josefsson  <jas@extundo.com>
55288
55289         * lib/check-version.h, lib/check-version.c: New files.
55290
55291 2005-06-28  Simon Josefsson  <jas@extundo.com>
55292
55293         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
55294         collision with global variable.  Better indentation.  Don't
55295         increment buffer pointer beyond buffer end.  Based on comments
55296         from Paul Eggert <eggert@cs.ucla.edu>.
55297
55298         * lib/base64.h: Indent.
55299
55300 2005-06-28  Simon Josefsson  <jas@extundo.com>
55301
55302         * doc/gnulib.texi (Library version handling): New section.
55303
55304 2005-06-28  Jim Meyering  <jim@meyering.net>
55305
55306         * check-module (find_included_lib_files): Hard-code another
55307         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
55308         but modules/fts-lgpl (correctly) does not list those files.
55309
55310         * modules/canonicalize (Files): Add lib/pathmax.h.
55311
55312 2005-06-25  Simon Josefsson  <jas@extundo.com>
55313
55314         * modules/check-version: New file.
55315
55316 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
55317
55318         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
55319         initializer of struct addrinfo, as an indication that we don't
55320         care how many members the structure has.
55321
55322 2005-06-24  Derek Price  <derek@ximbiot.com>
55323         and Bruno Haible  <bruno@clisp.org>
55324
55325         Remove stat module & update lstat.
55326         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
55327         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
55328         * m4/stat.m4: Remove this file.
55329
55330 2005-06-24  Derek Price  <derek@ximbiot.com>
55331         and Bruno Haible  <bruno@clisp.org>
55332
55333         Remove stat module & update lstat.
55334         * lib/stat.c: Remove this file...
55335         (slash_aware_lstat): ...moving this content and its support...
55336         * lib/lstat.c (rpl_lstat): ...into here.
55337         * lib/lstat.h: New file.
55338
55339 2005-06-24  Derek Price  <derek@ximbiot.com>
55340         and Bruno Haible  <bruno@clisp.org>
55341
55342         Remove stat module & update lstat.
55343         * config/srclist.txt (libc sources): Remove stat.
55344
55345 2005-06-24  Derek Price  <derek@ximbiot.com>
55346         and Bruno Haible  <bruno@clisp.org>
55347
55348         Remove stat module & update lstat.
55349         * MODULES.html.sh (stat): Remove.
55350         * MODULES.html: Regenerated.
55351         * modules/lstat (Description): Correct function name.
55352         (Files): Add "lstat.h".
55353         (Depends-on): Remove stat, add xalloc, stat-macros.
55354         * modules/stat: Remove this file.
55355         (Include): Add "lstat.h", remove <sys/stat.h>.
55356
55357 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
55358
55359         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
55360         (ranged_convert): Don't save conversion in a temporary struct.
55361         This causes a warning with GCC 4.0.0, and anyway in the typical
55362         case it's not worth the extra 100 bytes or so of code.
55363         (ranged_convert, __mktime_internal): When calling a function via a
55364         pointer P, use P () rather than (*P) (), as we now assume C89 or
55365         better.
55366
55367 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
55368
55369         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
55370         "who -r" failed to give output.  Problem reported by Tim Waugh.
55371
55372         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
55373         (xcalloc): Use it to avoid needless tests.
55374         Problem reported by Jim Meyering.
55375
55376 2005-06-20  Derek Price  <derek@ximbiot.com>
55377
55378         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
55379         unnecessary for Autoconfs > 2.59c.
55380
55381 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
55382
55383         * lib/argp.h (__option_is_short): Check upper limit of
55384         __key. Isprint() requires its argument to have the value
55385         of an unsigned char or EOF.
55386
55387 2005-06-16  Jim Meyering  <jim@meyering.net>
55388
55389         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
55390         when either N or S is zero.
55391
55392 2005-06-16  Derek Price  <derek@ximbiot.com>
55393
55394         * m4/bison.m4: Declare YACC & YFLAGS precious.
55395
55396 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
55397
55398         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
55399         multibyte string or pattern, fall back on unibyte matching.
55400         Problem reported by James Youngman.
55401
55402 2005-06-08  Bruno Haible  <bruno@clisp.org>
55403
55404         * modules/csharpcomp: New file.
55405         * MODULES.html.sh (C#): Add csharpcomp.
55406
55407 2005-06-08  Bruno Haible  <bruno@clisp.org>
55408
55409         * m4/csharpcomp.m4: New file, from GNU gettext.
55410
55411 2005-06-08  Bruno Haible  <bruno@clisp.org>
55412
55413         * lib/csharpcomp.h: New file, from GNU gettext.
55414         * lib/csharpcomp.c: New file, from GNU gettext.
55415         * lib/csharpcomp.sh.in: New file, from GNU gettext.
55416
55417 2005-06-08  Bruno Haible  <bruno@clisp.org>
55418
55419         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
55420         warning on mingw.
55421
55422 2005-06-07  Derek Price  <derek@ximbiot.com>
55423
55424         Sync from CVS.
55425         * lib/glob_.h: Indent nested #ifdef.
55426
55427 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
55428
55429         Sync from coreutils.
55430         Use "file name" when talking about file names, instead of "filename"
55431         or "path", as per the GNU coding standards.
55432         * lib/mkdir-p.c: Renamed from makepath.c.
55433         (make_dir_parents): Renamed from make_path.  All callers changed.
55434         * lib/mkdir-p.h: Likewise.  All includers changed.
55435         * lib/filenamecat.c: Renamed from path-concat.c.
55436         (file_name_concat): Renamed from path_concat.  All callers changed.
55437         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
55438         * lib/filenamecat.h: Likewise.  All includers changed.
55439         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
55440         in comments or local variable names.
55441         * lib/basename.c: Likewise.
55442         * lib/canonicalize.c, canonicalize.h: Likewise.
55443         * lib/dirname.c, dirname.h: Likewise.
55444         * lib/euidaccess.c: Likewise.
55445         * lib/exclude.c: Likewise
55446         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
55447         * lib/fsusage.c, fsuage.h: Likewise.
55448         * lib/fts.c, fts_.h: Likewise.
55449         * lib/getcwd.c: Likewise.
55450         * lib/getloadavg.c: Likewise.
55451         * lib/mkstemp.c: Likewise.
55452         * lib/mountlist.c, mountlist.h: Likewise.
55453         * lib/openat.c, openat.h: Likewise.
55454         * lib/readlink-stub.c: Likewise.
55455         * lib/readutmp.c, readutmp.h: Likewise.
55456         * lib/rename.c: Likewise.
55457         * lib/rmdir.c: Likewise.
55458         * lib/same.c: Likewise.
55459         * lib/savedir.c: Likewise.
55460         * lib/stripslash.c: Likewise.
55461         * lib/tempname.c: Likewise.
55462         * lib/xreadlink.c: Likewise.
55463         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
55464         All uses changed.
55465         * lib/exclude.h: Likewise.
55466
55467         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
55468         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
55469         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
55470         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
55471         * lib/pathmax.h: Include <limits.h> unconditionally, since other
55472         files have been getting away with it for years (MORE/BSD 4.3
55473         is extinct now).
55474         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
55475         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
55476
55477         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
55478         Define to 256, not 255, as per modern POSIX.
55479
55480 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
55481
55482         Sync from coreutils.
55483         Use "file name" when talking about file names, instead of "filename"
55484         or "path", as per the GNU coding standards.
55485         * MODULES.html.sh: mkdir-p renamed from makepath.
55486         filenamecat renamed from path-concat.
55487         * modules/filenamecat: Renamed from modules/path-concat.
55488         (Files): filenamecat.h and filenamecat.c renamed from
55489         path-concat.h and path-concat.c.
55490         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
55491         (Include): filenamecat.h, not path-concat.h.
55492         * modules/mkdir-p: Renamed from modules/makepath.
55493         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
55494         makepath.c.
55495         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
55496         (Include): mkdir-p.h, not makepath.h.
55497
55498 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
55499
55500         Sync from coreutils.
55501         * m4/mkdir-p.m4: Renamed from makepath.m4.
55502         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
55503         Rename files from makepath.c to mkdir-p.c, and from
55504         makepath.h to mkdir-p.h.
55505         * m4/filenamecat.m4: Renamed from path-concat.m4.
55506         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
55507         Rename files from path-concat.c to filenamecat.c,
55508         and from path-concat.h to filenamecat.h.
55509         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
55510         "file name" in local variables or comments.
55511         * m4/rename.m4: Likewise.
55512
55513 2005-06-01  Bruno Haible  <bruno@clisp.org>
55514
55515         * modules/csharpexec: New file.
55516         * MODULES.html.sh (C#): New section.
55517
55518 2005-06-01  Bruno Haible  <bruno@clisp.org>
55519
55520         * m4/csharp.m4: New file, from GNU gettext.
55521         * m4/csharpexec.m4: New file, from GNU gettext.
55522
55523 2005-06-01  Bruno Haible  <bruno@clisp.org>
55524
55525         * lib/csharpexec.h: New file, from GNU gettext.
55526         * lib/csharpexec.c: New file, from GNU gettext.
55527         * lib/csharpexec.sh.in: New file, from GNU gettext.
55528
55529 2005-05-31  Derek Price  <derek@ximbiot.com>
55530             Paul Eggert  <eggert@cs.ucla.edu>
55531
55532         Sync from cvs.
55533         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
55534
55535 2005-05-31  Derek Price  <derek@ximbiot.com>
55536             Paul Eggert  <eggert@cs.ucla.edu>
55537
55538         Sync from cvs.
55539         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
55540
55541 2005-05-29  Derek Price  <derek@ximbiot.com>
55542
55543         * config/srclist.txt (glob_.h, glob.c): Add these files.
55544
55545 2005-05-29  Derek Price  <derek@ximbiot.com>
55546
55547         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
55548         * modules/glob: New file.
55549         * modules/getlogin_r: Add link to POSIX spec in description.
55550
55551 2005-05-29  Derek Price  <derek@ximbiot.com>
55552             Paul Eggert  <eggert@cs.ucla.edu>
55553
55554         * m4/glob.m4: New file.
55555
55556 2005-05-29  Derek Price  <derek@ximbiot.com>
55557             Paul Eggert  <eggert@cs.ucla.edu>
55558
55559         * lib/glob_.h, lib/glob.c: New files.
55560
55561 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
55562
55563         * modules/fts (Files): Remove m4/inttypes-pri.m4.
55564         * modules/fts-lgpl (Depends-on): Remove gettext.
55565
55566 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
55567
55568         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
55569         and don't require gt_INTTYPES_PRI.
55570
55571 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
55572
55573         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
55574
55575         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
55576         the configuration hassle isn't worth it.
55577         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
55578         (LONGEST_MODIFIER, PRIuMAX): Remove.
55579
55580 2005-05-27  Bruno Haible  <bruno@clisp.org>
55581
55582         * lib/getlogin_r.h: Remove second include of <stddef.h>.
55583
55584 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
55585
55586         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
55587         _POSIX_PTHREAD_SEMANTICS for Solaris.
55588
55589 2005-05-25  Derek Price  <derek@ximbiot.com>
55590
55591         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
55592
55593 2005-05-25  Derek Price  <derek@ximbiot.com>
55594             Paul Eggert  <eggert@cs.ucla.edu>
55595
55596         * modules/getlogin_r, m4/getlogin_r.m4: New files.
55597         * lib/getlogin_r.c, getlogin_r.h: New files.
55598
55599 2005-05-25  Bruno Haible  <bruno@clisp.org>
55600             Derek Price  <derek@ximbiot.com>
55601
55602         * lib/getlogin_r.h: Simplify API documentation.
55603
55604 2005-05-23  Derek Price  <derek@ximbiot.com>
55605
55606         * modules/minmax (Files): Add m4/minmax.m4.
55607         (configure.ac): Add gl_MINMAX.
55608
55609 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
55610
55611         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
55612         so that unistd-safer.h (GPL'ed code) need not be included.
55613
55614 2005-05-22  Bruno Haible  <bruno@clisp.org>
55615
55616         * m4/minmax.m4: New file.
55617         Based on a patch by Derek Price <derek@ximbiot.com>.
55618
55619 2005-05-22  Bruno Haible  <bruno@clisp.org>
55620
55621         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
55622         (INT64_MIN): Fix definition.
55623         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
55624
55625         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
55626         NEED_SIGNED_INT_TYPES.
55627
55628         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
55629         HAVE_SYSTEM_INTTYPES.
55630
55631 2005-05-22  Bruno Haible  <bruno@clisp.org>
55632
55633         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
55634         Also include <sys/param.h> if it defines MIN, MAX.
55635         Based on a patch by Derek Price <derek@ximbiot.com>.
55636
55637 2005-05-21  Jim Meyering  <jim@meyering.net>
55638
55639         * modules/fts (Files): Add m4/inttypes-pri.m4.
55640         (Depends-on): Add lstat and remove gettext.  Alphabetize.
55641
55642 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
55643
55644         New fts module.
55645         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
55646         (setup_dir, free_dir): New functions.
55647         (enter_dir, leave_dir): Define trivial
55648         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
55649         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
55650         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
55651         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
55652         Move to fts-cycle.c.
55653         (fts_open): Use setup_dir.
55654         (fts_close): Use free_dir.
55655         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
55656         This adds a label and some gotos, but the alternatives were messier.
55657         Check for memory allocation failure when entering a dir.
55658         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
55659         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
55660         (FTS): New member fts_cycle, that is a union that contains the
55661         old active_dir_ht and cycle_state.  All uses changed to mention
55662         fts_cycle.ht and fts_cycle.state.
55663         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
55664         fts.c, with the following changes:
55665         (setup_dir, free_dir): New functions.
55666         (enter_dir): Now returns bool.  Return true if successful, false
55667         if memory exhausted.  All callers changed.
55668         Do not bother partly cleaning up on
55669         memory allocation failure; that is free_dir's job.
55670         However, free ad if hash_insert fails, to avoid memory leak.
55671         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
55672         fts->fts_options to see which union member to use.
55673
55674 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
55675
55676         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
55677         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
55678
55679 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
55680
55681         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
55682
55683 2005-05-20  Jim Meyering  <jim@meyering.net>
55684
55685         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
55686         Now a macro, to pacify GCC.
55687
55688 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
55689
55690         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
55691         of -1.
55692
55693 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
55694
55695         * lib/chown.c (rpl_chown): Return -1 on failure.
55696
55697 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
55698
55699         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
55700         Don't check for stddef.h.
55701         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
55702         don't use its results.
55703         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
55704         since we include them unconditionally.  Don't require
55705         AM_STDBOOL_H, since stdbool is a prerequisite.
55706         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
55707         since we assume C89 or better.
55708         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
55709         as we don't use their results.
55710         Don't check for fchdir, memmove, memset, strrchr, as we use
55711         them unconditionally.
55712         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
55713         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
55714
55715 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
55716
55717         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
55718         Include <stddef.h> unconditionally, since we assume C89 now.
55719         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
55720         * lib/fts.c: Include fts_.h first, to check interface.
55721         Do not include intprops.h; no longer needed.
55722         Include cycle-check.h and hash.h, since fts_.h no longer does.
55723         Remove unnecessary casts of closedir to void.
55724         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
55725         decide whether to decrement nlinks.
55726         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
55727         (FTS): Use struct hash_table * instead of Hash_table, so that
55728         we no longer need to include hash.h here.
55729
55730 2005-05-18  Jim Meyering  <jim@meyering.net>
55731
55732         * modules/dirfd (License): Change to LGPL.  Most of the code
55733         is already in the public domain.
55734
55735 2005-05-18  Jim Meyering  <jim@meyering.net>
55736
55737         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
55738         Reported by Yoann Vandoorselaere.
55739
55740 2005-05-17  Jim Meyering  <jim@meyering.net>
55741
55742         * m4/fts.m4: New file, from coreutils.
55743
55744 2005-05-17  Jim Meyering  <jim@meyering.net>
55745
55746         * lib/fts.c, lib/fts_.h: New files, from coreutils.
55747
55748 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
55749
55750         Sync from coreutils.
55751         * m4/unlinkdir.m4: New file.
55752
55753 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
55754
55755         Sync from coreutils.
55756         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
55757         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
55758         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
55759         White space changes only.
55760         * lib/makepath.c (make_path): Port to hosts where leading "//" is
55761         special.
55762         * lib/yesno.c: Include getline.h, not ctype.h.
55763         (yesno): Don't remove leading white space; POSIX doesn't allow it.
55764         Use getline to remove arbitrary restriction on response length.
55765
55766 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
55767
55768         * config/srclist-update: Spell out "Street" in FSF postal
55769         mail address; this is the style the FSF seems to prefer.
55770
55771         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
55772         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
55773         this updates FSF postal mail address.
55774
55775         Sync from coreutils.
55776         * modules/unlinkdir: New file.
55777         * modules/yesno (Depends-on): Add getline.
55778         * MODULES.html.sh (File system functions): Add unlinkdir.
55779
55780 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
55781
55782         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
55783         lib/strsep.h:
55784         Change the initial comment to refer to GPL, not LGPL.
55785         gnulib-tool will change it to LGPL as needed.
55786
55787         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
55788         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
55789         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
55790         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
55791         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
55792         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
55793         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
55794         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
55795         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
55796         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
55797         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
55798         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
55799         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
55800         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
55801         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
55802         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
55803         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
55804         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
55805         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
55806         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
55807         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
55808         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
55809         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
55810         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
55811         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
55812         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
55813         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
55814         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
55815         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
55816         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
55817         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
55818         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
55819         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
55820         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
55821         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
55822         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
55823         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
55824         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
55825         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
55826         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
55827         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
55828         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
55829         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
55830         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
55831         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
55832         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
55833         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
55834         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
55835         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
55836         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
55837         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
55838         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
55839         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
55840         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
55841         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
55842         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
55843         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
55844         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
55845         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
55846         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
55847         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
55848         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
55849         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
55850         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
55851         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
55852         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
55853         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
55854         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
55855         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
55856         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
55857         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
55858         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
55859         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
55860         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
55861         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
55862         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
55863         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
55864         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
55865         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
55866         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
55867         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
55868         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
55869         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
55870         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
55871         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
55872         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
55873         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
55874         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
55875         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
55876         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
55877         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
55878         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
55879         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
55880         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
55881         lib/yesno.c, lib/yesno.h:
55882         Update FSF postal mail address.
55883
55884 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
55885
55886         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
55887         tests/test-memmem.c, tests/test-stpncpy.c:
55888         Update FSF postal mail address.
55889
55890 2005-05-13  Bruno Haible  <bruno@clisp.org>
55891
55892         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
55893         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
55894         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
55895         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
55896         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
55897         Add support for 64-bit integers in the MSVC compiler.
55898
55899 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
55900
55901         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
55902
55903 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
55904
55905         * gnulib-tool (func_import): Sort and uniquify recommended includes.
55906
55907 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
55908
55909         * doc/getdate.texi (General date syntax): Don't say that date
55910         date --iso-8601=ns generates acceptable dates; it doesn't yet.
55911         Problem reported by Nic Ferrier.
55912
55913 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55914
55915         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
55916         specified in ai_socktype. Fix invalid ai_protocol
55917         check. ai_protocol is usually set to 0 or depending on
55918         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
55919         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
55920         ai_socktype / ai_protocol in the returned addrinfo structure.
55921
55922 2005-05-10  Simon Josefsson  <jas@extundo.com>
55923
55924         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
55925         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
55926
55927 2005-05-10  Karl Berry  <karl@gnu.org>
55928
55929         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
55930         (from http://www.gnu.org/licenses).
55931         * doc/COPYING.LIB: also rename to COPYING.LESSER.
55932         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
55933         fdl.texi suffices.
55934
55935 2005-05-10  Karl Berry  <karl@gnu.org>
55936
55937         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
55938         (COPYING.DOC): remove.
55939
55940         * config/srclist-update: new FSF address.
55941
55942 2005-05-10  Derek Price  <derek@ximbiot.com>
55943
55944         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
55945         possible.
55946
55947 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55948             Bruno Haible  <bruno@clisp.org>
55949
55950         * modules/inet_ntop: New file.
55951         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55952         inet_ntop.
55953
55954 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55955             Bruno Haible  <bruno@clisp.org>
55956
55957         * m4/inet_ntop.m4: New file.
55958
55959 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55960             Bruno Haible  <bruno@clisp.org>
55961
55962         * lib/inet_ntop.h: New file.
55963         * lib/inet_ntop.c: New file, from glibc with modifications.
55964
55965 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
55966
55967         * modules/time_r (License): Change to LGPL.
55968         * modules/extensions (License): Change to LGPL.  Actually,
55969         the license is more permissive than that, but currently gnulib-tool
55970         doesn't know how to handle more-permissive licenses.
55971
55972         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
55973         Problem reported by Dave Love.
55974
55975 2005-05-08  Jim Meyering  <jim@meyering.net>
55976
55977         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
55978         blank.
55979
55980 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
55981
55982         * modules/argmatch (Depends-on): Add stdbool.
55983         * modules/backupfile (Depends-on): Likewise.
55984         * modules/chdir-long (Depends-on): Likewise.
55985         * modules/closeout (Depends-on): Likewise.
55986         * modules/cycle-check (Depends-on): Likewise.
55987         * modules/dirname (Depends-on): Likewise.
55988         * modules/fnmatch (Depends-on): Likewise.
55989         * modules/fsusage (Depends-on): Likewise.
55990         * modules/fwriteerror (Depends-on): Likewise.
55991         * modules/getcwd (Depends-on): Likewise.
55992         * modules/getloadavg (Depends-on): Likewise.
55993         * modules/hard-locale (Depends-on): Likewise.
55994         * modules/makepath (Depends-on): Likewise.
55995         * modules/mountlist (Depends-on): Likewise.
55996         * modules/nanosleep (Depends-on): Likewise.
55997         * modules/posixtm (Depends-on): Likewise.
55998         * modules/quotearg (Depends-on): Likewise.
55999         * modules/readtokens (Depends-on): Likewise.
56000         * modules/readtokens0 (Depends-on): Likewise.
56001         * modules/readutmp (Depends-on): Likewise.
56002         * modules/save-cwd (Depends-on): Likewise.
56003         * modules/strftime (Depends-on): Likewise.
56004         * modules/userspec (Depends-on): Likewise.
56005         * modules/utimecmp (Depends-on): Likewise.
56006         * modules/xgetcwd (Depends-on): Likewise.
56007         * modules/xnanosleep (Depends-on): Likewise.
56008         * modules/xstrtod (Depends-on): Likewise.
56009         * modules/yesno (Depends-on): Likewise.
56010
56011 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
56012
56013         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
56014         needless checks.
56015
56016 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
56017
56018         Merge from coreutils.  Among other things,
56019         add bulletproofing for cases where stdin, stdout, or stderr are closed.
56020         * lib/fd-safer.c: New file.
56021         * lib/fcntl-safer.h, open-safer.c: Remove.
56022         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
56023         * lib/dup-safer.c: Include unistd-safer.h first.
56024         Don't include errno.h.
56025         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
56026         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
56027         * lib/file-type.c: Rely on file-type.h change.
56028         * lib/getloadavg.c: Include unistd-safer.h.
56029         (getloadavg): Use safer open.
56030         * lib/getusershell.c: Include "stdio-safer.h".
56031         (getusershell): Use safer fopen.
56032         * lib/long-options.c (long_options): Use NULL rather than 0.
56033         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
56034         'free'.
56035         * lib/modechange.c: Likewise.
56036         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
56037         (MODE_DONE): New constant.
56038         (struct mode_change): Remove 'next' member.
56039         (make_node_op_equals): New function; like the old one of the
56040         same name, except it allocates an array.
56041         (mode_compile, mode_create_from_ref): Use it.
56042         (mode_compile): Allocate result as an array, not a linked list.
56043         Parse octal string ourself, so that we catch mistakes like "+0".
56044         (mode_adjust): Arg is an array, not a linked list.
56045         * lib/modechange.c: Include stat-macros.h, xalloc.h.
56046         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
56047         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
56048         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
56049         Remove.  This is now stat-macros.h's job.
56050         (talloc): Remove.  All callers replaced by xalloc, so that
56051         our invokers don't have to worry about reporting memory failures.
56052         (make_node_op_equals): Remove.
56053         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
56054         New constants.
56055         (struct mode_change): Moved here from modechange.h.
56056         (mode_append_entry): Remove.
56057         (mode_compile): Remove MASKED_OPS arg, since it encouraged
56058         apps to have incorrect behavior.  Use simpler algorithm for head
56059         and tail.  Don't futz with umask; that's now the job of mode_adjust.
56060         Detect more invalid usages rather than having somewhat-random behavior.
56061         Don't insert an "a=" action, as that leads to incorrect behavior.
56062         (mode_compile, mode_create_from_ref): Return NULL on error instead
56063         of an enum, since now there's only one way to have an error.  All
56064         callers changed.
56065         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
56066         at the correct time.  Simplify calculation of "+u" and its ilk.
56067         Don't mishandle "+X".
56068         (mode_free): Remove "register" and localize decls.
56069         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
56070         (struct mode_change): Move to modechange.c; callers don't
56071         need to see this stuff.
56072         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
56073         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
56074         (mode_change, mode_adjust): Reflect the new signatures noted above.
56075         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
56076         that might redefine system include files.
56077         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
56078         (my_usleep): Use NULL rather than (void *) 0.
56079         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
56080         Use siginterrupt to specify that system calls should be interrupted.
56081         (rpl_nanosleep): Move initialization of suspended closer to call of
56082         my_usleep.
56083         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
56084         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
56085         (desirable_utmp_entry): New function.
56086         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
56087         using x2nrealloc, to simplify logic.
56088         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
56089         size calculation.  Do not assume utmp file is a regular file.
56090         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
56091         (READ_UTMP_CHECK_PIDS): New constant.
56092         * lib/save-cwd.c: Include unistd-safer.h.
56093         (save_cwd): Use fd_safer.
56094         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
56095         [!_LIBC] Include "stat-macros.h" instead.
56096         * lib/unistd-safer.h (fd_safer): New decl.
56097
56098 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
56099
56100         * modules/getloadavg (Depends-on): Add unistd-safer.
56101         * modules/getusershell (Depends-on): Add stdio-safer.
56102         * modules/lstat (Depends-on): Remove xalloc.
56103         * modules/mkstemp (Depends-on): Add stat-macros.
56104         * modules/modechange (Depends-on): Remove xstrtol.
56105         Add stat-macros, xalloc.
56106         * modules/save-cwd (Depends-on): Add unistd-safer.
56107         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
56108         * modules/unistd-safer (Files): Add lib/fd-safer.c
56109         (Makefile.am): Remove lib_SOURCES.
56110
56111         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
56112         Remove fcntl-safer; unistd-safer supersedes it.
56113
56114 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
56115
56116         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
56117         AC_HEADER_STAT.
56118         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
56119         (gl_PREREQ_CHOWN): Remove.
56120         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
56121         it.  Don't require AC_HEADER_STAT.
56122         (gl_PREREQ_LSTAT): Remove.
56123         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
56124         Don't require AC_HEADER_STAT.
56125         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
56126         (gl_PREREQ_RMDIR): Remove.
56127         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
56128         mention stat-macros.h or AC_HEADER_STAT, since we'll make
56129         the stat-macros module a prerequisite.
56130         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
56131         * m4/filemode.m4 (gl_FILEMODE): Likewise.
56132         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
56133         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
56134         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
56135         variable names.
56136         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
56137         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
56138         variable prefixes.
56139         * m4/fcntl-safer.m4: Remove.
56140         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
56141         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
56142         Invoke gl_PREREQ_FD_SAFER.
56143         (gl_PREREQ_FD_SAFER): New macro.
56144         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
56145         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
56146         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
56147         Remove duplicate call to AC_LIBOBJ(readutmp).
56148         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
56149
56150         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
56151         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
56152
56153 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
56154
56155         * MODULES.html.sh (Misc): Add byteswap.
56156
56157 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
56158
56159         * modules/getcwd (Depends-on): Add extensions.
56160         * modules/openat (Depends-on): Likewise.
56161
56162 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
56163
56164         * modules/byteswap: New file.
56165
56166 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
56167
56168         * m4/byteswap.m4: New file.
56169
56170 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
56171
56172         * lib/byteswap_.h: New file.
56173
56174 2005-04-25  Karl Berry  <karl@gnu.org>
56175
56176         * m4/gettext.m4: Update from GNU gettext 0.14.4.
56177
56178 2005-04-25  Albert Chin  <china@thewrittenword.com>
56179
56180         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
56181         Toolkit C bug.
56182
56183 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
56184
56185         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
56186         (func_ln_if_changed) Remove forcibly for no error message
56187         in case file does not exist.
56188
56189 2005-04-19  Simon Josefsson  <jas@extundo.com>
56190
56191         * gnulib-tool (Options): Make --symlink mean --symbolic.
56192
56193 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
56194
56195         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
56196
56197 2005-04-16  Simon Josefsson  <jas@extundo.com>
56198
56199         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
56200
56201 2005-04-15  Simon Josefsson  <jas@extundo.com>
56202
56203         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
56204
56205 2005-04-15  Simon Josefsson  <jas@extundo.com>
56206
56207         * gnulib-tool: Rename --symlink to --symbolic.
56208
56209 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
56210
56211         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
56212         symbolic links to files instead of copying/moving.  Add --aux-dir,
56213         specifying directory relative --dir where auxiliary build tools
56214         are placed.
56215
56216 2005-04-14  Bruno Haible  <bruno@clisp.org>
56217
56218         * modules/allocsa (License): Change to LGPL.
56219         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
56220
56221 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
56222
56223         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
56224         that "UTC +1 second" continues to work.  Problem reported
56225         by Dmitry V. Levin.
56226         (relunit_snumber): New rule.
56227         (relunit): Use it.
56228
56229 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
56230
56231         * lib/getdate.y (universal_time_zone_table): New constant.
56232         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
56233         universal_time_zone_table.
56234         (lookup_zone): Prefer universal_time_zone_table to
56235         local_time_zone_table, so that "GMT" time stamps are allowed in
56236         London during the summer.  Problem reported by Ian Abbott.
56237
56238 2005-04-12  Jim Meyering  <jim@meyering.net>
56239
56240         * lib/human.c (humblock): Set *options even when returning due to
56241         xstrtoumax conversion failure.  Thanks to a used-uninitialized
56242         warning from gcc-4.
56243
56244 2005-04-09  Jim Meyering  <jim@meyering.net>
56245
56246         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
56247         -Wuninitialized: initialize tm0.tm_year.
56248
56249 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
56250
56251         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
56252         count, since there's no maximum.  All uses changed.
56253         Add member dsts_seen.
56254         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
56255         not being INT_MAX.
56256         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
56257         Use pc_rels_seen to decide whther a date is absolute.
56258
56259         * lib/getdate.y (number): Don't overwrite year.
56260         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
56261         check.
56262
56263 2005-04-02  Simon Josefsson  <jas@extundo.com>
56264
56265         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
56266         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
56267
56268 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
56269
56270         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
56271         where no absolute path name can be longer than PATH_MAX.
56272
56273 2005-03-27  Jim Meyering  <jim@meyering.net>
56274
56275         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
56276
56277 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
56278
56279         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
56280         "one's complement" -> "ones' complement" in comment, as per Knuth.
56281         "value of type" -> "type or expression" in comment.
56282         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
56283
56284 2005-03-26  Jim Meyering  <jim@meyering.net>
56285
56286         Comment nits.
56287         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
56288         Correct typos: s/or/of/.
56289
56290 2005-03-26  Jim Meyering  <jim@meyering.net>
56291
56292         * modules/check-include-files: Move to ../ and rename to...
56293         * check-module: ...this.
56294
56295 2005-03-25  Jim Meyering  <jim@meyering.net>
56296
56297         * modules/xvasprintf (Files): Add xalloc.h.
56298
56299 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
56300
56301         * modules/gettext (Files): config/config.rpath ->
56302         build-aux/config.rpath
56303         * modules/iconv (Files): Likewise.
56304         Problem reported by Oskar Liljeblad.
56305
56306 2005-03-23  Jim Meyering  <jim@meyering.net>
56307
56308         * modules/check-include-files: New script to check for
56309         missing dependencies, multiple includes, etc.
56310
56311         * modules/c-strtold (Depends-on): Add xalloc.
56312         * modules/c-strtod (Depends-on): Add xalloc.
56313         * modules/hash (Depends-on): Add xalloc.
56314         (Files): Remove lib/xalloc.h.
56315
56316         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
56317         * modules/userspec (Files): Add lib/inttostr.h.
56318
56319 2005-03-23  Jim Meyering  <jim@meyering.net>
56320
56321         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
56322
56323 2005-03-22  Jim Meyering  <jim@meyering.net>
56324
56325         * modules/stat-macros: New module.
56326         * modules/canonicalize, modules/euidaccess, modules/file-type,
56327         * modules/filemode, modules/lchown, modules/makepath,
56328         * modules/rmdir, modules/stat: Depend on new stat-macros module
56329         rather than listing lib/stat-macros.h manually.
56330         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
56331
56332 2005-03-22  Jim Meyering  <jim@meyering.net>
56333
56334         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
56335
56336 2005-03-22  Bruno Haible  <bruno@clisp.org>
56337
56338         * config/srclist.txt: Replace target directory 'config' with
56339         'build-aux'.
56340         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
56341         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
56342         ../build-aux/.
56343
56344 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
56345
56346         * modules/chdir-long (Depends-on): Add mempcpy.
56347
56348         * modules/acl, modules/backupfile, modules/c-strtod,
56349         modules/c-strtold, modules/canon-host, modules/canonicalize,
56350         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
56351         modules/exclude, modules/exitfail, modules/file-type,
56352         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
56353         modules/getdate, modules/getline, modules/getpagesize,
56354         modules/getpass, modules/getugroups, modules/group-member,
56355         modules/hard-locale, modules/hash, modules/human, modules/idcache,
56356         modules/inttostr, modules/long-options, modules/makepath,
56357         modules/md5, modules/memcasecmp, modules/memcoll,
56358         modules/modechange, modules/mountlist, modules/path-concat,
56359         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
56360         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
56361         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
56362         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
56363         modules/strftime, modules/strndup, modules/strverscmp,
56364         modules/timespec, modules/unlocked-io, modules/userspec,
56365         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
56366         modules/yesno:
56367         Remove lib_SOURCES line from Makefile.am section, as this is now
56368         done automatically by the corresponding Autoconf macro.
56369
56370 2005-03-21  Jim Meyering  <jim@meyering.net>
56371
56372         Changes imported from coreutils.
56373
56374         * lib/cycle-check.c: Don't include xalloc.h.
56375
56376         * lib/path-concat.c: Don't include assert.h.
56377         (path_concat): Remove assertion that would have triggered
56378         for ABASE starting with more than one slash.
56379         Reported by Andreas Schwab.
56380
56381         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
56382         properly when ABASE is an absolute file name.
56383         Correct the description of this function.
56384         Include <assert.h>.
56385         Add an assertion and a test driver.
56386         This fixes a bug introduced on 2004-07-02.
56387         Andreas Schwab reported the resulting failure of cp --parents:
56388         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
56389
56390 2005-03-21  Jim Meyering  <jim@meyering.net>
56391
56392         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
56393         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
56394
56395 2005-03-21  Jim Meyering  <jim@meyering.net>
56396         and  Paul Eggert  <eggert@cs.ucla.edu>
56397
56398         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
56399         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
56400         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
56401         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
56402         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
56403         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
56404         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
56405         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
56406         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
56407         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
56408         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
56409         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
56410         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
56411         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
56412         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
56413         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
56414         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
56415         for these modules.
56416
56417 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
56418
56419         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
56420         (which shouldn't happen), generate nothing instead of returning 0
56421         immediately, so that nstrftime (NULL, ...) doesn't return 0.
56422
56423 2005-03-16  Bruno Haible  <bruno@clisp.org>
56424
56425         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
56426         HAVE_LONGLONG_64BIT.
56427
56428 2005-03-16  Bruno Haible  <bruno@clisp.org>
56429
56430         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
56431         HAVE_LONGLONG_64BIT.
56432
56433 2005-03-16  Bruno Haible  <bruno@clisp.org>
56434
56435         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
56436         HAVE_LONGLONG_64BIT.
56437
56438 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
56439
56440         * lib/strftime.c (my_strftime): Prepend space to format so that we can
56441         reliably distinguish strftime failure from empty output on POSIX
56442         hosts.
56443
56444 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
56445
56446         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
56447         (iconv_string): Don't guess a size-zero buffer, as that might cause
56448         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
56449         result would be 'too large', where 'too large' is (heuristically)
56450         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
56451         overflow concerns.  This will prevent some unwanted malloc failures
56452         when the inputs are very large.
56453
56454 2005-03-15  Karl Berry  <karl@gnu.org>
56455
56456         * config/srclist.txt (config.rpath): from gettext.
56457         * config/config.rpath: update.
56458
56459 2005-03-15  Bruno Haible  <bruno@clisp.org>
56460
56461         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
56462         to 'negate'.
56463
56464         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
56465         variable.
56466
56467         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
56468         results.
56469
56470 2005-03-14  Simon Josefsson  <jas@extundo.com>
56471
56472         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
56473         <fx@gnu.org>.
56474
56475 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
56476
56477         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
56478         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
56479         intprops.h.
56480         * lib/strtol.c: Likewise.
56481
56482 2005-03-14  Jim Meyering  <jim@meyering.net>
56483
56484         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
56485         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
56486         to be nonzero so that we (and caller) can detect the difference
56487         between a valid zero-length expansion and an error return, even
56488         when the underlying strftime fails before writing anything into
56489         that location.
56490
56491 2005-03-14  Bruno Haible  <bruno@clisp.org>
56492
56493         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
56494         Update from GNU gettext 0.14.3.
56495
56496 2005-03-10  Jim Meyering  <jim@meyering.net>
56497
56498         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
56499
56500 2005-03-10  Jim Meyering  <jim@meyering.net>
56501
56502         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
56503         so that this module works on systems without fchdir.
56504
56505 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
56506
56507         Factor int-properties macros into a single file, except for
56508         glibc-related files.
56509         * lib/intprops.h: New file.
56510         * lib/getloadavg.c: Include it instead of limits.h.
56511         (INT_STRLEN_BOUND): Remove.
56512         * lib/human.c: Include intprops.h.
56513         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
56514         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
56515         302/1000.
56516         * lib/inttostr.h: Include intprops.h instead of limits.h.
56517         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
56518         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
56519         for consistency with intprops.h.
56520         (time_t_is_integer, twos_complement_arithmetic): Use them.
56521         * lib/sig2str.h: Include <signal.h>, intprops.h.
56522         (INT_STRLEN_BOUND): Remove.
56523         * lib/strftime.c (TYPE_SIGNED): Remove.
56524         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
56525         * lib/strtol.c: Adjust comments to match intprops.h.
56526         * lib/userspec.c: Include intprops.h.
56527         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
56528         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
56529         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
56530         instead of rolling our own expressions.
56531         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
56532
56533         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
56534         instead of int.
56535         (my_strftime): Do not mishandle years close to INT_MAX, by doing
56536         the right thing even if adding 1900 would overflow.  Similarly
56537         for tm_mon + 1 and tm_yday + 1.
56538         Make %Y always equivalent to %C%y, and similarly for %G and %g.
56539         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
56540         (DO_SIGNED_NUMBER): New macro.
56541         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
56542
56543 2005-03-07  Bruno Haible  <bruno@clisp.org>
56544
56545         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
56546
56547 2005-03-07  Bruno Haible  <bruno@clisp.org>
56548
56549         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
56550
56551 2005-03-04  Derek R. Price  <derek@ximbiot.com>
56552
56553         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
56554         (func_import): Only replace files via --import when they have actually
56555         changed.
56556
56557 2005-03-03  Derek R. Price  <derek@ximbiot.com>
56558
56559         * m4/mmap-anon.m4: New file.
56560         * m4/pagealign_alloc.m4: New file.
56561
56562 2005-03-03  Derek R. Price  <derek@ximbiot.com>
56563             Bruno Haible  <bruno@clisp.org>
56564
56565         * modules/pagealign_alloc: New file.
56566         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
56567
56568 2005-03-03  Derek R. Price  <derek@ximbiot.com>
56569             Bruno Haible  <bruno@clisp.org>
56570
56571         * lib/pagealign_alloc.h: New file.
56572         * lib/pagealign_alloc.c: New file.
56573
56574 2005-03-03  Bruno Haible  <bruno@clisp.org>
56575
56576         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
56577         Use an all-permissive copyright notice, recommended by RMS.
56578
56579 2005-03-02  Bruno Haible  <bruno@clisp.org>
56580
56581         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
56582         of AIX, the replacement has to be done only after <string.h> is
56583         included, therefore not in config.h. stpncpy.h does the replacement,
56584         and stpncpy.c uses it.
56585
56586 2005-03-02  Bruno Haible  <bruno@clisp.org>
56587
56588         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
56589         stpncpy.c uses it.
56590
56591 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
56592
56593         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
56594         The workaround isn't strictly needed for POSIX conformance, and
56595         it's too much of a pain to configure and maintain.  We'll ask
56596         people to fix their kernels instead.
56597         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
56598         (NANOSLEEP_BUG_WORKAROUND): Remove.
56599         (xnanosleep): Remove the workaround.
56600
56601 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
56602
56603         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
56604         Reported by Derek Price.
56605         (Include): Add "timespec.h".
56606
56607         * modules/xnanosleep (Depends-on): Remove gethrxtime.
56608
56609 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
56610
56611         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
56612         to detect nanosleep bug.
56613
56614 2005-03-01  Bruno Haible  <bruno@clisp.org>
56615
56616         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
56617
56618 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
56619
56620         * modules/gethrxtime: New file.
56621         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
56622         (Depends-on): Add gethrxtime.
56623         (configure.ac): Add gl_XNANOSLEEP.
56624         (Makefile.am): Remove lib_SOURCES line.
56625
56626 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
56627
56628         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
56629         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
56630
56631 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
56632
56633         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
56634         * lib/timespec.h (gettime): Return void, since it always
56635         succeeds now.  All uses changed.
56636         * lib/gettime.c (gettime) Likewise.
56637         [HAVE_NANOTIME]: Prefer nanotime.
56638         Assume gettimeofday succeeds, as POSIX requires.
56639         Assime time () succeeds, since other code already does.
56640         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
56641         (timespec_subtract): Remove.
56642         (NANOSLEEP_BUG_WORKAROUND): New constant.
56643         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
56644         things considerably.  Use it only on GNU/Linux hosts, since the
56645         workaround shouldn't be needed elsewhere.
56646
56647 2005-02-24  Bruno Haible  <bruno@clisp.org>
56648
56649         * modules/gettext (Files): Add m4/glibc2.m4.
56650
56651 2005-02-24  Bruno Haible  <bruno@clisp.org>
56652
56653         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
56654         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
56655         * m4/progtest.m4:
56656         Update from GNU gettext 0.14.2.
56657         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
56658
56659 2005-02-24  Bruno Haible  <bruno@clisp.org>
56660
56661         * lib/localcharset.c: Update from GNU gettext 0.14.2.
56662         * lib/config.charset: Update from GNU gettext 0.14.2.
56663
56664 2005-02-24  Bruno Haible  <bruno@clisp.org>
56665
56666         * lib/gettext.h: Update from GNU gettext 0.14.2.
56667
56668 2005-02-23  Simon Josefsson  <jas@extundo.com>
56669
56670         * m4/iconvme.m4: New file.
56671
56672 2005-02-23  Jim Meyering  <jim@meyering.net>
56673
56674         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
56675         change.
56676         Thanks to Bruno Haible for catching it.
56677
56678 2005-02-22  Simon Josefsson  <jas@extundo.com>
56679
56680         * modules/iconvme: New file.
56681
56682         * MODULES.html.sh: Add iconvme.
56683
56684 2005-02-22  Simon Josefsson  <jas@extundo.com>
56685
56686         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
56687
56688 2005-02-22  Simon Josefsson  <jas@extundo.com>
56689
56690         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
56691
56692 2005-02-22  Jim Meyering  <jim@meyering.net>
56693
56694         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
56695         s/ifndef/ifdef/.
56696
56697 2005-02-20  Neil Conway  <neilc@samurai.com>
56698
56699         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
56700         returned by OSX/Darwin if the specified buffer is not large
56701         enough for the hostname.
56702
56703 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
56704
56705         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
56706         pass it to _help, otherwise the latter coredumps trying to
56707         dereference state.root_argp.
56708
56709 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
56710
56711         * modules/chdir-long (Depends-on): Add memrchr.
56712         * modules/memrchr (Files): Add lib/memrchr.h.
56713         (Include): "memrchr.h".
56714
56715 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
56716
56717         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
56718
56719 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
56720
56721         * lib/memrchr.h: New file.
56722         * lib/chdir-long.c: Include it.
56723         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
56724         Don't bother including stddef.h.
56725
56726 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
56727
56728         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
56729         inclusion.
56730         Include <sys/types.h>, for dev_t.
56731         (ME_DUMMY, ME_REMOTE): Move from here....
56732         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
56733         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
56734         Dmitry V. Levin.
56735         Include mountlist.h first, to test the interface.
56736
56737 2005-01-29  Bruno Haible  <bruno@clisp.org>
56738
56739         * lib/progname.c (program_name): Initialize.
56740         Needed when linking statically on MacOS X.
56741
56742 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
56743
56744         Sync from coreutils.
56745         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
56746         (Depends-on): Add c-strtod.
56747         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
56748
56749 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
56750
56751         Sync from coreutils.
56752         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
56753
56754         Remove files that are specific to coreutils.
56755         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
56756
56757 2005-01-28  Bruno Haible  <bruno@clisp.org>
56758
56759         * modules/javacomp: New file.
56760         * MODULES.html.sh (Java): Add javacomp.
56761
56762 2005-01-28  Bruno Haible  <bruno@clisp.org>
56763
56764         * m4/javacomp.m4: New file, from GNU gettext.
56765
56766 2005-01-28  Bruno Haible  <bruno@clisp.org>
56767
56768         * lib/javacomp.sh.in: New file, from GNU gettext.
56769         * lib/javacomp.h: New file, from GNU gettext.
56770         * lib/javacomp.c: New file, from GNU gettext.
56771
56772 2005-01-26  Simon Josefsson  <jas@extundo.com>
56773
56774         * lib/gai_strerror.c: Use GPL in header.
56775
56776 2005-01-26  Bruno Haible  <bruno@clisp.org>
56777
56778         * modules/javaexec: New file.
56779         * MODULES.html.sh (Java): Add javaexec.
56780
56781 2005-01-26  Bruno Haible  <bruno@clisp.org>
56782
56783         * m4/javaexec.m4: New file, from GNU gettext.
56784
56785 2005-01-26  Bruno Haible  <bruno@clisp.org>
56786
56787         * lib/javaexec.sh.in: New file, from GNU gettext.
56788         * lib/javaexec.h: New file, from GNU gettext.
56789         * lib/javaexec.c: New file, from GNU gettext.
56790
56791 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
56792
56793         * modules/lchown (Depends-on): Remove lchown.h
56794
56795 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
56796
56797         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
56798         must be defined if the header file was not found, in order
56799         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
56800
56801 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
56802
56803         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
56804         initializers for struct pentry_state.
56805         (__argp_error): Check return value of __asprintf
56806         (__argp_failure): Translate error message
56807
56808         * lib/argp-parse.c: Removed braces around the expansion of N_()
56809
56810 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
56811
56812         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
56813         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
56814         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
56815         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
56816         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
56817         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
56818         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
56819         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
56820         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
56821         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
56822         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
56823         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
56824         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
56825         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
56826         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
56827         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
56828         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
56829         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
56830         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
56831         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
56832         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
56833         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
56834         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
56835         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
56836         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
56837         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
56838         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
56839         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
56840         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
56841         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
56842         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
56843         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
56844         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
56845         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
56846         xstrtol.m4, xstrtoumax.m4, yesno.m4:
56847         Use an all-permissive copyright notice, recommended by RMS.
56848
56849 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
56850
56851         * modules/chdir-long (Depends-on): Remove mempcpy.
56852
56853 2005-01-21  Jim Meyering  <jim@meyering.net>
56854
56855         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
56856         same value as for Solaris 9.
56857
56858         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
56859         component length.  This included changing the parameter to be
56860         of type `char *' rather than `char const *'.
56861         * lib/chdir-long.h (chdir_long): Update prototype.
56862
56863         * lib/openat.c (fdopendir, fstatat): New functions.
56864         * lib/openat.h: Include headers required for use of DIR and struct
56865         stat.
56866         [AT_SYMLINK_NOFOLLOW]: Define.
56867         (fdopendir, fstatat): Add prototypes.
56868
56869 2005-01-21  Bruno Haible  <bruno@clisp.org>
56870
56871         * modules/classpath: New file.
56872         * MODULES.html.sh (Java): Add classpath.
56873
56874 2005-01-21  Bruno Haible  <bruno@clisp.org>
56875
56876         * lib/classpath.h: New file, from GNU gettext.
56877         * lib/classpath.c: New file, from GNU gettext.
56878
56879 2005-01-20  Simon Josefsson  <jas@extundo.com>
56880
56881         * modules/version-etc-fsf: New file.
56882
56883 2005-01-20  Simon Josefsson  <jas@extundo.com>
56884
56885         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
56886         * lib/version-etc.c: Remove version_etc_copyright.
56887         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
56888         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
56889
56890 2005-01-20  Simon Josefsson  <jas@extundo.com>
56891
56892         * lib/base64.h (isbase64): Add.
56893
56894         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
56895         using a unsigned prototype, don't inline.
56896         (base64_decode): Use it.
56897
56898 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
56899
56900         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
56901         it.
56902
56903 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
56904
56905         * lib/save-cwd.c (save_cwd): Remove code to support the case
56906         where fchdir is missing or flaky.
56907
56908 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
56909
56910         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
56911
56912 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
56913
56914         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
56915         AC_LIBSOURCES now does this.
56916         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
56917         with new ullong_max module.
56918
56919 2005-01-19  Bruno Haible  <bruno@clisp.org>
56920
56921         * modules/sh-quote: New file.
56922         * MODULES.html.sh (Executing programs): Add sh-quote.
56923
56924 2005-01-19  Bruno Haible  <bruno@clisp.org>
56925
56926         * lib/sh-quote.h: New file, from GNU gettext.
56927         * lib/sh-quote.c: New file, from GNU gettext.
56928
56929 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
56930
56931         Merge from coreutils.
56932         * m4/ullong_max.m4: New file.
56933         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
56934         (gl_MACROS): Assume localeconv exists.
56935
56936 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
56937
56938         Merge changes from coreutils, as described below in several
56939         changelogs dated today.
56940
56941         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
56942         (O_DIRECTORY): Remove; not needed here, since "." must be
56943         a directory.  All uses removed.
56944         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
56945         universal on Suns, and we also need to test for IRIX.
56946         Revamp code to use 'if' rather than '#if'.
56947         Avoid unnecessary comparison of cwd->desc to 0.
56948
56949         * lib/utimens.c (futimens): Robustify the previous patch, by checking
56950         for known valid error numbers rather than observed invalid ones.
56951
56952 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
56953
56954         * modules/ullong_max: New file.
56955
56956         * modules/chdir-long, modules/openat: New files.
56957         * modules/save-cwd (Depends-on): Depend on chdir-long.
56958         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
56959
56960 2005-01-18  Jim Meyering  <jim@meyering.net>
56961
56962         Merge from coreutils.
56963         * m4/chdir-long.m4, m4/openat.m4: New files.
56964         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
56965         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
56966         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
56967         is sane and DOES follow symlinks.  Besides, testing 20 different
56968         systems found no broken chown implementations.
56969         Prompted by a change in rsync's copy of this macro.
56970         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
56971
56972         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
56973
56974         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
56975         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
56976         NULL-means-set-to-current-time semantics.
56977         Remove temporary file immediately, rather than waiting
56978         for configure's at-exit trap code to do it.
56979
56980 2005-01-18  Jim Meyering  <jim@meyering.net>
56981
56982         * lib/version-etc.c (version_etc_copyright): Update copyright date.
56983
56984         * lib/utimens.c (futimens): Account for the fact that futimes
56985         can also fail with errno == ENOSYS or errno == ENOENT.
56986         Patch from Dmitry V. Levin.
56987
56988         Change the name of the robust chdir function from chdir to chdir_long.
56989         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
56990         (restore_cwd): Use chdir_long, not chdir.
56991         * lib/chdir-long.c: Renamed from chdir.c.
56992         * lib/chdir-long.h: Renamed from chdir.h.
56993         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
56994         Hurd.
56995
56996 2005-01-18  Bruno Haible  <bruno@clisp.org>
56997
56998         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
56999         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
57000         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
57001         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
57002         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
57003         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
57004         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
57005         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
57006         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
57007         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
57008         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
57009         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
57010         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
57011         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
57012         Use an all-permissive copyright notice, recommended by RMS.
57013
57014 2005-01-18  Bob Proulx  <bob@proulx.com>
57015
57016         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
57017         simplify offsetof() macro construct to avoid compile failure with
57018         native HP-UX 11.0 ANSI C compiler.
57019
57020 2005-01-17  Bruno Haible  <bruno@clisp.org>
57021
57022         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
57023         redundant because stpncpy.m4 takes care of it.
57024
57025 2005-01-17  Bruno Haible  <bruno@clisp.org>
57026
57027         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
57028
57029 2005-01-17  Bruno Haible  <bruno@clisp.org>
57030
57031         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
57032         used.
57033
57034 2005-01-17  Bruno Haible  <bruno@clisp.org>
57035
57036         * lib/fwriteerror.h (fwriteerror): Change specification to include
57037         fclose.
57038         * lib/fwriteerror.c: Include <stdbool.h>.
57039         (fwriteerror): At the end, close the file stream. Record whether
57040         stdout was already closed.
57041
57042 2005-01-17  Bruno Haible  <bruno@clisp.org>
57043
57044         * lib/execute.c (environ): Declare if needed.
57045         * lib/pipe.c (environ): Likewise.
57046         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
57047
57048 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
57049
57050         * modules/argp: Depend on vsnprintf
57051
57052 2005-01-10  Jim Meyering  <jim@meyering.net>
57053
57054         * modules/closeout (Depends-on): Add atexit.
57055
57056 2005-01-06  Bruno Haible  <bruno@clisp.org>
57057
57058         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
57059
57060 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
57061
57062         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
57063         definitions to be after all include files, to avoid collisions.
57064         Problem reported by Bob Proulx.
57065
57066 2005-01-04  Jim Meyering  <jim@meyering.net>
57067
57068         Changes imported from coreutils.
57069         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
57070         as the mkstemp template, use a temporary directory and an
57071         8.3-friendly template to avoid trouble on systems like DJGPP.
57072         Reported by Juan M. Guerrero via Stepan Kasal.
57073         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
57074         close. Remove the temporary directory right away, rather than waiting
57075         for configure's at-exit trap code to do it.
57076         Suggestion from Stepan Kasal.
57077
57078 2005-01-01  Simon Josefsson  <jas@extundo.com>
57079
57080         * gnulib-tool: Print #include directives when --import'ing.
57081
57082 2004-12-28  Simon Josefsson  <jas@extundo.com>
57083
57084         * tests/test-base64.c: Include required header files.  Remove
57085         unused variables.
57086
57087 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
57088
57089         * modules/error (Depends-on): Remove gettext.
57090
57091 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
57092
57093         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
57094         not needed.  This removes a dependency on the gettext module.
57095         [defined _LIBC]: Do not include <libintl.h>; not needed.
57096
57097 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
57098
57099         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
57100         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
57101
57102 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
57103
57104         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
57105         HAVE_DECL_STRTOLD.
57106
57107 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
57108
57109         * modules/getdate (Depends-on): Remove alloca-opt.
57110
57111 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
57112
57113         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
57114
57115 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
57116
57117         * lib/argp-parse.c: Include <stddef.h>.
57118         (alignof, alignto): New macros.
57119         (parser_init): Don't assume that void * is aligned sufficiently
57120         for struct option.
57121
57122         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
57123         need to extend the stack.
57124         (YYINITDEPTH): New macro, so that the initial stack isn't overly
57125         large.
57126
57127 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
57128
57129         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
57130
57131 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
57132
57133         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
57134         (2004-10-24) change.  Apparently this was a false alarm.
57135
57136         * modules/getdate: Depend on alloca-opt, not alloca.
57137
57138 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
57139
57140         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
57141         Remove now-obsolete comment about AIX.
57142         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
57143         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
57144         (YYMAXDEPTH): New macro.
57145
57146 2004-12-18  Simon Josefsson  <jas@extundo.com>
57147
57148         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
57149
57150 2004-12-18  Bruno Haible  <bruno@clisp.org>
57151
57152         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
57153
57154 2004-12-18  Bruno Haible  <bruno@clisp.org>
57155
57156         * lib/fatal-signal.c (fatal_signals): Make non-const.
57157         (init_fatal_signals): New function.
57158         (uninstall_handlers, install_handlers): Ignore signals that were set to
57159         SIG_IGN.
57160         (at_fatal_signal): Call init_fatal_signals.
57161         (init_fatal_signal_set): Likewise. Ignore signals that were set to
57162         SIG_IGN.
57163         Reported by Paul Eggert.
57164
57165 2004-12-18  Bruno Haible  <bruno@clisp.org>
57166
57167         * doc/alloca.texi: New file.
57168         * doc/alloca-opt.texi: New file.
57169
57170 2004-12-17  Jim Meyering  <jim@meyering.net>
57171
57172         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
57173         Otherwise, install-sh could exit with improper exit status when
57174         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
57175
57176 2004-12-16  Simon Josefsson  <jas@extundo.com>
57177
57178         * tests/test-base64.c: Add license.
57179
57180 2004-12-15  Stepan Kasal  <address@hidden>
57181
57182         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
57183
57184 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
57185
57186         * modules/getcwd (Files): Add m4/d-ino.m4.
57187         Suggested by Mark D. Baushke.
57188
57189 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
57190
57191         * lib/getdate.y (textint): New member "negative".
57192         (time_zone_hhmm): New function.
57193         Expect 14 shift-reduce conflicts, not 13.
57194         (o_colon_minutes): New rule.
57195         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
57196         (yylex): Set the "negative" member of signed numbers.
57197
57198 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
57199
57200         * doc/getdate.texi (Time of day items, Time zone items):
57201         Describe new formats +00:00, UTC+00:00.
57202
57203 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
57204
57205         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
57206         spurious "-l"s.  Problem reported by Stepan Kasal.
57207
57208 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
57209
57210         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
57211         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
57212
57213 2004-12-04  Simon Josefsson  <jas@extundo.com>
57214
57215         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
57216         Vandoorselaere <yoann@prelude-ids.org>.
57217
57218 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
57219
57220         Changes imported from coreutils.
57221         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
57222         exist.
57223         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
57224
57225 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
57226
57227         Changes imported from coreutils.
57228         * lib/hard-locale.c: Assume <locale.h> exists.
57229         Include "strdup.h".
57230         (GLIBC_VERSION): New macro.
57231         (hard_locale): Assume setlocale exists.
57232         Rewrite to avoid #ifdef.
57233         Use strdup rather than malloc + strcpy.
57234         * lib/human.c: Assume <locale.h> exists.
57235         (human_readable): Assume localeconv exists.
57236
57237 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
57238
57239         * modules/hard-locale (Depends-on): Add strdup.
57240
57241 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
57242
57243         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
57244         convert T2, not T.  (Imported from libc.)
57245
57246 2004-11-30  Simon Josefsson  <jas@extundo.com>
57247
57248         * modules/restrict (License): Change to LGPL.
57249
57250 2004-11-30  Simon Josefsson  <jas@extundo.com>
57251
57252         * m4/restrict.m4: Add copyright and copying conditions.
57253
57254 2004-11-30  Simon Josefsson  <jas@extundo.com>
57255
57256         * m4/base64.m4: New file.
57257
57258 2004-11-30  Simon Josefsson  <jas@extundo.com>
57259
57260         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
57261         base64.
57262
57263         * tests/test-base64.c: New file.
57264
57265         * modules/base64: New file.
57266
57267 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
57268
57269         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
57270         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
57271
57272         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
57273
57274 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
57275
57276         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
57277         (__getcwd.c): Don't restore errno; glibc doesn't.
57278         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
57279         first, falling back to our code only if its results look suspicious.
57280         Ensure that the resulting buffer is only as large as necessary.
57281
57282         * lib/readutmp.c: Include readutmp.h first.
57283         Include <errno.h>, since readutmp.h no longer does that.
57284         * lib/readutmp.h: Don't include <errno.h>,
57285         <sys/param.h>, <time.h>; not needed to establish interface.
57286         (errno): Remove decl.
57287         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
57288         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
57289         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
57290
57291 2004-11-28  Simon Josefsson  <jas@extundo.com>
57292
57293         * lib/base64.h, base64.c: New file.
57294
57295 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
57296
57297         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
57298
57299 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
57300
57301         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
57302         (Depends-on): Remove pathmax, same.  Add mempcpy.
57303         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
57304         (Makefile.am): Append getcwd.h to lib_SOURCES.
57305         (Include): Add getcwd.h.
57306         (Maintainer): Change from Jim Meyering to "all, glibc",
57307         since getdate now uses intended-for-glibc code.
57308         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
57309         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
57310
57311 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
57312
57313         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
57314         HP's ANSI C compiler.
57315         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
57316         Declaring int functions causes warnings on some modern systems and
57317         shouldn't be needed to compile on ancient ones.
57318         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
57319         defined.
57320
57321         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
57322         with the following changes.
57323         (__set_errno): Parenthesize properly.
57324         Include <stdbool.h>.
57325         (MIN, MAX, MATCHING_INO): New macros.
57326         (__getcwd): Define with prototype, not K&R form.
57327         Use heuristics to allocate default buffer on stack if possible.
57328         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
57329         behavior, and to avoid the PATH_MAX limit when computing
57330         ../../../../...
57331         Use MATCHING_INO to compare inode number to file.
57332         Check for arithmetic overflow in size calculations.
57333         Fix bug in reallocation of dot array that caused getcwd to fail
57334         on directories nested deeper than 75.
57335         Be more careful about saving errno on error.
57336         Do not use realloc; use only free+malloc, as this is a bit
57337         more flexible and avoids a needless copy operation.
57338         Do not inspect st_dev and st_ino for symbolic links; POSIX
57339         doesn't specify the latter.
57340         Check for closedir errors.
57341         Avoid needless casts.
57342         Use "#ifdef weak_alias" around weak_alias, to be like other
57343         glibc code.
57344         The following changes to getcwd.c have effect only when used in
57345         gnulib; they have no effect inside glibc proper.
57346         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
57347         as alloca isn't used.
57348         (alloca, __alloca): Likewise.
57349         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
57350         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
57351         unconditionally, as gnulib assumes C89 or better.
57352         Do not include <sys/param.h>.
57353         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
57354         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
57355         better.
57356         (NULL) [!defined NULL]: Remove; we assume C89 or better.
57357         Include <dirent.h> in a way that is compatible with modern Autoconf.
57358         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
57359         New macros, if not already defined.
57360         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
57361         Use "_LIBC", not "defined _LIBC", for consistency.
57362         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
57363         a mempcpy module.
57364         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
57365         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
57366         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
57367         credit only to Jim Meyering and adjust the copyright dates.
57368         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
57369         <stdlib.h>, <unistd.h>, "pathmax.h".
57370         Instead, include "xgetcwd.h" (first) and "getcwd.h".
57371         (INITIAL_BUFFER_SIZE): Remove.
57372         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
57373
57374 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
57375
57376         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
57377         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
57378         Use the _ONCE methods, for efficiency.
57379         Check for fcntl.h.  In test program, include <errno.h>
57380         and <fcntl.h> if available.  Remove old K&R cruft from
57381         test program.  Check for common errors in GNU/Linux,
57382         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
57383         don't do AC_LIBOBJ, as that's getcwd.m4's job.
57384         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
57385         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
57386         name accordingly.
57387         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
57388         accommodate new getcwd.c.
57389         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
57390         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
57391         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
57392         that's all we need now.
57393
57394 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
57395
57396         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
57397         argp-parse.c depends on getopt internals, that means we should
57398         always use our getopt, to be on the safe side.
57399         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
57400         order not to spoil the result of an eventual previous invocation
57401         of gl_GETOPT_SUBSTITUTE.
57402
57403 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
57404
57405         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
57406         redefinition warnings. To avoid them, include the defines
57407         in `#if !defined __need_getopt ... #endif'. The only place
57408         where __getopt_argv_const is used is in definitions
57409         of getopt_long and getopt_long_only below, which are as well
57410         protected by `#ifndef __need_getopt'.
57411         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
57412         __need_getopt after including <stdio.h> and <unistd.h> These
57413         headers might have defined it.
57414
57415 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
57416
57417         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
57418
57419 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
57420
57421         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
57422         (futimens): New function, which uses futimes if available.
57423         (futimens, utimens): Support timespec==NULL, with same semantics
57424         as utime and utimens.
57425         * lib/utimens.h (futimens): New decl.
57426
57427 2004-11-23  Jim Meyering  <jim@meyering.net>
57428
57429         * lib/getopt_.h: Remove trailing blanks.
57430
57431 2004-11-23  Jim Meyering  <jim@meyering.net>
57432
57433         * lib/__fpending.c: Add comment.
57434
57435 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
57436
57437         * modules/canonicalize (Depends-on): Add xreadlink.
57438         Problem reported by James Youngman.
57439
57440 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
57441
57442         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
57443         New macros.
57444         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
57445         optopt): Use them instead of invoking ## directly; otherwise, the
57446         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
57447
57448 2004-11-19  Bruno Haible  <bruno@clisp.org>
57449
57450         * lib/strtok_r.c: Move comments from here...
57451         * lib/strtok_r.h: ... to here.
57452
57453 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
57454
57455         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
57456         implementations that mishandle size_t overflow.
57457
57458 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
57459
57460         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
57461         might fail.  Problem reported by Yoann Vandoorselaere.
57462         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
57463         implementations that mishandle size_t overflow.
57464
57465 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
57466
57467         * modules/canon-host (Depends-on): Add strdup.
57468
57469 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
57470
57471         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
57472
57473 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
57474
57475         * lib/canon-host.c: Include "strdup.h".
57476         (canon_host): Use getaddrinfo if available, so that IPv6 works.
57477         Use strdup instead of malloc/strcpy to duplicate strings.
57478
57479         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
57480         (human_space_before_unit): New constant.
57481         * lib/human.c (human_readable): Support it.
57482
57483         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
57484         (xgetcwd): Set errno correctly when failing.
57485         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
57486         the failure is actually due to a PATH_MAX problem.
57487
57488         Further getopt changes to make it more likely that glibc will
57489         buy the changes back.
57490         * lib/getopt.c (POSIXLY_CORRECT): New constant.
57491         (getopt): Use it, so to preserve glibc semantic
57492         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
57493         when compiling for libc.
57494         * lib/getopt_.h (__getopt_argv_const): Bring it back.
57495         (getopt_long, getopt_long_only): Use it.
57496
57497         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
57498         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
57499         (getopt): Argv is now char * const *, as per standard.
57500         (_getopt_internal_r, _getopt_internal): Argv is now char **,
57501         not char *__getopt_argv_const *.
57502         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
57503         _getopt_long_only_r): Likewise.
57504         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
57505         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
57506         _getopt_long_r, _getopt_long_only_r): Likewise.
57507         * lib/getopt_.h (__getopt_argv_const): Remove.
57508         (getopt): Argv is now char * const *, as per standard.
57509
57510         * lib/getdate.y (tORDINAL): New token.
57511         (day, relunit): Allow it for relative times.
57512         (relative_time_table): Use tORDINAL for ordinals.
57513
57514 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
57515
57516         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
57517         Document that "second" isn't allowed as an ordinal number.
57518
57519 2004-11-16  Jim Meyering  <jim@meyering.net>
57520
57521         * modules/closeout (Depends-on): Add fpending.
57522
57523 2004-11-15  Jim Meyering  <jim@meyering.net>
57524
57525         * lib/closeout.c: Include "__fpending.h" once again.
57526         Include <stdbool.h>.
57527         (close_stdout): Don't fail just because stdout was closed initially,
57528         since some programs don't write to stdout in the normal course of
57529         operation (other than --version and --help), and we don't want this
57530         function to make e.g. `touch file >&-' fail.
57531         But do fail if it was closed and someone has tried to write to it.
57532         E.g., `printf foo >&-' must fail.
57533
57534 2004-11-13  Jim Meyering  <jim@meyering.net>
57535
57536         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
57537
57538 2004-11-12  Simon Josefsson  <jas@extundo.com>
57539
57540         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
57541         small doc fix is still pending.
57542
57543 2004-11-11  Simon Josefsson  <jas@extundo.com>
57544
57545         * modules/strtok_r: New file.
57546
57547         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
57548         strtok_r.
57549
57550 2004-11-11  Simon Josefsson  <jas@extundo.com>
57551
57552         * m4/strtok_r.m4: New file.
57553
57554         * m4/getopt.m4: Replace opterr.
57555
57556 2004-11-11  Simon Josefsson  <jas@extundo.com>
57557
57558         * lib/strtok_r.h, strtok_r.c: New file.
57559
57560 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
57561
57562         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
57563         of replacing opterr, getopt, etc.  This should handle the
57564         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
57565
57566 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
57567
57568         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
57569         we can stop lying to compilers about the constness of argv when we
57570         are compiled outside glibc.
57571         (getopt, getopt_long, getopt_long_only): Use it.
57572         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
57573         _getopt_internal, getopt): Likewise.
57574         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
57575         _getopt_long_only_r): Likewise.
57576         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
57577         _getopt_long_r, _getopt_long_only_r): Likewise.
57578
57579         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
57580         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
57581         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
57582         the other external symbols.
57583         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
57584         declaration, since the above renaming now works around collisions.
57585
57586 2004-11-11  Jim Meyering  <jim@meyering.net>
57587
57588         * lib/linebreak.c: Remove trailing blanks.
57589         * lib/alloca_.h: Likewise.
57590         * lib/acosl.c: Likewise.
57591         * lib/euidaccess.c: Likewise.
57592         * lib/allocsa.h: Likewise.
57593
57594 2004-11-10  Simon Josefsson  <jas@extundo.com>
57595
57596         * m4/getaddrinfo.m4: New file.
57597
57598 2004-11-10  Simon Josefsson  <jas@extundo.com>
57599
57600         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
57601
57602 2004-11-10  Simon Josefsson  <jas@extundo.com>
57603
57604         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
57605         getaddrinfo.
57606
57607         * modules/getaddrinfo: New file.
57608
57609 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
57610
57611         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
57612
57613 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
57614
57615         * lib/mktime.c (SHR): New macro, which is a portable
57616         substitute for >> that should work even on Crays.
57617         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
57618         Problem reported by Mark D. Baushke in
57619         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
57620         * lib/getdate.y (SHR): Likewise.
57621         (tm_diff): Use it.
57622         * lib/strftime.c (SHR): Likewise.
57623         (tm_diff): Use it.
57624         * lib/quotearg.c (struct quoting_options): Use unsigned int for
57625         quote_these_too, so that right shifts are well defined.  All uses
57626         changed.
57627
57628 2004-11-10  Jim Meyering  <jim@meyering.net>
57629
57630         Ensure that no close failure goes unreported.
57631         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
57632         return early when it seems there's nothing to flush.
57633         Don't include __fpending.h.
57634
57635 2004-11-10  Jim Meyering  <jim@meyering.net>
57636
57637         * modules/closeout (Depends-on): Remove fpending.
57638
57639 2004-11-10  Jim Meyering  <jim@meyering.net>
57640
57641         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
57642
57643 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
57644
57645         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
57646         gl_FUNC_STRFTIME.
57647         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
57648         and AC_REQUIRE when possible, to avoid duplicate checks.
57649         Check for <wchar.h>.
57650
57651 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
57652
57653         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
57654
57655 2004-11-09  Bruno Haible  <bruno@clisp.org>
57656
57657         * m4/sockpfaf.m4: New file.
57658
57659 2004-11-05  Bruno Haible  <bruno@clisp.org>
57660
57661         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
57662         Reported by Mark D. Baushke <mdb@cvshome.org>.
57663
57664 2004-11-04  Bruno Haible  <bruno@clisp.org>
57665
57666         2004-09-11  Bruno Haible  <bruno@clisp.org>
57667                 * allocsa.valgrind: New file.
57668         2004-02-06  Bruno Haible  <bruno@clisp.org>
57669                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
57670                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
57671                 Reported by Christopher Seip <chris.seip@hp.com>.
57672
57673 2004-11-04  Bruno Haible  <bruno@clisp.org>
57674
57675         * modules/allocsa (Files): Add lib/allocsa.valgrind.
57676         (Makefile.am): Distribute it.
57677
57678 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
57679
57680         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
57681         with errno == ERANGE if the buffer is too small.
57682         Problem reported by Mark D. Baushke.
57683
57684 2004-11-03  Albert Chin  <china@thewrittenword.com>
57685             Paul Eggert  <eggert@cs.ucla.edu>
57686
57687         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
57688         equivalent, substitute $ac_type for equivalent type rather than
57689         blindly using uint32_t *always* which won't work if uint32_t is not
57690         available.  Define _UINT32_T to work around typedef of uint32_t if
57691         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
57692         2.5.1.
57693
57694 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
57695
57696         * m4/jm-macros.m4: Sync from coreutils.
57697         (gl_MACROS): Check for mbrlen, for pathchk.
57698         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
57699
57700 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
57701
57702         * lib/xreadlink.c (MAXSIZE): New macro.
57703         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
57704         size does not exceed MAXSIZE.  Avoid cast.
57705         As suggested by Mark D. Baushke in
57706         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
57707         if readlink fails with buffer size just under MAXSIZE, try again
57708         with MAXSIZE.
57709
57710 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
57711
57712         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
57713
57714 2004-11-02  Derek R. Price  <derek@ximbiot.com>
57715         and  Paul Eggert  <eggert@cs.ucla.edu>
57716
57717         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
57718         (get_date): Overparenthesize to avoid GCC warning.
57719
57720 2004-11-02  Bruno Haible  <bruno@clisp.org>
57721
57722         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
57723         returns void.
57724
57725 2004-11-02  Bruno Haible  <bruno@clisp.org>
57726
57727         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
57728         function returns void.
57729
57730 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
57731
57732         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
57733         fflush_unlocked, flockfile, funlockfile, funlockfile,
57734         fputs_unlocked, putc_unlocked.
57735
57736 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
57737
57738         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
57739         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
57740         already declared.
57741
57742 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
57743
57744         * modules/getdate (Files): Add doc/getdate.texi.
57745         (Depends-on): Add setenv, xalloc.
57746
57747 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
57748
57749         * lib/getdate.y: Add support for TZ="foo" within a date string.
57750         Fix some bugs near time_t boundaries.  Reject dates with
57751         out-of-range components, e.g., "Sept 31".
57752         Include <stdlib.h>, "setenv.h", "xalloc.h".
57753         (ISDIGIT_LOCALE): Remove; unused.
57754         Note that the TZ and time functions used here are not reentrant.
57755         (mktime_ok, get_tz): New functions.
57756         (TZBUFSIZE): New constant.
57757         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
57758         This requires that we sometimes generate our own TZ="XXX..." setting.
57759
57760 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
57761
57762         * doc/getdate.texi: New file, from coreutils with modifications for
57763         the new TZ parsing.
57764
57765 2004-10-27  Derek R. Price  <derek@ximbiot.com>
57766
57767         * lib/mktime.c (not_equal_tm): Remove redundant check.
57768
57769 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
57770
57771         * modules/regex (lib_SOURCES): Add regex.c.
57772         Reported by James Youngman in
57773         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
57774
57775 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
57776
57777         * lib/getdate.y: Use Bison 1.875 features, and some minor
57778         code cleanups.  This change does not affect semantics.
57779         Don't include <stdlib.h>; no longer needed.
57780         Don't include unlocked-io.h; only the "#if TEST" code uses
57781         stdio, and performance isn't crucial there.
57782         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
57783         Bison 1.875 features as described below.
57784         All uses of "PC." replaced by "pc->".
57785         (YYSTYPE): Add a forward declaration.
57786         (yylex, yyerror): Use full prototypes in forward decls.
57787         Use "%pure-parser" rather than obsolescent "%pure_parser".
57788         Use %parse-param and %lex-param instead of obsolescent
57789         YYPARSE_PARAM and YYLEX_PARAM.
57790         (meridian_table, month_and_day_table, time_units_table,
57791         relative_time_table, time_zone_table, military_table,
57792         lookup_zone, lookup_word, get_date):
57793         Use NULL instead of 0 where appropriate.
57794         (to_hour): Avoid abort (), to avoid a dependency on
57795         stdlib.h.
57796         (yyerror, yylex): Now accepts parser_control * arg.
57797         (main) [TEST]: Use '\0' rather than 0 for char.
57798
57799 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
57800
57801         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
57802
57803 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
57804
57805         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
57806         It's now the caller's responsibility to handle the case where
57807         !HAVE_GETPAGESIZE && !defined getpagesize.
57808
57809         * lib/mktime.c (leapyear): Arg is long int, not int.
57810
57811 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
57812
57813         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
57814
57815 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
57816
57817         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
57818         missing.  Problem reported by James Youngman.
57819
57820 2004-10-16  Simon Josefsson  <jas@extundo.com>
57821
57822         * gnulib-tool: Fix comments.  Fix parse problem.
57823         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
57824
57825 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
57826
57827         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
57828         implementation of getopt_long.  Problem reported by Alexander Taler in:
57829         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
57830
57831 2004-10-15  Bruno Haible  <bruno@clisp.org>
57832
57833         * gnulib-tool: Untabify. Initialize supplied_libname.
57834         (func_usage): More homogenous output.
57835         (func_modules_transitive_closure, func_modules_to_filelist,
57836         func_emit_lib_Makefile_am): New functions.
57837         (func_import): New function, extracted from big case statement. Use
57838         func_get_license, func_modules_transitive_closure,
57839         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
57840         opt_lgpl. Don't use test -a, as it's not portable.
57841         (func_create_testdir): Use func_modules_transitive_closure,
57842         func_modules_to_filelist, func_emit_lib_Makefile_am.
57843
57844 2004-10-15  Bruno Haible  <bruno@clisp.org>
57845
57846         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
57847
57848 2004-10-15  Bruno Haible  <bruno@clisp.org>
57849
57850         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
57851         the portions belonging to each module.
57852         Suggested by Derek Robert Price <derek@ximbiot.com>.
57853
57854 2004-10-12  Simon Josefsson  <jas@extundo.com>
57855
57856         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
57857         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
57858         to real functions.
57859
57860 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
57861
57862         * modules/vsnprintf: New file.
57863
57864 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
57865
57866         * m4/vsnprintf.m4: New file.
57867
57868 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
57869
57870         * lib/vsnprintf.h: New file.
57871         * lib/vsnprintf.c: New file.
57872
57873 2004-10-11  Bruno Haible  <bruno@clisp.org>
57874
57875         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
57876         vsnprintf.
57877
57878 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
57879
57880         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
57881
57882 2004-10-07  Bruno Haible  <bruno@clisp.org>
57883
57884         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
57885         fits into the provided buffer.
57886
57887 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
57888
57889         * lib/diacrit.c, diacrit.h: Add GPL notice.
57890
57891         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
57892         notice.
57893         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
57894         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
57895         This avoids a potential constant-folding bug.
57896
57897 2004-10-05  Bruno Haible  <bruno@clisp.org>
57898
57899         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
57900         for the declaration of strsep.
57901
57902 2004-10-05  Bruno Haible  <bruno@clisp.org>
57903
57904         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
57905
57906 2004-10-04  Simon Josefsson  <jas@extundo.com>
57907
57908         * modules/memmem: New file.
57909         * tests/test-memmem.c: New file.
57910         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
57911
57912 2004-10-04  Simon Josefsson  <jas@extundo.com>
57913
57914         * m4/memmem.m4: New file.
57915
57916 2004-10-04  Simon Josefsson  <jas@extundo.com>
57917
57918         * lib/memmem.h: New file.
57919         * lib/memmem.c: New file, taken from glibc.
57920
57921 2004-10-04  Simon Josefsson  <jas@extundo.com>
57922
57923         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
57924         '#ifdef USE_UNLOCKED_IO'.
57925
57926 2004-10-04  Simon Josefsson  <jas@extundo.com>
57927
57928         * config/srclist.txt: Add memmem from glibc.
57929
57930 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
57931
57932         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
57933
57934         * modules/argmatch, modules/argp, modules/closeout, modules/error,
57935         modules/exclude, modules/getdate, modules/getline,
57936         modules/getndelim2, modules/getpass, modules/getpass-gnu,
57937         modules/getusershell, modules/linebuffer, modules/md5,
57938         modules/mountlist, modules/posixtm, modules/readtokens,
57939         modules/readutmp, modules/regex, modules/sha1,
57940         modules/version-etc, modules/yesno:
57941         Remove dependency on unlocked-io.
57942
57943 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
57944
57945         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
57946
57947         * m4/unlocked-io.m4: Add copyright notice.
57948         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
57949
57950 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
57951
57952         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
57953         * lib/xmalloc.c (xmemdup): Likewise.
57954         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
57955         XFREE): Remove these long-obsolescent macros.
57956         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
57957         * lib/xstrdup.c: Remove.
57958
57959         * lib/regex.c (re_comp): Cast gettext return value to char *,
57960         Problem reported by Martin Neitzel via Mark D. Baushke.
57961
57962 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
57963
57964         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
57965         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
57966         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
57967         regex.c, sha1.c, version-etc.c, yesno.c:
57968         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
57969         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
57970         the includer's responsibility.
57971
57972         Sync from coreutils.
57973
57974         * lib/modechange.c (mode_compile): Don't decrement a pointer that
57975         points to the start of a string, as the C Standard says the
57976         resulting behavior is undefined.
57977
57978         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
57979         simple -> simple_backups, numbered_existing ->
57980         numbered_existing_backups, numbered -> numbered_backups
57981         to avoid shadowing problems.  All uses changed.
57982         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
57983         * lib/backupfile.c (check_extension, numbered_backup):
57984         Rename locals to avoid shadowing 'basename'.
57985         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
57986         once.
57987
57988         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
57989         * lib/.cvsignore: Add getopt.h.
57990
57991 2004-10-04  Bruno Haible  <bruno@clisp.org>
57992
57993         * modules/README: New file.
57994         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
57995         not a module.
57996
57997 2004-10-02  Jim Meyering  <jim@meyering.net>
57998
57999         * lib/dirfd.h, getpagesize.h: Add copyright notice.
58000
58001 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
58002
58003         * modules/strsep: New file.
58004
58005 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
58006
58007         * m4/strsep.m4: New file.
58008
58009 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
58010
58011         * lib/strsep.h: New file.
58012         * lib/strsep.c: New file.
58013
58014 2004-10-01  Simon Josefsson  <jas@extundo.com>
58015
58016         * lib/snprintf.c (snprintf): Handle size==0.
58017
58018 2004-10-01  Simon Josefsson  <jas@extundo.com>
58019             Bruno Haible  <bruno@clisp.org>
58020
58021         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
58022         (snprintf): Declare 'args'.
58023
58024 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
58025
58026         * lib/snprintf.c: Remove comments as to why each header is needed.
58027
58028 2004-10-01  Bruno Haible  <bruno@clisp.org>
58029
58030         * MODULES.html.sh: Add strsep.
58031
58032 2004-09-30  Simon Josefsson  <jas@extundo.com>
58033
58034         * modules/snprintf: New file.
58035
58036 2004-09-30  Simon Josefsson  <jas@extundo.com>
58037
58038         * m4/snprintf.m4: New file.
58039
58040 2004-09-30  Simon Josefsson  <jas@extundo.com>
58041
58042         * lib/snprintf.h, lib/snprintf.c: New files.
58043
58044 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
58045
58046         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
58047         (hol_entry_help): Never translate an empty string.
58048         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
58049         * lib/argp.h (OPTION_NO_TRANS): New option.
58050
58051 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
58052
58053         * modules/argp (Maintainer): Replace Simon Josefsson
58054         by Sergey Poznyakoff.
58055
58056 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
58057
58058         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
58059         changes merged back into glibc.
58060
58061 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
58062
58063         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
58064
58065 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
58066
58067         * lib/xvasprintf.c: Include xalloc.h.
58068         (xvasprintf): Use xalloc_die, not xmalloc_die.
58069
58070 2004-09-29  Bruno Haible  <bruno@clisp.org>
58071
58072         * modules/alloca-opt: New file, derived from modules/alloca.
58073         * modules/allocsa: Depend on alloca-opt instead of alloca.
58074         * modules/setenv: Likewise.
58075         * modules/vasnprintf: Likewise.
58076         * MODULES.html.sh: Add alloca-opt.
58077
58078 2004-09-28  Simon Josefsson  <jas@extundo.com>
58079
58080         * gnulib-tool: New parameter --lgpl, to asseert that modules are
58081         LGPL, and to replace license template from GPL to LGPL.
58082
58083 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
58084
58085         * modules/dummy: Change license to LGPL.
58086
58087 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
58088
58089         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
58090
58091 2004-09-24  Simon Josefsson  <jas@extundo.com>
58092
58093         * modules/minmax (License): Change from GPL to LGPL.
58094
58095 2004-09-23  Simon Josefsson  <jas@extundo.com>
58096
58097         * gnulib-tool (--import): Typo.
58098
58099 2004-09-23  Simon Josefsson  <jas@extundo.com>
58100
58101         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
58102
58103 2004-09-22  Bruno Haible  <bruno@clisp.org>
58104
58105         * modules/*: Add 'License' field.
58106         * gnulib-tool: Accept --extract-license option.
58107         (func_get_license): New function.
58108
58109 2004-09-21  Bruno Haible  <bruno@clisp.org>
58110
58111         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
58112         Reported by Simon Josefsson.
58113
58114 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
58115
58116         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
58117         gl_AC_TYPE_LONG_LONG.
58118
58119 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
58120
58121         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
58122
58123 2004-09-18  Simon Josefsson  <jas@extundo.com>
58124         and  Paul Eggert  <eggert@cs.ucla.edu>
58125
58126         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
58127         calls with autoreconf.  Define GL_LIB.
58128
58129 2004-09-14  Karl Berry  <karl@gnu.org>
58130
58131         * config/srclist.txt: unsync setenv.c, sigh.
58132
58133 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
58134
58135         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
58136         Problem reported by Bruno Haible in:
58137         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
58138
58139 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
58140
58141         * config/srclist.txt: Comment out argp-pvh.c.
58142
58143 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
58144
58145         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
58146         in case some system header has #define'd it.  Problem reported by
58147         Soeren D. Schulze in
58148         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
58149
58150 2004-09-09  Karl Berry  <karl@gnu.org>
58151
58152         * regex.[ch]: delete from the root.  These were supposed to be
58153                 synced with emacs cvs, but this has not happened for about
58154                 a year, and anyway nothing else uses emacs regex.[ch].
58155                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
58156                 lib/regex[.ch] is untouched.
58157
58158 2004-09-09  Bruno Haible  <bruno@clisp.org>
58159
58160         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
58161
58162 2004-09-09  Bruno Haible  <bruno@clisp.org>
58163
58164         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
58165         modifications.
58166         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
58167
58168 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
58169
58170         * modules/xvasprintf: New file.
58171         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
58172
58173 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
58174
58175         * lib/xvasprintf.h: New file.
58176         * lib/xvasprintf.c: New file.
58177         * lib/xasprintf.c: New file.
58178
58179 2004-09-08  Bruno Haible  <bruno@clisp.org>
58180
58181         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
58182
58183 2004-09-08  Bruno Haible  <bruno@clisp.org>
58184
58185         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
58186         length is > INT_MAX.
58187         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
58188         more.
58189
58190 2004-09-08  Bruno Haible  <bruno@clisp.org>
58191
58192         * lib/stdint_.h: New file, taken from GNU clisp.
58193
58194 2004-09-08  Bruno Haible  <bruno@clisp.org>
58195             Oskar Liljeblad  <oskar@osk.mine.nu>
58196
58197         * modules/stdint: New file.
58198         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
58199
58200 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
58201
58202         Import from coreutils.
58203         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
58204         strings on unbounded length.  alloca's performance benefits aren't
58205         that important here.
58206         (V_STRDUP): Remove.
58207         (parse_with_separator): New function, with most of the internals
58208         of the old parse_user_spec.  Allow user to omit both user and group,
58209         for compatibility with FreeBSD.
58210         Clone only the user name, not the entire spec.
58211         Do not set *uid, *gid unless entirely successful.
58212         Avoid memory leak in some failing cases.
58213         Fix regression for USER.GROUP reported by Dmitry V. Levin in
58214         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
58215         (parse_user_spec): Rewrite to use parse_with_separator.
58216
58217 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
58218
58219         * modules/userspec: Don't depend on alloca.
58220
58221 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
58222
58223         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
58224
58225 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
58226
58227         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
58228         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
58229         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
58230
58231 2004-08-16  Simon Josefsson  <jas@extundo.com>
58232
58233         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
58234         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
58235         Add --dry-run for --import.
58236         Let user provided command line parameters override configure.ac
58237         settings.
58238
58239 2004-08-12  Simon Josefsson  <jas@extundo.com>
58240
58241         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
58242         as discussed with Paul Eggert in threads rooted at
58243         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
58244         and
58245         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
58246         Before, the test was empty, and relied on ELIDE_CODE in source
58247         code.)
58248         (gl_PREREQ_GETOPT): New macro.
58249         (gl_GETOPT): Use them.
58250
58251 2004-08-12  Simon Josefsson  <jas@extundo.com>
58252
58253         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
58254         * lib/getopt_.h: Renamed from getopt.h.
58255
58256 2004-08-12  Simon Josefsson  <jas@extundo.com>
58257
58258         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
58259         Change default library name from libfoo to libgnu.
58260         Now, if you have a configure.ac that says:
58261                 gl_SOURCE_BASE(gl)
58262                 gl_M4_BASE(gl/m4)
58263                 gl_MODULES(error getopt etcetera)
58264                 gl_INIT
58265         you can import all you need by running:
58266                 ../gnulib/gnulib-tool --import
58267
58268         * modules/getopt (Files): Rename getopt.h to getopt_.h.
58269         (Makefile.am): Rewrite, use logic from argz.
58270         (Include): Use <getopt.h> instead of "getopt.h".
58271
58272 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
58273
58274         * modules/argp (Files): Add m4/unlocked-io.m4.
58275         (Depends-on): Add extensions.
58276
58277 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
58278
58279         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
58280         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
58281         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
58282         Check for program_invocation_name, program_invocation_short_name,
58283         flockfile, funlockfile, features.h, _getopt_long_only_r.
58284
58285 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
58286
58287         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
58288         its complicated substitute.
58289         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
58290         and program_invocation_name.
58291         (__argp_basename) [!_LIBC]: Remove; the only use was
58292         replaced by its body.
58293         (__argp_short_program_name): Change condition from
58294         !defined __argp_short_program_name to
58295         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
58296         to match argp-namefrob.h.
58297         (__argp_failure): Don't assume strerror_r returns char *.
58298         * lib/argp-parse.c (N_): Define unconditionally.
58299         (argp_default_options): Fill out initializers with 0 to avoid
58300         gcc warnings.
58301
58302 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
58303
58304         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
58305         getopt1.c.
58306
58307 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
58308
58309         Merge from coreutils.
58310
58311         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
58312
58313         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
58314         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
58315
58316 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
58317
58318         Merge from coreutils.
58319
58320         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
58321         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
58322         for Reliant Unix 5.43.
58323
58324         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
58325         (union fooround): Use uintmax_t, not long int.
58326         The rest is a merge from libc:
58327         [defined _LIBC]: Include <shlib-compat.h>.
58328         (_obstack) [defined _LIBC]: Remove after 2.3.4.
58329
58330         * lib/settime.c (settime): Recode to avoid warning with
58331         Sun Forte C 6U2.
58332
58333         * lib/strverscmp.c: Convert to UTF-8.
58334
58335 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
58336
58337         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
58338         m4/uintmax_t.m4.
58339
58340 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
58341
58342         * modules/xalloc-die: New file.
58343         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
58344
58345         * modules/md5 (Files): Add m4/uint32_t.m4.
58346         * modules/sha1: Renamed from modules/sha.
58347         (Files):
58348         Rename lib/sha.h to lib/sha1.h.
58349         Rename lib/sha.c to lib/sha1.c.
58350         Rename m4/sha.m4 to m4/sha1.m4.
58351         (lib_SOURCES): Likewise.
58352         (configure.ac): Rename gl_SHA to gl_SHA1.
58353         (Include): sha.h -> sha1.h.
58354
58355 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
58356
58357         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
58358         * m4/sha1.m4: Renamed from sha.m4.
58359         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
58360
58361 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
58362
58363         * lib/obstack.h (obstack_empty_p):
58364         Don't assume that chunk->contents is suitably aligned.
58365         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
58366         Likewise. Problem reported by Benno in
58367         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
58368
58369         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
58370         readable.  This could be improved further but it'd take some work.
58371
58372 2004-08-08  Simon Josefsson  <jas@extundo.com>
58373
58374         * modules/xgethostname (Depends-on): Remove exit and error (not
58375         used).
58376
58377         * modules/getpass-gnu: Add getpass.h.
58378         (Depends-on): Add stdbool.
58379         * modules/getpass: Add getpass.h.
58380
58381 2004-08-08  Simon Josefsson  <jas@extundo.com>
58382
58383         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
58384         Check getpass declaration.
58385
58386 2004-08-08  Simon Josefsson  <jas@extundo.com>
58387
58388         * lib/xgethostname.c: Don't include error.h (not used).
58389
58390         * lib/getpass.h: Add.
58391         * lib/getpass.c: Include getpass.h first.
58392
58393 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
58394
58395         * lib/xalloc-die.c: New file.
58396         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
58397         All uses removed.
58398         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
58399         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
58400         xalloc-die.c.
58401         (_, N_, xalloc_die): Move to xalloc-die.c.
58402         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
58403         so that we needn't mess with xalloc_msg_memory_exhausted.
58404
58405         * lib/sha1.h: Renamed from sha.h.
58406         (SHA1_H): Renamed from _SHA_H.
58407         (sha1_ctx): Renamed from sha_ctx.
58408         (sha1_init_ctx): Renamed from sha_init_ctx.
58409         (sha1_process_block): Renamed from sha_process_block.
58410         (sha1_process_bytes): Renamed from sha_process_bytes.
58411         (sha1_finish_ctx): Renamed from sha_finish_ctx.
58412         (sha1_read_ctx): Renamed from sha_read_ctx.
58413         (sha1_stream): Renamed from sha_stream.
58414         (sha1_buffer): Renamed from sha_buffer.
58415         * lib/sha1.c: Likewise; renamed from sha.c.
58416         Do not include <sys/types.h>.
58417         Include <stddef.h> rather than <stdlib.h>.
58418
58419 2004-08-08  Bruno Haible  <bruno@clisp.org>
58420
58421         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
58422         FILESYSTEM_PREFIX_LEN.
58423         * lib/progreloc.c: Likewise.
58424         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
58425
58426 2004-08-06  Simon Josefsson  <jas@extundo.com>
58427
58428         * modules/progname (Depends-on): Don't depend on stdbool.
58429
58430 2004-08-06  Simon Josefsson  <jas@extundo.com>
58431
58432         * modules/getsubopt: New file.
58433         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
58434         getsubopt.
58435
58436 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
58437
58438         More merge from coreutils.
58439
58440         * m4/utimens.m4, m4/utimecmp.m4: New files.
58441         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
58442         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
58443         prereq.m4, sha.m4: Import changes from coreutils.
58444
58445 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
58446
58447         More merge from coreutils.
58448         * modules/raise, modules/readtokens0, modules/utimens:
58449         * modules/utimecmp, module/xnanosleep: New files.
58450         * modules/strftime: Add lib/strftime.h.
58451         Change include from <time.h> to "strftime.h".
58452         * modules/yesno: Add lib/yesno.h.
58453         * modules/backupfile: Remove lib/addext.c.
58454         * modules/euidaccess: Add stat-macros.h.
58455         * modules/canonicalize, modules/euidaccess,
58456         modules/filemode, modules/lchown, modules/makepath,
58457         modules/rmdir, modules/stat: Likewise.
58458
58459 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
58460
58461         Merge from tar.
58462         * lib/argp-help.c (make_hol, hol_append): Don't assume that
58463         SIZE_MAX is a valid preprocessor constant.
58464         (__argp_basename): Change from "#ifndef _LIBC"
58465         to "#ifndef __argp_short_program_name", so that
58466         we don't compile these functions for tar.
58467
58468         More merges from coreutils.
58469         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
58470         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
58471         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
58472         * lib/addext.c: Remove; no longer needed.
58473         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
58474         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
58475         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
58476         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
58477         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
58478         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
58479         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
58480         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
58481         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
58482         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
58483         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
58484         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
58485         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
58486         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
58487         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
58488         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
58489         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
58490         Import changes from coreutils.
58491
58492 2004-08-05  Simon Josefsson  <jas@extundo.com>
58493
58494         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
58495
58496 2004-08-05  Simon Josefsson  <jas@extundo.com>
58497
58498         * m4/getsubopt.m4: New file.
58499
58500 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
58501
58502         Merge from coreutils.
58503
58504         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
58505         * m4/getcwd-path-max.m4: New files.
58506
58507         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
58508         FILESYSTEM_PREFIX_LEN ->
58509         FILE_SYSTEM_PREFIX_LEN.
58510         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
58511         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
58512         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
58513         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
58514
58515         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
58516         prerequisite modules now handle the DOS stuff.
58517         Don't check for unistd.h.
58518
58519 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
58520
58521         Merge from coreutils.
58522
58523         * lib/.gdb-history: Remove; this doesn't belong here.
58524
58525         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
58526         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
58527         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
58528         * lib/getcwd.c: New files.
58529
58530         * lib/dirname.h: Include <stdbool.h>.
58531         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
58532         for consistency with POSIX terminology.  All uses changed.
58533         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
58534         (strip_trailing_slashes): Use bool for booleans.
58535         * lib/stripslash.c (strip_trailing_slashes): Likewise.
58536
58537         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
58538         sometimes returns a positive errno value even when it succeeds.
58539         (print_errno_message) [!LIBC]: Fall back on strerror if
58540         __strerror_r fails.
58541
58542         * lib/path-concat.c (mempcpy): Don't define if a system header defines
58543         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
58544         (longest_relative_suffix): New function.
58545         (path_concat): Use it.  Assume first argument is not NULL.
58546         Port to DOS.  Omit redundant separators.
58547         Report an error instead of returning NULL.
58548         Use mempcpy instead of memcpy.
58549         (xpath_concat): Remove: not declared or used.
58550
58551         * lib/same.h: Include <stdbool.h>
58552         (same_name): Return bool, not int.
58553         * lib/same.c (same_name): Likewise.
58554         (errno): Don't declare; we assume C89 or better now.
58555
58556         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
58557         if not already defined.
58558
58559         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
58560         * lib/dup-safer.c (errno): Likewise.
58561
58562 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
58563
58564         Merge from coreutils.
58565         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
58566         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
58567         * modules/path-concat: Don't depend on strdup.
58568
58569 2004-08-03  Simon Josefsson  <jas@extundo.com>
58570
58571         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
58572         * lib/progname.h: Don't include stdbool.h.
58573
58574 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
58575
58576         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
58577         * MODULES.html.sh (func_all_modules): Remove fatal.
58578
58579 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
58580
58581         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
58582
58583 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
58584
58585         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
58586         working.
58587
58588 2004-08-02  Simon Josefsson  <jas@extundo.com>
58589
58590         * lib/getsubopt.h: New file, with comments from Bruno Haible.
58591         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
58592         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
58593
58594 2004-08-01  Simon Josefsson  <jas@extundo.com>
58595
58596         * lib/xgetdomainname.c: Include stdlib.h, for free().
58597
58598 2004-07-19  Bruno Haible  <bruno@clisp.org>
58599
58600         * MODULES.html.sh (func_all_modules): Add dummy.
58601
58602 2004-07-16  Simon Josefsson  <jas@extundo.com>
58603
58604         * modules/dummy: New file.
58605
58606 2004-07-16  Simon Josefsson  <jas@extundo.com>
58607
58608         * lib/dummy.c: New file.
58609
58610 2004-07-16  Bruno Haible  <bruno@clisp.org>
58611
58612         * lib/backupfile.h: Add extern "C" for C++.
58613         * lib/closeout.h: Likewise.
58614         * lib/copy-file.h: Likewise.
58615         * lib/findprog.h: Likewise.
58616         * lib/full-write.h: Likewise.
58617         * lib/pathname.h: Likewise.
58618         * lib/progname.h: Likewise.
58619         * lib/stpcpy.h: Likewise.
58620         * lib/stpncpy.h: Likewise.
58621         * lib/strcase.h: Likewise.
58622         * lib/strstr.h: Likewise.
58623         * lib/xalloc.h: Likewise.
58624
58625         * lib/mbswidth.h: Add extern "C" for C++.
58626         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
58627
58628 2004-07-13  Robert Millan  <robertmh@gnu.org>
58629
58630         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
58631
58632 2004-07-09  Simon Josefsson  <jas@extundo.com>
58633
58634         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
58635         failed without this.)
58636
58637 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
58638
58639         * modules/chown (Files): Add lib/fchown-stub.c, since
58640         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
58641
58642 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
58643
58644         * lib/fchown-stub.c: New file.
58645
58646 2004-06-24  Jim Meyering  <jim@meyering.net>
58647
58648         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
58649
58650 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
58651
58652         * modules/argz: Omit "#include".
58653
58654         * MODULES.html.sh (func_all_modules): Add calloc, to match
58655         2004-06-01 addition of calloc module.
58656
58657 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
58658
58659         * m4/argz.m4: New file, which is autoupdated from libtool.
58660
58661 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
58662
58663         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
58664         libtool.
58665
58666 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
58667
58668         * config/srclist-update: Don't insist on "USA." before the
58669         close-comment, as libtool omits the period and puts the */ on a
58670         separate line.
58671         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
58672         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
58673
58674 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
58675
58676         * modules/argz: New file.
58677         * MODULES.html.sh (func_all_modules): Add argz.
58678
58679 2004-06-12  Jim Meyering  <jim@meyering.net>
58680         and  Paul Eggert  <eggert@cs.ucla.edu>
58681
58682         * modules/hash (Files): Add lib/xalloc.h.
58683         * modules/pipe (Depends-on): Add wait-process.
58684         * modules/stat (Depends-on): Add xalloc.
58685         * modules/userspec (Files): Add lib/userspec.h.
58686         * modules/xstrto
58687
58688         Upgrade from gettext-0.13.
58689         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
58690         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
58691         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
58692
58693 2004-06-10  Jim Meyering  <jim@meyering.net>
58694
58695         * lib/calloc.c: New file.
58696
58697 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
58698
58699         * lib/getdate.y (yylex): Allow space between sign and number.
58700         Problem reported by Dan Jacobson.
58701
58702 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
58703
58704         Merge from coreutils CVS.
58705
58706         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
58707         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
58708         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
58709         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
58710         xstrtol.m4: Fix copyright date and/or serial number.
58711
58712         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
58713         See if we need an fchown replacement.
58714         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
58715         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
58716         and use the replacement function if we detect either defect.
58717
58718         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
58719         gl_UTIMECMP.
58720
58721 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
58722         and  Jim Meyering  <jim@meyering.net>
58723
58724         Merge from coreutils CVS.
58725
58726         * lib/stat-macros.h: New file, with contents from file-type.h
58727         and coreutils' system.h.
58728         * lib/file-type.c: Include "stat-macros.h".
58729         * lib/file-type.h (file_type): Move all macro definitions to new file,
58730         stat-macros.h.
58731
58732         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
58733         Wrap old code with this conditional.
58734         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
58735         function that does not dereference symlinks.
58736         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
58737
58738         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
58739         dependency problems.
58740         (xreadlink): Accept new arg SIZE, for efficiency.
58741         All decls and uses changed.
58742         * lib/xreadlink.h: Include <stddef.h>, for size_t.
58743
58744         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
58745         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
58746
58747         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
58748         sysexits.h.
58749
58750 2004-06-01  Jim Meyering  <jim@meyering.net>
58751
58752         * m4/calloc.m4: New file.
58753
58754 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
58755
58756         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
58757         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
58758         Also, fix a typo in a diagnostic.
58759
58760 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
58761
58762         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
58763         or AC_FUNC_REALLOC.
58764
58765 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
58766
58767         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
58768         macros to be defined.
58769         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
58770         the allocator returns NULL because the requested size is zero.
58771
58772 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
58773
58774         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
58775         var.  Add comment explaining why libc still defines it.  This
58776         merges the following patch from glibc:
58777         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
58778
58779 2004-05-20  Andreas Schwab  <schwab@suse.de>
58780
58781         * m4/free.m4: Replace free if it not known to work, not the other
58782         way round.
58783
58784 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
58785
58786         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
58787         present in glibc since revision 1.1 of this file.
58788         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
58789         obstack_alignment_mask, obstack_alloc, obstack_base,
58790         obstack_blank, obstack_blank_fast, obstack_chunk_size,
58791         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
58792         obstack_grow0, obstack_init, obstack_int_grow,
58793         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
58794         obstack_next_free, obstack_object_size, obstack_ptr_grow,
58795         obstack_ptr_grow_fast, obstack_room): Remove declarations of
58796         nonexistent functions.
58797
58798 2004-05-18  Karl Berry  <karl@gnu.org>
58799
58800         * config/srclist.txt: break link for vasnprintf.c.
58801
58802 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
58803
58804         Port obstack to the AS/400, where pointers are 16 bytes wide and
58805         you cannot cast an integer to a valid pointer.  This patch is
58806         currently waiting to be integrated into glibc; see
58807         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
58808
58809         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
58810         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
58811         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
58812         (struct obstack): temp member is now a union of a pointer and
58813         an integer, instead of an integer.  All integer uses changed.
58814         This does not affect the physical layout of struct obstack,
58815         except on hosts (like the AS/400) where the size or alignment of
58816         void * is greater than that of ptrdiff_t.
58817         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
58818         __STDC__)]: Store temporary in pointer member of union, not
58819         integer member.
58820         * lib/obstack.c: Include <stddef.h>, for offsetof.
58821         (struct fooalign): Remove; it doesn't need a name.
58822         (union fooround): Change double to long double, and add void *.
58823         (DEFAULT_ALIGNMENT): Use offsetof to compute.
58824         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
58825         not a macro.  Hence the values are always int; so remove all
58826         casts-to-int in uses.
58827
58828 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
58829
58830         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
58831         we can get this patch merged into glibc.
58832
58833 2004-05-17  Derek R. Price  <derek@ximbiot.com>
58834             Paul Eggert  <eggert@cs.ucla.edu>
58835
58836         * m4/argp: Depend on alloca.
58837
58838 2004-05-17  Derek R. Price  <derek@ximbiot.com>
58839             Paul Eggert  <eggert@cs.ucla.edu>
58840
58841         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
58842         freecoding.
58843
58844 2004-05-17  Bruno Haible  <bruno@clisp.org>
58845
58846         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
58847         precision that consists of a '.' followed by an empty digit string.
58848         Patch by Tor Lillqvist <tml@iki.fi>.
58849
58850 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
58851
58852         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
58853         for backward compatibility with older code.  We need our own
58854         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
58855         it under some other name, and our alloca.h will define it.
58856
58857 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
58858             Derek Price  <derek@ximbiot.com>
58859
58860         * lib/alloca.c: Include <alloca.h>, to get our interface.
58861         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
58862         include <alloca.h> first.  Use C89 prototype for alloca; this
58863         requires including <stddef.h> for size_t.  Use extern "C" if C++.
58864         Use #elif for simplicity, since we can assume C89 now.
58865         Don't try to source the system alloca.h since it will not be found
58866         and to prevent recursively including its replacement.
58867         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
58868         * lib/regex.c: Likewise.
58869
58870 2004-05-16  Derek Price  <derek@ximbiot.com>
58871             Paul Eggert  <eggert@cs.ucla.edu>
58872
58873         getline cleanup.  This changes the getndelim2 API: both order of
58874         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
58875         no delimiter).
58876
58877         * lib/getline.c: Don't include stddef.h or stdio.h, since our
58878         interface does that.
58879         (getline): Always use getdelim, so that we don't have two
58880         copies of this code.
58881         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
58882         if available.
58883         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
58884         (GETNDELIM2_MAXIMUM): New macro.
58885         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
58886         instead of the old practice of delim2==0.  All callers changed.
58887         Return -1 on overflow, instead of returning junk.
58888         Do not set *linesize unless allocation succeeds.
58889         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
58890         that we include sys/types.h.
58891         * lib/getnline.h: Likewise.
58892         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
58893         (getndelim2): Reorder arguments.
58894         * lib/getnline.c (getnline, getndelim):
58895         Don't discard the NMAX argument.
58896         (getnline): Invoke getndelim, to avoid code duplication.
58897         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
58898         of (size_t) -1 by callers of the getnline family.
58899
58900 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
58901
58902         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
58903         Check for gettimeofday.
58904         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
58905         Check for settimeofday, stime.
58906
58907 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
58908
58909         * lib/nanosleep.c (suspended): Change its type from int to
58910         sig_atomic_t volatile.
58911         (first_call): Make it private to rpl_nanosleep, and have it
58912         be zero initially as that's a bit faster.
58913         (my_usleep): Round up fractional times instead of truncating them,
58914         as this is the usual meaning for 'sleep'.
58915
58916         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
58917         doesn't work.
58918         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
58919         (ENOSYS): Define if not defined.
58920         (settime): Fall back on stime if it exists and settimeofday fails.
58921         But don't bother with fallbacks if a method fails with errno == EPERM.
58922
58923 2004-05-11  Jim Meyering  <jim@meyering.net>
58924
58925         Prior to this change, the save_cwd caller required read access to the
58926         current directory on most systems (ones with the fchdir function).
58927
58928         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
58929         fails, try write-only, and finally, resort to using xgetcwd.
58930
58931 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
58932
58933         * lib/obstack.c, obstack.h: Import changes from libc.
58934
58935 2004-04-28  Bruno Haible  <bruno@clisp.org>
58936
58937         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
58938         also implicitly appends .exe to executables.
58939         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
58940         accepts Windows pathnames.
58941         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
58942         Treat Cygwin like Windows, since it now accepts Windows pathnames.
58943         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
58944         Treat Cygwin like Windows, since it now accepts Windows pathnames.
58945         Reported by Derek Robert Price <derek@ximbiot.com>.
58946
58947 2004-04-21  Karl Berry  <karl@gnu.org>
58948
58949         * config/srclist.txt (localcharset.c): break sync.
58950
58951 2004-04-20  Paul Eggert  <eggert@twinsun.com>
58952
58953         * m4/host-os.m4: Add a copyright notice.
58954
58955 2004-04-20  Jim Meyering  <jim@meyering.net>
58956
58957         Change UTILS_ to gl_ in AC_DEFINE'd names.
58958         Change utils_- and jm_-prefixed variables, too.
58959         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
58960         UTILS_FUNC_MKDIR_TRAILING_SLASH.
58961         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
58962
58963         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
58964         Don't emit trailing blanks.
58965         Also rename jm_-prefixed variables to have gl_ prefix.
58966
58967         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
58968         Also rename jm_-prefixed variables to have gl_ prefix.
58969
58970         * m4/jm-macros.m4: Reflect the renamings.
58971         * m4/prereq.m4: Likewise.
58972
58973 2004-04-20  Jim Meyering  <jim@meyering.net>
58974
58975         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
58976         memory.
58977
58978 2004-04-20  Jim Meyering  <jim@meyering.net>
58979             Bruno Haible  <bruno@clisp.org>
58980
58981         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
58982         memory when realloc fails.
58983
58984 2004-04-19  Jim Meyering  <jim@meyering.net>
58985
58986         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
58987         now that readutmp.c may call `free (0)'.
58988
58989 2004-04-19  Bruno Haible  <bruno@clisp.org>
58990
58991         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
58992         * m4/inttypes_h.m4: Likewise.
58993         * m4/stdint_h.m4: Likewise.
58994         * m4/intmax_t.m4: Likewise.
58995         * m4/uintmax_t.m4: Likewise.
58996
58997 2004-04-18  Jim Meyering  <jim@meyering.net>
58998
58999         * m4/prereq.m4: Don't forbid jm_ prefix.
59000
59001         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
59002         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
59003         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
59004         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
59005         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
59006         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
59007         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
59008         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
59009         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
59010         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
59011         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
59012         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
59013         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
59014         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
59015         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
59016         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
59017         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
59018         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
59019         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
59020
59021 2004-04-18  Jim Meyering  <jim@meyering.net>
59022
59023         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
59024         failure, don't leak memory and do call END_UTMP_ENT.
59025
59026 2004-04-16  Jim Meyering  <jim@meyering.net>
59027
59028         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
59029         coreutils' stat program.
59030         (gl_PREREQ): Don't require jm_PREREQ_STAT.
59031
59032 2004-04-11  Paul Eggert  <eggert@twinsun.com>
59033
59034         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
59035         C89.
59036         (CHAR_BIT): Remove, since we assume C89.
59037         Include <stdint.h> if available, as per current Autoconf CVS advice.
59038
59039 2004-03-31  Jim Meyering  <jim@meyering.net>
59040
59041         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
59042         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
59043         * m4/xalloc.m4: Likewise.
59044
59045 2004-03-30  Paul Eggert  <eggert@twinsun.com>
59046
59047         Merge from coreutils.
59048
59049         * m4/inttostr.m4: New file.
59050         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
59051         Require AM_STDBOOL_H and gl_TIMESPEC instead.
59052         Require gl_CLOCK_TIME.
59053         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
59054
59055 2004-03-30  Paul Eggert  <eggert@twinsun.com>
59056
59057         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
59058         not bool, to be more consistent with Unix conventions.
59059         Suggested by Bruno Haible.
59060
59061         Merge from coreutils.
59062
59063         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
59064         * lib/umaxtostr.c: New files.
59065
59066         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
59067         the usual <time.h> dance.
59068         (get_date): Change signature to support fractional time stamps.
59069         All callers changed.
59070         * lib/getdate.y: Include "getdate.h" first, as we can now
59071         assume C89 and don't need to worry about 'const'.
59072         Similarly, include "unlocked-io.h" near start, not in middle.
59073         Include <limits.h>.
59074         (textint.value): Use long int rather than int.
59075         (textint.digits): Use size_t rather than int.
59076         (BILLION, LOG10_BILLION): New constants.
59077         (parser_control): New member rel_ns.  Members day_ordinal,
59078         time_zone, month, day, hour, minutes, rel_year, rel_month,
59079         rel_day, rel_hour, rel_minutes, rel_seconds
59080         are now long int, not int.  Member seconds is now struct timespec,
59081         not int.  New member timespec_seen.  Members dates_seen, days_seen,
59082         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
59083         not int.
59084         (%union.intval): Now long int, not int.
59085         New member timespec.
59086         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
59087         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
59088         (spec): Now is a timespec or an item list.
59089         (timespec, items): New nonterminals.
59090         (time, rel, relunit, number, get_date):
59091         Add support for fractional seconds.
59092         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
59093         (gmtime, localtime, mktime): Remove decls; not needed with C89.
59094         (to_hour): First arg is now long int, not int.
59095         (to_year): Returns long int, not int.
59096         Don't treat year -70 like 70.
59097         (tm_diff): Returns long int, not int.
59098         (lookup_word): Use bool instead of int when appropriate.
59099         (yylex): Use size_t for count, not int.
59100         Detect overflow when parsing large integer constants.
59101         Add support for fractions.
59102         (get_date): Make pointers 'const' if possible.
59103         Use more-portable code to detect integer overflow.
59104         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
59105         Don't use ctime; it's not reliable if the year has >4 digits.
59106
59107         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
59108         This is for compatibility with BSD.
59109
59110         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
59111         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
59112         From coreutils' system.h.
59113
59114         * lib/userspec.c: Don't include "posixver.h".
59115         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
59116         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
59117         compatible extension.  Simplify code by removing a boolean int
59118         that was always nonzero if a string was nonnull.
59119
59120 2004-03-30  Jim Meyering  <jim@meyering.net>
59121
59122         Merge from coreutils.
59123
59124         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
59125         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
59126         on some systems one must include <grp.h> before it.
59127         Reported by Christian Krackowizer.
59128
59129 2004-03-30  Jim Meyering  <jim@meyering.net>
59130
59131         Merge from coreutils.
59132
59133         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
59134
59135         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
59136         an empty input stream.
59137
59138         * lib/readtokens.c: Include <stdbool.h>.
59139         (readtoken): Use `size_t' rather than int/long.
59140         All callers adjusted.
59141         Use `bool' rather than `int' where appropriate.
59142         Use memset rather than an explicit loop.
59143         Use x2nrealloc rather than xrealloc.
59144         Allow the use of `\0' as a delimiter.
59145         (readtokens): Likewise.
59146         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
59147
59148 2004-03-30  Jim Meyering  <jim@meyering.net>
59149
59150         * m4/realloc.m4: Remove file, since now it does no more than
59151         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
59152         the `configure.ac' section of module/realloc.
59153         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
59154
59155 2004-03-30  Bruno Haible  <bruno@clisp.org>
59156
59157         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
59158         nonnull.
59159
59160 2004-03-29  Paul Eggert  <eggert@twinsun.com>
59161
59162         Merge changes to getloadavg.c from coreutils and Emacs.
59163
59164         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
59165         Define to an expression, not to the empty string.
59166         Include cloexec.h and xalloc.h.
59167         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
59168         Use set_cloexec_flag rather than rolling our own.
59169         * lib/cloexec.c, lib/cloexec.h: New files.
59170
59171 2004-03-29  Paul Eggert  <eggert@twinsun.com>
59172
59173         * m4/cloexec.m4: New file.
59174
59175 2004-03-18  Paul Eggert  <eggert@twinsun.com>
59176
59177         * lib/getopt.h: Sync with libc CVS.
59178
59179 2004-03-18  Paul Eggert  <eggert@twinsun.com>
59180             Bruno Haible  <bruno@clisp.org>
59181
59182         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
59183         mbswidth.
59184
59185 2004-03-18  Paul Eggert  <eggert@twinsun.com>
59186             Bruno Haible  <bruno@clisp.org>
59187
59188         * lib/mbswidth.h: Include <wchar.h> only if
59189         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
59190         <wchar.h>.
59191         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
59192
59193 2004-03-09  Paul Eggert  <eggert@twinsun.com>
59194
59195         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
59196         Sync with libc CVS.
59197         * lib/getopt_int.h: New file, also synced from libc.
59198
59199 2004-03-09  Paul Eggert  <eggert@twinsun.com>
59200
59201         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
59202         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
59203         Bring back getopt.c, getopt.h, getopt1.c.
59204
59205 2004-03-07  Paul Eggert  <eggert@twinsun.com>
59206
59207         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
59208         All uses changed.  Check for sa_sigaction member; this fixes
59209         a bug first reported by Jason Andrade in
59210         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
59211
59212 2004-03-07  Paul Eggert  <eggert@twinsun.com>
59213
59214         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
59215         '#if' expressions.  Unlike the code it replaces, it does not
59216         depend on (defined _SC_PAGESIZE).  However, it does depend on
59217         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
59218         first reported by Jason Andrade in
59219         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
59220
59221 2004-02-25  Simon Josefsson  <jas@extundo.com>
59222
59223         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
59224
59225 2004-02-25  Simon Josefsson  <jas@extundo.com>
59226
59227         * lib/strdup.h: New file.
59228         * lib/strdup.c: Include it.
59229         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
59230         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
59231
59232 2004-02-23  Karl Berry  <karl@gnu.org>
59233
59234         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
59235         (from fencepost.gnu.org:/gd/gnuorg).
59236
59237 2004-02-23  Karl Berry  <karl@gnu.org>
59238
59239         * config/srclistvars.sh (GNUORG) [karl]: redefine.
59240         * config/srclist.txt: add maintain/standards documents.
59241
59242 2004-02-18  Bruno Haible  <bruno@clisp.org>
59243
59244         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
59245         Reported by Derek Robert Price <derek@ximbiot.com>.
59246
59247 2004-02-16  Karl Berry  <karl@gnu.org>
59248
59249         * config/mkinstalldirs, install-sh: update from automake.
59250
59251 2004-02-06  Karl Berry  <karl@gnu.org>
59252
59253         * m4/po.m4: update from gettext 0.14.1.
59254
59255 2004-02-06  Karl Berry  <karl@gnu.org>
59256
59257         * lib/config.charset: update from gettext 0.14.1.
59258
59259 2004-02-05  Paul Eggert  <eggert@twinsun.com>
59260
59261         Add comments and code, prompted by suggestions from Bruno Haible
59262         for sh-quote.
59263         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
59264         describing the enum quoting_style values.
59265         * lib/quotearg.c (quotearg_alloc): New function.
59266         (quotearg_buffer_restyled): Treat lone { and } as special.
59267         Treat = as special.  Work around bug with older shells
59268         that "see" a '\' that is really the 2nd byte of a multibyte char.
59269         Quote empty string with shell_quoting_style.
59270
59271 2004-02-03  Bruno Haible  <bruno@clisp.org>
59272
59273         * m4/pipe.m4: New file, from GNU gettext.
59274
59275 2004-02-03  Bruno Haible  <bruno@clisp.org>
59276
59277         * lib/pipe.h: New file, from GNU gettext.
59278         * lib/pipe.c: New file, from GNU gettext.
59279
59280 2004-01-27  Bruno Haible  <bruno@clisp.org>
59281
59282         * m4/execute.m4: New file, from GNU gettext.
59283
59284 2004-01-27  Bruno Haible  <bruno@clisp.org>
59285
59286         * lib/execute.h: New file, from GNU gettext.
59287         * lib/execute.c: New file, from GNU gettext.
59288         * lib/w32spawn.h: New file, from GNU gettext.
59289
59290 2004-01-24  Paul Eggert  <eggert@twinsun.com>
59291
59292         Merge from diffutils.
59293
59294         * lib/file-type.c (file_type): Add typed memory objects.
59295         * lib/file-type.h (S_TYPEISTMO): New macro.
59296
59297         * lib/c-stack.h (c_stack_action): Remove argv argument.
59298         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
59299         (die): Don't calculate message unless segv_action returns.
59300         (get_stack_location, min_address_from_argv, max_address_from_argv,
59301         volatile stack_base, volatile_stack_size): Remove.
59302         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
59303         that every segmentation violation is a stack overflow.  (Ouch!)
59304         See Debian bug 136249 (still outstanding) for more info about why
59305         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
59306
59307 2004-01-24  Paul Eggert  <eggert@twinsun.com>
59308
59309         Exit-status fix from coreutils.
59310
59311         Use exit_failure consistently in place of EXIT_FAILURE,
59312         so that program exit statuses are consistent on failure.
59313
59314         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
59315         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
59316         * lib/argmatch.h: Comment fix to match the above.
59317         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
59318         Now a macro referring to exit_failure, instead of a separate
59319         variable.  Include "exitfail.h" to get it.
59320         * lib/xstrtol.h: Include "exitfail.h".
59321         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
59322
59323         * lib/long-options.c (parse_long_options): Use prototype
59324         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
59325         for clarity.
59326
59327 2004-01-21  Jim Meyering  <jim@meyering.net>
59328
59329         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
59330         so as not to conflict with a different-sized __mktime_internal
59331         function in GNU libc.
59332         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
59333         Problem building statically-linked `ls' reported by Michael Brunnbauer.
59334
59335 2004-01-20  Karl Berry  <karl@gnu.org>
59336
59337         * config/config.guess: update from config.
59338
59339         * config/srclistvars.sh: GNUWWWLICENSES for karl.
59340
59341 2004-01-20  Bruno Haible  <bruno@clisp.org>
59342
59343         Safer stack allocation.
59344         * lib/setenv.c: Include allocsa.h.
59345         (alloca): Remove fallback definition.
59346         (freea): Remove macro.
59347         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
59348         instead of freea.
59349
59350 2004-01-20  Bruno Haible  <bruno@clisp.org>
59351
59352         * m4/eealloc.m4: New file, from GNU gettext.
59353
59354 2004-01-20  Bruno Haible  <bruno@clisp.org>
59355
59356         * m4/allocsa.m4: New file, from GNU gettext.
59357
59358 2004-01-20  Bruno Haible  <bruno@clisp.org>
59359
59360         * lib/xallocsa.h: New file, from GNU gettext.
59361         * lib/xallocsa.c: New file, from GNU gettext.
59362
59363 2004-01-20  Bruno Haible  <bruno@clisp.org>
59364
59365         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
59366
59367 2004-01-20  Bruno Haible  <bruno@clisp.org>
59368
59369         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
59370         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
59371         specially.
59372
59373 2004-01-20  Bruno Haible  <bruno@clisp.org>
59374
59375         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
59376         patch.
59377
59378 2004-01-20  Bruno Haible  <bruno@clisp.org>
59379
59380         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
59381
59382 2004-01-20  Bruno Haible  <bruno@clisp.org>
59383
59384         * lib/eealloc.h: New file.
59385
59386 2004-01-20  Bruno Haible  <bruno@clisp.org>
59387
59388         * lib/binary-io.h: Avoid warnings on Cygwin.
59389
59390 2004-01-20  Bruno Haible  <bruno@clisp.org>
59391
59392         * lib/allocsa.h: New file, from GNU gettext.
59393         * lib/allocsa.c: New file, from GNU gettext.
59394
59395 2004-01-18  Karl Berry  <karl@gnu.org>
59396
59397         * doc/gpl.texi, doc/lgpl.texi: new files.
59398
59399 2004-01-18  Karl Berry  <karl@gnu.org>
59400
59401         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
59402         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
59403
59404 2004-01-15  Paul Eggert  <eggert@twinsun.com>
59405
59406         Merge from coreutils.
59407
59408         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
59409         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
59410         (gl_DEFAULT_POSIX2_VERSION): Move
59411         the documentation from 'configure' into 'config.hin',
59412         so that 'configure --help' isn't burdened by it and
59413         we don't have to worry about its formatting there.
59414         Reword the documentation so that it's more succinct
59415         and can be run together into a single paragraph.
59416         * m4/same.m4 (gl_SAME): Check for pathconf.
59417
59418 2004-01-15  Paul Eggert  <eggert@twinsun.com>
59419
59420         Merge from coreutils.
59421
59422         * lib/posixver.c: Include posixver.h.
59423
59424         * lib/same.c: Include <stdbool.h>, <limits.h>.
59425         (_POSIX_NAME_MAX): Define if not defined.
59426         (MIN): New macro.
59427         (same_name): If file names are silently truncated, report
59428         that the file names are the same if they are the same after
59429         the silent truncation.
59430
59431         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
59432         conversion function.
59433         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
59434         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
59435         longer needed.
59436
59437 2004-01-15  Jim Meyering  <jim@meyering.net>
59438
59439         Merge from coreutils.
59440
59441         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
59442         if no library is required.
59443         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
59444         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
59445         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
59446         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
59447         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
59448         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
59449         value, $ac_cv_search_crypt, if it's "none required".
59450         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
59451         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
59452         not gl_FUNC_GETLOADAVG.
59453         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
59454         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
59455
59456 2004-01-15  Jim Meyering  <jim@meyering.net>
59457
59458         Merge from coreutils.
59459
59460         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
59461         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
59462         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
59463
59464         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
59465         optional configure-time default.
59466
59467         * lib/version-etc.c (version_etc_copyright): Update copyright date.
59468
59469         * lib/xreadlink.c (xreadlink): Correct outdated comment.
59470
59471 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
59472
59473         Merge from coreutils.
59474
59475         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
59476         value, $ac_cv_search_nanosleep, if it's "none required".
59477
59478 2004-01-14  Paul Eggert  <eggert@twinsun.com>
59479
59480         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
59481         with like-named macro in fnmatch.c.
59482         (EXT): Use an internal constant instead.
59483
59484         Merge fnmatch patches from glibc.
59485         * lib/fnmatch.c (mbsinit): Remove define.
59486         Add libc_hidden_ver (__fnmatch, fnmatch).
59487         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
59488         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
59489
59490 2004-01-14  Karl Berry  <karl@gnu.org>
59491
59492         * config/install-sh: update from automake.
59493
59494 2004-01-13  Karl Berry  <karl@gnu.org>
59495
59496         * config/install-sh: update from automake.
59497
59498 2004-01-09  Karl Berry  <karl@gnu.org>
59499
59500         * config/install-sh: update from automake.
59501
59502 2004-01-05  Karl Berry  <karl@gnu.org>
59503
59504         * config/config.{sub,guess}: update from config.
59505
59506 2003-12-31  Karl Berry  <karl@gnu.org>
59507
59508         * config/depcomp: update from automake.
59509
59510 2003-12-14  Karl Berry  <karl@gnu.org>
59511
59512         * lib/config.charset: update from gettext-runtime.
59513
59514 2003-12-03  Paul Eggert  <eggert@twinsun.com>
59515
59516         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
59517         Bug reported by Alfred M. Szmidt.
59518
59519 2003-12-03  Bruno Haible  <bruno@clisp.org>
59520
59521         * m4/gettext.m4: Upgrade from gettext-0.13.
59522         * m4/po.m4: Upgrade from gettext-0.13.
59523         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
59524         * m4/intmax.m4: New file, from gettext-0.13.
59525         * m4/printf-posix.m4: New file, from gettext-0.13.
59526
59527 2003-11-29  Karl Berry  <karl@gnu.org>
59528
59529         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
59530
59531 2003-11-25  Paul Eggert  <eggert@twinsun.com>
59532             Bruno Haible  <bruno@clisp.org>
59533
59534         * lib/printf-parse.h: Don't include sys/types.h.
59535         (ARG_NONE): New macro.
59536         (char_directive): Change type of *arg_index fields to size_t.
59537         * lib/printf-parse.c: Don't include sys/types.h.
59538         (SSIZE_MAX): Remove macro.
59539         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
59540         Remove unnecessary overflow check.
59541         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
59542         fields.
59543
59544 2003-11-25  Bruno Haible  <bruno@clisp.org>
59545
59546         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
59547
59548 2003-11-25  Bruno Haible  <bruno@clisp.org>
59549
59550         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
59551         gt_TYPE_SSIZE_T.
59552
59553 2003-11-24  Paul Eggert  <eggert@twinsun.com>
59554
59555         * modules/alloca: Remove dependency on xalloc.
59556
59557 2003-11-24  Paul Eggert  <eggert@twinsun.com>
59558
59559         * lib/alloca.c: Remove dependency on xalloc module.
59560         (xalloc_die): Remove.
59561         (memory_full) [!defined emacs]: New macro.
59562         [!defined emacs]: Don't include xalloc.h.
59563         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
59564         address arithmetic overflows.  Change datatypes a bit to avoid
59565         unnecessary casts.
59566
59567 2003-11-22  Jim Meyering  <jim@meyering.net>
59568
59569         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
59570         s/size/size_t/.
59571
59572 2003-11-21  Karl Berry  <karl@gnu.org>
59573
59574         * config/config.{sub,guess}: update from config.
59575
59576 2003-11-18  Karl Berry  <karl@gnu.org>
59577
59578         * config/config.{sub,guess}: update from config.
59579
59580         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
59581
59582 2003-11-17  Paul Eggert  <eggert@twinsun.com>
59583
59584         * README: Mention that S+T cannot overflow if S is the size of
59585         an existing object and T is sufficiently small.
59586
59587 2003-11-17  Jim Meyering  <jim@meyering.net>
59588
59589         On systems without utime and without a utimes function capable of
59590         dealing with a NULL struct utimbuf* argument, this utime replacement
59591         could -- in unusual circumstances -- leak a file descriptor.
59592         * lib/utime.c: Include <unistd.h> and <errno.h>.
59593         (utime_null): Be sure to close `fd' and to preserve errno.
59594         Reported by Geoff Collyer via Arnold Robbins.
59595
59596 2003-11-17  Bruno Haible  <bruno@clisp.org>
59597
59598         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
59599         (Depends-on): Add xsize.
59600
59601 2003-11-17  Bruno Haible  <bruno@clisp.org>
59602
59603         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
59604
59605 2003-11-17  Bruno Haible  <bruno@clisp.org>
59606
59607         * lib/vasnprintf.c (alloca): Remove fallback definition.
59608         (freea): Remove definition.
59609         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
59610         Reported by Paul Eggert.
59611
59612 2003-11-16  Paul Eggert  <eggert@twinsun.com>
59613             Bruno Haible  <bruno@clisp.org>
59614
59615         Protect against address arithmetic overflow.
59616         * lib/printf-args.h: Include stddef.h.
59617         (arguments): Change type of field 'count' to size_t.
59618         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
59619         'unsigned int' where appropriate.
59620         * lib/printf-parse.h: Include sys/types.h.
59621         (char_directive): Change type of *arg_index fields to ssize_t.
59622         (char_directives): Change type of fields 'count', max_*_length to
59623         size_t.
59624         * lib/printf-parse.c: Include sys/types.h and xsize.h.
59625         (SSIZE_MAX): Define fallback value.
59626         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
59627         instead of 'int' where appropriate. Check a_allocated, d_allocated
59628         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
59629         * lib/vasnprintf.c: Include xsize.h.
59630         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
59631         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
59632         overflow. Avoid wraparound when converting a width or precision from
59633         decimal to binary.
59634
59635 2003-11-16  Bruno Haible  <bruno@clisp.org>
59636
59637         Update from GNU gettext.
59638         * lib/printf-parse.c: Generalize to it can be compiled for wide
59639         strings.
59640         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
59641         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
59642         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
59643         SNPRINTF): New macros.
59644         Don't include <alloca.h> if the file is used inside libintl.
59645         (local_wcslen): New function, for Solaris 2.5.1.
59646         (VASNPRINTF): Use it instead of wcslen.
59647
59648 2003-11-16  Bruno Haible  <bruno@clisp.org>
59649
59650         * lib/xsize.h (xmax): New function.
59651         (xsum, xsum3, xsum4): Declare as "pure" functions.
59652
59653 2003-11-12  Paul Eggert  <eggert@twinsun.com>
59654
59655         * modules/xalloc (Files): Undo latest change, since xalloc.h
59656         no longer needs SIZE_MAX or PTRDIFF_MAX.
59657
59658 2003-11-12  Paul Eggert  <eggert@twinsun.com>
59659
59660         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
59661         gl_PTRDIFF_MAX.
59662
59663 2003-11-12  Paul Eggert  <eggert@twinsun.com>
59664
59665         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
59666         "return", to pacify some unknown compiler.  Problem reported
59667         by Joerg Schilling.
59668
59669 2003-11-12  Paul Eggert  <eggert@twinsun.com>
59670
59671         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
59672         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
59673         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
59674         heuristic is just as accurate as far as we know, and it removes a
59675         dependency on size_max.m4 and ptrdiff_max.m4.
59676
59677 2003-11-11  Bruno Haible  <bruno@clisp.org>
59678
59679         * modules/xsize (Files): Add m4/size_max.m4.
59680         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
59681
59682 2003-11-11  Bruno Haible  <bruno@clisp.org>
59683
59684         * m4/size_max.m4: New file.
59685         * m4/ptrdiff_max.m4: New file.
59686         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
59687         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
59688         (gl_XALLOC): Invoke it.
59689
59690 2003-11-11  Bruno Haible  <bruno@clisp.org>
59691
59692         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
59693         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
59694         defined.
59695
59696 2003-11-10  Paul Eggert  <eggert@twinsun.com>
59697
59698         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
59699         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
59700         rejected some allocations of exactly SIZE_MAX - 2 bytes.
59701         From Bruno Haible.
59702         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
59703         not (size_t) -1, since it's defined here.
59704
59705 2003-11-09  Karl Berry  <karl@gnu.org>
59706
59707         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
59708
59709 2003-11-06  Paul Eggert  <eggert@twinsun.com>
59710
59711         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
59712         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
59713         Reject sizes of exactly SIZE_MAX bytes.
59714         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
59715         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
59716
59717 2003-11-05  Bruno Haible  <bruno@clisp.org>
59718
59719         * lib/xsize.h: Include limits.h, to avoid a possible collision with
59720         SIZE_MAX defined in <limits.h> on Solaris.
59721
59722 2003-11-04  Jim Meyering  <jim@meyering.net>
59723
59724         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
59725         variable names, rather than @VAR@.
59726         * modules/poll: Likewise.
59727
59728 2003-11-04  Bruno Haible  <bruno@clisp.org>
59729
59730         * modules/xsize: New file.
59731         * modules/linebreak: Depend on xsize.
59732         * MODULES.html.sh (func_all_modules): Add xsize.
59733
59734 2003-11-04  Bruno Haible  <bruno@clisp.org>
59735
59736         * m4/xsize.m4: New file.
59737
59738 2003-11-04  Bruno Haible  <bruno@clisp.org>
59739
59740         * lib/xsize.h: New file.
59741         * lib/linebreak.c: Include xsize.h.
59742         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
59743         argument for overflow.
59744         Suggested by Paul Eggert.
59745
59746 2003-11-03  Karl Berry  <karl@gnu.org>
59747
59748         * config/config.{guess,sub}: update from config.
59749
59750 2003-11-03  Jim Meyering  <jim@meyering.net>
59751
59752         * modules/userspec (lib_SOURCES): Add userspec.h.
59753         (Include): Add "userspec.h".
59754         Improve description.
59755
59756 2003-11-03  Jim Meyering  <jim@meyering.net>
59757
59758         * lib/userspec.c: Include "userspec.h".
59759         * lib/userspec.h: New file.
59760
59761 2003-11-03  Bruno Haible  <bruno@clisp.org>
59762
59763         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
59764
59765 2003-11-03  Bruno Haible  <bruno@clisp.org>
59766
59767         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
59768         available, to avoid (extremely rare) race condition.
59769         Suggested by Paul Eggert.
59770
59771 2003-11-02  Karl Berry  <karl@gnu.org>
59772
59773         * config/srclist.txt (vasprintf.c): sync broken, sigh.
59774
59775 2003-10-31  Paul Eggert  <eggert@twinsun.com>
59776
59777         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
59778         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
59779         (read_filesystem_list): Set and use me_type_malloced.
59780         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
59781         whatever the type happens to be), for brevity and consistency.
59782         Check for size calculation overflow on Alphas running OSF/1.
59783
59784 2003-10-31  Jim Meyering  <jim@meyering.net>
59785
59786         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
59787
59788         * lib/linebuffer.c: Include <string.h> for declaration of memset.
59789
59790 2003-10-30  Paul Eggert  <eggert@twinsun.com>
59791             Bruno Haible  <bruno@clisp.org>
59792
59793         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
59794         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
59795
59796 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
59797
59798         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
59799         netbsd*-gnu*.  Suggested by Robert Millan.
59800
59801 2003-10-29  Paul Eggert  <eggert@twinsun.com>
59802
59803         * modules/group-member: Depend on stdbool.
59804
59805 2003-10-29  Paul Eggert  <eggert@twinsun.com>
59806
59807         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
59808
59809 2003-10-29  Paul Eggert  <eggert@twinsun.com>
59810
59811         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
59812         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
59813         after the 'gnu' in these cases.  This fixes some bugs in the
59814         previous change, and is based on suggestions by Robert Millan.
59815
59816 2003-10-29  Paul Eggert  <eggert@twinsun.com>
59817
59818         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
59819         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
59820         no longer needed.
59821         * lib/quotearg.c (quotearg_n_options): Use it.
59822         * lib/group-member.c: Include <stdbool.h>.
59823         (free_group_info): Arg is now const *; don't free arg.
59824         (get_group_info): Now returns bool and accepts struct group_info *,
59825         rather than returning a malloc'ed struct group_info *.
59826         All uses changed.  Check for overflow in internal size calculation.
59827
59828         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
59829         rather than xmalloc/xrealloc.
59830         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
59831         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
59832         conformance bug: the old code used a pointer after freeing the
59833         storage that it addressed.
59834         * lib/hash.c (hash_initialize): Simplify the code by using
59835         xalloc_oversized rather than doing it by hand.
59836         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
59837         the buffer preserved.  Use free and xmalloc instead.
59838         * lib/quotearg.c (quotearg_n_options): Likewise.
59839         Use a simpler test for size overflow.  Don't use xalloc_oversized
59840         because unsigned int might be wider than size_t (!); this suggests
59841         that we should switch from unsigned int to size_t for slot numbers.
59842
59843 2003-10-28  Paul Eggert  <eggert@twinsun.com>
59844
59845         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
59846         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
59847         NetBSD kernels.  Requested by Richard Stallman.
59848
59849 2003-10-27  Paul Eggert  <eggert@twinsun.com>
59850
59851         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
59852         to allocate the returned structure.  Do not allocate a subarray,
59853         as x2nrealloc will do that.
59854         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
59855         instead of xnrealloc.
59856         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
59857
59858 2003-10-27  Bruno Haible  <bruno@clisp.org>
59859
59860         * lib/stdbool_.h: Better support for BeOS.
59861
59862 2003-10-26  Paul Eggert  <eggert@twinsun.com>
59863
59864         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
59865         now uses inline.
59866
59867 2003-10-26  Paul Eggert  <eggert@twinsun.com>
59868
59869         * lib/xalloc.h (xalloc_oversized): New static inline function, for
59870         callers that want to do their own size-overflow checking.  Include
59871         <stdbool.h>, since xalloc_oversized returns bool.
59872         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
59873         to use xalloc_oversized.
59874
59875         Add two functions x2realloc, x2nrealloc, for programs that grow
59876         arrays dynamically by doubling their sizes.
59877         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
59878         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
59879         New functions.
59880
59881         Port to C99 semantics for 'inline' of external functions.
59882         Bug reported by Bruno Haible.
59883         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
59884         with the old contents of xnmalloc.
59885         (xnmalloc, xmalloc): Use it.
59886         (xnrealloc_inline): New static inline function,
59887         with the old contents of xnrealloc.
59888         (xnrealloc, xrealloc): Use it.
59889
59890         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
59891         that.
59892
59893 2003-10-26  Karl Berry  <karl@gnu.org>
59894
59895         * config/srclist.txt (COPYING.DOC): no longer available from
59896         /gd/gnuorg; don't know where the ultimate source is.
59897
59898 2003-10-25  Paul Eggert  <eggert@twinsun.com>
59899
59900         Fix several address-calculation bugs in the hash modules,
59901         plus some minor code cleanup.
59902
59903         * lib/hash.h: Include <stdbool.h>, for bool.
59904         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
59905         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
59906         hash_get_n_entries, hash_get_max_bucket_length,
59907         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
59908         hash_rehash): Use size_t rather than unsigned.
59909         * lib/hash.c (struct hash_table, hash_get_n_buckets,
59910         hash_get_n_buckets_used, hash_get_n_entries,
59911         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
59912         hash_get_entries, hash_do_for_each, hash_string, is_prime,
59913         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
59914         Likewise.
59915         (SIZE_MAX): Define if not defined.
59916         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
59917         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
59918         hash_print):
59919         Use const * when possible.
59920         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
59921         (check_tuning): Fix bug: if tuning parameters were very close to
59922         0 or 1, rounding errors could have caused subscript violations.
59923         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
59924         (hash_initialize): Add 'fail:' label
59925         to free table and return NULL, and use it to simplify code.
59926         Use calloc rather than clearing the storage ourself.
59927         (hash_initialize, hash_rehash): Check for arithmetic overflow in
59928         buffer size calculations.
59929         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
59930         Include <stddef.h>, for size_t.
59931         * lib/hash-pjw.c (hash_pjw): Likewise.
59932         Switch to method described by Bruno Haible.
59933         Include <limits.h>, for CHAR_BIT.
59934         (SIZE_BITS): New macro.
59935
59936 2003-10-23  Paul Eggert  <eggert@twinsun.com>
59937
59938         * m4/getline.m4 (AM_FUNC_GETLINE):
59939         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
59940         hosts.  Problem reported by Derek Robert Price in
59941         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
59942         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
59943         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
59944
59945 2003-10-21  Paul Eggert  <eggert@twinsun.com>
59946
59947         * lib/getndelim2.c (getndelim2): When size calculation overflows,
59948         ceiling the allocation at NMAX bytes rather than silently
59949         discarding input bytes before NMAX is reached.  This makes
59950         a difference only if NMAX exceeds SIZE_MAX / 2.
59951
59952         * lib/obstack.c: Merge from glibc.
59953         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
59954         Add libc_hidden_def (_obstack_newchunk).
59955         (_obstack_free) [! defined _LIBC]: Remove.
59956         [defined _LIBC]: Make a strong alias from obstack_free, rather than
59957         a clone of the function body.
59958         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
59959         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
59960
59961         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
59962         glibc.
59963         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
59964         arg to memcpy.
59965
59966         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
59967         (obstack_ptr_grow_fast, obstack_int_grow_fast):
59968         Don't use lvalue casts, as GCC plans to remove support for them
59969         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
59970         was also present in the non-GCC version, indicating that this
59971         code had always been buggy and had never been widely used.
59972         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
59973         Use the fast variant of each macro, rather than copying the
59974         definiens of the fast variant; that way, we'll be more likely to
59975         catch future bugs in the fast variants.
59976
59977 2003-10-20  Bruno Haible  <bruno@clisp.org>
59978
59979         * modules/wait-process: New file.
59980         * MODULES.html.sh (func_all_modules): Add wait-process.
59981
59982 2003-10-20  Bruno Haible  <bruno@clisp.org>
59983
59984         * m4/wait-process.m4: New file.
59985
59986 2003-10-20  Bruno Haible  <bruno@clisp.org>
59987
59988         * lib/wait-process.h: New file, from GNU gettext.
59989         * lib/wait-process.c: New file, from GNU gettext.
59990
59991 2003-10-19  Jim Meyering  <jim@meyering.net>
59992
59993         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
59994         HPUX 10.20.
59995
59996 2003-10-18  Karl Berry  <karl@gnu.org>
59997
59998         * config/config.guess: update from config.
59999
60000 2003-10-16  Paul Eggert  <eggert@twinsun.com>
60001
60002         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
60003         (getgroups): First arg is int, not size_t.
60004         Don't let 'free' mangle errno.
60005
60006 2003-10-16  Paul Eggert  <eggert@twinsun.com>
60007
60008         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
60009
60010 2003-10-16  Karl Berry  <karl@gnu.org>
60011
60012         * config/config.{guess,sub}: update from config.
60013
60014 2003-10-16  Jim Meyering  <jim@meyering.net>
60015
60016         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
60017         memcpy.
60018
60019 2003-10-15  Paul Eggert  <eggert@twinsun.com>
60020
60021         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
60022         (SIZE_MAX): Remove.
60023         (new_exclude, add_exclude_file): Initial size no longer needs to
60024         be a power of 2.
60025         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
60026         our own address arithmetic overflow checking.
60027
60028         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
60029         (fnmatch): Do not alloca more than 2000 wide characters;
60030         instead, use malloc for large buffers.
60031         Check for address arithmetic overflow, and return -1
60032         with errno set to ENOMEM in that case.
60033         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
60034         (NEW_PATTERN): Do not alloca more than 8000 bytes;
60035         instead, return -1.  Check for address arithmetic overflow.
60036
60037 2003-10-14  Paul Eggert  <eggert@twinsun.com>
60038
60039         Handle invalid suffixes and overflow independently, so that
60040         callers can treat them independently as needed.  Fix some bugs in
60041         suffix handling, e.g., "100k@" was not diagnosed as an invalid
60042         suffix for a human-readable blocksize.  The major caller-visible
60043         change is the addition of a new
60044         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
60045         that both overflow and suffix chars were found.
60046
60047         * lib/human.c (humblock): Don't check separately for invalid suffix
60048         char; that is xstrtoumax's job (now that its bug is fixed).
60049         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
60050         INTMAX_MAX]: New macros.
60051         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
60052         TYPE_MAXIMUM): New macros.
60053         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
60054         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
60055         if overflow occurs, as it's what __strtol does and it's more useful
60056         in practice.
60057         (__xstrtol): If __strtol reports some error other than ERANGE,
60058         reflect it to the caller as LONGINT_INVALID.  If it reports
60059         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
60060         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
60061         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
60062         value.
60063         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
60064         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
60065         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
60066         [defined UINTMAX_MAX]: New macros.
60067
60068 2003-10-14  Bruno Haible  <bruno@clisp.org>
60069
60070         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
60071
60072 2003-10-14  Bruno Haible  <bruno@clisp.org>
60073
60074         * m4/sig_atomic_t: New file, from GNU gettext.
60075         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
60076
60077 2003-10-14  Bruno Haible  <bruno@clisp.org>
60078
60079         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
60080         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
60081         Also use volatile where needed.
60082
60083 2003-10-12  Paul Eggert  <eggert@twinsun.com>
60084
60085         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
60086         Change maintainer from Bruno Haible to 'all'.
60087
60088 2003-10-12  Paul Eggert  <eggert@twinsun.com>
60089
60090         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
60091
60092 2003-10-12  Paul Eggert  <eggert@twinsun.com>
60093
60094         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
60095         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
60096         and define in terms of the other primitives.
60097         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
60098         (SIZE_MAX): Define if not already defined.
60099         (array_size_overflow): New function.
60100         (xalloc_die): Abort instead of exiting if 'error' returns.
60101         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
60102         (xmalloc, xrealloc): Use them.
60103         (xcalloc): Check for address arithmetic overflow.
60104         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
60105         a bit faster than strcpy.
60106
60107 2003-10-10  Simon Josefsson  <jas@extundo.com>
60108
60109         * modules/argp (Depends-on): Add restrict and strcase.
60110
60111 2003-10-10  Simon Josefsson  <jas@extundo.com>
60112
60113         * m4/argp.m4: Add AC_C_INLINE.
60114
60115 2003-10-08  Paul Eggert  <eggert@twinsun.com>
60116
60117         Merge getpass from libc, plus a few fixes.
60118
60119         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
60120         Include <stdbool.h>.
60121         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
60122         __fsetlocking to empty.
60123         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
60124         do include <bits/libc-lock.h>.
60125         Do not include <fcntl.h>; not needed.
60126         [_LIBC]: Include <wchar.h>.
60127         (NOTCANCEL_MODE): New macro.
60128         (flockfile, funlockfile) [_LIBC]: New macros.
60129         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
60130         [!_LIBC]: New macros.
60131         (call_fclose): New function.
60132         (getpass): Use it.  Save tty stream separately; this simplifies the
60133         code and makes it more reliable if stdin happens to equal stdout.
60134         Invoke __fsetlocking on tty.
60135         Handle thread cancellation if needed.
60136         Namespace cleanup (use __tcgetattr, __getline).
60137         Use bool for Booleans.
60138         [USE_IN_LIBIO]: Handle wide streams.
60139         [!_LIBC]: Unconditionally do the fseek, since we don't know what
60140         stream might go where.
60141
60142         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
60143         doesn't have to include <stdio.h> before us.
60144         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
60145         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
60146         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
60147         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
60148         if not declared, so that we can use getpass.c code from libc without
60149         rewriting it.
60150         (flockfile, ftrylockfile, funlockfile): New macros.
60151
60152 2003-10-08  Paul Eggert  <eggert@twinsun.com>
60153
60154         * modules/getpass: Depend on stdbool.
60155
60156 2003-10-08  Paul Eggert  <eggert@twinsun.com>
60157
60158         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
60159
60160 2003-10-07  Karl Berry  <karl@gnu.org>
60161
60162         * config/config.{guess,sub}: update from config.
60163
60164 2003-10-06  Jim Meyering  <jim@meyering.net>
60165             Bruno Haible  <bruno@clisp.org>
60166
60167         This lets translators provide better translations for the
60168         "Written by ..." part of --version output.
60169         * lib/version-etc.h: Include stdarg.h.
60170         (version_etc_copyright): Declare as readonly.
60171         (version_etc): Make this function variadic with a NULL-terminated list
60172         of author name strings.
60173         (version_etc_va): New declaration.
60174         * lib/version-etc.c: Include stdarg.h, stdlib.h.
60175         (version_etc_copyright): Declare as readonly.
60176         (version_etc_va): New function. Provide a different translatable string
60177         for each possible number of authors < 10. Abbreviate when there are 10
60178         authors or more.
60179         (version_etc): Make this function variadic. Call version_etc_va.
60180         Suggestion from Gary V. Vaughan.
60181
60182         * lib/long-options.h (parse_long_options): Change prototype: the
60183         authors string is moved to the end and becomes variadic.
60184         * lib/long-options.c: Include stdarg.h.
60185         (parse_long_options): Make this function variadic, too.
60186         Call version_etc_va, not version_etc.
60187
60188 2003-10-06  Bruno Haible  <bruno@clisp.org>
60189
60190         * modules/version-etc-2: Remove file.
60191         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
60192
60193 2003-10-06  Bruno Haible  <bruno@clisp.org>
60194
60195         * modules/fatal-signal: New file.
60196         * MODULES.html.sh (func_all_modules): Add fatal-signal.
60197
60198 2003-10-06  Bruno Haible  <bruno@clisp.org>
60199
60200         * m4/fatal-signal.m4: New file.
60201         * m4/signalblocking.m4: New file, from GNU gettext.
60202
60203 2003-10-06  Bruno Haible  <bruno@clisp.org>
60204
60205         * lib/version-etc-2.h: Remove file.
60206         * lib/version-etc-2.c: Remove file.
60207
60208 2003-10-06  Bruno Haible  <bruno@clisp.org>
60209
60210         * lib/fatal-signal.h: New file, from GNU gettext.
60211         * lib/fatal-signal.c: New file, from GNU gettext.
60212
60213 2003-10-05  Paul Eggert  <eggert@twinsun.com>
60214
60215         * README: Rework advice for preventing empty .o files.
60216         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
60217         not <sys/types.h>.
60218
60219 2003-10-04  Karl Berry  <karl@gnu.org>
60220
60221         * lib/argp*: update from libc.
60222
60223 2003-10-04  Karl Berry  <karl@gnu.org>
60224
60225         * config/config.{guess,sub}: update from config.
60226
60227 2003-10-02  Bruno Haible  <bruno@clisp.org>
60228
60229         * modules/lchown (Include): Add lchown.h.
60230         * modules/time_r (Include): Use "..." syntax.
60231         * modules/xgetdomainname (Include): Add xgetdomainname.h.
60232
60233 2003-10-01  Simon Josefsson  <jas@extundo.com>
60234
60235         * MODULES.html.sh (func_all_modules): Move gethostname from section
60236         'based on' to section 'lacking' POSIX:2001.
60237
60238 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
60239
60240         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
60241         to output mode on the same stream.
60242
60243 2003-09-29  Paul Eggert  <eggert@twinsun.com>
60244
60245         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
60246         Fix arg typo in previous patch.
60247
60248 2003-09-28  Jim Meyering  <jim@meyering.net>
60249
60250         * lib/error.c: Correct cpp indentation.
60251
60252 2003-09-27  Paul Eggert  <eggert@twinsun.com>
60253
60254         * modules/free: New file.
60255
60256 2003-09-27  Paul Eggert  <eggert@twinsun.com>
60257
60258         * m4/free.m4: New file.
60259
60260 2003-09-27  Paul Eggert  <eggert@twinsun.com>
60261
60262         * lib/minmax.h (MIN, MAX)
60263         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
60264         Omit the special code that used __typeof__, since we worry that
60265         it could be more trouble than it's worth.  See:
60266         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
60267         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
60268
60269         * lib/free.c: New file.
60270
60271 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
60272
60273         Trivial fixes to Makefile.am parts of module listings.
60274         * modules/strstr: Append strstr.h to lib_SOURCES.
60275         * modules/strcase: Likewise, for strcase.h.
60276
60277 2003-09-27  Karl Berry  <karl@gnu.org>
60278
60279         * config/mkinstalldirs: update from automake.
60280
60281 2003-09-26  Paul Eggert  <eggert@twinsun.com>
60282
60283         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
60284         (error_tail): Do not loop, reallocating temporary buffer, since
60285         the output cannot contain more wide characters than the input
60286         contains bytes, the size must be big enough already.  This avoids
60287         one potential size overflow calculation.  Check for size overflow
60288         when calculating temporary buffer size.  Free temporary buffer
60289         when done, if it was allocated with malloc; this plugs a memory
60290         leak.  Remove casts from void * to pointers, that are no longer
60291         needed now that we're assuming C89 or better.
60292
60293         Merge error changes from glibc.
60294
60295         * lib/error.c, error.h: Update copyright notice header to match glibc.
60296         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
60297         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
60298         Disable cancellation while printing error.
60299         * lib/error.h: Prepend __ to parameter names.
60300
60301 2003-09-26  Jim Meyering  <jim@meyering.net>
60302
60303         * lib/error.c (error_tail): Move some declarations
60304         into inner scope where the local variables are used.
60305
60306 2003-09-26  Bruno Haible  <bruno@clisp.org>
60307
60308         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
60309         stpncpy().
60310         Don't define stpncpy through config.h; it's now done through stpncpy.h.
60311
60312 2003-09-26  Bruno Haible  <bruno@clisp.org>
60313
60314         * lib/stpncpy.h (gnu_stpncpy): New declaration.
60315         (stpncpy): Define as alias for gnu_stpncpy.
60316         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
60317
60318 2003-09-25  Simon Josefsson  <jas@extundo.com>
60319
60320         * lib/xgetdomainname.h: New file.
60321         * lib/xgetdomainname.c: New file.
60322
60323 2003-09-25  Simon Josefsson  <jas@extundo.com>
60324             Bruno Haible  <bruno@clisp.org>
60325
60326         * modules/getdomainname: New file.
60327         * modules/xgetdomainname: New file.
60328         * MODULES.html.sh (func_all_modules): Add getdomainname,
60329         xgetdomainname.
60330
60331 2003-09-25  Simon Josefsson  <jas@extundo.com>
60332             Bruno Haible  <bruno@clisp.org>
60333
60334         * m4/getdomainname.m4: New file.
60335
60336 2003-09-25  Simon Josefsson  <jas@extundo.com>
60337             Bruno Haible  <bruno@clisp.org>
60338
60339         * lib/getdomainname.h: New file.
60340         * lib/getdomainname.c: New file.
60341
60342 2003-09-25  Karl Berry  <karl@gnu.org>
60343
60344         * lib/argp-fmtstream.c, argp-help.c: update from libc.
60345
60346 2003-09-25  Karl Berry  <karl@gnu.org>
60347
60348         * config/install-sh: update from automake.
60349
60350 2003-09-25  Bruno Haible  <bruno@clisp.org>
60351
60352         * modules/version-etc-2: New file, from modules/version-etc with
60353         modifications.
60354         * MODULES.html.sh (func_all_modules): Add version-etc-2.
60355
60356 2003-09-25  Bruno Haible  <bruno@clisp.org>
60357
60358         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
60359         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
60360
60361 2003-09-24  Simon Josefsson  <jas@extundo.com>
60362
60363         * modules/xgethostname: Add xgethostname.h.
60364
60365 2003-09-24  Paul Eggert  <eggert@twinsun.com>
60366
60367         * lib/linebuffer.c (freebuffer): Don't free the argument, just
60368         the buffer associated with the argument.  Bug reported by
60369         Simon Josefsson.
60370
60371 2003-09-24  Paul Eggert  <eggert@twinsun.com>
60372
60373         * README: Document assumptions that 'int' is at least 32 bits
60374         wide, that integer arithmetic is 2's complement without overflow,
60375         that there are no holes in integer values, that adding sizes of
60376         two nonoverlapping objects can't overflow, and that all-bits-zero
60377         yields scalar zero.  Fix spelling and capitalization typos.
60378
60379 2003-09-19  Karl Berry  <karl@gnu.org>
60380
60381         * lib/argp.h: update from libc.
60382
60383 2003-09-17  Paul Eggert  <eggert@twinsun.com>
60384
60385         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
60386         to avoid spurious warnings like "AC_RUN_IFELSE was called before
60387         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
60388
60389 2003-09-17  Paul Eggert  <eggert@twinsun.com>
60390
60391         * gnulib-tool: Use "test -h", not "test -L", for portability
60392         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
60393         (tags_regexp): Remove, since \| doesn't conform to POSIX.
60394         (sed_extract_prog): Issue s commands one-by-one, rather than
60395         using \| in one s command.
60396
60397 2003-09-16  Paul Eggert  <eggert@twinsun.com>
60398
60399         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
60400         input error, instead of returning NULL the next time we are called
60401         (and therefore losing track of errno).
60402
60403 2003-09-16  Bruno Haible  <bruno@clisp.org>
60404
60405         * gnulib-tool (func_create_testdir): Warn about duplicated
60406         dependencies.
60407
60408 2003-09-15  Paul Eggert  <eggert@twinsun.com>
60409
60410         * modules/argmatch, modules/fatal, modules/obstack,
60411         modules/xalloc, modules/xgethostname: Sort dependencies by
60412         importance, not alphabetically.
60413
60414 2003-09-15  Paul Eggert  <eggert@twinsun.com>
60415
60416         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
60417         fails, so that the caller gets the proper errno.
60418
60419         * lib/readutmp.c (read_utmp): Likewise.
60420         Check for fstat error.  Close stream and free storage
60421         when failing.
60422
60423 2003-09-14  Karl Berry  <karl@gnu.org>
60424
60425         * config/srclist.txt (strdup.c): disable for c89 changes.
60426
60427 2003-09-14  Jim Meyering  <jim@meyering.net>
60428
60429         * lib/getloadavg.c: Correct cpp indentation.
60430         * lib/strdup.c: Likewise.
60431         * lib/vasnprintf.c: Likewise.
60432
60433 2003-09-14  Bruno Haible  <bruno@clisp.org>
60434
60435         * modules/fwriteerror: New file.
60436         * MODULES.html.sh (func_all_modules): Add fwriteerror.
60437
60438 2003-09-14  Bruno Haible  <bruno@clisp.org>
60439
60440         * lib/fwriteerror.h: New file.
60441         * lib/fwriteerror.c: New file.
60442
60443 2003-09-12  Paul Eggert  <eggert@twinsun.com>
60444
60445         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
60446         modules/xgethostname, modules/xalloc: Depend on exit.
60447
60448 2003-09-12  Paul Eggert  <eggert@twinsun.com>
60449
60450         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
60451
60452         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
60453         and AC_MINIX, too, so that their extensions are available.
60454
60455         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
60456         This macro has been superseded by gl_BACKUPFILE.
60457
60458         More patches to assume C89 or better.
60459
60460         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
60461
60462         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
60463         unconditionally.
60464         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
60465         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
60466         Include <string.h>, <stdlib.h> unconditionally.
60467         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
60468         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
60469         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
60470         headers or for string.h.
60471         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
60472         or strtoul.
60473
60474         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
60475         headers.
60476         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
60477         * m4/userspec.m4 (gl_USERSPEC): Likewise.
60478         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
60479         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
60480         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
60481         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
60482         memcpy, memset.
60483         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
60484         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
60485         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
60486         strtol.
60487         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
60488         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
60489         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
60490         strtoul.
60491
60492 2003-09-12  Paul Eggert  <eggert@twinsun.com>
60493
60494         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
60495         * lib/obstack.c [!defined _LIBC]: Likewise.
60496         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
60497         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
60498         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
60499
60500         More changes to assume C89 or better.
60501
60502         * lib/error.c (error_tail): Assume vprintf.
60503
60504         * lib/argmatch.c (getenv): Remove decl.
60505         * lib/progreloc.c (get_full_program_name): Define via prototype.
60506         * lib/setenv.c (clearenv): Likewise.
60507         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
60508         needed.
60509         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
60510         (malloc, memcpy): Remove decls.
60511         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
60512         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
60513         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
60514         (memcpy): Remove macro.
60515         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
60516         (__P): Remove.  All uses removed.
60517         (PTR): Remove.  All uses changed to void *.
60518         (CHAR_BIT, NULL): Remove.
60519         (spaces, zeros, memset_space, memset_zero)
60520         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
60521         Remove.
60522         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
60523         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
60524         Define with prototype.
60525         Remove now-unnecessary prototype decl.
60526         (extra_args_spec): Assume ANSI C.  All uses changed.
60527         (extra_args_spec_iso): Remove.
60528         (my_strftime, emacs_strftimeu): Define via prototype.
60529         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
60530         unconditionally.
60531         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
60532         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
60533         (strtoul, strtol): Remove decls.
60534         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
60535         LONG_MAX): Remove.
60536         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
60537         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
60538         (LOCALE_PARAM_PROTO): New macro.
60539         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
60540         (INTERNAL (strtol), strtol): Define with a prototype.
60541         (PARAMS): Remove.  All uses removed.
60542         * lib/tempname.c: Include <string.h> unconditionally.
60543         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
60544         * lib/xgethostname.c (main): Define with a prototype.
60545         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
60546         Include <stdlib.h> unconditionally.
60547         (calloc, malloc, realloc, free): Remove decls.
60548         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
60549         Include <stdlib.h> unconditionally.  Sort include file names.
60550         (strtod): Remove.
60551         (xstrtod): Define with a prototype.
60552         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
60553         (strtol, strtoul): Remove decls.
60554
60555 2003-09-11  Paul Eggert  <eggert@twinsun.com>
60556
60557         More patches to assume C89 or better.
60558         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
60559         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
60560         string.h, memchr, STDC_HEADERS.
60561
60562 2003-09-11  Paul Eggert  <eggert@twinsun.com>
60563
60564         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
60565         Include <stdlib.h>, <string.h> unconditionally.
60566         Remove now-unnecessary cast to char *.
60567         * lib/strnlen.c: Include <string.h> unconditionally.
60568         * lib/yesno.c (yesno): Define with a prototype.
60569
60570 2003-09-11  Bruno Haible  <bruno@clisp.org>
60571
60572         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
60573
60574 2003-09-10  Jim Meyering  <jim@meyering.net>
60575
60576         * lib/error.c: Correct indentation of cpp directives.
60577
60578 2003-09-10  Bruno Haible  <bruno@clisp.org>
60579
60580         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
60581         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
60582         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
60583         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
60584         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
60585         <stdlib.h> and <string.h> checks.
60586         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
60587         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
60588
60589 2003-09-10  Bruno Haible  <bruno@clisp.org>
60590
60591         * lib/strcspn.c: Include <string.h> unconditionally.
60592         * lib/strpbrk.c: Include <string.h> unconditionally.
60593         * lib/strstr.c: Include <string.h> unconditionally.
60594         * lib/unicodeio.c: Include <string.h> unconditionally.
60595         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
60596         * lib/unsetenv.c: Likewise.
60597         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
60598         * lib/yesno.c: Include <stdlib.h> unconditionally.
60599         (rpmatch): Add prototype.
60600
60601 2003-09-09  Paul Eggert  <eggert@twinsun.com>
60602
60603         More patches to assume C89 or better.
60604         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
60605         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
60606         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
60607         or for string.h.
60608         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
60609         stdlib.h.
60610         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
60611         C headers.
60612         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
60613         string.h.
60614         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
60615         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
60616         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
60617         or for string.h.
60618         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
60619         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
60620         C headers.
60621         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
60622         memcpy.
60623         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
60624         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
60625         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
60626         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
60627         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
60628         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
60629         string.h, free.
60630         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
60631         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
60632         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
60633         C headers, or for string.h.
60634         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
60635         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
60636         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
60637         headers, memory.h, stdlib.h, string.h, strings.h.
60638         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
60639         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
60640         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
60641         strchr.
60642         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
60643         headers, memory.h, string.h.
60644         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
60645         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
60646         free.
60647         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
60648         headers.
60649         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
60650         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
60651         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
60652         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
60653         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
60654
60655 2003-09-09  Paul Eggert  <eggert@twinsun.com>
60656
60657         More K&R removal.
60658
60659         * lib/acosl.c (main): Use a prototype.
60660         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
60661         tanl.c: Likewise.
60662
60663         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
60664
60665         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
60666         (getopt, etopt_long, getopt_long_only, _getopt_internal)
60667         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
60668         with a prototype.
60669         * lib/getopt.c (const): Remove macro.
60670         Include <string.h> unconditionally.
60671         (my_index): Remove; all uses changed to strchr.
60672         (strlen): Remove decl.
60673         (exchange): Remove forward decl; no longer needed.
60674         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
60675         Define with prototype.
60676         * lib/getopt1.c (const): Remove macro.
60677         (getopt_long, getopt_long_only, main): Define with prototype.
60678
60679         * lib/getugroups.c: Include <string.h> unconditionally.
60680
60681         * lib/getusershell.c: Include <stdlib.h> unconditionally.
60682         (getusershell, setusershell, endusershell, readname, main):
60683         Define with prototypes.
60684
60685         * lib/group-member.c: Include group-member.h first.
60686         Include <stdlib.h> unconditionally.
60687
60688         * lib/hard-locale.c: Include hard-locale.h first.
60689         Include <stdlib.h>, <string.h> unconditionally.
60690
60691         * lib/hash.c (free, malloc): Remove decls.
60692         Include <stdlib.h> unconditionally.
60693
60694         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
60695         (getenv): Do not declare.
60696
60697         * lib/idcache.c: Include <string.h> unconditionally.
60698
60699         * lib/long-options.c: Include long-options.h first, to test interface.
60700         Include <stdlib.h> unconditionally.
60701
60702         * lib/makepath.c: Include makepath.h first, to test interface.
60703         Include <stdlib.h> and <string.h> unconditionally.
60704
60705         * lib/linebuffer.c: Include <stdlib.h>.
60706         (free): Remove decl.
60707
60708         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
60709         stddef.h. rpl_malloc returns void *, not char *.
60710         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
60711         prototype.
60712
60713         * lib/md5.h: Include <limits.h> unconditionally.
60714         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
60715         (__P): Remove; all uses removed.
60716         * lib/md5.c: Include "md5.h" first.
60717         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
60718         md5_buffer, md5_process_bytes, md5_process_block):
60719         Define with prototypes.
60720         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
60721         * lib/sha.c: Include "sha.h" first.
60722         Include <stdlib.h>, <string.h> unconditionally.
60723
60724         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
60725         * lib/memcmp.c (__ptr_t): Likewise.
60726         * lib/memrchr.c (__ptr_t): Likewise.
60727         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
60728         Include <string.h> unconditionally.
60729         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
60730         * lib/memchr.c: Include <stdlib.h> unconditionally.
60731         * lib/memchr.c (LONG_MAX): Remove.
60732         * lib/memrchr.c (LONG_MAX): Likewise.
60733         * lib/memchr.c (__memchr): Define via a prototype.
60734         * lib/memrchr.c (__memrchr): Likewise.
60735         * lib/memcmp.c (__P): Remove, and remove all uses.
60736         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
60737         Remove forward decls; no longer needed.
60738         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
60739         Use types required by C89 in prototype.
60740
60741         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
60742         * lib/savedir.c: Likewise.
60743         * lib/mkdir.c (free): Remove decl.
60744         * lib/rmdir.c (rmdir): Define with a prototype.
60745         * lib/savedir.c: Include savedir.h first, to test interface.
60746
60747         * lib/mktime.c (STDC_HEADERS): Remove.
60748         Include <stdlib.h>, <string.h> unconditionally.
60749
60750         * lib/modechange.c: Include <stdlib.h> unconditionally.
60751         (malloc): Remove decl.
60752
60753         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
60754         (free): Remove decl.
60755
60756         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
60757         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
60758         (This type really should be intptr_t, but that's a C99ism.)
60759         (_obstack_memcpy): Remove: all uses changed to memcpy.
60760         Include <string.h> unconditionally.
60761         (struct obstack): Assume __STDC__ for types of members
60762         chunkfun, freefun, extra_arg.
60763         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
60764         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
60765         obstack_begin, obstack_specify_allocation,
60766         obstack_specify_allocation_with_arg, obstack_chunkfun,
60767         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
60768         Remove unprototyped decls and the macros that use them.
60769         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
60770         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
60771         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
60772         (defined __STDC__ && __STDC__)]:
60773         Remove nonprototyped code.
60774         Include <stdlib.h> unconditionally.
60775         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
60776         _obstack_allocated_p, _obstack_free, obstack_free,
60777         _obstack_memory_used, print_and_abort):
60778         Define using prototypes.
60779         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
60780         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
60781         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
60782         obstack_next_free, obstack_object_size, obstack_room) [0]:
60783         Remove unused, unprototyped code.
60784
60785         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
60786
60787         * lib/physmem.c (physmem_total, physmem_available, main): Define
60788         with prototypes.
60789
60790         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
60791         (main): Define with a prototype.
60792
60793         * lib/posixver.c (getenv): Remove decl.
60794
60795         * lib/putenv.c (malloc): Returns void *, not char *.
60796         Include <string.h> unconditionally.
60797         (strchr, memcpy, NULL): Do not define.
60798
60799         * lib/readtokens.c: Include readtokens.h first, to test interface.
60800         Include <stdlib.h>, <string.h> unconditionally.
60801         (init_tokenbuffer): Define with a prototype.
60802
60803         * lib/regex.c (PARAMS): Remove.  All uses removed.
60804         All uses of _RE_ARGS removed, too.
60805         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
60806         unconditionally.
60807         (bzero): Assume memset exists.
60808         (memcmp, memcpy, NULL): Remove.
60809         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
60810         char, or assignments to local vars of type signed char.
60811         (init_syntax_once, PREFIX(extract_number_and_incr),
60812         PREFIX(print_partial_compiled_pattern),
60813         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
60814         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
60815         PREFIX(regex_grow_registers), PREFIX(regex_compile),
60816         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
60817         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
60818         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
60819         wcs_compile_range, byte_compile_range, truncate_wchar,
60820         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
60821         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
60822         count_mbs_length, wcs_re_match_2_internal,
60823         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
60824         PREFIX(alt_match_null_string_p),
60825         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
60826         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
60827         regfree, PREFIX(extract_number)): Define with prototype.  Remove
60828         now-unnecessary declaration, if any.
60829         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
60830         regcomp, regexec):
60831         Remove now-unnecessary casts among pointer types.
60832         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
60833
60834         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
60835         (free): Remove decl.
60836
60837         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
60838
60839         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
60840         (free): Remove decl.
60841
60842         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
60843         * lib/xgetcwd.c: Likewise.
60844
60845         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
60846         (free): Remove decl.
60847
60848         * lib/strchrnul.c (strchrnul): Define with a prototype.
60849         Fix bug: c_in was not converted to char before searching.
60850
60851         The following changes are not K&R related:
60852
60853         * lib/group-member.h: Include <sys/types.h>, so that this file is
60854         self-contained.
60855         * lib/makepath.h: Likewise.
60856
60857         * lib/getusershell.c (readname, default_index, line_size, readname):
60858         Use size_t, not int, for sizes.
60859         (readname): If the size overflows, report an error instead of
60860         looping forever.
60861
60862 2003-09-09  Paul Eggert  <eggert@twinsun.com>
60863
60864         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
60865         libc.
60866
60867 2003-09-09  Paul Eggert  <eggert@twinsun.com>
60868
60869         * README: New section: portability guidelines.
60870
60871 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
60872
60873         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
60874         C89 spec.
60875
60876 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
60877
60878         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
60879
60880 2003-09-08  Paul Eggert  <eggert@twinsun.com>
60881
60882         Assume C89 or better; remove K&R cruft.
60883         A few of these changes were first proposed by Derek Robert Price
60884         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
60885
60886         * lib/addext.c: Include <string.h> unconditionally.
60887         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
60888         Don't declare getenv or malloc.
60889
60890         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
60891         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
60892         (NULL): Remove.
60893         (find_stack_direction, alloca): Use prototypes.
60894
60895         * lib/atexit.c (atexit): Define using a prototype.
60896
60897         * lib/basename.c, dirname.c, stripslash.c:
60898         Include <string.h> unconditionally.
60899
60900         * lib/bcopy.c: Include <stddef.h>.
60901         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
60902
60903         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
60904
60905         * lib/error.h (error, error_at_line, error_print_progname)
60906         [! (defined (__STDC__) && __STDC__)]: Remove decls.
60907         * lib/error.c: Include error.h first, to check interface.
60908         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
60909         (VA_START): Remove; all uses changeed to va_start.
60910         (exit, strerror): Remove decls.
60911         (error_print_progname): Prototype uncondionally.
60912         Don't include <errno.h>; no longer needed.
60913         (private_strerror): Remove.
60914         (error_tail): Always define.
60915         (error, error_at_line): Assume C89 or better; always use prototypes.
60916         * lib/fatal.c: Include "fatal.h" first, to test interface.
60917         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
60918         (VA_START): Remove; all uses changed to va_start.
60919         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
60920         this case.
60921         (exit): Remove decl.
60922         (fatal): Prototype unconditionally.  Assume va_start works.
60923         Abort at end, to pacify gcc.
60924
60925         * lib/euidaccess.c (main): Define with a prototype.
60926
60927         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
60928
60929         * lib/exitfail.c: Include <stdlib.h> unconditionally.
60930
60931         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
60932         prototypes.
60933         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
60934         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
60935         (getenv): Remove decl.
60936         (fnmatch): Define using a prototype.
60937         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
60938         (FCT): Define using a prototype.
60939
60940         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
60941
60942         * lib/gethostname.c: Include <stddef.h>.
60943         (gethostname): Define with prototype.  Length is size_t, not int.
60944
60945 2003-09-08  Paul Eggert  <eggert@twinsun.com>
60946
60947         Assume C89 or better; remove K&R cruft.
60948         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
60949         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
60950         string.h, getenv, malloc.
60951         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
60952         headers.
60953         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
60954         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
60955         do not check for strerror.
60956         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
60957         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
60958         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
60959         do not check for doprnt or vprintf.
60960         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
60961         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
60962
60963 2003-09-08  Paul Eggert  <eggert@twinsun.com>
60964
60965         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
60966         getversion.c should have been removed then, but was accidentally
60967         preserved.
60968
60969         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
60970         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
60971
60972 2003-09-08  Karl Berry  <karl@gnu.org>
60973
60974         * config/config.sub, config.guess, srclistvars.sh: update from savannah
60975                 config, forget about prep.
60976
60977         * config/depcomp, missing: update from automake.
60978
60979 2003-09-07  Paul Eggert  <eggert@twinsun.com>
60980
60981         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
60982         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
60983
60984 2003-09-07  Paul Eggert  <eggert@twinsun.com>
60985
60986         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
60987         copy_tm_result.  Bug reported by Simon Josefsson in
60988         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
60989
60990 2003-09-06  Paul Eggert  <eggert@twinsun.com>
60991
60992         * m4/time_r.m4: New file.
60993         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
60994         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
60995         is. Check for timegm declaration.
60996         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
60997         Do not check for gmtime_r.
60998         Replace mktime if __mktime_internal does not exist and if mktime
60999         hasn't been replaced already.
61000
61001 2003-09-06  Paul Eggert  <eggert@twinsun.com>
61002
61003         * lib/time_r.c, lib/time_r.h: New files.
61004
61005         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
61006         __localtime_r.
61007         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
61008         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
61009
61010         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
61011         __gmtime_r.
61012         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
61013         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
61014         Include <time_r.h>.
61015
61016         * lib/timegm.c: Switch to glibc implementation, with the following
61017         changes:
61018         [defined HAVE_CONFIG_H]: Include <config.h>.
61019         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
61020         (__mktime_internal) [!defined _LIBC]: New decl.
61021         (__gmtime_r) [!defined _LIBC]: New macro and function.
61022         (timegm): Use a prototype, since gnulib assumes C89.
61023         Do not bother declaring tmp to be const, as it's not really usefu.
61024         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
61025         (timegm): Declare only if HAVE_DECL_TIMEGM.
61026
61027 2003-09-06  Paul Eggert  <eggert@twinsun.com>
61028
61029         * MODULES.html.sh (func_all_modules): Add time_r.
61030         * modules/time_r: New file.
61031         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
61032         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
61033
61034 2003-09-03  Paul Eggert  <eggert@twinsun.com>
61035
61036         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
61037         Bug reported by Lute Kamstra in
61038         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
61039
61040         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
61041         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
61042         course with correspondingly smaller numbers for tomorrow and
61043         yesterday.  From Tadayoshi Funaba.  Originally installed into
61044         sh-utils on 1999-08-07, but the patch got lost (I guess during the
61045         coreutils merge?).
61046
61047 2003-08-31  Simon Josefsson  <jas@extundo.com>
61048
61049         * modules/timegm: New file.
61050         * MODULES.html.sh (func_all_modules): Add timegm.
61051
61052 2003-08-31  Simon Josefsson  <jas@extundo.com>
61053
61054         * m4/timegm.m4: New file.
61055
61056 2003-08-31  Simon Josefsson  <jas@extundo.com>
61057
61058         * lib/timegm.h: New file.
61059         * lib/timegm.c: New file.  Based on
61060         wget-1.8.2/src/http.c:mktime_from_utc.
61061
61062 2003-08-31  Karl Berry  <karl@gnu.org>
61063
61064         * lib/argp.h: update from libc.
61065
61066 2003-08-28  Bruno Haible  <bruno@clisp.org>
61067
61068         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
61069         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
61070         followed by '#define fnmatch fnmatch_posix' gives an error.
61071
61072 2003-08-28  Bruno Haible  <bruno@clisp.org>
61073
61074         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
61075         warning on QNX, which defines O_BINARY to 000000.
61076
61077 2003-08-27  Jim Meyering  <jim@meyering.net>
61078
61079         * m4/mkstemp.m4: Require that the system mkstemp be able to create
61080         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
61081         would fail after 32.  Reported by Danny Levinson.  Details here:
61082         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
61083
61084 2003-08-24  Bruno Haible  <bruno@clisp.org>
61085
61086         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
61087         MSVC7 <stdio.h> is included later.
61088
61089 2003-08-22  Simon Josefsson  <jas@extundo.com>
61090
61091         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
61092
61093 2003-08-20  Karl Berry  <karl@gnu.org>
61094
61095         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
61096
61097 2003-08-20  Bruno Haible  <bruno@clisp.org>
61098
61099         * modules/progname: New file.
61100         * MODULES.html.sh (func_all_modules): Add progname.
61101
61102 2003-08-20  Bruno Haible  <bruno@clisp.org>
61103
61104         * lib/progname.h: New file, from GNU gettext.
61105         * lib/progname.c: New file, from GNU gettext.
61106         * lib/progreloc.c: New file, from GNU gettext.
61107
61108 2003-08-19  Jim Meyering  <jim@meyering.net>
61109
61110         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
61111         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
61112
61113 2003-08-19  Bruno Haible  <bruno@clisp.org>
61114
61115         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
61116         more.
61117
61118 2003-08-19  Bruno Haible  <bruno@clisp.org>
61119
61120         * lib/xstrdup.c: Assume <string.h> exists.
61121
61122 2003-08-18  Paul Eggert  <eggert@twinsun.com>
61123
61124         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
61125         in makefile rules.
61126
61127 2003-08-18  Jim Meyering  <jim@meyering.net>
61128
61129         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
61130         * m4/lib-ld.m4: Likewise.
61131
61132 2003-08-18  Jim Meyering  <jim@meyering.net>
61133
61134         * lib/setenv.h: Indent nested cpp directive.
61135         * lib/vasnprintf.c: Remove trailing blanks.
61136
61137 2003-08-17  Simon Josefsson  <jas@extundo.com>
61138
61139         * modules/xstrndup: New file.
61140         * MODULES.html.sh (func_all_modules): Add xstrndup.
61141
61142 2003-08-17  Simon Josefsson  <jas@extundo.com>
61143
61144         * modules/argp: Fix autoconf macro name. Add more dependencies.
61145
61146 2003-08-17  Simon Josefsson  <jas@extundo.com>
61147
61148         * m4/xstrndup.m4: New file.
61149
61150 2003-08-17  Simon Josefsson  <jas@extundo.com>
61151
61152         * m4/argp.m4: New file.
61153
61154 2003-08-17  Simon Josefsson  <jas@extundo.com>
61155             Bruno Haible  <bruno@clisp.org>
61156
61157         * lib/xstrndup.h: New file.
61158         * lib/xstrndup.c: New file.
61159
61160 2003-08-17  Bruno Haible  <bruno@clisp.org>
61161
61162         * modules/strndup (Files, Include): Add lib/strndup.h.
61163
61164 2003-08-17  Bruno Haible  <bruno@clisp.org>
61165
61166         * modules/euidaccess (Files): Add lib/euidaccess.h.
61167
61168 2003-08-17  Bruno Haible  <bruno@clisp.org>
61169
61170         * lib/strndup.h: New file.
61171
61172 2003-08-17  Bruno Haible  <bruno@clisp.org>
61173
61174         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
61175         like AC_GNU_SOURCE.
61176         * modules/extensions (configure.ac): Comment out the invocation of
61177         gl_USE_SYSTEM_EXTENSIONS.
61178
61179 2003-08-16  Paul Eggert  <eggert@twinsun.com>
61180
61181         Merges from coreutils, etc.
61182         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
61183         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
61184         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
61185         fixing a typo.
61186         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
61187         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
61188
61189 2003-08-16  Paul Eggert  <eggert@twinsun.com>
61190
61191         Document merge from coreutils.
61192         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
61193         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
61194         * modules/utime: Add m4/utimes-null.m4.
61195
61196 2003-08-16  Paul Eggert  <eggert@twinsun.com>
61197
61198         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
61199         space, undoing this 2003-08-12 change:
61200         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
61201
61202 2003-08-16  Paul Eggert  <eggert@twinsun.com>
61203
61204         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
61205         strtoul.c from libc, undoing this 2003-08-12 change:
61206         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
61207
61208 2003-08-16  Jim Meyering  <jim@meyering.net>
61209
61210         Merges from coreutils.
61211         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
61212         prefix.  Adjust cache variables similarly.  Create 500 rather than
61213         just 300 files, to exercise bug on Darwin6.5, too.
61214         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
61215         $missing_dir.
61216         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
61217         AM_SYS_POSIX_TERMIOS.
61218         Reported by mkc@mathdogs.com.
61219         Also change use of $am_cv_sys_posix_termios
61220         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
61221         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
61222         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
61223         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
61224         in /proc/mounts until it finds one with matching device number.  This
61225         is unnecessary when the FILE argument *is* a mount point.  No stat call
61226         is necessary in that case.  So, disable the statvfs-testing code on
61227         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
61228         as RedHat bug# 84846.
61229         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
61230         to 1MB, so as not to render systems with no stack size limit (e.g.,
61231         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
61232         Include <unistd.h>.  On some systems,
61233         it is required for the definition of _SC_PAGESIZE.
61234
61235 2003-08-16  Jim Meyering  <jim@meyering.net>
61236
61237         Merge from coreutils.
61238         * lib/xstrtoimax.c: #else #if -> #elif.
61239         * lib/xstrtoumax.c: Likewise.
61240
61241 2003-08-16  Jim Meyering  <jim@meyering.net>
61242
61243         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
61244         * m4/utimes.m4: Removed.
61245         * m4/utimes-null.m4: Renamed from utimes.m4.
61246
61247         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
61248         to 1MB, so as not to render systems with no stack size limit (e.g.,
61249         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
61250         Include <unistd.h>.  On some systems,
61251         it is required for the definition of _SC_PAGESIZE.
61252
61253 2003-08-16  Jim Meyering  <jim@meyering.net>
61254         and Paul Eggert  <eggert@cs.ucla.edu>
61255
61256         Merges from coreutils, etc.
61257
61258         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
61259         using the latest version from cvs.  This avoids problems with #line
61260         directives using a vendor (Sun) compiler.
61261         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
61262         Don't set GETGROUPS_LIB here; now it's
61263         done via getgroups.m4's wrapper function.
61264         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
61265         rather than just in sh-util/configure.in, so that the
61266         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
61267         same.
61268         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
61269         AC_FUNC_GETLOADAVG where to find getloadavg.c.
61270         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
61271         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
61272         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
61273         Remove code that is now done by the newly-required macros.
61274         Append $(EXEEXT) to DF_PROG.
61275         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
61276         Do not invoke or require the following here,
61277         since prereq.m4 or some gnulib .m4 now does this for us:
61278         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
61279         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
61280         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
61281         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
61282         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
61283         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
61284         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
61285         AC_FUNC_OBSTACK.
61286         Do not replace the following functions, as this is now the job
61287         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
61288         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
61289         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
61290         atexit getpass, strdup, getpagesize.
61291         Replace 'raise'.
61292         Do not check for the following functions, as this is now the job
61293         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
61294         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
61295         setregid.
61296         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
61297         Check for sys/sysctl.h.
61298         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
61299         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
61300         of checking for ssize_t ourselves.
61301
61302         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
61303         Require every macro that gnulib/modules/* suggests for us.
61304         (jm_PREREQ_ADDEXT): New macro.
61305         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
61306         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
61307
61308         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
61309         (gl_PHYSMEM): Use it.
61310         Also check for `table' function.
61311         Check for new headers and functions.
61312         Add check for sys/sysmp.h.
61313         With suggestions from Kaveh Ghazi.
61314         Ignore headers that are present but cannot be compiled.  This
61315         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
61316         C 5.4.
61317
61318 2003-08-15  Paul Eggert  <eggert@twinsun.com>
61319
61320         Document merge from coreutils.
61321         * modules/userspec: Depend on posixver.
61322         * modules/strftime: Depend on tzset.
61323
61324 2003-08-15  Paul Eggert  <eggert@twinsun.com>
61325
61326         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
61327         rather than tab, after '#' in shell-script copyright notices.
61328         Suggested by Bruno Haible.
61329
61330 2003-08-15  Paul Eggert  <eggert@twinsun.com>
61331
61332         * config/srclist-update: Use three spaces, rather than tab, after '#'
61333         in shell-script copyright notices.  Suggested by Bruno Haible.
61334         Remove unnecessary parenthesization in regular expression.
61335
61336 2003-08-15  Jim Meyering  <jim@meyering.net>
61337
61338         Merge from coreutils.
61339         * lib/xgethostname.c: Include <stdlib.h>.
61340         (xghostname): Don't exit for anything other than memory-related
61341         failure; just return NULL.
61342         * lib/userspec.c: Include "posixver.h".
61343         (parse_user_spec): Accept `.' as a separator only
61344         in pre-POSIX-200112 mode.
61345         * lib/strtoimax.c: Use #elif rather than #else #if.
61346         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
61347         Remove function, now that we can rely on a working tzset function.
61348         [!_LIBC]: Ensure that the required autoconf test has been run.
61349         [!defined _NL_CURRENT && HAVE_STRFTIME]:
61350         Use underlying_strftime for %r.
61351         * lib/sha.c: Merge in some clean-up and optimization changes from
61352         glibc.
61353         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
61354         Ensure that it is a multiple of 64.
61355         Rearrange loop exit tests so as to avoid performing an
61356         additional fread after encountering an error or EOF.
61357         * lib/realloc.c: Update copyright date.
61358
61359 2003-08-15  Jim Meyering  <jim@meyering.net>
61360         and Paul Eggert  <eggert@twinsun.com>
61361
61362         Merge from coreutils.
61363         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
61364         member but strut utmpx does not.  Needed for AIX 4.3.3.
61365         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
61366
61367 2003-08-15  Jim Meyering  <jim@meyering.net>
61368         and Paul Eggert  <eggert@cs.ucla.edu>
61369
61370         Merges from coreutils, etc.
61371         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
61372         Require gl_FUNC_TZSET_CLOBBER.
61373         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
61374         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
61375         members.
61376
61377 2003-08-14  Paul Eggert  <eggert@twinsun.com>
61378
61379         Help the merge from coreutils.
61380         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
61381         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
61382         * m4/tzset.m4: Use it too.
61383
61384 2003-08-14  Paul Eggert  <eggert@twinsun.com>
61385
61386         * modules/tzset: New file.
61387
61388 2003-08-14  Jim Meyering  <jim@meyering.net>
61389
61390         Merges from coreutils.
61391         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
61392         variable names, rather than @FNMATCH_H@.
61393         * modules/alloca: Likewise for $(ALLOCA_H).
61394
61395         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
61396         the three copies of the literal target, `fnmatch.h'.
61397         * modules/alloca (alloca.h): Likewise.
61398
61399 2003-08-14  Jim Meyering  <jim@meyering.net>
61400
61401         Merge from coreutils.
61402         * m4/tzset.m4: New file.
61403         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
61404         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
61405         otherwise, AIX 5.1 systems would end up using the latter.
61406         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
61407         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
61408         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
61409         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
61410
61411 2003-08-14  Jim Meyering  <jim@meyering.net>
61412
61413         Merge from coreutils.
61414         * lib/obstack.h: Whitespace changes.
61415         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
61416         and xcalloc return values.
61417         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
61418         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
61419         hang on OSF/1 5.1 for DIR on both local and remote file systems.
61420         Reported by (and fix confirmed by) Nelson H. F. Beebe.
61421         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
61422         error from mntctl.
61423         Use mntctl's return value to drive the entry-processing loop, since
61424         we can't rely on the value of the vmt_length member in the last
61425         entry.  On some systems doing so could result in exhausting
61426         virtual memory.  Based in part on a patch from Mike Jetzer.
61427
61428 2003-08-14  Jim Meyering  <jim@meyering.net>
61429         and Paul Eggert  <eggert@twinsun.com>
61430
61431         Merges from coreutils, plus other fixes.
61432         * lib/physmem.c: Merge in portability changes from gcc/libiberty
61433         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
61434         for credits and details.  Thanks to Kaveh Ghazi for helping
61435         to keep these files in sync.
61436         (ARRAY_SIZE): Define it.
61437         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
61438         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
61439         (memcasecmp): Don't assume size_t fits in unsigned int.
61440         Remove casts and duplicate code.
61441         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
61442         (memcpy): Remove definition.
61443         Merge in some clean-up and optimization changes from glibc.
61444         [BLOCKSIZE]: Move definition to top of file.
61445         Ensure that it is a multiple of 64.
61446         Rearrange loop exit tests so as to avoid performing an
61447         additional fread after encountering an error or EOF.
61448         * lib/md5.h (md5_uintptr): Define.
61449         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
61450         return to the initial working directory.  Preserve errno
61451         for caller.
61452         * lib/idcache.c: Include "xalloc.h".
61453         (xmalloc, xrealloc): Remove decls.
61454         (getuser): Remove casts no longer required in C89.
61455         * lib/human.c: Include stdio.h, for sprintf.
61456         * lib/group-member.c: Include "xalloc.h".
61457         (xmalloc, xrealloc): Remove decls.
61458         (get_group_info): Remove casts no longer required in C89.
61459         * lib/getusershell.c (readname): Remove casts no longer required in
61460         C89.
61461         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
61462         * lib/getline.c: Whitespace fix, from coreutils.
61463
61464 2003-08-13  Paul Eggert  <eggert@twinsun.com>
61465
61466         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
61467         Check for isascii.
61468
61469         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
61470         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
61471         Undo previous (whitespace-only) change.
61472
61473 2003-08-13  Paul Eggert  <eggert@twinsun.com>
61474
61475         * lib/exclude.c: Include <ctype.h>
61476         (IN_CTYPE_DOMAIN): New macro.
61477         (is_space): New fn.
61478         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
61479         and empty lines.
61480
61481         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
61482         Undo previous (whitespace-only) change.
61483
61484 2003-08-13  Paul Eggert  <eggert@twinsun.com>
61485
61486         * config/srclist-update: Change update back to the old behavior,
61487         leaving whitespace alone.  Use one 'sed' command rather than a
61488         pipeline.
61489         (fixlicense): Now a variable, not a function.
61490         (remove_trailing_blanks): Remove.
61491         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
61492         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
61493         Undo previous (whitespace-only) change.
61494
61495 2003-08-12  Paul Eggert  <eggert@twinsun.com>
61496
61497         Merge from coreutils.
61498         * modules/euidaccess: Add lib_SOURCES, include for new
61499         file euidaccess.h
61500
61501 2003-08-12  Paul Eggert  <eggert@twinsun.com>
61502
61503         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
61504         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
61505         Normalize leading white space and remove trailing white space.
61506
61507         Merge from coreutils
61508         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
61509
61510         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
61511         0.12.1.  These files are now being upgraded automatically by
61512         ../config/srclist-update.
61513
61514 2003-08-12  Paul Eggert  <eggert@twinsun.com>
61515
61516         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
61517         Normalize leading white space and remove trailing white space.
61518         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
61519         notice, as per ../config/srclist-update.
61520
61521         Merge from coreutils.
61522         * lib/euidaccess.h: New file.
61523         * lib/euidaccess.c: Include it.
61524         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
61525         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
61526         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
61527
61528 2003-08-12  Paul Eggert  <eggert@twinsun.com>
61529
61530         * config/srclist-update: Add copyright notice.
61531         (remove_id_lines, remove_trailing_blanks): New constants.
61532         (fixfile): Use them to normalize spacing a bit in copied files.
61533         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
61534         Normalize leading white space and remove trailing white space.
61535
61536         * config/texinfo.tex: Sync with texinfo.
61537
61538         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
61539         strtoul.c from libc, to merge coreutils whitespace changes.
61540
61541         * config/srclist.txt: Get the following m4 files from gettext:
61542         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
61543         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
61544         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
61545         wint_t.m4.
61546
61547 2003-08-12  Karl Berry  <karl@gnu.org>
61548
61549         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
61550         been made.
61551
61552 2003-08-11  Paul Eggert  <eggert@twinsun.com>
61553
61554         * modules/gnu-source, m4/gnu-source.m4:
61555         Remove; we're assuming Autoconf 2.54 or later now.
61556         Suggested by Bruno Haible.
61557         * MODULES.html.sh (func_all_modules): Remove gnu-source.
61558
61559 2003-08-11  Bruno Haible  <bruno@clisp.org>
61560
61561         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
61562
61563 2003-08-11  Bruno Haible  <bruno@clisp.org>
61564
61565         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
61566         (vasnprintf): Use it instead of wcslen.
61567
61568 2003-08-11  Bruno Haible  <bruno@clisp.org>
61569
61570         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
61571         value to ensure that _Bool promotes to int. Use #define for _Bool when
61572         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
61573
61574 2003-08-10  Karl Berry  <karl@gnu.org>
61575
61576         * lib/regex.h: update from libc (whitespace fix).
61577
61578 2003-08-09  Paul Eggert  <eggert@twinsun.com>
61579
61580         Merge some files from coreutils.  These changes were
61581         originally made by Jim Meyering.
61582         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
61583         many older Unixes require this.
61584         * lib/alloca.c (alloca): Remove cast to argument of free;
61585         no longer needed in C89.
61586         * lib/alloca_.h, regex.h: Fix white space to match
61587         what GNU indent does.
61588
61589 2003-08-09  Paul Eggert  <eggert@twinsun.com>
61590
61591         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
61592         apparently Emacs's Unicode mode got confused before my 2003-08-05
61593         checkin.
61594
61595 2003-08-08  Paul Eggert  <eggert@twinsun.com>
61596
61597         * m4/extensions.m4: New file.
61598         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
61599         Require gl_USE_SYSTEM_EXTENSIONS.
61600         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
61601         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
61602
61603 2003-08-08  Paul Eggert  <eggert@twinsun.com>
61604
61605         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
61606         * modules/extensions, modules/gnu-source: New files.
61607         * modules/timespec, modules/unlocked-io: Depend on extensions.
61608
61609 2003-08-07  Paul Eggert  <eggert@twinsun.com>
61610
61611         * modules/restrict: New file.
61612         * MODULES.html.sh (func_all_modules): Add restrict.
61613         * modules/regex: Depend on restrict.
61614
61615 2003-08-07  Paul Eggert  <eggert@twinsun.com>
61616
61617         * m4/restrict.m4: New file.
61618         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
61619
61620 2003-08-07  Bruno Haible  <bruno@clisp.org>
61621
61622         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
61623         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
61624
61625 2003-08-07  Bruno Haible  <bruno@clisp.org>
61626
61627         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
61628         makes the module 'getndelim2' compatible with the module 'getline'.
61629
61630 2003-08-05  Paul Eggert  <eggert@twinsun.com>
61631
61632         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
61633         byte with "\201" to avoid glitches when editing that source file
61634         with multi-gnome-terminal.
61635
61636 2003-08-05  Paul Eggert  <eggert@twinsun.com>
61637
61638         * lib/bumpalloc.h: Remove.
61639
61640 2003-08-05  Paul Eggert  <eggert@twinsun.com>
61641
61642         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
61643         * modules/bumpalloc: Remove.
61644
61645 2003-08-04  Paul Eggert  <eggert@twinsun.com>
61646
61647         * lib/getloadavg.c: Change copyright notice and spacing to conform to
61648         GNU coding style.
61649
61650         Merge from coreutils.
61651         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
61652         1. From glibc.
61653         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
61654         from Karl Berry, implemented by Jim Meyering.
61655         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
61656         from Dmitry V. Levin.
61657         Remove anachronistic cast of xrealloc.
61658         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
61659         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
61660         type. Otherwise, it wouldn't compile with at least /bin/cc on
61661         ymp-cray-unicos9.0.2.X.
61662         Combine two mostly-identical uses of alloca into one.
61663         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
61664
61665 2003-08-04  Dave Love  <d.love@dl.ac.uk>
61666
61667         [From Emacs.]
61668
61669         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
61670         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
61671         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
61672         obsolete NLIST_NAME_UNION.
61673         [__GNU__]: Undef BSD and FSCALE.
61674         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
61675
61676 2003-08-03  Paul Eggert  <eggert@twinsun.com>
61677
61678         * lib/stdbool_.h (_Bool): Make it signed char, instead of
61679         an enum type, so that it's guaranteed to promote to int.  See:
61680         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
61681
61682 2003-08-03  Karl Berry  <karl@gnu.org>
61683
61684         * config/depcomp: update from automake.
61685
61686 2003-07-31  Paul Eggert  <eggert@twinsun.com>
61687
61688         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
61689         (strerror): Don't assume that a printable int fits in 14 bytes.
61690
61691 2003-07-31  Bruno Haible  <bruno@clisp.org>
61692
61693         * modules/getpass-gnu: New file.
61694         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
61695
61696 2003-07-31  Bruno Haible  <bruno@clisp.org>
61697
61698         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
61699
61700 2003-07-24  Karl Berry  <karl@gnu.org>
61701
61702         * config/missing: update from automake.
61703
61704 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
61705             Bruno Haible  <bruno@clisp.org>
61706
61707         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
61708         * lib/getline.c (getline, getdelim): Likewise.
61709         Remove _GNU_SOURCE define; now it's defined in config.h through
61710         m4/getline.m4.
61711
61712 2003-07-23  Karl Berry  <karl@gnu.org>
61713
61714         * config/config.sub: update from prep.
61715
61716 2003-07-22  Paul Eggert  <eggert@twinsun.com>
61717
61718         * modules/xalloc (Depends-on): Add exitfail.
61719         * modules/xmemcoll: Likewise.
61720
61721 2003-07-22  Paul Eggert  <eggert@twinsun.com>
61722
61723         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
61724         over-parenthesization in macros.
61725
61726         Sync with coreutils.
61727
61728         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
61729         required by C99.
61730
61731         Use `exit_failure' for xalloc and xmemcoll instead of their own
61732         private exit-failure variables.
61733         * lib/xalloc.h (xalloc_exit_failure): Remove.
61734         * lib/xmalloc.c: Likewise.  Include exitfail.h.
61735         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
61736         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
61737         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
61738         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
61739
61740 2003-07-20  Jim Meyering  <jim@meyering.net>
61741
61742         * modules/closeout (Depends-on): Add exitfail.
61743         Suggestion from Bruno Haible.
61744
61745 2003-07-19  Karl Berry  <karl@gnu.org>
61746
61747         * config/config.sub: update from prep.
61748
61749 2003-07-18  Paul Eggert  <eggert@twinsun.com>
61750
61751         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
61752         Remove.
61753         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
61754         to test that it can stand by itself.  Include "exitfail.h".
61755         Clients should set exit_failure instead.
61756         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
61757
61758 2003-07-18  Bruno Haible  <bruno@clisp.org>
61759
61760         * modules/getndelim2: New file.
61761         * modules/getline: Share files with module getndelim2.
61762         * modules/getnline: Depend on getndelim2 instead of sharing files with
61763         it. Add getnline.c to lib_SOURCES.
61764         * MODULES.html.sh (func_all_modules): Add getndelim2.
61765
61766 2003-07-18  Bruno Haible  <bruno@clisp.org>
61767
61768         * m4/getndelim2.m4: New file.
61769         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
61770         invoke gl_PREREQ_GETNDELIM2.
61771         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
61772         gl_PREREQ_GETNDELIM2.
61773         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
61774         gl_GETNDELIM2.
61775
61776 2003-07-18  Bruno Haible  <bruno@clisp.org>
61777
61778         * lib/getndelim2.h: New file.
61779         * lib/getndelim2.c: Make into a module of its own. Include config.h,
61780         getndelim2.h.
61781         (getndelim2): Make non-static. Change return type to ssize_t.
61782         * lib/getline.h: Change argument names.
61783         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
61784         * lib/getnline.c: Include getndelim2.h.
61785
61786 2003-07-18  Andreas Schwab  <schwab@suse.de>
61787
61788         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
61789
61790 2003-07-17  Karl Berry  <karl@gnu.org>
61791
61792         * config/config.sub: update from prep.
61793
61794 2003-07-17  Bruno Haible  <bruno@clisp.org>
61795
61796         * modules/getnline: New file.
61797         * modules/getline: Add lib/getndelim2.c to source file list.
61798         * MODULES.html.sh (func_all_modules): Add getnline.
61799
61800 2003-07-17  Bruno Haible  <bruno@clisp.org>
61801
61802         * m4/getnline.m4: New file.
61803
61804 2003-07-17  Bruno Haible  <bruno@clisp.org>
61805
61806         * m4/Makefile.am.in: Remove file.
61807         * m4/Makefile.am: Remove file.
61808         * m4/Makefile.in: Remove file.
61809
61810 2003-07-17  Bruno Haible  <bruno@clisp.org>
61811
61812         * lib/getnline.h: New file.
61813         * lib/getnline.c: New file.
61814         * lib/getndelim2.c: New file, extracted from getline.c.
61815         (getndelim2): Renamed from getdelim2, with added nmax argument.
61816         * lib/getline.c: Include getndelim2.c.
61817         (getdelim2): Moved out to getndelim2.c.
61818         (getline, getdelim): Update.
61819
61820 2003-07-17  Bruno Haible  <bruno@clisp.org>
61821
61822         * lib/Makefile.am: Remove file.
61823         * lib/Makefile.in: Remove file.
61824
61825 2003-07-17  Bruno Haible  <bruno@clisp.org>
61826
61827         * configure.in: Remove file.
61828         * Makefile.in: Remove file.
61829
61830 2003-07-17  Bruno Haible  <bruno@clisp.org>
61831
61832         * MODULES.html.sh: Put the </BODY> right before </HTML>.
61833
61834 2003-07-16  Karl Berry  <karl@gnu.org>
61835
61836         * config/srclist-update: was running fixlicense twice, which caused
61837                 texinfo.tex to be nullified for some reason.  Simplify,
61838                 $gplsrc is no longer needed as far as I can see?
61839
61840 2003-07-16  Jim Meyering  <jim@meyering.net>
61841
61842         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
61843
61844 2003-07-15  Paul Eggert  <eggert@twinsun.com>
61845
61846         * config/srclist.txt: Get the following files from gettext-runtime/intl
61847         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
61848         ref-del.sin.  From Bruno Haible.
61849         * config/srclist-update (fixfile): Change grep pattern again, since the
61850         previous fix didn't work (there was another trailing $).  Use
61851         '[$]' to escape the $s.
61852
61853 2003-07-15  Karl Berry  <karl@gnu.org>
61854
61855         * lib/vasnprintf.c: update from gettext.
61856
61857 2003-07-15  Karl Berry  <karl@gnu.org>
61858
61859         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
61860         gets expanded when surrounded by '$'.
61861
61862 2003-07-15  Jim Meyering  <jim@meyering.net>
61863
61864         * modules/save-cwd: Don't depend on error.  From Derek Price.
61865
61866 2003-07-15  Jim Meyering  <jim@meyering.net>
61867
61868         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
61869
61870 2003-07-14  Simon Josefsson  <jas@extundo.com>
61871
61872         * modules/mempcpy: New file.
61873         * MODULES.html.sh (func_all_modules): Add mempcpy.
61874
61875 2003-07-14  Simon Josefsson  <jas@extundo.com>
61876
61877         * m4/mempcpy.m4: New file.
61878
61879 2003-07-14  Simon Josefsson  <jas@extundo.com>
61880
61881         * lib/mempcpy.h: New file.
61882         * lib/mempcpy.c: New file.
61883
61884 2003-07-14  Paul Eggert  <eggert@twinsun.com>
61885
61886         * modules/getdate, modules/posixtm: Depend on mktime.
61887
61888 2003-07-14  Paul Eggert  <eggert@twinsun.com>
61889
61890         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
61891         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
61892         unicodeio.c, unicodeio.h, unlocked-io.h:
61893         Switch from LGPL to GPL.
61894
61895 2003-07-14  Paul Eggert  <eggert@twinsun.com>
61896
61897         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
61898         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
61899         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
61900         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
61901         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
61902         updated automatically by ../config/srclist-update.  This changes
61903         their license from LPGL to GPL.
61904
61905 2003-07-14  Paul Eggert  <eggert@twinsun.com>
61906
61907         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
61908         assumed to refer to the root of the most recent stable gettext version.
61909         * config/srclistvars.sh: Add defaults for eggert.
61910         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
61911         Match "This program" as well as "The program".  This is needed
61912         for gettext.
61913
61914 2003-07-14  Jim Meyering  <jim@meyering.net>
61915
61916         Don't emit diagnostics.  Let callers do that.
61917         * lib/save-cwd.c: Don't include "error.h".
61918         (save_cwd): Don't call error.  Ensure that errno is valid
61919         when returning nonzero.
61920
61921         * lib/save-cwd.h (restore_cwd): Update prototype.
61922         * lib/save-cwd.c (restore_cwd): Remove two parameters.
61923         Simplify.  Don't call error upon failure.  Let callers do that.
61924         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
61925         when auditing is enabled.  But don't bother updating the #if.
61926
61927 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
61928
61929         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
61930         it breaks C++ compilation.
61931         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
61932
61933 2003-07-10  Simon Josefsson  <jas@extundo.com>
61934
61935         * modules/strchrnul (Makefile.am): Add strchrnul.h.
61936
61937 2003-07-10  Jim Meyering  <jim@meyering.net>
61938
61939         * m4/clock_time.m4: Remove trailing blank.
61940         * m4/intmax_t.m4: Likewise.
61941
61942 2003-07-10  Jim Meyering  <jim@meyering.net>
61943
61944         * lib/vasnprintf.c: Remove trailing blanks.
61945         Make cpp indentation consistent.
61946
61947 2003-07-09  Paul Eggert  <eggert@twinsun.com>
61948
61949         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
61950         posixver.c, strftime.c, strnlen.c, strverscmp.c:
61951         Switch from LGPL to GPL.
61952
61953 2003-07-09  Paul Eggert  <eggert@twinsun.com>
61954
61955         * config/srclist.txt: Sort sublists.  Add
61956         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
61957         that differ from gnulib for one reason or another; we'd like this list
61958         to be smaller but for now let's document what we have.
61959
61960 2003-07-08  Paul Eggert  <eggert@twinsun.com>
61961
61962         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
61963         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
61964         and sweeter "eval x=$x".
61965         * config/srclist.txt: Get lib/argp* from glibc.
61966
61967 2003-07-07  Paul Eggert  <eggert@twinsun.com>
61968
61969         * lib/mktime.c: Fix some boundary cases and remove need for floating
61970         point.
61971
61972         Issue a compile-time diagnostic if time_t is floating point, or if
61973         two's complement arithmetic is not in effect, or if arithmetic
61974         right shift does not propagate the sign.  These assumptions were
61975         all in the original code but they weren't checked.
61976
61977         (TIME_T_MIDPOINT, verify): New macros.
61978         (__isleap): Remove; it has integer overflow problems.
61979         (leapyear): New function, without those problems.
61980         (ydhms_tm_diff): Remove; splitting into two parts.
61981         (ydhms_diff): New function, containing the arithmetic part of
61982         the old ydhms_tm_diff function.  Issue a compile-time
61983         diagnostic if we are not using C99 integer division.
61984         Avoid casts when possible.
61985         (guess_time_tm): New function, containing the checking part of
61986         the old ydhms_tm_diff function.  Return the new value, rather than
61987         the difference between it and the old.  Accept a new argument T
61988         so that *T specifies the old value.  Check for overflow in the result.
61989
61990         (__mktime_internal): Use a time_t offset, not a long int offset.
61991         This undoes the 2003-06-04 change, which is no longer needed now
61992         that we have better overflow checking.
61993         (localtime_offset): Likewise.
61994
61995         (__mktime_internal): Avoid harmful overflow on hosts where time_t
61996         and long are 64-bit but int is only 32-bit.
61997         (ydhms_diff): Use long int to store year1 and yday1.
61998         Issue a compile-time diagnostic if long int is not wide enough.
61999
62000         (__mktime_internal): Use long int to store adjusted year and yday.
62001         Use plain C rather than preprocessor commands, if that doesn't
62002         affect efficiency.
62003         Check for overflow (and try to repair) after each probe
62004         rather than checking only at the very end.  This avoids some bugs
62005         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
62006         does not equal GMT offset at maximum time).
62007         Use integer to check for overflow rather than floating point; this
62008         is more portable to non-IEEE hosts, and is a tad faster.
62009         When we detect that we are oscillating between two values,
62010         don't check whether tm_isdst has the requested value, since
62011         we already know the answer.  When tm_isdst has the wrong value,
62012         use a different heuristic to find the right one, based on the
62013         extreme values actually observed in practice in tz2003a,
62014         rather than the (overly optimistic) "previous 3 calendar quarters".
62015
62016         (not_equal_tm, print_tm, check_result): Use "const T" rather than
62017         "T const" to accommodate glibc style.
62018         (check_result): Use less-confusing report format.  "long" -> "long int.
62019         (main): Likewise.
62020         Don't loop if the iteration overflows time_t.
62021         Allow a negative step in the iteration.
62022
62023 2003-07-06  Karl Berry  <karl@gnu.org>
62024
62025         * config/depcomp: update from automake.
62026         * config/config.sub: update from prep.
62027
62028 2003-07-03  Karl Berry  <karl@gnu.org>
62029
62030         * config/config.guess: update from prep.
62031
62032 2003-07-01  Paul Eggert  <eggert@twinsun.com>
62033
62034         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
62035         xreadlink.c now includes it unconditionally.
62036
62037 2003-07-01  Paul Eggert  <eggert@twinsun.com>
62038
62039         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
62040         having it depend on HAVE_SYS_TYPES_H.
62041
62042 2003-07-01  Bruno Haible  <bruno@clisp.org>
62043
62044         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
62045         <sys/types.h> should be sufficient.
62046         Reported by Paul Eggert.
62047
62048 2003-06-26  Karl Berry  <karl@gnu.org>
62049
62050         * config/depcomp: update from automake.
62051
62052 2003-06-26  Bruno Haible  <bruno@clisp.org>
62053
62054         * modules/human: Depend on module stdbool.
62055
62056 2003-06-25  Bruno Haible  <bruno@clisp.org>
62057
62058         * modules/readlink: New file.
62059         * modules/xreadlink: Depend on it.
62060         * MODULES.html.sh (func_all_modules): Add readlink.
62061
62062 2003-06-25  Bruno Haible  <bruno@clisp.org>
62063
62064         * m4/readlink.m4: New file.
62065
62066 2003-06-25  Bruno Haible  <bruno@clisp.org>
62067
62068         * lib/readlink.c: New file.
62069
62070 2003-06-22  Karl Berry  <karl@gnu.org>
62071
62072         * config/srclist.txt: update mkinstalldirs from automake.
62073         * config/mkinstalldirs: update.
62074
62075 2003-06-22  Bruno Haible  <bruno@clisp.org>
62076
62077         Portability to mingw32.
62078         * m4/ssize_t.m4: New file, from GNU gettext.
62079         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
62080         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
62081
62082 2003-06-22  Bruno Haible  <bruno@clisp.org>
62083
62084         * modules/safe-read: Add m4/ssize_t.m4.
62085         * modules/xreadlink: Add m4/ssize_t.m4.
62086
62087 2003-06-20  Bruno Haible  <bruno@clisp.org>
62088
62089         Assume C89, so PARAMS isn't needed.
62090         * lib/unicodeio.h (PARAMS): Remove.
62091         * lib/unicodeio.c: Don't use PARAMS.
62092
62093 2003-06-18  Karl Berry  <karl@gnu.org>
62094
62095         * config/config.{guess,sub}: update from prep.
62096
62097 2003-06-18  Jim Meyering  <jim@meyering.net>
62098
62099         Merge changes from coreutils.
62100         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
62101         Remove explicit declarations of xmalloc and realloc.
62102         Include xalloc.h.
62103         (read_utmp): Remove anachronistic cast of xmalloc.
62104
62105 2003-06-17  Paul Eggert  <eggert@twinsun.com>
62106
62107         Assume C89, so PARAMS isn't needed.
62108         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
62109         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
62110         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
62111         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
62112         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
62113         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
62114         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
62115         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
62116         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
62117         lib/xstrtod.h, lib/xstrtol.h: Likewise.
62118         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
62119         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
62120         no longer needed. Anyway, config.h should always be included before any
62121         other file.
62122
62123 2003-06-11  Simon Josefsson  <jas@extundo.com>
62124
62125         * modules/sysexits: New file.
62126         * MODULES.html.sh (func_all_modules): Add sysexits.
62127
62128 2003-06-11  Simon Josefsson  <jas@extundo.com>
62129
62130         * lib/sysexit_.h: New file.
62131
62132 2003-06-11  Derek Price  <derek@ximbiot.com>
62133
62134         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
62135         necessary.
62136
62137 2003-06-11  Bruno Haible  <bruno@clisp.org>
62138
62139         * m4/sysexits.m4: New file.
62140
62141 2003-06-10  Simon Josefsson  <jas@extundo.com>
62142
62143         * lib/argp.h: New file, from glibc.
62144         * lib/argp-ba.c: New file, from glibc.
62145         * lib/argp-eexst.c: New file, from glibc.
62146         * lib/argp-fmtstream.c: New file, from glibc.
62147         * lib/argp-fmtstream.h: New file, from glibc.
62148         * lib/argp-fs-xinl.c: New file, from glibc.
62149         * lib/argp-help.c: New file, from glibc.
62150         * lib/argp-namefrob.h: New file, from glibc.
62151         * lib/argp-parse.c: New file, from glibc.
62152         * lib/argp-pv.c: New file, from glibc.
62153         * lib/argp-pvh.c: New file, from glibc.
62154         * lib/argp-xinl.c: New file, from glibc.
62155
62156 2003-06-10  Simon Josefsson  <jas@extundo.com>
62157
62158         * modules/strchrnul: New file.
62159
62160 2003-06-10  Simon Josefsson  <jas@extundo.com>
62161
62162         * modules/argp: New file.
62163
62164 2003-06-10  Simon Josefsson  <jas@extundo.com>
62165
62166         * m4/strchrnul.m4: New file.
62167
62168 2003-06-10  Simon Josefsson  <jas@extundo.com>
62169
62170         * lib/strchrnul.h: New file.
62171         * lib/strchrnul.c: New file.
62172
62173 2003-06-10  Bruno Haible  <bruno@clisp.org>
62174
62175         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
62176
62177 2003-06-07  Karl Berry  <karl@gnu.org>
62178
62179         * config/config.{guess,sub}: update from prep.
62180
62181 2003-06-07  Jim Meyering  <jim@meyering.net>
62182
62183         * modules/strtod: Use $(...) notation, not @...@ for
62184         AC_REPLACE'd variables.
62185         * modules/localcharset: Likewise.
62186
62187 2003-06-07  Jim Meyering  <jim@meyering.net>
62188
62189         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
62190         in place of my name in the copyright comment.
62191         Remove definition and uses of __P.
62192
62193         From coreutils.
62194         * lib/stat.c: Don't declare xmalloc explicitly.
62195         Instead, include "xalloc.h".
62196         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
62197         xrealloc, and xcalloc return values.
62198         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
62199         Improve comment.
62200         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
62201
62202 2003-06-07  Bruno Haible  <bruno@clisp.org>
62203
62204         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
62205         avoid AC_CONFIG_LINKS.
62206         * modules/fnmatch (Makefile.am): Use explicit creation rule for
62207         fnmatch.h, to avoid AC_CONFIG_LINKS.
62208         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
62209
62210 2003-06-07  Bruno Haible  <bruno@clisp.org>
62211
62212         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
62213         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
62214         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
62215         directory.
62216         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
62217         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
62218         directory.
62219
62220 2003-06-06  Jim Meyering  <jim@meyering.net>
62221
62222         Merge from coreutils.
62223         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
62224         Consolidate declarations and initializations of *_base* locals.
62225
62226         Merge from coreutils.
62227         This avoids a core dump on systems without GNU putenv,
62228         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
62229         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
62230         (unsetenv): New static function, from GNU libc.
62231         (rpl_putenv): Use it.
62232
62233         * lib/modechange.c: Remove trailing blanks.
62234
62235         Merge from coreutils.
62236         * lib/fsusage.c: Remove declaration of statfs.
62237         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
62238
62239         * lib/posixtm.c: Include <stdbool.h> unconditionally.
62240
62241 2003-06-06  Jim Meyering  <jim@meyering.net>
62242
62243         * lib/stdbool_.h: Renamed from stdbool.h.in.
62244
62245 2003-06-06  Jim Meyering  <jim@meyering.net>
62246             Bruno Haible  <bruno@clisp.org>
62247
62248         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
62249         Adjust Makefile.am snippet not to redirect directly to target.
62250         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
62251
62252 2003-06-05  Paul Eggert  <eggert@twinsun.com>
62253
62254         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
62255         mismatch, look in future quarters as well as past.  This fixes a
62256         bug when processing fall-backwards gaps immediately after a long
62257         period of daylight-saving time.
62258
62259         * lib/mktime.c: Assume freestanding C89 or better.
62260         (HAVE_LIMITS_H): Remove.  Assume it's 1.
62261         (__P): Remove; not used.
62262         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
62263         (mktime, not_equal_tm, print_tm, check_result,
62264         main): Use prototypes.  Use const * where appropriate.
62265         (main): Fix typo in testing code that uncovered by above changes.
62266         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
62267
62268 2003-06-04  Paul Eggert  <eggert@twinsun.com>
62269
62270         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
62271         locale.h, localeconv.  This merges changes from coreutils.
62272
62273         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
62274         It can be removed after the next Autoconf is released.
62275         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
62276         needed.
62277
62278 2003-06-04  Paul Eggert  <eggert@twinsun.com>
62279
62280         * lib/mktime.c: Fix Debian bug 177940
62281         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
62282         (localtime_offset): Now long int, not time_t, because we want it
62283         to be guaranteed to be signed.  All uses changed.
62284         (__mktime_internal): If overflow would occur when adding offset,
62285         don't add it.
62286
62287         Merge 'human' changes from coreutils.  Rewrite to support
62288         locale-specific notations like thousands separators.
62289         * lib/human.c: Simplify authorship notice.
62290         Include human.h immediately after config.h.
62291         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
62292         <limits.h>: Do not include, since human.h does.
62293         (SIZE_MAX, UINTMAX_MAX): New macros.
62294         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
62295         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
62296         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
62297         (power_letter): Renamed from suffixes.
62298         (generate_suffix_backwards): Remove.
62299         (adjust_value): Now takes int style (because of human.h changes)
62300         and long double value (for greater precision on some platforms).
62301         (group_number): New function.
62302         (human_readable): Use it.  Use integer options, not enum.
62303         Put the options before the sizes in the arg list.
62304         Support all the new options.
62305         The old human_readable function has been removed;
62306         use inttostr.h instead.
62307         (human_readable, default_block_size, humblock):
62308         Use uintmax_t, not int, for block sizes.
62309         (human_readable_inexact, block_size_types): Remove.
62310         (block_size_opts): New constant.
62311         (human_options): Renamed from human_block_size, with new signature
62312         that allows block sizes up to UINTMAX_MAX.  All callers changed.
62313         * lib/human.h: Add copyright and authorship notice.
62314         Include <limits.h> and <stdbool.h> unconditionally.
62315         (PARAMS): Remove.  All uses removed.
62316         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
62317         (enum human_inexact_style): Remove tag; now a nameless enum.
62318         (human_floor, human_ceiling, human_round_to_even): Now have
62319         values 2, 0, 1 rather than -1, 1, 0.
62320         (human_group_digits, human_suppress_point_zero, human_autoscale,
62321         human_base_1024, human_SI, human_B): New constants.
62322         (human_readable_inexact, human_block_size): Remove.
62323         (human_readable): Size args are now uintmax_t, not int.
62324         (human_options): New decl.
62325
62326         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
62327         unnecessary now that we assume C89 or better.  This change
62328         imported from coreutils.
62329
62330         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
62331         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
62332         in the 2003-05-30 sync from glibc.
62333
62334         .h files should stand alone, but we shouldn't include <sys/types.h>
62335         if we can get away with just <stddef.h>.
62336
62337         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
62338         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
62339         rather than <sys/types.h>, as we merely need size_t.
62340         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
62341         to get size_t.
62342         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
62343         Include <stdio.h>, to get FILE.
62344         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
62345         memcasecmp.h has included <stddef.h> and all we need is size_t.
62346         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
62347         our interface, instead of including <sys/types.h>
62348
62349 2003-06-04  Paul Eggert  <eggert@twinsun.com>
62350
62351         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
62352         now, as glibc mktime is buggy on non-glibc systems.
62353
62354 2003-06-03  Karl Berry  <karl@gnu.org>
62355
62356         * config/config.sub: update from prep.
62357
62358 2003-06-02  Paul Eggert  <eggert@twinsun.com>
62359
62360         [from coreutils]
62361         Fix some minor time-related bugs with POSIX time arguments.
62362         Some valid time stamps were being rejected (notably -1, and
62363         time stamps before 1900 on 64-bit hosts).  And some invalid
62364         time stamps were being accepted, e.g. September 31.
62365
62366         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
62367         that we can return (time_t) -1 successfully.
62368         * lib/posixtm.c: Likewise.
62369         [HAVE_STDBOOL_H]: Include <stdbool.h>.
62370         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
62371         (t): Remove static var.
62372         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
62373         of static var.  All uses changed.
62374         (year): Do not reject years before 1900; they can occur with
62375         64-bit time_t.
62376         (posix_time_parse): Do not check for out-of-range components;
62377         that is now the caller's responsibility, since our checks were
62378         only approximations.
62379         (posixtime): Use mktime to check for out-of-range components,
62380         since it knows them exactly.
62381         If mktime returns (time_t) -1, check whether an error actually occurred
62382         by invoking localtime on -1.
62383         (main) [TEST_POSIXTIME]: Check for input data errors, and report
62384         posixtime failures better.
62385         Improve the test data (in comments only).
62386
62387 2003-06-02  Karl Berry  <karl@gnu.org>
62388
62389         * config/mkinstalldirs (version): new variable.
62390         (--version): new option.
62391         (usage): improve message.
62392
62393 2003-05-30  Karl Berry  <karl@gnu.org>
62394
62395         * lib/mktime.c: update from libc.
62396
62397 2003-05-30  Bruno Haible  <bruno@clisp.org>
62398
62399         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
62400         * config/config.rpath: Upgrade to gettext-0.12.1.
62401
62402 2003-05-30  Bruno Haible  <bruno@clisp.org>
62403
62404         * m4/gettext.m4: Upgrade to gettext-0.12.1.
62405         * m4/nls.m4: New file, from gettext-0.12.1.
62406         * m4/po.m4: New file, from gettext-0.12.1.
62407         * m4/progtest.m4: Upgrade to gettext-0.12.1.
62408
62409 2003-05-30  Bruno Haible  <bruno@clisp.org>
62410
62411         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
62412         * lib/localcharset.h: Likewise.
62413         * lib/localcharset.c: Likewise.
62414
62415 2003-05-29  Karl Berry  <karl@gnu.org>
62416
62417         * config/config.rpath: update from gettext.
62418
62419 2003-05-28  Paul Eggert  <eggert@twinsun.com>
62420
62421         Assume the headers required for C89 freestanding compilers.
62422         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
62423         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
62424         * m4/human.m4 (gl_HUMAN): Likewise.
62425         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
62426         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
62427         * m4/userspec.m4 (gl_USERSPEC): Likewise.
62428         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
62429         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
62430         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
62431
62432 2003-05-28  Paul Eggert  <eggert@twinsun.com>
62433
62434         Assume the headers required for C89 freestanding compilers.
62435         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
62436         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
62437         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
62438         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
62439         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
62440         define, since <limits.h> is guaranteed to do that.
62441         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
62442         * lib/exclude.c: Include <stdbool.h> unconditionally.
62443         * lib/tempname.c: Include <stddef.h> unconditionally.
62444         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
62445         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
62446         <stddef.h> does that.
62447         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
62448         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
62449         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
62450         needed.
62451         * lib/xstrtol.c: Likewise.
62452         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
62453         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
62454
62455         * lib/addext.c (addext): Use assignment rather than cast, to avoid
62456         warnings on some platforms.
62457
62458         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
62459         arbitrarily.
62460
62461 2003-05-26  Jim Meyering  <jim@meyering.net>
62462
62463         Merge in a change from coreutils:
62464         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
62465         that is guaranteed to be `no'.  Use `no_such_member' to indicate
62466         that condition, rather than `-1' which is slightly misleading.
62467         Change the name of the cache variable to have the gl_ prefix.
62468         Prompted by a patch from Richard Dawe for DJGPP.
62469
62470 2003-05-24  Karl Berry  <karl@gnu.org>
62471
62472         * config/config.guess: update from prep.
62473
62474 2003-05-22  Karl Berry  <karl@gnu.org>
62475
62476         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
62477
62478 2003-05-20  Karl Berry  <karl@gnu.org>
62479
62480         * config/config.guess: update from prep.
62481
62482 2003-05-18  Karl Berry  <karl@gnu.org>
62483
62484         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
62485         might actually be set by the user.
62486
62487         * config/depcomp, install-sh, mdate-sh: update from automake.
62488
62489 2003-05-17  Bruno Haible  <bruno@clisp.org>
62490
62491         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
62492         invalid expansion for AC_EGREP_CPP.
62493         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
62494         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
62495         Suggested by Akim Demaille <akim@epita.fr> in
62496         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
62497
62498 2003-05-12  Jim Meyering  <jim@meyering.net>
62499
62500         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
62501         the space-padded-by-default conversion specifiers, %e, %k, %l.
62502
62503 2003-05-12  Bruno Haible  <bruno@clisp.org>
62504
62505         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
62506         the string is longer than 4 KB.
62507
62508 2003-05-11  Karl Berry  <karl@gnu.org>
62509
62510         * config/config.{guess,sub}: update from prep.
62511
62512 2003-05-09  Bruno Haible  <bruno@clisp.org>
62513
62514         * modules/error: Add m4/strerror_r.m4 to file list.
62515
62516 2003-05-03  Bruno Haible  <bruno@clisp.org>
62517
62518         Upgrade to Unicode-4.0.
62519         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
62520         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
62521         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
62522         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
62523         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
62524         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
62525         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
62526         Change width of U+E0100..U+E01EF from 1 to 0.
62527
62528 2003-04-25  Jim Meyering  <jim@meyering.net>
62529
62530         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
62531         of type size_t, not int.
62532
62533 2003-04-25  Bruno Haible  <bruno@clisp.org>
62534
62535         * lib/copy-file.c: Include <stddef.h>, for size_t.
62536
62537 2003-04-21  Paul Eggert  <eggert@twinsun.com>
62538
62539         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
62540         code which expansion is under static control.  Patch imported from
62541         Akim Demaille's patch to Bison; see
62542         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
62543
62544 2003-04-14  Bruno Haible  <bruno@clisp.org>
62545
62546         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
62547
62548 2003-04-11  Jim Meyering  <jim@meyering.net>
62549
62550         Merge changes from Coreutils.
62551
62552         2003-03-22  Jim Meyering  <jim@meyering.net>
62553
62554         * lib/strftime.c (widen): Cast alloca return value to proper type.
62555
62556         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
62557
62558         From GNU libc.
62559         * lib/strftime.c (my_strftime): Handle very large width
62560         specifications for numeric values correctly.  Improve checks for
62561         overflow.
62562
62563         2003-01-19  Jim Meyering  <jim@meyering.net>
62564
62565         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
62566         definitions.
62567         (nl_get_alt_digit) [! defined my_strftime]: Define.
62568         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
62569         _nl_get_alt_digit and _nl_get_walt_digit.
62570
62571         * lib/strftime.c (my_strftime): Merge in locale-related changes from
62572         libc. These changes have no effect outside of _LIBC.
62573
62574 2003-04-10  Bruno Haible  <bruno@clisp.org>
62575
62576         * modules/findprog: New file.
62577         * MODULES.html.sh (func_all_modules): Add it.
62578
62579 2003-04-10  Bruno Haible  <bruno@clisp.org>
62580
62581         * m4/findprog.m4: New file.
62582         * m4/eaccess.m4: New file.
62583
62584 2003-04-10  Bruno Haible  <bruno@clisp.org>
62585
62586         * lib/findprog.h: New file, from GNU gettext.
62587         * lib/findprog.c: New file, from GNU gettext.
62588
62589 2003-04-05  Jim Meyering  <jim@meyering.net>
62590
62591         Merge changes from Coreutils.
62592
62593         * lib/exclude.h (PARAMS): Remove definition and uses.
62594         * lib/exclude.c: Remove uses of `PARAMS'.
62595
62596         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
62597         Add test-cases for DOS filenames. Declare program_name.
62598         (main): Set up program_name.  Patch by Rich Dawe.
62599
62600         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
62601         error from mntctl.
62602         Use mntctl's return value to drive the entry-processing loop, since
62603         we can't rely on the value of the vmt_length member in the last
62604         entry.  On some systems doing so could result in exhausting
62605         virtual memory.  Based in part on a patch from Mike Jetzer.
62606
62607 2003-04-04  Bruno Haible  <bruno@clisp.org>
62608
62609         * modules/linebreak: New file.
62610         * MODULES.html.sh (func_all_modules): Add it.
62611
62612 2003-04-04  Bruno Haible  <bruno@clisp.org>
62613
62614         * m4/linebreak.m4: New file.
62615
62616 2003-04-04  Bruno Haible  <bruno@clisp.org>
62617
62618         * lib/linebreak.h: New file, from GNU gettext.
62619         * lib/linebreak.c: New file, from GNU gettext with slight
62620         modifications.
62621         * lib/lbrkprop.h: New file, from GNU gettext.
62622
62623 2003-04-03  Bruno Haible  <bruno@clisp.org>
62624
62625         * modules/utf8-ucs4: New file.
62626         * modules/utf16-ucs4: New file.
62627         * modules/ucs4-utf8: New file.
62628         * modules/ucs4-utf16: New file.
62629         * MODULES.html.sh (func_all_modules): Add them.
62630
62631 2003-04-03  Bruno Haible  <bruno@clisp.org>
62632
62633         * m4/utf-ucs4.m4: New file.
62634         * m4/ucs4-utf.m4: New file.
62635
62636 2003-04-03  Bruno Haible  <bruno@clisp.org>
62637
62638         * lib/utf8-ucs4.h: New file, from GNU gettext.
62639         * lib/utf16-ucs4.h: New file, from GNU gettext.
62640         * lib/ucs4-utf8.h: New file, from GNU gettext.
62641         * lib/ucs4-utf16.h: New file, from GNU gettext.
62642
62643 2003-04-02  Bruno Haible  <bruno@clisp.org>
62644
62645         * modules/binary-io: New file.
62646         * MODULES.html.sh (func_all_modules): Add it.
62647
62648 2003-04-02  Bruno Haible  <bruno@clisp.org>
62649
62650         * lib/binary-io.h: New file, from GNU gettext.
62651
62652 2003-04-01  Bruno Haible  <bruno@clisp.org>
62653
62654         * modules/pathname: New file.
62655         * MODULES.html.sh (func_all_modules): Add it.
62656
62657 2003-04-01  Bruno Haible  <bruno@clisp.org>
62658
62659         * lib/pathname.h: New file, from GNU gettext.
62660         * lib/concatpath.c: New file, from GNU gettext.
62661
62662 2003-03-30  Bruno Haible  <bruno@clisp.org>
62663
62664         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
62665
62666 2003-03-30  Bruno Haible  <bruno@clisp.org>
62667
62668         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
62669         function chown() doesn't exist.
62670
62671 2003-03-28  Bruno Haible  <bruno@clisp.org>
62672
62673         * modules/copy-file: New file.
62674         * MODULES.html.sh (func_all_modules): Add it.
62675
62676 2003-03-28  Bruno Haible  <bruno@clisp.org>
62677
62678         * m4/copy-file.m4: New file.
62679
62680 2003-03-28  Bruno Haible  <bruno@clisp.org>
62681
62682         * lib/copy-file.h: New file, from GNU gettext.
62683         * lib/copy-file.c: New file, from GNU gettext.
62684
62685 2003-03-18  Jim Meyering  <jim@meyering.net>
62686
62687         * lib/quote.c (quote_n): Fix typo in comment.
62688
62689 2003-03-18  Bruno Haible  <bruno@clisp.org>
62690
62691         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
62692         checking.
62693         * m4/onceonly_2_57.m4: Likewise.
62694
62695 2003-03-17  Bruno Haible  <bruno@clisp.org>
62696
62697         * m4/onceonly.m4: Require autoconf 2.54 or newer.
62698         (m4_quote): Remove macro.
62699         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
62700
62701 2003-03-14  Jim Meyering  <jim@meyering.net>
62702
62703         Merge changes from Coreutils.
62704         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
62705         to be const, in order to avoid warnings.
62706         (obstack_room): Likewise.
62707         (obstack_empty_p): Likewise.
62708
62709 2003-03-14  Bruno Haible  <bruno@clisp.org>
62710
62711         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
62712         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
62713
62714 2003-03-13  Paul Eggert  <eggert@twinsun.com>
62715
62716         Merge changes from Bison.
62717         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
62718         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
62719         when compiling Bison 1.875's `bitset bset = obstack_alloc
62720         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
62721         * lib/hash.c: Include <stdbool.h> unconditionally.
62722
62723 2003-03-13  Paul Eggert  <eggert@twinsun.com>
62724
62725         * m4/onceonly.m4 (m4_quote): New macro.
62726         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
62727         Quote AC_FOREACH variable-expansions properly.
62728
62729 2003-03-13  Paul Eggert  <eggert@twinsun.com>
62730
62731         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
62732
62733 2003-03-09  Paul Eggert  <eggert@twinsun.com>
62734
62735         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
62736         Reported by Bruce Becker; see:
62737         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
62738
62739 2003-03-03  Paul Eggert  <eggert@twinsun.com>
62740             Bruno Haible  <bruno@clisp.org>
62741
62742         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
62743         Reported by John Hughes, see
62744         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
62745
62746 2003-02-20  Bruno Haible  <bruno@clisp.org>
62747
62748         * MODULES.html.sh (func_all_modules): Add poll.
62749
62750 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
62751
62752         * modules/poll: New file.
62753
62754 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
62755
62756         * lib/poll_.h: New file.
62757         * lib/poll.c: New file.
62758
62759 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
62760
62761         * m4/poll.m4: New file.
62762
62763 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
62764
62765         * modules/mathl: New file.
62766
62767 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
62768
62769         * lib/mathl.h: New file.
62770         * lib/acosl.c: New file.
62771         * lib/asinl.c: New file.
62772         * lib/atanl.c: New file.
62773         * lib/ceill.c: New file.
62774         * lib/cosl.c: New file.
62775         * lib/expl.c: New file.
62776         * lib/floorl.c: New file.
62777         * lib/frexpl.c: New file.
62778         * lib/ldexpl.c: New file.
62779         * lib/logl.c: New file.
62780         * lib/sincosl.c: New file.
62781         * lib/sinl.c: New file.
62782         * lib/sqrtl.c: New file.
62783         * lib/tanl.c: New file.
62784         * lib/trigl.c: New file.
62785         * lib/trigl.h: New file.
62786
62787 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
62788
62789         * m4/mathl.m4: New file.
62790
62791 2003-02-18  Bruno Haible  <bruno@clisp.org>
62792
62793         * MODULES.html.sh (func_all_modules): Add mathl.
62794
62795 2003-02-17  Bruno Haible  <bruno@clisp.org>
62796
62797         * modules/mkdtemp: New module.
62798         * MODULES.html.sh (func_all_modules): Add it.
62799
62800 2003-02-17  Bruno Haible  <bruno@clisp.org>
62801
62802         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
62803
62804 2003-02-17  Bruno Haible  <bruno@clisp.org>
62805
62806         * lib/mkdtemp.h: New file, from GNU gettext.
62807         * lib/mkdtemp.c: New file, from GNU gettext.
62808
62809 2003-02-02  Jim Meyering  <jim@meyering.net>
62810
62811         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
62812         e.g. glibc-2.2.93.
62813
62814 2003-01-31  Bruno Haible  <bruno@clisp.org>
62815
62816         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
62817         'rpl_rename'.
62818         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
62819         'rpl_strnlen'.
62820         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
62821         'rpl_strtod'.
62822         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
62823         'rpl_utime'.
62824
62825 2003-01-31  Bruno Haible  <bruno@clisp.org>
62826
62827         * lib/rename.c: #undef rename before defining rpl_rename.
62828         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
62829
62830 2003-01-30  Bruno Haible  <bruno@clisp.org>
62831
62832         * modules/vasnprintf, modules/vasprintf: New modules.
62833         * MODULES.html.sh (func_all_modules): Add them.
62834
62835 2003-01-30  Bruno Haible  <bruno@clisp.org>
62836
62837         * m4/signed.m4: New file, from GNU gettext.
62838         * m4/longdouble.m4: New file, from GNU gettext.
62839         * m4/wchar_t.m4: New file, from GNU gettext.
62840         * m4/wint_t.m4: New file, from GNU gettext.
62841         * m4/vasnprintf.m4: New file.
62842         * m4/vasprintf.m4: New file.
62843
62844 2003-01-30  Bruno Haible  <bruno@clisp.org>
62845
62846         * lib/printf-args.h: New file, from GNU gettext.
62847         * lib/printf-args.c: New file, from GNU gettext.
62848         * lib/printf-parse.h: New file, from GNU gettext.
62849         * lib/printf-parse.c: New file, from GNU gettext.
62850         * lib/vasnprintf.h: New file, from GNU gettext.
62851         * lib/vasnprintf.c: New file, from GNU gettext.
62852         * lib/asnprintf.c: New file, from GNU gettext.
62853         * lib/vasprintf.h: New file, from GNU gettext with modifications.
62854         * lib/vasprintf.c: New file, from GNU gettext.
62855         * lib/asprintf.c: New file, from GNU gettext.
62856
62857 2003-01-29  Bruno Haible  <bruno@clisp.org>
62858
62859         * modules/stpncpy: New module.
62860         * MODULES.html.sh (func_all_modules): Add it.
62861
62862 2003-01-29  Bruno Haible  <bruno@clisp.org>
62863
62864         * m4/stpncpy.m4: New file.
62865
62866 2003-01-29  Bruno Haible  <bruno@clisp.org>
62867
62868         * lib/stpncpy.h: New file, from GNU gettext with modifications.
62869         * lib/stpncpy.c: New file, from GNU gettext with modifications.
62870
62871 2003-01-28  Bruno Haible  <bruno@clisp.org>
62872
62873         * modules/c-ctype: New module.
62874         * MODULES.html.sh (func_all_modules): Add it.
62875
62876 2003-01-28  Bruno Haible  <bruno@clisp.org>
62877
62878         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
62879         Paul Eggert.
62880         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
62881         Paul Eggert.
62882
62883 2003-01-27  Bruno Haible  <bruno@clisp.org>
62884
62885         * modules/xsetenv: New module.
62886         * MODULES.html.sh (func_all_modules): Add it.
62887
62888 2003-01-27  Bruno Haible  <bruno@clisp.org>
62889
62890         * lib/xsetenv.h: New file, from GNU gettext.
62891         * lib/xsetenv.c: New file, from GNU gettext.
62892
62893 2003-01-23  Jim Meyering  <jim@meyering.net>
62894
62895         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
62896         from working on systems without dirfd (at least Irix and OSF1/Tru64).
62897
62898 2003-01-23  Bruno Haible  <bruno@clisp.org>
62899
62900         * modules/minmax: New module.
62901         * MODULES.html.sh (func_all_modules): Add it.
62902
62903 2003-01-23  Bruno Haible  <bruno@clisp.org>
62904
62905         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
62906         Eggert.
62907
62908 2003-01-22  Bruno Haible  <bruno@clisp.org>
62909
62910         * modules/exit: New module.
62911         * MODULES.html.sh (func_all_modules): Add it.
62912
62913 2003-01-22  Bruno Haible  <bruno@clisp.org>
62914
62915         * lib/exit.h: New file, from GNU gettext.
62916
62917 2003-01-19  Bruno Haible  <bruno@clisp.org>
62918
62919         * gnulib-tool: Recognize option --extract-maintainer.
62920         (func_get_maintainer): New function.
62921         * modules/*: Add Maintainer entry.
62922
62923 2003-01-16  Jim Meyering  <jim@meyering.net>
62924
62925         * m4/regex.m4: The `regex' struct is both input and output.
62926         Initialize it before each use.  Patch by Tim Waugh.
62927
62928 2003-01-16  Bruno Haible  <bruno@clisp.org>
62929
62930         * MODULES.html.sh: Add a table of contents. Add the module name as
62931         leftmost column. Add hyperlinks.
62932
62933 2003-01-15  Bruno Haible  <bruno@clisp.org>
62934
62935         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
62936
62937 2003-01-15  Bruno Haible  <bruno@clisp.org>
62938
62939         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
62940         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
62941         suffix.
62942
62943 2003-01-15  Bruno Haible  <bruno@clisp.org>
62944
62945         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
62946
62947 2003-01-15  Bruno Haible  <bruno@clisp.org>
62948
62949         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
62950         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
62951
62952 2003-01-14  Jim Meyering  <jim@meyering.net>
62953
62954         * lib/same.c (same_name): Tweak a comment.
62955
62956 2003-01-14  Bruno Haible  <bruno@clisp.org>
62957
62958         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
62959         when a string comparison is sufficient.
62960
62961 2003-01-14  Bruno Haible  <bruno@clisp.org>
62962
62963         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
62964         'unsigned int'.
62965
62966 2003-01-14  Bruno Haible  <bruno@clisp.org>
62967
62968         * lib/hash-pjw.c: Add comment about low quality of this function.
62969
62970 2003-01-13  Bruno Haible  <bruno@clisp.org>
62971
62972         * modules/stpcpy: Distribute lib/stpcpy.h.
62973         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
62974
62975 2003-01-13  Bruno Haible  <bruno@clisp.org>
62976
62977         * modules/*: Add a description.
62978         * modules/strpbrk: Fix Makefile.am snippet.
62979         * modules/strtoimax: Fix dependencies.
62980         * modules/strtoumax: Likewise.
62981
62982 2003-01-13  Bruno Haible  <bruno@clisp.org>
62983
62984         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
62985         * modules/alloca (Makefile.am): All object files depend on alloca.h.
62986         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
62987
62988 2003-01-13  Bruno Haible  <bruno@clisp.org>
62989
62990         * gnulib-tool (func_create_testdir): Store config/* files in the main
62991         directory.
62992         * config.rpath: Move to ...
62993         * config/config.rpath: ... here.
62994         * modules/gettext: Contains config/config.rpath, not config.rpath.
62995         * modules/iconv: Likewise.
62996
62997 2003-01-12  Paul Eggert  <eggert@twinsun.com>
62998
62999         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
63000         to avoid collisions with libcurses and libreadline.
63001
63002         * m4/getstr.m4: Remove.
63003         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
63004
63005 2003-01-12  Paul Eggert  <eggert@twinsun.com>
63006
63007         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
63008         to avoid collisions with libcurses and libreadline.
63009
63010         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
63011         * lib/getstr.h, getstr.c: Remove.
63012         * lib/getline.c: Include "getline.h", to check interface.
63013         Move body of old getstr.c here: this defines MIN_CHUNK and
63014         declares getdelim2, which is renamed from getstr.
63015         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
63016
63017         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
63018         All uses changed.
63019         * lib/linebuffer.h: Likewise.
63020         (readline): Remove backward-compatibility macro.
63021
63022 2003-01-12  Paul Eggert  <eggert@twinsun.com>
63023
63024         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
63025         to avoid collisions with libcurses and libreadline.
63026         * getstr: Remove.
63027         * MODULES.html.sh: Remove getstr.
63028         * modules/getline: Depend on unlocked-io, not getstr.
63029
63030 2003-01-12  Jim Meyering  <jim@meyering.net>
63031
63032         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
63033
63034 2003-01-10  Bruno Haible  <bruno@clisp.org>
63035
63036         * modules/alloca: Change Makefile.am requirements. Simplify Include
63037         requirements. Add lib/alloca_.h to file list.
63038
63039 2003-01-10  Bruno Haible  <bruno@clisp.org>
63040
63041         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
63042
63043 2003-01-10  Bruno Haible  <bruno@clisp.org>
63044
63045         * lib/alloca_.h: New file.
63046         * lib/getdate.y: Unconditionally include alloca.h.
63047         * lib/makepath.c: Likewise.
63048         * lib/setenv.c: Likewise.
63049         * lib/userspec.c: Likewise.
63050
63051 2003-01-09  Karl Berry  <karl@gnu.org>
63052
63053         * MODULES.html.sh: include `dirname $0` in PATH, to find
63054         gnulib-tool.
63055
63056 2003-01-09  Bruno Haible  <bruno@clisp.org>
63057
63058         * modules/stdbool: Change configure.ac, Makefile.am requirements.
63059         Simplify Include requirements. Add lib/stdbool.h.in to file list.
63060
63061 2003-01-09  Bruno Haible  <bruno@clisp.org>
63062
63063         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
63064
63065 2003-01-09  Bruno Haible  <bruno@clisp.org>
63066
63067         * lib/stdbool.h.in: New file.
63068
63069 2003-01-09  Bruno Haible  <bruno@clisp.org>
63070
63071         * gnulib-tool (func_all_modules): Ignore files ending in ~.
63072         * MODULES.html.sh: Likewise.
63073
63074 2003-01-08  Jim Meyering  <jim@meyering.net>
63075
63076         * lib/full-write.c: Undefine and define-away `const' after inclusion
63077         of errno.h, not before.  Suggestion from Bruno Haible.
63078
63079 2003-01-08  Bruno Haible  <bruno@clisp.org>
63080
63081         * modules/full-read: Depend on full-write.
63082
63083 2003-01-08  Bruno Haible  <bruno@clisp.org>
63084
63085         * lib/safe-read.c: Include specification header first, to ensure its
63086         selfcontainedness.
63087         * lib/full-write.c: Likewise.
63088
63089 2003-01-07  Jim Meyering  <jim@meyering.net>
63090
63091         * lib/full-write.c: Rework so that it may serve to define full_read,
63092         too.
63093         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
63094
63095 2003-01-07  Bruno Haible  <bruno@clisp.org>
63096
63097         * lib/strtoimax.c: Include <stdint.h> as an alternative to
63098         <inttypes.h>.
63099         * lib/xstrtol.h: Likewise.
63100         * lib/xstrtoimax.c: Likewise.
63101         * lib/xstrtoumax.c: Likewise.
63102         * lib/human.h: Likewise.
63103
63104         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
63105         on systems that have <inttypes.h> but not <stdint.h>.
63106
63107 2003-01-07  Bruno Haible  <bruno@clisp.org>
63108
63109         * MODULES.html.sh: Add copyright notice.
63110         (missed_files): Omit CVS directory entries.
63111         (func_module): Make it work with sed-3.02.
63112         * MODULES.txt: Remove file.
63113
63114 2003-01-06  Jim Meyering  <jim@meyering.net>
63115
63116         * lib/version-etc.c: Update year in translatable copyright string.
63117
63118 2003-01-03  Karl Berry  <karl@gnu.org>
63119
63120         * config/config.{guess,sub}: update from prep.
63121
63122 2003-01-02  Karl Berry  <karl@gnu.org>
63123
63124         * doc/COPYING.DOC: belatedly updated to 1.2.
63125
63126 2003-01-01  Karl Berry  <karl@gnu.org>
63127
63128         * gnulib-tool (func_verify_module): report module name $module in
63129         error message, not $1.
63130         * gnulib-tool (create-testdir): don't complain if destdir couldn't
63131         be created, only if it doesn't exist.
63132         * gnulib-tool (last_checkin_date): don't expand the $Date here.
63133
63134 2002-12-31  Paul Eggert  <eggert@twinsun.com>
63135
63136         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
63137
63138 2002-12-31  Paul Eggert  <eggert@twinsun.com>
63139
63140         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
63141         memcmp if strcoll doesn't work.
63142
63143 2002-12-31  Bruno Haible  <bruno@clisp.org>
63144
63145         * lib/utime.c (utime_null): No need to call ftruncate if the file was
63146         nonempty.
63147
63148 2002-12-31  Bruno Haible  <bruno@clisp.org>
63149
63150         * lib/memcoll.c (STRCOLL): New macro.
63151         (memcoll): Use it.
63152
63153 2002-12-31  Bruno Haible  <bruno@clisp.org>
63154
63155         * lib/localcharset.h: New file.
63156         * lib/localcharset.c: Include it.
63157         * lib/unicodeio.c: Likewise.
63158
63159 2002-12-31  Bruno Haible  <bruno@clisp.org>
63160
63161         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
63162         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
63163
63164 2002-12-31  Bruno Haible  <bruno@clisp.org>
63165
63166         * lib/getline.h: Include <stddef.h>, for size_t.
63167
63168         * lib/unicodeio.h: Include <stddef.h>, for size_t.
63169         * lib/unicodeio.c: Don't include <stddef.h>.
63170
63171 2002-12-31  Bruno Haible  <bruno@clisp.org>
63172
63173         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
63174         HAVE_TM_ZONE.
63175
63176 2002-12-24  Karl Berry  <karl@gnu.org>
63177
63178         * config/config.guess: update from prep.
63179
63180 2002-12-24  Bruno Haible  <bruno@clisp.org>
63181
63182         General infrasructure.
63183         * m4/README: Rewritten.
63184         * m4/onceonly.m4: New file.
63185         * m4/onceonly_2_57.m4: New file.
63186
63187         Module atexit.
63188         * m4/atexit.m4: New file.
63189
63190         Module strtod.
63191         * m4/strtod.m4: New file.
63192
63193         Module strtol.
63194         * m4/strtol.m4: New file.
63195
63196         Module strtoul.
63197         * m4/strtoul.m4: New file.
63198
63199         Module memchr.
63200         * m4/memchr.m4: New file.
63201
63202         Module memcmp.
63203         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
63204         (jm_FUNC_MEMCMP): Invoke it.
63205
63206         Module memcpy.
63207         * m4/memcpy.m4: New file.
63208
63209         Module memmove.
63210         * m4/memmove.m4: New file.
63211
63212         Module memset.
63213         * m4/memset.m4: New file.
63214
63215         Module strcspn.
63216         * m4/strcspn.m4: New file.
63217
63218         Module strpbrk.
63219         * m4/strpbrk.m4: New file.
63220
63221         Module strstr.
63222         * m4/strstr.m4: New file.
63223
63224         Module strerror.
63225         * m4/strerror.m4: New file.
63226
63227         Module mktime.
63228         * m4/mktime.m4: Renamed from jm-mktime.m4.
63229         (gl_PREREQ_MKTIME): New macro.
63230         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
63231
63232         Module malloc.
63233         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
63234         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
63235         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
63236
63237         Module realloc.
63238         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
63239         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
63240         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
63241
63242         Module strftime.
63243         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
63244         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
63245         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
63246         gl_TM_GMTOFF.
63247         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
63248
63249         Module xalloc.
63250         * m4/xalloc.m4: New file.
63251
63252         Module alloca.
63253         * m4/alloca.m4: New file.
63254
63255         Module putenv.
63256         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
63257         (jm_FUNC_PUTENV): Invoke it.
63258
63259         Module setenv.
63260         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
63261         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
63262         when invoked twice.
63263         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
63264         gt_FUNC_SETENV.
63265
63266         Module memrchr.
63267         * m4/memrchr.m4: New file.
63268
63269         Module stpcpy.
63270         * m4/stpcpy.m4: New file.
63271
63272         Module strcase.
63273         * m4/strcase.m4: New file.
63274
63275         Module strdup.
63276         * m4/strdup.m4: New file.
63277
63278         Module strnlen.
63279         * m4/strnlen.m4: New file.
63280
63281         Module strndup.
63282         * m4/strndup.m4: New file.
63283
63284         Module xstrtod.
63285         * m4/xstrtod.m4: New file.
63286
63287         Module xstrtol.
63288         * m4/xstrtol.m4: New file.
63289
63290         Module getdate.
63291         * m4/getdate.m4: New file.
63292
63293         Module unlocked-io.
63294         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
63295         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
63296         * m4/jm-glibc-io.m4n: Remove file.
63297
63298         Module long-options.
63299         * m4/long-options.m4: New file.
63300
63301         Module md5.
63302         * m4/md5.m4: New file.
63303
63304         Module sha.
63305         * m4/sha.m4: New file.
63306
63307         Module getstr.
63308         * m4/getstr.m4: New file.
63309
63310         Module getline.
63311         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
63312         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
63313         <sys/types.h>, for size_t. Use the function name gnu_getline, not
63314         simply getline. Infoke gl_PREREQ_GETLINE.
63315
63316         Module obstack.
63317         * m4/obstack.m4: New file.
63318
63319         Module hash.
63320         * m4/hash.m4: New file.
63321
63322         Module readtokens.
63323         * m4/readtokens.m4: New file.
63324
63325         Module strverscmp.
63326         * m4/strverscmp.m4: New file.
63327
63328         Module stdbool.
63329         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
63330         OSF/1.
63331
63332         Module strtoll.
63333         * m4/strtoll.m4: New file.
63334
63335         Module strtoull.
63336         * m4/strtoull.m4: New file.
63337
63338         Module strtoimax.
63339         * m4/strtoimax.m4: New file.
63340
63341         Module strtoumax.
63342         * m4/strtoumax.m4: New file.
63343
63344         Module xstrtoimax.
63345         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
63346         jm_AC_PREREQ_XSTRTOIMAX.
63347         Moved the strtol prerequisites to strtol.m4.
63348         Moved the strtoll prerequisites to strtoll.m4.
63349         Moved the strtoimax prerequisites to strtoimax.m4.
63350
63351         Module xstrtoumax.
63352         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
63353         jm_AC_PREREQ_XSTRTOUMAX.
63354         Moved the strtoul prerequisites to strtoul.m4.
63355         Moved the strtoull prerequisites to strtoull.m4.
63356         Moved the strtoumax prerequisites to strtoumax.m4.
63357
63358         Module chown.
63359         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
63360         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
63361
63362         Module dup2.
63363         * m4/dup2.m4: New file.
63364
63365         Module ftruncate.
63366         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
63367         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
63368
63369         Module getgroups.
63370         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
63371         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
63372
63373         Module gettimeofday.
63374         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
63375         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
63376         gl_PREREQ_GETTIMEOFDAY.
63377
63378         Module mkdir.
63379         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
63380         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
63381
63382         Module mkstemp.
63383         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
63384         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
63385         jm_AC_TYPE_UINTMAX_T.
63386         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
63387
63388         Module stat.
63389         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
63390         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
63391
63392         Module lstat.
63393         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
63394         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
63395
63396         Module timespec.
63397         * m4/timespec.m4 (gl_TIMESPEC): New macro.
63398         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
63399         * m4/st_mtim.m4: Indentation.
63400
63401         Module nanosleep.
63402         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
63403         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
63404         gl_PREREQ_NANOSLEEP.
63405
63406         Module regex.
63407         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
63408         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
63409         (gl_REGEX): New macro.
63410
63411         Module rename.
63412         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
63413         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
63414
63415         Module rmdir.
63416         * m4/rmdir.m4: New file.
63417
63418         Module utime.
63419         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
63420         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
63421         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
63422
63423         Module dirname.
63424         * m4/dirname.m4: New file.
63425
63426         Module getopt.
63427         * m4/getopt.m4: New file.
63428
63429         Module unistd-safer.
63430         * m4/unistd-safer.m4: New file.
63431
63432         Module fnmatch.
63433         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
63434         declaration.
63435         (gl_PREREQ_FNMATCH_EXTRA): New macro.
63436         (gl_FUNC_FNMATCH_POSIX): New macro.
63437         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
63438         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
63439         simply fnmatch.
63440
63441         Module exclude.
63442         * m4/exclude.m4: New file.
63443
63444         Module human.
63445         * m4/human.m4: New file.
63446
63447         Module acl.
63448         * m4/acl.m4: Nop.
63449
63450         Module backupfile.
63451         * m4/backupfile.m4: New file.
63452         * m4/d-ino.m4: Indentation.
63453
63454         Module fsusage.
63455         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
63456         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
63457         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
63458
63459         Module dirfd.
63460         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
63461         requirements.
63462
63463         Module euidaccess.
63464         * m4/euidaccess.m4: New file.
63465
63466         Module file-type.
63467         * m4/file-type.m4: New file.
63468
63469         Module fileblocks.
63470         * m4/fileblocks.m4: New file.
63471
63472         Module filemode.
63473         * m4/filemode.m4: New file.
63474
63475         Module isdir.
63476         * m4/isdir.m4: New file.
63477
63478         Module lchown.
63479         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
63480         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
63481
63482         Module makepath.
63483         * m4/makepath.m4: New file.
63484
63485         Module modechange.
63486         * m4/modechange.m4: New file.
63487
63488         Module mountlist.
63489         * m4/mountlist.m4: New file.
63490         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
63491         Indentation.
63492
63493         Module path-concat.
63494         * m4/path-concat.m4: New file.
63495
63496         Module pathmax.
63497         * m4/pathmax.m4: New file.
63498
63499         Module same.
63500         * m4/same.m4: New file.
63501
63502         Module save-cwd.
63503         * m4/save-cwd.m4: New file.
63504
63505         Module savedir.
63506         * m4/savedir.m4: New file.
63507
63508         Module xgetcwd.
63509         * m4/xgetcwd.m4: New file.
63510         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
63511
63512         Module xreadlink.
63513         * m4/xreadlink.m4: New file.
63514
63515         Module safe-read.
63516         * m4/safe-read.m4: New file.
63517
63518         Module safe-write.
63519         * m4/safe-write.m4: New file.
63520
63521         Module closeout.
63522         * m4/closeout.m4: New file.
63523
63524         Module stdio-safer.
63525         * m4/stdio-safer.m4: New file.
63526
63527         Module getpass.
63528         * m4/getpass.m4: New file.
63529
63530         Module getugroups.
63531         * m4/getugroups.m4: New file.
63532
63533         Module group-member.
63534         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
63535         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
63536
63537         Module idcache.
63538         * m4/idcache.m4: New file.
63539
63540         Module userspec.
63541         * m4/userspec.m4: New file.
63542
63543         Module gettime.
63544         * m4/clock_time.m4: New file.
63545         * m4/gettime.m4: New file.
63546
63547         Module settime.
63548         * m4/settime.m4: New file.
63549
63550         Module posixtm.
63551         * m4/posixtm.m4: New file.
63552
63553         Module gethostname.
63554         * m4/gethostname.m4: New file.
63555
63556         Module canon-host.
63557         * m4/canon-host.m4: New file.
63558
63559         Module gettext.
63560         * m4/codeset.m4: New file, from gettext-0.11.5.
63561         * m4/gettext.m4: New file, from gettext-0.11.5.
63562         * m4/glibc21.m4: New file, from gettext-0.11.5.
63563         * m4/iconv.m4: New file, from gettext-0.11.5.
63564         * m4/intdiv0.m4: New file, from gettext-0.11.5.
63565         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
63566         * m4/inttypes.m4: New file, from gettext-0.11.5.
63567         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
63568         * m4/isc-posix.m4: New file, from gettext-0.11.5.
63569         * m4/lcmessage.m4: New file, from gettext-0.11.5.
63570         * m4/lib-ld.m4: New file, from gettext-0.11.5.
63571         * m4/lib-link.m4: New file, from gettext-0.11.5.
63572         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
63573         * m4/progtest.m4: New file, from gettext-0.11.5.
63574         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
63575         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
63576         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
63577
63578         Module localcharset.
63579         * m4/localcharset.m4: New file.
63580
63581         Module hard-locale.
63582         * m4/hard-locale.m4: New file.
63583
63584         Module mbswidth.
63585         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
63586         onceonly macros.
63587         * m4/mbrtowc.m4: Add comment.
63588
63589         Module memcasecmp.
63590         * m4/memcasecmp.m4: New file.
63591
63592         Module memcoll.
63593         * m4/memcoll.m4: New file.
63594
63595         Module unicodeio.
63596         * m4/unicodeio.m4: New file.
63597
63598         Module rpmatch.
63599         * m4/rpmatch.m4: New file.
63600
63601         Module yesno.
63602         * m4/yesno.m4: New file.
63603
63604         Module exitfail.
63605         * m4/exitfail.m4: New file.
63606
63607         Module c-stack.
63608         * m4/c-stack.m4 (gl_C_STACK): New macro.
63609         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
63610
63611         Module error.
63612         * m4/error.m4 (gl_ERROR): New macro.
63613         (jm_PREREQ_ERROR): Use onceonly macros.
63614
63615         Module fatal.
63616         * m4/fatal.m4: New file.
63617
63618         Module getloadavg.
63619         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
63620         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
63621
63622         Module getpagesize.
63623         * m4/getpagesize.m4: New file.
63624
63625         Module getusershell.
63626         * m4/getusershell.m4: New file.
63627
63628         Module physmem.
63629         * m4/physmem.m4: New file.
63630
63631         Module posixver.
63632         * m4/posixver.m4: New file.
63633
63634         Module quotearg.
63635         * m4/quotearg.m4: New file.
63636
63637         Module quote.
63638         * m4/quote.m4: New file.
63639
63640         Module readutmp.
63641         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
63642
63643         Module sig2str.
63644         * m4/sig2str.m4: New file.
63645
63646         Other.
63647         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
63648         ulonglong.m4.
63649         * m4/intmax_t.m4: New file.
63650         * m4/d-type.m4: Indentation.
63651         * m4/jm-macros.m4: Update.
63652         * m4/prereq.m4 (jm_PREREQ): Update.
63653         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
63654         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
63655         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
63656         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
63657         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
63658         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
63659         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
63660         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
63661         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
63662         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
63663         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
63664         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
63665         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
63666         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
63667         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
63668         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
63669         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
63670         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
63671         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
63672
63673 2002-12-24  Bruno Haible  <bruno@clisp.org>
63674
63675         * MODULES.txt: Update according to m4/ changes.
63676
63677         Module gettext.
63678         * config.rpath: New file, from gettext-0.11.5.
63679
63680         * modules/*: New module descriptions.
63681         * gnulib-tool: New file.
63682         * MODULES.html.sh: New file.
63683
63684 2002-12-21  Karl Berry  <karl@gnu.org>
63685
63686         * doc/fdl.texi: update to version 1.2.
63687
63688 2002-12-19  Karl Berry  <karl@gnu.org>
63689
63690         * config/config.guess: update from prep.
63691
63692 2002-12-18  Bruno Haible  <bruno@clisp.org>
63693
63694         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
63695         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
63696
63697 2002-12-17  Bruno Haible  <bruno@clisp.org>
63698
63699         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
63700         stdlib.h, string.h.
63701
63702 2002-12-17  Bruno Haible  <bruno@clisp.org>
63703
63704         * lib/canon-host.c (strdup): Remove unused declaration.
63705
63706         * lib/fsusage.c: Include full_read.h.
63707         (get_fs_usage): Use full_read instead of safe_read.
63708
63709         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
63710
63711 2002-12-12  Karl Berry  <karl@gnu.org>
63712
63713         * config/config.guess: update from prep.
63714
63715 2002-12-11  Bruno Haible  <bruno@clisp.org>
63716
63717         * m4/setenv.m4: New file, from gettext-0.11.5.
63718
63719 2002-12-11  Bruno Haible  <bruno@clisp.org>
63720
63721         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
63722         not unsetenv().
63723         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
63724         modifications:
63725
63726         2002-12-11  Bruno Haible  <bruno@clisp.org>
63727
63728                 * setenv.c (alloca): Fall back to malloc.
63729                 (freea): New macro.
63730                 (setenv): Use freea() to free memory allocated with alloca().
63731
63732         2002-11-13  Bruno Haible  <bruno@clisp.org>
63733
63734                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
63735                 function declarations.
63736                 * unsetenv.c (unsetenv): Likewise.
63737
63738         2002-03-04  Bruno Haible  <bruno@clisp.org>
63739
63740                 Portability to AIX 4.3.3.
63741                 * unsetenv.c: New file, extracted from setenv.c.
63742                 * setenv.c: Move the unsetenv() function to unsetenv.c.
63743
63744         2001-12-20  Bruno Haible  <bruno@clisp.org>
63745
63746                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
63747                 use malloc instead. For SunOS 4.
63748
63749         2001-12-11  Bruno Haible  <bruno@clisp.org>
63750
63751                 * setenv.c: Declare alloca.
63752                 (compar_fn_t): New typedef.
63753                 (KNOWN_VALUE, STORE_VALUE): Use it.
63754
63755         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
63756         setenv.h.
63757
63758 2002-12-10  Paul Eggert  <eggert@twinsun.com>
63759
63760         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
63761         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
63762         Choose values that are less likely to collide with system fnmatch
63763         options.
63764         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
63765         defined (e.g., a pure POSIX system).
63766         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
63767         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
63768
63769 2002-12-06  Paul Eggert  <eggert@twinsun.com>
63770
63771         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
63772         a pain in practice to deal with generated m4 files.  This change
63773         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
63774
63775         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
63776         and jm-glibc-io.m4, as they are no longer a special case.
63777         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
63778         kludge and the auto-generation stuff.  Check only whether the
63779         functions are declared, not whether they exist, since older hosts
63780         that don't declare the functions can't use the optimization anyway.
63781
63782 2002-12-06  Jim Meyering  <jim@meyering.net>
63783
63784         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
63785
63786         Merge in changes from libc's misc/error.c, in preparation
63787         for the merge of gnulib's changes back into libc.
63788
63789         * lib/error.c (_): Define only if not already defined.
63790         Move definition to follow all #include directives.
63791         Include unlocked-io.h only if !_LIBC.
63792         [_LIBC]: Include <libio/libioP.h>.
63793         [USE_IN_LIBIO]: Include <libio/iolibio.h>
63794         (fflush): Tweak definition to use INTUSE.
63795         (putc): Define.
63796
63797 2002-12-05  Paul Eggert  <eggert@twinsun.com>
63798
63799         * lib/alloca.c [defined emacs]: Include "lisp.h".
63800         (xalloc_die) [defined emacs]: New macro.
63801         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
63802         [! defined emacs]: Include <xalloc.h>.
63803         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
63804         (pointer): Typedef to POINTER_TYPE *.
63805         (malloc): Remove decl; we now always use xmalloc.
63806         (alloca): Use old-style definition, since Emacs needs this.
63807         Check for arithmetic overflow when computing combined size.
63808
63809 2002-12-04  Paul Eggert  <eggert@twinsun.com>
63810
63811         Do not generate unlocked-io.h automatically, since it's easier to
63812         maintain it by hand.
63813
63814         * lib/unlocked-io.h: New file, from GNU diffutils,
63815         but with proper copyright notice and attribution.
63816         * lib/gen-uio: Remove.
63817         * lib/Makefile.am: Add copyright notice.
63818         (libfetish_a_SOURCES): Add unlocked-io.h.
63819         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
63820         (DISTCLEANFILES, io_functions): Remove macros.
63821         (EXTRA_DIST): Remove gen_uio.
63822         (unlocked-io.h): Remove rule.
63823
63824 2002-12-04  Jim Meyering  <jim@meyering.net>
63825
63826         Reflect the fact that stat.c and lstat.c are no longer generated.
63827         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
63828         (DISTCLEANFILES): Likewise.
63829         (EXTRA_DIST): Likewise.
63830         (all_local): Don't depend on stat.c or lstat.c.
63831         (stat.c, lstat.c): Remove rules.
63832         (EXTRA_DIST): Remove xstat.in.
63833
63834         * lib/xstat.in: Remove file.  Contents moved into stat.c.
63835         * lib/stat.c: New file.  Contents mostly from xstat.in.
63836         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
63837         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
63838
63839         * lib/safe-read.c: Rework so that it may serve to define safe_write,
63840         too.
63841         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
63842
63843 2002-12-03  Jim Meyering  <jim@meyering.net>
63844
63845         * lib/safe-read.c, safe-write.c: Change variable names and comments,
63846         but not semantics, to minimize the differences between these two files.
63847         (safe_read): Change comment to mention SAFE_READ_ERROR.
63848
63849         * lib/safe-read.c (IS_EINTR): Define.
63850         (safe_read): Use IS_EINTR in place of in-function cpp directives.
63851
63852 2002-12-02  Jim Meyering  <jim@meyering.net>
63853
63854         * lib/safe-read.c (EINTR): Define.
63855         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
63856         (INT_MAX): Provide fallback.
63857         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
63858
63859         * lib/safe-read.h (SAFE_READ_ERROR): Define.
63860
63861 2002-12-02  Bruno Haible  <bruno@clisp.org>
63862
63863         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
63864         Define, taken from safe-read.c.
63865         (INT_MAX): Provide fallback.
63866         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
63867         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
63868
63869         * lib/safe-read.c (EINTR): Remove definition.
63870         (safe_read): Don't use EINTR if it is absent.
63871
63872 2002-12-01  Jim Meyering  <jim@meyering.net>
63873
63874         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
63875         zero.
63876         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
63877
63878 2002-11-27  Paul Eggert  <eggert@twinsun.com>
63879
63880         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
63881         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
63882         with `if (! (value < limit)) abort ();', for readability.
63883
63884 2002-11-26  Karl Berry  <karl@gnu.org>
63885
63886         * lib/strdup.c: copy from libc again, with jim's ok.
63887         * lib/.cppi-disable: re-add strdup.c
63888
63889 2002-11-25  Karl Berry  <karl@gnu.org>
63890
63891         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
63892         instead of "strtol.c".
63893
63894 2002-11-25  Karl Berry  <karl@gnu.org>
63895
63896         * config/install-sh: update from automake for variable quoting, $0 in
63897         error msgs, etc.
63898
63899         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
63900         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
63901         entry.
63902
63903 2002-11-25  Jim Meyering  <jim@meyering.net>
63904
63905         * lib/mktime.c: Sync from libc, now that it has the latest fix.
63906
63907 2002-11-24  Karl Berry  <karl@gnu.org>
63908
63909         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
63910         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
63911
63912 2002-11-24  Jim Meyering  <jim@meyering.net>
63913
63914         Update from coreutils:
63915
63916         * lib/mktime.c: Merge in changes from libc.
63917
63918         Avoid a link-time failure on some Linux systems.
63919         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
63920         (otherwise).
63921         (__mon_yday): Declare with the STATIC attribute.
63922         (__mktime_internal): Likewise.
63923         Based on a report from Greg Schafer.
63924
63925 2002-11-23  Jim Meyering  <jim@meyering.net>
63926
63927         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
63928         Use `unsigned', not `int', as type of index.
63929
63930         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
63931
63932         * lib/fsusage.c: Remove unneeded parentheses around operands of
63933         `defined'.
63934
63935 2002-11-22  Paul Eggert  <eggert@twinsun.com>
63936
63937         * lib/quotearg.h: Allow multiple inclusion by surrounding with
63938         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
63939         so that we can be included first.
63940         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
63941         * lib/quotearg.c: Include quotearg.h immediately after config.h.
63942         No need to include stddef.h or sys/types.h any more.
63943         Surround local include files with "", not "<>".
63944         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
63945         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
63946         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
63947         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
63948         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
63949         (ISPRINT): Remove; no longer needed now that we assume C89.
63950
63951         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
63952         Preserve errno.
63953
63954         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
63955         quotearg_char): Use SIZE_MAX rather than
63956         (size_t) -1 when we are talking about "infinity".
63957
63958         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
63959
63960 2002-11-22  Paul Eggert  <eggert@twinsun.com>
63961
63962         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
63963         hint that one should use `if (! x) abort ();' rather than `assert
63964         (x);', and anyway it's one less thing to worry about configuring.
63965         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
63966         hash_rehash, hash_insert): Use abort rather than assert.
63967
63968 2002-11-22  Bruno Haible  <bruno@clisp.org>
63969
63970         * lib/safe-read.h: Assume C89. Add comments.
63971         (safe_read): Change return type to size_t.
63972         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
63973         byte counts > SSIZE_MAX correctly.
63974         * lib/safe-write.h: New file.
63975         * lib/safe-write.c: New file.
63976         * lib/full-read.h: New file.
63977         * lib/full-read.c: New file.
63978         * lib/full-write.h: Assume C89. Add comments.
63979         * lib/full-write.c: Include safe-write.h.
63980         (full_write): Rewritten to use safe_write.
63981         Suggested by Jim Meyering and Paul Eggert.
63982
63983 2002-11-21  Jim Meyering  <jim@meyering.net>
63984
63985         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
63986
63987         Merge in changes from the coreutils.
63988
63989         2002-09-25  Paul Eggert  <eggert@twinsun.com>
63990         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
63991         <stdint.h>.
63992         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
63993         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
63994         int.  Work more efficiently if X is the same width as uintmax_t.
63995         Do not compare X to -1, to avoid bogus compiler warning.
63996         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
63997         Don't assume that f_frsize and f_bsize are the same type.
63998
63999         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
64000         warning on FreeBSD.
64001
64002         * lib/makepath.c (make_path): Restore umask *before* creating the final
64003         component.
64004         (make_path): Minor reformatting.
64005
64006         * lib/xmalloc.c: Adjust to work with new autoconf macros,
64007         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
64008         HAVE_MALLOC/HAVE_REALLOC.
64009
64010         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
64011         dummy ones.  At least on GNU/Linux systems, `auto' means something
64012         else.
64013         From Michael Stone.
64014
64015 2002-11-21  Bruno Haible  <bruno@clisp.org>
64016
64017         Remove case insensitive option matching.
64018         * lib/argmatch.h (argcasematch): Remove declaration.
64019         (ARGCASEMATCH): Remove macro.
64020         (__xargmatch_internal): Remove case_sensitive argument.
64021         (XARGMATCH): Update.
64022         (XARGCASEMATCH): Remove macro.
64023         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
64024         case_sensitive argument.
64025         (argcasematch): Remove function.
64026         (__xargmatch_internal): Remove case_sensitive argument.
64027         (main): Use XARGMATCH instead of XARGCASEMATCH.
64028
64029         * lib/xmalloc.c: Change compile-time error message. Add comment about
64030         required autoconf version.
64031
64032 2002-11-20  Paul Eggert  <eggert@twinsun.com>
64033
64034         Merge argmatch cleanups from Bison.  Assume C89.
64035
64036         * lib/argmatch.c: Include config.h here, not in argmatch.h.
64037         Include stdlib.h, for EXIT_FAILURE.
64038         Always include <string.h>, since we assume C89.
64039         (EXIT_FAILURE): Remove pre-C89 bug workaround.
64040         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
64041         Include <stddef.h> instead, since it's all we need for size_t.
64042         (PARAMS): Remove.  All uses removed.
64043         (ARRAY_CARDINALITY): Do not bother to #undef.
64044         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
64045         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
64046         Remove unnecessary parentheses.
64047         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
64048         Insert necessary parentheses.
64049         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
64050         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
64051
64052 2002-11-19  Bruno Haible  <bruno@clisp.org>
64053
64054         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
64055         * lib/mbswidth.h: Include <stddef.h>, for size_t.
64056
64057         * lib/mbswidth.h (PARAMS): Remove macro.
64058         (mbswidth, mbsnwidth): Use ANSI C function declarations.
64059         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
64060
64061         * lib/gcd.h (PARAMS): Remove macro.
64062         (gcd): Use ANSI C function declarations.
64063         * lib/gcd.c (gcd): Likewise.
64064
64065 2002-11-15  Bruno Haible  <bruno@clisp.org>
64066
64067         * lib/strcspn.c: Include <stddef.h>.
64068         (strcspn): Use ANSI C function declaration. Change return type to
64069         size_t. Use NULL.
64070         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
64071         (strpbrk): Use NULL.
64072         * lib/strpbrk.h (PARAMS): Remove macro.
64073         (strpbrk): Use ANSI C function declaration.
64074         * lib/strstr.c: Don't include <sys/types.h>.
64075         * lib/strstr.h (PARAMS): Remove macro.
64076         (strstr): Use ANSI C function declarations.
64077
64078 2002-11-14  Karl Berry  <karl@gnu.org>
64079
64080         * config/mkinstalldirs: `do' on separate line, instead of
64081         `for var; do'.
64082
64083 2002-11-06  Bruno Haible  <bruno@clisp.org>
64084
64085         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
64086         * lib/gcd.c (gcd): Likewise.
64087
64088 2002-11-05  Bruno Haible  <bruno@clisp.org>
64089
64090         * lib/gcd.h: New file, from gettext-0.11.5.
64091         * lib/gcd.c: New file, from gettext-0.11.5.
64092
64093 2002-11-05  Bruno Haible  <bruno@clisp.org>
64094
64095         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
64096         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
64097         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
64098         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
64099
64100         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
64101         <libintl.h>.
64102         * lib/makepath.c: Include gettext.h instead of <locale.h> and
64103         <libintl.h>.
64104
64105         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
64106         * lib/human.c: Include gettext.h instead of <libintl.h>.
64107         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
64108         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
64109         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
64110         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
64111         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
64112         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
64113         (textdomain): Remove definition.
64114         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
64115
64116         * lib/long-options.c: Remove include of <libintl.h> and definition of
64117         _.
64118         * lib/same.c: Remove include of <libintl.h> and definition of _.
64119
64120 2002-11-04  Owen Taylor  <otaylor@redhat.com>
64121
64122         * lib/config.charset: A few additions for Solaris.
64123
64124 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
64125
64126         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
64127         * lib/localcharset.c (locale_charset): Declare as extern "C".
64128
64129 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
64130
64131         * lib/config.charset: msdos in uk_UA uses CP1125.
64132
64133 2002-11-04  Bruno Haible  <bruno@clisp.org>
64134
64135         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
64136         * lib/strcase.h: New file, from GNU gettext-0.11.5.
64137         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
64138         * lib/strstr.h: New file, from GNU gettext-0.11.5.
64139         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
64140
64141 2002-11-04  Bruno Haible  <bruno@clisp.org>
64142
64143         * lib/localcharset.c (locale_charset): Don't return an empty string.
64144
64145 2002-11-04  Bruno Haible  <bruno@clisp.org>
64146
64147         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
64148         aliases.
64149
64150 2002-11-04  Bruno Haible  <bruno@clisp.org>
64151
64152         * lib/config.charset: Update for newest glibc. Add canonical names
64153         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
64154
64155 2002-11-04  Bruno Haible  <bruno@clisp.org>
64156
64157         * lib/config.charset: Add support for NetBSD.
64158
64159 2002-11-04  Bruno Haible  <bruno@clisp.org>
64160
64161         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
64162
64163 2002-11-01  Bruno Haible  <bruno@clisp.org>
64164
64165         * configure.in: Add AC_CONFIG_AUX_DIR call.
64166         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
64167         test/Makefile.
64168         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
64169
64170 2002-09-28  Karl Berry  <karl@gnu.org>
64171
64172         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
64173         installed automake until the next release, since changes have been
64174         made.
64175
64176 2002-09-25  Karl Berry  <karl@gnu.org>
64177
64178         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
64179         * lib/getopt*: copy from libc/posix.
64180         * lib/gettext.h: copy from gettext.
64181         * lib/.cppi-disable: add strdup.c, gettext.h.
64182
64183 2002-09-25  Karl Berry  <karl@gnu.org>
64184
64185         * config/srclist.txt: enable gettext.h check.
64186         * config/config.{guess,sub}: update from prep.
64187         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
64188                 from automake 1.6.3.
64189         See srclist*.
64190
64191 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
64192
64193         * regex.c (PATFETCH): Remove the translating fetch.
64194         (PATFETCH_RAW): Rename to PATFETCH.
64195         (set_image_of_range): New fun.
64196         (SET_RANGE_TABLE_WORK_AREA): Use it.
64197         (regex_compile): Don't translate the pattern chars so eagerly.
64198         Only do it when inserting an `exactn' bytecode or when handling
64199         a char-range.
64200         (mutually_exclusive_p): Avoid empty statement.
64201
64202 2002-07-06  Jim Meyering  <meyering@lucent.com>
64203
64204         * m4/README: Don't mention Makefile.am.in.
64205         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
64206
64207 2002-07-01  Jim Meyering  <meyering@lucent.com>
64208
64209         * lib/c-stack.c: Include sys/time.h.
64210         From Volker Borchert.
64211
64212 2002-06-26  Paul Eggert  <eggert@twinsun.com>
64213
64214         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
64215
64216 2002-06-26  Paul Eggert  <eggert@twinsun.com>
64217
64218         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
64219         New macro.  Use it uniformly instead of
64220         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
64221         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
64222         reported by Vin Shelton.
64223
64224 2002-06-22  Paul Eggert  <eggert@twinsun.com>
64225
64226         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
64227         Do not assume SA_SIGINFO behavior.
64228         Bug reported by Jim Meyering on NetBSD 1.5.2.
64229
64230 2002-06-22  Jim Meyering  <meyering@lucent.com>
64231
64232         * m4/c-stack.m4: New file, from diffutils-2.8.2.
64233         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
64234
64235         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
64236         now that configure.ac uses AC_GNU_SOURCE.
64237         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
64238         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
64239
64240         Update to latest tools.  Suggestions from Paul Eggert.
64241         * m4/stdbool.m4: New file, from diffutils-2.8.2.
64242         * m4/gnu-source.m4: Update from diffutils-2.8.2.
64243         * m4/fnmatch.m4: Likewise.
64244         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
64245         to AC_HEADER_STDBOOL
64246
64247 2002-06-22  Jim Meyering  <meyering@lucent.com>
64248
64249         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
64250         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
64251
64252 2002-06-22  Jim Meyering  <meyering@lucent.com>
64253
64254         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
64255
64256         * lib/exitfail.c, exitfail.h: Likewise.
64257         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
64258
64259         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
64260         of fnmatch.h.
64261         (EXTRA_DIST): Add fnmatch_loop.c.
64262         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
64263
64264         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
64265         * lib/fnmatch.c: Update from diffutils-2.8.2.
64266         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
64267         * lib/fnmatch.h: Remove file.
64268
64269 2002-06-21  Jim Meyering  <meyering@lucent.com>
64270
64271         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
64272         * m4/mbrtowc.m4: Likewise.
64273
64274         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
64275         * m4/mbswidth.m4: Reflect name change:
64276         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
64277         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
64278
64279         * m4/lib-link.m4: Update from gettext-0.11.2.
64280         * m4/gettext.m4: Likewise.
64281
64282         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
64283         From Alfred M. Szmidt.
64284
64285 2002-06-18  Paul Eggert  <eggert@twinsun.com>
64286
64287         * lib/file-type.h: Report an error if neither S_ISREG nor
64288         S_IFREG is defined, instead of using a test specific to glibc
64289         2.2.  This should be safe, since POSIX requires S_ISREG and
64290         Unix Version 7 had S_IFREG.  We don't need to check for
64291         <sys/types.h> since we don't use any symbols that it defines.
64292
64293 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
64294
64295         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
64296         $@-t, so that each temporary file name is unique and valid in the first
64297         8 characters, for operation under DOS.
64298
64299 2002-06-15  Paul Eggert  <eggert@twinsun.com>
64300
64301         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
64302
64303 2002-06-15  Jim Meyering  <meyering@lucent.com>
64304
64305         Work even with DJGPP 2.03, which lacks support for symlinks.
64306         From Richard Dawe.
64307         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
64308         is defined.
64309         * lib/lchown.c (S_ISLNK): Likewise.
64310
64311 2002-06-15  Jim Meyering  <meyering@lucent.com>
64312
64313         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
64314         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
64315         have been included before this file.
64316
64317 2002-06-14  Jim Meyering  <meyering@lucent.com>
64318
64319         * lib/file-type.h: Use the version from diffutils-2.8.2.
64320         * lib/file-type.c: Likewise.
64321
64322 2002-06-07  Jim Meyering  <meyering@lucent.com>
64323
64324         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
64325         They're needed at least for NetBSD 1.5.2.
64326         ($statxfs_includes): Include those same headers.
64327         ($statxfs_includes): Include sys/vfs.h if available.
64328         ($statxfs_includes): Likewise for sys/statvfs.h.
64329         Check for the following members in both structs statfs and statvfs:
64330         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
64331
64332 2002-06-01  Jim Meyering  <meyering@lucent.com>
64333
64334         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
64335         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
64336
64337 2002-05-28  Jim Meyering  <meyering@lucent.com>
64338
64339         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
64340         Reported by Volker Borchert.
64341
64342 2002-05-27  Jim Meyering  <meyering@lucent.com>
64343
64344         Fix a problem seen only on nonconforming systems whereby ls.c's
64345         use of localtime, and then of gettimeofday would cause trouble:
64346         the localtime call used to initialize rpl_gettimeofday's save
64347         mechanism would clobber ls's current local time information so
64348         that in any long listing the first file would always be listed
64349         with date 1970-01-01.  Analysis by Volker Borchert.
64350
64351         * lib/gettimeofday.c (localtime): Undefine.
64352         (rpl_localtime): New function.
64353
64354 2002-05-27  Jim Meyering  <meyering@lucent.com>
64355
64356         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
64357         localtime.
64358
64359         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
64360         use the replacement function; it wouldn't resolve at link time.
64361         Reported by Volker Borchert.
64362
64363 2002-05-22  Jim Meyering  <meyering@lucent.com>
64364
64365         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
64366         file-type.h.
64367         * lib/file-type.h: New file.
64368         * lib/file-type.c (file_type): New file/function.  Extracted from
64369         diffutils.
64370
64371 2002-04-30  Jim Meyering  <meyering@lucent.com>
64372
64373         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
64374
64375 2002-04-29  Paul Eggert  <eggert@twinsun.com>
64376
64377         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
64378
64379 2002-04-29  Paul Eggert  <eggert@twinsun.com>
64380
64381         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
64382         Do not check for alloca.h (no longer used) or stdbool.h (was never
64383         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
64384
64385 2002-04-29  Paul Eggert  <eggert@twinsun.com>
64386
64387         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
64388
64389 2002-04-29  Jim Meyering  <meyering@lucent.com>
64390
64391         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
64392         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
64393         Use AC_FUNC_STRNLEN here instead.
64394
64395         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
64396         With autoconf-2.53a, it's part of AC_PROG_CC.
64397
64398 2002-04-28  Paul Eggert  <eggert@twinsun.com>
64399
64400         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
64401         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
64402
64403 2002-04-28  Paul Eggert  <eggert@twinsun.com>
64404
64405         * lib/sig2str.h, lib/sig2str.c: New files.
64406         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
64407
64408 2002-04-28  Paul Eggert  <eggert@twinsun.com>
64409
64410         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
64411         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
64412         of 127, since 64 is the largest conceivable number for ancient
64413         nonstandard hosts.
64414         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
64415
64416 2002-04-28  Jim Meyering  <meyering@lucent.com>
64417
64418         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
64419
64420 2002-04-24  Jim Meyering  <meyering@lucent.com>
64421
64422         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
64423         (jm_PREREQ): Use it.
64424
64425         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
64426         mach/mach.h fcntl.h.
64427         Check for this function: setlocale.
64428
64429 2002-04-24  Jim Meyering  <meyering@lucent.com>
64430
64431         * lib/gettext.h: New file, from Gettext.
64432         * lib/Makefile.am (INCLUDES): Remove -I../intl.
64433         (libfetish_a_SOURCES): Add gettext.h.
64434
64435 2002-04-16  Jim Meyering  <meyering@lucent.com>
64436
64437         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
64438         ut_pid, ut_id, ut_exit.
64439
64440 2002-04-16  Jim Meyering  <meyering@lucent.com>
64441
64442         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
64443         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
64444         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
64445
64446 2002-04-12  Jim Meyering  <meyering@lucent.com>
64447
64448         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
64449         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
64450         existence of the getmntinfo function.  Needed for Darwin 5.3.
64451
64452         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
64453         This is necessary at least on Darwin 5.3.
64454
64455         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
64456         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
64457         strnlen.o in the library, and that makes some versions of ranlib
64458         object.
64459
64460 2002-04-12  Jim Meyering  <meyering@lucent.com>
64461
64462         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
64463
64464 2002-04-09  Jim Meyering  <meyering@lucent.com>
64465
64466         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
64467         to be more precise.  Rather than saying we're checking whether the
64468         function `works', say what we're testing.
64469         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
64470         Reported by Bruno Haible.
64471
64472 2002-03-10  Jim Meyering  <meyering@lucent.com>
64473
64474         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
64475         Suggestion from Santiago Vila.
64476
64477 2002-03-08  Jim Meyering  <meyering@lucent.com>
64478
64479         * lib/rename.c: Mention that this wrapper is needed also on
64480         mips-dec-ultrix4.4 systems.
64481
64482 2002-03-02  Jim Meyering  <meyering@lucent.com>
64483
64484         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
64485         not HAVE_CLOCK_SETTIME.
64486
64487 2002-02-27  Paul Eggert  <eggert@twinsun.com>
64488
64489         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
64490         Check for clock_settime.
64491
64492 2002-02-27  Paul Eggert  <eggert@twinsun.com>
64493
64494         * lib/nanosleep.h: Rename to....
64495         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
64496
64497         * lib/gettime.c: New file.
64498         * lib/settime.c: New file.
64499         * lib/stime.c: Remove.
64500
64501         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
64502         timespec.h.  Remove nanosleep.h.
64503
64504 2002-02-25  Paul Eggert  <eggert@twinsun.com>
64505
64506         * m4/acl.m4: New file.
64507         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
64508         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
64509
64510 2002-02-25  Paul Eggert  <eggert@twinsun.com>
64511
64512         * lib/acl.c, lib/acl.h: New files.
64513         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
64514
64515 2002-02-24  Jim Meyering  <meyering@lucent.com>
64516
64517         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
64518         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
64519         cause trouble.  Reported by Nelson Beebe.
64520
64521 2002-02-23  Paul Eggert  <eggert@twinsun.com>
64522
64523         * lib/path-concat.c (xpath_concat): Reorder code to pacify
64524         compilers that don't know that xalloc_die never returns.
64525
64526 2002-02-20  Jim Meyering  <meyering@lucent.com>
64527
64528         * lib/getdate.c: Regenerate using bison-1.33.
64529
64530 2002-02-17  Jim Meyering  <meyering@lucent.com>
64531
64532         * config/config.guess (main): Don't use `head -1'; it's no longer
64533         portable. Use `sed 1q' instead.
64534
64535 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
64536
64537         * m4/codeset.m4: Upgrade to gettext-0.11.
64538         * m4/gettext.m4: Upgrade to gettext-0.11.
64539         * m4/glibc21.m4: Upgrade to gettext-0.11.
64540         * m4/iconv.m4: Upgrade to gettext-0.11.
64541         * m4/isc-posix.m4: Upgrade to gettext-0.11.
64542         * m4/lcmessage.m4: Upgrade to gettext-0.11.
64543         * m4/lib-ld.m4: New file, from gettext-0.11.
64544         * m4/lib-link.m4: New file, from gettext-0.11.
64545         * m4/lib-prefix.m4: New file, from gettext-0.11.
64546         * m4/progtest.m4: Upgrade to gettext-0.11.
64547
64548 2002-02-15  Paul Eggert  <eggert@twinsun.com>
64549
64550         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
64551         (jm_PREREQ): Use it.
64552
64553 2002-02-15  Paul Eggert  <eggert@twinsun.com>
64554
64555         * lib/posixver.c, lib/posixver.h: New files.
64556         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
64557
64558 2002-02-02  Paul Eggert  <eggert@twinsun.com>
64559             Bruno Haible  <bruno@clisp.org>
64560
64561         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
64562         (fwrite_success_callback): New declaration.
64563         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
64564         print_unicode_char. Call failure callback instead of error.
64565         (fwrite_success_callback): New function.
64566         (exit_failure_callback): New function.
64567         (fallback_failure_callback): New function.
64568         (print_unicode_char): Call unicode_to_mb.
64569
64570 2002-01-26  Jim Meyering  <meyering@lucent.com>
64571
64572         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
64573         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
64574
64575 2002-01-26  Jim Meyering  <meyering@lucent.com>
64576
64577         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
64578
64579 2002-01-22  Paul Eggert  <eggert@twinsun.com>
64580
64581         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
64582
64583 2002-01-22  Jim Meyering  <meyering@lucent.com>
64584
64585         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
64586         Otherwise, some versions of automake would omit the rule that makes
64587         Makefile from Makefile.in.
64588
64589 2002-01-21  Paul Eggert  <eggert@twinsun.com>
64590
64591         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
64592         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
64593         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
64594         (memcoll): Set errno to zero if there is no error.
64595
64596         * lib/quotearg.c (quotearg_buffer_restyled):
64597         Fix bug with quoting buffers containing NUL when backslashing escapes.
64598         This bug was exposed by the other changes in this patch.
64599         (quotearg_n_options): New arg ARGSIZE.
64600         All callers changed.
64601         (quoting_options_from_style): New function.
64602         (quotearg_n_style): Use it.
64603         (quotearg_n_style_mem): New function.
64604
64605         * lib/quotearg.h (quotearg_n_style_mem): New function.
64606
64607 2002-01-19  Jim Meyering  <meyering@lucent.com>
64608
64609         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
64610         Remove useless quotes: DF_PROG="df".
64611         * m4/strnlen.m4: New file.
64612
64613 2002-01-16  Paul Eggert  <eggert@twinsun.com>
64614
64615         * lib/backupfile.c (ISDIGIT): Comment fix.
64616         * lib/getdate.y (ISDIGIT): Likewise.
64617         * lib/posixtm.c (ISDIGIT, year): Likewise.
64618         * lib/strverscmp.c (ISDIGIT): Likewise.
64619         * lib/userspec.c (ISDIGIT): Likewise.
64620
64621 2002-01-16  Jim Meyering  <meyering@lucent.com>
64622
64623         * lib/getdate.y: Add three semicolons, each just before a closing
64624         brace. Bison (as of version 1.31) no longer papers over that mistake.
64625
64626 2002-01-05  Jim Meyering  <meyering@lucent.com>
64627
64628         * lib/version-etc.c (version_etc_copyright): Update copyright year.
64629
64630 2001-12-19  Paul Eggert  <eggert@twinsun.com>
64631
64632         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
64633         not silently exit merely because the output buffer happens to
64634         have nothing pending.
64635
64636 2001-12-18  Paul Eggert  <eggert@twinsun.com>
64637
64638         See the big note in ../ChangeLog.
64639         * lib/human.c (suffixes): Prefer K to k for 1024.
64640         (generate_suffix_backwards): New function.
64641         (human_readable_inexact): Use it.
64642         * lib/xstrtol.c (__xstrtol): If there is no number but there
64643         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
64644         Accept 'K' as well as 'k'.
64645
64646 2001-12-15  Jim Meyering  <meyering@lucent.com>
64647
64648         * lib/regex.h (__restrict_arr): Update from libc.
64649
64650         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
64651         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
64652         (STREQ): Define.
64653
64654 2001-12-14  Jim Meyering  <meyering@lucent.com>
64655
64656         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
64657         Suggestion from Bruno Haible.
64658
64659 2001-12-10  Jim Meyering  <meyering@lucent.com>
64660
64661         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
64662         xrealloc, Instead, include "xalloc.h".
64663         (initbuffer): Don't cast xmalloc return value to char*.
64664         (readline): Reword comment.
64665         Don't cast xrealloc return value to char*
64666         Return NULL, not 0.
64667
64668 2001-12-09  Jim Meyering  <meyering@lucent.com>
64669
64670         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
64671         about `signed and unsigned type in conditional expression'.
64672         * lib/posixtm.c (posix_time_parse): Likewise.
64673
64674         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
64675
64676         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
64677         to avoid a pedantic warning.
64678
64679         * lib/getstr.c: Don't include assert.h.
64680         (getstr): Remove warning-evoking assertions.
64681         Return -1 if offset parameter is out of bounds.
64682         Change the type of a local from int to size_t.
64683
64684         * lib/strftime.c (my_strftime_localtime_r): Include this function
64685         definition in the `#if ! HAVE_TM_GMTOFF' block.
64686
64687         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
64688         Include xalloc.h instead.
64689
64690 2001-12-02  Jim Meyering  <meyering@lucent.com>
64691
64692         * lib/tempname.c: Don't declare getenv, thus reverting the change of
64693         2001-11-18.  It's no longer necessary, now that stdlib.h is always
64694         included.
64695
64696         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
64697         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
64698
64699 2001-11-30  Akim Demaille  <akim@epita.fr>
64700
64701         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
64702         before being defined.
64703
64704 2001-11-27  Paul Eggert  <eggert@twinsun.com>
64705
64706         * lib/quotearg.h (quotearg_n, quotearg_n_style):
64707         First arg is int, not unsigned.
64708         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
64709         (SIZE_MAX, UINT_MAX): New macros.
64710         (quotearg_n_options): Abort if N is negative.
64711         Avoid overflow check on hosts where size_t is 64 bits and int
64712         is 32 bits, as overflow is impossible there.
64713         Fix off-by-one typo that caused unnecessary reallocation.
64714
64715 2001-11-27  Jim Meyering  <meyering@lucent.com>
64716
64717         * lib/tempname.c: Merge with version from libc.
64718         * lib/regex.c: Likewise.
64719
64720         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
64721         systems for which STDC_HEADERS is 0, it was not included, resulting in
64722         a warning about an integer-to-pointer conversion problem with getenv.
64723         Reported by Volker Borchert.
64724
64725 2001-11-26  Jim Meyering  <meyering@lucent.com>
64726
64727         * lib/gtod.h: Remove file.
64728         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
64729         * lib/gettimeofday.c: Don't include gtod.h.
64730         (GTOD_init): Remove function.
64731         (rpl_gettimeofday): Do its job here instead, rather than aborting.
64732         Suggestion from Volker Borchert.
64733
64734 2001-11-23  Jim Meyering  <meyering@lucent.com>
64735
64736         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
64737         it.
64738         * lib/hash.c (struct hash_table): Define it here instead.
64739
64740 2001-11-22  Jim Meyering  <meyering@lucent.com>
64741
64742         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
64743
64744 2001-11-20  Jim Meyering  <meyering@lucent.com>
64745
64746         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
64747         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
64748
64749 2001-11-19  Jim Meyering  <meyering@lucent.com>
64750
64751         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
64752         directory.  Use "conftestXXXXXX" as the template.
64753         Suggestion from Paul Eggert.
64754
64755         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
64756         immediately, so the test doesn't mistakenly hit the max-open-files
64757         limit.
64758
64759 2001-11-18  Paul Eggert  <eggert@twinsun.com>
64760
64761         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
64762         (TEMPORARIES): New macro.
64763         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
64764         removes an artificial limitation (e.g. HP-UX 10.20, where
64765         TMP_MAX is 17576).
64766
64767 2001-11-18  Jim Meyering  <meyering@lucent.com>
64768
64769         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
64770
64771 2001-11-18  Jim Meyering  <meyering@lucent.com>
64772
64773         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
64774         on SunOS 4.
64775
64776         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
64777         files will be created before anything else.
64778
64779 2001-11-17  Paul Eggert  <eggert@twinsun.com>
64780
64781         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
64782         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
64783
64784 2001-11-17  Jim Meyering  <meyering@lucent.com>
64785
64786         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
64787         Prompted by a report from Bob Proulx.
64788
64789         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
64790         Instead, require UTILS_FUNC_MKSTEMP.
64791
64792 2001-11-17  Jim Meyering  <meyering@lucent.com>
64793
64794         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
64795         Now, that's done as part of AC_FUNC_STRTOD.
64796
64797 2001-11-17  Jim Meyering  <meyering@lucent.com>
64798
64799         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
64800         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
64801         rather than group writable.  Patch by Juan F. Codagnone.
64802
64803         * lib/readtokens.c: Remove explicit declarations of xmalloc and
64804         xrealloc, Instead, include "xalloc.h".
64805
64806         * lib/mountlist.c: Include unlocked-io.h after all system headers.
64807         Remove explicit declarations of xmalloc, xrealloc,
64808         and xstrdup.  Instead, include "xalloc.h".
64809
64810         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
64811         unlocked-io.h.
64812         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
64813         Likewise.
64814         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
64815
64816         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
64817         Reported by Padraig Brady.
64818
64819         * lib/mkstemp.c: #undef mkstemp.
64820         Include config.h.
64821         (rpl_mkstemp): Rename from mkstemp.
64822         Protoize.
64823
64824 2001-11-16  Jim Meyering  <meyering@lucent.com>
64825
64826         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
64827         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
64828         determine the amount of total physical memory, use pstat_getstatic.
64829         HPUX-11 doesn't define _SC_PHYS_PAGES.
64830         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
64831         If sysconf couldn't be used to determine the amount of available
64832         physical memory, use both pstat_getstatic and pstat_getdynamic.
64833         Based on a patch from Bob Proulx.
64834
64835 2001-11-10  Jim Meyering  <meyering@lucent.com>
64836
64837         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
64838         (jm_PREREQ): Use it.
64839
64840 2001-11-09  Jim Meyering  <meyering@lucent.com>
64841
64842         * m4/jm-macros.m4: Require autoconf-2.52f.
64843         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
64844         Use these AC_-prefixed names, not the AM_-prefixed ones.
64845
64846         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
64847
64848 2001-11-05  Jim Meyering  <meyering@lucent.com>
64849
64850         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
64851
64852 2001-11-04  Jim Meyering  <meyering@lucent.com>
64853
64854         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
64855         $DEFS.
64856
64857 2001-11-03  Jim Meyering  <meyering@lucent.com>
64858
64859         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
64860         of AC_DEFUN.
64861
64862         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
64863         know the name of the variable in the macro definition.
64864
64865 2001-11-03  Jim Meyering  <meyering@lucent.com>
64866
64867         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
64868         in argmatch_to_argument call.
64869
64870         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
64871         argument.
64872
64873         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
64874         e.g., a fault due to an attempt to free a NULL pointer.
64875
64876 2001-11-01  Jim Meyering  <meyering@lucent.com>
64877
64878         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
64879         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
64880
64881 2001-11-01  Jim Meyering  <meyering@lucent.com>
64882
64883         * lib/dirfd.c, lib/dirfd.h: New files.
64884         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
64885
64886         * lib/hash.c (hash_print) [TESTING]: Clean up.
64887
64888 2001-10-22  Paul Eggert  <eggert@twinsun.com>
64889
64890         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
64891         to avoid a warning if -Wall.
64892
64893 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
64894
64895         * README: New file
64896         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
64897         (per RMS's instructions, this is now the canonical source)
64898         * lgpl/, gpl/: New directories.
64899
64900 2001-10-21  Paul Eggert  <eggert@twinsun.com>
64901
64902         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
64903
64904 2001-10-21  Jim Meyering  <meyering@lucent.com>
64905
64906         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
64907         this code would end up calling gettext even in packages built
64908         with --disable-nls.
64909         * lib/getopt.c (_): Likewise.
64910         * lib/regex.c (_): Likewise.
64911
64912 2001-10-20  Paul Eggert  <eggert@twinsun.com>
64913
64914         * m4/error.m4 (jm_PREREQ_ERROR):
64915         Do not invoke AC_CHECK_FUNCS with strerror_r, as
64916         AC_FUNC_STRERROR_R does that.
64917         Check for strerror declaration.
64918
64919         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
64920         are supposed to have them these days.
64921         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
64922         Merge changes from latest Autoconf CVS.
64923         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
64924         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
64925         POSIX decided to standardize on the int flavor of strerror_r.
64926
64927 2001-10-20  Paul Eggert  <eggert@twinsun.com>
64928
64929         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
64930         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
64931         Use strerror_r that is only a macro, even if it is not a function.
64932         (strerror): Check for HAVE_DECL_STRERROR before declaring.
64933         (private_strerror): Use prototypes, not old-style function definition.
64934         (print_errno_message): New function.
64935         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
64936         char*-flavored one.
64937         (error_tail, error, error_at_line): Use it.
64938
64939 2001-10-11  Jim Meyering  <meyering@lucent.com>
64940
64941         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
64942         and quote_n (1, ... to avoid clobbering a buffer.
64943
64944 2001-10-05  Jim Meyering  <meyering@lucent.com>
64945
64946         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
64947         hash-pjw.h.
64948         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
64949         * lib/hash-pjw.h: New file.
64950
64951 2001-09-30  Jim Meyering  <meyering@lucent.com>
64952
64953         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
64954         `struct fsstat' has the `f_fstypename' member.
64955         Use that to define FS_TYPE, which is now used to make
64956         the getfsstat link test tighter.
64957
64958 2001-09-30  Jim Meyering  <meyering@lucent.com>
64959
64960         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
64961         Include <sys/ucred.h>, for Apple Darwin.
64962         Include sys/mount.h and sys/fs_types.h only if available.
64963         (FS_TYPE): Define.
64964         (read_filesystem_list): Use FS_TYPE.
64965
64966 2001-09-29  Paul Eggert  <eggert@twinsun.com>
64967
64968         * lib/exclude.c (excluded_filename): 0 -> false, since it's
64969         a boolean context.
64970
64971 2001-09-29  Jim Meyering  <meyering@lucent.com>
64972
64973         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
64974         [one-argument getmntent function]): Include stdio.h before mntent.h.
64975         SunOS 4.1.x needs it for the declaration of `FILE'.
64976         Patch by Volker Borchert.
64977
64978         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
64979         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
64980         sys/fs_types.h, and make the link-test for getfsstat guard #include
64981         directives with appropriate #if HAVE_*_H tests so that we can
64982         detect getfsstat on Apple Darwin1.3.7 systems.
64983         Reported by Nelson Beebe.
64984         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
64985
64986 2001-09-28  Paul Eggert  <eggert@twinsun.com>
64987
64988         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
64989         #defines strtoimax.  Also treat the other strto* functions
64990         like strtoimax.
64991
64992         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
64993         Check for strtoul and strtoumax,
64994         as those declarations are made even in the signed case.
64995         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
64996         Likewise, for strtol and strtoimax.
64997
64998 2001-09-28  Paul Eggert  <eggert@twinsun.com>
64999
65000         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
65001         #defines strtoimax.  Also treat the other strto* functions
65002         like strtoimax.
65003
65004         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
65005         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
65006         (strtoimax, strtoumax): Do not declare if already defined as a macro.
65007
65008 2001-09-26  Jim Meyering  <meyering@lucent.com>
65009
65010         Most macros in unlocked-io.h had the wrong number of arguments.
65011         * lib/gen-uio: New script.
65012         (USE_UNLOCKED_IO): Define to 1 if not already defined.
65013         * lib/unlocked-io.hin: Remove file.
65014         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
65015         rather than trying to embed it here.
65016         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
65017         Reported by Padraig Brady.
65018
65019 2001-09-25  Volker Borchert  <bt@teknon.de>
65020
65021         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
65022         `result'.
65023
65024 2001-09-24  Jim Meyering  <meyering@lucent.com>
65025
65026         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
65027
65028 2001-09-23  Jim Meyering  <meyering@lucent.com>
65029
65030         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
65031         instead of the mere test for existence of mntent.h.  The latter
65032         would get a false-positive on AIX 3.4 systems.
65033         In the outer getmntent if-block, don't die if neither of the getmntent
65034         tests succeeds.  Instead, just fall through and continue with the
65035         remaining tests.
65036
65037 2001-09-23  Jim Meyering  <meyering@lucent.com>
65038
65039         * lib/mountlist.c: Remove useless parentheses in #if directives.
65040         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
65041         the deprecated MOUNTED symbol is no longer defined in mntent.h.
65042
65043 2001-09-22  Jim Meyering  <meyering@lucent.com>
65044
65045         * m4/gettext.m4: New file.  From gettext.
65046         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
65047         * m4/progtest.m4: Likewise
65048         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
65049         * m4/glibc21.m4: Likewise.
65050
65051         * m4/libintl.m4: Remove.  No longer used.
65052
65053 2001-09-22  Jim Meyering  <meyering@lucent.com>
65054
65055         * lib/localcharset.c: Update from latest gettext.
65056         * lib/config.charset: Likewise.
65057
65058 2001-09-20  Jim Meyering  <meyering@lucent.com>
65059
65060         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
65061         strtoimax.
65062         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
65063         strtoumax.
65064
65065 2001-09-20  Jim Meyering  <meyering@lucent.com>
65066
65067         * lib/xstrtol.c (strtoimax): Guard declaration with
65068         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
65069         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
65070         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
65071         (strtoumax): Likewise, for completeness (it wasn't necessary).
65072
65073 2001-09-17  Paul Eggert  <eggert@twinsun.com>
65074
65075         * lib/strtoimax.c (HAVE_LONG_LONG):
65076         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
65077         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
65078         to work around bug in IBM C compiler.
65079
65080 2001-09-17  Jim Meyering  <meyering@lucent.com>
65081
65082         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
65083         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
65084         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
65085         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
65086         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
65087         whenever the right hand side need not be expanded by the shell.
65088
65089 2001-09-16  Paul Eggert  <eggert@twinsun.com>
65090
65091         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
65092         library.  It's not correct, as some older glibcs are buggy.
65093         fnmatch wasn't fixed until glibc 2.2.
65094
65095         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
65096         special shell magic here.
65097
65098 2001-09-16  Jim Meyering  <meyering@lucent.com>
65099
65100         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
65101         * m4/jm-macros.m4: Require it.
65102
65103 2001-09-16  Jim Meyering  <meyering@lucent.com>
65104
65105         * lib/mkdir.c: New file.
65106
65107 2001-09-15  Jim Meyering  <meyering@lucent.com>
65108
65109         * m4/jm-macros.m4: Check for help2man.
65110
65111 2001-09-11  Jim Meyering  <meyering@lucent.com>
65112
65113         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
65114         The body, by Paul Eggert, was moved here from configure.in.
65115         * m4/jm-macros.m4: Require UTILS_HOST_OS.
65116
65117 2001-09-04  Paul Eggert  <eggert@twinsun.com>
65118
65119         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
65120         (jm_PREREQ): Use it.
65121
65122 2001-09-04  Paul Eggert  <eggert@twinsun.com>
65123
65124         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
65125         Use ssize_t, not int, to store result of readlink.
65126         Check for ssize_t overflow as well as size_t overflow,
65127         as POSIX says the result of readlink is implementation-defined
65128         when ssize_t overflows.
65129         Remove unnecessary cast to char*.
65130         Use free+malloc instead of realloc, as the storage doesn't need
65131         to be preserved and it's clearer and can be more efficient that way.
65132         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
65133         * lib/xreadlink.h (xreadlink): Update prototype.
65134
65135 2001-09-04  Paul Eggert  <eggert@twinsun.com>
65136
65137         * lib/xgetcwd.c: Revert some of the previous change; intead,
65138         fix the HAVE_GETCWD_NULL code to behave more like the
65139         !HAVE_GETCWD_NULL code used to.
65140
65141         Include "xalloc.h".
65142         (xgetcwd): Do not return NULL when memory is exhausted; instead,
65143         invoke xalloc_die.
65144
65145 2001-09-03  Paul Eggert  <eggert@twinsun.com>
65146
65147         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
65148         sys/param.h, as pathmax.h includes them.
65149
65150 2001-09-03  Paul Eggert  <eggert@twinsun.com>
65151
65152         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
65153         (jm_PREREQ_XGETCWD): New macro.
65154
65155         * m4/getcwd.m4: New file.
65156
65157 2001-09-03  Paul Eggert  <eggert@twinsun.com>
65158
65159         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
65160         like the HAVE_GETCWD_NULL code.
65161         Include pathmax.h if not HAVE_GETCWD.
65162         Do not include xalloc.h.
65163         (INITIAL_BUFFER_SIZE): New symbol.
65164         Do not use xmalloc / xrealloc, since the caller is responsible for
65165         handling errors.  Preserve errno around `free' during failure.
65166         Do not overrun buffer when using getwd.
65167
65168 2001-09-03  Paul Eggert  <eggert@twinsun.com>
65169
65170         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
65171         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
65172         getcwd (NULL, 0).
65173
65174 2001-09-03  Paul Eggert  <eggert@twinsun.com>
65175
65176         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
65177         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
65178         spotted by Jim Meyering.
65179
65180 2001-09-03  Jim Meyering  <meyering@lucent.com>
65181
65182         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
65183         failure.
65184
65185 2001-09-02  Jim Meyering  <meyering@lucent.com>
65186
65187         * lib/error.c: Update from GNU libc.
65188
65189 2001-09-01  Jim Meyering  <meyering@lucent.com>
65190
65191         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
65192         Used by df.
65193
65194 2001-09-01  Jim Meyering  <meyering@lucent.com>
65195
65196         * lib/xreadlink.c: New file.
65197         * lib/xreadlink.h: New file.
65198         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
65199         xreadlink.h.
65200
65201         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
65202         doesn't conflict with sparc Solaris 7's definition in
65203         /usr/include/sys/int_types.h.
65204
65205         * lib/exclude.c: Use `""', not `<>' to #include non-system header
65206         files.
65207         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
65208         and strncasecmp as r-values.  Unixware didn't have declarations.
65209
65210 2001-08-31  Paul Eggert  <eggert@twinsun.com>
65211
65212         * lib/xstrtol.h: Add copyright notice.
65213         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
65214         LONGINT_INVALID_SUFFIX_CHAR.
65215
65216 2001-08-31  Paul Eggert  <eggert@twinsun.com>
65217
65218         * lib/xstrtol.c (strtoimax): New decl.
65219
65220 2001-08-31  Paul Eggert  <eggert@twinsun.com>
65221
65222         * lib/xgetcwd.c: Don't include pathmax.h.
65223         Include stdlib.h and unistd.h if available.
65224         Include xalloc.h.
65225         (xmalloc, xstrdup, free): Remove decls.
65226         (xgetcwd): Don't assume sizes fit in unsigned.
65227         Check for overflow when computing sizes.
65228         Simplify reallocation code.
65229
65230 2001-08-31  Paul Eggert  <eggert@twinsun.com>
65231
65232         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
65233         a directory's st_size can have an arbitrary value, so the old
65234         usage could waste an arbitrary amount of memory.  All uses
65235         changed.
65236         * lib/savedir.h: Update prototype.
65237
65238 2001-08-31  Paul Eggert  <eggert@twinsun.com>
65239
65240         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
65241
65242         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
65243         old strtoimax.c.
65244
65245         Also, make the following further changes to make this file's
65246         configuration more similar to that of strtol.c:
65247         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
65248         (strtoumax, uintmax_t, strtoull, strtol): Remove.
65249         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
65250         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
65251         changed to signed values.
65252
65253         And make the following changes as well:
65254         Fix copyright notice, as 1999 was missing.
65255         (verify): New macro.
65256         (strtoimax): Check sizes at compile-time, not run-time.
65257         Prefer strtol to strtoll if both work.
65258         (main): Remove; it was not that useful and was a pain to maintain.
65259
65260         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
65261
65262 2001-08-31  Jim Meyering  <meyering@lucent.com>
65263
65264         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
65265         Use an initial, malloc'd, buffer of length 128 rather than
65266         a statically allocated one of length 1024.
65267
65268 2001-08-30  Paul Eggert  <eggert@twinsun.com>
65269
65270         Simplify code, partly by assuming autoconf 2.52 semantics.
65271
65272         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
65273
65274         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
65275         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
65276         All uses removed.
65277         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
65278         Move AC_REQUIRE to next-to-top level, to avoid confusion.
65279         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
65280         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
65281         jm_AC_HEADER_INTTYPES_H.
65282         * m4/jm-macros.m4 (jm_MACROS): Likewise.
65283
65284         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
65285
65286         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
65287         Quote first arg of AC_DEFUN.
65288         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
65289         since they are needed to parse the include file even if we need
65290         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
65291         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
65292         but with opposite signedness.
65293
65294 2001-08-30  Paul Eggert  <eggert@twinsun.com>
65295
65296         Merge 'exclude' changes from tar 1.13.22.
65297         This fixes one or two unlikely storage allocation overflow bugs,
65298         but doesn't change user-visible behavior otherwise.
65299
65300 2001-08-30  Paul Eggert  <eggert@twinsun.com>
65301
65302         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
65303         (jm_PREREQ_EXCLUDE): New macro.
65304
65305 2001-08-30  Paul Eggert  <eggert@twinsun.com>
65306
65307         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
65308         tm to be declared.
65309
65310 2001-08-30  Paul Eggert  <eggert@twinsun.com>
65311
65312         * lib/hash.c: Remove '2001' from copyright notice.
65313
65314 2001-08-30  Paul Eggert  <eggert@twinsun.com>
65315
65316         * lib/full-write.h: New file.
65317         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
65318         * lib/full-write.c: Correct credits, as cccp.c no longer
65319         exists and anyway it was so heavily changed from the old cccp
65320         code as to be unrecognizable.  Include full-write.h.
65321         (full_write) Return size_t, with short writes meaning failure.
65322         All callers changed.  This fixes a bug with large buffers
65323         on 64-bit hosts.
65324         * lib/utime.c: Include full-write.h.
65325
65326 2001-08-30  Paul Eggert  <eggert@twinsun.com>
65327
65328         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
65329         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
65330         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
65331         Include if available.
65332         (<xalloc.h>): Include
65333         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
65334         (verify): New macro.  Use it to verify that EXCLUDE macros do not
65335         collide with FNM macros.
65336         (struct patopts): New struct.
65337         (struct exclude): Use it, as exclude patterns now come with options.
65338         (new_exclude): Support above changes.
65339         (new_exclude, add_exclude_file):
65340         Initial size must now be a power of two to simplify overflow checking.
65341         (free_exclude, fnmatch_no_wildcards): New function.
65342         (excluded_filename): No longer requires options arg, as the options
65343         are determined by add_exclude.  Now returns bool, not int.
65344         (excluded_filename, add_exclude):
65345         Add support for the fancy new exclusion options.
65346         (add_exclude, add_exclude_file): Now takes int options arg.
65347         Check for arithmetic overflow when computing sizes.
65348         (add_exclude_file): xrealloc might modify errno, so don't
65349         realloc until after errno might be used.
65350
65351         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
65352         New macros.
65353         (free_exclude): New decl.
65354         (add_exclude, add_exclude_file): Now takes int options arg.
65355         (excluded_filename): No longer requires options arg, as the options
65356         are determined by add_exclude.  Now returns bool, not int.
65357
65358 2001-08-30  Paul Eggert  <eggert@twinsun.com>
65359
65360         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
65361
65362 2001-08-27  Jim Meyering  <meyering@lucent.com>
65363
65364         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
65365
65366         * lib/version-etc.c (N_): Remove definition.
65367         Revert most of last change.
65368         Instead, simply don't mark the `Copyright...' string for translation.
65369         Based on advice from Paul Eggert.
65370
65371         * lib/strtoxmax.c: Tweak comment.
65372
65373 2001-08-26  Jim Meyering  <meyering@lucent.com>
65374
65375         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
65376
65377         * m4/xstrtoimax.m4: New file.
65378         * m4/xstrtoumax.m4: Add comments explaining why we
65379         AC_REPLACE_FUNCS(strtol).
65380
65381 2001-08-26  Jim Meyering  <meyering@lucent.com>
65382
65383         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
65384         of copyright with `%s' so translators don't get an untranslated
65385         message in 2002.
65386         (COPYRIGHT_YEAR): Define.
65387         (version_etc): Use fprintf rather than fputs.
65388         Suggestion from Ulrich Drepper.
65389
65390         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
65391
65392         * lib/strtoll.c: New file, from GNU libc.
65393         * lib/xstrtoimax.c: New file.
65394
65395         * lib/xstrtol.h: Add xstrtoimax.
65396         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
65397         * lib/strtoimax.c: New file.  Likewise, but first define
65398         STRTOUXMAX_SIGNED.
65399
65400         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
65401         ...
65402         * lib/strtoxmax.c: ... then renamed to this.
65403
65404 2001-08-18  Paul Eggert  <eggert@twinsun.com>
65405
65406         * m4/inttypes.m4: Add AC_PREREQ(2.13).
65407         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
65408         (jm_AC_TYPE_INTMAX_T): New macro.
65409         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
65410
65411         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
65412
65413         * m4/longlong.m4: Renamed from ulonglong.m4.
65414         * m4/inttypes.m4: Renamed from inttypes_h.m4.
65415         * m4/uintmax_t.m4: Removed.
65416
65417 2001-08-13  Paul Eggert  <eggert@twinsun.com>
65418
65419         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
65420         Port to Solaris 8, where 'sed' requires a space after the 'r'
65421         command, and where sh dislikes "$/".  Clean up the spacing a bit.
65422         Redirect output to $tmp just once.
65423
65424 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
65425
65426         * lib/addext.c (<errno.h>): Include.
65427         (errno): Declare if not defined.
65428         (addext): Work correctly when pathconf returns -1 and leaves
65429         errno alone because there is no limit.  Also, work even if
65430         pathconf returns a value greater than SIZE_MAX.
65431
65432 2001-08-12  Jim Meyering  <meyering@lucent.com>
65433
65434         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
65435         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
65436         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
65437         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
65438         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
65439         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
65440         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
65441         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
65442         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
65443         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
65444         utime.m4, utimes.m4, xstrtoumax.m4:
65445         Quote the first argument in each use of AC_DEFUN.
65446
65447 2001-08-12  Jim Meyering  <meyering@lucent.com>
65448
65449         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
65450         Simply `return getcwd (NULL, 0);'.
65451         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
65452         Use 1300 as initial value for length, not PATH_MAX.
65453
65454         * lib/pathmax.h: Clean up cpp syntax.
65455
65456 2001-08-12  Jim Meyering  <meyering@lucent.com>
65457
65458         * lib/gettimeofday.c: New file.
65459         * lib/gtod.h: New file.
65460         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
65461
65462 2001-08-05  Jim Meyering  <meyering@lucent.com>
65463
65464         * m4/jm-macros.m4: Require autoconf-2.52.
65465
65466 2001-08-04  Jim Meyering  <meyering@lucent.com>
65467
65468         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
65469         stmt, to get in sync with glibc.
65470
65471 2001-08-03  Paul Eggert  <eggert@twinsun.com>
65472
65473         The following changes are from gettext 0.10.39 as maintained by
65474         Bruno Haible.
65475
65476         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
65477         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
65478         with inverted sense.  All uses changed.
65479
65480         * lib/mbswidth.c: Don't include <limits.h>.
65481         Include <stdlib.h> and <string.h> unconditionally.
65482         (iswcntrl, mbsinit, ISCNTRL): New macros.
65483         (mbsnwidth): Use K&R style function declarations.
65484         Don't bother checking for MB_LEN_MAX == 1, since the compiler
65485         can optimize it when MB_CUR_MAX == 1.
65486         The width of control characters is zero, not 1.
65487
65488 2001-08-03  Paul Eggert  <eggert@twinsun.com>
65489
65490         The following changes are from gettext 0.10.39 as maintained by
65491         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
65492
65493         * m4/codeset.m4: Upgrade to serial AM1.
65494         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
65495         all uses changed.  Quote first arg of AC_DEFUN.
65496         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
65497
65498         * m4/iconv.m4: Upgrade to serial AM2.
65499         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
65500         Add --with-libconv-prefix.
65501         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
65502         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
65503         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
65504         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
65505         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
65506
65507         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
65508         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
65509         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
65510         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
65511         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
65512         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
65513         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
65514         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
65515         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
65516
65517         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
65518         string.h any more.
65519
65520         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
65521         not the default value.
65522
65523         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
65524         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
65525         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
65526         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
65527         Also check for iswcntrl, used for wcwidth fallback.
65528         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
65529         to Autoconf 2.13.
65530
65531 2001-08-03  Jim Meyering  <meyering@lucent.com>
65532
65533         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
65534         as it was in the original.  Reported by Paul Eggert.
65535
65536 2001-07-16  Jim Meyering  <meyering@lucent.com>
65537
65538         * m4/gettimeofday.m4: New file.
65539         Prompted by a report from Bernhard Baehr.
65540
65541 2001-07-15  Jim Meyering  <meyering@lucent.com>
65542
65543         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
65544         stuff. Now it's in ../Makefile.cfg.
65545
65546 2001-07-15  Jim Meyering  <meyering@lucent.com>
65547
65548         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
65549         (BUILT_SOURCES): Add unlocked-io.h.
65550         (io_functions): Define.
65551         (unlocked-io.h): New rule.
65552         (DISTCLEANFILES): Add unlocked-io.h.
65553         (all-local): Depend on unlocked-io.h, to ensure it is created.
65554
65555         * lib/unlocked-io.hin: New file
65556
65557         * lib/regex.c: Update from glibc.
65558
65559 2001-07-05  Jim Meyering  <meyering@lucent.com>
65560
65561         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
65562         recommendation.
65563         (libfetish_a_SOURCES): Put all .h files here instead.
65564         Remove a thus-exposed (better checks in automake) duplicate and
65565         two unnecessary .h files.
65566
65567 2001-07-04  Jim Meyering  <meyering@lucent.com>
65568
65569         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
65570         that generates jm-glibc-io.m4 so that it doesn't trigger any make
65571         distcheck failure.
65572
65573 2001-07-02  Jim Meyering  <meyering@lucent.com>
65574
65575         The following changes were prompted by suggestions from Bruno Haible.
65576
65577         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
65578         is now generated.
65579         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
65580         definition of EXTRA_DIST.
65581         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
65582         ensure that the generated file is created/updated whenever the list
65583         of $(unlocked_functions) is changed.
65584         (jm-glibc-io.m4): New rule.
65585         (unlocked-io.h): New rule -- currently unused.
65586
65587 2001-06-24  Jim Meyering  <meyering@lucent.com>
65588
65589         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
65590         unmatched right bracket, rather than kludging it with an extra,
65591         falsely-matching quote in a comment.  Patch by Akim Demaille.
65592
65593 2001-06-11  Jim Meyering  <meyering@lucent.com>
65594
65595         * lib/regex.c: Update from GNU libc.
65596
65597 2001-05-27  Jim Meyering  <meyering@lucent.com>
65598
65599         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
65600         Check for ut_type in struct utmp.
65601
65602 2001-05-27  Jim Meyering  <meyering@lucent.com>
65603
65604         * lib/readutmp.h (UT_TYPE): Define.
65605
65606 2001-05-24  Jim Meyering  <meyering@lucent.com>
65607
65608         * lib/argmatch.c: Include "quote.h".
65609         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
65610         quote function.  Reported by Göran Uddeborg.
65611
65612 2001-05-22  Jim Meyering  <meyering@lucent.com>
65613
65614         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
65615         now that we use the package-supplied version unconditionally.
65616         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
65617
65618 2001-05-21  Jim Meyering  <meyering@lucent.com>
65619
65620         * m4/regex.m4: Change a couple backticks to single quotes to avoid
65621         shell syntax errors.
65622
65623 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
65624
65625         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
65626
65627 2001-05-20  Paul Eggert  <eggert@twinsun.com>
65628
65629         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
65630         Don't bother to check library strftime, since
65631         we'll be using our own my_strftime function anyway.
65632         Define my_strftime instead of strftime.
65633
65634 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
65635
65636         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
65637         which is not yet declared.
65638
65639 2001-05-15  Jim Meyering  <meyering@lucent.com>
65640
65641         * m4/regex.m4: Use proper quoting so brackets appear in the test
65642         program.
65643         Reported by, and with help from, Bruno Haible.
65644
65645 2001-05-13  Jim Meyering  <meyering@lucent.com>
65646
65647         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
65648         undefined.
65649
65650 2001-05-11  Paul Eggert  <eggert@twinsun.com>
65651
65652         dirname code cleanup.  base_name now behaves more compatibly
65653         with POSIX basename when given file names that have trailing
65654         slashes, and similarly for dir_name.  Add new primitives
65655         base_len and dir_len.  Put the directory-name-related decls
65656         into dirname.h.
65657
65658         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
65659         * lib/backupfile.c (base_name): Likewise.
65660         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
65661         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
65662         * lib/makepath.c (strip_trailing_slashes): Likewise.
65663         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
65664         ISSLASH): Likewise.
65665         * lib/rename.c (strip_trailing_slashes): Likewise.
65666         * lib/same.c (base_name): Likewise.
65667         * lib/stripslash.c (ISSLASH): Likewise.
65668
65669         * lib/addext.c: Include <dirname.h> after size_t is defined.
65670         * lib/backupfile.c: Likewise.
65671
65672         * lib/addext.c (addext): Use base_len to trim redundant
65673         trailing slashes instead of doing it ourselves.
65674         But do not trim the last slash if it is not redundant.
65675
65676         * lib/backupfile.c (find_backup_file_name,
65677         max_backup_version): Use base_len instead of rolling it ourselves.
65678         Handle the case of "" and (on DOS) "C:" correctly.
65679
65680         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
65681         needed. Include <string.h>, <dirname.h>.
65682         (base_name): Allow file names ending in slashes, other than names
65683         that are all slashes.  In this case, return the basename followed
65684         by the slashes.  This is more general, and can be used in places
65685         where the original base_name purposely had an assertion failure.
65686         (base_len): New function.
65687
65688         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
65689         Do not include <assert.h>; no longer needed.
65690         Include xalloc.h.
65691         (memrchr): Remove decl.
65692         (dir_name_r): Remove.
65693         (dir_len): Renamed from dirlen.  All callers changed.
65694         Rewrite in terms of base_name, for simplicity and consistency.
65695         (dir_name): Never return NULL.  All callers changed.
65696         Do not include <stdlib.h> in test program; no longer needed.
65697         return 0; is fine for test program.
65698
65699         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
65700         New macros.
65701         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
65702
65703         * lib/path-concat.c (path_concat): Use base_len to compute
65704         base length, not strlen; this means we cannot rely on memcpy
65705         to null-terminate.
65706
65707         * lib/same.c (STREQ): Remove.
65708         (same_name): Handle the case where the basename ends in trailing '/'.
65709
65710         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
65711         a slash was stripped.  Do not strip the last slash after a
65712         file system prefix.
65713
65714 2001-05-11  Paul Eggert  <eggert@twinsun.com>
65715
65716         * lib/Makefile.am (libfetish_a_SOURCES):
65717         Add strftime.c, since we now compile it on all hosts.
65718
65719         * lib/strftime.c (my_strftime):
65720         Define to nstrftime if emacs, but only if my_strftime is not defined.
65721         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
65722         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
65723         Add one more extra argument: a nanoseconds value.
65724         All uses changed.
65725         (ns): New macro.
65726         (my_strftime function): Add %N format.
65727         (emacs_strftimeu): Renamed from emacs_strftime,
65728         with extra ut argument.
65729
65730 2001-05-09  Paul Eggert  <eggert@twinsun.com>
65731
65732         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
65733
65734 2001-04-21  Jim Meyering  <meyering@lucent.com>
65735
65736         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
65737         doesn't interfere.
65738
65739 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
65740
65741         * m4/ftruncate.m4: Check for chsize.
65742         Link with ftruncate.o unconditionally if ftruncate is missing.
65743         This was required when cross-compiling to i586-mingw32msvc.
65744
65745 2001-04-08  Jim Meyering  <meyering@lucent.com>
65746
65747         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
65748         recomputed; that's necessary when the offset spans a DST transition.
65749         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
65750
65751 2001-04-02  Jim Meyering  <meyering@lucent.com>
65752
65753         * lib/regex.h, regex.c: Update from GNU libc.
65754
65755 2001-03-24  Jim Meyering  <meyering@lucent.com>
65756
65757         * m4/jm-macros.m4: Require autoconf-2.49d.
65758
65759 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
65760
65761         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
65762
65763 2001-03-19  Paul Eggert  <eggert@twinsun.com>
65764
65765         * lib/version-etc.c (version_etc_copyright): Update to 2001.
65766
65767 2001-03-17  Jim Meyering  <meyering@lucent.com>
65768
65769         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
65770         now that the version in autoconf is equivalent.
65771         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
65772
65773         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
65774         Suggestion from Akim Demaille.
65775
65776         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
65777         (jm_PREREQ_TEMPNAME): New function.
65778
65779 2001-03-16  Paul Eggert  <eggert@twinsun.com>
65780
65781         * lib/tempname.c (uint64_t): Define to uintmax_t if
65782         not defined, and if UINT64_MAX is not defined.
65783         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
65784         Reported by John David Anglin.
65785
65786 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
65787
65788         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
65789         resolve alias if codeset is empty.
65790         * lib/config.charset (BeOS): Use wildcard syntax.
65791
65792 2001-03-13  Jim Meyering  <meyering@lucent.com>
65793
65794         * lib/path-concat.c (path_concat)
65795         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
65796         concatenating e.g., `C:' and `foo'.
65797         From Bruno Haible.
65798
65799 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
65800
65801         * lib/localcharset.c (locale_charset): Don't use
65802         setlocale(LC_CTYPE,NULL). Don't return NULL.
65803         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
65804
65805 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
65806
65807         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
65808         support for DOS/DJGPP.
65809
65810 2001-03-01  Paul Eggert  <eggert@twinsun.com>
65811
65812         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
65813         lacks mkstemp.  Compile our own tempname.c if we compile our own
65814         mkstemp.c, as mkstemp relies on tempname.
65815
65816 2001-03-01  Jim Meyering  <meyering@lucent.com>
65817
65818         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
65819         AH_VERBATIM really does output its argument verbatim.
65820
65821 2001-02-28  Paul Eggert  <eggert@twinsun.com>
65822
65823         * lib/Makefile.am (libfetish_a_SOURCES):
65824         Add dup-safer.c, fopen-safer.c.
65825         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
65826
65827         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
65828         * lib/unistd-safer.h: New files.
65829
65830 2001-02-25  Paul Eggert  <eggert@twinsun.com>
65831
65832         The mkstemp replacement is taken from glibc 2.2.2, with some
65833         portability fixes for use outside glibc, as follows:
65834
65835         * lib/tempname.c (struct_stat64): New macro.
65836         (direxists, __gen_tempname): Use it.
65837         This avoids a portability problem with Solaris 8.
65838
65839         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
65840         (<stddef.h>, <stdint.h>, <string.h>):
65841         Include only if STDC_HEADERS || _LIBC.
65842         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
65843         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
65844         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
65845         (__set_errno): Define this macro if <errno.h> doesn't.
65846         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
65847         Define these macros if <stdio.h> doesn't.
65848         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
65849         Define these macros if <sys/stat.h>
65850         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
65851         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
65852         __xstat64): Define if not _LIBC.
65853         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
65854         (__gen_tempname): Invoke gettimeofday only if
65855         HAVE_GETTIMEOFDAY || _LIBC;
65856         otherwise, fall back on plain "time".
65857         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
65858
65859         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
65860
65861         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
65862
65863 2001-02-18  Paul Eggert  <eggert@twinsun.com>
65864
65865         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
65866
65867 2001-02-17  Paul Eggert  <eggert@twinsun.com>
65868
65869         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
65870         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
65871         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
65872         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
65873
65874 2001-02-17  Paul Eggert  <eggert@twinsun.com>
65875
65876         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
65877         Remove workaround macros for hosts that have mbrtowc but not
65878         mbstate_t, as we now insist on proper declarations for both
65879         before using mbrtowc.
65880
65881 2001-02-17  Jim Meyering  <meyering@lucent.com>
65882
65883         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
65884         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
65885         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
65886         UnixWare 7.1.1.
65887
65888         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
65889         rather than AC_CACHE_VAL.
65890
65891 2001-02-17  Jim Meyering  <meyering@lucent.com>
65892
65893         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
65894         around included file name.
65895
65896         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
65897
65898         * lib/strftime.c: Update from GNU libc (the only changes were to
65899         comments).
65900
65901 2001-02-17  Jim Meyering  <meyering@lucent.com>
65902
65903         * lib/regex.c: Update from libc.
65904
65905 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
65906
65907         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
65908         clash.
65909
65910 2001-02-16  Paul Eggert  <eggert@twinsun.com>
65911
65912         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
65913         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
65914         Reported by Mark Hounschell via Paul Eggert.
65915
65916 2001-02-07  Jim Meyering  <meyering@lucent.com>
65917
65918         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
65919
65920 2001-02-05  Jim Meyering  <meyering@lucent.com>
65921
65922         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
65923         it includes the patch required for `large file' support with at least
65924         HP-UX's 10.20 /bin/cc.
65925
65926 2001-02-03  Jim Meyering  <meyering@lucent.com>
65927
65928         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
65929         AS_IF, now that it works once again (mysteriously).
65930         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
65931
65932 2001-01-30  Jim Meyering  <meyering@lucent.com>
65933
65934         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
65935         * m4/chown.m4: Rename conftestchown to conftest.chown.
65936         * m4/rename.m4: s/conftestdir/conftest.d1/ and
65937         s/conftestdir2/conftest.d2/.
65938         * m4/utimes.m4: s/conftestdata/conftest.data/
65939         Inspired by Pavel Roskin's change in autoconf.
65940
65941 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
65942
65943         * lib/config.charset: Update for FreeBSD 4.2.
65944
65945 2001-01-27  Jim Meyering  <meyering@lucent.com>
65946
65947         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
65948         a use of AS_IF.
65949         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
65950
65951 2001-01-26  Jim Meyering  <meyering@lucent.com>
65952
65953         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
65954         quotearg.c includes it.
65955
65956 2001-01-26  Jim Meyering  <meyering@lucent.com>
65957
65958         * lib/quotearg.c: Include stddef.h.
65959         * lib/quote.c: Include stddef.h.
65960         Reported by Axel Kittenberger.
65961
65962         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
65963         line in double quotes so that it evokes a better diagnostic.
65964         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
65965         Reported by Axel Kittenberger.
65966
65967 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
65968
65969         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
65970         as if it was a `charset'.
65971
65972 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
65973
65974         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
65975         has const.
65976
65977 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
65978
65979         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
65980         to avoid a warning.  Add back 'const' to inptr.
65981
65982 2001-01-20  Jim Meyering  <meyering@lucent.com>
65983
65984         Be sure that headers are checked before used in code compiled
65985         for the type checks.
65986         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
65987         In place of that, invoke jm_CHECK_ALL_TYPES.
65988         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
65989         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
65990         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
65991         The check for ssize_t was mistakenly run before the test for unistd.h.
65992
65993         The configure-time check for stdbool.h was missing.
65994         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
65995         (jm_PREREQ_HASH): New function.
65996
65997 2001-01-17  Jim Meyering  <meyering@lucent.com>
65998
65999         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
66000         for autoconf-2.49c.
66001         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
66002
66003 2001-01-16  Jim Meyering  <meyering@lucent.com>
66004
66005         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
66006         From Bruno Haible.
66007
66008 2001-01-14  Jim Meyering  <meyering@lucent.com>
66009
66010         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
66011         foo and bar.  Create conftestdir/ in the script, not in the C code.
66012         Remove directories in the script, not in the C code.
66013         Remove conftestdir{,2} before trying to create the directory.
66014         Make the entire configure script fail if the mkdir fails.
66015
66016 2001-01-14  Jim Meyering  <meyering@lucent.com>
66017
66018         * lib/rename.c: New file.  From Volker Borchert.
66019         Include stdlib.h, string.h or strings.h, and xalloc.h.
66020         Use strip_trailing_slashes rather than open-coding it.
66021
66022 2001-01-03  Paul Eggert  <eggert@twinsun.com>
66023
66024         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
66025
66026 2001-01-03  Jim Meyering  <meyering@lucent.com>
66027
66028         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
66029         of local `inptr' to avoid warning with some system declarations of
66030         iconv.
66031
66032 2001-01-02  Volker Borchert  <bt@teknon.de>
66033
66034         * m4/rename.m4: New file.
66035         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
66036
66037 2001-01-01  Jim Meyering  <meyering@lucent.com>
66038
66039         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
66040         even on systems with utmpx.h.  It's necessary for the declaration of
66041         utmp's ut_user member.  Reported by Andreas Jaeger.
66042
66043         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
66044         available. They are required for the declarations of getgrgid and
66045         getpwuid resp.
66046         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
66047         Reported by Andreas Jaeger.
66048
66049 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
66050
66051         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
66052         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
66053         so `make install' also works in VPATH builds.
66054
66055 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
66056
66057         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
66058         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
66059         can be used in subdirectories.
66060
66061 2000-12-29  Paul Eggert  <eggert@twinsun.com>
66062
66063         * lib/modechange.c: Do not assume that mode_t uses the
66064         traditional octal encoding.  E.g. "chmod 1 FOO" should set
66065         the other-execute bit of FOO even if S_IXOTH != 1.
66066
66067         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
66068         WOTH, XOTH, ALLM): New macros.
66069         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
66070          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
66071         Use them.
66072         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
66073         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
66074         (mode_compile):
66075         No need to use uintmax_t; unsigned long is long enough.
66076         Don't bother to get suffix since we don't use it.
66077
66078 2000-12-26  Jim Meyering  <meyering@lucent.com>
66079
66080         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
66081         better with autoheader.
66082
66083 2000-12-24  Jim Meyering  <meyering@lucent.com>
66084
66085         * lib/hash.c (is_prime): Return explicit boolean values.
66086         (hash_get_first): Return NULL to appease Irix5.6's 89.
66087         Reported by Nelson Beebe.
66088
66089 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
66090
66091         * lib/localcharset.c (locale_charset): Add support for Win32.
66092
66093 2000-12-18  Paul Eggert  <eggert@twinsun.com>
66094
66095         * lib/physmem.h, lib/physmem.c: New files.
66096
66097         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
66098         (noinst_HEADERS): Add physmem.h.
66099
66100         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
66101         't' for compatibility with Solaris 8 sort.
66102
66103 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
66104
66105         * lib/config.charset: Add support for BeOS.
66106
66107 2000-12-17  Jim Meyering  <meyering@lucent.com>
66108
66109         * m4/dos.m4 (jm_AC_DOS): New file and macro.
66110         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
66111
66112 2000-12-16  Jim Meyering  <meyering@lucent.com>
66113
66114         This bug had a serious impact on chown: `chown N:M FILE' (for integer
66115         N and M) would have treated it like `chown N:N FILE'.
66116
66117         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
66118
66119 2000-12-16  Jim Meyering  <meyering@lucent.com>
66120
66121         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
66122         SHELLS_FILE to a file name that's useful on djgpp systems.
66123         Include stdlib.h.
66124         (ADDITIONAL_DEFAULT_SHELLS): Define.
66125         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
66126         Based mostly on a patch from Prashant TR.
66127
66128 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
66129
66130         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
66131         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
66132         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
66133
66134 2000-12-08  Andreas Schwab  <schwab@suse.de>
66135
66136         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
66137         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
66138
66139 2000-12-07  Jim Meyering  <meyering@lucent.com>
66140
66141         * lib/stripslash.c (ISSLASH): Define.
66142         (strip_trailing_slashes): Use ISSLASH rather than comparing against
66143         `/'.
66144         From Prashant TR.
66145
66146         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
66147         (dir_name_r): Declare this function as static.
66148         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
66149         manifest itself on a name containing a mix of slashes and
66150         backslashes.
66151         Make this function work with names starting with a DOS-style
66152         drive letter and colon prefix.
66153         (dir_name): Append `.' if necessary.
66154         Based mostly on patches from Prashant TR and Eli Zaretskii.
66155
66156         * lib/dirname.h (dir_name_r): Remove prototype.
66157
66158 2000-12-06  Paul Eggert  <eggert@twinsun.com>
66159
66160         * m4/off_t-format.m4: Remove this file.
66161         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
66162
66163 2000-12-06  Jim Meyering  <meyering@lucent.com>
66164
66165         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
66166         replacement strtoull, we may well need the replacement strtoul, too.
66167         Check for declarations of strtoul and strtoull.
66168         Check for strtol.  Mainly as a cue to cause automake to include
66169         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
66170         Check for limits.h -- strtol.c needs it.
66171
66172 2000-12-05  Jim Meyering  <meyering@lucent.com>
66173
66174         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
66175
66176 2000-12-04  Jim Meyering  <meyering@lucent.com>
66177
66178         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
66179         Also include memory.h, stdlib.h, unistd.h if appropriate.
66180         Reported by Andreas Jaeger (conflicting declaration of malloc).
66181
66182 2000-12-02  Jim Meyering  <meyering@lucent.com>
66183
66184         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
66185         * m4/jm-macros.m4 (jm_MACROS): require it.
66186
66187 2000-12-02  Jim Meyering  <meyering@lucent.com>
66188
66189         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
66190
66191 2000-12-01  Paul Eggert  <eggert@twinsun.com>
66192
66193         * lib/memrchr.c: Include <config.h> before any system include file.
66194
66195 2000-11-30  Jim Meyering  <meyering@lucent.com>
66196
66197         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
66198
66199 2000-11-30  Jim Meyering  <meyering@lucent.com>
66200
66201         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
66202
66203 2000-11-29  Paul Eggert  <eggert@twinsun.com>
66204
66205         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
66206
66207 2000-11-26  Jim Meyering  <meyering@lucent.com>
66208
66209         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
66210
66211 2000-11-22  Paul Eggert  <eggert@twinsun.com>
66212
66213         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
66214         size of (size_t) -1; it's not portable.
66215
66216 2000-11-17  Jim Meyering  <meyering@lucent.com>
66217
66218         * lib/strstr.c: Update from GNU libc.
66219
66220 2000-11-17  Akim Demaille  <akim@epita.fr>
66221
66222         * lib/obstack.h: Formatting changes.
66223         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
66224         prevent type checking.
66225         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
66226         cast the value to (void *): assigning a `foo *' to a `void *'
66227         variable is valid.
66228         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
66229
66230 2000-11-16  Jim Meyering  <meyering@lucent.com>
66231
66232         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
66233
66234 2000-11-11  Jim Meyering  <meyering@lucent.com>
66235
66236         * lib/error.c: Add a couple #includes, merging from GNU libc version.
66237
66238 2000-11-10  Jim Meyering  <meyering@lucent.com>
66239
66240         * lib/obstack.h: Update from GNU libc.
66241         * lib/obstack.c: Likewise.
66242
66243 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
66244
66245         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
66246
66247 2000-11-06  Paul Eggert  <eggert@twinsun.com>
66248
66249         * lib/getusershell.c (setusershell): Use rewind rather than
66250         fseek/fseeko, to avoid configuration hassles with fseeko.
66251         Don't bother opening SHELLS_FILE if shellstream is NULL;
66252         it's not necessary.
66253
66254 2000-11-05  Jim Meyering  <meyering@lucent.com>
66255
66256         * lib/makepath.h (make_dir): Declare.
66257         * lib/makepath.c (make_dir): Remove `static' attribute.
66258         Tweak a comment.
66259
66260 2000-11-04  Jim Meyering  <meyering@lucent.com>
66261
66262         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
66263
66264 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
66265
66266         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
66267         last one in a bucket, advance to the next bucket.
66268
66269 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
66270
66271         * lib/fnmatch.c: Do not comment out all the code if we are using
66272         the GNU C library, because in some cases we are replacing buggy
66273         code in the GNU C library itself.
66274
66275 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
66276
66277         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
66278         (regex_compile): Catch bogus \(\1\).
66279
66280 2000-10-30  Paul Eggert  <eggert@twinsun.com>
66281
66282         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
66283         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
66284         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
66285
66286 2000-10-30  Paul Eggert  <eggert@twinsun.com>
66287
66288         * lib/error.h, getline.h, modechange.h:
66289         Remove "2000" from Copyright line, as the file hasn't been
66290         changed this year other than in the copyright notice.
66291
66292         * lib/xalloc.h: Add "2000" to Copyright line, as this file
66293         was changed this year.
66294
66295 2000-10-29  Jim Meyering  <meyering@lucent.com>
66296
66297         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
66298         renaming.
66299         * m4/ls-mntd-fs.m4: Likewise
66300
66301 2000-10-29  Jim Meyering  <meyering@lucent.com>
66302
66303         * lib/xstat.in: Fix grammar in comment.
66304
66305 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
66306
66307         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
66308         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
66309         doesn't define __restrict_arr.
66310
66311 2000-10-28  Jim Meyering  <meyering@lucent.com>
66312
66313         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
66314         (jm_PREREQ_MEMCHR): New function.
66315
66316 2000-10-28  Jim Meyering  <meyering@lucent.com>
66317
66318         * lib/memchr.c: Update from libc.
66319         Adjust for portability:
66320         [HAVE_STDLIB_H]: Include stdlib.h.
66321         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
66322         Undef __memchr, too.
66323         [!weak_alias]: Define __memchr to memchr.
66324
66325         * lib/regex.c: Update from libc.
66326         * lib/regex.h: Likewise.
66327         * lib/getopt1.c: Likewise.
66328         * lib/memcmp.c: Likewise.
66329
66330         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
66331         Avoid using fseek, when possible -- it's broken by design.
66332         Patch by Ulrich Drepper.
66333
66334 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
66335
66336         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
66337         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
66338         Giving in to popular pressure to shut up the compiler with casts.
66339
66340 2000-10-26  Jim Meyering  <meyering@lucent.com>
66341
66342         * lib/strftime.c: Update from libc.
66343
66344 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
66345
66346         * regex.c: More `unsigned char' -> `re_char' changes.
66347         Also change several `int' into `re_wchar_t'.
66348         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
66349         (PUSH_FAILURE_POINTER): Don't cast any more.
66350         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
66351         We want GCC to complain, since this piece of code makes
66352         re_match non-reentrant, which *should* be fixed.
66353         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
66354         (EXTEND_BUFFER): Use RETALLOC.
66355         (SET_LIST_BIT): Don't cast.
66356         (re_wchar_t): New type.
66357         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
66358         that those two functions will always properly return.
66359         (IMMEDIATE_QUIT_CHECK): Cast to void.
66360         (analyse_first): Use recursion rather than an explicit stack.
66361         (re_compile_fastmap): Can't fail anymore.
66362         (re_search_2): Don't check re_compile_fastmap for failure.
66363         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
66364         Now also sets the new value (passed in a new argument).
66365         (re_match_2_internal): Use it.
66366         Also, use a new var `reg' of type size_t when looping through regs
66367         rather than reuse the inappropriate `mcnt'.
66368
66369 2000-10-25  Jim Meyering  <meyering@lucent.com>
66370
66371         * lib/obstack.c: Update from libc.
66372
66373 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
66374
66375         * regex.c (regex_compile): Change the way of handling a range from
66376         a char less than 256 to a char not less than 256.
66377
66378 2000-10-24  Andrew Innes  <andrewi@gnu.org>
66379
66380         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
66381         NT-Emacs only.
66382         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
66383         so that re_search functions only quit when callers expect them to.
66384
66385 2000-10-23  Jim Meyering  <meyering@lucent.com>
66386
66387         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
66388         wrong.  That set_locale call must not have any side effects.
66389         From Paul Eggert.
66390
66391 2000-10-22  Jim Meyering  <meyering@lucent.com>
66392
66393         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
66394         [CYCLIC]: Remove now-unused definition.
66395
66396         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
66397         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
66398         Suggestion from Ulrich Drepper.
66399
66400 2000-10-21  Jim Meyering  <meyering@lucent.com>
66401
66402         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
66403         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
66404         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
66405
66406 2000-10-21  Jim Meyering  <meyering@lucent.com>
66407
66408         * lib/dirname.c (memrchr): Declare if necessary.
66409         (dir_name): Remove the restriction that there be no
66410         trailing slashes.  Now, this code skips past them, effectively
66411         ignoring them.
66412         [TEST_DIRNAME] (main): New unit tests.
66413
66414         * lib/memrchr.c: New file from GNU libc.
66415         Undef __memrchr, too.
66416         [!weak_alias]: Define __memrchr to memrchr.
66417         Guard weak_alias use with `#ifdef weak_alias'.
66418
66419 2000-10-21  Jim Meyering  <meyering@lucent.com>
66420
66421         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
66422         (dir_name): Use dir_name_r.
66423         * lib/dirname.h (dir_name_r): Declare it.
66424
66425 2000-10-17  Jim Meyering  <meyering@lucent.com>
66426
66427         * lib/quote.h (PARAMS): Define and use.
66428         Reported by Akim Demaille.
66429
66430         * lib/getopt.c: Update from libc.
66431
66432 2000-10-16  Jim Meyering  <meyering@lucent.com>
66433
66434         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
66435         setlocale.
66436         From Jan Fedak.
66437
66438 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
66439
66440         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
66441
66442 2000-09-25  Jim Meyering  <meyering@lucent.com>
66443
66444         * lib/md5.h (rol): Define (from GnuPG).
66445
66446         * lib/sha.c: Give credit (GnuPG) where due.
66447         (M): Use rol rather than open-coding it.
66448         Add a FIXME comment.
66449
66450 2000-09-21  Jim Meyering  <meyering@lucent.com>
66451
66452         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
66453         Reported by Michael Stone.
66454
66455 2000-09-20  Jim Meyering  <meyering@lucent.com>
66456
66457         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
66458         (noinst_HEADERS): Add sha.h.
66459         Based on code from Scott G. Miller and from GnuPG.
66460
66461 2000-09-18  Jim Meyering  <meyering@lucent.com>
66462
66463         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
66464         LIBS. Otherwise, everyone ends up linking with -lelf for some
66465         configurations.
66466         Reported by Mike Stone.
66467
66468 2000-09-15  Jim Meyering  <meyering@lucent.com>
66469
66470         * lib/regex.c: Update from libc.
66471
66472 2000-09-10  Jim Meyering  <meyering@lucent.com>
66473
66474         * lib/getopt.c (_getopt_internal): Update from glibc.
66475
66476 2000-09-09  Jim Meyering  <meyering@lucent.com>
66477
66478         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
66479         think it should be used as a general replacement for isascii.
66480         * lib/fnmatch.c: Likewise.
66481         * lib/mbswidth.c: Likewise
66482         * lib/regex.c: Likewise.
66483
66484         Don't use atoi.
66485         * lib/userspec.c: Include sys/param.h and limits.h.
66486         Include xstrtol.h.
66487         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
66488         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
66489         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
66490         UID, GID.  Check range.
66491
66492 2000-09-06  Jim Meyering  <meyering@lucent.com>
66493
66494         * lib/getopt.c (_getopt_internal): Update from glibc.
66495
66496 2000-08-30  Jim Meyering  <meyering@lucent.com>
66497
66498         * lib/strftime.c: Merge in changes from GNU libc.
66499
66500 2000-08-26  Jim Meyering  <meyering@lucent.com>
66501
66502         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
66503         * m4/fpending.m4: New file.
66504
66505 2000-08-26  Jim Meyering  <meyering@lucent.com>
66506
66507         * lib/closeout.c: Include "__fpending.h".
66508         (close_stdout_status): Return right away if there's nothing to flush.
66509
66510         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
66511         * lib/__fpending.c: New file.
66512         * lib/__fpending.h: New file.
66513
66514 2000-08-20  Jim Meyering  <meyering@lucent.com>
66515
66516         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
66517         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
66518         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
66519
66520 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
66521
66522         Improve fileutils installation on systems where running
66523         programs (like install) can't be unlinked.
66524         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
66525         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
66526
66527 2000-08-07  Paul Eggert  <eggert@twinsun.com>
66528
66529         Standardize on "memory exhausted" instead of "Memory exhausted"
66530         or "virtual memory exhausted".
66531         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
66532         "virtual memory exhausted".
66533         * lib/same.c (same_name): Invoke xalloc_die instead of printing
66534         our own message.
66535         * lib/userspec.c (parse_user_spec): Likewise.
66536         * lib/bumpalloc.h: comment fix
66537         * lib/same.c, userspec.c: Include xalloc.h.
66538
66539         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
66540         not char *const and pointing to a constant array.
66541         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
66542         (xrealloc): Comment fix.
66543
66544         * lib/userspec.c (parse_user_spec):
66545         Don't translate a message until just before returning,
66546         to avoid unnecessary translation.
66547
66548 2000-08-07  Jim Meyering  <meyering@lucent.com>
66549
66550         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
66551         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
66552         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
66553         getgroups.c, gethostname.c, getopt.h, group-member.c,
66554         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
66555         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
66556         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
66557         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
66558         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
66559         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
66560         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
66561         yesno.c: Back out Copyright date changes for each file with no change
66562         this year.  This eases coordination with other programs using the same
66563         source code modules.  From Paul Eggert.
66564
66565 2000-08-06  Paul Eggert  <eggert@twinsun.com>
66566
66567         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
66568         not char, for compatibility with glibc 2.1.3 strftime.c.
66569
66570 2000-08-03  Greg McGary  <greg@mcgary.org>
66571
66572         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
66573         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
66574         (EXTEND_BUFFER): Use them.
66575
66576 2000-08-01  Jim Meyering  <meyering@lucent.com>
66577
66578         * lib/dirname.c (ISSLASH): Define.
66579         (BACKSLASH_IS_PATH_SEPARATOR): Define.
66580         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
66581         both `\' and `/' may be use as path separators.
66582         Based on a patch from Prashant TR.
66583
66584 2000-07-31  Paul Eggert  <eggert@twinsun.com>
66585
66586         * lib/quotearg.c (quotearg_n_options): Don't make the initial
66587         slot vector a constant, since it might get modified.
66588
66589 2000-07-31  Jim Meyering  <meyering@lucent.com>
66590
66591         * lib/xmalloc.c: Use `virtual memory exhausted', not
66592         `Memory exhausted'.
66593         * lib/obstack.c (print_and_abort): Likewise.
66594
66595 2000-07-30  Paul Eggert  <eggert@twinsun.com>
66596
66597         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
66598         buffer, so that the caller can always quote one small
66599         component of a "memory exhausted" message in slot 0.
66600         From a suggestion by Jim Meyering.
66601
66602 2000-07-30  Jim Meyering  <meyering@lucent.com>
66603
66604         * lib/makepath.c (make_path): Quote the other instance, too.
66605
66606         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
66607         (STATIC_BUF_SIZE): Define.
66608         (quotearg_n_options): Use only statically allocated storage when
66609         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
66610         than STATIC_BUF_SIZE.
66611
66612 2000-07-29  Jim Meyering  <meyering@lucent.com>
66613
66614         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
66615         * lib/dirname.c (dir_name): Likewise.
66616
66617         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
66618         `/'.
66619
66620         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
66621         (dir_name): Assert that there are no trailing slashes.
66622
66623 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
66624
66625         * lib/mbswidth.h (mbswidth): Add a flags argument.
66626         (mbswidth): New declaration.
66627         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
66628         * lib/mbswidth.c (mbswidth): Add a flags argument.
66629         (mbsnwidth): New function.
66630
66631 2000-07-24  Jim Meyering  <meyering@lucent.com>
66632
66633         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
66634
66635 2000-07-23  Paul Eggert  <eggert@twinsun.com>
66636
66637         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
66638
66639 2000-07-23  Paul Eggert  <eggert@twinsun.com>
66640
66641         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
66642         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
66643         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
66644         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
66645         invoke multibyte primitives.
66646
66647 2000-07-23  Paul Eggert  <eggert@twinsun.com>
66648
66649         * lib/quotearg.c:
66650         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
66651         so that mbstate_t is always defined.
66652
66653         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
66654         be 1 in at least one GCC installation, and this configuration
66655         error is likely to be common.  Ignoring MB_LEN_MAX hurts
66656         performance on hosts that have mbrtowc but have only unibyte
66657         locales, but I assume these hosts are rare.
66658
66659 2000-07-23  Paul Eggert  <eggert@twinsun.com>
66660
66661         * lib/mbswidth.c (_XOPEN_SOURCE):
66662         Don't define; this causes problems on Solaris 7.
66663         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
66664
66665 2000-07-23  Jim Meyering  <meyering@lucent.com>
66666
66667         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
66668         too: getgrgid, getpwuid, getuid.
66669
66670 2000-07-23  Jim Meyering  <meyering@lucent.com>
66671
66672         * lib/basename.c (base_name): Add an assertion.
66673
66674 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
66675
66676         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
66677         shadow its mbsinit function.
66678
66679 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
66680
66681         * lib/mbswidth.h: New file.
66682         * lib/mbswidth.c: New file.
66683         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
66684         (noinst_HEADERS): Add mbswidth.h.
66685
66686 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
66687
66688         * lib/config.charset: Add support for FreeBSD. Improve support for
66689         HP-UX and IRIX 6.
66690
66691 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
66692
66693         * m4/mbswidth.m4: New file.
66694         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
66695
66696 2000-07-15  Jim Meyering  <meyering@lucent.com>
66697
66698         * lib/makepath.c: Include quote.h.
66699         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
66700         corresponding argument in a `quote (...)' call.
66701         Give better diagnostics.
66702
66703         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
66704         (noinst_HEADERS): Add quote.h.
66705
66706         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
66707         from tar's src/misc.c.
66708         * lib/quote.h: New file.  Prototypes for same.
66709
66710 2000-07-14  Paul Eggert  <eggert@twinsun.com>
66711
66712         From a suggestion by Bruno Haible.
66713         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
66714         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
66715         to decide whether to define the BeOS workaround macro;
66716         this adjusts to the change to AC_MBSTATE_T.
66717
66718 2000-07-14  Jim Meyering  <meyering@lucent.com>
66719
66720         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
66721         jm_AC_TYPE_UINTMAX_T.
66722
66723 2000-07-13  Paul Eggert  <eggert@twinsun.com>
66724
66725         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
66726
66727         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
66728         quotearg_buffer_restyled): Add support for
66729         clocale_quoting_style.  Undo previous change to
66730         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
66731         and "{RIGHT QUOTATION MARK}" msgids.
66732
66733 2000-07-10  Paul Eggert  <eggert@twinsun.com>
66734
66735         From a suggestion by Bruno Haible.
66736         * m4/mbstate_t.m4 (AC_MBSTATE_T):
66737         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
66738         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
66739         and mbstate_t, to a single-part test that simply defines mbstate_t.
66740         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
66741         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
66742
66743 2000-07-10  Jim Meyering  <meyering@lucent.com>
66744
66745         * m4/strerror_r.m4: Mirror the correction made in autoconf.
66746
66747         * m4/gnu-source.m4: Output to confdefs.h directly.
66748         Suggestion from Akim Demaille.
66749
66750 2000-07-09  Paul Eggert  <eggert@twinsun.com>
66751
66752         The old behavior of quoting `like this' doesn't look good with
66753         newer, ISO-style fonts.  See:
66754         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
66755
66756         Instead, quote "like this" by default.  Let the translator
66757         tailor the locale-specific quoting behavior by providing
66758         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
66759
66760         * lib/quotearg.c (N_): New macro.
66761         (gettext_default): New function.
66762         (quotearg_buffer_restyled): Use
66763         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
66764         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
66765
66766 2000-07-09  Jim Meyering  <meyering@lucent.com>
66767
66768         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
66769         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
66770
66771         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
66772         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
66773
66774 2000-07-09  Jim Meyering  <meyering@lucent.com>
66775
66776         * lib/Most files: Update copyright dates to include 2000.
66777
66778 2000-07-08  Jim Meyering  <meyering@lucent.com>
66779
66780         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
66781         if not defined.
66782         (xgethostname): Remove now-unnecessary #ifdef.
66783         Move declaration of `err' into loop where it's used.
66784
66785 2000-07-05  Paul Eggert  <eggert@twinsun.com>
66786         and Bruno Haible  <haible@clisp.cons.org>
66787
66788         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
66789         only if the test for an object-type mbstate_t fails.  This
66790         prevents us from mistakenly reporting that mbstate_t is a
66791         system object type after we "#define mbstate_t int" to work
66792         around its lack.
66793
66794 2000-07-05  Paul Eggert  <eggert@twinsun.com>
66795         and Bruno Haible  <haible@clisp.cons.org>
66796
66797         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
66798
66799 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
66800
66801         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
66802         to strerror_r.
66803         Include <ctype.h> for use of isalpha.
66804
66805 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
66806
66807         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
66808         by allocating a larger buffer. Test the gethostname return value for
66809         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
66810         returns an error and ENAMETOOLONG isn't defined.
66811
66812 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
66813
66814         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
66815         dimension.
66816
66817 2000-07-04  Jim Meyering  <meyering@lucent.com>
66818
66819         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
66820         of the deprecated AC_CHECKING.
66821
66822 2000-07-04  Jim Meyering  <meyering@lucent.com>
66823
66824         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
66825         Reported by Bruno Haible.
66826
66827 2000-07-04  Jim Meyering  <meyering@lucent.com>
66828
66829         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
66830         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
66831         lacks mbrtowc.
66832
66833 2000-07-03  Paul Eggert  <eggert@twinsun.com>
66834
66835         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
66836         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
66837
66838 2000-07-03  Paul Eggert  <eggert@twinsun.com>
66839         and Bruno Haible  <haible@clisp.cons.org>
66840
66841         * lib/quotearg.c (mbrtowc):
66842         Assign to *pwc, and return 1 only if result is nonzero.
66843         (iswprint): Use ISPRINT when substituting our own mbrtowc.
66844
66845 2000-07-03  Jim Meyering  <meyering@lucent.com>
66846
66847         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
66848
66849 2000-07-03  Jim Meyering  <meyering@lucent.com>
66850
66851         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
66852         This is necessary to get a definition of e.g., UTMP_FILE on
66853         HP-UX 10.20.
66854         From Bob Proulx.
66855
66856 2000-07-02  Jim Meyering  <meyering@lucent.com>
66857
66858         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
66859
66860         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
66861         AC_LIBOBJ(function_name).
66862         * m4/chown.m4: Likewise.
66863         * m4/fnmatch.m4: Likewise.
66864         * m4/ftruncate.m4: Likewise.
66865         * m4/getgroups.m4: Likewise.
66866         * m4/getline.m4: Likewise.
66867         * m4/group-member.m4: Likewise.
66868         * m4/jm-macros.m4: Likewise.
66869         * m4/lstat.m4: Likewise.
66870         * m4/malloc.m4: Likewise.
66871         * m4/memcmp.m4: Likewise.
66872         * m4/nanosleep.m4: Likewise.
66873         * m4/putenv.m4: Likewise.
66874         * m4/realloc.m4: Likewise.
66875         * m4/regex.m4: Likewise.
66876         * m4/stat.m4: Likewise.
66877         * m4/strftime.m4: Likewise.
66878
66879 2000-07-02  Jim Meyering  <meyering@lucent.com>
66880
66881         * lib/quotearg.c (mbstate_t): Don't define here.
66882
66883 2000-07-02  Jim Meyering  <meyering@lucent.com>
66884
66885         * lib/nanosleep.c (SIGCONT): Define if not already defined.
66886
66887 2000-07-01  Jim Meyering  <meyering@lucent.com>
66888
66889         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
66890
66891 2000-07-01  Jim Meyering  <meyering@lucent.com>
66892
66893         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
66894         problem.
66895
66896 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
66897
66898         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
66899         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
66900
66901 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
66902
66903         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
66904         per change in ../m4/ls-mntd-fs.m4.
66905         (read_filesystem_list): Ignore symbolic links.
66906
66907 2000-06-29  Jim Meyering  <meyering@lucent.com>
66908
66909         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
66910         for declaration of strcmp.
66911
66912         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
66913
66914         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
66915         Avoid warning by casting result to `char *' to remove `const'.
66916
66917 2000-06-28  Jim Meyering  <meyering@lucent.com>
66918
66919         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
66920         included by quotearg.c, for which we perform this test.  From
66921         Bruno Haible.
66922
66923 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
66924
66925         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
66926         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
66927         <utmpx.h> exists, put readutmp.o into LIBOBJS.
66928
66929 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
66930
66931         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
66932
66933 2000-06-26  Paul Eggert  <eggert@twinsun.com>
66934
66935         savedir now sets errno on failure and invokes xmalloc to get memory.
66936         Fix a couple of other minor bugs while we're at it.
66937
66938         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
66939         (NAMLEN): Remove macro.
66940         (malloc, realloc): Remove decls.
66941         (stpcpy): Likewise.
66942         ("xalloc.h"): Include.
66943         (NAME_SIZE_DEFAULT): New macro.
66944         (savedir): Use xmalloc / xrealloc to allocate memory.
66945         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
66946         Skip "" directory entries.
66947         Use strlen to calculate directory entry length, since the old method
66948         is rarely used these days and isn't worth supporting.
66949         Don't use a pointer after freeing it.
66950         Check for integer overflow when calculating allocation size.
66951         Use memcpy to copy entries, instead of stpcpy.
66952         Set errno properly when returning NULL.
66953         Check for readdir error.
66954
66955 2000-06-26  Jim Meyering  <meyering@lucent.com>
66956
66957         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
66958
66959 2000-06-25  Jim Meyering  <meyering@lucent.com>
66960
66961         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
66962         Linux header bug when _XOPEN_SOURCE is defined to 500.
66963
66964 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
66965
66966         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
66967         deficiency.
66968
66969 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
66970
66971         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
66972         Include xalloc.h.
66973         Don't include <stdlib.h>.  Don't declare malloc, realloc.
66974
66975 2000-06-24  Jim Meyering  <meyering@lucent.com>
66976
66977         * m4/strerror_r.m4: Revive this file -- to try out an experimental
66978         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
66979         for which strerror does return char*, but which lacks a conveniently
66980         accessible declaration of the function.  If the compile-test says
66981         strerror_r doesn't work, then resort to a `run'-test that works on
66982         BeOS and segfaults on DEC Unix.
66983
66984 2000-06-24  Jim Meyering  <meyering@lucent.com>
66985
66986         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
66987
66988 2000-06-23  Paul Eggert  <eggert@twinsun.com>
66989
66990         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
66991         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
66992
66993 2000-06-23  Paul Eggert  <eggert@twinsun.com>
66994
66995         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
66996         (mbrtowc, mbstate_t): Define substitutes if
66997         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
66998         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
66999         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
67000
67001 2000-06-23  Jim Meyering  <meyering@lucent.com>
67002
67003         * m4/afs.m4: Add missing AC_MSG_RESULT.
67004         Reported by Bruno Haible.
67005
67006         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
67007         Suggestion from Bruno Haible.
67008
67009 2000-06-23  Jim Meyering  <meyering@lucent.com>
67010
67011         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
67012
67013 2000-06-21  Jim Meyering  <meyering@lucent.com>
67014
67015         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
67016
67017 2000-06-21  Jim Meyering  <meyering@lucent.com>
67018
67019         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
67020         (noinst_HEADERS): Add getstr.h.
67021
67022         * lib/getline.c (getstr): Move into a separate file.
67023         * lib/getstr.c (getstr): New file, extracted from getline.c, with
67024         the following changes: new parameter, delim2; both delim[12]
67025         parameters have type `int', not `char'.  The latter would lose
67026         with 8-bit delimiters.
67027         * lib/getstr.h: New file.
67028
67029 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
67030
67031         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
67032         than 1024, return a memory chunk of least possible size, instead
67033         of size PATH_MAX + 2. In the loop, increment the size proportionally.
67034         Use free/xmalloc instead of xrealloc to avoid copying for very long
67035         paths.
67036
67037 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
67038
67039         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
67040         the empty string.
67041
67042 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
67043
67044         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
67045         address, not strdup.  Include <stdlib.h> and don't declare free().
67046
67047 2000-06-19  Jim Meyering  <meyering@lucent.com>
67048
67049         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
67050
67051 2000-06-18  Jim Meyering  <meyering@lucent.com>
67052
67053         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
67054
67055         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
67056         `checking whether...' message to be consistent with that of the
67057         lstat test.
67058
67059 2000-06-18  Jim Meyering  <meyering@lucent.com>
67060
67061         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
67062         Besides, these days every porting target provides a mkdir function.
67063
67064         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
67065         needed. (this snippet comes from src/system.h).
67066
67067 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
67068
67069         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
67070
67071 2000-06-15  Paul Eggert  <eggert@twinsun.com>
67072
67073         * lib/human.c (adjust_value): New function.
67074         (human_readable_inexact): Apply rounding style even when
67075         printing approximate values.
67076
67077 2000-06-14  Paul Eggert  <eggert@twinsun.com>
67078
67079         * lib/human.c (human_readable_inexact): Allow an input block
67080         size that is not a multiple of the output block size, and vice versa.
67081         Reported by Piergiorgio Sartor.
67082
67083 2000-06-14  Paul Eggert  <eggert@twinsun.com>
67084
67085         * lib/getdate.y (get_date): Apply relative times after time
67086         zone indicator, not before.  Reported by Todd A. Jacobs.
67087
67088 2000-06-13  Jim Meyering  <meyering@lucent.com>
67089
67090         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
67091
67092         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
67093
67094 2000-06-12  Paul Eggert  <eggert@twinsun.com>
67095
67096         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
67097
67098 2000-06-12  Jim Meyering  <meyering@lucent.com>
67099
67100         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
67101         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
67102         optional argument.
67103         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
67104         the optional argument, `lib'.
67105
67106 2000-06-08  Jim Meyering  <meyering@lucent.com>
67107
67108         * m4/largefile.m4: Remove file (now that it's part of autoconf).
67109
67110 2000-06-04  Paul Eggert  <eggert@twinsun.com>
67111
67112         Rewrite largefile configuration so that we don't need to run
67113         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
67114         AC_CANONICAL_HOST in configure.in -- jmm]
67115
67116         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
67117         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
67118         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
67119         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
67120         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
67121         All uses changed.
67122         Instead of inspecting the output of getconf, try to compile the
67123         test program without and with the macro definition.
67124         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
67125         for getconf.  Instead, check for the needed flags by compiling
67126         test programs.
67127
67128 2000-06-04  Paul Eggert  <eggert@twinsun.com>
67129
67130         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
67131
67132 2000-06-04  Jim Meyering  <meyering@lucent.com>
67133
67134         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
67135         SunOS 4.1.4 for which gid_t is an unsigned type.
67136
67137 2000-06-03  Jim Meyering  <meyering@lucent.com>
67138
67139         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
67140         now that autoconf requires that.
67141
67142         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
67143         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
67144         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
67145
67146 2000-06-03  Jim Meyering  <meyering@lucent.com>
67147
67148         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
67149
67150 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
67151
67152         * m4/glibc21.m4: New file.
67153         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
67154
67155 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
67156
67157         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
67158         newer, don't install charset.alias.
67159         * lib/config.charset: Change the Linux/glibc rules so they become empty
67160         on glibc-2.1 or newer.
67161
67162 2000-06-02  Jim Meyering  <meyering@lucent.com>
67163
67164         * lib/mountlist.c: Back out last change.  Instead, do this...
67165         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
67166         me_dummy member using the same `ignore'-testing code.
67167         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
67168         fs_type strings.
67169         From Mark D. Roth.
67170
67171 2000-05-29  Jim Meyering  <meyering@lucent.com>
67172
67173         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
67174         mounts with the `ignore' attribute.  Based on a patch from
67175         Mark D. Roth.
67176
67177 2000-05-28  Jim Meyering  <meyering@lucent.com>
67178
67179         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
67180         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
67181         * m4/stat.m4: Likewise.
67182         * m4/lstat.m4: Likewise.
67183         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
67184
67185         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
67186         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
67187
67188 2000-05-26  Jim Meyering  <meyering@lucent.com>
67189
67190         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
67191
67192 2000-05-24  Jim Meyering  <meyering@lucent.com>
67193
67194         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
67195         autoconf requires that.
67196         * m4/lib-check.m4: Likewise.
67197         * m4/jm-macros.m4: Likewise.
67198         * m4/strftime.m4: Likewise.
67199
67200         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
67201         AC_CHECK_DECLS, now that autoconf requires that.
67202
67203 2000-05-22  Jim Meyering  <meyering@lucent.com>
67204
67205         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
67206         * m4/lstat.m4: Likewise.
67207
67208 2000-05-22  Jim Meyering  <meyering@lucent.com>
67209
67210         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
67211
67212 2000-05-20  Jim Meyering  <meyering@lucent.com>
67213
67214         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
67215         (jm_PREREQ): Use it.
67216
67217 2000-05-18  Jim Meyering  <meyering@lucent.com>
67218
67219         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
67220         back, too, since it may have been modified by allocate_entry.
67221         (hash_delete): Rewrite to use neither the assignment operator
67222         nor the comma operator in an if-expression.
67223
67224 2000-05-15  Paul Eggert  <eggert@twinsun.com>
67225
67226         * lib/closeout.c:
67227         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
67228         Remove; no longer needed.
67229         "quotearg.h": Add include.
67230         (file_name): Do not bother to explicitly initialize to NULL; it's less
67231         efficient on some hosts.
67232         (close_stdout_status): Remove test as to whether stdout was already
67233         closed; it breaks for the case "echo x | sort >&-".
67234         Quote file name colons.
67235         Do not assume that _("write error") lacks format strings.
67236
67237 2000-05-15  Jim Meyering  <meyering@lucent.com>
67238
67239         * lib/version-etc.c (version_etc_copyright): Update the copyright
67240         string used in all --version output.
67241
67242 2000-05-14  Jim Meyering  <meyering@lucent.com>
67243
67244         * lib/closeout.c (close_stdout_set_file_name): New function.
67245         (close_stdout_status): Use new file-scoped global.
67246         Return right away if fstat says the stdout file descriptor is invalid.
67247         * lib/closeout.h (close_stdout_set_file_name): Declare.
67248
67249 2000-05-10  Jim Meyering  <meyering@lucent.com>
67250
67251         * lib/closeout.c [default_exit_status]: New file-scoped variable.
67252         (close_stdout_set_status): New function.
67253         * lib/closeout.h (close_stdout_set_status): Declare.
67254
67255 2000-05-09  Jim Meyering  <meyering@lucent.com>
67256
67257         * m4/gettext.m4: Rename this...
67258         * m4/libintl.m4: ...to this.
67259
67260 2000-05-08  Jim Meyering  <meyering@lucent.com>
67261
67262         * lib/long-options.c: Don't include closeout.h.
67263         (parse_long_options): Don't call close_stdout for --version.
67264
67265 2000-05-06  Paul Eggert  <eggert@twinsun.com>
67266
67267         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
67268         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
67269         2.1.3 bug.  This avoids a clash when files like regex.c define
67270         _GNU_SOURCE.
67271
67272 2000-05-06  Jim Meyering  <meyering@lucent.com>
67273
67274         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
67275         (AC_REPLACE_FUNCS): Add strnlen.
67276
67277         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
67278         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
67279
67280         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
67281         AC_SEARCH_LIBS call for nanosleep.
67282         (LIB_NANOSLEEP): Set and AC_SUBST.
67283
67284 2000-05-06  Jim Meyering  <meyering@lucent.com>
67285
67286         * lib/strnlen.c: Undefine __strnlen and strnlen.
67287         [!weak_alias]: Define __strnlen to strnlen.
67288
67289         * lib/atexit.c: New file, from libiberty.
67290
67291 2000-05-06  Jim Meyering  <meyering@lucent.com>
67292
67293         * lib/closeout.c (close_stdout_status): Also check for errors on the
67294         stderr stream.
67295
67296 2000-05-05  Jim Meyering  <meyering@lucent.com>
67297
67298         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
67299         AC_SEARCH_LIBS call for clock_gettime.
67300         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
67301
67302         * m4/search-libs.m4: Update from autoconf.
67303
67304         su doesn't work on Solaris 2.6.
67305         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
67306         <shadow.h>.  Reported by Dragos Harabor.
67307
67308 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
67309
67310         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
67311         memcpy instead of xmalloc, xrealloc, path_concat.
67312         (locale_charset): Treat empty environment variables as absent.
67313         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
67314
67315 2000-05-04  Jim Meyering  <meyering@lucent.com>
67316
67317         * lib/getopt.c: Update from glibc.
67318         * lib/obstack.c: Likewise.
67319         * lib/obstack.h: Likewise.
67320         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
67321         file
67322
67323         * lib/regex.h: Likewise.
67324         * lib/strndup.c: Likewise.
67325         * lib/strnlen.c: New file, from glibc.
67326
67327 2000-05-03  Jim Meyering  <meyering@lucent.com>
67328
67329         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
67330
67331 2000-05-02  Paul Eggert  <eggert@twinsun.com>
67332
67333         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
67334         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
67335         compile-time test, rather than inspecting host and OS, to
67336         decide whether to define _LARGEFILE_SOURCE.
67337
67338 2000-05-01  Jim Meyering  <meyering@lucent.com>
67339
67340         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
67341
67342         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
67343         Based on a patch from Bruno Haible.
67344
67345 2000-05-01  Jim Meyering  <meyering@lucent.com>
67346
67347         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
67348
67349 2000-04-29  Jim Meyering  <meyering@lucent.com>
67350
67351         * lib/path-concat.c: Declare strdup only if it's not defined.
67352         * lib/canon-host.c: Likewise.
67353
67354 2000-04-28  Jim Meyering  <meyering@lucent.com>
67355
67356         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
67357         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
67358         is included first, then limits.h is included by locale.h by libintl.h.
67359         From John David Anglin.
67360
67361 2000-04-25  Jim Meyering  <meyering@lucent.com>
67362
67363         * lib/makepath.c (S_IRWXUGO): Define.
67364         (make_path): Always perform explicit chmod if MODE specifies any
67365         of the `special' permission bits.  Prompted by a bug report against
67366         install from Mate Wierdl and Joost van Baal.
67367
67368 2000-04-18  Jim Meyering  <meyering@lucent.com>
67369
67370         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
67371         (jm_PREREQ): Use it.
67372
67373 2000-04-18  Jim Meyering  <meyering@lucent.com>
67374
67375         * lib/README: New file.
67376
67377         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
67378         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
67379
67380 2000-04-17  Jim Meyering  <meyering@lucent.com>
67381
67382         Get it right :-)
67383         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
67384         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
67385         Suggestion from Akim Demaille.
67386
67387 2000-04-17  Jim Meyering  <meyering@lucent.com>
67388
67389         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
67390         the definition of it to rpl_strftime also defined-away the system's
67391         declaration.
67392
67393 2000-04-15  Jim Meyering  <meyering@lucent.com>
67394
67395         Use `C' to denote so-called `contiguous' files, the same way
67396         that tar does.
67397         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
67398         (ftypelet): Use S_ISCTG.
67399         From Michael Deutschmann.
67400
67401 2000-04-14  Jim Meyering  <meyering@lucent.com>
67402
67403         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
67404         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
67405         clobbered.
67406
67407 2000-04-14  Jim Meyering  <meyering@lucent.com>
67408
67409         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
67410
67411 2000-04-13  Jim Meyering  <meyering@lucent.com>
67412
67413         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
67414         AH_VERBATIM to insert required #ifndef into config.h.in.
67415         Suggestion from Akim Demaille.
67416
67417 2000-04-12  Jim Meyering  <meyering@lucent.com>
67418
67419         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
67420         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
67421         Christian Krackowizer.
67422
67423         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
67424         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
67425         (AC_SYS_LARGEFILE): Require.
67426         (AM_C_PROTOTYPES): Require.
67427
67428 2000-04-08  Jim Meyering  <meyering@lucent.com>
67429
67430         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
67431         names don't conflict.  Reported by Eli Zaretskii.
67432
67433 2000-04-07  Jim Meyering  <meyering@lucent.com>
67434
67435         * lib/putenv.c: Move inclusion of errno.h so it follows that of
67436         sys/types.h, to work around system header problems on AIX 3.2.5.
67437         From Bruno Haible.
67438
67439 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
67440
67441         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
67442         bug.  Deal with the different error behavior of Irix iconv.
67443
67444 2000-04-05  Paul Eggert  <eggert@twinsun.com>
67445
67446         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
67447         IRIX if the installer said otherwise.
67448
67449 2000-04-05  Jim Meyering  <meyering@lucent.com>
67450
67451         Portability tweaks required for ultrix4.3.
67452         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
67453         (jm_CHECK_DECLS): Add getutent to the list of functions.
67454         (_jm_DECL_HEADERS): Add utmpx.h.
67455         From John David Anglin.
67456
67457         * m4/strftime.m4: Back out the 2000-04-02 change.
67458         Instead of that change, simply undefine putenv in the test program.
67459
67460 2000-04-05  Jim Meyering  <meyering@lucent.com>
67461
67462         Portability tweaks required for ultrix4.3.
67463         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
67464         getutent.
67465         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
67466         * lib/canon-host.c: Declare strdup.
67467         * lib/path-concat.c: Likewise.
67468         From John David Anglin.
67469
67470 2000-04-04  Jim Meyering  <meyering@lucent.com>
67471
67472         Be more DOS 8.3-friendly.
67473         * lib/ref-add.sin: Renamed from ref-add.sed.in.
67474         * lib/ref-del.sin: Renamed from ref-del.sed.in.
67475         * lib/Makefile.am: Reflect renaming.
67476         Reported by Eli Zaretskii.
67477
67478         Use a temporary file name that won't clash with `charset.alias'
67479         in the DOS 8.3 name space.
67480         * lib/Makefile.am (charset_tmp): Define.
67481         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
67482         (uninstall-local): Likewise.
67483         Reported by Eli Zaretskii.
67484
67485 2000-04-03  Jim Meyering  <meyering@lucent.com>
67486
67487         * m4/gettext.m4: Fix typo in comment.
67488
67489         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
67490         textutils/configure.in).  Suggestion from Paul Eggert.
67491         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
67492
67493 2000-04-02  Paul Eggert  <eggert@twinsun.com>
67494
67495         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
67496         variable in the shell rather than using putenv, which isn't
67497         portable.  This avoids the configure-time inter-test dependency
67498         on the potentially-renamed putenv function.
67499
67500 2000-03-30  Paul Eggert  <eggert@twinsun.com>
67501
67502         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
67503         before checking struct stat.st_blksize, so that
67504         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
67505
67506 2000-03-29  Paul Eggert  <eggert@twinsun.com>
67507
67508         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
67509         since strftime.c uses HAVE_STRFTIME to decide whether to use
67510         the underlying strftime.
67511
67512 2000-03-29  Paul Eggert  <eggert@twinsun.com>
67513
67514         * lib/time/strftime.c (my_strftime): Make sure we call the system
67515         strftime, not ourselves, when invoking the underlying strftime.
67516
67517 2000-03-24  Jim Meyering  <meyering@lucent.com>
67518
67519         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
67520         (charset_alias): Define.
67521         (install-exec-local): Factor out common code.
67522         (uninstall-local): Split lines longer than 80.
67523         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
67524         (SUFFIXES): Define.
67525         (.sed.in.sed): New rule.  Don't redirect directly to $@.
67526         (CLEANFILES): Add ref-add.sed and ref-del.sed.
67527
67528 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
67529
67530         * lib/config.charset: Output a line containing "Packages using this
67531         file".
67532         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
67533         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
67534         ref-del.sed): New rules.
67535
67536 2000-03-17  Jim Meyering  <meyering@lucent.com>
67537
67538         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
67539         Otherwise, include <strings.h>
67540
67541 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
67542
67543         * lib/unicodeio.c (utf8_wctomb): New function.
67544         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
67545         format instead of in UCS-4 with platform dependent endianness.
67546
67547 2000-03-10  Jim Meyering  <meyering@lucent.com>
67548
67549         * m4/lib-check.m4: Look for getspnam in -lgen, too.
67550         From Marco Franzen.
67551
67552 2000-03-07  Paul Eggert  <eggert@twinsun.com>
67553
67554         * lib/savedir.c (savedir): Work even if directory size is
67555         negative; this can happen with some screwy NFS configurations.
67556
67557 2000-03-06  Jim Meyering  <meyering@lucent.com>
67558
67559         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
67560         if it's NULL (because we ran out of memory).  From Bruno Haible.
67561
67562 2000-03-05  Jim Meyering  <meyering@lucent.com>
67563
67564         * lib/localcharset.c ("path-concat.h"): Include.
67565         (get_charset_aliases): Use path_concat instead of ANSI string
67566         concatenation.
67567
67568         * lib/unicodeio.h (PARAMS): Define.
67569         Use it to guard prototype.
67570
67571 2000-03-04  Jim Meyering  <meyering@lucent.com>
67572
67573         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
67574         for lib/localcharset.c.
67575
67576 2000-03-04  Jim Meyering  <meyering@lucent.com>
67577
67578         * lib/Makefile.am (install-exec-local): Create $(libdir) before
67579         installing into it.
67580         (uninstall-local): Uncomment this rule so `make distcheck' works
67581         once again.
67582
67583         * lib/unicodeio.c (<errno.h>): Include it.
67584         (errno): Declare if not defined.
67585
67586         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
67587
67588         * lib/config.charset: New version, incorporating remarks from a linux
67589         i18n mailing list.  From Bruno Haible.
67590
67591 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
67592
67593         * m4/codeset.m4: New file.
67594         * m4/iconv.m4: New file.
67595         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
67596
67597 2000-03-03  Jim Meyering  <meyering@lucent.com>
67598
67599         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
67600
67601 2000-03-02  Jim Meyering  <meyering@lucent.com>
67602
67603         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
67604         the messages come out on separate lines.
67605
67606         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
67607         rather than jm_CHECK_DECLARATIONS.
67608         * m4/decl.m4: Remove now-unused file.
67609
67610         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
67611         geteuid.
67612
67613 2000-03-02  Jim Meyering  <meyering@lucent.com>
67614
67615         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
67616
67617 2000-03-01  Jim Meyering  <meyering@lucent.com>
67618
67619         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
67620         * lib/unicodeio.c: Likewise.
67621
67622 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
67623
67624         * lib/config.charset: New file.
67625         * lib/localcharset.c: New file.
67626         * lib/unicodeio.h, lib/unicodeio.c: New files.
67627         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
67628         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
67629         (noinst_HEADERS): Add unicodeio.h.
67630         (all-local, install-exec-local, charset.alias): New targets.
67631
67632 2000-02-28  Paul Eggert  <eggert@twinsun.com>
67633
67634         * lib/quotearg.c (ALERT_CHAR): New macro.
67635         (quotearg_buffer_restyled): Use it.
67636
67637 2000-02-27  Jim Meyering  <meyering@lucent.com>
67638
67639         * m4/check-decl.m4: Add getenv to the list.
67640
67641 2000-02-27  Jim Meyering  <meyering@lucent.com>
67642
67643         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
67644         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
67645
67646         * lib/backupfile.c: Guard inclusion of stdlib.h with
67647         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
67648         Declare malloc if needed.
67649
67650         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
67651         `#ifndef HAVE_DECL..'
67652         now that autoconf always defines the HAVE_DECL_ symbols.
67653         * lib/human.c: Likewise.
67654         * lib/same.c: Likewise.
67655         * lib/strtoumax.c: Likewise.
67656
67657         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
67658         declaration check was not run.
67659         * lib/hash.c: Likewise.
67660         * lib/human.c: Likewise.
67661         * lib/same.c: Likewise.
67662         * lib/strtoumax.c: Likewise.
67663
67664         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
67665         `.', then first look up the entire `.'-containing string as a login
67666         name.
67667
67668 2000-02-23  Jim Meyering  <meyering@lucent.com>
67669
67670         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
67671         in place of my hack.
67672
67673 2000-02-18  Paul Eggert  <eggert@twinsun.com>
67674
67675         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
67676         (textint): New typedef.
67677         (parser_control): Member year changed from int to textint.
67678         All uses changed.
67679         (YYSTYPE): Removed; replaced by %union with int and textint members.
67680         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
67681         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
67682         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
67683         (tSNUMBER, tUNUMBER): Now of type <textintval>.
67684         (date, number, to_year): Use width of number in digits, not its value,
67685         to determine whether it's a 2-digit year, or a 2-digit time.
67686         (yylex): Store number of digits of numeric tokens.
67687         Reported by John Kendall.
67688
67689         (parser_control): Changed from struct parser_control to typedef (for
67690         consistency).  All uses changed.
67691
67692         (tID): Removed; not used.
67693         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
67694
67695 2000-02-14  Paul Eggert  <eggert@twinsun.com>
67696
67697         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
67698         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
67699
67700 2000-02-12  Jim Meyering  <meyering@lucent.com>
67701
67702         * lib/userspec.c (ISDIGIT): Define it.
67703         (isdigit): Remove definition.
67704         (is_number): Use ISDIGIT, not isdigit.
67705         <libintl.h>: Include.
67706         (_ and N_): Define.
67707         (parse_user_spec): Mark translatable strings.
67708
67709 2000-02-10  Jim Meyering  <meyering@lucent.com>
67710
67711         With these changes, nanosleep.[ch] are finally enough like the other
67712         lib/* replacement files to compile on a few more losing systems.
67713
67714         * lib/nanosleep.h: Don't include config.h.
67715         Remove prototype from declaration of nanosleep.
67716         (PARAMS): Remove now-unneeded definition.
67717         * lib/nanosleep.c: #undef nanosleep.
67718         (rpl_nanosleep): Rename from nanosleep.
67719
67720 2000-02-10  Jim Meyering  <meyering@lucent.com>
67721
67722         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
67723         gnu_nanosleep to rpl_nanosleep.
67724
67725 2000-02-09  Jim Meyering  <meyering@lucent.com>
67726
67727         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
67728         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
67729
67730 2000-02-08  Akim Demaille  <akim@epita.fr>
67731
67732         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
67733         `[' and `]' and remove uses of `changequote'.
67734         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
67735         (AC_SYS_LARGEFILE): Likewise.
67736         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
67737         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
67738         of changequote.
67739         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
67740         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
67741         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
67742         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
67743
67744 2000-02-05  Jim Meyering  <meyering@lucent.com>
67745
67746         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
67747         Remove explicit use of AC_HEADER_TIME.  It is required by
67748         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
67749         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
67750         in autoconf whereby the expansion of the latter ended up preceding
67751         the expansion of its prerequisite, AC_HEADER_TIME.
67752         Reported by Volker Borchert.
67753
67754 2000-02-03  Jim Meyering  <meyering@lucent.com>
67755
67756         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
67757
67758 2000-02-03  Jim Meyering  <meyering@lucent.com>
67759
67760         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
67761         rather than with `#if HAVE_UTMPNAME'.
67762
67763 2000-02-02  Jim Meyering  <meyering@lucent.com>
67764
67765         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
67766         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
67767         Reported by Eli Zaretskii.
67768
67769 2000-02-01  Jim Meyering  <meyering@lucent.com>
67770
67771         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
67772
67773 2000-01-31  Jim Meyering  <meyering@lucent.com>
67774
67775         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
67776         functions.  Add the time.h and sys/time.h headers along with the
67777         AC_REQUIRE'ment of AC_HEADER_TIME.
67778
67779 2000-01-31  Jim Meyering  <meyering@lucent.com>
67780
67781         * lib/nanosleep.h (nanosleep): Guard declaration with
67782         `#if ! HAVE_DECL_NANOSLEEP'.
67783         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
67784         the declaration in that vendor's sys/timers.h.
67785         Reported by Christian Krackowizer.
67786
67787         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
67788         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
67789         (ISPRINT): Likewise.
67790         Reported by Tom Tromey.
67791
67792 2000-01-30  Jim Meyering  <meyering@lucent.com>
67793
67794         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
67795
67796         * m4/prereq.m4 (utmp_includes): Define.
67797         Check for ut_user and ut_name members in both struct utmpx
67798         and struct utmp.
67799
67800 2000-01-30  Jim Meyering  <meyering@lucent.com>
67801
67802         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
67803         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
67804         header files where only utmpx.ut_user is declared.
67805
67806         * lib/readutmp.h (UT_USER): Define.
67807
67808 2000-01-29  Jim Meyering  <meyering@lucent.com>
67809
67810         * m4/lib-check.m4: New file containing library-related checks from
67811         fileutils and sh-utils (textutils had none).
67812
67813 2000-01-28  Jim Meyering  <meyering@lucent.com>
67814
67815         * m4/perl.m4: Change format of warning message to look more like that
67816         from the missing script.  Suggestion from François Pinard.
67817
67818 2000-01-25  Jim Meyering  <meyering@lucent.com>
67819
67820         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
67821         well as time.h in the compile check.
67822         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
67823         Fix typo in cross-compiling case: s/yes/no/.
67824
67825 2000-01-23  Jim Meyering  <meyering@lucent.com>
67826
67827         * m4/jm-macros.m4: Move df-related tests here from
67828         fileutils/configure.in
67829
67830         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
67831         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
67832
67833         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
67834         s/space/ac_fsusage_space/.
67835         (jm_FILE_SYSTEM_USAGE): Take two parameters.
67836
67837         * m4/ftruncate.m4: New file (derived from part of
67838         fileutils/configure.in).
67839         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
67840         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
67841
67842         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
67843         AC_SUBST these here, rather than just in sh-util/configure.in, so
67844         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
67845         all the same.
67846         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
67847         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
67848         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
67849         (AC_SUBST(POW_LIBM)): Likewise.
67850         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
67851
67852 2000-01-23  Jim Meyering  <meyering@lucent.com>
67853
67854         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
67855         obstack.c.
67856
67857 2000-01-22  Jim Meyering  <meyering@lucent.com>
67858
67859         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
67860
67861         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
67862
67863         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
67864         configure.in
67865         (AC_CHECK_HEADERS): Likewise for sh-utils.
67866         (AC_CHECK_HEADERS): Likewise for textutils.
67867         Merge the three lists of headers.
67868
67869         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
67870         from fileutils' configure.in.
67871
67872         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
67873         code. Moved tests into their own function (_jm_DECL_HEADERS) in
67874         check-decl.m4.
67875
67876         * m4/check-decl.m4: Use #if rather than #ifdef.
67877         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
67878         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
67879         (_jm_DECL_HEADERS): Define new function.
67880         (jm_CHECK_DECLARATIONS): Require it.
67881
67882 2000-01-22  Jim Meyering  <meyering@lucent.com>
67883
67884         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
67885         [! HAVE_DECL_STRTOULL]: Declare strtoull.
67886         Required for some AIX systems.  Reported by Christian Krackowizer.
67887         [TESTING] (main): New function.
67888
67889         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
67890         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
67891         letters.
67892
67893         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
67894         iswprint.
67895
67896         * lib/strverscmp.c (ISDIGIT): Define.
67897         (strverscmp): Use ISDIGIT, not isdigit.
67898
67899 2000-01-19  Jim Meyering  <meyering@lucent.com>
67900
67901         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
67902         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
67903         defines `struct timespec' in <sys/time.h>
67904
67905         * m4/c-bs-a.m4: Remove uses of changequote altogether.
67906         Thanks to Akim for explaining.
67907
67908 2000-01-17  Paul Eggert  <eggert@twinsun.com>
67909
67910         * lib/nanosleep.c (nanosleep):
67911         Don't use SA_INTERRUPT to decide whether to call sigaction, as
67912         POSIX.1 doesn't require SA_INTERRUPT and some systems
67913         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
67914         it's been part of POSIX.1 since day 1 (in 1988).
67915
67916 2000-01-17  Jim Meyering  <meyering@lucent.com>
67917
67918         * lib/interlock: Remove unused file.  Reported by François Pinard.
67919
67920 2000-01-16  Paul Eggert  <eggert@twinsun.com>
67921
67922         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
67923         alert, backslash, formfeed, and vertical tab unnecessarily in
67924         shell quoting style.
67925
67926 2000-01-16  Jim Meyering  <meyering@lucent.com>
67927
67928         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
67929         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
67930         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
67931         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
67932
67933 2000-01-16  Jim Meyering  <meyering@lucent.com>
67934
67935         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
67936         because the latter didn't work.
67937
67938 2000-01-15  Jim Meyering  <meyering@lucent.com>
67939
67940         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
67941         (AC_REPLACE_FUNCS): Add memcpy and memset.
67942         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
67943         Add strpbrk.
67944         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
67945
67946 2000-01-12  Jim Meyering  <meyering@lucent.com>
67947
67948         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
67949         (jm_PREREQ): Use it.
67950         (jm_PREREQ_READUTMP): New macro.
67951         (jm_PREREQ): Use it.
67952
67953 2000-01-11  Paul Eggert  <eggert@twinsun.com>
67954
67955         Quote multibyte characters correctly.
67956         * m4/c-bs-a.m4: New file.
67957         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
67958         (jm_PREREQ): Use it.
67959
67960 2000-01-11  Paul Eggert  <eggert@twinsun.com>
67961
67962         * m4/uintmax_t.m4: Port to autoconf 2.13.
67963
67964 2000-01-08  Jim Meyering  <meyering@ascend.com>
67965
67966         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
67967         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
67968
67969 2000-01-04  Jim Meyering  <meyering@ascend.com>
67970
67971         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
67972         jm_STRUCT_DIRENT_D_TYPE.
67973         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
67974         jm_STRUCT_DIRENT_D_INO.
67975         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
67976         jm_STRUCT_UTIMBUF.
67977         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
67978         renamings.
67979         * m4/utime.m4: Likewise.
67980
67981         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
67982         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
67983
67984 2000-01-03  Paul Eggert  <eggert@twinsun.com>
67985
67986         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
67987         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
67988
67989 2000-01-02  Jim Meyering  <meyering@ascend.com>
67990
67991         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
67992         remember if this is necessary.
67993
67994 1999-12-26  Jim Meyering  <meyering@ascend.com>
67995
67996         * m4/jm-macros.m4: Use it here.
67997         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
67998
67999 1999-12-23  Jim Meyering  <meyering@ascend.com>
68000
68001         * m4/jm-macros.m4: Check for clock_gettime (moved from
68002         fileutils/configure.in)
68003         Check for gettimeofday.
68004
68005 1999-12-20  Jim Meyering  <meyering@ascend.com>
68006
68007         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
68008         autoconf-2.14a-1999-12-20.
68009
68010 1999-12-19  Jim Meyering  <meyering@ascend.com>
68011
68012         * m4/lstat-slash.m4: New file.
68013         * m4/jm-macros.m4: Use the new macro:
68014         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
68015
68016 1999-12-07  Jim Meyering  <meyering@ascend.com>
68017
68018         * m4/perl.m4: Require that File::Compare be available, too.
68019         Too many systems seem to lack it.
68020
68021         * m4/strftime.m4: Add checks for most of the cpp macros tested in
68022         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
68023
68024 1999-11-18  Paul Eggert  <eggert@twinsun.com>
68025
68026         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
68027         problem with the QNX 4.25 shell, which doesn't propagate exit
68028         status of failed commands inside shell assignments.
68029
68030 1999-11-17  Jim Meyering  <meyering@ascend.com>
68031
68032         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
68033
68034 1999-11-07  Jim Meyering  <meyering@ascend.com>
68035
68036         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
68037
68038 1999-11-06  Jim Meyering  <meyering@ascend.com>
68039
68040         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
68041         * m4/jm-macros.m4 (jm_MACROS): Use it here.
68042
68043 1999-11-05  Jim Meyering  <meyering@ascend.com>
68044
68045         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
68046         configure.in of textutils, fileutils, and sh-utils into this one
68047         (shared between those packages) file.
68048         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
68049         AC_STRUCT_ST_BLKSIZE.
68050
68051 1999-11-03  Jim Meyering  <meyering@ascend.com>
68052
68053         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
68054         of AC_CHECK_TYPE checks includes unistd.h.
68055         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
68056         Suggestion from Akim Demaille.
68057
68058 1999-10-30  Jim Meyering  <meyering@ascend.com>
68059
68060         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
68061         m4-quoted string.
68062         * m4/ls-mntd-fs.m4: Likewise.
68063         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
68064         * m4/jm-winsz1.m4: Likewise.
68065
68066         * m4/const.m4: Remove file, since the fix made it into the experimental
68067         version of autoconf.
68068         * m4/mktime.m4: Likewise.
68069
68070         * m4/check-type.m4: Remove file, now that the latest version of
68071         AC_CHECK_TYPE takes a third arg to specify additional #includes.
68072
68073         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
68074         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
68075         AC_CHECK_TYPE.
68076
68077 1999-10-04  Jim Meyering  <meyering@ascend.com>
68078
68079         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
68080
68081 1999-09-22  Paul Eggert  <eggert@twinsun.com>
68082
68083         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
68084         2.95.1 bug with HP-UX 10.20.
68085
68086 1999-09-17  Jim Meyering  <meyering@ascend.com>
68087
68088         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
68089         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
68090         due to missing strdup (against sh-utils-2.0).
68091
68092 1999-08-29  Jim Meyering  <meyering@ascend.com>
68093
68094         * m4/jm-macros.m4: Require jm_BISON.
68095         * m4/bison.m4: New file.
68096
68097 1999-08-17  Paul Eggert  <eggert@twinsun.com>
68098
68099         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
68100         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
68101
68102 1999-08-05  Jim Meyering  <meyering@ascend.com>
68103
68104         * m4/getline.m4: Rename test file from conftestdata to conftest.data
68105         to avoid conflicts with `conftest' on 8+3 filesystems.
68106         Suggestion from Eli Zaretskii.
68107
68108 1999-08-04  Jim Meyering  <meyering@ascend.com>
68109
68110         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
68111         fileutils and sh-utils (textutils's getline test was inadequate).
68112         (AM_FUNC_GETLINE): Run this test.
68113         (AC_CHECK_FUNCS): Check for getdelim.
68114         Reported by Bob Proulx.
68115
68116 1999-08-02  Jim Meyering  <meyering@ascend.com>
68117
68118         * m4/jm-macros.m4: Add a comment.
68119
68120 1999-08-01  Paul Eggert  <eggert@twinsun.com>
68121
68122         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
68123         <inttypes.h> defines strtoumax as a macro (and not as a
68124         function).
68125
68126 1999-08-01  Paul Eggert  <eggert@twinsun.com>
68127
68128         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
68129         that we can shift, multiply and divide unsigned long long
68130         values; Ultrix cc can't do it.
68131
68132 1999-08-01  Paul Eggert  <eggert@twinsun.com>
68133
68134         * m4/mktime.m4: New file, which is a preview of what should appear
68135         in the next public autoconf release.
68136
68137 1999-08-01  Paul Eggert  <eggert@twinsun.com>
68138
68139         * m4/lfs.m4: Remove this file.
68140         * m4/largefile.m4: New file.  It contains the old contents of
68141         lfs.m4, except that all names with prefix AC_LFS have been
68142         changed to use the prefix AC_SYS_LARGEFILE instead, to be
68143         compatible with future autoconf versions.  Also, some minor m4
68144         quoting problems have been fixed.
68145
68146 1999-08-01  Paul Eggert  <eggert@twinsun.com>
68147
68148         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
68149         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
68150         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
68151         and simplify the shell code.
68152
68153 1999-08-01  Jim Meyering  <meyering@ascend.com>
68154
68155         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
68156         m4.
68157
68158 1999-07-20  Jim Meyering  <meyering@ascend.com>
68159
68160         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
68161
68162 1999-07-15  Jim Meyering  <meyering@ascend.com>
68163
68164         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
68165
68166 1999-05-22  Jim Meyering  <meyering@ascend.com>
68167
68168         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
68169
68170 1999-05-20  Jim Meyering  <meyering@ascend.com>
68171
68172         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
68173         Add a colon after each `then' in case $4 is empty.
68174
68175 1999-05-16  Jim Meyering  <meyering@ascend.com>
68176
68177         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
68178
68179 1999-05-10  Jim Meyering  <meyering@ascend.com>
68180
68181         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
68182
68183         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
68184         AC_FUNC_MKTIME.
68185
68186 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
68187
68188         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
68189
68190 1999-05-04  Paul Eggert  <eggert@twinsun.com>
68191
68192         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
68193         not CPPFLAGS, so that linking works correctly in IRIX.
68194
68195 1999-04-30  Paul Eggert  <eggert@twinsun.com>
68196
68197         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
68198
68199 1999-04-20  Paul Eggert  <eggert@twinsun.com>
68200
68201         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
68202         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
68203         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
68204         jm_AC_TYPE_UNSIGNED_LONG_LONG.
68205         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
68206
68207         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
68208
68209 1999-04-20  Jim Meyering  <meyering@ascend.com>
68210
68211         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
68212         AC_REPLACE xstroull if necessary.  From Paul Eggert.
68213         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
68214
68215 1999-04-18  Jim Meyering  <meyering@ascend.com>
68216
68217         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
68218         * m4/jm-macros.m4: Use it.
68219
68220 1999-04-06  Jim Meyering  <meyering@ascend.com>
68221
68222         * m4/strftime.m4: Remove test for %f.
68223
68224 1999-03-29  Jim Meyering  <meyering@ascend.com>
68225
68226         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
68227         superset of the AC_TYPE_* checks in the textutils, fileutils,
68228         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
68229         AC_TYPE_PID_T.
68230
68231 1999-03-28  Jim Meyering  <meyering@ascend.com>
68232
68233         * m4/jm-macros.m4: Define GNU_PACKAGE here.
68234         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
68235         replaced e.g., in the *.sh files of the sh-utils.
68236
68237 1999-03-20  Jim Meyering  <meyering@ascend.com>
68238
68239         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
68240         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
68241         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
68242
68243 1999-03-19  Jim Meyering  <meyering@ascend.com>
68244
68245         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
68246
68247 1999-03-12  Jim Meyering  <meyering@ascend.com>
68248
68249         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
68250
68251 1999-03-07  Jim Meyering  <meyering@ascend.com>
68252
68253         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
68254         declared.
68255
68256 1999-02-17  Jim Meyering  <meyering@ascend.com>
68257
68258         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
68259         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
68260
68261 1999-02-07  Jim Meyering  <meyering@ascend.com>
68262
68263         * m4/group-member.m4: New file -- extracted from sh-utils'
68264         configure.in.
68265
68266         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
68267         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
68268
68269 1999-02-06  Jim Meyering  <meyering@ascend.com>
68270
68271         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
68272         * m4/fnmatch.m4: Likewise.
68273         * m4/getgroups.m4: Likewise.
68274         * m4/lstat.m4: Likewise.
68275         * m4/malloc.m4: Likewise.
68276         * m4/putenv.m4: Likewise.
68277         * m4/realloc.m4: Likewise.
68278         * m4/regex.m4: Likewise.
68279         * m4/stat.m4: Likewise.
68280         * m4/strftime.m4: Likewise.
68281         Suggestion from Alain Magloire.
68282
68283         * m4/chown.m4: Use `.$ac_objext', not `.o'.
68284         * m4/fnmatch.m4: Likewise.
68285         * m4/getgroups.m4: Likewise.
68286         * m4/getline.m4: Likewise.
68287         * m4/lstat.m4: Likewise.
68288         * m4/malloc.m4: Likewise.
68289         * m4/memcmp.m4: Likewise.
68290         * m4/putenv.m4: Likewise.
68291         * m4/realloc.m4: Likewise.
68292         * m4/regex.m4: Likewise.
68293         * m4/stat.m4: Likewise.
68294         * m4/strftime.m4: Likewise.
68295         Suggestion from Alain Magloire.
68296
68297         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
68298         an argument.
68299
68300         * m4/regex.m4: Add a run-time Test for proper operation of
68301         re_compile_pattern.
68302
68303 1999-01-31  Jim Meyering  <meyering@ascend.com>
68304
68305         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
68306
68307 1999-01-30  Jim Meyering  <meyering@ascend.com>
68308
68309         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
68310
68311         * m4/jm-mktime.m4: Make this a wrapper around the official
68312         AM_FUNC_MKTIME rather than my private copy, now that the official one
68313         is up to date.
68314         * m4/mktime.m4: Remove file.
68315
68316         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
68317         * m4/uptime.m4: Likewise.
68318         * m4/uintmax_t.m4: Likewise.
68319
68320 1999-01-28  Jim Meyering  <meyering@ascend.com>
68321
68322         * m4/jm-macros.m4: Use jm_AFS.
68323         * m4/afs.m4: New file (from fileutils' configure.in).
68324
68325         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
68326         * m4/chown.m4: Likewise.
68327         * m4/d-ino.m4: Likewise.
68328         * m4/d-type.m4: Likewise.
68329         * m4/fnmatch.m4: Likewise.
68330         * m4/getgroups.m4: Likewise.
68331         * m4/gettext.m4: Likewise.
68332         * m4/jm-mktime.m4: Likewise.
68333         * m4/jm-winsz2.m4: Likewise.
68334         * m4/lcmessage.m4: Likewise.
68335         * m4/ls-mntd-fs.m4: Likewise.
68336         * m4/malloc.m4: Likewise.
68337         * m4/memcmp.m4: Likewise.
68338         * m4/putenv.m4: Likewise.
68339         * m4/realloc.m4: Likewise.
68340         * m4/st_mtim.m4: Likewise.
68341         * m4/strftime.m4: Likewise.
68342
68343 1999-01-16  Jim Meyering  <meyering@ascend.com>
68344
68345         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
68346         (ARGMATCH_DIE_DECL): Define.
68347
68348 1999-01-12  Jim Meyering  <meyering@ascend.com>
68349
68350         * m4/Makefile.am.in: Rewrite to avoid using fmt.
68351         Reported by Lars Hecking.
68352
68353 1999-01-10  Jim Meyering  <meyering@ascend.com>
68354
68355         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
68356         gross kludge.
68357         * m4/inttypes_h.m4: Likewise.
68358         * m4/lstat.m4: Likewise.
68359         * m4/malloc.m4: Likewise.
68360         * m4/readdir.m4: Likewise.
68361         * m4/realloc.m4: Likewise.
68362         * m4/st_dm_mode.m4: Likewise.
68363         * m4/stat.m4: Likewise.
68364         * m4/utimbuf.m4: Likewise.
68365         * m4/utimes.m4: Likewise.
68366
68367         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
68368         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
68369         comments in config.h.in are meaningful.
68370
68371         * m4/jm-macros.m4: Require autoconf-2.13 here.
68372
68373         * m4/regex.m4: By default, don't use the included regex.c on systems
68374         with glibc 2.  Suggestion from Uli Drepper.
68375
68376 1999-01-02  Jim Meyering  <meyering@ascend.com>
68377
68378         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
68379
68380 1998-12-18  Jim Meyering  <meyering@ascend.com>
68381
68382         * m4/Makefile.am.in (Makefile.am): Simplify rule.
68383         Based on a suggestion from Lars Hecking.
68384
68385 1998-11-16  Paul Eggert  <eggert@twinsun.com>
68386
68387         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
68388
68389 1998-11-16  Jim Meyering  <meyering@ascend.com>
68390
68391         * m4/lfs.m4: Double-quote the `uname...` expression.
68392
68393 1998-11-14  Jim Meyering  <meyering@ascend.com>
68394
68395         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
68396         * m4/stat.m4: Likewise.
68397
68398 1998-11-03  Jim Meyering  <meyering@ascend.com>
68399
68400         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
68401         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
68402
68403 1998-10-18  Jim Meyering  <meyering@ascend.com>
68404
68405         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
68406
68407 1998-10-17  Jim Meyering  <meyering@ascend.com>
68408
68409         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
68410         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
68411         calls for those previously hard-coded headers.  Instead, take a new
68412         parameter.
68413         (jm_CHECK_DECLARATIONS): Reflect interface change.
68414         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
68415         (jm_CHECK_DECL_LOCALTIME_R): New macro.
68416
68417         * m4/mktime.m4: Test for spring-forward gap before long-running test.
68418
68419 1998-10-14  Jim Meyering  <meyering@ascend.com>
68420
68421         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
68422         instead of "TZ=America/Vancouver".  From Paul Eggert.
68423
68424 1998-10-11  Jim Meyering  <meyering@ascend.com>
68425
68426         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
68427         This adds a test for a recently added compatibility fix for mktime.c.
68428         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
68429
68430 1998-09-27  Jim Meyering  <meyering@ascend.com>
68431
68432         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
68433
68434         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
68435         ../configure.in, including a change from Gordon Matzigkeit to allow
68436         cross-compiling for the Hurd.
68437
68438         * m4/glibc.m4: New file/macro to test for the GNU C Library
68439         versions 1 and 2.  From Gordon Matzigkeit.
68440         Indent.
68441
68442 1998-09-21  Jim Meyering  <meyering@ascend.com>
68443
68444         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
68445
68446 1998-08-18  Paul Eggert  <eggert@twinsun.com>
68447
68448         Port nanosecond-resolution times to UnixWare 2.1.2 and
68449         pedantic Solaris 2.6.
68450
68451         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
68452         AC_STRUCT_ST_MTIM.
68453         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
68454         Generate name of ns member, instead of just 1 or undef.
68455         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
68456
68457 1998-08-15  Jim Meyering  <meyering@ascend.com>
68458
68459         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
68460         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
68461         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
68462         instead of jm_TYPE_SSIZE_T.
68463
68464 1998-08-12  Jim Meyering  <meyering@ascend.com>
68465
68466         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
68467
68468 1998-08-02  Jim Meyering  <meyering@ascend.com>
68469
68470         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
68471         in acconfig.h manually.
68472
68473 1998-07-31  Paul Eggert  <eggert@twinsun.com>
68474
68475         * m4/st_mtim.m4: New file.
68476
68477 1998-07-28  Jim Meyering  <meyering@ascend.com>
68478
68479         * m4/utimes.m4: Undef stat.
68480
68481 1998-07-25  Jim Meyering  <meyering@ascend.com>
68482
68483         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
68484         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
68485
68486 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
68487
68488         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
68489         uid and gid actually remain unchanged.
68490
68491 1998-07-07  Jim Meyering  <meyering@ascend.com>
68492
68493         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
68494
68495 1998-07-04  Jim Meyering  <meyering@ascend.com>
68496
68497         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
68498         to prove that this macro can be used in packages without regex.c.
68499
68500 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
68501
68502         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
68503         is to be used.
68504
68505 1998-07-03  Jim Meyering  <meyering@ascend.com>
68506
68507         * m4/gettext.m4: Add -lintl if it's found to be necessary.
68508
68509         * m4/gettext.m4: New file -- from gettext-0.10.35.
68510         * m4/lcmessage.m4: Likewise.
68511         * m4/progtest.m4: Likewise.
68512
68513         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
68514         * m4/jm-macros.m4: Require the new macro.
68515
68516 1998-06-29  Jim Meyering  <meyering@ascend.com>
68517
68518         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
68519         for the definition of NGROUPS (used in a system header included
68520         by sys/mount.h).
68521
68522 1998-06-28  Jim Meyering  <meyering@ascend.com>
68523
68524         * m4/ls-mntd-fs.m4: New file.
68525         * m4/fstypename.m4: New file.
68526
68527         * m4/jm-macros.m4: Require the new macro.
68528         * m4/jm-glibc-io.m4: New file.
68529
68530 1998-05-19  Jim Meyering  <meyering@ascend.com>
68531
68532         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
68533         * m4/lchown.m4: New file.
68534
68535         * m4/Makefile.am.in: New file.
68536         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
68537
68538 1998-05-14  Jim Meyering  <meyering@ascend.com>
68539
68540         * m4/Makefile.am (EXTRA_DIST): Add them.
68541         * m4/jm-macros.m4: New file.
68542         * m4/utimbuf.m4: New file.
68543
68544 1998-05-12  Jim Meyering  <meyering@ascend.com>
68545
68546         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
68547
68548 1998-05-11  Jim Meyering  <meyering@ascend.com>
68549
68550         * m4/isc-posix.m4: New file.
68551
68552 1998-05-10  Jim Meyering  <meyering@ascend.com>
68553
68554         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
68555
68556 1998-05-09  Jim Meyering  <meyering@ascend.com>
68557
68558         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
68559         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
68560         with automake.
68561
68562         * m4/ssize_t.m4: New file.
68563         * m4/mktime.m4: Remove file -- the new automake has this now.
68564
68565 1998-04-26  Jim Meyering  <meyering@ascend.com>
68566
68567         * m4/assert.m4: New file.
68568         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
68569
68570 1998-04-05  Jim Meyering  <meyering@ascend.com>
68571
68572         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
68573         (jm_PREREQ): Use it here.
68574
68575 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
68576
68577         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
68578         in acconfig.h.
68579
68580 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
68581
68582         * m4/prereq.m4: New file.
68583         * m4/error.m4: New file.
68584         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
68585
68586 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
68587
68588         * m4/getline.m4: Don't set am_cv_func_working_getline before the
68589         cache-check for the same variable -- that defeated the purpose of
68590         the test; the test program was never run.  This was a problem only
68591         on systems with losing getline functions -- HP-UX 10.20 is one.
68592         Reported by Bjorn Helgaas.
68593
68594 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
68595
68596         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
68597
68598 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
68599
68600         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
68601
68602         * m4/const.m4: New file.  Use an initializer in this declaration
68603         typedef int charset[2]; const charset x;
68604         Reported by Bob Glickstein.
68605
68606 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
68607
68608         * m4/chown.m4: Fix reversed types on -1 args to chown.
68609         From Kaveh Ghazi.
68610
68611 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
68612
68613         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
68614         Add lseek and memchr.
68615
68616         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
68617         T.E.Dickey <dickey@clark.net> said that some older preprocessors
68618         have a 20-character limit on names.
68619
68620 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
68621
68622         * m4/inttypes_h.m4: New file.
68623         * m4/uintmax_t.m4: New file.
68624         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
68625
68626
68627         -----
68628
68629         Local Variables:
68630         coding: utf-8
68631         End:
68632
68633         Copyright (C) 1997-2010 Free Software Foundation, Inc.
68634
68635         Copying and distribution of this file, with or without
68636         modification, are permitted provided the copyright notice
68637         and this notice are preserved.