Correctly determine whether pow is available in libc on AIX 7 with xlc.
[gnulib.git] / ChangeLog
1 2010-07-31  Bruno Haible  <bruno@clisp.org>
2
3         Correctly determine whether pow is available in libc on AIX 7 with xlc.
4         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
5         This disables an xlc optimization that was causing wrong test results.
6         Reported by Rainer Tammer.
7
8 2010-07-31  Bruno Haible  <bruno@clisp.org>
9
10         iconv: Work around AIX 6.1..7.1 bug.
11         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
12         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
13         cross-compiling, guess no on all versions of AIX.
14         Reported by Rainer Tammer.
15
16 2010-07-31  Bruno Haible  <bruno@clisp.org>
17
18         readlink: Relax test a bit.
19         * tests/test-readlink.h (test_readlink): Allow different errno value
20         when readlink is called with a file name that ends in / and refers to
21         a file.
22         Suggested by Eric Blake.
23         Reported by Rainer Tammer.
24
25 2010-07-31  Bruno Haible  <bruno@clisp.org>
26
27         copysign: Does not require -lm on glibc systems.
28         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
29         gl_COMMON_DOUBLE_MATHFUNC.
30         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
31
32 2010-07-31  Bruno Haible  <bruno@clisp.org>
33
34         duplocale: Work around AIX 7.1 bug.
35         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
36         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
37         * lib/duplocale.c (rpl_duplocale): Update comment.
38         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
39         Reported by Rainer Tammer.
40
41 2010-07-30  Bruno Haible  <bruno@clisp.org>
42
43         dirfd: Avoid link error on AIX 7.1.
44         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
45         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
46         exist, set REPLACE_DIRFD.
47         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
48         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
49         * doc/posix-functions/dirfd.texi: Update.
50         Reported by Rainer Tammer.
51
52 2010-07-30  Eric Blake  <eblake@redhat.com>
53
54         strtod: next round of AIX fixes
55         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
56         exponent.
57         * tests/test-strtod.c (main): Enhance tests.
58         * doc/posix-functions/strtod.texi (strtod): Document next bug.
59         Reported by Rainer Tammer.
60
61         futimens: fix configure check
62         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
63         Reported by Bruno Haible.
64
65 2010-07-30  Bruno Haible  <bruno@clisp.org>
66
67         getline: Update regarding AIX.
68         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
69         Reported by Rainer Tammer.
70
71 2010-07-30  Bruno Haible  <bruno@clisp.org>
72
73         wcwidth: Drop replacement on AIX 7.
74         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
75         AIX 7.
76         Reported by Rainer Tammer.
77
78 2010-07-30  Bruno Haible  <bruno@clisp.org>
79
80         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
81         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
82         a 'char *'.
83         Reported by Rainer Tammer.
84
85 2010-07-30  Bruno Haible  <bruno@clisp.org>
86
87         unlink: Update regarding AIX.
88         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
89         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
90         Reported by Rainer Tammer.
91
92 2010-07-30  Bruno Haible  <bruno@clisp.org>
93
94         symlink: Update regarding AIX.
95         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
96         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
97         Reported by Rainer Tammer.
98
99 2010-07-30  Bruno Haible  <bruno@clisp.org>
100
101         strndup: Update regarding AIX.
102         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
103         AIX 7.
104         Reported by Rainer Tammer.
105
106 2010-07-30  Bruno Haible  <bruno@clisp.org>
107
108         stat: Update regarding AIX.
109         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
110         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
111         Reported by Rainer Tammer.
112
113 2010-07-30  Bruno Haible  <bruno@clisp.org>
114
115         truncl: Fix autoconf test.
116         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
117         whether truncl works.
118         Reported by Rainer Tammer.
119
120 2010-07-30  Bruno Haible  <bruno@clisp.org>
121
122         round: Update regarding AIX.
123         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
124         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
125         Reported by Rainer Tammer.
126
127 2010-07-30  Bruno Haible  <bruno@clisp.org>
128
129         rename: Update regarding AIX.
130         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
131         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
132         Reported by Rainer Tammer.
133
134 2010-07-30  Bruno Haible  <bruno@clisp.org>
135
136         printf.m4: Update regarding AIX.
137         * m4/printf.m4: Update comments regarding AIX.
138         Reported by Rainer Tammer.
139
140 2010-07-30  Bruno Haible  <bruno@clisp.org>
141
142         iconv: Update regarding AIX.
143         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
144         AIX 7.
145         Reported by Rainer Tammer.
146
147 2010-07-30  Bruno Haible  <bruno@clisp.org>
148
149         getopt: Update regarding AIX.
150         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
151         no on AIX.
152         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
153         Reported by Rainer Tammer.
154
155 2010-07-30  Bruno Haible  <bruno@clisp.org>
156
157         ldexpl; Update regarding AIX.
158         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
159         on AIX 7.
160         Reported by Rainer Tammer.
161
162 2010-07-30  Bruno Haible  <bruno@clisp.org>
163
164         frexpl: Update regarding AIX.
165         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
166         on AIX 7.
167         Reported by Rainer Tammer.
168
169 2010-07-30  Bruno Haible  <bruno@clisp.org>
170
171         open, fopen: Update regarding AIX.
172         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
173         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
174         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
175         * doc/posix-functions/fopen.texi: Likewise.
176         Reported by Rainer Tammer.
177
178 2010-07-30  Bruno Haible  <bruno@clisp.org>
179
180         chown: Update doc regarding AIX.
181         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
182         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
183         Reported by Rainer Tammer.
184
185 2010-07-30  Eric Blake  <eblake@redhat.com>
186
187         strtod: fix bug in replacement function on AIX
188         * lib/strtod.c (strtod): Special case broken "0x" parse in
189         underlying strtod.
190         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
191         * doc/posix-functions/strtod.texi (strtod): Likewise.
192         Reported by Rainer Tammer.
193
194 2010-07-30  Bruno Haible  <bruno@clisp.org>
195
196         mbrlen: Fix cross-compilation guess for AIX.
197         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
198         guess. Leftover from 2008-12-22.
199
200 2010-07-30  Bruno Haible  <bruno@clisp.org>
201
202         mbrtowc: Fix cross-compilation guess for AIX.
203         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
204         guess. Leftover from 2008-12-21.
205
206 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
207
208         init.sh: work around trap limitation of some shells
209         * tests/init.sh (setup_): Move exit trap outside of shell function.
210
211 2010-07-29  Eric Blake  <eblake@redhat.com>
212
213         strtod: aid debugging
214         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
215         understanding why strtod is rejected.
216
217 2010-07-28  Bruno Haible  <bruno@clisp.org>
218
219         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
220         * lib/unistr/u8-chr.c: Include <string.h>.
221         * tests/unistr/test-u8-chr.c: Likewise.
222         * tests/unistr/test-u16-chr.c: Likewise.
223         * tests/unistr/test-u32-chr.c: Likewise.
224         * tests/unistr/test-u8-strchr.c: Likewise.
225         * tests/unistr/test-u16-strchr.c: Likewise.
226         * tests/unistr/test-u32-strchr.c: Likewise.
227         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
228         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
229         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
230         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
231
232 2010-07-28  Bruno Haible  <bruno@clisp.org>
233
234         Use spaces for indentation, not tabs.
235         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
236
237 2010-07-27  Bruno Haible  <bruno@clisp.org>
238
239         mbspcasecmp: Fix function specification.
240         * lib/string.in.h (mbspcasecmp): Fix specification comment.
241         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
242         Reported by Eric Blake <eblake@redhat.com>.
243
244 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
245
246         timespec: use cast and not conditional, as truncation isn't possible
247         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
248         instead of a conditional.  Comment about the situation in more detail.
249         This undoes most of the 2009-10-29 patch.
250
251 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
252
253         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
254         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
255         * lib/unistr/u8-strchr.c: Likewise.
256         * modules/unistr/u8-chr: Depend on memchr.
257
258         unistr/u*-strchr: add tests
259         * modules/unistr/u8-strchr-tests: New file.
260         * modules/unistr/u16-strchr-tests: New file.
261         * modules/unistr/u32-strchr-tests: New file.
262         * tests/unistr/test-strchr.h: New file.
263         * tests/unistr/test-u8-strchr.c: New file.
264         * tests/unistr/test-u16-strchr.c: New file.
265         * tests/unistr/test-u32-strchr.c: New file.
266
267         unistr/u*-chr: test multibyte sequences more
268         * tests/unistr/test-chr.h: Do complete testing of the characters in the
269         test vector.
270         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
271         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
272         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
273
274         unistr/u*-chr: test multibyte sequences
275         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
276
277         unistr/u*-chr: prepare for multibyte tests
278         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
279         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
280         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
281         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
282         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
283         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
284
285 2010-07-18  Bruno Haible  <bruno@clisp.org>
286
287         unistr/u8-strchr: Optimize non-ASCII argument case.
288         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
289         because the first byte often matches anyway.
290         Reported by Pádraig Brady <P@draigbrady.com>.
291
292 2010-07-15  Karl Berry  <karl@gnu.org>
293
294         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
295
296 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
297
298         getcwd: on Solaris, work better if ancestors are inaccessible
299         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
300         buffer and size, try again with a large buffer.  This works better
301         on Solaris, since its getcwd succeeds even if the path to the root
302         is inaccessible, and this is helpful in common cases such as .zfs
303         hidden directories.  Problem reported by J Chapman Flack in
304         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
305         Use system getcwd if it's declared, not merely if it's partly
306         working; use the partly-working test only to avoid needless effort
307         if the system getcwd fails.
308         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
309         comment that was already obsolete and is now even more obsolete.
310         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
311         now might call strdup.
312
313 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
314
315         pthread: Add enough so that coreutils/src/sort.c compiles.
316         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
317         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
318         gnulib. Include <sched.h> and <time.h>, as per POSIX.
319         Include <sys/types.h>, in case it defines pthread_t.
320         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
321         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
322         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
323         (pthread_rwlockattr_t, pthread_spinlock_t):
324         New typedefs, if HAVE_PTHREAD_T is not defined.
325         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
326         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
327         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
328         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
329         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
330         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
331         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
332         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
333         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
334         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
335         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
336         New macros.
337         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
338         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
339         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
340         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
341         (pthread_spin_unlock): New dummy functions.
342         (pthread_create): Return EAGAIN; don't set errno.
343         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
344         require AC_C_INLINE.
345         * modules/pthread (Depends-on): Add sched, time.
346         (pthread.h): Use AM_V_GEN.
347
348 2010-07-13  Bruno Haible  <bruno@clisp.org>
349
350         striconveh: Don't malloc memory if the result buffer is sufficient.
351         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
352         buffer if its size is sufficient.
353         Reported by Ludovic Courtès <ludo@gnu.org>.
354
355 2010-07-13  Bruno Haible  <bruno@clisp.org>
356
357         strtod: Add safety check.
358         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
359
360 2010-07-12  Bruno Haible  <bruno@clisp.org>
361
362         Unify tests that set gl_cv_func_ldexpl_no_libm.
363         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
364         gl_FUNC_LDEXPL.
365         (gl_FUNC_LDEXPL): Invoke it.
366         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
367
368 2010-07-12  Bruno Haible  <bruno@clisp.org>
369
370         Unify tests that set gl_cv_func_ldexp_no_libm.
371         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
372         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
373         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
374         (configure.ac): Simply invoke gl_FUNC_LDEXP.
375         * modules/strtod (Files): Add m4/ldexp.m4.
376
377 2010-07-12  Bruno Haible  <bruno@clisp.org>
378
379         Unify tests that set gl_cv_func_frexpl_no_libm.
380         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
381         gl_FUNC_FREXPL_NO_LIBM.
382         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
383         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
384
385 2010-07-12  Bruno Haible  <bruno@clisp.org>
386
387         Unify tests that set gl_cv_func_frexp_no_libm.
388         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
389         gl_FUNC_FREXP_NO_LIBM.
390         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
391         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
392
393 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
394
395         memcoll: clarify sizes versus lengths, document better, and tweak perf
396         * lib/memcoll.c (strcoll_loop, memcoll0):
397         Improve quality of descriptive comments.  Name variables
398         consistently as to whether they are lengths (which do not include
399         terminating null) versus sizes (which do).
400         * lib/xmemcoll.c (xmemcoll0): Likewise.
401         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
402         returned when s1size == 0; this is easier to compile and saves
403         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
404
405 2010-07-12  Bruno Haible  <bruno@clisp.org>
406
407         Tests for module '_Exit'.
408         * modules/_Exit-tests: New file.
409         * tests/test-_Exit.sh: New file.
410         * tests/test-_Exit.c: New file.
411
412         New module '_Exit'.
413         * lib/stdlib.in.h (__attribute__): New macro.
414         (_Exit): New declaration.
415         * lib/_Exit.c: New file.
416         * m4/_Exit.m4: New file.
417         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
418         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
419         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
420         * modules/_Exit: New file.
421         * tests/test-stdlib-c++.cc (_Exit): Check signature.
422         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
423
424 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
425
426         strtod: make it more-accurate typically, and don't require libm
427         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
428         Include limits.h.  Don't include string.h.
429         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
430         (locale_isspace): New function, so that no casts are needed to
431         check whether *s is a space.
432         (ldexp): Provide an unused dummy if not available.
433         (scale_radix_exp, parse_number, underlying_strtod): New functions.
434         (strtod): Use them.  This implementation prefers to use the
435         underlying strtod if available, falling back on our own code
436         only to fix known bugs.  This is more likely to produce an
437         accurate result.  Also, it avoids the use of libm functions.
438         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
439         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
440         was absent, but it caused a test failure with coreutils.
441         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
442         with libm.
443         * modules/strtod (Makefile.am, Link): libm is no longer needed.
444         * modules/strtod-tests (Makefile.am): Likewise.
445
446 2010-07-11  Pádraig Brady  <P@draigBrady.com>
447             Bruno Haible  <bruno@clisp.org>
448
449         unistr/u8-strchr: Optimize ASCII argument case.
450         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
451
452 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
453
454         (x)memcoll: minor tweaks
455         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
456         is after the type that it qualifies.
457         (memcoll0): Likewise.
458         * lib/memcoll.h (memcoll0): Likewise.
459         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
460         * lib/xmemcoll.h (xmemcoll0): Likewise.
461         * lib/memcoll.c (memcoll0): Correct the comment.  This function
462         differs from memcoll in that the NUL byte is part of the argument.
463         Omit the abort-checks, as performance is a real issue here.  Plus,
464         the checks were wrong anyway (an off-by-one error).  Omit local
465         variable 'diff', as it's a bit clearer that way.
466         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
467         no longer needed.
468
469 2010-07-08  Chen Guo <chenguo4@yahoo.com>
470
471         (x)memcoll: speedup when input is known to be NUL delimited
472         * lib/memcoll.c: Include stdlib.
473         (memcoll0) New function.
474         (strcoll_loop) New function, refactored for use in both memcoll
475         and memcoll0.
476         * lib/memcoll.h: Add prototype for memcoll0.
477         * lib/xmemcoll.c: (xmemcoll0) New function.
478         (collate_error) New function, refactored for use in both xmemcoll
479         and xmemcoll0.
480         * lib/xmemcoll.h: Add prototype for xmemcoll0.
481         * m4/memcoll.m4: add inline invocation.
482
483 2010-07-06  Pádraig Brady  <P@draigBrady.com>
484
485         * build-aux/bootstrap: Remove any local translations
486         from the translation project synchronization directory,
487         so that local only translations are not distributed.
488
489 2010-07-04  Bruno Haible  <bruno@clisp.org>
490
491         fsusage: Clarify which code applies to which platforms.
492         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
493         platform.
494         * lib/fsusage.c (get_fs_usage): Likewise.
495
496 2010-07-04  Bruno Haible  <bruno@clisp.org>
497
498         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
499         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
500         Reported by Martin Lambers <marlam@marlam.de>.
501
502 2010-07-04  Jim Meyering  <meyering@redhat.com>
503
504         hash: once again explicitly disallow insertion of NULL
505         * lib/hash.c (hash_insert0): Reinstate just-removed test:
506         inserting a NULL pointer cannot work with these functions.
507         Add a comment with details.
508         This reverts part of the 2010-07-01 commit, 5bef1a35
509         "hash: extend module to deal with non-pointer keys".
510
511 2010-07-01  Bruno Haible  <bruno@clisp.org>
512
513         stdbool: Update doc.
514         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
515         Info from Christian Weisgerber <naddy@mips.inka.de>.
516
517 2010-07-01  Jim Meyering  <meyering@redhat.com>
518
519         hash: extend module to deal with non-pointer keys
520         * lib/hash.c (hash_insert0): New interface, much like hash_insert
521         but that allows insertion of non-pointer entries.
522         Do not disallow an ENTRY value of NULL.
523         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
524         * lib/hash.h (hash_insert0): Declare.
525
526 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
527
528         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
529         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
530         not present (i.e. with autoconf 2.59 and when using gettextize, not
531         gnulib), require AC_GNU_SOURCE instead.
532
533 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
534
535         idpriv-drop: Fix tests.
536         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
537         not to the test-idpriv-droptemp program.
538
539 2010-06-29  Bruno Haible  <bruno@clisp.org>
540
541         string: Fix syntax error with g++ 2.96.
542         * lib/string.in.h (__pure__): Remove definition.
543         (_GL_ATTRIBUTE_PURE): New macro.
544         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
545         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
546         Reported by Christian Weisgerber <naddy@mips.inka.de>.
547
548 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
549
550         unitypes: Fix bug introduced on 2010-05-18.
551         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
552
553 2010-06-22  Eric Blake  <eblake@redhat.com>
554
555         memmem: slight optimization
556         * lib/str-two-way.h (critical_factorization): Update comments.
557         Reduce work during factorization phase.
558         Reported by Carlos Bueno <carlos@bueno.org>.
559
560 2010-06-21  Bruno Haible  <bruno@clisp.org>
561
562         Fix HAVE_CALLOC_POSIX misnomer.
563         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
564         !HAVE_CALLOC_POSIX.
565         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
566         HAVE_CALLOC_POSIX.
567         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
568         instead of HAVE_CALLOC_POSIX.
569         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
570         HAVE_CALLOC_POSIX.
571
572         Use modern idiom for calloc() replacement.
573         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
574         AC_FUNC_CALLOC.
575         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
576         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
577         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
578         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
579         (gl_REPLACE_CALLOC): New macro.
580
581 2010-06-21  Bruno Haible  <bruno@clisp.org>
582
583         Fix HAVE_REALLOC_POSIX misnomer.
584         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
585         !HAVE_REALLOC_POSIX.
586         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
587         HAVE_REALLOC_POSIX.
588         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
589         instead of HAVE_REALLOC_POSIX.
590         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
591         HAVE_REALLOC_POSIX.
592
593         Use modern idiom for realloc() replacement.
594         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
595         AC_FUNC_REALLOC.
596         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
597         Autoconf's AC_FUNC_REALLOC.
598         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
599         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
600         (gl_REPLACE_REALLOC): New macro.
601         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
602
603 2010-06-21  Bruno Haible  <bruno@clisp.org>
604
605         Fix HAVE_MALLOC_POSIX misnomer.
606         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
607         !HAVE_MALLOC_POSIX.
608         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
609         HAVE_MALLOC_POSIX.
610         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
611         instead of HAVE_MALLOC_POSIX.
612         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
613         HAVE_MALLOC_POSIX.
614
615         Use modern idiom for malloc() replacement.
616         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
617         AC_FUNC_MALLOC.
618         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
619         Autoconf's AC_FUNC_MALLOC.
620         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
621         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
622         (gl_REPLACE_MALLOC): New macro.
623         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
624
625 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
626
627         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
628         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
629         This macro takes 3 arguments, not 4.
630
631 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
632
633         ipv6: fix detection under mingw
634         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
635         in6_addr.
636
637 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
638
639         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
640         that strtod() works when cross-compiling to a glibc version known
641         to work.
642
643 2010-06-15  Bruno Haible  <bruno@clisp.org>
644
645         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
646
647 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
648
649         select: Correct timeout.
650         * lib/select.c (rpl_select): Compute wait_timeout correctly.
651
652 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
653
654         git-version-gen: init shell var to avoid env var influence
655         * build-aux/git-version-gen (v): Init shell var to empty.
656
657 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
658
659         priv-set: Don't assume that priv.h exists merely because getppriv does.
660         See Jan Andersen's bug report about AIX 5L in
661         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
662         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
663         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
664         * lib/priv-set.h: Likewise.
665         * tests/test-priv-set.c: Likewise.
666
667 2010-06-13  Bruno Haible  <bruno@clisp.org>
668
669         relocatable: Make it easier to test whether to install wrappers.
670         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
671         RELOCATABLE_VIA_WRAPPER.
672
673 2010-06-13  Bruno Haible  <bruno@clisp.org>
674
675         gnulib-tool: Display specified modules and dependencies differently.
676         * gnulib-tool (func_show_module_list): New function.
677         (func_import, func_create_testdir): Invoke it.
678         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
679
680 2010-06-13  Bruno Haible  <bruno@clisp.org>
681
682         gnulib-tool: Align code of func_import and func_create_testdir.
683         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
684         specified_modules.
685
686 2010-06-12  Jim Meyering  <meyering@redhat.com>
687
688         test-inttostr: avoid spurious failure on Solaris 9
689         * tests/test-inttostr.c (main): Skip the test when snprintf fails
690         to accept "%ju".  Reported by Bruno Haible.
691
692 2010-06-11  Jim Meyering  <meyering@redhat.com>
693
694         test-sys_socket: mark variables as used more readably
695         * tests/test-sys_socket.c (main): Mark otherwise unused variables
696         as "used" explicitly via (void) statement casts.  This is more
697         readable than using them in an artificial return expression.
698         Suggestion from Bruno Haible.
699
700 2010-06-11  Bruno Haible  <bruno@clisp.org>
701
702         Avoid some more warnings from "gcc -Wwrite-strings".
703         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
704         to 'const char *'.
705         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
706         * tests/test-c-strcasestr.c (main): Likewise.
707         * tests/test-mbscasestr1.c (main): Likewise.
708         * tests/test-mbscasestr2.c (main): Likewise.
709         * tests/test-memmem.c (main): Likewise.
710         * tests/test-strstr.c (main): Likewise.
711         * tests/test-strcasestr.c (main): Likewise.
712
713 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
714
715         init.sh: change framework_failure_ to fail with status 99, not 1
716         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
717         automake's parallel-tests rule that this is an unexpected failure,
718         even if the test is listed in XFAIL_TESTS.
719
720 2010-06-11  Jim Meyering  <meyering@redhat.com>
721
722         test-inttostr: avoid warnings about 4-6KB literal strings
723         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
724         Include "macros.h", for its definition of ASSERT.
725         (CK): s/assert/ASSERT/
726         * modules/inttostr-tests (Files): Add macros.h.
727
728         init.sh: don't use $ME_ or skip_ before they are defined
729         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
730         their first uses.  Also hoist their companions: warn_, fail_,
731         framework_failure_, $stderr_fileno.  Prompted by a patch from
732         Stefano Lattarini.
733
734         test-sys_socket: avoid set-but-not-used warnings from gcc
735         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
736         avoid warning about set-but-not-used variables.
737
738         test-xvasprintf: avoid 'const' discard warnings
739         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
740         "const" when assigning from literal strings.
741         (test_xasprintf): Add "void" in function argument list to placate
742         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
743
744         tests: avoid compilation warnings in argmatch and exclude tests...
745         in packages that define ARGMATCH_DIE_DECL, like coreutils.
746         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
747         Since it always exits, declare with the "noreturn" attribute.
748         * tests/test-argmatch.c: Likewise.
749
750         tests: avoid 'const' discard warnings in mbsstr tests
751         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
752         * tests/test-mbsstr2.c (main): Likewise.
753
754         test-verify: avoid warning from gcc's -Wmissing-declarations
755         * tests/test-verify.c (function): Declare to be static.
756
757         test-inttostr.c: include <string.h> for use of strcmp
758         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
759
760         test-linkat: avoid failed assertion on "other" architectures
761         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
762         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
763         sparc: https://bugs.launchpad.net/bugs/591968
764
765 2010-06-11  Jim Meyering  <meyering@redhat.com>
766
767         printf.m4: avoid autoconf's "Expanded Before Required" warning
768         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
769         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
770         autoconf warning.
771
772 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
773
774         Replacement header templates are now named with ".in", not "_".
775         * doc/gnulib-intro.texi: Correct.
776
777 2010-06-10  Jim Meyering  <meyering@redhat.com>
778
779         inttostr-tests: depend on snprintf, not snprintf-posix
780         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
781         snprintf-posix, to avoid this aclocal failure:
782           missing file gnulib-tests/vasnprintf.c
783           configure.ac:45: error: expected source file, required through \
784           AC_LIBSOURCES, not found
785
786 2010-06-10  Jim Meyering  <meyering@redhat.com>
787
788         inttostr: add a new function, inttostr, and tests
789         The namesake function was not available.  The existence of the
790         template file, inttostr.c makes its addition nontrivial.
791         * lib/anytostr.c: Rename from inttostr.c.
792         (anytostr): Rename from inttostr.
793         * lib/inttostr.c: New file.
794         * modules/inttostr (Files): Add anytostr.c.
795         (Makefile.am): Set lib_SOURCES instead of ...
796         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
797         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
798         * lib/offtostr.c: Likewise.
799         * lib/uinttostr.c: Likewise.
800         * lib/umaxtostr.c: Likewise.
801         * modules/inttostr-tests: New file.
802         * tests/test-inttostr.c: New file.  Test these functions.
803
804 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
805             Bruno Haible  <bruno@clisp.org>
806
807         Add "Extending Gnulib" chapter to manual.
808         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
809         chapter.
810         (Extending Gnulib): New chapter.
811         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
812         chapter.
813
814 2010-06-09  Bruno Haible  <bruno@clisp.org>
815
816         Avoid relocwrapper link errors due to gnulib replacement functions.
817         * lib/areadlink.c: Use the system's malloc, realloc functions.
818         (areadlink): Set errno to ENOMEM explicitly.
819         * modules/areadlink (Depends-on): Remove malloc-posix.
820         Reported by Ben Pfaff <blp@cs.stanford.edu>.
821
822 2010-06-09  Bruno Haible  <bruno@clisp.org>
823
824         Avoid relocwrapper link errors due to gnulib replacement functions.
825         * lib/canonicalize-lgpl.c: Use the system's malloc function.
826         * lib/malloca.c: Likewise.
827         * lib/relocatable.c: Likewise.
828         * lib/progreloc.c: Use the system's malloc, sprintf functions.
829         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
830         * lib/setenv.c: Use the system's malloc, realloc functions.
831         * lib/strerror.c: Use the system's sprintf function.
832         Reported by Ben Pfaff <blp@cs.stanford.edu>.
833
834 2010-06-04  Bruno Haible  <bruno@clisp.org>
835
836         Prefer documented low-level autoconf macro names.
837         * m4/lib-link.m4: Use m4_translit instead of translit.
838         * m4/environ.m4: Likewise.
839         * m4/mathfunc.m4: Likewise.
840         * m4/onceonly.m4: Likewise.
841         * m4/stdint.m4: Likewise.
842         Suggested by Eric Blake.
843
844 2010-06-04  Martin Lambers  <marlam@marlam.de>
845             Bruno Haible  <bruno@clisp.org>
846
847         havelib: Allow library names with '+' characters.
848         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
849         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
850
851 2010-06-09  Bruno Haible  <bruno@clisp.org>
852
853         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
854         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
855         realloc failed.
856
857 2010-06-08  Peter Simons  <simons@cryp.to>
858
859         maint.mk: make the news-check rule more configurable
860         * top/maint.mk (news-check-lines-spec) New variable.
861         (news-check): Use "sed -n 1,10p" in place of "head".
862
863 2010-06-07  Jim Meyering  <meyering@redhat.com>
864
865         do-release-commit-and-tag: fix typo in --help
866         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
867
868         regex: avoid new dead-code warning with gcc-4.6.0
869         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
870         if-block containing a while-loop.  It's been unused for at least
871         5 years.
872
873 2010-06-05  Bruno Haible  <bruno@clisp.org>
874
875         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
876         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
877
878 2010-06-04  Bruno Haible  <bruno@clisp.org>
879
880         Update to GNU gettext 0.18.1.
881         * modules/gettext (configure.ac): Require gettext infrastructure from
882         version 0.18.1.
883
884 2010-06-03  Bruno Haible  <bruno@clisp.org>
885
886         Don't use AC_LIBOBJ with file names in subdirectories.
887         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
888         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
889         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
890         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
891         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
892         gl_LIBUNISTRING_LIBSOURCE.
893         (Makefile.am): Augment lib_SOURCES here, conditionally.
894         * NEWS: Drop requirement for Automake option 'subdir-objects'.
895
896 2010-06-03  Bruno Haible  <bruno@clisp.org>
897
898         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
899         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
900         expansion does not end with a newline.
901         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
902         unnecessary newline.
903
904 2010-06-03  Bruno Haible  <bruno@clisp.org>
905
906         Reduce dependencies.
907         * tests/test-quotearg.h: New file, extracted from
908         tests/test-quotearg.c.
909         * tests/test-quotearg-simple.c: New file, extracted from
910         tests/test-quotearg.c.
911         * tests/test-quotearg.c: Don't include <ctype.h>.
912         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
913         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
914         use_quote_double_quotes, use_quotearg_colon): Moved to
915         tests/test-quotearg.h.
916         (results_g, flag_results, custom_quotes, custom_results): Moved
917         to tests/test-quotearg-simple.c.
918         (main): Moved the part that does not depend on gettext to
919         tests/test-quotearg-simple.c. Return 77 if the test cannot be
920         performed.
921         * modules/quotearg-simple: New file.
922         * modules/quotearg-simple-tests: New file.
923         * modules/quotearg (Depends-on): Add quotearg-simple.
924         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
925         (Files): Add tests/test-quotearg.h.
926         Reported by Paolo Bonzini.
927
928 2010-06-03  Bruno Haible  <bruno@clisp.org>
929
930         Reduce dependencies.
931         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
932
933 2010-06-03  Bruno Haible  <bruno@clisp.org>
934
935         time: Undefine more broken macros.
936         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
937         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
938         Reported by Eric Blake.
939
940 2010-06-03  Bruno Haible  <bruno@clisp.org>
941
942         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
943         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
944         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
945         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
946         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
947         Reported by Ludovic Courtès <ludo@gnu.org>.
948
949 2010-06-02  Eric Blake  <eblake@redhat.com>
950
951         time: work with mingw + pthreads-win32 library
952         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
953         if timespec is defined only in pthread.h.
954         * modules/time (Makefile.am): Substitute it.
955         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
956         <pthread.h>, when needed.
957         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
958         from the library.
959
960 2010-05-31  Bruno Haible  <bruno@clisp.org>
961
962         Avoid expanding two macros in the wrong order.
963         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
964         gl_LIBUNISTRING if it is defined.
965         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
966         autoconf >= 2.64.
967         Reported by Ludovic Courtès <ludo@gnu.org>.
968
969 2010-05-27  Jim Meyering  <meyering@redhat.com>
970
971         maint.mk: also prohibit "#undef" of always-defined symbols
972         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
973         Allow more than one space before the symbol name.
974         (sc_prohibit_always-defined_macros): Use grep's -E, now that
975         the regexp uses alternation.
976
977 2010-05-26  Eric Blake  <eblake@redhat.com>
978
979         maint.mk: avoid echo -e
980         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
981         Convert all uses of echo -* to printf.
982         Reported by Matthias Bolte.
983
984 2010-05-25  Bruno Haible  <bruno@clisp.org>
985
986         Update to GNU gettext 0.18, part 2.
987         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
988         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
989
990 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
991
992         Add missing include in test-pwrite.c.
993         * tests/test-pwrite.c: Include string.h, for strcmp.
994
995 2010-05-24  Bruno Haible  <bruno@clisp.org>
996
997         * NEWS: Mention requirement for Automake option 'subdir-objects'.
998
999 2010-05-24  Bruno Haible  <bruno@clisp.org>
1000
1001         Don't use conversion with transliteration in u{8,16,32}_strcoll.
1002         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
1003         iconveh_error argument.
1004         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
1005         U_STRCONV_TO_LOCALE.
1006         * lib/unistr/u16-strcoll.c: Likewise.
1007         * lib/unistr/u32-strcoll.c: Likewise.
1008         * modules/unistr/u8-strcoll (Depends-on): Add
1009         uniconv/u8-strconv-to-enc, localcharset. Remove
1010         uniconv/u8-strconv-to-locale.
1011         (configure.ac): Bump version number.
1012         * modules/unistr/u16-strcoll (Depends-on): Add
1013         uniconv/u16-strconv-to-enc, localcharset. Remove
1014         uniconv/u16-strconv-to-locale.
1015         (configure.ac): Bump version number.
1016         * modules/unistr/u32-strcoll (Depends-on): Add
1017         uniconv/u32-strconv-to-enc, localcharset. Remove
1018         uniconv/u32-strconv-to-locale.
1019         (configure.ac): Bump version number.
1020
1021 2010-05-24  Bruno Haible  <bruno@clisp.org>
1022
1023         Avoid a test failure on NetBSD 5.0.
1024         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
1025         an iconv() bug.
1026
1027 2010-05-24  Bruno Haible  <bruno@clisp.org>
1028
1029         Adjust #include directive style.
1030         * modules/regex (Includes): Recommend to write <regex.h>.
1031
1032 2010-05-24  Bruno Haible  <bruno@clisp.org>
1033
1034         regex: Don't require alloca.
1035         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
1036         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
1037         only inside if (0).
1038
1039 2010-05-23  Jim Meyering  <meyering@redhat.com>
1040
1041         test-renameat.c: include <sys/stat.h>
1042         * tests/test-renameat.c: Include <sys/stat.h>; required for
1043         definition of S_IS* macros.
1044
1045 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
1046
1047         Update maintainer documentation for 'relocatable-prog' module.
1048         * doc/relocatable-maint.texi: Update.
1049         Comments by Bruno Haible.
1050
1051 2010-05-23  Bruno Haible  <bruno@clisp.org>
1052
1053         git-merge-changelog: Enable --split-merged-entry by default.
1054         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
1055         (usage): Don't mention this option any more.
1056         Reported by Ralf Wildenhues.
1057
1058 2010-05-23  Jim Meyering  <meyering@redhat.com>
1059
1060         test-pwrite: do not leave behind a test file named "out"
1061         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
1062         The trivial-looking use of init.sh is really necessary.
1063         It ensures that the temporary file, "out", is created in
1064         a temporary directory, and removed upon termination.
1065         * tests/test-pwrite.sh: Re-add file.
1066         * modules/pwrite-tests: Reference it.
1067
1068 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1069
1070         Fix output redirection buglet in init.sh.
1071         * tests/init.sh: Fix redirection of stderr.
1072
1073 2010-05-20  Simon Josefsson  <simon@josefsson.org>
1074
1075         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
1076
1077 2010-05-17  Simon Josefsson  <simon@josefsson.org>
1078
1079         * modules/valgrind-tests: New file.
1080         * m4/valgrind-tests.m4: New file.
1081         * doc/valgrind-tests.texi: New file.
1082         * doc/gnulib.texi (Running self-tests under valgrind): New
1083         section.
1084
1085 2010-05-19  Bruno Haible  <bruno@clisp.org>
1086
1087         Clean up dead code in recent commit.
1088         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
1089         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
1090         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
1091         Suggested by Paolo Bonzini.
1092
1093 2010-05-19  Bruno Haible  <bruno@clisp.org>
1094
1095         Avoid valgrind error reports from libunistring.
1096         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
1097         * modules/libunistring (Files): Add it.
1098         * modules/libunistring-optional (Files): Likewise.
1099
1100 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
1101             Bruno Haible  <bruno@clisp.org>
1102
1103         New module 'libunistring-optional'.
1104         * modules/libunistring-optional: New file.
1105         * m4/libunistring-base.m4: New file.
1106         * m4/libunistring-optional.m4: New file.
1107         * lib/unicase.in.h: Renamed from lib/unicase.h.
1108         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
1109         * lib/unictype.in.h: Renamed from lib/unictype.h.
1110         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
1111         * lib/uniname.in.h: Renamed from lib/uniname.h.
1112         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
1113         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
1114         * lib/unistr.in.h: Renamed from lib/unistr.h.
1115         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
1116         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
1117         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
1118         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
1119         gl_LIBUNISTRING. If the library was found, determine the installed
1120         version and set LIBUNISTRING_VERSION.
1121         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
1122         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
1123         handle a configuration option --with-included-libunistring.
1124         * modules/libunistring (Files): Add m4/absolute-header.m4.
1125         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
1126         Add m4/libunistring-base.m4.
1127         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1128         (Makefile.am): Build unicase.h from unicase.in.h.
1129         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
1130         Add m4/libunistring-base.m4.
1131         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1132         (Makefile.am): Build uniconv.h from uniconv.in.h.
1133         * modules/unictype/base (Files): Use unictype.in.h instead of
1134         unictype.h. Add m4/libunistring-base.m4.
1135         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1136         (Makefile.am): Build unictype.h from unictype.in.h.
1137         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
1138         Add m4/libunistring-base.m4.
1139         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1140         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
1141         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
1142         Add m4/libunistring-base.m4.
1143         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1144         (Makefile.am): Build uniname.h from uniname.in.h.
1145         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
1146         Add m4/libunistring-base.m4.
1147         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1148         (Makefile.am): Build uninorm.h from uninorm.in.h.
1149         * modules/unistdio/base (Files): Use unistdio.in.h instead of
1150         unistdio.h. Add m4/libunistring-base.m4.
1151         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1152         (Makefile.am): Build unistdio.h from unistdio.in.h.
1153         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
1154         Add m4/libunistring-base.m4.
1155         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1156         (Makefile.am): Build unistr.h from unistr.in.h.
1157         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
1158         Add m4/libunistring-base.m4.
1159         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1160         (Makefile.am): Build unitypes.h from unitypes.in.h.
1161         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
1162         Add m4/libunistring-base.m4.
1163         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1164         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
1165         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
1166         uniwidth.h. Add m4/libunistring-base.m4.
1167         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1168         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
1169         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
1170         instead of augmenting lib_SOURCES.
1171         * modules/unicase/empty-suffix-context: Likewise.
1172         * modules/unicase/locale-language: Likewise.
1173         * modules/unicase/tolower: Likewise.
1174         * modules/unicase/totitle: Likewise.
1175         * modules/unicase/toupper: Likewise.
1176         * modules/unicase/u8-casecmp: Likewise.
1177         * modules/unicase/u8-casecoll: Likewise.
1178         * modules/unicase/u8-casefold: Likewise.
1179         * modules/unicase/u8-casexfrm: Likewise.
1180         * modules/unicase/u8-ct-casefold: Likewise.
1181         * modules/unicase/u8-ct-tolower: Likewise.
1182         * modules/unicase/u8-ct-totitle: Likewise.
1183         * modules/unicase/u8-ct-toupper: Likewise.
1184         * modules/unicase/u8-is-cased: Likewise.
1185         * modules/unicase/u8-is-casefolded: Likewise.
1186         * modules/unicase/u8-is-lowercase: Likewise.
1187         * modules/unicase/u8-is-titlecase: Likewise.
1188         * modules/unicase/u8-is-uppercase: Likewise.
1189         * modules/unicase/u8-prefix-context: Likewise.
1190         * modules/unicase/u8-suffix-context: Likewise.
1191         * modules/unicase/u8-tolower: Likewise.
1192         * modules/unicase/u8-totitle: Likewise.
1193         * modules/unicase/u8-toupper: Likewise.
1194         * modules/unicase/u16-casecmp: Likewise.
1195         * modules/unicase/u16-casecoll: Likewise.
1196         * modules/unicase/u16-casefold: Likewise.
1197         * modules/unicase/u16-casexfrm: Likewise.
1198         * modules/unicase/u16-ct-casefold: Likewise.
1199         * modules/unicase/u16-ct-tolower: Likewise.
1200         * modules/unicase/u16-ct-totitle: Likewise.
1201         * modules/unicase/u16-ct-toupper: Likewise.
1202         * modules/unicase/u16-is-cased: Likewise.
1203         * modules/unicase/u16-is-casefolded: Likewise.
1204         * modules/unicase/u16-is-lowercase: Likewise.
1205         * modules/unicase/u16-is-titlecase: Likewise.
1206         * modules/unicase/u16-is-uppercase: Likewise.
1207         * modules/unicase/u16-prefix-context: Likewise.
1208         * modules/unicase/u16-suffix-context: Likewise.
1209         * modules/unicase/u16-tolower: Likewise.
1210         * modules/unicase/u16-totitle: Likewise.
1211         * modules/unicase/u16-toupper: Likewise.
1212         * modules/unicase/u32-casecmp: Likewise.
1213         * modules/unicase/u32-casecoll: Likewise.
1214         * modules/unicase/u32-casefold: Likewise.
1215         * modules/unicase/u32-casexfrm: Likewise.
1216         * modules/unicase/u32-ct-casefold: Likewise.
1217         * modules/unicase/u32-ct-tolower: Likewise.
1218         * modules/unicase/u32-ct-totitle: Likewise.
1219         * modules/unicase/u32-ct-toupper: Likewise.
1220         * modules/unicase/u32-is-cased: Likewise.
1221         * modules/unicase/u32-is-casefolded: Likewise.
1222         * modules/unicase/u32-is-lowercase: Likewise.
1223         * modules/unicase/u32-is-titlecase: Likewise.
1224         * modules/unicase/u32-is-uppercase: Likewise.
1225         * modules/unicase/u32-prefix-context: Likewise.
1226         * modules/unicase/u32-suffix-context: Likewise.
1227         * modules/unicase/u32-tolower: Likewise.
1228         * modules/unicase/u32-totitle: Likewise.
1229         * modules/unicase/u32-toupper: Likewise.
1230         * modules/unicase/ulc-casecmp: Likewise.
1231         * modules/unicase/ulc-casecoll: Likewise.
1232         * modules/unicase/ulc-casexfrm: Likewise.
1233         * modules/uniconv/u8-conv-from-enc: Likewise.
1234         * modules/uniconv/u8-conv-to-enc: Likewise.
1235         * modules/uniconv/u8-strconv-from-enc: Likewise.
1236         * modules/uniconv/u8-strconv-from-locale: Likewise.
1237         * modules/uniconv/u8-strconv-to-enc: Likewise.
1238         * modules/uniconv/u8-strconv-to-locale: Likewise.
1239         * modules/uniconv/u16-conv-from-enc: Likewise.
1240         * modules/uniconv/u16-conv-to-enc: Likewise.
1241         * modules/uniconv/u16-strconv-from-enc: Likewise.
1242         * modules/uniconv/u16-strconv-from-locale: Likewise.
1243         * modules/uniconv/u16-strconv-to-enc: Likewise.
1244         * modules/uniconv/u16-strconv-to-locale: Likewise.
1245         * modules/uniconv/u32-conv-from-enc: Likewise.
1246         * modules/uniconv/u32-conv-to-enc: Likewise.
1247         * modules/uniconv/u32-strconv-from-enc: Likewise.
1248         * modules/uniconv/u32-strconv-from-locale: Likewise.
1249         * modules/uniconv/u32-strconv-to-enc: Likewise.
1250         * modules/uniconv/u32-strconv-to-locale: Likewise.
1251         * modules/unictype/bidicategory-byname: Likewise.
1252         * modules/unictype/bidicategory-name: Likewise.
1253         * modules/unictype/bidicategory-of: Likewise.
1254         * modules/unictype/bidicategory-test: Likewise.
1255         * modules/unictype/block-list: Likewise.
1256         * modules/unictype/block-test: Likewise.
1257         * modules/unictype/category-C: Likewise.
1258         * modules/unictype/category-Cc: Likewise.
1259         * modules/unictype/category-Cf: Likewise.
1260         * modules/unictype/category-Cn: Likewise.
1261         * modules/unictype/category-Co: Likewise.
1262         * modules/unictype/category-Cs: Likewise.
1263         * modules/unictype/category-L: Likewise.
1264         * modules/unictype/category-Ll: Likewise.
1265         * modules/unictype/category-Lm: Likewise.
1266         * modules/unictype/category-Lo: Likewise.
1267         * modules/unictype/category-Lt: Likewise.
1268         * modules/unictype/category-Lu: Likewise.
1269         * modules/unictype/category-M: Likewise.
1270         * modules/unictype/category-Mc: Likewise.
1271         * modules/unictype/category-Me: Likewise.
1272         * modules/unictype/category-Mn: Likewise.
1273         * modules/unictype/category-N: Likewise.
1274         * modules/unictype/category-Nd: Likewise.
1275         * modules/unictype/category-Nl: Likewise.
1276         * modules/unictype/category-No: Likewise.
1277         * modules/unictype/category-P: Likewise.
1278         * modules/unictype/category-Pc: Likewise.
1279         * modules/unictype/category-Pd: Likewise.
1280         * modules/unictype/category-Pe: Likewise.
1281         * modules/unictype/category-Pf: Likewise.
1282         * modules/unictype/category-Pi: Likewise.
1283         * modules/unictype/category-Po: Likewise.
1284         * modules/unictype/category-Ps: Likewise.
1285         * modules/unictype/category-S: Likewise.
1286         * modules/unictype/category-Sc: Likewise.
1287         * modules/unictype/category-Sk: Likewise.
1288         * modules/unictype/category-Sm: Likewise.
1289         * modules/unictype/category-So: Likewise.
1290         * modules/unictype/category-Z: Likewise.
1291         * modules/unictype/category-Zl: Likewise.
1292         * modules/unictype/category-Zp: Likewise.
1293         * modules/unictype/category-Zs: Likewise.
1294         * modules/unictype/category-and: Likewise.
1295         * modules/unictype/category-and-not: Likewise.
1296         * modules/unictype/category-byname: Likewise.
1297         * modules/unictype/category-name: Likewise.
1298         * modules/unictype/category-none: Likewise.
1299         * modules/unictype/category-of: Likewise.
1300         * modules/unictype/category-or: Likewise.
1301         * modules/unictype/category-test: Likewise.
1302         * modules/unictype/combining-class: Likewise.
1303         * modules/unictype/ctype-alnum: Likewise.
1304         * modules/unictype/ctype-alpha: Likewise.
1305         * modules/unictype/ctype-blank: Likewise.
1306         * modules/unictype/ctype-cntrl: Likewise.
1307         * modules/unictype/ctype-digit: Likewise.
1308         * modules/unictype/ctype-graph: Likewise.
1309         * modules/unictype/ctype-lower: Likewise.
1310         * modules/unictype/ctype-print: Likewise.
1311         * modules/unictype/ctype-punct: Likewise.
1312         * modules/unictype/ctype-space: Likewise.
1313         * modules/unictype/ctype-upper: Likewise.
1314         * modules/unictype/ctype-xdigit: Likewise.
1315         * modules/unictype/decimal-digit: Likewise.
1316         * modules/unictype/digit: Likewise.
1317         * modules/unictype/mirror: Likewise.
1318         * modules/unictype/numeric: Likewise.
1319         * modules/unictype/property-alphabetic: Likewise.
1320         * modules/unictype/property-ascii-hex-digit: Likewise.
1321         * modules/unictype/property-bidi-arabic-digit: Likewise.
1322         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
1323         * modules/unictype/property-bidi-block-separator: Likewise.
1324         * modules/unictype/property-bidi-boundary-neutral: Likewise.
1325         * modules/unictype/property-bidi-common-separator: Likewise.
1326         * modules/unictype/property-bidi-control: Likewise.
1327         * modules/unictype/property-bidi-embedding-or-override: Likewise.
1328         * modules/unictype/property-bidi-eur-num-separator: Likewise.
1329         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
1330         * modules/unictype/property-bidi-european-digit: Likewise.
1331         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
1332         * modules/unictype/property-bidi-left-to-right: Likewise.
1333         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
1334         * modules/unictype/property-bidi-other-neutral: Likewise.
1335         * modules/unictype/property-bidi-pdf: Likewise.
1336         * modules/unictype/property-bidi-segment-separator: Likewise.
1337         * modules/unictype/property-bidi-whitespace: Likewise.
1338         * modules/unictype/property-byname: Likewise.
1339         * modules/unictype/property-combining: Likewise.
1340         * modules/unictype/property-composite: Likewise.
1341         * modules/unictype/property-currency-symbol: Likewise.
1342         * modules/unictype/property-dash: Likewise.
1343         * modules/unictype/property-decimal-digit: Likewise.
1344         * modules/unictype/property-default-ignorable-code-point: Likewise.
1345         * modules/unictype/property-deprecated: Likewise.
1346         * modules/unictype/property-diacritic: Likewise.
1347         * modules/unictype/property-extender: Likewise.
1348         * modules/unictype/property-format-control: Likewise.
1349         * modules/unictype/property-grapheme-base: Likewise.
1350         * modules/unictype/property-grapheme-extend: Likewise.
1351         * modules/unictype/property-grapheme-link: Likewise.
1352         * modules/unictype/property-hex-digit: Likewise.
1353         * modules/unictype/property-hyphen: Likewise.
1354         * modules/unictype/property-id-continue: Likewise.
1355         * modules/unictype/property-id-start: Likewise.
1356         * modules/unictype/property-ideographic: Likewise.
1357         * modules/unictype/property-ids-binary-operator: Likewise.
1358         * modules/unictype/property-ids-trinary-operator: Likewise.
1359         * modules/unictype/property-ignorable-control: Likewise.
1360         * modules/unictype/property-iso-control: Likewise.
1361         * modules/unictype/property-join-control: Likewise.
1362         * modules/unictype/property-left-of-pair: Likewise.
1363         * modules/unictype/property-line-separator: Likewise.
1364         * modules/unictype/property-logical-order-exception: Likewise.
1365         * modules/unictype/property-lowercase: Likewise.
1366         * modules/unictype/property-math: Likewise.
1367         * modules/unictype/property-non-break: Likewise.
1368         * modules/unictype/property-not-a-character: Likewise.
1369         * modules/unictype/property-numeric: Likewise.
1370         * modules/unictype/property-other-alphabetic: Likewise.
1371         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
1372         * modules/unictype/property-other-grapheme-extend: Likewise.
1373         * modules/unictype/property-other-id-continue: Likewise.
1374         * modules/unictype/property-other-id-start: Likewise.
1375         * modules/unictype/property-other-lowercase: Likewise.
1376         * modules/unictype/property-other-math: Likewise.
1377         * modules/unictype/property-other-uppercase: Likewise.
1378         * modules/unictype/property-paired-punctuation: Likewise.
1379         * modules/unictype/property-paragraph-separator: Likewise.
1380         * modules/unictype/property-pattern-syntax: Likewise.
1381         * modules/unictype/property-pattern-white-space: Likewise.
1382         * modules/unictype/property-private-use: Likewise.
1383         * modules/unictype/property-punctuation: Likewise.
1384         * modules/unictype/property-quotation-mark: Likewise.
1385         * modules/unictype/property-radical: Likewise.
1386         * modules/unictype/property-sentence-terminal: Likewise.
1387         * modules/unictype/property-soft-dotted: Likewise.
1388         * modules/unictype/property-space: Likewise.
1389         * modules/unictype/property-terminal-punctuation: Likewise.
1390         * modules/unictype/property-test: Likewise.
1391         * modules/unictype/property-titlecase: Likewise.
1392         * modules/unictype/property-unassigned-code-value: Likewise.
1393         * modules/unictype/property-unified-ideograph: Likewise.
1394         * modules/unictype/property-uppercase: Likewise.
1395         * modules/unictype/property-variation-selector: Likewise.
1396         * modules/unictype/property-white-space: Likewise.
1397         * modules/unictype/property-xid-continue: Likewise.
1398         * modules/unictype/property-xid-start: Likewise.
1399         * modules/unictype/property-zero-width: Likewise.
1400         * modules/unictype/scripts: Likewise.
1401         * modules/unictype/syntax-c-ident: Likewise.
1402         * modules/unictype/syntax-c-whitespace: Likewise.
1403         * modules/unictype/syntax-java-ident: Likewise.
1404         * modules/unictype/syntax-java-whitespace: Likewise.
1405         * modules/unilbrk/u8-possible-linebreaks: Likewise.
1406         * modules/unilbrk/u8-width-linebreaks: Likewise.
1407         * modules/unilbrk/u16-possible-linebreaks: Likewise.
1408         * modules/unilbrk/u16-width-linebreaks: Likewise.
1409         * modules/unilbrk/u32-possible-linebreaks: Likewise.
1410         * modules/unilbrk/u32-width-linebreaks: Likewise.
1411         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
1412         * modules/unilbrk/ulc-width-linebreaks: Likewise.
1413         * modules/uniname/uniname: Likewise.
1414         * modules/uninorm/canonical-decomposition: Likewise.
1415         * modules/uninorm/composition: Likewise.
1416         * modules/uninorm/decomposing-form: Likewise.
1417         * modules/uninorm/decomposition: Likewise.
1418         * modules/uninorm/filter: Likewise.
1419         * modules/uninorm/nfc: Likewise.
1420         * modules/uninorm/nfd: Likewise.
1421         * modules/uninorm/nfkc: Likewise.
1422         * modules/uninorm/nfkd: Likewise.
1423         * modules/uninorm/u8-normalize: Likewise.
1424         * modules/uninorm/u8-normcmp: Likewise.
1425         * modules/uninorm/u8-normcoll: Likewise.
1426         * modules/uninorm/u8-normxfrm: Likewise.
1427         * modules/uninorm/u16-normalize: Likewise.
1428         * modules/uninorm/u16-normcmp: Likewise.
1429         * modules/uninorm/u16-normcoll: Likewise.
1430         * modules/uninorm/u16-normxfrm: Likewise.
1431         * modules/uninorm/u32-normalize: Likewise.
1432         * modules/uninorm/u32-normcmp: Likewise.
1433         * modules/uninorm/u32-normcoll: Likewise.
1434         * modules/uninorm/u32-normxfrm: Likewise.
1435         * modules/unistdio/u8-asnprintf: Likewise.
1436         * modules/unistdio/u8-asprintf: Likewise.
1437         * modules/unistdio/u8-snprintf: Likewise.
1438         * modules/unistdio/u8-sprintf: Likewise.
1439         * modules/unistdio/u8-u8-asnprintf: Likewise.
1440         * modules/unistdio/u8-u8-asprintf: Likewise.
1441         * modules/unistdio/u8-u8-snprintf: Likewise.
1442         * modules/unistdio/u8-u8-sprintf: Likewise.
1443         * modules/unistdio/u8-u8-vasnprintf: Likewise.
1444         * modules/unistdio/u8-u8-vasprintf: Likewise.
1445         * modules/unistdio/u8-u8-vsnprintf: Likewise.
1446         * modules/unistdio/u8-u8-vsprintf: Likewise.
1447         * modules/unistdio/u8-vasnprintf: Likewise.
1448         * modules/unistdio/u8-vasprintf: Likewise.
1449         * modules/unistdio/u8-vsnprintf: Likewise.
1450         * modules/unistdio/u8-vsprintf: Likewise.
1451         * modules/unistdio/u16-asnprintf: Likewise.
1452         * modules/unistdio/u16-asprintf: Likewise.
1453         * modules/unistdio/u16-snprintf: Likewise.
1454         * modules/unistdio/u16-sprintf: Likewise.
1455         * modules/unistdio/u16-u16-asnprintf: Likewise.
1456         * modules/unistdio/u16-u16-asprintf: Likewise.
1457         * modules/unistdio/u16-u16-snprintf: Likewise.
1458         * modules/unistdio/u16-u16-sprintf: Likewise.
1459         * modules/unistdio/u16-u16-vasnprintf: Likewise.
1460         * modules/unistdio/u16-u16-vasprintf: Likewise.
1461         * modules/unistdio/u16-u16-vsnprintf: Likewise.
1462         * modules/unistdio/u16-u16-vsprintf: Likewise.
1463         * modules/unistdio/u16-vasnprintf: Likewise.
1464         * modules/unistdio/u16-vasprintf: Likewise.
1465         * modules/unistdio/u16-vsnprintf: Likewise.
1466         * modules/unistdio/u16-vsprintf: Likewise.
1467         * modules/unistdio/u32-asnprintf: Likewise.
1468         * modules/unistdio/u32-asprintf: Likewise.
1469         * modules/unistdio/u32-snprintf: Likewise.
1470         * modules/unistdio/u32-sprintf: Likewise.
1471         * modules/unistdio/u32-u32-asnprintf: Likewise.
1472         * modules/unistdio/u32-u32-asprintf: Likewise.
1473         * modules/unistdio/u32-u32-snprintf: Likewise.
1474         * modules/unistdio/u32-u32-sprintf: Likewise.
1475         * modules/unistdio/u32-u32-vasnprintf: Likewise.
1476         * modules/unistdio/u32-u32-vasprintf: Likewise.
1477         * modules/unistdio/u32-u32-vsnprintf: Likewise.
1478         * modules/unistdio/u32-u32-vsprintf: Likewise.
1479         * modules/unistdio/u32-vasnprintf: Likewise.
1480         * modules/unistdio/u32-vasprintf: Likewise.
1481         * modules/unistdio/u32-vsnprintf: Likewise.
1482         * modules/unistdio/u32-vsprintf: Likewise.
1483         * modules/unistdio/ulc-asnprintf: Likewise.
1484         * modules/unistdio/ulc-asprintf: Likewise.
1485         * modules/unistdio/ulc-fprintf: Likewise.
1486         * modules/unistdio/ulc-snprintf: Likewise.
1487         * modules/unistdio/ulc-sprintf: Likewise.
1488         * modules/unistdio/ulc-vasnprintf: Likewise.
1489         * modules/unistdio/ulc-vasprintf: Likewise.
1490         * modules/unistdio/ulc-vfprintf: Likewise.
1491         * modules/unistdio/ulc-vsnprintf: Likewise.
1492         * modules/unistdio/ulc-vsprintf: Likewise.
1493         * modules/unistr/u8-check: Likewise.
1494         * modules/unistr/u8-chr: Likewise.
1495         * modules/unistr/u8-cmp: Likewise.
1496         * modules/unistr/u8-cmp2: Likewise.
1497         * modules/unistr/u8-cpy: Likewise.
1498         * modules/unistr/u8-cpy-alloc: Likewise.
1499         * modules/unistr/u8-endswith: Likewise.
1500         * modules/unistr/u8-mblen: Likewise.
1501         * modules/unistr/u8-mbsnlen: Likewise.
1502         * modules/unistr/u8-mbtouc: Likewise.
1503         * modules/unistr/u8-mbtouc-unsafe: Likewise.
1504         * modules/unistr/u8-mbtoucr: Likewise.
1505         * modules/unistr/u8-move: Likewise.
1506         * modules/unistr/u8-next: Likewise.
1507         * modules/unistr/u8-prev: Likewise.
1508         * modules/unistr/u8-set: Likewise.
1509         * modules/unistr/u8-startswith: Likewise.
1510         * modules/unistr/u8-stpcpy: Likewise.
1511         * modules/unistr/u8-stpncpy: Likewise.
1512         * modules/unistr/u8-strcat: Likewise.
1513         * modules/unistr/u8-strchr: Likewise.
1514         * modules/unistr/u8-strcmp: Likewise.
1515         * modules/unistr/u8-strcoll: Likewise.
1516         * modules/unistr/u8-strcpy: Likewise.
1517         * modules/unistr/u8-strcspn: Likewise.
1518         * modules/unistr/u8-strdup: Likewise.
1519         * modules/unistr/u8-strlen: Likewise.
1520         * modules/unistr/u8-strmblen: Likewise.
1521         * modules/unistr/u8-strmbtouc: Likewise.
1522         * modules/unistr/u8-strncat: Likewise.
1523         * modules/unistr/u8-strncmp: Likewise.
1524         * modules/unistr/u8-strncpy: Likewise.
1525         * modules/unistr/u8-strnlen: Likewise.
1526         * modules/unistr/u8-strpbrk: Likewise.
1527         * modules/unistr/u8-strrchr: Likewise.
1528         * modules/unistr/u8-strspn: Likewise.
1529         * modules/unistr/u8-strstr: Likewise.
1530         * modules/unistr/u8-strtok: Likewise.
1531         * modules/unistr/u8-to-u16: Likewise.
1532         * modules/unistr/u8-to-u32: Likewise.
1533         * modules/unistr/u8-uctomb: Likewise.
1534         * modules/unistr/u16-check: Likewise.
1535         * modules/unistr/u16-chr: Likewise.
1536         * modules/unistr/u16-cmp: Likewise.
1537         * modules/unistr/u16-cmp2: Likewise.
1538         * modules/unistr/u16-cpy: Likewise.
1539         * modules/unistr/u16-cpy-alloc: Likewise.
1540         * modules/unistr/u16-endswith: Likewise.
1541         * modules/unistr/u16-mblen: Likewise.
1542         * modules/unistr/u16-mbsnlen: Likewise.
1543         * modules/unistr/u16-mbtouc: Likewise.
1544         * modules/unistr/u16-mbtouc-unsafe: Likewise.
1545         * modules/unistr/u16-mbtoucr: Likewise.
1546         * modules/unistr/u16-move: Likewise.
1547         * modules/unistr/u16-next: Likewise.
1548         * modules/unistr/u16-prev: Likewise.
1549         * modules/unistr/u16-set: Likewise.
1550         * modules/unistr/u16-startswith: Likewise.
1551         * modules/unistr/u16-stpcpy: Likewise.
1552         * modules/unistr/u16-stpncpy: Likewise.
1553         * modules/unistr/u16-strcat: Likewise.
1554         * modules/unistr/u16-strchr: Likewise.
1555         * modules/unistr/u16-strcmp: Likewise.
1556         * modules/unistr/u16-strcoll: Likewise.
1557         * modules/unistr/u16-strcpy: Likewise.
1558         * modules/unistr/u16-strcspn: Likewise.
1559         * modules/unistr/u16-strdup: Likewise.
1560         * modules/unistr/u16-strlen: Likewise.
1561         * modules/unistr/u16-strmblen: Likewise.
1562         * modules/unistr/u16-strmbtouc: Likewise.
1563         * modules/unistr/u16-strncat: Likewise.
1564         * modules/unistr/u16-strncmp: Likewise.
1565         * modules/unistr/u16-strncpy: Likewise.
1566         * modules/unistr/u16-strnlen: Likewise.
1567         * modules/unistr/u16-strpbrk: Likewise.
1568         * modules/unistr/u16-strrchr: Likewise.
1569         * modules/unistr/u16-strspn: Likewise.
1570         * modules/unistr/u16-strstr: Likewise.
1571         * modules/unistr/u16-strtok: Likewise.
1572         * modules/unistr/u16-to-u32: Likewise.
1573         * modules/unistr/u16-to-u8: Likewise.
1574         * modules/unistr/u16-uctomb: Likewise.
1575         * modules/unistr/u32-check: Likewise.
1576         * modules/unistr/u32-chr: Likewise.
1577         * modules/unistr/u32-cmp: Likewise.
1578         * modules/unistr/u32-cmp2: Likewise.
1579         * modules/unistr/u32-cpy: Likewise.
1580         * modules/unistr/u32-cpy-alloc: Likewise.
1581         * modules/unistr/u32-endswith: Likewise.
1582         * modules/unistr/u32-mblen: Likewise.
1583         * modules/unistr/u32-mbsnlen: Likewise.
1584         * modules/unistr/u32-mbtouc: Likewise.
1585         * modules/unistr/u32-mbtouc-unsafe: Likewise.
1586         * modules/unistr/u32-mbtoucr: Likewise.
1587         * modules/unistr/u32-move: Likewise.
1588         * modules/unistr/u32-next: Likewise.
1589         * modules/unistr/u32-prev: Likewise.
1590         * modules/unistr/u32-set: Likewise.
1591         * modules/unistr/u32-startswith: Likewise.
1592         * modules/unistr/u32-stpcpy: Likewise.
1593         * modules/unistr/u32-stpncpy: Likewise.
1594         * modules/unistr/u32-strcat: Likewise.
1595         * modules/unistr/u32-strchr: Likewise.
1596         * modules/unistr/u32-strcmp: Likewise.
1597         * modules/unistr/u32-strcoll: Likewise.
1598         * modules/unistr/u32-strcpy: Likewise.
1599         * modules/unistr/u32-strcspn: Likewise.
1600         * modules/unistr/u32-strdup: Likewise.
1601         * modules/unistr/u32-strlen: Likewise.
1602         * modules/unistr/u32-strmblen: Likewise.
1603         * modules/unistr/u32-strmbtouc: Likewise.
1604         * modules/unistr/u32-strncat: Likewise.
1605         * modules/unistr/u32-strncmp: Likewise.
1606         * modules/unistr/u32-strncpy: Likewise.
1607         * modules/unistr/u32-strnlen: Likewise.
1608         * modules/unistr/u32-strpbrk: Likewise.
1609         * modules/unistr/u32-strrchr: Likewise.
1610         * modules/unistr/u32-strspn: Likewise.
1611         * modules/unistr/u32-strstr: Likewise.
1612         * modules/unistr/u32-strtok: Likewise.
1613         * modules/unistr/u32-to-u16: Likewise.
1614         * modules/unistr/u32-to-u8: Likewise.
1615         * modules/unistr/u32-uctomb: Likewise.
1616         * modules/uniwbrk/u8-wordbreaks: Likewise.
1617         * modules/uniwbrk/u16-wordbreaks: Likewise.
1618         * modules/uniwbrk/u32-wordbreaks: Likewise.
1619         * modules/uniwbrk/ulc-wordbreaks: Likewise.
1620         * modules/uniwbrk/wordbreak-property: Likewise.
1621         * modules/uniwidth/u8-strwidth: Likewise.
1622         * modules/uniwidth/u8-width: Likewise.
1623         * modules/uniwidth/u16-strwidth: Likewise.
1624         * modules/uniwidth/u16-width: Likewise.
1625         * modules/uniwidth/u32-strwidth: Likewise.
1626         * modules/uniwidth/u32-width: Likewise.
1627         * modules/uniwidth/width: Likewise.
1628         * modules/unicase/cased-tests (Makefile.am): Link all test programs
1629         with $(LIBUNISTRING).
1630         * modules/unicase/ignorable-tests: Likewise.
1631         * modules/unicase/locale-language-tests: Likewise.
1632         * modules/unicase/tolower-tests: Likewise.
1633         * modules/unicase/totitle-tests: Likewise.
1634         * modules/unicase/toupper-tests: Likewise.
1635         * modules/unicase/u8-casecmp-tests: Likewise.
1636         * modules/unicase/u8-casecoll-tests: Likewise.
1637         * modules/unicase/u8-casefold-tests: Likewise.
1638         * modules/unicase/u8-is-cased-tests: Likewise.
1639         * modules/unicase/u8-is-casefolded-tests: Likewise.
1640         * modules/unicase/u8-is-lowercase-tests: Likewise.
1641         * modules/unicase/u8-is-titlecase-tests: Likewise.
1642         * modules/unicase/u8-is-uppercase-tests: Likewise.
1643         * modules/unicase/u8-tolower-tests: Likewise.
1644         * modules/unicase/u8-totitle-tests: Likewise.
1645         * modules/unicase/u8-toupper-tests: Likewise.
1646         * modules/unicase/u16-casecmp-tests: Likewise.
1647         * modules/unicase/u16-casecoll-tests: Likewise.
1648         * modules/unicase/u16-casefold-tests: Likewise.
1649         * modules/unicase/u16-is-cased-tests: Likewise.
1650         * modules/unicase/u16-is-casefolded-tests: Likewise.
1651         * modules/unicase/u16-is-lowercase-tests: Likewise.
1652         * modules/unicase/u16-is-titlecase-tests: Likewise.
1653         * modules/unicase/u16-is-uppercase-tests: Likewise.
1654         * modules/unicase/u16-tolower-tests: Likewise.
1655         * modules/unicase/u16-totitle-tests: Likewise.
1656         * modules/unicase/u16-toupper-tests: Likewise.
1657         * modules/unicase/u32-casecmp-tests: Likewise.
1658         * modules/unicase/u32-casecoll-tests: Likewise.
1659         * modules/unicase/u32-casefold-tests: Likewise.
1660         * modules/unicase/u32-is-cased-tests: Likewise.
1661         * modules/unicase/u32-is-casefolded-tests: Likewise.
1662         * modules/unicase/u32-is-lowercase-tests: Likewise.
1663         * modules/unicase/u32-is-titlecase-tests: Likewise.
1664         * modules/unicase/u32-is-uppercase-tests: Likewise.
1665         * modules/unicase/u32-tolower-tests: Likewise.
1666         * modules/unicase/u32-totitle-tests: Likewise.
1667         * modules/unicase/u32-toupper-tests: Likewise.
1668         * modules/unicase/ulc-casecmp-tests: Likewise.
1669         * modules/unicase/ulc-casecoll-tests: Likewise.
1670         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
1671         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
1672         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
1673         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
1674         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
1675         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
1676         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
1677         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
1678         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
1679         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
1680         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
1681         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
1682         * modules/unictype/bidicategory-byname-tests: Likewise.
1683         * modules/unictype/bidicategory-name-tests: Likewise.
1684         * modules/unictype/bidicategory-of-tests: Likewise.
1685         * modules/unictype/bidicategory-test-tests: Likewise.
1686         * modules/unictype/block-list-tests: Likewise.
1687         * modules/unictype/block-of-tests: Likewise.
1688         * modules/unictype/block-test-tests: Likewise.
1689         * modules/unictype/category-C-tests: Likewise.
1690         * modules/unictype/category-Cc-tests: Likewise.
1691         * modules/unictype/category-Cf-tests: Likewise.
1692         * modules/unictype/category-Cn-tests: Likewise.
1693         * modules/unictype/category-Co-tests: Likewise.
1694         * modules/unictype/category-Cs-tests: Likewise.
1695         * modules/unictype/category-L-tests: Likewise.
1696         * modules/unictype/category-Ll-tests: Likewise.
1697         * modules/unictype/category-Lm-tests: Likewise.
1698         * modules/unictype/category-Lo-tests: Likewise.
1699         * modules/unictype/category-Lt-tests: Likewise.
1700         * modules/unictype/category-Lu-tests: Likewise.
1701         * modules/unictype/category-M-tests: Likewise.
1702         * modules/unictype/category-Mc-tests: Likewise.
1703         * modules/unictype/category-Me-tests: Likewise.
1704         * modules/unictype/category-Mn-tests: Likewise.
1705         * modules/unictype/category-N-tests: Likewise.
1706         * modules/unictype/category-Nd-tests: Likewise.
1707         * modules/unictype/category-Nl-tests: Likewise.
1708         * modules/unictype/category-No-tests: Likewise.
1709         * modules/unictype/category-P-tests: Likewise.
1710         * modules/unictype/category-Pc-tests: Likewise.
1711         * modules/unictype/category-Pd-tests: Likewise.
1712         * modules/unictype/category-Pe-tests: Likewise.
1713         * modules/unictype/category-Pf-tests: Likewise.
1714         * modules/unictype/category-Pi-tests: Likewise.
1715         * modules/unictype/category-Po-tests: Likewise.
1716         * modules/unictype/category-Ps-tests: Likewise.
1717         * modules/unictype/category-S-tests: Likewise.
1718         * modules/unictype/category-Sc-tests: Likewise.
1719         * modules/unictype/category-Sk-tests: Likewise.
1720         * modules/unictype/category-Sm-tests: Likewise.
1721         * modules/unictype/category-So-tests: Likewise.
1722         * modules/unictype/category-Z-tests: Likewise.
1723         * modules/unictype/category-Zl-tests: Likewise.
1724         * modules/unictype/category-Zp-tests: Likewise.
1725         * modules/unictype/category-Zs-tests: Likewise.
1726         * modules/unictype/category-and-not-tests: Likewise.
1727         * modules/unictype/category-and-tests: Likewise.
1728         * modules/unictype/category-byname-tests: Likewise.
1729         * modules/unictype/category-name-tests: Likewise.
1730         * modules/unictype/category-none-tests: Likewise.
1731         * modules/unictype/category-of-tests: Likewise.
1732         * modules/unictype/category-or-tests: Likewise.
1733         * modules/unictype/category-test-withtable-tests: Likewise.
1734         * modules/unictype/combining-class-tests: Likewise.
1735         * modules/unictype/ctype-alnum-tests: Likewise.
1736         * modules/unictype/ctype-alpha-tests: Likewise.
1737         * modules/unictype/ctype-blank-tests: Likewise.
1738         * modules/unictype/ctype-cntrl-tests: Likewise.
1739         * modules/unictype/ctype-digit-tests: Likewise.
1740         * modules/unictype/ctype-graph-tests: Likewise.
1741         * modules/unictype/ctype-lower-tests: Likewise.
1742         * modules/unictype/ctype-print-tests: Likewise.
1743         * modules/unictype/ctype-punct-tests: Likewise.
1744         * modules/unictype/ctype-space-tests: Likewise.
1745         * modules/unictype/ctype-upper-tests: Likewise.
1746         * modules/unictype/ctype-xdigit-tests: Likewise.
1747         * modules/unictype/decimal-digit-tests: Likewise.
1748         * modules/unictype/digit-tests: Likewise.
1749         * modules/unictype/mirror-tests: Likewise.
1750         * modules/unictype/numeric-tests: Likewise.
1751         * modules/unictype/property-alphabetic-tests: Likewise.
1752         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
1753         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
1754         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
1755         * modules/unictype/property-bidi-block-separator-tests: Likewise.
1756         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
1757         * modules/unictype/property-bidi-common-separator-tests: Likewise.
1758         * modules/unictype/property-bidi-control-tests: Likewise.
1759         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
1760         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
1761         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
1762         * modules/unictype/property-bidi-european-digit-tests: Likewise.
1763         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
1764         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
1765         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
1766         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
1767         * modules/unictype/property-bidi-pdf-tests: Likewise.
1768         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
1769         * modules/unictype/property-bidi-whitespace-tests: Likewise.
1770         * modules/unictype/property-byname-tests: Likewise.
1771         * modules/unictype/property-combining-tests: Likewise.
1772         * modules/unictype/property-composite-tests: Likewise.
1773         * modules/unictype/property-currency-symbol-tests: Likewise.
1774         * modules/unictype/property-dash-tests: Likewise.
1775         * modules/unictype/property-decimal-digit-tests: Likewise.
1776         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
1777         * modules/unictype/property-deprecated-tests: Likewise.
1778         * modules/unictype/property-diacritic-tests: Likewise.
1779         * modules/unictype/property-extender-tests: Likewise.
1780         * modules/unictype/property-format-control-tests: Likewise.
1781         * modules/unictype/property-grapheme-base-tests: Likewise.
1782         * modules/unictype/property-grapheme-extend-tests: Likewise.
1783         * modules/unictype/property-grapheme-link-tests: Likewise.
1784         * modules/unictype/property-hex-digit-tests: Likewise.
1785         * modules/unictype/property-hyphen-tests: Likewise.
1786         * modules/unictype/property-id-continue-tests: Likewise.
1787         * modules/unictype/property-id-start-tests: Likewise.
1788         * modules/unictype/property-ideographic-tests: Likewise.
1789         * modules/unictype/property-ids-binary-operator-tests: Likewise.
1790         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
1791         * modules/unictype/property-ignorable-control-tests: Likewise.
1792         * modules/unictype/property-iso-control-tests: Likewise.
1793         * modules/unictype/property-join-control-tests: Likewise.
1794         * modules/unictype/property-left-of-pair-tests: Likewise.
1795         * modules/unictype/property-line-separator-tests: Likewise.
1796         * modules/unictype/property-logical-order-exception-tests: Likewise.
1797         * modules/unictype/property-lowercase-tests: Likewise.
1798         * modules/unictype/property-math-tests: Likewise.
1799         * modules/unictype/property-non-break-tests: Likewise.
1800         * modules/unictype/property-not-a-character-tests: Likewise.
1801         * modules/unictype/property-numeric-tests: Likewise.
1802         * modules/unictype/property-other-alphabetic-tests: Likewise.
1803         * modules/unictype/property-other-default-ignorable-code-point-tests:
1804         Likewise.
1805         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
1806         * modules/unictype/property-other-id-continue-tests: Likewise.
1807         * modules/unictype/property-other-id-start-tests: Likewise.
1808         * modules/unictype/property-other-lowercase-tests: Likewise.
1809         * modules/unictype/property-other-math-tests: Likewise.
1810         * modules/unictype/property-other-uppercase-tests: Likewise.
1811         * modules/unictype/property-paired-punctuation-tests: Likewise.
1812         * modules/unictype/property-paragraph-separator-tests: Likewise.
1813         * modules/unictype/property-pattern-syntax-tests: Likewise.
1814         * modules/unictype/property-pattern-white-space-tests: Likewise.
1815         * modules/unictype/property-private-use-tests: Likewise.
1816         * modules/unictype/property-punctuation-tests: Likewise.
1817         * modules/unictype/property-quotation-mark-tests: Likewise.
1818         * modules/unictype/property-radical-tests: Likewise.
1819         * modules/unictype/property-sentence-terminal-tests: Likewise.
1820         * modules/unictype/property-soft-dotted-tests: Likewise.
1821         * modules/unictype/property-space-tests: Likewise.
1822         * modules/unictype/property-terminal-punctuation-tests: Likewise.
1823         * modules/unictype/property-test-tests: Likewise.
1824         * modules/unictype/property-titlecase-tests: Likewise.
1825         * modules/unictype/property-unassigned-code-value-tests: Likewise.
1826         * modules/unictype/property-unified-ideograph-tests: Likewise.
1827         * modules/unictype/property-uppercase-tests: Likewise.
1828         * modules/unictype/property-variation-selector-tests: Likewise.
1829         * modules/unictype/property-white-space-tests: Likewise.
1830         * modules/unictype/property-xid-continue-tests: Likewise.
1831         * modules/unictype/property-xid-start-tests: Likewise.
1832         * modules/unictype/property-zero-width-tests: Likewise.
1833         * modules/unictype/scripts-tests: Likewise.
1834         * modules/unictype/syntax-c-ident-tests: Likewise.
1835         * modules/unictype/syntax-c-whitespace-tests: Likewise.
1836         * modules/unictype/syntax-java-ident-tests: Likewise.
1837         * modules/unictype/syntax-java-whitespace-tests: Likewise.
1838         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
1839         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
1840         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
1841         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
1842         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
1843         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
1844         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
1845         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
1846         * modules/uniname/uniname-tests: Likewise.
1847         * modules/uninorm/canonical-decomposition-tests: Likewise.
1848         * modules/uninorm/compat-decomposition-tests: Likewise.
1849         * modules/uninorm/composition-tests: Likewise.
1850         * modules/uninorm/decomposing-form-tests: Likewise.
1851         * modules/uninorm/decomposition-tests: Likewise.
1852         * modules/uninorm/filter-tests: Likewise.
1853         * modules/uninorm/nfc-tests: Likewise.
1854         * modules/uninorm/nfd-tests: Likewise.
1855         * modules/uninorm/nfkc-tests: Likewise.
1856         * modules/uninorm/nfkd-tests: Likewise.
1857         * modules/uninorm/u8-normcmp-tests: Likewise.
1858         * modules/uninorm/u8-normcoll-tests: Likewise.
1859         * modules/uninorm/u16-normcmp-tests: Likewise.
1860         * modules/uninorm/u16-normcoll-tests: Likewise.
1861         * modules/uninorm/u32-normcmp-tests: Likewise.
1862         * modules/uninorm/u32-normcoll-tests: Likewise.
1863         * modules/unistdio/u8-asnprintf-tests: Likewise.
1864         * modules/unistdio/u8-vasnprintf-tests: Likewise.
1865         * modules/unistdio/u8-vasprintf-tests: Likewise.
1866         * modules/unistdio/u8-vsnprintf-tests: Likewise.
1867         * modules/unistdio/u8-vsprintf-tests: Likewise.
1868         * modules/unistdio/u16-asnprintf-tests: Likewise.
1869         * modules/unistdio/u16-vasnprintf-tests: Likewise.
1870         * modules/unistdio/u16-vasprintf-tests: Likewise.
1871         * modules/unistdio/u16-vsnprintf-tests: Likewise.
1872         * modules/unistdio/u16-vsprintf-tests: Likewise.
1873         * modules/unistdio/u32-asnprintf-tests: Likewise.
1874         * modules/unistdio/u32-vasnprintf-tests: Likewise.
1875         * modules/unistdio/u32-vasprintf-tests: Likewise.
1876         * modules/unistdio/u32-vsnprintf-tests: Likewise.
1877         * modules/unistdio/u32-vsprintf-tests: Likewise.
1878         * modules/unistdio/ulc-asnprintf-tests: Likewise.
1879         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
1880         * modules/unistdio/ulc-vasprintf-tests: Likewise.
1881         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
1882         * modules/unistdio/ulc-vsprintf-tests: Likewise.
1883         * modules/unistr/u8-check-tests: Likewise.
1884         * modules/unistr/u8-chr-tests: Likewise.
1885         * modules/unistr/u8-cmp-tests: Likewise.
1886         * modules/unistr/u8-cmp2-tests: Likewise.
1887         * modules/unistr/u8-cpy-alloc-tests: Likewise.
1888         * modules/unistr/u8-cpy-tests: Likewise.
1889         * modules/unistr/u8-mblen-tests: Likewise.
1890         * modules/unistr/u8-mbsnlen-tests: Likewise.
1891         * modules/unistr/u8-mbtouc-tests: Likewise.
1892         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
1893         * modules/unistr/u8-mbtoucr-tests: Likewise.
1894         * modules/unistr/u8-move-tests: Likewise.
1895         * modules/unistr/u8-next-tests: Likewise.
1896         * modules/unistr/u8-prev-tests: Likewise.
1897         * modules/unistr/u8-set-tests: Likewise.
1898         * modules/unistr/u8-stpcpy-tests: Likewise.
1899         * modules/unistr/u8-stpncpy-tests: Likewise.
1900         * modules/unistr/u8-strcat-tests: Likewise.
1901         * modules/unistr/u8-strcmp-tests: Likewise.
1902         * modules/unistr/u8-strcoll-tests: Likewise.
1903         * modules/unistr/u8-strcpy-tests: Likewise.
1904         * modules/unistr/u8-strdup-tests: Likewise.
1905         * modules/unistr/u8-strlen-tests: Likewise.
1906         * modules/unistr/u8-strmblen-tests: Likewise.
1907         * modules/unistr/u8-strmbtouc-tests: Likewise.
1908         * modules/unistr/u8-strncat-tests: Likewise.
1909         * modules/unistr/u8-strncmp-tests: Likewise.
1910         * modules/unistr/u8-strncpy-tests: Likewise.
1911         * modules/unistr/u8-strnlen-tests: Likewise.
1912         * modules/unistr/u8-to-u16-tests: Likewise.
1913         * modules/unistr/u8-to-u32-tests: Likewise.
1914         * modules/unistr/u8-uctomb-tests: Likewise.
1915         * modules/unistr/u16-check-tests: Likewise.
1916         * modules/unistr/u16-chr-tests: Likewise.
1917         * modules/unistr/u16-cmp-tests: Likewise.
1918         * modules/unistr/u16-cmp2-tests: Likewise.
1919         * modules/unistr/u16-cpy-alloc-tests: Likewise.
1920         * modules/unistr/u16-cpy-tests: Likewise.
1921         * modules/unistr/u16-mblen-tests: Likewise.
1922         * modules/unistr/u16-mbsnlen-tests: Likewise.
1923         * modules/unistr/u16-mbtouc-tests: Likewise.
1924         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
1925         * modules/unistr/u16-mbtoucr-tests: Likewise.
1926         * modules/unistr/u16-move-tests: Likewise.
1927         * modules/unistr/u16-next-tests: Likewise.
1928         * modules/unistr/u16-prev-tests: Likewise.
1929         * modules/unistr/u16-set-tests: Likewise.
1930         * modules/unistr/u16-stpcpy-tests: Likewise.
1931         * modules/unistr/u16-stpncpy-tests: Likewise.
1932         * modules/unistr/u16-strcat-tests: Likewise.
1933         * modules/unistr/u16-strcmp-tests: Likewise.
1934         * modules/unistr/u16-strcoll-tests: Likewise.
1935         * modules/unistr/u16-strcpy-tests: Likewise.
1936         * modules/unistr/u16-strdup-tests: Likewise.
1937         * modules/unistr/u16-strlen-tests: Likewise.
1938         * modules/unistr/u16-strmblen-tests: Likewise.
1939         * modules/unistr/u16-strmbtouc-tests: Likewise.
1940         * modules/unistr/u16-strncat-tests: Likewise.
1941         * modules/unistr/u16-strncmp-tests: Likewise.
1942         * modules/unistr/u16-strncpy-tests: Likewise.
1943         * modules/unistr/u16-strnlen-tests: Likewise.
1944         * modules/unistr/u16-to-u32-tests: Likewise.
1945         * modules/unistr/u16-to-u8-tests: Likewise.
1946         * modules/unistr/u16-uctomb-tests: Likewise.
1947         * modules/unistr/u32-check-tests: Likewise.
1948         * modules/unistr/u32-chr-tests: Likewise.
1949         * modules/unistr/u32-cmp-tests: Likewise.
1950         * modules/unistr/u32-cmp2-tests: Likewise.
1951         * modules/unistr/u32-cpy-alloc-tests: Likewise.
1952         * modules/unistr/u32-cpy-tests: Likewise.
1953         * modules/unistr/u32-mblen-tests: Likewise.
1954         * modules/unistr/u32-mbsnlen-tests: Likewise.
1955         * modules/unistr/u32-mbtouc-tests: Likewise.
1956         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
1957         * modules/unistr/u32-mbtoucr-tests: Likewise.
1958         * modules/unistr/u32-move-tests: Likewise.
1959         * modules/unistr/u32-next-tests: Likewise.
1960         * modules/unistr/u32-prev-tests: Likewise.
1961         * modules/unistr/u32-set-tests: Likewise.
1962         * modules/unistr/u32-stpcpy-tests: Likewise.
1963         * modules/unistr/u32-stpncpy-tests: Likewise.
1964         * modules/unistr/u32-strcat-tests: Likewise.
1965         * modules/unistr/u32-strcmp-tests: Likewise.
1966         * modules/unistr/u32-strcoll-tests: Likewise.
1967         * modules/unistr/u32-strcpy-tests: Likewise.
1968         * modules/unistr/u32-strdup-tests: Likewise.
1969         * modules/unistr/u32-strlen-tests: Likewise.
1970         * modules/unistr/u32-strmblen-tests: Likewise.
1971         * modules/unistr/u32-strmbtouc-tests: Likewise.
1972         * modules/unistr/u32-strncat-tests: Likewise.
1973         * modules/unistr/u32-strncmp-tests: Likewise.
1974         * modules/unistr/u32-strncpy-tests: Likewise.
1975         * modules/unistr/u32-strnlen-tests: Likewise.
1976         * modules/unistr/u32-to-u16-tests: Likewise.
1977         * modules/unistr/u32-to-u8-tests: Likewise.
1978         * modules/unistr/u32-uctomb-tests: Likewise.
1979         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
1980         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
1981         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
1982         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
1983         * modules/uniwidth/u8-strwidth-tests: Likewise.
1984         * modules/uniwidth/u8-width-tests: Likewise.
1985         * modules/uniwidth/u16-strwidth-tests: Likewise.
1986         * modules/uniwidth/u16-width-tests: Likewise.
1987         * modules/uniwidth/u32-strwidth-tests: Likewise.
1988         * modules/uniwidth/u32-width-tests: Likewise.
1989         * modules/uniwidth/width-tests: Likewise.
1990
1991 2010-05-18  Richard Jones  <rjones@redhat.com>
1992
1993         doc: users.txt: list hivex
1994         * users.txt: Add hivex.
1995
1996 2010-05-18  Richard Jones  <rjones@redhat.com>
1997
1998         doc: users.txt: list febootstrap
1999         * users.txt: Add febootstrap.
2000
2001 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
2002
2003         bootstrap: fix an error when gnulib is not used as a git submodule
2004         * build-aux/bootstrap (gnulib_path): If its length is zero then
2005         assign "gnulib" to it.
2006         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
2007
2008 2010-05-16  Bruno Haible  <bruno@clisp.org>
2009
2010         Avoid autoconf warnings about AM_ICONV.
2011         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
2012         2.64.
2013
2014 2010-05-16  Bruno Haible  <bruno@clisp.org>
2015
2016         absolute-header: Make the macro usable in more situations.
2017         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
2018         from gl_ABSOLUTE_HEADER.
2019         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
2020
2021 2010-05-16  James Youngman  <jay@gnu.org>
2022
2023         doc: update users.txt
2024         * users.txt: Add CSSC.
2025
2026 2010-05-16  Jim Meyering  <meyering@redhat.com>
2027
2028         init.sh: fix an error in the previous change; add more comments
2029         * tests/init.sh: Compare exit code in loop against 9, not 2.
2030         Patch by Bruno Haible.
2031         Make the two tests more similar by adding an empty "then" clause.
2032         Add comments.
2033
2034         init.sh: avoid unnecessary shell re-exec
2035         * tests/init.sh: Improve the re-exec-required check to first test the
2036         current shell.  If it passes the test, do not search for a shell that
2037         does pass, and do not re-exec.  This test is particularly contorted to
2038         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
2039         of $(...) evokes a syntax error and causes immediate shell exit with
2040         status 2.  Bruno Haible reported that the re-exec made it impossible
2041         to single-step through any init.sh-using script.
2042
2043 2010-05-16  Bruno Haible  <bruno@clisp.org>
2044
2045         Fix collision between gnulib's and libintl's printf replacements.
2046         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
2047         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
2048         (printf): When using GNU C, map the __printf__ function to rpl_printf
2049         via __asm__. When not using GNU C, define rpl_printf instead of
2050         __printf__.
2051         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
2052         commit.
2053         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
2054         commit.
2055         * m4/asm-underscore.m4: New file.
2056         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
2057         * modules/stdio (Files): Add m4/asm-underscore.m4.
2058         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
2059         Reported by Ben Pfaff.
2060
2061 2010-05-16  Bruno Haible  <bruno@clisp.org>
2062
2063         verify: Avoid skipping the test on openSUSE 11.0.
2064         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
2065
2066 2010-05-13  Bruno Haible  <bruno@clisp.org>
2067
2068         Avoid useless warnings from G++.
2069         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
2070         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
2071         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
2072
2073 2010-05-11  Jim Meyering  <meyering@redhat.com>
2074
2075         maint.mk: tweak preceding change
2076         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
2077         regexps tighter by anchoring at EOL, and make the new group "shy"
2078         for slightly decreased overhead.
2079
2080 2010-05-11  Eric Blake  <eblake@redhat.com>
2081
2082         maint.mk: gnulib doesn't guarantee NSIG
2083         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
2084
2085 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
2086
2087         test-pwrite.c: Remove unused variable declaration.
2088         * tests/test-pwrite.c (main): Remove read_buf declaration.
2089
2090         Remove useless test-pwrite.sh file.
2091         * tests/test-pwrite.sh: Delete file.
2092         * modules/pwrite-tests: Remove references.
2093         Reported by Bruno Haible.
2094
2095 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
2096
2097         init.sh: fix a typo
2098         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
2099
2100 2010-05-10  Jim Meyering  <meyering@redhat.com>
2101
2102         maint.mk: avoid using a temporary file in the always-defined-macros check
2103         * top/maint.mk (.re-defmac): Remove rule.
2104         (gl_trap_): Remove definition.
2105         (sc_prohibit_always-defined_macros): Rewrite not to create and
2106         depend on a temporary file.  Instead, depend on GNU grep's ability
2107         to read a list of regular expressions from stdin when given "-f -".
2108
2109 2010-05-09  Bruno Haible  <bruno@clisp.org>
2110
2111         Update to GNU gettext 0.18, part 1.
2112         * m4/gettext.m4: Update to GNU gettext 0.18.
2113         * m4/intl.m4: Likewise.
2114         * m4/po.m4: Likewise.
2115         * modules/gettext (Files): Add m4/fcntl-o.m4.
2116         (configure.ac): Require gettext infrastructure from version 0.18.
2117
2118 2010-05-09  Jim Meyering  <meyering@redhat.com>
2119
2120         init.sh: enable MALLOC_PERTURB_
2121         * tests/init.sh: Enable glibc's malloc-perturbing option.
2122
2123         maint.mk: improve sc_cross_check_PATH_usage_in_tests
2124         With my recent change in init.sh from the two-line form:
2125             -#   : ${srcdir=.}
2126             -#   . "$srcdir/init.sh"; path_prepend_ .
2127             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
2128         I noticed that using the one-line form would cause this test
2129         to fail with a false-positive, or to stop working altogether,
2130         depending on whether help-version changed or all the tests did.
2131         * top/maint.mk (_hv_regex): Remove this definition.
2132         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
2133         (_hv_regex_strong): Use a stronger regex to check for conformance.
2134         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
2135         Give a separate diagnostic for lack of conforming use.
2136
2137         maint.mk: prohibit definition of symbols defined by gnulib
2138         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
2139         definition of symbols defined by gnulib.
2140
2141 2010-05-09  Bruno Haible  <bruno@clisp.org>
2142
2143         acl: Avoid test failure on Cygwin-hosted mingw.
2144         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
2145
2146 2010-05-09  Bruno Haible  <bruno@clisp.org>
2147
2148         error: Use system's fcntl function.
2149         * lib/error.c (fcntl): Undefine.
2150
2151 2010-05-09  Jim Meyering  <meyering@redhat.com>
2152
2153         verify: adjust formatting to be more consistent
2154         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
2155         argument-list '('s, and after one comma.
2156
2157 2010-05-09  Bruno Haible  <bruno@clisp.org>
2158
2159         error: More reliable output on mingw.
2160         * lib/error.c: Include <windows.h>.
2161         (is_open): New function.
2162         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
2163         defined.
2164
2165 2010-05-09  Bruno Haible  <bruno@clisp.org>
2166
2167         vasnprintf: Fix syntax errors in libintl build on mingw.
2168         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
2169         pad_ourselves and prec_ourselves after use.
2170
2171 2010-05-08  Bruno Haible  <bruno@clisp.org>
2172
2173         * lib/config.charset: Update comments for Cygwin 1.7.
2174         * lib/localcharset.c: Likewise.
2175
2176 2010-05-07  Jim Meyering  <meyering@redhat.com>
2177
2178         init.sh: improve comments
2179         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
2180         . "${srcdir=.}/init.sh"; path_prepend_ .
2181         Add a note about path_prepend_ and the alternative of using
2182         TESTS_ENVIRONMENT.
2183
2184 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
2185
2186         exclude: Unescape hashed patterns in wildcard mode.
2187         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
2188         to the hash list.
2189         * tests/test-exclude8.sh: New test case.
2190         * modules/exclude-tests: Add new test.
2191
2192 2010-05-05  Eric Blake  <eblake@redhat.com>
2193
2194         verify: automate tests
2195         * modules/verify-tests: New module.
2196         * tests/test-verify.sh: New file.
2197         * tests/test-verify.c: Guard each negative test with a unique id.
2198         Also avoid warning about unused left hand of comma expressions.
2199
2200 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
2201
2202         Further improvements to verify.h, suggested by Eric Blake.
2203         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
2204         the GL_* versions, to avoid collision with OpenGL.
2205         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
2206         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
2207         than testing merely whether it's defined.
2208
2209         Modify verify.h to pacify gcc -Wredundant_decls.
2210         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
2211         These use the prefix "GL_" since they're likely to be useful elsewhere.
2212         We may need to break them out into a different .h file.
2213         (__COUNTER__): Define to 0 if the compiler doesn't support it.
2214         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
2215         of verify_function__.
2216
2217 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
2218
2219         Tests for module pwrite.
2220         * modules/pwrite-tests: New file.
2221         * tests/test-pwrite.sh: New file.
2222         * tests/test-pwrite.c: New file.
2223
2224         New module pwrite.
2225         * lib/unistd.in.h (pwrite): New declaration.
2226         * lib/pwrite.c: New file, from glibc with modifications.
2227         * m4/pwrite.m4: New file.
2228         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
2229         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
2230         REPLACE_PWRITE.
2231         * modules/pwrite: New file.
2232         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
2233         REPLACE_PWRITE.
2234         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
2235         * doc/posix-functions/pwrite.texi: Mention the new module.
2236
2237 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
2238
2239         pread: Update documentation.
2240         * doc/posix-functions/pread.texi: Mention the 'pread' module.
2241
2242 2010-05-04  Eric Blake  <eblake@redhat.com>
2243
2244         docs: update cygwin progress
2245         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
2246         this bug.
2247         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
2248         Added in cygwin 1.7.2.
2249         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
2250         Likewise.
2251         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
2252         Likewise.
2253         * doc/glibc-functions/dup3.texi (dup3): Likewise.
2254         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
2255         * doc/glibc-functions/accept4.texi (accept4): Likewise.
2256         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
2257         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
2258         Mention nproc module.
2259         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
2260         bug in cygwin 1.7.5 addition.
2261         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
2262         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
2263         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
2264         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
2265         1.7.5.
2266         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
2267         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
2268         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
2269         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
2270         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
2271         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
2272         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
2273         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
2274         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
2275         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
2276         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
2277         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
2278         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
2279         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
2280         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
2281         Likewise.
2282         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
2283         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
2284         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
2285         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
2286         Likewise.
2287         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
2288         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
2289         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
2290         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
2291         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
2292         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
2293         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
2294         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
2295         Likewise.
2296         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
2297         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
2298         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
2299         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
2300         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
2301         Likewise.
2302         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
2303         Likewise.
2304         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
2305         Likewise.
2306         * doc/glibc-functions/xdrrec_endofrecord.texi
2307         (xdrrec_endofrecord): Likewise.
2308         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
2309         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
2310         Likewise.
2311         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
2312         Likewise.
2313
2314 2010-05-04  Jim Meyering  <meyering@redhat.com>
2315
2316         gendocs.sh: make its "-s FILE" option more useful
2317         * build-aux/gendocs.sh: When honoring the -s FILE option, update
2318         $PACKAGE to reflect the probably-different basename of "FILE".
2319
2320 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
2321
2322         bootstrap: don't ignore download_po_files failure
2323         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
2324         failure.
2325
2326 2010-05-03  Jim Meyering  <meyering@redhat.com>
2327
2328         maint.mk: allow to pass options to gendocs.sh
2329         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
2330         (gendocs_options_): New overridable variable.
2331
2332         gnu-web-doc-update: don't ignore configure or build failure
2333         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
2334
2335         announce-gen: backslash-escape '@'s in --help output
2336         * build-aux/announce-gen: Fix syntax errors.
2337
2338         maint.mk, announce-gen: allow project-specific announcement mail headers
2339         * top/maint.mk (translation_project_): Define default.
2340         (announcement_Cc_, announcement_mail_headers_): Likewise.
2341         (announcement): Invoke announce-gen with new --mail-headers option.
2342         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
2343
2344         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
2345         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
2346         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
2347         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
2348         line in the "err2" output file when running "make check" in verbose
2349         mode (i.e., with set -x enabled).
2350
2351 2010-05-03  Bruno Haible  <bruno@clisp.org>
2352
2353         wctob: Fix for weird platforms.
2354         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
2355         argument value.
2356
2357 2010-05-03  Jim Meyering  <meyering@redhat.com>
2358
2359         maint.mk: prohibit unwarranted use of <strings.h>
2360         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
2361         strings.h in a file that does not also use strcasecmp, strncasecmp,
2362         ffs or ffsll.
2363
2364         maint.mk: remove obsolete comments
2365         * top/maint.mk: Remove stale, commented-out rules.
2366
2367 2010-05-02  Bruno Haible  <bruno@clisp.org>
2368
2369         wcwidth: Declare also when it's aliased.
2370         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
2371         macro.
2372
2373 2010-05-02  Bruno Haible  <bruno@clisp.org>
2374
2375         Fix regression from 2010-04-25.
2376         * gnulib-tool (func_modules_transitive_closure): Check the status of
2377         all modules, not only of the tests that are of the form foo-tests where
2378         foo is a module.
2379
2380 2010-05-02  Bruno Haible  <bruno@clisp.org>
2381
2382         wctob: Work around nasty Cygwin 1.7.2 bug.
2383         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
2384         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
2385
2386 2010-05-01  Bruno Haible  <bruno@clisp.org>
2387
2388         fpurge: Sharper test.
2389         * tests/test-fpurge.c (main): Add one more ftell check.
2390         * modules/fpurge-tests (Depends-on): Add ftell.
2391         Suggested by Eric Blake.
2392
2393 2010-05-01  Bruno Haible  <bruno@clisp.org>
2394
2395         ftello: Another test.
2396         * tests/test-ftello3.c: New file.
2397         * modules/ftello-tests (Files): Add it.
2398         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
2399         MOSTLYCLEANFILES.
2400
2401         ftell: Another test.
2402         * tests/test-ftell3.c: New file.
2403         * modules/ftell-tests (Files): Add it.
2404         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
2405         MOSTLYCLEANFILES.
2406
2407 2010-05-01  Bruno Haible  <bruno@clisp.org>
2408
2409         ftell, ftello: Work around Solaris bug.
2410         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
2411         * lib/ftello.c: Include stdio-impl.h.
2412         (ftello): On Solaris, when _IOWRT is set, compute the result without
2413         looking at _IOREAD.
2414         * modules/ftello (Files): Add lib/stdio-impl.h.
2415         * doc/posix-functions/ftell.texi: Mention Solaris bug.
2416         * doc/posix-functions/ftello.texi: Likewise.
2417         Reported by Eric Blake.
2418
2419 2010-05-01  Bruno Haible  <bruno@clisp.org>
2420
2421         freading: Adapt to special meaning of _IOREAD flag on Solaris.
2422         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
2423         the _IOWRT flag is also set.
2424
2425 2010-05-01  Bruno Haible  <bruno@clisp.org>
2426
2427         Fix doc about a HP-UX stdio bug.
2428         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
2429         * doc/posix-functions/ftello.texi: Likewise.
2430
2431 2010-05-01  Bruno Haible  <bruno@clisp.org>
2432
2433         lseek test: Fix failure on Solaris.
2434         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
2435         output.
2436
2437 2010-04-30  Jim Meyering  <meyering@redhat.com>
2438
2439         bootstrap: don't ignore failure to generate po*/Makevars
2440         * build-aux/bootstrap (with_gettext): Don't ignore failure
2441         to create po/Makevars or runtime-po/Makevars.
2442
2443 2010-04-29  Eric Blake  <eblake@redhat.com>
2444
2445         headers: relax license to LGPLv2+
2446         * modules/fcntl-h (License): Relax license.
2447         * modules/getopt-posix (License): Likewise.
2448         * modules/locale (License): Likewise.
2449         * modules/math (License): Likewise.
2450         * modules/pty (License): Likewise.
2451         * modules/sched (License): Likewise.
2452         * modules/search (License): Likewise.
2453         * modules/spawn (License): Likewise.
2454         * modules/stdarg (License): Likewise.
2455         * modules/sysexits (License): Likewise.
2456
2457 2010-04-29  Jim Meyering  <meyering@redhat.com>
2458
2459         inttypes: relax license to LGPLv2+
2460         * modules/inttypes (License): Relax license.
2461
2462 2010-04-29  Simon Josefsson  <simon@josefsson.org>
2463
2464         * top/maint.mk (indent): Run twice to produce idempotent results.
2465
2466 2010-04-28  Bruno Haible  <bruno@clisp.org>
2467
2468         getdate: Generate getdate.c in the source directory.
2469         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
2470         MOSTLYCLEANFILES.
2471         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
2472
2473 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
2474
2475         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
2476         is not declared as a const *; avoid warnings in that case.
2477
2478 2010-04-28  Eric Blake  <eblake@redhat.com>
2479
2480         canonicalize-lgpl: avoid compiler warning
2481         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
2482         declaration' / 'extraneous semicolon' warning with some compilers.
2483         Reported by Andreas Gruenbacher.
2484
2485 2010-04-28  Jim Meyering  <meyering@redhat.com>
2486
2487         init.sh: ensure a more reliable exit status when exiting via trap
2488         * tests/init.sh (setup_): Don't rely on $? in signal handler.
2489         Inspired by patches from Dmitry V. Levin.
2490         Also trap on signal 3 (SIGQUIT).
2491
2492 2010-04-27  Bruno Haible  <bruno@clisp.org>
2493
2494         Update doc about utimes().
2495         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
2496         'utimens' module.
2497         Reported by Andreas Gruenbacher <agruen@suse.de>.
2498
2499 2010-04-27  Eric Blake  <eblake@redhat.com>
2500
2501         full-read, full-write: relax license
2502         * modules/full-read (License): Drop to LGPLv2+.
2503         * modules/full-write (License): Likewise.
2504         * modules/safe-read (License): Likewise.
2505         * modules/safe-write (License): Likewise.
2506
2507         pthread: mention library for linking
2508         * modules/pthread (Link): Mention $(LIB_PTHREAD).
2509
2510 2010-04-27  Jim Meyering  <meyering@redhat.com>
2511
2512         maint.mk: fix a bug introduced in last change
2513         * top/maint.mk (gl_assured_headers_): Now that all names are on
2514         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
2515         is not anchored to end of word, it should be adequate.
2516
2517         maint.mk: avoid side-effect in latest syntax-check
2518         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
2519         to run commands via $(shell...), and hence to incur cost only when
2520         the new rule is actually run.
2521
2522         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
2523         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
2524         and use that to create a regexp used to detect all #if HAVE_..._H uses.
2525         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
2526         (gl_assured_headers_, az_, AZ_): Define.
2527         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
2528
2529 2010-04-26  Jim Meyering  <jim@meyering.net>
2530             Bruno Haible  <bruno@clisp.org>
2531
2532         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
2533         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
2534         Prompted by an exchange with Gilles Espinasse.
2535
2536 2010-04-26  Jim Meyering  <meyering@redhat.com>
2537
2538         git-version-gen: aesthetic tweak
2539         * build-aux/git-version-gen: Use "$nl" rather than a literal,
2540         so that the command remains on a single line.
2541
2542 2010-04-26  Eric Blake  <eblake@redhat.com>
2543
2544         git-version-gen: allow use on EBCDIC hosts
2545         * build-aux/git-version-gen (dirty): Use literal rather than tying
2546         ourselves to ascii.
2547         Reported by Steve Goetze.
2548
2549 2010-04-25  Bruno Haible  <bruno@clisp.org>
2550
2551         netdb: Add support for GNULIB_POSIXCHECK.
2552         * lib/netdb.in.h: Include warn-on-use.h.
2553         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
2554         functions are used when GNULIB_POSIXCHECK is defined and the
2555         getaddrinfo module is not in use.
2556         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
2557         freeaddrinfo, gai_strerror, getnameinfo are declared.
2558         * modules/netdb (Depends-on): Add warn-on-use.
2559         (Makefile.am): Include warn-on-use.h in netdb.h.
2560
2561 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
2562
2563         build: avoid "make check" failure without .git/ directory
2564         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
2565         there is no .git/ directory.
2566
2567 2010-04-25  Bruno Haible  <bruno@clisp.org>
2568
2569         ptsname: Fix misuse of ttyname_r.
2570         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
2571         of errno.
2572
2573 2010-04-25  Bruno Haible  <bruno@clisp.org>
2574
2575         ttyname_r: Make it work on Solaris 10.
2576         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
2577         if the system function has the POSIX declaration. Test whether the
2578         function fails if the buffer is less than 128 bytes large.
2579         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
2580         system's ttyname_r function. Provide a reasonably large buffer.
2581         * modules/ttyname_r (Depends-on): Add extensions.
2582         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
2583
2584 2010-04-25  Bruno Haible  <bruno@clisp.org>
2585
2586         Use the 'extensions' module for some more functions on Solaris.
2587         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
2588         module.
2589         * doc/posix-functions/ctime_r.texi: Likewise.
2590         * doc/posix-functions/getgrgid_r.texi: Likewise.
2591         * doc/posix-functions/getgrnam_r.texi: Likewise.
2592         * doc/posix-functions/getpwnam_r.texi: Likewise.
2593         * doc/posix-functions/getpwuid_r.texi: Likewise.
2594         * doc/posix-functions/readdir_r.texi: Likewise.
2595         * doc/posix-functions/sigwait.texi: Likewise.
2596         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
2597         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
2598
2599 2010-04-25  Bruno Haible  <bruno@clisp.org>
2600
2601         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
2602         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
2603         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
2604         * lib/ttyname_r.c: Include <limits.h>.
2605         (ttyname_r): Define using the system's ttyname_r function, if it exists
2606         and not on Solaris.
2607         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
2608         set.
2609         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
2610         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
2611         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
2612         Reported by Simon Josefsson.
2613
2614 2010-04-25  Bruno Haible  <bruno@clisp.org>
2615
2616         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
2617         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
2618         * doc/posix-functions/ctime_r.texi: Likewise.
2619         * doc/posix-functions/getgrgid_r.texi: Likewise.
2620         * doc/posix-functions/getgrnam_r.texi: Likewise.
2621         * doc/posix-functions/getlogin_r.texi: Likewise.
2622         * doc/posix-functions/getpwnam_r.texi: Likewise.
2623         * doc/posix-functions/getpwuid_r.texi: Likewise.
2624         * doc/posix-functions/readdir_r.texi: Likewise.
2625         * doc/posix-functions/sigwait.texi: Likewise.
2626         * doc/posix-functions/ttyname_r.texi: Likewise.
2627         Reported by Simon Josefsson.
2628
2629 2010-04-25  Bruno Haible  <bruno@clisp.org>
2630
2631         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
2632         * gnulib-tool (func_usage): Document that --with-*-tests options apply
2633         also to --create-testdir.
2634         (func_acceptable): Don't consider the status of *-tests modules here.
2635         (func_modules_transitive_closure): Consider it here, before including a
2636         test module.
2637         (func_import, func_create_testdir): Set inc_all_direct_tests,
2638         inc_all_indirect_tests.
2639         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
2640         --create-testdir and --create-megatestdir.
2641
2642 2010-04-25  Bruno Haible  <bruno@clisp.org>
2643
2644         gnulib-tool: Add --without-*-tests options.
2645         * gnulib-tool (func_usage): Document the --without-*-tests options.
2646         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
2647         excl_unportable_tests): New variables.
2648         Fail if they are specified with --import or --update.
2649         (func_acceptable): Respect the excl_*_tests variables.
2650         (func_import): Set the excl_*_tests variables to empty.
2651
2652 2010-04-25  Simon Josefsson  <simon@josefsson.org>
2653             Bruno Haible  <bruno@clisp.org>
2654
2655         Work around a MacOS X 10.4 bug with openpty.
2656         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
2657         * tests/test-openpty.c (main): Close the master side explicitly.
2658
2659 2010-04-25  Bruno Haible  <bruno@clisp.org>
2660
2661         strnlen: Fix a C++ test error on MacOS X and Solaris.
2662         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
2663         the function is not declared.
2664         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
2665         Simon Josefsson.
2666
2667 2010-04-24  Bruno Haible  <bruno@clisp.org>
2668
2669         Avoid a gcc warning.
2670         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
2671         of correct type for %08lx directive.
2672         Reported by Eric Blake.
2673
2674 2010-04-24  Bruno Haible  <bruno@clisp.org>
2675
2676         vasnprintf: Correct errno value in case of out-of-memory.
2677         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
2678         or sprintf. Use the errno value from SNPRINTF or sprintf.
2679         Reported by Ian Beckwith <ianb@erislabs.net>.
2680
2681 2010-04-24  Bruno Haible  <bruno@clisp.org>
2682
2683         ansi-c++-opt: Find correct compiler when cross-compiling.
2684         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
2685         AC_CHECK_PROGS.
2686         Reported by Simon Josefsson.
2687
2688 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
2689
2690         vc-list-files: Add support for subversion
2691         * build-aux/vc-list-files: Use "svn list" to generate the list of
2692         files controlled by subversion.
2693
2694 2010-04-23  Jim Meyering  <meyering@redhat.com>
2695
2696         vc-list-files tests: convert to use init.sh
2697         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
2698         path_prepend_.
2699         Use Exit, not exit.
2700         Use skip_ rather than open coding it.
2701         Remove trap set-up and compare definitions.
2702         * tests/test-vc-list-files-git.sh: Likewise.
2703         * modules/vc-list-files-tests (Files): Add tests/init.sh.
2704
2705 2010-04-22  Simon Josefsson  <simon@josefsson.org>
2706
2707         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
2708         backup files.
2709
2710 2010-04-21  Simon Josefsson  <simon@josefsson.org>
2711
2712         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
2713
2714 2010-04-20  Eric Blake  <eblake@redhat.com>
2715
2716         tests: be robust to ignored SIGPIPE
2717         * tests/test-select-in.sh: Consume all output.
2718         * tests/test-lseek.sh: Check correct exit status, while avoiding
2719         EPIPE.
2720
2721 2010-04-20  Simon Josefsson  <simon@josefsson.org>
2722             Bruno Haible  <bruno@clisp.org>
2723
2724         visibility: Don't use -fvisibility if it leads to a warning.
2725         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
2726         yes, don't pretend that visibility works if it leads to a warning.
2727         Reported by Mike Gran <spk121@yahoo.com>.
2728
2729 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
2730
2731         * build-aux/bootstrap: Use "git -h" for testing for supported options
2732         instead of "git --help".  The short-form option only shows a summary,
2733         and doesn't layout the full man page.  Grep for the full option name
2734         in the summary, too.
2735
2736 2010-04-19  Bruno Haible  <bruno@clisp.org>
2737
2738         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
2739         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
2740         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
2741         mention of RELOCATABLE_STRIP.
2742         Reported by Sylvain Beucler <beuc@beuc.net>.
2743
2744 2010-04-19  Bruno Haible  <bruno@clisp.org>
2745
2746         * lib/diffseq.h: Fix typo in comment.
2747         Reported by Eric Blake.
2748
2749 2010-04-19  Bruno Haible  <bruno@clisp.org>
2750
2751         ioctl: Move autoconf macro to a .m4 file.
2752         * m4/ioctl.m4: New file, extracted from modules/ioctl.
2753         * modules/ioctl (Files): Add it.
2754         (configure.ac): Simply invoke gl_FUNC_IOCTL.
2755         Reported by Ian Beckwith <ianb@erislabs.net>.
2756
2757 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
2758             Bruno Haible  <bruno@clisp.org>
2759
2760         diffseq: Accommodate use-case with abstract arrays.
2761         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
2762         is not defined.
2763         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
2764         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
2765
2766 2010-04-18  Bruno Haible  <bruno@clisp.org>
2767
2768         * doc/posix-headers/stdbool.texi: More precise wording.
2769
2770 2010-04-17  Jim Meyering  <meyering@redhat.com>
2771
2772         maint.mk: use gnu-style indentation in an embedded perl script
2773         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
2774         Rename variable: s/two/last_two_bytes/
2775
2776 2010-04-16  Eric Blake  <eblake@redhat.com>
2777
2778         test-stdbool: skip test that fails with Solaris CC
2779         * tests/test-stdbool.c (f): Skip test that causes compilation
2780         error under buggy C++ compiler.
2781         * lib/stdbool.in.h: Document the limitation.
2782         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
2783
2784         setenv: allow compilation with C++
2785         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
2786         register keyword.
2787
2788         stdint: allow test to pass with C++
2789         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
2790
2791         getopt: allow compilation with C++
2792         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
2793         struct.
2794         * lib/getopt.c (_getopt_internal_r): Use correct type.
2795         Reported by Dagobert Michelson, via Joel E. Denny.
2796
2797 2010-04-16  Bruno Haible  <bruno@clisp.org>
2798
2799         Override netdb.h always.
2800         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
2801         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
2802         Reported by Ludovic Courtès <ludo@gnu.org>.
2803
2804 2010-04-15  Bruno Haible  <bruno@clisp.org>
2805
2806         openpty: Fix mistake from 2010-03-21.
2807         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
2808         Reported by Simon Josefsson.
2809
2810 2010-04-15  Eric Blake  <eblake@redhat.com>
2811
2812         test-forkpty: fix expected signature
2813         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
2814         Reported by Simon Josefsson.
2815
2816 2010-04-15  Jim Meyering  <meyering@redhat.com>
2817
2818         maint.mk: texinfo_suffix_re_: correct the default regexp
2819         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
2820
2821         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
2822         make it configurable via texinfo_suffix_re_.
2823
2824 2010-04-14  Eric Blake  <eblake@redhat.com>
2825
2826         strtok_r: relax license to LGPLv2+
2827         * modules/strtok_r (License): Relax license.
2828         Reported by Matthias Bolte.
2829
2830 2010-04-14  Simon Josefsson  <simon@josefsson.org>
2831
2832         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
2833         version 1.4.4 by default instead of requiring the libgcrypt
2834         version used during build.  This makes it possible to use the
2835         application with older but still binary compatible libgcrypt
2836         versions.
2837
2838 2010-04-13  Eric Blake  <eblake@redhat.com>
2839
2840         getopt-gnu: match recent glibc fixes and posix ruling
2841         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
2842         '+' handling, when requesting extensions.
2843         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
2844         'W;' handling.
2845         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
2846         * doc/posix-functions/getopt.texi (getopt): Document this.
2847         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
2848         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
2849         Likewise.
2850
2851         getopt: merge bug fixes from glibc
2852         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
2853         diagnostics.  Honor '+:' correctly.  Reject ';'.
2854
2855         getopt-posix: detect MacOS bug
2856         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
2857         optind when missing a required argument.
2858         * doc/posix-functions/getopt.texi (getopt): Document the bug.
2859         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
2860         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
2861         Likewise.
2862
2863         getopt-posix: avoid spurious failure on Solaris
2864         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
2865         an indicator that setting optind=1 is sufficient for reset.
2866
2867         getopt-posix: avoid spurious failure on FreeBSD
2868         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
2869         in POSIX mode, since the m4 test uses it.
2870
2871         gnulib-tool: silence warning on BSD sh
2872         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
2873
2874 2010-04-13  Jim Meyering  <meyering@redhat.com>
2875
2876         doc: users.txt: GNU patch now uses gnulib
2877         * users.txt: Add patch.
2878
2879 2010-04-12  Jim Meyering  <meyering@redhat.com>
2880
2881         maint.mk: generate more concise timing data for syntax-check rules
2882         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
2883         " done" from each line that reports a syntax-check test duration.
2884
2885 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
2886
2887         git-version-gen: use "git update-index..." rather than "git status"
2888         * build-aux/git-version-gen: Use git update-index --refresh, not
2889         "git status".  With some versions of git, "git status" would fail
2890         to update the index and result in an unwarranted "-dirty" suffix.
2891
2892 2010-04-11  Jim Meyering  <meyering@redhat.com>
2893
2894         openat: correct formatting (no semantic change)
2895         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
2896         Suggested by Bruno Haible.
2897
2898 2010-04-11  Bruno Haible  <bruno@clisp.org>
2899
2900         Stricter declaration checking in testdirs.
2901         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
2902         If for_tests is true, augment AM_CPPFLAGS to define
2903         GNULIB_STRICT_CHECKING.
2904         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
2905         GNULIB_STRICT_CHECKING is defined, verify that the function is
2906         declared.
2907
2908 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
2909             Bruno Haible  <bruno@clisp.org>
2910
2911         libunistring: Improve configure output.
2912         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
2913         Don't say "consider installing GNU libunistring" when checking again
2914         with libiconv.
2915
2916 2010-04-11  Bruno Haible  <bruno@clisp.org>
2917
2918         libunistring: Correct value of $LTLIBUNISTRING.
2919         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
2920         correct the value of $LTLIBUNISTRING.
2921
2922 2010-04-11  Bruno Haible  <bruno@clisp.org>
2923
2924         havelib: Add static libraries to LIBS in the right order.
2925         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
2926         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
2927
2928 2010-04-11  Bruno Haible  <bruno@clisp.org>
2929
2930         libunistring: Detect libunistring also when it depends on libiconv.
2931         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
2932         the second AC_LIB_HAVE_LINKFLAGS invocation.
2933
2934 2010-04-11  James Youngman  <jay@gnu.org>
2935
2936         close-stream: declare local scalars to be "const"
2937         * lib/close-stream.c (close_stream): Make boolean variables const
2938         to document the fact that we set but do not change them.
2939
2940 2010-04-11  Bruno Haible  <bruno@clisp.org>
2941
2942         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
2943
2944 2010-04-11  Jim Meyering  <meyering@redhat.com>
2945
2946         maint.mk: don't include dist-check.mk
2947         * top/maint.mk: Remove bogus include directive.
2948
2949         maint.mk: improve empty-line-at-EOF check
2950         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
2951         solution, rather than tail+Perl-based one.  The latter would read
2952         a few kilobytes from the end of each file, and did not handle empty
2953         files properly.
2954
2955         maint.mk: print the elapsed time for each syntax-check rule
2956         * top/maint.mk (sc_m_rules_): Save start time in a file.
2957         (sc_z_rules_): New rules: remove temp file and print elapsed time.
2958         (local-check): Interpose the .z rules
2959
2960 2010-04-11  Jim Meyering  <meyering@redhat.com>
2961
2962         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
2963         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
2964         empty file with one that ends in an empty line.
2965
2966 2010-04-10  Bruno Haible  <bruno@clisp.org>
2967
2968         mkdir: Make it work on mingw64.
2969         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
2970         * lib/mkdir.c: Update comment.
2971         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
2972
2973 2010-04-10  Bruno Haible  <bruno@clisp.org>
2974
2975         Don't override improved macro from newer autoconf.
2976         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
2977         autoconf >= 2.62.
2978         Reported by Joel E. Denny <jdenny@clemson.edu>.
2979
2980 2010-04-10  Jim Meyering  <meyering@redhat.com>
2981
2982         maint.mk: new syntax-check rule: prohibit empty lines at end of file
2983         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
2984
2985         maint.mk: correct a diagnostic
2986         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
2987         in diagnostic; now use $prohibit.
2988
2989 2010-04-10  Bruno Haible  <address@hidden>
2990
2991         fchownat: Fix a C++ test error on Solaris 8.
2992         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
2993         the function does not exist.
2994
2995 2010-04-10  Bruno Haible  <bruno@clisp.org>
2996
2997         vasnprintf: Add more tests.
2998         * tests/test-vasnprintf-posix.c: Include <errno.h>.
2999         (test_function): Test converting an invalid wide string.
3000
3001         vasnprintf: Correct handling of unconvertible wide string arguments.
3002         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
3003         VASNPRINTF.
3004         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
3005         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
3006         smaller than the expected maximum need for the directive. Set errno to
3007         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
3008         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
3009         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
3010         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
3011         * modules/vasnprintf (Files): Add m4/printf.m4.
3012         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
3013
3014 2010-04-10  Bruno Haible  <bruno@clisp.org>
3015
3016         vasnprintf: Fix crash in %ls directive.
3017         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
3018         string is passed as argument to %ls, with no precision and no width.
3019         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
3020
3021 2010-04-10  Bruno Haible  <bruno@clisp.org>
3022
3023         vasnprintf: Fix multiple test failures on mingw.
3024         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
3025         _snprintf, or snwprintf, not _snwprintf.
3026
3027 2010-04-10  Bruno Haible  <bruno@clisp.org>
3028
3029         write: Fix a C++ test error on mingw.
3030         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
3031
3032 2010-04-10  Bruno Haible  <bruno@clisp.org>
3033
3034         vasnprintf test: Reduce code duplication.
3035         * tests/test-vasnprintf.c (test_function): New function, extracted from
3036         test_vasnprintf.
3037         (test_vasnprintf, test_asnprintf): Invoke it.
3038
3039 2010-04-10  Bruno Haible  <bruno@clisp.org>
3040
3041         strnlen: Fix warning in C++ mode on MacOS X.
3042         * lib/string.in.h (strnlen): Use the modern idiom.
3043         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
3044         defining strnlen as a macro already in <config.h>.
3045         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
3046         REPLACE_STRNLEN.
3047         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
3048         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
3049
3050 2010-04-08  James Youngman  <jay@gnu.org>
3051
3052         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
3053         the example.
3054
3055 2010-04-09  Jim Meyering  <meyering@redhat.com>
3056
3057         maint.mk: print better diagnostic when there is no $(_hv_file)
3058         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
3059         announce that when $(_hv_file) (aka help-version) does not exist.
3060
3061         init.sh: run tr in the "C" locale to avoid multibyte interpretation
3062         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
3063         not try to interpret its random input bytes.  Jarno Rajahalme reported
3064         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
3065         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
3066         (mktempd_): Likewise, just in case.
3067
3068         ftruncate: add two years to projected module removal date: 2012
3069         * m4/ftruncate.m4: Adjust comments.
3070
3071         ftruncate: mark module as obsolete; even MinGW provides it, now
3072         * modules/ftruncate (Status): Obsolete.
3073         (Notice): Say that.
3074         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
3075         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
3076
3077 2010-04-08  Bruno Haible  <bruno@clisp.org>
3078
3079         Fix side effects from tests-related modules.
3080         * modules/dprintf-posix (Comment): New section.
3081         * modules/fprintf-posix (Comment): Likewise.
3082         * modules/obstack-printf-posix (Comment): Likewise.
3083         * modules/printf-posix (Comment): Likewise.
3084         * modules/snprintf-posix (Comment): Likewise.
3085         * modules/sprintf-posix (Comment): Likewise.
3086         * modules/vasnprintf-posix (Comment): Likewise.
3087         * modules/vasprintf-posix (Comment): Likewise.
3088         * modules/vdprintf-posix (Comment): Likewise.
3089         * modules/vfprintf-posix (Comment): Likewise.
3090         * modules/vprintf-posix (Comment): Likewise.
3091         * modules/vsnprintf-posix (Comment): Likewise.
3092         * modules/vsprintf-posix (Comment): Likewise.
3093         * modules/xprintf-posix (Comment): Likewise.
3094         * modules/xvasprintf-posix (Comment): Likewise.
3095         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
3096         * modules/floorf-tests (Depends-on): Likewise.
3097         * modules/round-tests (Depends-on): Likewise.
3098         * modules/roundf-tests (Depends-on): Likewise.
3099         * modules/trunc-tests (Depends-on): Likewise.
3100         * modules/truncf-tests (Depends-on): Likewise.
3101         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
3102         'fprintf-posix' module is not present.
3103         * tests/test-floorf2.c (check): Likewise.
3104         * tests/test-trunc2.c (check): Likewise.
3105         * tests/test-truncf2.c (check): Likewise.
3106         * tests/test-round2.c (equal): Likewise.
3107         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
3108
3109 2010-04-07  Karl Berry  <karl@gnu.org>
3110
3111         * config/srclist.txt,
3112         * config/srclistvars.sh,
3113         * config/srclist-update: doc fixes.
3114
3115 2010-04-07  Jim Meyering  <meyering@redhat.com>
3116
3117         maint.mk: add a PATH crosschecking syntax-check rule
3118         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
3119         Useful if you use a test like the one in help-version (coreutils,
3120         diffutils, grep, gzip) that ensures $(VERSION) matches what is
3121         printed by prog --version.
3122
3123 2010-04-06  Bruno Haible  <bruno@clisp.org>
3124
3125         Fix link error on mingw.
3126         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
3127         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
3128
3129 2010-04-06  Bruno Haible  <bruno@clisp.org>
3130
3131         Assume rmdir exists.
3132         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
3133
3134 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
3135
3136         doc: update users.txt
3137         * users.txt: Add gcal.
3138
3139 2010-04-06  Jim Meyering  <meyering@redhat.com>
3140
3141         init.sh: simply unset TMPDIR rather than risking env -i
3142         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
3143         although it probably works fine on all Unix-based systems, some
3144         systems (Cygwin?) cannot tolerate a totally cleared environment.
3145         Suggestion from Eric Blake.
3146
3147 2010-04-06  Jim Meyering  <meyering@redhat.com>
3148
3149         init.sh: portability fix: use env's POSIX-specified -i option not -u
3150         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
3151         than unportable env -u.  Solaris 5.11's env lacks support for -u.
3152
3153 2010-04-05  Bruno Haible  <bruno@clisp.org>
3154
3155         btowc: Work around Cygwin 1.7.2 bug.
3156         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
3157         does not map NUL to 0.
3158         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
3159
3160 2010-04-05  Bruno Haible  <bruno@clisp.org>
3161
3162         Make the multithread modules work on Cygwin 1.7.2.
3163         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
3164         imported symbols can be declared weak, so that it returns "no" on
3165         Cygwin 1.7.2.
3166
3167 2010-04-05  Bruno Haible  <bruno@clisp.org>
3168
3169         Use the module 'strncat'.
3170         * modules/unistr/u8-strncat (Depends-on): Add strncat.
3171
3172         Tests for module 'strncat'.
3173         * modules/strncat-tests: New file.
3174         * tests/test-strncat.c: New file.
3175
3176         New module 'strncat'.
3177         * lib/string.in.h (strncat): New declaration.
3178         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
3179         * m4/strncat.m4: New file, based on m4/memchr.m4.
3180         * modules/strncat: New file.
3181         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
3182         is declared.
3183         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
3184         REPLACE_STRNCAT.
3185         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
3186         REPLACE_STRNCAT.
3187         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
3188         module.
3189         * tests/test-string-c++.cc: Check signature of strncat.
3190
3191 2010-04-05  Jim Meyering  <meyering@redhat.com>
3192
3193         xstrtoumax-tests: convert to use init.sh
3194         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
3195         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
3196         Use Exit, not exit.
3197         Remove uses of $EXEEXT and "./" to run a program in the current dir.
3198
3199         xstrtoimax-tests: convert to use init.sh
3200         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
3201         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
3202         Use Exit, not exit.
3203         Remove uses of $EXEEXT and "./" to run a program in the current dir.
3204
3205 2010-04-05  Bruno Haible  <bruno@clisp.org>
3206
3207         sys_socket: Avoid #define replacements in C++ mode.
3208         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
3209         warning to the function if possible, rather than #defining the symbol
3210         to a dysfunctional alias.
3211
3212 2010-04-05  Bruno Haible  <bruno@clisp.org>
3213
3214         fseeko: Fix C++ test error on mingw.
3215         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
3216         gl_FUNC_FSEEKO.
3217         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
3218         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
3219         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
3220         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
3221
3222 2010-04-05  Bruno Haible  <bruno@clisp.org>
3223
3224         duplocale: Improve test output.
3225         * tests/test-duplocale.c (main): Print reason for skipped test.
3226
3227 2010-04-05  Bruno Haible  <bruno@clisp.org>
3228
3229         Assume rmdir exists.
3230         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
3231         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
3232
3233 2010-04-05  Bruno Haible  <bruno@clisp.org>
3234
3235         Fix link error on Solaris 8 with cc.
3236         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
3237
3238 2010-04-05  Bruno Haible  <bruno@clisp.org>
3239
3240         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
3241         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
3242
3243 2010-04-05  Bruno Haible  <bruno@clisp.org>
3244
3245         vasprintf: Update documentation.
3246         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
3247
3248 2010-04-05  Bruno Haible  <bruno@clisp.org>
3249
3250         ptsname: Improve test.
3251         * tests/test-ptsname.c (main): Also try the various master names of BSD
3252         systems.
3253
3254 2010-04-05  Bruno Haible  <bruno@clisp.org>
3255
3256         memchr: Avoid a possible C++ test error.
3257         * lib/string.in.h (memchr): Provide declaration if function is missing.
3258         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
3259         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
3260         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
3261         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
3262
3263 2010-04-05  Bruno Haible  <bruno@clisp.org>
3264
3265         strtok_r: Improve idiom.
3266         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
3267         AC_LIBOBJ is used.
3268
3269 2010-04-05  Bruno Haible  <bruno@clisp.org>
3270
3271         strdup: Improve idiom.
3272         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
3273         AC_LIBOBJ is used.
3274         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
3275         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
3276         when AC_LIBOBJ is used.
3277
3278 2010-04-05  Bruno Haible  <bruno@clisp.org>
3279
3280         mbsinit, mbrtowc, wcrtomb: Improve idioms.
3281         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
3282         don't set REPLACE_MBSINIT to 1.
3283         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
3284         don't set REPLACE_MBRTOWC to 1.
3285         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
3286         exist, don't set REPLACE_MBSRTOWCS to 1.
3287         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
3288         exist, don't set REPLACE_MBSNRTOWCS to 1.
3289         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
3290         don't set REPLACE_WCRTOMB to 1.
3291         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
3292         exist, don't set REPLACE_WCSRTOMBS to 1.
3293         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
3294         exist, don't set REPLACE_WCSNRTOMBS to 1.
3295
3296 2010-04-05  Bruno Haible  <bruno@clisp.org>
3297
3298         ldexpl: Improve idiom.
3299         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
3300         make sure to set HAVE_DECL_LDEXPL to 0.
3301
3302 2010-04-05  Jim Meyering  <meyering@redhat.com>
3303
3304         xstrtol-tests: convert to use init.sh
3305         * modules/xstrtol-tests (Files): Add tests/init.sh.
3306         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
3307         Use Exit, not exit.
3308         Remove uses of $EXEEXT and "./" to run a program in the current dir.
3309
3310         atexit-tests: convert to use init.sh
3311         * modules/atexit-tests (Files): Add tests/init.sh.
3312         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
3313         Use Exit, not exit.
3314         Remove uses of $EXEEXT and "./" to run a program in the current dir.
3315
3316         init.sh: fix typo
3317         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
3318
3319         init.sh: make it easier for a test script to write to the tty, ...
3320         when using automake's parallel-tests mode.
3321         * tests/init.sh (stderr_fileno_): Define overridable variable.
3322         (warn_): New function, to use it.
3323         (fail_, skip_, framework_failure_): Use warn_.
3324
3325 2010-04-04  Bruno Haible  <bruno@clisp.org>
3326
3327         btowc: Avoid warning.
3328         * lib/btowc.c: Include <stdlib.h>.
3329         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
3330
3331 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
3332             Bruno Haible  <bruno@clisp.org>
3333
3334         wchar: Port to NetBSD 1.5.
3335         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
3336         * lib/wctype.in.h (WEOF): Likewise.
3337
3338 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
3339             Bruno Haible  <bruno@clisp.org>
3340
3341         Port extended stdio to NetBSD 1.5.
3342         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
3343         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
3344         older.
3345
3346 2010-04-04  Bruno Haible  <bruno@clisp.org>
3347
3348         string: Remove unused substitution.
3349         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
3350         HAVE_DECL_STRERROR.
3351         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
3352
3353 2010-04-04  Bruno Haible  <bruno@clisp.org>
3354
3355         strtod: Avoid a possible C++ test error.
3356         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
3357         set REPLACE_STRTOD.
3358
3359 2010-04-04  Bruno Haible  <bruno@clisp.org>
3360
3361         strerror: Update documentation.
3362         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
3363
3364 2010-04-04  Bruno Haible  <bruno@clisp.org>
3365
3366         stdio: Fix some C++ test errors on Solaris 8 with GCC.
3367         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
3368         _GL_CXXALIAS_SYS_CAST.
3369
3370 2010-04-04  Bruno Haible  <bruno@clisp.org>
3371
3372         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
3373         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
3374         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
3375         REPLACE_FREXPL to 1.
3376         * doc/posix-functions/frexpl.texi: Update documentation.
3377
3378 2010-04-04  Bruno Haible  <bruno@clisp.org>
3379
3380         math: Fix some C++ test errors on Solaris 8 and Cygwin.
3381         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
3382
3383 2010-04-04  Bruno Haible  <bruno@clisp.org>
3384
3385         Implement nanosleep for native Windows.
3386         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
3387
3388 2010-04-04  Bruno Haible  <bruno@clisp.org>
3389
3390         math: Fix some C++ test errors on Solaris 8.
3391         * lib/math.in.h (truncf, trunc): Use simpler idiom.
3392
3393 2010-04-04  Bruno Haible  <bruno@clisp.org>
3394
3395         math: Fix some C++ test errors on Cygwin.
3396         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
3397         truncl): Provide declaration if the system does not have it.
3398         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
3399         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
3400         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
3401         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
3402         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
3403         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
3404         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
3405         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
3406         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
3407         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
3408         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
3409         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
3410         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
3411         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
3412         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
3413         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
3414         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
3415         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
3416         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
3417         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
3418         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
3419         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
3420
3421 2010-04-04  Bruno Haible  <bruno@clisp.org>
3422
3423         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
3424         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
3425         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
3426         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
3427         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
3428         * m4/isinf.m4 (gl_ISINF): Likewise.
3429         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
3430
3431 2010-04-04  Bruno Haible  <bruno@clisp.org>
3432
3433         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
3434         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
3435
3436 2010-04-04  Bruno Haible  <bruno@clisp.org>
3437
3438         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
3439         * modules/tmpfile (configure.ac): Update.
3440
3441         tmpfile: Fix C++ test error on mingw.
3442         * lib/stdio.in.h (tmpfile): New declaration.
3443         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
3444         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
3445         * modules/tmpfile (Depends-on): Add stdio.
3446         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
3447         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
3448         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
3449         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
3450         REPLACE_TMPFILE.
3451         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
3452
3453 2010-04-04  Bruno Haible  <bruno@clisp.org>
3454
3455         ioctl: Fix C++ test error on mingw.
3456         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
3457         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
3458         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
3459
3460 2010-04-03  Bruno Haible  <bruno@clisp.org>
3461
3462         wcwidth: Fix C++ test error on mingw.
3463         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
3464         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
3465         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
3466
3467 2010-04-03  Bruno Haible  <bruno@clisp.org>
3468
3469         nanosleep: Fix C++ test error on mingw.
3470         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
3471         * lib/time.in.h (nanosleep): Use modern idiom.
3472         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
3473         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
3474         REPLACE_NANOSLEEP to 1.
3475         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
3476         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
3477
3478 2010-04-03  Bruno Haible  <bruno@clisp.org>
3479
3480         strptime: Fix C++ test error on mingw.
3481         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
3482         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
3483         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
3484         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
3485         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
3486         not REPLACE_STRPTIME.
3487         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
3488         REPLACE_STRPTIME.
3489
3490 2010-04-03  Bruno Haible  <bruno@clisp.org>
3491
3492         timegm: Fix C++ test error on mingw.
3493         * lib/time.in.h (timegm): Use modern idiom.
3494         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
3495         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
3496         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
3497         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
3498
3499 2010-04-03  Bruno Haible  <bruno@clisp.org>
3500
3501         timegm: Assume declaration if function exists.
3502         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
3503         if it exists. Don't clobber ac_cv_func_timegm.
3504
3505 2010-04-03  Bruno Haible  <bruno@clisp.org>
3506
3507         time_r: Fix C++ test error on mingw.
3508         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
3509         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
3510         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
3511         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
3512         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
3513
3514 2010-04-03  Bruno Haible  <bruno@clisp.org>
3515
3516         time_r: Minor updates.
3517         * modules/time_r (Description): Mention the provided functions.
3518         * lib/time_r.c: Don't include <string.h>.
3519         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
3520         * doc/posix-functions/localtime_r.texi: Likewise.
3521
3522 2010-04-03  Bruno Haible  <bruno@clisp.org>
3523
3524         time: Fix regression introduced on 2010-03-08.
3525         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
3526         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
3527
3528 2010-04-03  Jim Meyering  <meyering@redhat.com>
3529
3530         maint.mk: don't silently disable project-specific syntax-check rules
3531         * top/maint.mk (_prohibit_regexp): Define, to help people realize
3532         that they need to convert their project-specific syntax-check rules
3533         to use the new _sc_search_regexp.
3534
3535 2010-04-03  Bruno Haible  <bruno@clisp.org>
3536
3537         fchdir: Fix regression introduced on 2010-03-08.
3538         * lib/unistd.in.h (fchdir): Fix declaration.
3539         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
3540         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
3541         REPLACE_FCHDIR.
3542         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
3543         REPLACE_FCHDIR.
3544
3545 2010-04-03  Bruno Haible  <bruno@clisp.org>
3546
3547         getpagesize: Fix C++ test error on mingw.
3548         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
3549         system does not declare the function.
3550         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
3551         declared.
3552         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
3553         HAVE_DECL_GETPAGESIZE.
3554         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
3555
3556 2010-04-03  Bruno Haible  <bruno@clisp.org>
3557
3558         stdio: Make C++ tests work on mingw.
3559         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
3560         does not declare the function.
3561
3562 2010-04-03  Bruno Haible  <bruno@clisp.org>
3563
3564         ftello: Fix C++ test error on mingw.
3565         * lib/stdio.in.h (ftello): Use modern idiom.
3566         * lib/ftello.c (ftello): Renamed from rpl_ftello.
3567         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
3568         is missing and that it needs to be replaced.
3569         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
3570         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
3571         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
3572
3573 2010-04-03  Bruno Haible  <bruno@clisp.org>
3574
3575         fseeko: Fix C++ test error on mingw.
3576         * lib/stdio.in.h (fseeko): Use modern idiom.
3577         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
3578         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
3579         is missing and that it needs to be replaced.
3580         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
3581         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
3582         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
3583
3584 2010-04-03  Bruno Haible  <bruno@clisp.org>
3585
3586         mkstemp: Fix C++ test error on mingw.
3587         * lib/stdlib.in.h (mkstemp): Use modern idiom.
3588         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
3589         function is missing and that it needs to be replaced.
3590         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
3591         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
3592
3593 2010-04-03  Bruno Haible  <bruno@clisp.org>
3594
3595         stpncpy: Fix C++ test error on mingw.
3596         * lib/string.in.h (stpncpy): Use modern idiom.
3597         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
3598         function is missing and that it needs to be replaced.
3599         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
3600         REPLACE_STPNCPY.
3601         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
3602
3603 2010-04-03  Bruno Haible  <bruno@clisp.org>
3604
3605         sys_stat: Fix C++ test error on mingw.
3606         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
3607         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
3608
3609 2010-04-03  Bruno Haible  <bruno@clisp.org>
3610
3611         pty: Update doc.
3612         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
3613
3614 2010-04-03  Bruno Haible  <bruno@clisp.org>
3615
3616         unistd: Fix C++ test error on mingw.
3617         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
3618
3619 2010-04-03  Bruno Haible  <bruno@clisp.org>
3620
3621         Update doc regarding mingw.
3622         * doc/glibc-functions/openpty.texi: Update regarding mingw.
3623         * doc/glibc-functions/login_tty.texi: Likewise.
3624         * doc/glibc-functions/forkpty.texi: Likewise.
3625
3626 2010-04-03  Bruno Haible  <bruno@clisp.org>
3627
3628         stdlib: Avoid compilation failure of c-strtold on mingw.
3629         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
3630
3631 2010-04-03  Bruno Haible  <bruno@clisp.org>
3632
3633         locale: Make C++ tests work on Cygwin and mingw.
3634         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
3635         cannot provide the function.
3636         Reported by Simon Josefsson.
3637
3638 2010-04-03  Bruno Haible  <bruno@clisp.org>
3639
3640         localename: Port to MacOS X 10.6.
3641         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
3642         memory layout of the locales in MacOS X 10.6 as well.
3643         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
3644
3645 2010-04-02  Bruno Haible  <bruno@clisp.org>
3646
3647         gnulib-tool: Ensure that long-running tests are executed last.
3648         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
3649         running tests after the one for the other tests.
3650
3651 2010-04-02  Bruno Haible  <bruno@clisp.org>
3652
3653         gnulib-tool: Ensure the tests in the main directory are executed first.
3654         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
3655         start with the current directory.
3656
3657 2010-04-02  Bruno Haible  <bruno@clisp.org>
3658
3659         Tests for module 'havelib', moved here from GNU gettext.
3660         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
3661         modifications.
3662         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
3663         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
3664         with modifications.
3665         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
3666         modifications.
3667         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
3668         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
3669         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
3670         with modifications.
3671         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
3672         with modifications.
3673         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
3674         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
3675         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
3676         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
3677         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
3678         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
3679         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
3680         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
3681         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
3682         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
3683         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
3684         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
3685         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
3686         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
3687         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
3688         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
3689         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
3690         with modifications.
3691         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
3692         with modifications.
3693         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
3694         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
3695         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
3696         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
3697         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
3698         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
3699         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
3700         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
3701         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
3702         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
3703         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
3704         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
3705         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
3706         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
3707         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
3708         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
3709         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
3710         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
3711         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
3712         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
3713         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
3714         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
3715         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
3716         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
3717         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
3718         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
3719         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
3720         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
3721         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
3722         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
3723         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
3724         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
3725         * tests/havelib/rpathx/rpathx.c: New file, from
3726         gettext/autoconf-lib-link.
3727         * tests/havelib/rpathx/Makefile.am: New file, from
3728         gettext/autoconf-lib-link.
3729         * tests/havelib/rpathx/configure.ac: New file, from
3730         gettext/autoconf-lib-link with modifications.
3731         * tests/havelib/rpathy/rpathy.c: New file, from
3732         gettext/autoconf-lib-link.
3733         * tests/havelib/rpathy/Makefile.am: New file, from
3734         gettext/autoconf-lib-link.
3735         * tests/havelib/rpathy/configure.ac: New file, from
3736         gettext/autoconf-lib-link with modifications.
3737         * tests/havelib/rpathz/rpathz.c: New file, from
3738         gettext/autoconf-lib-link.
3739         * tests/havelib/rpathz/Makefile.am: New file, from
3740         gettext/autoconf-lib-link.
3741         * tests/havelib/rpathz/configure.ac: New file, from
3742         gettext/autoconf-lib-link with modifications.
3743         * tests/havelib/rpathlx/usex.c: New file, from
3744         gettext/autoconf-lib-link.
3745         * tests/havelib/rpathlx/Makefile.am: New file, from
3746         gettext/autoconf-lib-link.
3747         * tests/havelib/rpathlx/configure.ac: New file, from
3748         gettext/autoconf-lib-link with modifications.
3749         * tests/havelib/rpathly/usey.c: New file, from
3750         gettext/autoconf-lib-link.
3751         * tests/havelib/rpathly/Makefile.am: New file, from
3752         gettext/autoconf-lib-link.
3753         * tests/havelib/rpathly/configure.ac: New file, from
3754         gettext/autoconf-lib-link with modifications.
3755         * tests/havelib/rpathlz/usez.c: New file, from
3756         gettext/autoconf-lib-link.
3757         * tests/havelib/rpathlz/Makefile.am: New file, from
3758         gettext/autoconf-lib-link.
3759         * tests/havelib/rpathlz/configure.ac: New file, from
3760         gettext/autoconf-lib-link with modifications.
3761         * tests/havelib/rpathlyx/usey.c: New file, from
3762         gettext/autoconf-lib-link.
3763         * tests/havelib/rpathlyx/Makefile.am: New file, from
3764         gettext/autoconf-lib-link.
3765         * tests/havelib/rpathlyx/configure.ac: New file, from
3766         gettext/autoconf-lib-link with modifications.
3767         * tests/havelib/rpathlzyx/usez.c: New file, from
3768         gettext/autoconf-lib-link.
3769         * tests/havelib/rpathlzyx/Makefile.am: New file, from
3770         gettext/autoconf-lib-link.
3771         * tests/havelib/rpathlzyx/configure.ac: New file, from
3772         gettext/autoconf-lib-link with modifications.
3773         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
3774         with modifications.
3775
3776 2010-04-02  Bruno Haible  <bruno@clisp.org>
3777
3778         gnulib-tool: Create distributed built sources also for the tests.
3779         * gnulib-tool (func_create_testdir): Also generate distributed built
3780         sources in the tests directory.
3781
3782 2010-04-02  Bruno Haible  <bruno@clisp.org>
3783
3784         gnulib-tool: Obey user's environment variables.
3785         * gnulib-tool (func_create_testdir): When creating built sources,
3786         respect the environment variables for autoconf, automake, etc. given by
3787         the user.
3788
3789 2010-04-02  Bruno Haible  <bruno@clisp.org>
3790
3791         gnulib-tool: Provide the value of --m4-base to modules.
3792         * gnulib-tool (func_import, func_create_testdir): Emit a definition
3793         of gl_m4_base.
3794
3795 2010-04-02  Eric Blake  <eblake@redhat.com>
3796
3797         maint.mk: fix some fallout
3798         * NEWS: Document the incompatible change, and its effect on cfg.mk.
3799         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
3800
3801 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
3802
3803         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
3804         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
3805         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
3806         (sc_cast_of_x_alloc_return_value): Likewise.
3807         (sc_cast_of_alloca_return_value): Likewise.
3808         (sc_space_tab): Likewise.
3809         (sc_prohibit_atoi_atof): Likewise.
3810         (sc_prohibit_magic_number_exit): Likewise.
3811         (sc_error_exit_success): Likewise.
3812         (sc_file_system): Likewise.
3813         (sc_prohibit_have_config_h): Likewise.
3814         (sc_require_config_h): Likewise.
3815         (sc_prohibit_HAVE_MBRTOWC): Likewise.
3816         (sc_obsolete_symbols): Likewise.
3817         (sc_changelog): Likewise.
3818         (sc_program_name): Likewise.
3819         (sc_the_the): Likewise.
3820         (sc_trailing_blank): Likewise.
3821         (sc_two_space_separator_in_usage): Likewise.
3822         (sc_useless_cpp_parens): Likewise.
3823         (sc_GPL_version): Likewise.
3824         (sc_GFDL_version): Likewise.
3825         (sc_texinfo_acronym): Likewise.
3826         (sc_prohibit_cvs_keyword): Likewise.
3827         (sc_prohibit_stat_st_blocks): Likewise.
3828         (sc_prohibit_S_IS_definition): Likewise.
3829         (sc_redundant_const): Likewise.
3830         (sc_makefile_TAB_only_indentation): Likewise.
3831         (sc_m4_quote_check): Likewise.
3832         (sc_makefile_path_separator_check): Likewise.
3833         (sc_copyright_check): Likewise.
3834         (sc_Wundef_boolean): Likewise.
3835         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
3836
3837         maint.mk: match 0 or more whitespace-before-function-call '('
3838         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
3839         that have zero or two-and-more spaces between the function name
3840         and the open parenthesis.
3841         (sc_error_message_warn_fatal): Likewise.
3842         (sc_error_message_uppercase): Likewise.
3843         (sc_error_message_period): Likewise.
3844
3845 2010-03-31  Eric Blake  <eblake@redhat.com>
3846
3847         maint.mk: check for [ as well as test
3848         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
3849         Based on a libvirt report by Matthias Bolte.
3850
3851         gnumakefile: don't squelch _version output
3852         * top/GNUmakefile (_version): Create one-shot dependency rather
3853         than using $(shell) when version must be regenerated.
3854         (_autoreconf): Run verbosely, by default.
3855
3856         sys_time: avoid compiler warnings
3857         * lib/sys_time.in.h (includes): Ensure gcc pragma is
3858         unconditional, fixing regression from 2010-03-29.
3859         Reported by Simon Josefsson.
3860
3861 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
3862
3863         maint.mk: s/_header_without_use/_sc_header_without_use/
3864         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
3865         (sc_prohibit_assert_without_use): Use the new name.
3866         (sc_prohibit_close_stream_without_use): Likewise.
3867         (sc_prohibit_getopt_without_use): Likewise.
3868         (sc_prohibit_quotearg_without_use): Likewise.
3869         (sc_prohibit_quote_without_use): Likewise.
3870         (sc_prohibit_long_options_without_use): Likewise.
3871         (sc_prohibit_inttostr_without_use): Likewise.
3872         (sc_prohibit_ignore_value_without_use): Likewise.
3873         (sc_prohibit_error_without_use): Likewise.
3874         (sc_prohibit_xalloc_without_use): Likewise.
3875         (sc_prohibit_hash_without_use): Likewise.
3876         (sc_prohibit_hash_pjw_without_use): Likewise.
3877         (sc_prohibit_safe_read_without_use): Likewise.
3878         (sc_prohibit_argmatch_without_use): Likewise.
3879         (sc_prohibit_canonicalize_without_use): Likewise.
3880         (sc_prohibit_root_dev_ino_without_use): Likewise.
3881         (sc_prohibit_openat_without_use): Likewise.
3882         (sc_prohibit_c_ctype_without_use): Likewise.
3883         (sc_prohibit_signal_without_use): Likewise.
3884         (sc_prohibit_intprops_without_use): Likewise.
3885
3886 2010-03-30  Eric Blake  <eblake@redhat.com>
3887
3888         maint: improve module indicators
3889         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
3890         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
3891         columns, and avoid extra macro expansion.
3892
3893         fdopendir: work around FreeBSD bug
3894         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
3895         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
3896         * modules/dirent (Makefile.am): Substitute it.
3897         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
3898         declaration.
3899         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
3900         fix.
3901         Reported by Christian Weisgerber <naddy@mips.inka.de>.
3902
3903 2010-03-29  Bruno Haible  <bruno@clisp.org>
3904
3905         Emit #pragma system_header after the inclusion guard, not before.
3906         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
3907         guard that spans the entire file, not before. This enables an
3908         optimization in GCC's preprocessor.
3909         * lib/ctype.in.h: Likewise.
3910         * lib/dirent.in.h: Likewise.
3911         * lib/errno.in.h: Likewise.
3912         * lib/float.in.h: Likewise.
3913         * lib/getopt.in.h: Likewise.
3914         * lib/iconv.in.h: Likewise.
3915         * lib/langinfo.in.h: Likewise.
3916         * lib/locale.in.h: Likewise.
3917         * lib/math.in.h: Likewise.
3918         * lib/netdb.in.h: Likewise.
3919         * lib/netinet_in.in.h: Likewise.
3920         * lib/pty.in.h: Likewise.
3921         * lib/sched.in.h: Likewise.
3922         * lib/se-selinux.in.h: Likewise.
3923         * lib/search.in.h: Likewise.
3924         * lib/spawn.in.h: Likewise.
3925         * lib/stdarg.in.h: Likewise.
3926         * lib/stdint.in.h: Likewise.
3927         * lib/string.in.h: Likewise.
3928         * lib/strings.in.h: Likewise.
3929         * lib/sys_file.in.h: Likewise.
3930         * lib/sys_ioctl.in.h: Likewise.
3931         * lib/sys_time.in.h: Likewise.
3932         * lib/sys_times.in.h: Likewise.
3933         * lib/sys_utsname.in.h: Likewise.
3934         * lib/sys_wait.in.h: Likewise.
3935         * lib/sysexits.in.h: Likewise.
3936         * lib/wctype.in.h: Likewise.
3937
3938 2010-03-28  James Youngman  <jay@gnu.org>
3939
3940         save-cwd: don't leak a file descriptor when the caller execs.
3941         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
3942         saved file descriptor.
3943         * modules/save-cwd (Depends-on): Depend on cloexec.
3944
3945 2010-03-29  Bruno Haible  <bruno@clisp.org>
3946
3947         Remove vestiges of fts-lgpl module.
3948         * lib/fts_.h: Assume GNULIB_FTS is 1.
3949         * lib/fts.c: Likewise.
3950         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
3951
3952 2010-03-28  Bruno Haible  <bruno@clisp.org>
3953
3954         Fix definition of tests witness macro.
3955         * gnulib-tool (func_import): Fix definition of witness macro.
3956
3957 2010-03-28  Bruno Haible  <bruno@clisp.org>
3958
3959         Fix ioctl's protoype on glibc systems.
3960         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
3961         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
3962         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
3963         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
3964         signature. If not, arrange to replace the ioctl function.
3965         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
3966         REPLACE_IOCTL.
3967         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
3968         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
3969         Reported by Ludovic Courtès <ludo@gnu.org>.
3970
3971 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
3972
3973         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
3974         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
3975         made it so grep -r --include=GLOB* ... did not work.
3976
3977 2010-03-26  Jim Meyering  <meyering@redhat.com>
3978             Eric Blake  <eblake@redhat.com>
3979
3980         maint.mk: prohibit use of test's -o and -a operators
3981         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
3982
3983 2010-03-28  Bruno Haible  <bruno@clisp.org>
3984
3985         Remove unused GNULIB_XYZ macro definitions.
3986         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
3987         invocation.
3988
3989 2010-03-28  Bruno Haible  <bruno@clisp.org>
3990
3991         Mark privileged tests modules.
3992         * modules/idpriv-drop-tests (Status): New section.
3993         * modules/idpriv-droptemp-tests (Status): New section.
3994
3995 2010-03-28  Bruno Haible  <bruno@clisp.org>
3996
3997         Split C++ tests into separate tests modules.
3998         * modules/dirent-c++-tests: New file, extracted from
3999         modules/dirent-tests.
4000         * modules/dirent-tests: Depend on it.
4001         * modules/fcntl-h-c++-tests: New file, extracted from
4002         modules/fcntl-h-tests.
4003         * modules/fcntl-h-tests: Depend on it.
4004         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
4005         * modules/glob-tests: Depend on it.
4006         * modules/iconv-h-c++-tests: New file, extracted from
4007         modules/iconv-h-tests.
4008         * modules/iconv-h-tests: Depend on it.
4009         * modules/langinfo-c++-tests: New file, extracted from
4010         modules/langinfo-tests.
4011         * modules/langinfo-tests: Depend on it.
4012         * modules/locale-c++-tests: New file, extracted from
4013         modules/locale-tests.
4014         * modules/locale-tests: Depend on it.
4015         * modules/math-c++-tests: New file, extracted from modules/math-tests.
4016         * modules/math-tests: Depend on it.
4017         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
4018         * modules/pty-tests: Depend on it.
4019         * modules/search-c++-tests: New file, extracted from
4020         modules/search-tests.
4021         * modules/search-tests: Depend on it.
4022         * modules/signal-c++-tests: New file, extracted from
4023         modules/signal-tests.
4024         * modules/signal-tests: Depend on it.
4025         * modules/spawn-c++-tests: New file, extracted from
4026         modules/spawn-tests.
4027         * modules/spawn-tests: Depend on it.
4028         * modules/stdio-c++-tests: New file, extracted from
4029         modules/stdio-tests.
4030         * modules/stdio-tests: Depend on it.
4031         * modules/stdlib-c++-tests: New file, extracted from
4032         modules/stdlib-tests.
4033         * modules/stdlib-tests: Depend on it.
4034         * modules/string-c++-tests: New file, extracted from
4035         modules/string-tests.
4036         * modules/string-tests: Depend on it.
4037         * modules/sys_ioctl-c++-tests: New file, extracted from
4038         modules/sys_ioctl-tests.
4039         * modules/sys_ioctl-tests: Depend on it.
4040         * modules/sys_select-c++-tests: New file, extracted from
4041         modules/sys_select-tests.
4042         * modules/sys_select-tests: Depend on it.
4043         * modules/sys_socket-c++-tests: New file, extracted from
4044         modules/sys_socket-tests.
4045         * modules/sys_socket-tests: Depend on it.
4046         * modules/sys_stat-c++-tests: New file, extracted from
4047         modules/sys_stat-tests.
4048         * modules/sys_stat-tests: Depend on it.
4049         * modules/sys_time-c++-tests: New file, extracted from
4050         modules/sys_time-tests.
4051         * modules/sys_time-tests: Depend on it.
4052         * modules/time-c++-tests: New file, extracted from modules/time-tests.
4053         * modules/time-tests: Depend on it.
4054         * modules/unistd-c++-tests: New file, extracted from
4055         modules/unistd-tests.
4056         * modules/unistd-tests: Depend on it.
4057         * modules/wchar-c++-tests: New file, extracted from
4058         modules/wchar-tests.
4059         * modules/wchar-tests: Depend on it.
4060         * modules/wctype-c++-tests: New file, extracted from
4061         modules/wctype-tests.
4062         * modules/wctype-tests: Depend on it.
4063         Reported by Simon Josefsson.
4064
4065 2010-03-28  Bruno Haible  <bruno@clisp.org>
4066
4067         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
4068         * gnulib-tool (func_exists_module): New function, extracted from
4069         func_verify_module.
4070         (func_verify_module): Use it.
4071         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
4072         'foo' only if 'foo' exists.
4073         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
4074         module.
4075
4076 2010-03-28  Bruno Haible  <bruno@clisp.org>
4077
4078         gnulib-tool: Add support for special categories of tests.
4079         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
4080         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
4081         (func_usage): Document them.
4082         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
4083         inc_unportable_tests, inc_all_tests): New variables.
4084         (func_acceptable): Consider these variables.
4085         (func_modules_transitive_closure): Make it work when the 'Status' field
4086         consists of multiple words.
4087         (func_import): Store and restore the values of inc_cxx_tests,
4088         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
4089         inc_all_tests in gnulib-comp.m4.
4090         (func_create_testdir): Set inc_all_tests to true.
4091         * doc/gnulib.texi (Extra tests modules): New section.
4092         Suggested by Jim Meyering.
4093
4094 2010-03-28  Bruno Haible  <bruno@clisp.org>
4095
4096         ansi-c++-opt: Allow turning off the C++ build by default.
4097         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
4098         gl_CXX_CHOICE_DEFAULT_NO is defined.
4099         Requested by Eric Blake.
4100
4101 2010-03-28  Bruno Haible  <bruno@clisp.org>
4102
4103         unistd: Avoid #define replacements in C++ mode.
4104         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
4105         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
4106         setsockopt, shutdown, select): In C++, attach a warning to the function
4107         if possible, rather than #defining the symbol to a dysfunctional alias.
4108         Reported by John W. Eaton <jwe@gnu.org>.
4109
4110 2010-03-28  Bruno Haible  <bruno@clisp.org>
4111
4112         Fix link errors on mingw.
4113         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
4114         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
4115         $(LIBSOCKET).
4116         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
4117         $(LIBSOCKET).
4118
4119 2010-03-28  Bruno Haible  <bruno@clisp.org>
4120             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4121
4122         lib-ignore: Determine different options for different compilers.
4123         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
4124         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
4125         Add comments.
4126         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
4127         * NEWS: Mention the change.
4128
4129 2010-03-27  Bruno Haible  <bruno@clisp.org>
4130
4131         Remove unused GNULIB_XYZ macro definitions.
4132         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
4133         * modules/fseek (configure.ac): Likewise.
4134         * modules/ioctl (configure.ac): Likewise.
4135         * modules/open (configure.ac): Likewise.
4136         * modules/stdlib-safer (configure.ac): Likewise.
4137
4138 2010-03-27  Bruno Haible  <bruno@clisp.org>
4139
4140         Add a remark about certain modules.
4141         * modules/malloc (Comment): New section.
4142         * modules/realloc (Comment): Likewise.
4143         * modules/sigpipe (Comment): Likewise.
4144
4145 2010-03-27  Bruno Haible  <bruno@clisp.org>
4146
4147         Resolve conflict between the two kinds of module indicators.
4148         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
4149         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
4150         * modules/canonicalize (configure.ac): Invoke
4151         gl_MODULE_INDICATOR_FOR_TESTS.
4152         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
4153         GNULIB_XYZ.
4154         * tests/test-dirent-c++.cc: Likewise.
4155         * tests/test-dirent-safer.c: Likewise.
4156         * tests/test-dup2.c: Likewise.
4157         * tests/test-fchdir.c: Likewise.
4158         * tests/test-fcntl-h-c++.cc: Likewise.
4159         * tests/test-getopt.c: Likewise.
4160         * tests/test-getopt.h: Likewise.
4161         * tests/test-langinfo-c++.cc: Likewise.
4162         * tests/test-locale-c++.cc: Likewise.
4163         * tests/test-math-c++.cc: Likewise.
4164         * tests/test-pty-c++.cc: Likewise.
4165         * tests/test-search-c++.cc: Likewise.
4166         * tests/test-signal-c++.cc: Likewise.
4167         * tests/test-spawn-c++.cc: Likewise.
4168         * tests/test-stdio-c++.cc: Likewise.
4169         * tests/test-stdlib-c++.cc: Likewise.
4170         * tests/test-string-c++.cc: Likewise.
4171         * tests/test-sys_ioctl-c++.cc: Likewise.
4172         * tests/test-sys_select-c++.cc: Likewise.
4173         * tests/test-sys_socket-c++.cc: Likewise.
4174         * tests/test-sys_stat-c++.cc: Likewise.
4175         * tests/test-sys_time-c++.cc: Likewise.
4176         * tests/test-time-c++.cc: Likewise.
4177         * tests/test-unistd-c++.cc: Likewise.
4178         * tests/test-wchar-c++.cc: Likewise.
4179         * tests/uninorm/test-u8-nfc.c: Likewise.
4180         * tests/uninorm/test-u8-nfd.c: Likewise.
4181         * tests/uninorm/test-u8-nfkc.c: Likewise.
4182         * tests/uninorm/test-u8-nfkd.c: Likewise.
4183         * tests/uninorm/test-u16-nfc.c: Likewise.
4184         * tests/uninorm/test-u16-nfd.c: Likewise.
4185         * tests/uninorm/test-u16-nfkc.c: Likewise.
4186         * tests/uninorm/test-u16-nfkd.c: Likewise.
4187         * tests/uninorm/test-u32-nfc.c: Likewise.
4188         * tests/uninorm/test-u32-nfc-big.c: Likewise.
4189         * tests/uninorm/test-u32-nfd.c: Likewise.
4190         * tests/uninorm/test-u32-nfd-big.c: Likewise.
4191         * tests/uninorm/test-u32-nfkc.c: Likewise.
4192         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
4193         * tests/uninorm/test-u32-nfkd.c: Likewise.
4194         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
4195         * tests/uninorm/test-u32-normalize-big.c: Likewise.
4196
4197 2010-03-27  Bruno Haible  <bruno@clisp.org>
4198
4199         Distinguish two kinds of module indicators.
4200         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
4201         gl_MODULE_INDICATOR.
4202         (gl_MODULE_INDICATOR): New macro.
4203         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
4204         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
4205         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
4206         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
4207         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
4208         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
4209         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
4210         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
4211         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
4212         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
4213         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
4214         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
4215         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
4216         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
4217         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
4218         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
4219         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
4220         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
4221         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
4222         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
4223         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
4224         * modules/cloexec (configure.ac): Likewise.
4225         * modules/getopt-gnu (configure.ac): Likewise.
4226         * modules/uninorm/u8-normalize (configure.ac): Likewise.
4227         * modules/uninorm/u16-normalize (configure.ac): Likewise.
4228         * modules/uninorm/u32-normalize (configure.ac): Likewise.
4229         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
4230
4231 2010-03-27  Bruno Haible  <bruno@clisp.org>
4232
4233         New module description field 'Comment'.
4234         * gnulib-tool: New option --extract-comment.
4235         (func_usage): Document it.
4236         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
4237         (func_get_comment): New function.
4238         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
4239
4240 2010-03-27  Bruno Haible  <bruno@clisp.org>
4241
4242         Addendum to 2010-02-07 commit.
4243         * gnulib-tool (func_usage): Document --extract-applicability option.
4244
4245 2010-03-27  Bruno Haible  <bruno@clisp.org>
4246
4247         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
4248         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
4249         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
4250         rather than link errors.
4251
4252 2010-03-27  Bruno Haible  <bruno@clisp.org>
4253
4254         Avoid side effects from tests-related modules on the compilation of lib.
4255         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
4256         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
4257         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
4258         parameter. Emit into AM_CPPFLAGS a definition of the designated C
4259         macro.
4260         (func_import): Define a witness macro. Assign it a value that depends
4261         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
4262         tests-related modules.
4263         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
4264         Reported by Jim Meyering.
4265
4266 2010-03-27  Bruno Haible  <bruno@clisp.org>
4267
4268         Factorize common .m4 code.
4269         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
4270         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
4271         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
4272         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
4273         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
4274         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
4275         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
4276         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
4277         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
4278         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
4279         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
4280         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
4281         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
4282         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
4283         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
4284         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
4285         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
4286         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
4287         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
4288         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
4289         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
4290         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
4291         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
4292         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
4293         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
4294         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
4295         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
4296         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
4297         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
4298         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
4299         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
4300         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
4301
4302 2010-03-27  Bruno Haible  <bruno@clisp.org>
4303
4304         Fix a compilation error on Cygwin with g++ >= 4.3.
4305         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
4306         if it is undefined or if we alias it to chmod.
4307         (lstat): Don't warn about the use of this function if it is undefined
4308         or if we alias it to stat.
4309         Reported by Simon Josefsson.
4310
4311 2010-03-27  Bruno Haible  <bruno@clisp.org>
4312
4313         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
4314         * modules/getlogin (configure.ac): Update.
4315
4316         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
4317         * modules/getlogin_r (configure.ac): Update.
4318
4319         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
4320         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
4321         * modules/inet_ntop (configure.ac): Update.
4322
4323         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
4324         * modules/inet_pton (configure.ac): Update.
4325
4326         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
4327         * modules/mbslen (configure.ac): Update.
4328
4329         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
4330         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
4331         * modules/forkpty (configure.ac): Update.
4332         * modules/openpty (configure.ac): Update.
4333
4334 2010-03-26  Simon Josefsson  <simon@josefsson.org>
4335
4336         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
4337         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
4338
4339 2010-03-25  Eric Blake  <eblake@redhat.com>
4340
4341         maint: use pragma consistently across replacement headers
4342         * lib/ctype.in.h (system_header): Hoist for consistent placement.
4343         * lib/dirent.in.h (system_header): Likewise.
4344         * lib/errno.in.h (system_header): Likewise.
4345         * lib/float.in.h (system_header): Likewise.
4346         * lib/getopt.in.h (system_header): Likewise.
4347         * lib/iconv.in.h (system_header): Likewise.
4348         * lib/inttypes.in.h (system_header): Likewise.
4349         * lib/langinfo.in.h (system_header): Likewise.
4350         * lib/locale.in.h (system_header): Likewise.
4351         * lib/math.in.h (system_header): Likewise.
4352         * lib/netdb.in.h (system_header): Likewise.
4353         * lib/netinet_in.in.h (system_header): Likewise.
4354         * lib/pty.in.h (system_header): Likewise.
4355         * lib/sched.in.h (system_header): Likewise.
4356         * lib/se-selinux.in.h (system_header): Likewise.
4357         * lib/search.in.h (system_header): Likewise.
4358         * lib/spawn.in.h (system_header): Likewise.
4359         * lib/stdarg.in.h (system_header): Likewise.
4360         * lib/stdint.in.h (system_header): Likewise.
4361         * lib/string.in.h (system_header): Likewise.
4362         * lib/strings.in.h (system_header): Likewise.
4363         * lib/sys_file.in.h (system_header): Likewise.
4364         * lib/sys_ioctl.in.h (system_header): Likewise.
4365         * lib/sys_socket.in.h (system_header): Likewise.
4366         * lib/sys_times.in.h (system_header): Likewise.
4367         * lib/sys_utsname.in.h (system_header): Likewise.
4368         * lib/sys_wait.in.h (system_header): Likewise.
4369         * lib/sysexits.in.h (system_header): Likewise.
4370         * lib/unistd.in.h (system_header): Likewise.
4371         * lib/wctype.in.h (system_header): Likewise.
4372
4373         arpa/inet: fix mingw compilation warning
4374         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
4375         Reported by Matthew Bolte.
4376
4377 2010-03-25  Bruno Haible  <bruno@clisp.org>
4378
4379         Avoid collision between gnulib wrapper and libintl wrapper.
4380         * lib/printf.c (printf): Don't define if a printf wrapper is already
4381         defined in intl/printf.c.
4382         Reported by Michel Boaventura <michel@michelboaventura.com>.
4383
4384 2010-03-25  Bruno Haible  <bruno@clisp.org>
4385
4386         Use ANSI C.
4387         * lib/readutmp.h (getutent): Provide ANSI C prototype.
4388
4389 2010-03-25  Bruno Haible  <bruno@clisp.org>
4390
4391         Minor formatting changes.
4392         * lib/acosl.c: Insert space before function argument list.
4393         * lib/argz.c: Likewise.
4394         * lib/asinl.c: Likewise.
4395         * lib/expl.c: Likewise.
4396         * lib/gen-uni-tables.c: Likewise.
4397         * lib/gettext.h: Likewise.
4398         * lib/glthread/lock.h: Likewise.
4399         * lib/tanl.c: Likewise.
4400         * lib/uniname/uniname.c: Likewise.
4401         * tests/test-idpriv-drop.c: Likewise.
4402         * tests/test-idpriv-droptemp.c: Likewise.
4403         * tests/test-lock.c: Likewise.
4404         * tests/test-tls.c: Likewise.
4405         * lib/argp-help.c: Insert space before function-like macro argument
4406         list.
4407         * lib/memcmp.c: Likewise.
4408         * tests/test-base64.c: Likewise.
4409         * lib/localename.c: Insert space before sizeof's argument list.
4410         * lib/safe-alloc.h: Likewise.
4411         * lib/file-set.h: Insert space before macro argument list.
4412         * tests/test-argp.c: Likewise.
4413         * lib/argp-namefrob.h: Insert space before function parameter list.
4414         * lib/getaddrinfo.c: Likewise.
4415         * lib/netdb.in.h: Likewise.
4416         * lib/parse-duration.h: Likewise.
4417         * lib/parse-duration.c: Likewise.
4418         * lib/poll.c: Likewise.
4419         * lib/select.c: Likewise.
4420         * lib/trim.h: Likewise.
4421         * tests/test-usleep.c: Likewise.
4422         * lib/ldexpl.c: Insert space before function parameter list and before
4423         function argument list.
4424         * lib/logl.c: Likewise.
4425         * lib/sqrtl.c: Likewise.
4426         * lib/trim.c: Likewise.
4427         * lib/cosl.c: Use GNU style indentation. Insert space before function
4428         argument list.
4429         * lib/sinl.c: Likewise.
4430         * lib/tsearch.c: Insert space after 'for'.
4431         Reported by Jim Meyering.
4432
4433 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
4434
4435         * maint.mk (sc_Wundef_boolean): Check for the presence of the
4436         config header before grepping, as it's not present before
4437         autoreconf/configure are run.  Reported by Simon Josefsson.
4438
4439 2010-03-23  Bruno Haible  <bruno@clisp.org>
4440
4441         pt_chown: Make it work with automake < 1.11.
4442         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
4443         Reported by Simon Josefsson.
4444
4445 2010-03-23  Bruno Haible  <bruno@clisp.org>
4446
4447         pt_chown: Don't depend on GPLed modules.
4448         * lib/pt_chown.c: Don't include idpriv.h.
4449         (main): Don't drop privileges.
4450         * modules/pt_chown (Depends-on): Remove idpriv-drop.
4451         Reported by Simon Josefsson.
4452
4453 2010-03-24  Simon Josefsson  <simon@josefsson.org>
4454
4455         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
4456         suggestions from karl@freefriends.org (Karl Berry).
4457
4458 2010-03-22  Eric Blake  <eblake@redhat.com>
4459
4460         gethostname: further tweaks
4461         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
4462         are overriding gethostname.
4463         Suggested by Bruno Haible.
4464
4465 2010-03-21  Bruno Haible  <bruno@clisp.org>
4466
4467         Fix comments.
4468         * lib/forkpty.c (rpl_forkpty): Fix comment.
4469         * lib/openpty.c (rpl_openpty): Likewise.
4470         Reported by Eric Blake.
4471
4472 2010-03-22  Eric Blake  <eblake@redhat.com>
4473
4474         gethostname: fix build on mingw
4475         * lib/unistd.in.h (includes): Work around fact that mingw
4476         <winsock2.h> re-includes <unistd.h>, by avoiding any
4477         redeclarations if we are being included by <winsock2.h>.
4478         Reported by Matthias Bolte.
4479
4480 2010-03-21  Bruno Haible  <bruno@clisp.org>
4481
4482         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
4483         * lib/forkpty.c (forkpty): New replacement function, from glibc with
4484         modifications.
4485         * lib/pty.in.h (forkpty): Update declaration. Add comments.
4486         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
4487         provide the replacement.
4488         * modules/forkpty (Depends-on): Add openpty, login_tty.
4489         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
4490         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
4491         * doc/glibc-functions/forkpty.texi: More supported platforms.
4492         * config/srclist.txt: Add forkpty.c (commented).
4493
4494 2010-03-21  Bruno Haible  <bruno@clisp.org>
4495
4496         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
4497         (Makefile.am): Verify that PTY_LIB is defined.
4498
4499         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
4500
4501 2010-03-21  Bruno Haible  <bruno@clisp.org>
4502
4503         Tests for module 'login_tty'.
4504         * modules/login_tty-tests: New file.
4505         * tests/test-login_tty.c: New file.
4506
4507         New module 'login_tty'.
4508         * lib/login_tty.c: New file.
4509         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
4510         * modules/login_tty: New file.
4511         * doc/glibc-functions/login_tty.texi: Mention the new module.
4512
4513 2010-03-21  Bruno Haible  <bruno@clisp.org>
4514
4515         login_tty: Documentation.
4516         * doc/glibc-functions/login_tty.texi: New file.
4517         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
4518
4519 2010-03-21  Bruno Haible  <bruno@clisp.org>
4520
4521         pty: Consistent macro naming.
4522         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
4523         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
4524         * modules/pty (configure.ac): Update.
4525
4526 2010-03-21  Bruno Haible  <bruno@clisp.org>
4527
4528         Tests for openpty: Make stricter.
4529         * tests/test-openpty.c (main): Add test of canonical processing and
4530         erase.
4531         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
4532
4533         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
4534         * lib/openpty.c (openpty): New replacement function.
4535         * lib/pty.in.h: Include <termios.h>.
4536         (openpty): Update declaration. Add comments.
4537         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
4538         is not declared, arrange to provide the replacement. Check for _getpty
4539         and posix_openpt.
4540         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
4541         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
4542         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
4543         * modules/pty-tests (test_pty_c___LDADD): New variable.
4544         * doc/glibc-functions/openpty.texi: More supported platforms.
4545
4546 2010-03-21  Bruno Haible  <bruno@clisp.org>
4547
4548         setenv: Tweaks.
4549         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
4550         the test program.
4551         * doc/posix-functions/setenv.texi: Update platforms list.
4552
4553 2010-03-21  Bruno Haible  <bruno@clisp.org>
4554
4555         New module 'unlockpt'.
4556         * lib/unlockpt.c: New file, from glibc with modifications.
4557         * m4/unlockpt.m4: New file.
4558         * modules/unlockpt: New file.
4559         * lib/stdlib.in.h (unlockpt): New declaration.
4560         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
4561         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
4562         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
4563         HAVE_UNLOCKPT.
4564         * doc/posix-functions/unlockpt.texi: Mention the new module.
4565         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
4566         * config/srclist.txt: Add unlockpt.c (commented).
4567
4568 2010-03-21  Jim Meyering  <meyering@redhat.com>
4569
4570         maint.mk: prohibit inclusion of "intprops.h" without use
4571         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
4572
4573 2010-03-21  Bruno Haible  <bruno@clisp.org>
4574
4575         New module 'grantpt'.
4576         * lib/grantpt.c: New file, from glibc with modifications.
4577         * m4/grantpt.m4: New file.
4578         * modules/grantpt: New file.
4579         * lib/stdlib.in.h (grantpt): New declaration.
4580         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
4581         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
4582         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
4583         HAVE_GRANTPT.
4584         * doc/posix-functions/grantpt.texi: Mention the new module.
4585         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
4586         * config/srclist.txt: Add grantpt.c (commented).
4587
4588 2010-03-21  Bruno Haible  <bruno@clisp.org>
4589
4590         New module 'pt_chown'.
4591         * lib/pt_chown.c: New file, from glibc with modifications.
4592         * lib/pty-private.h: New file, from glibc with modifications.
4593         * modules/pt_chown: New file.
4594         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
4595
4596 2010-03-21  Bruno Haible  <bruno@clisp.org>
4597
4598         Tests for module 'ptsname'.
4599         * modules/ptsname-tests: New file.
4600         * tests/test-ptsname.c: New file.
4601
4602         New module 'ptsname'.
4603         * lib/ptsname.c: New file, from glibc with modifications.
4604         * m4/ptsname.m4: New file.
4605         * modules/ptsname: New file.
4606         * lib/stdlib.in.h (ptsname): New declaration.
4607         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
4608         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
4609         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
4610         HAVE_PTSNAME.
4611         * doc/posix-functions/ptsname.texi: Mention the new module.
4612         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
4613         * config/srclist.txt: Add ptsname.c (commented).
4614
4615 2010-03-21  Bruno Haible  <bruno@clisp.org>
4616
4617         Tests for module 'ttyname_r'.
4618         * modules/ttyname_r-tests: New file.
4619         * tests/test-ttyname_r.c: New file.
4620
4621         New module 'ttyname_r'.
4622         * lib/ttyname_r.c: New file.
4623         * m4/ttyname_r.m4: New file.
4624         * modules/ttyname_r: New file.
4625         * lib/unistd.in.h (ttyname_r): New declaration.
4626         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
4627         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
4628         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
4629         HAVE_TTYNAME_R.
4630         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
4631         * doc/posix-functions/ttyname_r.texi: Mention the new module.
4632
4633 2010-03-20  Bruno Haible  <bruno@clisp.org>
4634
4635         signal: Undefine macro definitions in C++ mode.
4636         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
4637         sigfillset): Undefine macro definitions from the system header in C++
4638         mode.
4639         Reported by John W. Eaton <jwe@gnu.org>.
4640
4641 2010-03-20  Bruno Haible  <bruno@clisp.org>
4642
4643         Ensure no #include statements inside extern "C" { ... }.
4644         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
4645         contain #include statements.
4646         * lib/time.in.h: Likewise.
4647
4648 2010-03-20  Bruno Haible  <bruno@clisp.org>
4649
4650         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
4651         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
4652         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
4653         Reported by John W. Eaton <jwe@gnu.org>.
4654
4655 2010-03-20  Bruno Haible  <bruno@clisp.org>
4656
4657         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
4658         Reported by Jim Meyering.
4659
4660 2010-03-20  Bruno Haible  <bruno@clisp.org>
4661
4662         pipe: Set errno upon failure.
4663         * lib/pipe.h: Specify that when -1 is returned, errno is set.
4664         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
4665         errno value in error message.
4666
4667 2010-03-20  Bruno Haible  <bruno@clisp.org>
4668             Jim Meyering  <meyering@redhat.com>
4669
4670         lchown: Avoid "unused variable" warning.
4671         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
4672
4673 2010-03-20  Bruno Haible  <bruno@clisp.org>
4674
4675         Work around unlink() bug on MacOS X 10.5.6.
4676         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
4677         attempting to unlink a parent directory.
4678         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
4679         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
4680         activate for the replacement function.
4681         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
4682
4683 2010-03-20  Bruno Haible  <bruno@clisp.org>
4684
4685         Fix link errors on Solaris 8.
4686         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
4687         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
4688
4689 2010-03-19  Jim Meyering  <meyering@redhat.com>
4690
4691         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
4692         The _LIBC implementation of build_range_exp correctly honors the
4693         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
4694         However, the non-_LIBC implementation would ignore that syntax-bit
4695         flag and return REG_ERANGE unconditionally.
4696         This change makes it honor that flag.
4697         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
4698         Make two pointer parameters "const".
4699         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
4700         (parse_bracket_exp): Update caller.
4701
4702         regex.m4: correct the reversed range endpoint ([b-a]) test
4703         * m4/regex.m4: When requiring that [b-a] evoke failure,
4704         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
4705         test pass once again for x86-based systems.
4706
4707 2010-03-19  Bruno Haible  <bruno@clisp.org>
4708
4709         scandir: Fix link error on Solaris 8.
4710         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
4711         macros.
4712
4713 2010-03-19  Bruno Haible  <bruno@clisp.org>
4714
4715         getusershell: Fix documentation.
4716         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
4717         module.
4718         * doc/glibc-functions/setusershell.texi: Likewise.
4719
4720         getusershell: Provide declaration, missing on Solaris 9.
4721         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
4722         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
4723         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
4724         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
4725         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
4726         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
4727         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
4728         HAVE_GETUSERSHELL.
4729         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
4730
4731 2010-03-19  Bruno Haible  <bruno@clisp.org>
4732
4733         wctype: Provide iswblank function.
4734         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
4735         exists and is fine.
4736         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
4737         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
4738         * tests/test-wctype.c (main): Re-enable the iswblank tests.
4739         * doc/posix-functions/iswblank.texi: Update.
4740
4741 2010-03-19  Bruno Haible  <bruno@clisp.org>
4742
4743         Tests of module 'pty' in C++ mode.
4744         * modules/pty-tests: New file.
4745         * tests/test-pty-c++.cc: New file.
4746         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
4747
4748 2010-03-19  Eric Blake  <eblake@redhat.com>
4749
4750         logb: fix documentation
4751         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
4752         1.5 declaration bug.
4753
4754         forkpty, openpty: prefer glibc's const-safe prototype
4755         * lib/forkpty.c (rpl_forkpty): New file.
4756         * lib/openpty.c (rpl_openpty): Likewise.
4757         * modules/forkpty (Files): Distribute it.
4758         * modules/openpty (Files): Likewise.
4759         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
4760         check...
4761         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
4762         replacement for for non-const BSD signature.
4763         * modules/pty (Makefile.am): Substitute witnesses.
4764         * lib/pty.in.h (forkpty, openpty): Declare replacements.
4765         * tests/test-forkpty.c: Update signature check.
4766         * tests/test-openpty.c: Likewise.
4767         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
4768         * doc/glibc-functions/openpty.texi (openpty): Likewise.
4769
4770         forkpty, openpty: split functions into new modules
4771         * modules/pty (Makefile.am): Substitute new witnesses.
4772         (Libraries): Move library detection...
4773         * modules/forkpty: ...into new module.
4774         * modules/openpty: Another new module.
4775         * modules/pty-tests: Rename and split...
4776         * modules/forkpty-tests: ...to this...
4777         * modules/openpty-tests: ...and this.
4778         * tests/test-pty.c: Rename and split...
4779         * tests/test-forkpty.c: ...to this...
4780         * tests/test-openpty.c: ...and this.
4781         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
4782         (gl_PTY): Split library searching...
4783         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
4784         (gl_FORKPTY, gl_OPENPTY): New macros.
4785         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
4786         * NEWS: Mention the split.
4787         * MODULES.html.sh (Misc): Document the modules.
4788         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
4789         * doc/glibc-functions/openpty.texi (openpty): Likewise.
4790
4791         pty: improve replacement header
4792         * lib/pty.in.h: New file.
4793         * modules/pty (Files): Ship it.
4794         (Makefile.am): Always build replacement.
4795         * m4/pty.m4: Rename...
4796         * m4/pty_h.m4: ...to this.
4797         (gl_PTY): Modernize setting of witness macros; update check of
4798         forkpty to take proper advantage of cache.
4799         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
4800
4801         getopt: avoid compiler warning
4802         * lib/getopt.c (attribute_hidden): Remove unused macro.
4803
4804 2010-03-18  Bruno Haible  <bruno@clisp.org>
4805
4806         Fix link errors on Solaris 8.
4807         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
4808         * modules/search-tests (test_search_c___LDADD): Likewise.
4809         * modules/signal-tests (test_signal_c___LDADD): Likewise.
4810         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
4811         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
4812         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
4813         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
4814         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
4815         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
4816
4817 2010-03-18  Bruno Haible  <bruno@clisp.org>
4818
4819         Fix bug introduced on 2010-03-14.
4820         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
4821         (gl_SPAWN_H): Require it.
4822         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
4823         Reported by Simon Josefsson.
4824
4825 2010-03-18  Bruno Haible  <bruno@clisp.org>
4826
4827         Fix typo introduced on 2009-12-31.
4828         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
4829         posix_spawn_file_actions_adddup2.
4830
4831 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
4832         and Eric Blake  <eblake@redhat.com>
4833
4834         test-vc-list-files-git: make more robust
4835         * tests/test-vc-list-files-git.sh: Unset problematic environment
4836         variables.  Chain commands together.
4837
4838 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
4839
4840         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
4841         `AC_CHECK_DECL' invocation.
4842
4843 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
4844
4845         * lib/inttostr.c (inttostr): Make sure the invocation of verify
4846         appears before executable statements. Suggested by Petr Sumbera
4847         <Petr.Sumbera@Sun.COM>.
4848
4849 2010-03-14  Bruno Haible  <bruno@clisp.org>
4850
4851         * tests/test-flock.c (test_exclusive): Comment out a test that causes
4852         portability problems. Instead use a simpler test.
4853         (main): Check that invalid arguments are rejected only on Linux.
4854
4855 2010-03-14  Bruno Haible  <bruno@clisp.org>
4856
4857         Fix bug introduced on 2009-12-31.
4858         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
4859         gl_PREREQ_SYS_H_WINSOCK2 always.
4860         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
4861         SYS_SOCKET_H variable.
4862         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
4863         Update comments.
4864         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
4865         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
4866         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
4867         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
4868         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
4869
4870 2010-03-14  Bruno Haible  <bruno@clisp.org>
4871
4872         Fix values returned by sinl, cosl.
4873         * lib/trigl.h: Add specification comments.
4874         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
4875         that combines the values from the precomputed table with the values of
4876         the Chebyshev polynomials.
4877
4878 2010-03-14  Bruno Haible  <bruno@clisp.org>
4879
4880         Fix compilation error when modules 'posix_spawn[p]' are not used.
4881         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
4882         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
4883
4884 2010-03-14  Bruno Haible  <bruno@clisp.org>
4885
4886         Fix compilation error on mingw when module 'time_r' is not used.
4887         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
4888         is 1.
4889         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
4890         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
4891         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
4892         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
4893
4894 2010-03-14  Bruno Haible  <bruno@clisp.org>
4895
4896         Fix compilation error with Sun C.
4897         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
4898         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
4899         instead of GCC specific ULONG_LONG_MAX.
4900         * lib/xstrtoll.c: Likewise.
4901         * lib/xstrtoull.c: Likewise.
4902
4903 2010-03-13  Bruno Haible  <bruno@clisp.org>
4904
4905         Allow the user to disable C++ code and tests.
4906         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
4907         (gl_PROG_ANSI_CXX): Require it.
4908
4909 2010-03-13  Bruno Haible  <bruno@clisp.org>
4910
4911         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
4912         cases.
4913
4914 2010-03-13  Bruno Haible  <bruno@clisp.org>
4915
4916         Test that gnulib does not break the standard C++ headers.
4917         * tests/test-locale-c++2.cc: New file.
4918         * modules/locale-tests (Files): Add it.
4919         (Makefile.am): Compile it for test-locale-c++.
4920         * tests/test-math-c++2.cc: New file.
4921         * modules/math-tests (Files): Add it.
4922         (Makefile.am): Compile it for test-math-c++.
4923         * tests/test-signal-c++2.cc: New file.
4924         * modules/signal-tests (Files): Add it.
4925         (Makefile.am): Compile it for test-signal-c++.
4926         * tests/test-stdio-c++2.cc: New file.
4927         * modules/stdio-tests (Files): Add it.
4928         (Makefile.am): Compile it for test-stdio-c++.
4929         * tests/test-stdlib-c++2.cc: New file.
4930         * modules/stdlib-tests (Files): Add it.
4931         (Makefile.am): Compile it for test-stdlib-c++.
4932         * tests/test-string-c++2.cc: New file.
4933         * modules/string-tests (Files): Add it.
4934         (Makefile.am): Compile it for test-string-c++.
4935         * tests/test-time-c++2.cc: New file.
4936         * modules/time-tests (Files): Add it.
4937         (Makefile.am): Compile it for test-time-c++.
4938         Reported by John W. Eaton <jwe@gnu.org>.
4939
4940 2010-03-13  Bruno Haible  <bruno@clisp.org>
4941
4942         * gnulib-tool (func_usage): Clarify which options are available for
4943         --create-testdir and --create-megatestdir.
4944
4945 2010-03-13  Bruno Haible  <bruno@clisp.org>
4946
4947         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
4948         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
4949         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
4950         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
4951         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
4952         when appropriate.
4953         Reported by Jim Meyering.
4954
4955 2010-03-12  Simon Josefsson  <simon@josefsson.org>
4956
4957         * gnulib-tool (func_import): Explain origin of code.
4958
4959 2010-03-12  Bruno Haible  <bruno@clisp.org>
4960
4961         Fix problem with automake's definition of CXXLINK.
4962         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
4963         Reported by Simon Josefsson and Ludovic Courtès.
4964
4965 2010-03-12  Bruno Haible  <bruno@clisp.org>
4966
4967         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
4968         stable releases.
4969
4970 2010-03-11  Bruno Haible  <bruno@clisp.org>
4971
4972         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
4973         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
4974         whether the system provides one variant or multiple variants of the
4975         function.
4976         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
4977         C++ compilers.
4978         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
4979         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
4980         Reported by Jim Meyering.
4981
4982 2010-03-09  Simon Josefsson  <simon@josefsson.org>
4983
4984         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
4985
4986 2010-03-08  Bruno Haible  <bruno@clisp.org>
4987
4988         gnulib-tool: Add support for --libtool in --create-testdir.
4989         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
4990         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
4991
4992 2010-03-08  Eric Blake  <eblake@redhat.com>
4993
4994         gnulib-tool.texi: mention possibility of git submodule
4995         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
4996         submodules.
4997         * doc/.gitignore: Ignore another generated file.
4998
4999 2010-03-08  Karl Berry  <karl@gnu.org>
5000
5001         * doc/gnulib-tool.texi (VCS Issues): Mention third option
5002         of committing gnulib files while skipping others.
5003
5004 2010-03-07  Bruno Haible  <bruno@clisp.org>
5005
5006         Tests of module 'wctype' in C++ mode.
5007         * tests/test-wctype-c++.cc: New file.
5008         * modules/wctype-tests (Files): Add it and tests/signature.h.
5009         (Depends-on): Add ansi-c++-opt.
5010         (Makefile.am): Arrange to compile and run test-wctype-c++.
5011
5012         Tests of module 'wchar' in C++ mode.
5013         * tests/test-wchar-c++.cc: New file.
5014         * modules/wchar-tests (Files): Add it and tests/signature.h.
5015         (Depends-on): Add ansi-c++-opt.
5016         (Makefile.am): Arrange to compile and run test-wchar-c++.
5017         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
5018         gl_MODULE_INDICATOR.
5019
5020         Tests of module 'unistd' in C++ mode.
5021         * tests/test-unistd-c++.cc: New file.
5022         * modules/unistd-tests (Files): Add it and tests/signature.h.
5023         (Depends-on): Add ansi-c++-opt.
5024         (Makefile.am): Arrange to compile and run test-unistd-c++.
5025         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
5026         gl_MODULE_INDICATOR.
5027
5028         Tests of module 'time' in C++ mode.
5029         * tests/test-time-c++.cc: New file.
5030         * modules/time-tests (Files): Add it and tests/signature.h.
5031         (Depends-on): Add ansi-c++-opt.
5032         (Makefile.am): Arrange to compile and run test-time-c++.
5033         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
5034
5035         Tests of module 'sys_time' in C++ mode.
5036         * tests/test-sys_time-c++.cc: New file.
5037         * modules/sys_time-tests (Files): Add it and tests/signature.h.
5038         (Depends-on): Add ansi-c++-opt.
5039         (Makefile.am): Arrange to compile and run test-sys_time-c++.
5040         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
5041         gl_MODULE_INDICATOR.
5042
5043         Tests of module 'sys_stat' in C++ mode.
5044         * tests/test-sys_stat-c++.cc: New file.
5045         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
5046         (Depends-on): Add ansi-c++-opt.
5047         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
5048         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
5049         gl_MODULE_INDICATOR.
5050
5051         Tests of module 'sys_socket' in C++ mode.
5052         * tests/test-sys_socket-c++.cc: New file.
5053         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
5054         (Depends-on): Add ansi-c++-opt.
5055         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
5056         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
5057         gl_MODULE_INDICATOR.
5058
5059         Tests of module 'sys_select' in C++ mode.
5060         * tests/test-sys_select-c++.cc: New file.
5061         * modules/sys_select-tests (Files): Add it and tests/signature.h.
5062         (Depends-on): Add ansi-c++-opt.
5063         (Makefile.am): Arrange to compile and run test-sys_select-c++.
5064         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
5065         gl_MODULE_INDICATOR.
5066
5067         Tests of module 'sys_ioctl' in C++ mode.
5068         * tests/test-sys_ioctl-c++.cc: New file.
5069         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
5070         (Depends-on): Add ansi-c++-opt.
5071         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
5072         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
5073         gl_MODULE_INDICATOR.
5074
5075         Tests of module 'string' in C++ mode.
5076         * tests/test-string-c++.cc: New file.
5077         * modules/string-tests (Files): Add it and tests/signature.h.
5078         (Depends-on): Add ansi-c++-opt.
5079         (Makefile.am): Arrange to compile and run test-string-c++.
5080         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
5081         gl_MODULE_INDICATOR.
5082
5083         Tests of module 'stdlib' in C++ mode.
5084         * tests/test-stdlib-c++.cc: New file.
5085         * modules/stdlib-tests (Files): Add it and tests/signature.h.
5086         (Depends-on): Add ansi-c++-opt.
5087         (Makefile.am): Arrange to compile and run test-stdlib-c++.
5088         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
5089         gl_MODULE_INDICATOR.
5090
5091         Tests of module 'stdio' in C++ mode.
5092         * tests/test-stdio-c++.cc: New file.
5093         * modules/stdio-tests (Files): Add it and tests/signature.h.
5094         (Depends-on): Add ansi-c++-opt.
5095         (Makefile.am): Arrange to compile and run test-stdio-c++.
5096         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
5097         gl_MODULE_INDICATOR.
5098
5099         Tests of module 'spawn' in C++ mode.
5100         * tests/test-spawn-c++.cc: New file.
5101         * modules/spawn-tests (Files): Add it and tests/signature.h.
5102         (Depends-on): Add ansi-c++-opt.
5103         (Makefile.am): Arrange to compile and run test-spawn-c++.
5104         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
5105         gl_MODULE_INDICATOR.
5106
5107         Tests of module 'signal' in C++ mode.
5108         * tests/test-signal-c++.cc: New file.
5109         * modules/signal-tests (Files): Add it and tests/signature.h.
5110         (Depends-on): Add ansi-c++-opt.
5111         (Makefile.am): Arrange to compile and run test-signal-c++.
5112         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
5113         gl_MODULE_INDICATOR.
5114
5115         Tests of module 'search' in C++ mode.
5116         * tests/test-search-c++.cc: New file.
5117         * modules/search-tests (Files): Add it and tests/signature.h.
5118         (Depends-on): Add ansi-c++-opt.
5119         (Makefile.am): Arrange to compile and run test-search-c++.
5120         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
5121         gl_MODULE_INDICATOR.
5122
5123         Tests of module 'math' in C++ mode.
5124         * tests/test-math-c++.cc: New file.
5125         * modules/math-tests (Files): Add it and tests/signature.h.
5126         (Depends-on): Add ansi-c++-opt.
5127         (Makefile.am): Arrange to compile and run test-math-c++.
5128         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
5129
5130         Tests of module 'locale' in C++ mode.
5131         * tests/test-locale-c++.cc: New file.
5132         * modules/locale-tests (Files): Add it and tests/signature.h.
5133         (Depends-on): Add ansi-c++-opt.
5134         (Makefile.am): Arrange to compile and run test-locale-c++.
5135         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
5136         gl_MODULE_INDICATOR.
5137
5138         Tests of module 'langinfo' in C++ mode.
5139         * tests/test-langinfo-c++.cc: New file.
5140         * modules/langinfo-tests (Files): Add it and tests/signature.h.
5141         (Depends-on): Add ansi-c++-opt.
5142         (Makefile.am): Arrange to compile and run test-langinfo-c++.
5143         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
5144         gl_MODULE_INDICATOR.
5145
5146         Tests of module 'iconv-h' in C++ mode.
5147         * tests/test-iconv-h-c++.cc: New file.
5148         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
5149         (Depends-on): Add ansi-c++-opt.
5150         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
5151
5152         Tests of module 'glob' in C++ mode.
5153         * tests/test-glob-c++.cc: New file.
5154         * modules/glob-tests (Files): Add it.
5155         (Depends-on): Add ansi-c++-opt.
5156         (Makefile.am): Arrange to compile and run test-glob-c++.
5157
5158         Tests of module 'fcntl-h' in C++ mode.
5159         * tests/test-fcntl-h-c++.cc: New file.
5160         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
5161         (Depends-on): Add ansi-c++-opt.
5162         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
5163         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
5164         gl_MODULE_INDICATOR.
5165
5166         Tests of module 'dirent' in C++ mode.
5167         * tests/test-dirent-c++.cc: New file.
5168         * modules/dirent-tests (Files): Add it and tests/signature.h.
5169         (Depends-on): Add ansi-c++-opt.
5170         (Makefile.am): Arrange to compile and run test-dirent-c++.
5171         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
5172         gl_MODULE_INDICATOR.
5173
5174         New module 'ansi-c++-opt'.
5175         * modules/ansi-c++-opt: New file.
5176         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
5177
5178         Document C++ namespace mode.
5179         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
5180
5181         wctype: Avoid #define replacements in C++ mode.
5182         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
5183         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
5184         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
5185         In C++, define a namespaced alias symbol.
5186         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
5187         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
5188         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
5189         rule.
5190
5191         wchar: Avoid #define replacements in C++ mode.
5192         * lib/wchar.in.h: Include c++defs.h.
5193         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
5194         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
5195         symbol.
5196         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
5197         * modules/wchar (Depends-on): Add c++defs.
5198         (Makefile.am): Update wchar.h rule.
5199
5200         unistd: Avoid #define replacements in C++ mode.
5201         * lib/unistd.in.h: Include c++defs.h.
5202         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
5203         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
5204         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
5205         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
5206         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
5207         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
5208         symbol.
5209         (environ): Update.
5210         * modules/unistd (Depends-on): Add c++defs.
5211         (Makefile.am): Update unistd.h rule.
5212
5213         time: Avoid #define replacements in C++ mode.
5214         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
5215         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
5216         define a namespaced alias symbol.
5217         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
5218         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
5219         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
5220         * modules/time (Depends-on): Add c++defs, warn-on-use.
5221         (Makefile.am): Update time.h rule.
5222         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
5223         * modules/nanosleep (configure.ac): Likewise.
5224         * modules/strptime (configure.ac): Likewise.
5225         * modules/timegm (configure.ac): Likewise.
5226
5227         sys_time: Avoid #define replacements in C++ mode.
5228         * lib/sys_time.in.h: Include c++defs.h.
5229         (gettimeofday): In C++, define a namespaced alias symbol.
5230         * modules/sys_time (Depends-on): Add c++defs.
5231         (Makefile.am): Update sys/time.h rule.
5232
5233         sys_stat: Avoid #define replacements in C++ mode.
5234         * lib/sys_stat.in.h: Include c++defs.h.
5235         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
5236         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
5237         namespaced alias symbol.
5238         In C++, define a namespaced alias symbol.
5239         * modules/sys_stat (Depends-on): Add c++defs.
5240         (Makefile.am): Update sys/stat.h rule.
5241
5242         sys_socket: Avoid #define replacements in C++ mode.
5243         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
5244         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
5245         definitions also when the system has a <sys/socket.h>.
5246         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
5247         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
5248         In C++, define a namespaced alias symbol.
5249         * modules/sys_socket (Depends-on): Add c++defs.
5250         (Makefile.am): Update sys/socket.h rule.
5251
5252         sys_select: Avoid #define replacements in C++ mode.
5253         * lib/sys_select.in.h: Include c++defs.h. Enable the function
5254         definitions also when the system has a <sys/select.h>.
5255         (select): In C++, define a namespaced alias symbol.
5256         * modules/sys_select (Depends-on): Add c++defs.
5257         (Makefile.am): Update sys/select.h rule.
5258
5259         sys_ioctl: Avoid #define replacements in C++ mode.
5260         * lib/sys_ioctl.in.h: Include c++defs.h.
5261         (ioctl): In C++, define a namespaced alias symbol.
5262         * modules/sys_ioctl (Depends-on): Add c++defs.
5263         (Makefile.am): Update sys/ioctl.h rule.
5264
5265         string: Avoid #define replacements in C++ mode.
5266         * lib/string.in.h: Include c++defs.h.
5267         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
5268         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
5269         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
5270         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
5271         strsignal, strverscmp): In C++, define a namespaced alias symbol.
5272         * modules/string (Depends-on): Add c++defs.
5273         (Makefile.am): Update string.h rule.
5274
5275         stdlib: Avoid #define replacements in C++ mode.
5276         * lib/stdlib.in.h: Include c++defs.h.
5277         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
5278         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
5279         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
5280         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
5281         symbol.
5282         * modules/stdlib (Depends-on): Add c++defs.
5283         (Makefile.am): Update stdlib.h rule.
5284
5285         stdio: Avoid #define replacements in C++ mode.
5286         * lib/stdio.in.h: Include c++defs.h.
5287         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
5288         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
5289         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
5290         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
5291         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
5292         namespaced alias symbol.
5293         * modules/stdio (Depends-on): Add c++defs.
5294         (Makefile.am): Update stdio.h rule.
5295
5296         spawn: Avoid #define replacements in C++ mode.
5297         * lib/spawn.in.h: Include c++defs.h.
5298         (posix_spawn, posix_spawnp, posix_spawnattr_init,
5299         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
5300         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
5301         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
5302         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
5303         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
5304         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
5305         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
5306         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
5307         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
5308         In C++, define a namespaced alias symbol.
5309         * modules/spawn (Depends-on): Add c++defs.
5310         (Makefile.am): Update spawn.h rule.
5311
5312         signal: Avoid #define replacements in C++ mode.
5313         * lib/signal.in.h: Include c++defs.h.
5314         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
5315         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
5316         namespaced alias symbol.
5317         * modules/signal (Depends-on): Add c++defs.
5318         (Makefile.am): Update signal.h rule.
5319
5320         search: Avoid #define replacements in C++ mode.
5321         * lib/search.in.h: Include c++defs.h.
5322         (_gl_search_compar_fn, _gl_search_action_fn): New types.
5323         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
5324         symbol.
5325         * modules/search (Depends-on): Add c++defs.
5326         (Makefile.am): Update search.h rule.
5327
5328         math: Avoid #define replacements in C++ mode.
5329         * lib/math.in.h: Include c++defs.h.
5330         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
5331         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
5332         trunc, truncl): In C++, define a namespaced alias symbol.
5333         * modules/math (Depends-on): Add c++defs.
5334         (Makefile.am): Update math.h rule.
5335
5336         locale: Avoid #define replacements in C++ mode.
5337         * lib/locale.in.h: Include c++defs.h.
5338         (duplocale): In C++, define a namespaced alias symbol.
5339         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
5340         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
5341         * modules/locale (Depends-on): Add c++defs.
5342         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
5343
5344         langinfo: Avoid #define replacements in C++ mode.
5345         * lib/langinfo.in.h: Include c++defs.h.
5346         (nl_langinfo): In C++, define a namespaced alias symbol.
5347         * modules/langinfo (Depends-on): Add c++defs.
5348         (Makefile.am): Update langinfo.h rule.
5349
5350         iconv-h: Avoid #define replacements in C++ mode.
5351         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
5352         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
5353         symbol.
5354         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
5355         whenever iconv is present.
5356         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
5357         (Makefile.am): Update iconv.h rule.
5358
5359         glob: Avoid #define replacements in C++ mode.
5360         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
5361         (_gl_glob_errfunc_fn): New type.
5362         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
5363         symbol.
5364         * modules/glob (Depends-on): Add c++defs, warn-on-use.
5365         (Makefile.am): Update glob.h rule.
5366
5367         fcntl-h: Avoid #define replacements in C++ mode.
5368         * lib/fcntl.in.h: Include c++defs.h.
5369         (fcntl, open, openat): In C++, define a namespaced alias symbol.
5370         * modules/fcntl-h (Depends-on): Add c++defs.
5371         (Makefile.am): Update fcntl.h rule.
5372
5373         dirent: Avoid #define replacements in C++ mode.
5374         * lib/dirent.in.h: Include c++defs.h.
5375         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
5376         namespaced alias symbol.
5377         (dirfd): Update declaration.
5378         * modules/dirent (Depends-on): Add c++defs.
5379         (Makefile.am): Update dirent.h rule.
5380
5381         ctype: Make it usable in C++ code.
5382         * lib/ctype.in.h: Include c++defs.h.
5383         (isblank): Declare as extern "C".
5384         * modules/ctype (Depends-on): Add c++defs.
5385         (Makefile.am): Update ctype.h rule.
5386
5387         New module 'c++defs'.
5388         * modules/c++defs: New file.
5389         * build-aux/c++defs.h: New file.
5390         Reported by John W. Eaton <jwe@gnu.org>.
5391
5392 2010-03-07  Bruno Haible  <bruno@clisp.org>
5393
5394         logb: Provide missing declaration for Cygwin.
5395         * lib/math.in.h (logb): New declaration.
5396         * m4/logb.m4: New file.
5397         * modules/logb (Files): Add m4/logb.m4.
5398         (Depends-on): Add math.
5399         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
5400         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
5401         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
5402         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
5403         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
5404
5405 2010-03-07  Bruno Haible  <bruno@clisp.org>
5406
5407         Fix test-cond link error.
5408         * tests/test-cond.c: Include <stdio.h>.
5409
5410 2010-03-07  Bruno Haible  <bruno@clisp.org>
5411
5412         Fix test-dirent-safer link error.
5413         * modules/dirent-safer-tests (Makefile.am): Define
5414         test_dirent_safer_LDADD.
5415
5416 2010-03-07  Bruno Haible  <bruno@clisp.org>
5417
5418         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
5419         among default module list.
5420
5421 2010-03-07  Bruno Haible  <bruno@clisp.org>
5422
5423         Fix link error on platforms with GNU libiconv.
5424         * modules/unistr/u8-strcoll-tests (Makefile): Define
5425         test_u8_strcoll_LDADD.
5426         * modules/unistr/u16-strcoll-tests (Makefile): Define
5427         test_u16_strcoll_LDADD.
5428         * modules/unistr/u32-strcoll-tests (Makefile): Define
5429         test_u32_strcoll_LDADD.
5430
5431 2010-03-07  Bruno Haible  <bruno@clisp.org>
5432
5433         Use POSIX declarations for socket functions.
5434         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
5435         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
5436         rpl_sendto): Change declaration to match POSIX.
5437         * lib/connect.c (rpl_connect): Likewise.
5438         * lib/accept.c (rpl_accept): Likewise.
5439         * lib/bind.c (rpl_bind): Likewise.
5440         * lib/getpeername.c (rpl_getpeername): Likewise.
5441         * lib/getsockname.c (rpl_getsockname): Likewise.
5442         * lib/recv.c (rpl_recv): Likewise.
5443         * lib/send.c (rpl_send): Likewise.
5444         * lib/recvfrom.c (rpl_recvfrom): Likewise.
5445         * lib/sendto.c (rpl_sendto): Likewise.
5446
5447 2010-03-06  Bruno Haible  <bruno@clisp.org>
5448
5449         Clarify access, euidaccess, faccessat.
5450         * doc/posix-functions/faccessat.texi: Mention security problem under
5451         "Other problems", not "Portability problems".
5452         * doc/posix-functions/access.texi: Likewise. Mention a related security
5453         problem.
5454         * doc/glibc-functions/euidaccess.texi: Mention security problems.
5455         * lib/euidaccess.c: Add comments about platforms.
5456         * lib/unistd.in.h (access, euidaccess): Add warnings.
5457
5458 2010-03-07  Bruno Haible  <bruno@clisp.org>
5459
5460         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
5461         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
5462         (POSIX_SPAWN_SETSCHEDULER): Likewise.
5463         (POSIX_SPAWN_USEVFORK): Define in a way that works when
5464         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
5465         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
5466         declare when POSIX_SPAWN_SETSCHEDULER is zero.
5467         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
5468         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
5469         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
5470         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
5471         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
5472         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
5473         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
5474         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
5475         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
5476         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
5477         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
5478         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
5479         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
5480         Likewise.
5481         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
5482         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
5483         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
5484         Likewise.
5485         * tests/test-spawn.c (main): Make it work when
5486         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
5487
5488 2010-03-07  Bruno Haible  <bruno@clisp.org>
5489
5490         Fix incorrect Makefile.am generation in German locale.
5491         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
5492         Execute sed command with character range in C locale.
5493
5494 2010-03-06  Bruno Haible  <bruno@clisp.org>
5495
5496         Tests for module 'iconv-h'.
5497         * modules/iconv-h-tests: New file.
5498         * tests/test-iconv-h.c: New file.
5499
5500         New module 'iconv-h'.
5501         * modules/iconv-h: New file.
5502         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
5503         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
5504         (configure.ac): Remove gl_ICONV_H.
5505         (Makefile.am): Remove rule for iconv.h.
5506
5507 2010-03-06  Bruno Haible  <bruno@clisp.org>
5508
5509         More consistent naming of *.m4 files.
5510         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
5511         * modules/wctype (Files): Update.
5512
5513         More consistent naming of *.m4 files.
5514         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
5515         * modules/wchar (Files): Update.
5516
5517 2010-03-06  Jim Meyering  <meyering@redhat.com>
5518
5519         euidaccess: relax license to LGPLv2+
5520         * modules/euidaccess (License): Relax to LGPLv2+.
5521
5522 2010-03-06  Bruno Haible  <bruno@clisp.org>
5523
5524         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
5525         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
5526         (Makefile.am): Augment lib_SOURCES instead.
5527
5528 2010-03-04  Jim Meyering  <meyering@redhat.com>
5529
5530         utime: remove obsolete module
5531         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
5532         unnecessary for years, and has been marked as obsolete for 10 months.
5533         * modules/utime: Remove file.
5534         * lib/utime.c: Remove file.
5535         * m4/utime.m4: Remove file.
5536         * m4/utimes-null.m4: Remove file.
5537         * doc/posix-functions/utime.texi (utime): Remove reference to
5538         the module.  Move the sole "fixed by gnulib" item into the
5539         "problems not fixed by Gnulib" list.
5540         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
5541
5542 2010-03-05  Simon Josefsson  <simon@josefsson.org>
5543
5544         * modules/exit (License): Relax license to LGPLv2+.
5545         (Status): Mark as obsolete.
5546         * NEWS: Mention deprecated 'exit' module.
5547         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
5548         of now obsolete 'exit'.
5549
5550 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5551
5552         fts-lgpl: remove unused module
5553         * modules/fts-lgpl: Remove.
5554         * MODULES.html.sh (func_all_modules): Adjust.
5555         * check-module (find_included_lib_files): Adjust.
5556         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
5557
5558 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
5559
5560         copy-acl: enhance Solaris ACL error handling
5561         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
5562         * lib/set-mode-acl.c (qset_acl): Likewise.
5563
5564 2010-03-02  Bruno Haible  <bruno@clisp.org>
5565
5566         spawn: Don't override the system defined values on FreeBSD 8.
5567         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
5568         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
5569         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
5570         if HAVE_POSIX_SPAWN is 1.
5571         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
5572
5573 2010-03-01  Bruno Haible  <bruno@clisp.org>
5574
5575         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
5576         regarding Automake.
5577
5578 2010-02-25  Bruno Haible  <bruno@clisp.org>
5579
5580         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
5581         * gnulib-tool: Define 'echo' as a function only before the ksh alias
5582         setting, not afterwards.
5583         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
5584
5585 2010-02-24  Eric Blake  <eblake@redhat.com>
5586
5587         bootstrap, git-version-gen: use timestamp
5588         * build-aux/git-version-gen (scriptversion): Force UTC.
5589         * build-aux/bootstrap (scriptversion): New variable.
5590
5591         bootstrap: allow older git
5592         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
5593         older than 1.6.4.  Requested by the libvirt project.
5594
5595 2010-02-23  Eric Blake  <eblake@redhat.com>
5596
5597         warn-on-use: work with old autoconf
5598         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
5599         AS_VAR semantics of autoconf 2.60.
5600         Reported by Bruno Haible.
5601
5602         bootstrap: improve some comments
5603         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
5604         clarification comments.
5605
5606         gettimeofday: provide correct function
5607         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
5608         when replacement is declared, otherwise provide gettimeofday.
5609         Reported by Michael Goffioul.
5610
5611 2010-02-23  Jim Meyering  <meyering@redhat.com>
5612
5613         lib-ignore: relax license to "unlimited", not LGPLv2+
5614         * modules/lib-ignore (License): Relax to "unlimited".
5615
5616 2010-02-23  Jim Meyering  <meyering@redhat.com>
5617
5618         lib-ignore: relax license to LGPLv2+
5619         * modules/lib-ignore (License): Relax to LGPLv2+.
5620
5621 2010-02-22  Eric Blake  <eblake@redhat.com>
5622
5623         lseek: avoid bash 3.2 broken pipe bug
5624         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
5625         warning from bash 3.2.
5626         Reported by Ben Pfaff, with analysis from Bruno Haible.
5627
5628         bootstrap: support non-FSF copyright holder
5629         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
5630         bootstrap.conf override of COPYRIGHT_HOLDER.
5631         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
5632
5633         bootstrap: interoperate with gettext 0.14.1
5634         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
5635
5636         bootstrap: allow for alternate submodule location
5637         * build-aux/bootstrap (gnulib_path): New variable; use instead of
5638         hardcoding submodule location.
5639         (gnulib_mk): Allow direct use of Makefile.am.
5640
5641         bootstrap: use GNULIB_SRCDIR to reduce disk usage
5642         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
5643         rather than reconfiguring where the submodule points.
5644
5645         gettimeofday: restore support for platforms that lack function
5646         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
5647         replacement if function is missing.
5648         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
5649         * modules/sys_time (Makefile.am): Substitute it.
5650         * lib/sys_time.in.h (gettimeofday): Check it.
5651         Reported by Michael Goffioul.
5652
5653 2010-02-21  Bruno Haible  <bruno@clisp.org>
5654
5655         * lib/stdio.in.h (obstack_printf): Fix typo.
5656
5657 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
5658
5659         vc-list-files: use bzr ls's -R option
5660         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
5661         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
5662
5663 2010-02-21  Jim Meyering  <meyering@redhat.com>
5664
5665         init.sh: fix EXEEXT shims to work also for names like test-prog
5666         * tests/init.sh: Re-exec a better shell, when needed.
5667         If the current shell lacks support for posix $(...), an init.sh-using
5668         test will now try to find a shell that supports that.  If EXEEXT is
5669         nonempty, we also require support for hyphen-in-alias-name and shell
5670         substitutions like ${var#glob}.  Failure to find such a shell results
5671         in a skipped test.
5672
5673 2010-02-21  Bruno Haible  <bruno@clisp.org>
5674
5675         Really work around around "broken pipe" error message from bash 3.2.
5676         * gnulib-tool (func_reset_sigpipe): Remove function.
5677         (echo): In bash 3.2, define to a function that uses printf.
5678         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
5679
5680 2010-02-20  Bruno Haible  <bruno@clisp.org>
5681
5682         Restore support for automake 1.9.6 with autoconf 2.61.
5683         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
5684         Reported by James Youngman <jay@gnu.org>.
5685
5686 2010-02-20  Bruno Haible  <bruno@clisp.org>
5687
5688         Improve *printf warning condition.
5689         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
5690         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
5691         and the function is overridden due to SIGPIPE emulation.
5692
5693 2010-02-20  Bruno Haible  <bruno@clisp.org>
5694
5695         * lib/stdio.in.h: Tweak comments.
5696
5697 2010-02-19  Bruno Haible  <bruno@clisp.org>
5698
5699         Make it easier to find modules. New gnulib-tool option '--find'.
5700         * gnulib-tool: New option --find.
5701         (func_usage): Document it.
5702         (func_sanitize_modulelist): New function, extracted from
5703         func_all_modules.
5704         (func_all_modules): Invoke it.
5705         * doc/gnulib-tool.texi (Which modules?): New node.
5706
5707 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
5708
5709         * lib/sys_select.in.h: Provide select replacement even if
5710         sys/select.h exists on a system, for Interix.
5711
5712 2010-02-18  Jim Meyering  <meyering@redhat.com>
5713
5714         init.sh: don't use $(...) just yet
5715         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
5716         to accommodate e.g., Solaris' /bin/sh.
5717
5718 2010-02-17  Bruno Haible  <bruno@clisp.org>
5719
5720         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
5721         Reported by Ludovic Courtès <ludo@gnu.org>.
5722
5723 2010-02-16  Simon Josefsson  <simon@josefsson.org>
5724
5725         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
5726         linking with -lintl.
5727
5728 2010-02-17  Simon Josefsson  <simon@josefsson.org>
5729
5730         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
5731         if not provided by the system's netdb.h.  Reported by
5732         ludo@gnu.org (Ludovic Courtès).
5733
5734 2010-02-15  Jim Meyering  <meyering@redhat.com>
5735
5736         init.sh: improve portability and efficiency
5737         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
5738         "dummy" in a for loop.
5739         Use '!', not '^' to select the complement of a character set used
5740         in a "case" statement.
5741         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
5742         Suggestions from Eric Blake.
5743
5744         init.sh: automatically accommodate programs with the .exe suffix
5745         Automatically arrange for an invocation of "prog" to execute the
5746         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
5747         may use the simpler "prog", yet still work when built on a system
5748         that requires specifying the added suffix.
5749         Do this by constructing a function named "prog" that invokes
5750         "prog.exe" for each .exe file in selected directories.
5751         * tests/init.sh (find_exe_basenames_): New function.
5752         (create_exe_shim_functions_): New function.
5753         (path_prepend_): Use it.
5754
5755         maint.mk: mark syntax-check sc_*.m rules as .PHONY
5756         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
5757         "make -t syntax-check" doesn't create a ton of sc_*.m files.
5758
5759 2010-02-14  Jim Meyering  <meyering@redhat.com>
5760
5761         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
5762         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
5763         (sc_prohibit_hash_pjw_without_use): New rule.
5764
5765         maint.mk: allow the default upload destination dir to be overridden
5766         * top/maint.mk (upload_dest_dir_): Define with a default that
5767         preserves the status quo.
5768         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
5769         Reported by Peter Simons.
5770
5771         maint.mk: prohibit inclusion of "hash.h" without_use
5772         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
5773
5774 2010-02-10  Jim Meyering  <meyering@redhat.com>
5775
5776         maint.mk: prohibit inclusion of "ignore-value.h" without_use
5777         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
5778
5779 2010-02-09  Eric Blake  <ebb9@byu.net>
5780         and Bruno Haible  <bruno@clisp.org>
5781
5782         obstack-printf-posix: ensure declaration
5783         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
5784         extracted from gl_FUNC_OBSTACK_PRINTF.
5785         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
5786         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
5787         Likewise.
5788         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
5789         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
5790         0.
5791
5792 2010-02-08  Bruno Haible  <bruno@clisp.org>
5793
5794         gnulib-tool: Fix typo in 2010-02-07 commit.
5795         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
5796         Reported by Eric Blake.
5797
5798 2010-02-07  Bruno Haible  <bruno@clisp.org>
5799
5800         gnulib-tool: Fix up caching patches.
5801         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
5802         option --no-cache. Use associative arrays when supported by the shell.
5803         (sed_comments): New variable.
5804         (modcache): Renamed from do_cache.
5805         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
5806         abbreviate unnecessarily.
5807         (have_associative): New variable.
5808         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
5809         way also for ksh and zsh.
5810         (func_init_sed_convert_to_cache_statements): New function, extracted
5811         from func_cache_lookup_module. Add support for associative arrays.
5812         Don't set the c_MODULE_cached variable here. Ignore all lines before
5813         the first field header. Remove only the final newline, not all trailing
5814         newlines. Support empty fields correctly. Limit the use of 'eval' to
5815         assignments.
5816         (func_get_description, func_get_status, func_get_notice,
5817         func_get_applicability, func_get_filelist, func_get_dependencies,
5818         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
5819         func_get_automake_snippet, func_get_include_directive,
5820         func_get_link_directive, func_get_license, func_get_maintainer):
5821         Update documentation. List the unoptimized code first. Add support for
5822         associative arrays. Limit the use of 'eval' to assignments.
5823         (func_get_applicability): Undo stylistic pessimisations.
5824         (func_get_automake_snippet, func_get_include_directive): Reduce code
5825         duplication.
5826         (func_modules_transitive_closure, func_modules_add_dummy,
5827         func_modules_notice, func_modules_to_filelist, func_add_file,
5828         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
5829         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
5830         func_create_testdir, func_create_megatestdir): Update documentation.
5831
5832 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5833
5834         * gnulib-tool (func_cache_lookup_module): Store the module name
5835         belonging to the cache variable; error out if two different
5836         module names map to the same cache variable name.
5837
5838 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5839
5840         gnulib-tool: Make caching optional.
5841         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
5842         Update matching short versions of --no-changelog.
5843         (func_usage): Update.
5844         (sed_extract_cache_prog): Renamed from ...
5845         (sed_extract_prog): ... this; revert to old extraction script.
5846         (func_get_description, func_get_status)
5847         (func_get_notice, func_get_applicability, func_get_filelist)
5848         (func_get_dependencies, func_get_autoconf_early_snippet)
5849         (func_get_autoconf_snippet, func_get_automake_snippet)
5850         (func_get_include_directive, func_get_link_directive)
5851         (func_get_license, func_get_maintainer): If $do_cache is false,
5852         use old, non-caching extraction scripts.
5853         Suggestion by Bruno Haible.
5854
5855 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5856
5857         gnulib-tool: cache module metainformation.
5858         * gnulib-tool (sed_extract_prog): Match newline before each
5859         header, and rewrite header to a shell variable suffix.
5860         (func_cache_var, func_cache_lookup_module): New functions,
5861         to turn a module name into a cache variable prefix, and to
5862         look up and cache module metainformation.
5863         (func_get_description, func_get_status)
5864         (func_get_notice, func_get_applicability, func_get_filelist)
5865         (func_get_dependencies, func_get_autoconf_early_snippet)
5866         (func_get_autoconf_snippet, func_get_automake_snippet)
5867         (func_get_include_directive, func_get_link_directive)
5868         (func_get_license, func_get_maintainer): Use
5869         func_cache_lookup_module.
5870
5871 2010-02-07  Bruno Haible  <bruno@clisp.org>
5872
5873         fnctl: Fix missing dependency.
5874         * modules/fcntl (Depends-on): Add getdtablesize.
5875         Reported by John W. Eaton <jwe@gnu.org>.
5876
5877 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
5878
5879         Argp: fix recognition of short alias options.
5880
5881         * lib/argp-parse.c (convert_options): Fix improper use of
5882         `|' between character values.
5883         * tests/test-argp.c (group1_option): New alias option
5884         --read (-r).
5885         (group1_parser): Special handling for 'r'.
5886         (test15): New test case.
5887         (test_fun): Add test15.
5888         * tests/test-argp-2.sh: Update expected --help and --usage
5889         outputs.
5890
5891 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
5892
5893         * tests/test-argp.c: Fix indentation.
5894
5895 2010-02-04  Eric Blake  <ebb9@byu.net>
5896
5897         gettimeofday: expose type of second argument
5898         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
5899         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
5900         * tests/test-gettimeofday.c: Use it to silence warning.
5901         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
5902         the issue.
5903
5904 2010-02-03  Jim Meyering  <meyering@redhat.com>
5905
5906         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
5907         * lib/regcomp.c (TYPE_SIGNED): Define.
5908         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
5909
5910         regcomp.c: avoid a new -Wshadow warning
5911         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
5912
5913 2010-02-01  Jim Meyering  <meyering@redhat.com>
5914
5915         removing useless parentheses in cpp #define directives
5916         For motivation, see commit c0221df4, "define STREQ(a,b)
5917         consistently, removing useless parentheses"
5918         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
5919         * lib/mountlist.c (MNT_IGNORE): Likewise.
5920         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
5921
5922 2010-02-01  Eric Blake  <ebb9@byu.net>
5923
5924         sys_time: use link-warning
5925         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
5926         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
5927         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
5928         * modules/sys_time (Depends-on): Add warn-on-use.
5929         (Makefile.am): Always build replacement.
5930         (configure.ac): Update substitutions.
5931         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
5932         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
5933         bother with SYS_TIME_H.
5934         * modules/gettimeofday (configure.ac): Declare indicator.
5935         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
5936         in use.
5937
5938         closein-tests: silence compiler warning
5939         * tests/test-closein.c (main): Ignore fread result.
5940         * modules/closein-tests (Depends-on): Add ignore-value.
5941
5942         tests: silence warning about system return
5943         * tests/test-areadlink-with-size.c (main): Ignore system result.
5944         * tests/test-areadlink.c (main): Likewise.
5945         * tests/test-areadlinkat-with-size.c (main): Likewise.
5946         * tests/test-areadlinkat.c (main): Likewise.
5947         * tests/test-canonicalize-lgpl.c (main): Likewise.
5948         * tests/test-canonicalize.c (main): Likewise.
5949         * tests/test-chown.c (main): Likewise.
5950         * tests/test-fchownat.c (main): Likewise.
5951         * tests/test-fdutimensat.c (main): Likewise.
5952         * tests/test-fstatat.c (main): Likewise.
5953         * tests/test-futimens.c (main): Likewise.
5954         * tests/test-lchown.c (main): Likewise.
5955         * tests/test-link.c (main): Likewise.
5956         * tests/test-linkat.c (main): Likewise.
5957         * tests/test-lstat.c (main): Likewise.
5958         * tests/test-mkdir.c (main): Likewise.
5959         * tests/test-mkdirat.c (main): Likewise.
5960         * tests/test-mkfifo.c (main): Likewise.
5961         * tests/test-mkfifoat.c (main): Likewise.
5962         * tests/test-mknod.c (main): Likewise.
5963         * tests/test-readlink.c (main): Likewise.
5964         * tests/test-remove.c (main): Likewise.
5965         * tests/test-rename.c (main): Likewise.
5966         * tests/test-renameat.c (main): Likewise.
5967         * tests/test-rmdir.c (main): Likewise.
5968         * tests/test-symlink.c (main): Likewise.
5969         * tests/test-symlinkat.c (main): Likewise.
5970         * tests/test-unlink.c (main): Likewise.
5971         * tests/test-unlinkat.c (main): Likewise.
5972         * tests/test-utimens.c (main): Likewise.
5973         * tests/test-utimensat.c (main): Likewise.
5974         * modules/areadlink-tests (Depends-on): Add ignore-value.
5975         * modules/areadlink-with-size-tests (Depends-on): Likewise.
5976         * modules/areadlinkat-tests (Depends-on): Likewise.
5977         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
5978         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
5979         * modules/canonicalize-tests (Depends-on): Likewise.
5980         * modules/chown-tests (Depends-on): Likewise.
5981         * modules/fdutimensat-tests (Depends-on): Likewise.
5982         * modules/futimens-tests (Depends-on): Likewise.
5983         * modules/lchown-tests (Depends-on): Likewise.
5984         * modules/link-tests (Depends-on): Likewise.
5985         * modules/linkat-tests (Depends-on): Likewise.
5986         * modules/lstat-tests (Depends-on): Likewise.
5987         * modules/mkdir-tests (Depends-on): Likewise.
5988         * modules/mkfifo-tests (Depends-on): Likewise.
5989         * modules/mkfifoat-tests (Depends-on): Likewise.
5990         * modules/mknod-tests (Depends-on): Likewise.
5991         * modules/openat-tests (Depends-on): Likewise.
5992         * modules/readlink-tests (Depends-on): Likewise.
5993         * modules/remove-tests (Depends-on): Likewise.
5994         * modules/rename-tests (Depends-on): Likewise.
5995         * modules/renameat-tests (Depends-on): Likewise.
5996         * modules/rmdir-tests (Depends-on): Likewise.
5997         * modules/symlink-tests (Depends-on): Likewise.
5998         * modules/symlinkat-tests (Depends-on): Likewise.
5999         * modules/unlink-tests (Depends-on): Likewise.
6000         * modules/utimens-tests (Depends-on): Likewise.
6001         * modules/utimensat-tests (Depends-on): Likewise.
6002
6003 2010-01-31  Bruno Haible  <bruno@clisp.org>
6004
6005         Perform the same test for many <math.h> functions.
6006         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
6007         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
6008         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
6009         of gl_MATHFUNC.
6010         * modules/acos (configure.ac): Likewise.
6011         * modules/asin (configure.ac): Likewise.
6012         * modules/atan (configure.ac): Likewise.
6013         * modules/atan2 (configure.ac): Likewise.
6014         * modules/cbrt (configure.ac): Likewise.
6015         * modules/copysign (configure.ac): Likewise.
6016         * modules/cos (configure.ac): Likewise.
6017         * modules/cosh (configure.ac): Likewise.
6018         * modules/erf (configure.ac): Likewise.
6019         * modules/erfc (configure.ac): Likewise.
6020         * modules/exp (configure.ac): Likewise.
6021         * modules/fmod (configure.ac): Likewise.
6022         * modules/hypot (configure.ac): Likewise.
6023         * modules/j0 (configure.ac): Likewise.
6024         * modules/j1 (configure.ac): Likewise.
6025         * modules/jn (configure.ac): Likewise.
6026         * modules/lgamma (configure.ac): Likewise.
6027         * modules/log (configure.ac): Likewise.
6028         * modules/log10 (configure.ac): Likewise.
6029         * modules/log1p (configure.ac): Likewise.
6030         * modules/pow (configure.ac): Likewise.
6031         * modules/remainder (configure.ac): Likewise.
6032         * modules/sin (configure.ac): Likewise.
6033         * modules/sinh (configure.ac): Likewise.
6034         * modules/tan (configure.ac): Likewise.
6035         * modules/tanh (configure.ac): Likewise.
6036         * modules/y0 (configure.ac): Likewise.
6037         * modules/y1 (configure.ac): Likewise.
6038         * modules/yn (configure.ac): Likewise.
6039         Suggested by Paolo Bonzini.
6040
6041 2010-01-31  Bruno Haible  <bruno@clisp.org>
6042
6043         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
6044
6045 2010-01-31  Bruno Haible  <bruno@clisp.org>
6046
6047         Work around getdelim() bug on FreeBSD 8.0.
6048         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
6049         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
6050         not work.
6051         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
6052         is 1.
6053         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
6054         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
6055         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
6056         a non-zero size.
6057         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
6058
6059 2010-01-31  Bruno Haible  <bruno@clisp.org>
6060
6061         Work around getline() bug on FreeBSD 8.0.
6062         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
6063         and a non-zero size.
6064         * tests/test-getline.c (main): Likewise.
6065         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
6066         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
6067
6068 2010-01-28  Eric Blake  <ebb9@byu.net>
6069
6070         regex: fix build failure
6071         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
6072         platforms.
6073
6074 2010-01-28  Jim Meyering  <meyering@redhat.com>
6075
6076         regex: do not ignore memory allocation failure
6077         * lib/regex_internal.c (create_cd_newstate): Detect
6078         re_node_set_init_copy failure.   Extracted from glibc commit
6079         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
6080
6081         regex: sync more white-space changes from libc
6082         * lib/regex_internal.c: White-space only changes.
6083         * lib/regexec.c: Likewise.
6084
6085         regex: add many uses of __attribute_warn_unused_result__
6086         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
6087         * lib/regexec.c: Likewise.
6088         Extracted from a messy glibc commit.
6089
6090         regcomp.c: spelling and merge-artifact from glibc
6091         * lib/regcomp.c: Merge remainder of glibc's
6092         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
6093
6094         regcomp.c: sync white-space changes from glibc
6095         * lib/regcomp.c: Merge to accommodate white space
6096         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
6097
6098         regcomp.c: do not ignore internal return values
6099         * lib/regcomp.c: Do not ignore internal return values.
6100         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
6101         but without its white-space changes and spelling fixes.
6102
6103         regex_internal.h: define __attribute_warn_unused_result__
6104         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
6105
6106         maint: add a syntax-check rule to check for vulnerable Makefile.in
6107         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
6108
6109 2010-01-27  Jim Meyering  <meyering@redhat.com>
6110
6111         ncftpput-ftp: clean up spaces
6112         * build-aux/ncftpput-ftp: Make Copyright line consistent.
6113         Remove trailing blanks.
6114
6115 2010-01-27  Simon Josefsson  <simon@josefsson.org>
6116
6117         * build-aux/git-version-gen: Fix copyright statement.
6118         * build-aux/gnupload: Likewise.
6119         * tests/test-arcfour.c: Likewise.
6120         * tests/test-arctwo.c: Likewise.
6121         * tests/test-count-one-bits.c: Likewise.
6122         * tests/test-crc.c: Likewise.
6123         * tests/test-des.c: Likewise.
6124         * tests/test-gc-arcfour.c: Likewise.
6125         * tests/test-gc-arctwo.c: Likewise.
6126         * tests/test-gc-des.c: Likewise.
6127         * tests/test-gc-hmac-md5.c: Likewise.
6128         * tests/test-gc-hmac-sha1.c: Likewise.
6129         * tests/test-gc-md2.c: Likewise.
6130         * tests/test-gc-md4.c: Likewise.
6131         * tests/test-gc-md5.c: Likewise.
6132         * tests/test-gc-pbkdf2-sha1.c: Likewise.
6133         * tests/test-gc-rijndael.c: Likewise.
6134         * tests/test-gc-sha1.c: Likewise.
6135         * tests/test-gc.c: Likewise.
6136         * tests/test-gethostname.c: Likewise.
6137         * tests/test-gettimeofday.c: Likewise.
6138         * tests/test-hash.c: Likewise.
6139         * tests/test-hmac-md5.c: Likewise.
6140         * tests/test-hmac-sha1.c: Likewise.
6141         * tests/test-md2.c: Likewise.
6142         * tests/test-md4.c: Likewise.
6143         * tests/test-md5.c: Likewise.
6144         * tests/test-memchr.c: Likewise.
6145         * tests/test-memchr2.c: Likewise.
6146         * tests/test-memcmp.c: Likewise.
6147         * tests/test-memmem.c: Likewise.
6148         * tests/test-memrchr.c: Likewise.
6149         * tests/test-rawmemchr.c: Likewise.
6150         * tests/test-read-file.c: Likewise.
6151         * tests/test-rijndael.c: Likewise.
6152         * tests/test-sockets.c: Likewise.
6153         * tests/test-strchrnul.c: Likewise.
6154         * tests/test-strstr.c: Likewise.
6155         * tests/test-strtod.c: Likewise.
6156         * build-aux/ncftpput-ftp: Likewise.
6157
6158 2010-01-26  Eric Blake  <ebb9@byu.net>
6159
6160         ignore-value: update recommended header name
6161         * modules/ignore-value (Include): Only use <> for headers that
6162         exist in glibc.
6163
6164 2010-01-26  Jim Meyering  <meyering@redhat.com>
6165
6166         test-userspec.c: avoid compiler warnings
6167         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
6168         and "initialization discards qualifiers..." warnings.
6169         Put the first "uid" in its own scope, and make char* members "const".
6170
6171 2010-01-25  Bruno Haible  <bruno@clisp.org>
6172
6173         gnulib-tool: Make warning diagnostics consistent.
6174         * gnulib-tool (func_warning): New function.
6175         Use it everywhere where gnulib-tool produces output to stderr and it is
6176         not a fatal error.
6177
6178 2010-01-25  Bruno Haible  <bruno@clisp.org>
6179
6180         Fix test dependencies.
6181         * modules/xstrtol-tests (Depends-on): Add inttypes.
6182         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
6183
6184 2010-01-25 Pádraig Brady <P@draigBrady.com>
6185
6186         syntax-check: detect incorrect boolean macro values in config.h
6187         * modules/maintainer-makefile (configure.ac): Parameterize the location
6188         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
6189         The logic is from Eric Blake and the location indicated by Jim Meyering.
6190         Note the more natural CONFIG_HEADER name is prohibited by automake
6191         for backwards compatibility reasons.
6192         * top/maint.mk (sc_Wundef_boolean): New rule.
6193
6194 2010-01-25  Jim Meyering  <meyering@redhat.com>
6195
6196         bootstrap: detect MacOS 10.6's shasum, too
6197         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
6198         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
6199
6200 2010-01-23  Jim Meyering  <meyering@redhat.com>
6201
6202         xstrtoll: new module
6203         * modules/xstrtoll: New file.
6204         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
6205         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
6206         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
6207         ./configure fails if you use this module and lack "long long".
6208         * modules/xstrtoll-tests: New module.
6209         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
6210         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
6211         new init.sh-based test framework.
6212
6213 2010-01-24  Bruno Haible  <bruno@clisp.org>
6214
6215         Tests for module 'yn'.
6216         * modules/yn-tests: New file.
6217         * tests/test-yn.c: New file.
6218
6219         Tests for module 'y1'.
6220         * modules/y1-tests: New file.
6221         * tests/test-y1.c: New file.
6222
6223         Tests for module 'y0'.
6224         * modules/y0-tests: New file.
6225         * tests/test-y0.c: New file.
6226
6227         Tests for module 'tanh'.
6228         * modules/tanh-tests: New file.
6229         * tests/test-tanh.c: New file.
6230
6231         Tests for module 'tan'.
6232         * modules/tan-tests: New file.
6233         * tests/test-tan.c: New file.
6234
6235         Tests for module 'sqrt'.
6236         * modules/sqrt-tests: New file.
6237         * tests/test-sqrt.c: New file.
6238
6239         Tests for module 'sinh'.
6240         * modules/sinh-tests: New file.
6241         * tests/test-sinh.c: New file.
6242
6243         Tests for module 'sin'.
6244         * modules/sin-tests: New file.
6245         * tests/test-sin.c: New file.
6246
6247         Tests for module 'rint'.
6248         * modules/rint-tests: New file.
6249         * tests/test-rint.c: New file.
6250
6251         Tests for module 'remainder'.
6252         * modules/remainder-tests: New file.
6253         * tests/test-remainder.c: New file.
6254
6255         Tests for module 'pow'.
6256         * modules/pow-tests: New file.
6257         * tests/test-pow.c: New file.
6258
6259         Tests for module 'nextafter'.
6260         * modules/nextafter-tests: New file.
6261         * tests/test-nextafter.c: New file.
6262
6263         Tests for module 'modf'.
6264         * modules/modf-tests: New file.
6265         * tests/test-modf.c: New file.
6266
6267         Tests for module 'logb'.
6268         * modules/logb-tests: New file.
6269         * tests/test-logb.c: New file.
6270
6271         Tests for module 'log1p'.
6272         * modules/log1p-tests: New file.
6273         * tests/test-log1p.c: New file.
6274
6275         Tests for module 'log10'.
6276         * modules/log10-tests: New file.
6277         * tests/test-log10.c: New file.
6278
6279         Tests for module 'log'.
6280         * modules/log-tests: New file.
6281         * tests/test-log.c: New file.
6282
6283         Tests for module 'lgamma'.
6284         * modules/lgamma-tests: New file.
6285         * tests/test-lgamma.c: New file.
6286
6287         Tests for module 'ldexp'.
6288         * modules/ldexp-tests: New file.
6289         * tests/test-ldexp.c: New file.
6290
6291         Tests for module 'jn'.
6292         * modules/jn-tests: New file.
6293         * tests/test-jn.c: New file.
6294
6295         Tests for module 'j1'.
6296         * modules/j1-tests: New file.
6297         * tests/test-j1.c: New file.
6298
6299         Tests for module 'j0'.
6300         * modules/j0-tests: New file.
6301         * tests/test-j0.c: New file.
6302
6303         Tests for module 'hypot'.
6304         * modules/hypot-tests: New file.
6305         * tests/test-hypot.c: New file.
6306
6307         Tests for module 'fmod'.
6308         * modules/fmod-tests: New file.
6309         * tests/test-fmod.c: New file.
6310
6311         Tests for module 'fabs'.
6312         * modules/fabs-tests: New file.
6313         * tests/test-fabs.c: New file.
6314
6315         Tests for module 'exp'.
6316         * modules/exp-tests: New file.
6317         * tests/test-exp.c: New file.
6318
6319         Tests for module 'erfc'.
6320         * modules/erfc-tests: New file.
6321         * tests/test-erfc.c: New file.
6322
6323         Tests for module 'erf'.
6324         * modules/erf-tests: New file.
6325         * tests/test-erf.c: New file.
6326
6327         Tests for module 'cosh'.
6328         * modules/cosh-tests: New file.
6329         * tests/test-cosh.c: New file.
6330
6331         Tests for module 'cos'.
6332         * modules/cos-tests: New file.
6333         * tests/test-cos.c: New file.
6334
6335         Tests for module 'copysign'.
6336         * modules/copysign-tests: New file.
6337         * tests/test-copysign.c: New file.
6338
6339         Tests for module 'cbrt'.
6340         * modules/cbrt-tests: New file.
6341         * tests/test-cbrt.c: New file.
6342
6343         Tests for module 'atan2'.
6344         * modules/atan2-tests: New file.
6345         * tests/test-atan2.c: New file.
6346
6347         Tests for module 'atan'.
6348         * modules/atan-tests: New file.
6349         * tests/test-atan.c: New file.
6350
6351         Tests for module 'asin'.
6352         * modules/asin-tests: New file.
6353         * tests/test-asin.c: New file.
6354
6355         Tests for module 'acos'.
6356         * modules/acos-tests: New file.
6357         * tests/test-acos.c: New file.
6358
6359 2010-01-24  Bruno Haible  <bruno@clisp.org>
6360
6361         Fix tests for common <math.h> functions.
6362         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
6363         code snippet that references the function pointer, rather than merely
6364         calling the function. Substitute the FUNC_LIBM variable.
6365         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
6366         * modules/acos (configure.ac): Likewise.
6367         * modules/asin (configure.ac): Likewise.
6368         * modules/atan (configure.ac): Likewise.
6369         * modules/atan2 (configure.ac): Likewise.
6370         * modules/cbrt (configure.ac): Likewise.
6371         * modules/copysign (configure.ac): Likewise.
6372         * modules/cos (configure.ac): Likewise.
6373         * modules/cosh (configure.ac): Likewise.
6374         * modules/erf (configure.ac): Likewise.
6375         * modules/erfc (configure.ac): Likewise.
6376         * modules/exp (configure.ac): Likewise.
6377         * modules/fabs (configure.ac): Likewise.
6378         * modules/fmod (configure.ac): Likewise.
6379         * modules/hypot (configure.ac): Likewise.
6380         * modules/j0 (configure.ac): Likewise.
6381         * modules/j1 (configure.ac): Likewise.
6382         * modules/jn (configure.ac): Likewise.
6383         * modules/ldexp (configure.ac): Likewise.
6384         * modules/lgamma (configure.ac): Likewise.
6385         * modules/log (configure.ac): Likewise.
6386         * modules/log10 (configure.ac): Likewise.
6387         * modules/log1p (configure.ac): Likewise.
6388         * modules/logb (configure.ac): Likewise.
6389         * modules/modf (configure.ac): Likewise.
6390         * modules/nextafter (configure.ac): Likewise.
6391         * modules/pow (configure.ac): Likewise.
6392         * modules/remainder (configure.ac): Likewise.
6393         * modules/rint (configure.ac): Likewise.
6394         * modules/sin (configure.ac): Likewise.
6395         * modules/sinh (configure.ac): Likewise.
6396         * modules/tan (configure.ac): Likewise.
6397         * modules/tanh (configure.ac): Likewise.
6398         * modules/y0 (configure.ac): Likewise.
6399         * modules/y1 (configure.ac): Likewise.
6400         * modules/yn (configure.ac): Likewise.
6401
6402 2010-01-24  Bruno Haible  <bruno@clisp.org>
6403
6404         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
6405         * tests/test-acosl.c (x): New variable.
6406         (main): Store argument in x and fetch it from x.
6407         * tests/test-asinl.c (x): New variable.
6408         (main): Store argument in x and fetch it from x.
6409         * tests/test-atanl.c (x): New variable.
6410         (main): Store argument in x and fetch it from x.
6411         * tests/test-cosl.c (x): New variable.
6412         (main): Store argument in x and fetch it from x.
6413         * tests/test-expl.c (x): New variable.
6414         (main): Store argument in x and fetch it from x.
6415         * tests/test-logl.c (x): New variable.
6416         (main): Store argument in x and fetch it from x.
6417         * tests/test-sinl.c (x): New variable.
6418         (main): Store argument in x and fetch it from x.
6419         * tests/test-sqrtl.c (x): New variable.
6420         (main): Store argument in x and fetch it from x.
6421         * tests/test-tanl.c (x): New variable.
6422         (main): Store argument in x and fetch it from x.
6423
6424 2010-01-24  Bruno Haible  <bruno@clisp.org>
6425
6426         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
6427         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
6428         assignments to the initial TESTS_ENVIRONMENT.
6429         * doc/gnulib.texi (Unit test modules): Document it.
6430         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
6431         TESTS_ENVIRONMENT.
6432         * modules/btowc-tests (Makefile.am): Likewise.
6433         * modules/c-stack-tests (Makefile.am): Likewise.
6434         * modules/c-strcase-tests (Makefile.am): Likewise.
6435         * modules/copy-file-tests (Makefile.am): Likewise.
6436         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
6437         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
6438         * modules/mbrtowc-tests (Makefile.am): Likewise.
6439         * modules/mbscasecmp-tests (Makefile.am): Likewise.
6440         * modules/mbscasestr-tests (Makefile.am): Likewise.
6441         * modules/mbschr-tests (Makefile.am): Likewise.
6442         * modules/mbscspn-tests (Makefile.am): Likewise.
6443         * modules/mbsinit-tests (Makefile.am): Likewise.
6444         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
6445         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
6446         * modules/mbspbrk-tests (Makefile.am): Likewise.
6447         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
6448         * modules/mbsrchr-tests (Makefile.am): Likewise.
6449         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
6450         * modules/mbsspn-tests (Makefile.am): Likewise.
6451         * modules/mbsstr-tests (Makefile.am): Likewise.
6452         * modules/nl_langinfo-tests (Makefile.am): Likewise.
6453         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
6454         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
6455         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
6456         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
6457         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
6458         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
6459         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
6460         * modules/wcrtomb-tests (Makefile.am): Likewise.
6461         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
6462         * modules/wcsrtombs-tests (Makefile.am): Likewise.
6463         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
6464         assignments from TESTS_ENVIRONMENT.
6465         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
6466         augmentation.
6467         * modules/argp-version-etc-tests (Makefile.am): Likewise.
6468         * modules/atexit-tests (Makefile.am): Likewise.
6469         * modules/binary-io-tests (Makefile.am): Likewise.
6470         * modules/closein-tests (Makefile.am): Likewise.
6471         * modules/dprintf-posix-tests (Makefile.am): Likewise.
6472         * modules/exclude-tests (Makefile.am): Likewise.
6473         * modules/fflush-tests (Makefile.am): Likewise.
6474         * modules/fpending-tests (Makefile.am): Likewise.
6475         * modules/fprintf-posix-tests (Makefile.am): Likewise.
6476         * modules/freadahead-tests (Makefile.am): Likewise.
6477         * modules/freadptr-tests (Makefile.am): Likewise.
6478         * modules/freadseek-tests (Makefile.am): Likewise.
6479         * modules/fseek-tests (Makefile.am): Likewise.
6480         * modules/fseeko-tests (Makefile.am): Likewise.
6481         * modules/ftell-tests (Makefile.am): Likewise.
6482         * modules/ftello-tests (Makefile.am): Likewise.
6483         * modules/idpriv-drop-tests (Makefile.am): Likewise.
6484         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
6485         * modules/lseek-tests (Makefile.am): Likewise.
6486         * modules/parse-duration-tests (Makefile.am): Likewise.
6487         * modules/perror-tests (Makefile.am): Likewise.
6488         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
6489         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
6490         * modules/pipe-tests (Makefile.am): Likewise.
6491         * modules/pread-tests (Makefile.am): Likewise.
6492         * modules/printf-posix-tests (Makefile.am): Likewise.
6493         * modules/select-tests (Makefile.am): Likewise.
6494         * modules/sigpipe-tests (Makefile.am): Likewise.
6495         * modules/tsearch-tests (Makefile.am): Likewise.
6496         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
6497         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
6498         * modules/uniname/uniname-tests (Makefile.am): Likewise.
6499         * modules/uniwidth/width-tests (Makefile.am): Likewise.
6500         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
6501         * modules/version-etc-tests (Makefile.am): Likewise.
6502         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
6503         * modules/vprintf-posix-tests (Makefile.am): Likewise.
6504         * modules/xalloc-die-tests (Makefile.am): Likewise.
6505         * modules/xprintf-posix-tests (Makefile.am): Likewise.
6506         * modules/xstrtoimax-tests (Makefile.am): Likewise.
6507         * modules/xstrtol-tests (Makefile.am): Likewise.
6508         * modules/xstrtoumax-tests (Makefile.am): Likewise.
6509         * modules/yesno-tests (Makefile.am): Likewise.
6510         Suggested by Jim Meyering.
6511
6512 2010-01-24  Bruno Haible  <bruno@clisp.org>
6513
6514         More documentation.
6515         * doc/gnulib.texi (Writing modules): New chapter.
6516         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
6517         the new chapter.
6518
6519 2010-01-24  Jim Meyering  <meyering@redhat.com>
6520
6521         maint.mk: do not prepend "./" after filtering
6522         * top/maint.mk (_prepend_srcdir_prefix): New variable
6523         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
6524         "./" when $(srcdir) is ".".
6525
6526         define STREQ(a,b) consistently, removing useless parentheses
6527         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
6528         since the only risk is that "a" or "b" contains an unparenthesized
6529         comma, but if either did that, STREQ would have 3 or more arguments.
6530         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
6531         * lib/fts.c (STREQ): Remove unnecessary parentheses.
6532         * lib/hash-triple.c (STREQ): Likewise.
6533         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
6534         * lib/getugroups.c (STREQ): Likewise.
6535
6536 2010-01-23  Jim Meyering  <meyering@redhat.com>
6537
6538         maint.mk: fix syntax-check in a non-srcdir build directory
6539         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
6540         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
6541
6542 2010-01-22  Jim Meyering  <meyering@redhat.com>
6543
6544         userspec: add unit tests
6545         * tests/test-userspec.c: New file.
6546         * modules/userspec-tests: Likewise.
6547
6548 2010-01-21  Jim Meyering  <meyering@redhat.com>
6549
6550         maint.mk: handle source file names containing "." robustly
6551         * top/maint.mk (_dot_escaped_srcdir): Define.
6552         (VC_LIST): Use it in LHS of sed substitution.
6553
6554 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
6555
6556         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
6557         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
6558         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
6559         from a non-srcdir build.
6560
6561 2010-01-20  Eric Blake  <ebb9@byu.net>
6562
6563         warn-on-use: use instead of link-warning
6564         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
6565         * modules/unistd (Depends-on, Makefile.am): Likewise.
6566         * modules/arpa_inet (Depends-on): Replace link-warning with
6567         warn-on-use.
6568         (Makefile.am): Update rules accordingly.
6569         * modules/ctype (Depends-on, Makefile.am): Likewise.
6570         * modules/dirent (Depends-on, Makefile.am): Likewise.
6571         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
6572         * modules/inttypes (Depends-on, Makefile.am): Likewise.
6573         * modules/langinfo (Depends-on, Makefile.am): Likewise.
6574         * modules/locale (Depends-on, Makefile.am): Likewise.
6575         * modules/math (Depends-on, Makefile.am): Likewise.
6576         * modules/search (Depends-on, Makefile.am): Likewise.
6577         * modules/signal (Depends-on, Makefile.am): Likewise.
6578         * modules/spawn (Depends-on, Makefile.am): Likewise.
6579         * modules/stdlib (Depends-on, Makefile.am): Likewise.
6580         * modules/string (Depends-on, Makefile.am): Likewise.
6581         * modules/strings (Depends-on, Makefile.am): Likewise.
6582         * modules/sys_file (Depends-on, Makefile.am): Likewise.
6583         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
6584         * modules/sys_select (Depends-on, Makefile.am): Likewise.
6585         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
6586         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
6587         * modules/sys_times (Depends-on, Makefile.am): Likewise.
6588         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
6589         * modules/wchar (Depends-on, Makefile.am): Likewise.
6590         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
6591         should be poisoned.
6592         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
6593         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
6594         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
6595         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
6596         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
6597         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
6598         * m4/math_h.m4 (gl_MATH_H): Likewise.
6599         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
6600         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
6601         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
6602         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
6603         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
6604         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
6605         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
6606         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
6607         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
6608         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
6609         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
6610         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
6611         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
6612         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
6613         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
6614         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
6615         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
6616         GL_LINK_WARNING.
6617         * lib/ctype.in.h: Likewise.
6618         * lib/dirent.in.h: Likewise.
6619         * lib/fcntl.in.h: Likewise.
6620         * lib/inttypes.in.h: Likewise.
6621         * lib/langinfo.in.h: Likewise.
6622         * lib/locale.in.h: Likewise.
6623         * lib/math.in.h: Likewise.
6624         * lib/search.in.h: Likewise.
6625         * lib/signal.in.h: Likewise.
6626         * lib/spawn.in.h: Likewise.
6627         * lib/stdio.in.h: Likewise.
6628         * lib/stdlib.in.h: Likewise.
6629         * lib/string.in.h: Likewise.
6630         * lib/strings.in.h: Likewise.
6631         * lib/sys_file.in.h: Likewise.
6632         * lib/sys_ioctl.in.h: Likewise.
6633         * lib/sys_select.in.h: Likewise.
6634         * lib/sys_socket.in.h: Likewise.
6635         * lib/sys_stat.in.h: Likewise.
6636         * lib/sys_times.in.h: Likewise.
6637         * lib/sys_utsname.in.h: Likewise.
6638         * lib/unistd.in.h: Likewise.
6639         * lib/wchar.in.h: Likewise.
6640
6641 2010-01-20  Bruno Haible  <bruno@clisp.org>
6642
6643         Avoid duplicate -lm.
6644         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
6645         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
6646         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
6647         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
6648         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
6649         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
6650         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
6651         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
6652         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
6653         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
6654         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
6655         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
6656         Reported by Paolo Bonzini.
6657
6658 2010-01-19  Bruno Haible  <bruno@clisp.org>
6659
6660         langinfo, nl_langinfo: Relicense under LGPLv2+.
6661         * modules/langinfo (License): Change to LGPLv2+.
6662         * modules/nl_langinfo (License): Likewise.
6663         Patch by David Lutterkort <lutter@redhat.com>.
6664
6665 2010-01-19  Bruno Haible  <bruno@clisp.org>
6666
6667         Avoid compilation error with cc on OSF/1 5.1.
6668         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
6669         statement, not before.
6670         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6671
6672 2010-01-18  Bruno Haible  <bruno@clisp.org>
6673
6674         Avoid a link error due to the __printf__ symbol.
6675         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
6676         and 2.6.x.
6677         (__format__, __printf__): Remove definitions.
6678         * lib/argp-fmtstream.h: Likewise.
6679         * lib/argp.h: Likewise.
6680         * lib/error.h: Likewise.
6681         * lib/vasnprintf.h: Likewise.
6682         * lib/xprintf.h: Likewise.
6683         * lib/xvasprintf.h: Likewise.
6684         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6685
6686 2010-01-18  Bruno Haible  <bruno@clisp.org>
6687
6688         Tests for module 'tanl'.
6689         * modules/tanl-tests: New file.
6690         * tests/test-tanl.c: New file.
6691
6692         Tests for module 'sqrtl'.
6693         * modules/sqrtl-tests: New file.
6694         * tests/test-sqrtl.c: New file.
6695
6696         Tests for module 'sinl'.
6697         * modules/sinl-tests: New file.
6698         * tests/test-sinl.c: New file.
6699
6700         Tests for module 'logl'.
6701         * modules/logl-tests: New file.
6702         * tests/test-logl.c: New file.
6703
6704         Tests for module 'expl'.
6705         * modules/expl-tests: New file.
6706         * tests/test-expl.c: New file.
6707
6708         Tests for module 'cosl'.
6709         * modules/cosl-tests: New file.
6710         * tests/test-cosl.c: New file.
6711
6712         Tests for module 'atanl'.
6713         * modules/atanl-tests: New file.
6714         * tests/test-atanl.c: New file.
6715
6716         Tests for module 'asinl'.
6717         * modules/asinl-tests: New file.
6718         * tests/test-asinl.c: New file.
6719
6720         Tests for module 'acosl'.
6721         * modules/acosl-tests: New file.
6722         * tests/test-acosl.c: New file.
6723
6724         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
6725         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
6726         tanl): Use the standard gnulib idiom.
6727         * lib/cosl.c: Don't include trigl.c and sincosl.c.
6728         * lib/sinl.c: Likewise.
6729         * lib/tanl.c: Don't include trigl.c.
6730         (kernel_tanl): Make static.
6731         * lib/sincosl.c: Include trigl.h first.
6732         * lib/trigl.c: Likewise.
6733         * m4/acosl.m4: New file.
6734         * m4/asinl.m4: New file.
6735         * m4/atanl.m4: New file.
6736         * m4/cosl.m4: New file.
6737         * m4/expl.m4: New file.
6738         * m4/logl.m4: New file.
6739         * m4/sinl.m4: New file.
6740         * m4/sqrtl.m4: New file.
6741         * m4/tanl.m4: New file.
6742         * m4/mathl.m4: Remove file.
6743         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
6744         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
6745         Don't initialize GNULIB_MATHL.
6746         * modules/acosl: New file.
6747         * modules/asinl: New file.
6748         * modules/atanl: New file.
6749         * modules/cosl: New file.
6750         * modules/expl: New file.
6751         * modules/logl: New file.
6752         * modules/sinl: New file.
6753         * modules/sqrtl: New file.
6754         * modules/tanl: New file.
6755         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
6756         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
6757         substitute GNULIB_MATHL.
6758         * modules/mathl: Rewritten.
6759         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
6760         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
6761         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
6762         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
6763         * doc/posix-functions/expl.texi: Mention the 'expl' module.
6764         * doc/posix-functions/logl.texi: Mention the 'logl' module.
6765         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
6766         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
6767         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
6768
6769 2010-01-18  Bruno Haible  <bruno@clisp.org>
6770
6771         sqrt: Make gl_FUNC_SQRT requirable.
6772         * m4/sqrt.m4: New file.
6773         * modules/sqrt (Files): Add it.
6774         (configure.ac): Invoke gl_FUNC_SQRT.
6775
6776 2010-01-18  Bruno Haible  <bruno@clisp.org>
6777
6778         New modules for common <math.h> functions.
6779         * m4/mathfunc.m4: New file.
6780         * modules/acos: New file.
6781         * modules/asin: New file.
6782         * modules/atan: New file.
6783         * modules/atan2: New file.
6784         * modules/cbrt: New file.
6785         * modules/copysign: New file.
6786         * modules/cos: New file.
6787         * modules/cosh: New file.
6788         * modules/erf: New file.
6789         * modules/erfc: New file.
6790         * modules/exp: New file.
6791         * modules/fabs: New file.
6792         * modules/fmod: New file.
6793         * modules/hypot: New file.
6794         * modules/j0: New file.
6795         * modules/j1: New file.
6796         * modules/jn: New file.
6797         * modules/ldexp: New file.
6798         * modules/lgamma: New file.
6799         * modules/log: New file.
6800         * modules/log10: New file.
6801         * modules/log1p: New file.
6802         * modules/logb: New file.
6803         * modules/modf: New file.
6804         * modules/nextafter: New file.
6805         * modules/pow: New file.
6806         * modules/remainder: New file.
6807         * modules/rint: New file.
6808         * modules/sin: New file.
6809         * modules/sinh: New file.
6810         * modules/sqrt: New file.
6811         * modules/tan: New file.
6812         * modules/tanh: New file.
6813         * modules/y0: New file.
6814         * modules/y1: New file.
6815         * modules/yn: New file.
6816         * doc/posix-functions/acos.texi: Mention the 'acos' module.
6817         * doc/posix-functions/asin.texi: Mention the 'asin' module.
6818         * doc/posix-functions/atan.texi: Mention the 'atan' module.
6819         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
6820         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
6821         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
6822         * doc/posix-functions/cos.texi: Mention the 'cos' module.
6823         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
6824         * doc/posix-functions/erf.texi: Mention the 'erf' module.
6825         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
6826         * doc/posix-functions/exp.texi: Mention the 'exp' module.
6827         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
6828         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
6829         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
6830         * doc/posix-functions/j0.texi: Mention the 'j0' module.
6831         * doc/posix-functions/j1.texi: Mention the 'j1' module.
6832         * doc/posix-functions/jn.texi: Mention the 'jn' module.
6833         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
6834         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
6835         * doc/posix-functions/log.texi: Mention the 'log' module.
6836         * doc/posix-functions/log10.texi: Mention the 'log10' module.
6837         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
6838         * doc/posix-functions/logb.texi: Mention the 'logb' module.
6839         * doc/posix-functions/modf.texi: Mention the 'modf' module.
6840         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
6841         * doc/posix-functions/pow.texi: Mention the 'pow' module.
6842         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
6843         * doc/posix-functions/rint.texi: Mention the 'rint' module.
6844         * doc/posix-functions/sin.texi: Mention the 'sin' module.
6845         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
6846         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
6847         * doc/posix-functions/tan.texi: Mention the 'tan' module.
6848         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
6849         * doc/posix-functions/y0.texi: Mention the 'y0' module.
6850         * doc/posix-functions/y1.texi: Mention the 'y1' module.
6851         * doc/posix-functions/yn.texi: Mention the 'yn' module.
6852
6853 2010-01-18  Jim Meyering  <meyering@redhat.com>
6854
6855         ignore-value: relax license to LGPLv2+
6856         * modules/ignore-value (License): Relax to LGPLv2+.
6857
6858         getdate: don't leak when TZ contains two or more '"'s
6859         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
6860         double quote in TZ after the first one.
6861
6862         readtokens: do not leak internal token_lengths buffer
6863         * lib/readtokens.c (readtokens): Free the local, lengths,
6864         when the supplied "token_lengths" parameter is NULL.
6865
6866 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6867
6868         Fix a couple of missing LIBTHREAD link failures on AIX.
6869         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
6870         $(LIBTHREAD).
6871         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
6872
6873         Link test-poll against INET_PTON_LIB.
6874         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
6875         for inet_pton on Solaris 10.
6876
6877 2010-01-17  Bruno Haible  <bruno@clisp.org>
6878
6879         unistdio/*-sprintf: Fix typo in module description.
6880         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
6881         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
6882         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
6883         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
6884         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
6885         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
6886         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
6887         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6888
6889 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6890
6891         gnulib-tool: fix filelist for AIX, HP-UX ksh.
6892         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
6893         variables in shell case patterns, for AIX and HP-UX ksh.
6894
6895         Split large sed scripts, for HP-UX sed.
6896         * modules/stdio: Split sed scripts around 50 sed commands,
6897         to avoid HP-UX limit of 99 commands, in the near future.
6898         * modules/string: Likewise.
6899         * modules/unistd: Likewise.
6900
6901         gnulib-tool: avoid writing in the current directory.
6902         * gnulib-tool (func_emit_lib_Makefile_am)
6903         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
6904         not in the current directory, so concurrent gnulib-tool
6905         instances do not interfere.
6906
6907 2010-01-16  Jim Meyering  <meyering@redhat.com>
6908
6909         doc: update users.txt
6910         * users.txt: Add grep.
6911         (diffutils, gzip): Update URLs.
6912
6913 2010-01-12  Bruno Haible  <bruno@clisp.org>
6914
6915         posix_spawn: Avoid test failure on Cygwin.
6916         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
6917         characters.
6918         Reported by Simon Josefsson.
6919
6920 2010-01-12  Bruno Haible  <bruno@clisp.org>
6921
6922         * tests/test-cond.c (main): When skipping the test, show the reason.
6923
6924 2010-01-12  Simon Josefsson  <simon@josefsson.org>
6925
6926         * lib/striconv.c (str_cd_iconv): Avoid if before free.
6927
6928 2010-01-12  Simon Josefsson  <simon@josefsson.org>
6929
6930         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
6931         VC_LIST_ALWAYS_EXCLUDE_REGEX.
6932
6933 2010-01-12  Eric Blake  <ebb9@byu.net>
6934
6935         build: guarantee AS_VAR_IF
6936         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
6937         (gl_AS_VAR_IF): Move...
6938         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
6939         Reported by Simon Josefsson.
6940
6941 2010-01-12  Simon Josefsson  <simon@josefsson.org>
6942
6943         * lib/stdio.in.h: Fix typo.
6944
6945 2010-01-12  Simon Josefsson  <simon@josefsson.org>
6946
6947         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
6948         libgpg-error.
6949
6950 2010-01-12  Simon Josefsson  <simon@josefsson.org>
6951
6952         * tests/test-xalloc-die.sh: Use $EXEEXT.
6953
6954 2010-01-12  Simon Josefsson  <simon@josefsson.org>
6955             Bruno Haible  <bruno@clisp.org>
6956
6957         getlogin, getlogin_r: Avoid test failure.
6958         * tests/test-getlogin.c: Include <stdio.h>.
6959         (main): Skip the test when the function fails because stdin is not a
6960         tty.
6961         * tests/test-getlogin_r.c: Include <stdio.h>.
6962         (main): Skip the test when the function fails because stdin is not a
6963         tty.
6964
6965 2010-01-11  Eric Blake  <ebb9@byu.net>
6966
6967         tests: avoid more large file warnings
6968         * tests/test-fflush.c: Avoid warning about ftell use.
6969         * tests/test-fseek.c: Avoid warning about fseek use.
6970
6971 2010-01-10  Bruno Haible  <bruno@clisp.org>
6972
6973         nproc: Work better on Linux when /proc and /sys are not mounted.
6974         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
6975         as lower bound when, on glibc/Linux systems,
6976         sysconf (_SC_NPROCESSORS_CONF) returns 1.
6977         Suggested by Pádraig Brady <P@draigbrady.com>.
6978         Reported by Dmitry V. Levin <ldv@altlinux.org>.
6979
6980         nproc: Refactor.
6981         * lib/nproc.c (num_processors_via_affinity_mask): New function,
6982         extracted from num_processors.
6983         (num_processors): Call it.
6984
6985 2010-01-11  Jim Meyering  <meyering@redhat.com>
6986
6987         utimecmp: avoid new warning from upcoming gcc-4.5.0
6988         * lib/utimecmp.c (BILLION): Define using #define rather than an
6989         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
6990
6991 2010-01-11  Eric Blake  <ebb9@byu.net>
6992
6993         math: add portability warnings for classification macros
6994         * modules/math (Depends-on): Add warn-on-use.
6995         (Makefile.am): Provide new substitutions.
6996         * m4/math_h.m4 (gl_MATH_H): Require inline.
6997         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
6998         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
6999         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
7000         implement warnings.
7001
7002         unistd: warn on use of environ without module
7003         * modules/unistd (Depends-on): Add warn-on-use.
7004         (Makefile.am): Provide new substitutions.
7005         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
7006         * lib/unistd.in.h (environ): Wrap with a warning helper function.
7007
7008         stdio: warn on suspicious uses
7009         * modules/stdio (Depends-on): Add warn-on-use.
7010         (Makefile.am): Provide new substitutions.
7011         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
7012         fseeko.
7013         * lib/stdio.in.h (gets): Always warn on use.
7014         (fseek, ftell): Adjust when warnings are issued, and honor
7015         _GL_NO_LARGE_FILES as a way to silence the warning.
7016         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
7017         any warning about large file offsets.
7018         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
7019         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
7020         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
7021         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
7022         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
7023         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
7024         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
7025         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
7026
7027         warn-on-use: new module
7028         * modules/warn-on-use: New file.
7029         * build-aux/warn-on-use.h: Likewise.
7030         * m4/warn-on-use.m4: Likewise.
7031         * MODULES.html.sh (Support for building): Mention it.
7032
7033 2010-01-10  Bruno Haible  <bruno@clisp.org>
7034
7035         Tests for module 'unistr/u32-strdup'.
7036         * modules/unistr/u32-strdup-tests: New file.
7037         * tests/unistr/test-u32-strdup.c: New file.
7038
7039         Tests for module 'unistr/u16-strdup'.
7040         * modules/unistr/u16-strdup-tests: New file.
7041         * tests/unistr/test-u16-strdup.c: New file.
7042
7043         Tests for module 'unistr/u8-strdup'.
7044         * modules/unistr/u8-strdup-tests: New file.
7045         * tests/unistr/test-u8-strdup.c: New file.
7046         * tests/unistr/test-strdup.h: New file.
7047
7048         Tests for module 'unistr/u32-strncmp'.
7049         * modules/unistr/u32-strncmp-tests: New file.
7050         * tests/unistr/test-u32-strncmp.c: New file.
7051
7052         Tests for module 'unistr/u16-strncmp'.
7053         * modules/unistr/u16-strncmp-tests: New file.
7054         * tests/unistr/test-u16-strncmp.c: New file.
7055
7056         Tests for module 'unistr/u8-strncmp'.
7057         * modules/unistr/u8-strncmp-tests: New file.
7058         * tests/unistr/test-u8-strncmp.c: New file.
7059         * tests/unistr/test-strncmp.h: New file.
7060
7061         Tests for module 'unistr/u32-strcoll'.
7062         * modules/unistr/u32-strcoll-tests: New file.
7063         * tests/unistr/test-u32-strcoll.c: New file.
7064
7065         Tests for module 'unistr/u16-strcoll'.
7066         * modules/unistr/u16-strcoll-tests: New file.
7067         * tests/unistr/test-u16-strcoll.c: New file.
7068
7069         Tests for module 'unistr/u8-strcoll'.
7070         * modules/unistr/u8-strcoll-tests: New file.
7071         * tests/unistr/test-u8-strcoll.c: New file.
7072
7073         Tests for module 'unistr/u32-strcmp'.
7074         * modules/unistr/u32-strcmp-tests: New file.
7075         * tests/unistr/test-u32-strcmp.c: New file.
7076         * tests/unistr/test-u32-strcmp.h: New file.
7077
7078         Tests for module 'unistr/u16-strcmp'.
7079         * modules/unistr/u16-strcmp-tests: New file.
7080         * tests/unistr/test-u16-strcmp.c: New file.
7081         * tests/unistr/test-u16-strcmp.h: New file.
7082
7083         Tests for module 'unistr/u8-strcmp'.
7084         * modules/unistr/u8-strcmp-tests: New file.
7085         * tests/unistr/test-u8-strcmp.c: New file.
7086         * tests/unistr/test-u8-strcmp.h: New file.
7087         * tests/unistr/test-strcmp.h: New file.
7088
7089         Tests for module 'unistr/u32-strncat'.
7090         * modules/unistr/u32-strncat-tests: New file.
7091         * tests/unistr/test-u32-strncat.c: New file.
7092
7093         Tests for module 'unistr/u16-strncat'.
7094         * modules/unistr/u16-strncat-tests: New file.
7095         * tests/unistr/test-u16-strncat.c: New file.
7096
7097         Tests for module 'unistr/u8-strncat'.
7098         * modules/unistr/u8-strncat-tests: New file.
7099         * tests/unistr/test-u8-strncat.c: New file.
7100         * tests/unistr/test-strncat.h: New file.
7101
7102         Tests for module 'unistr/u32-strcat'.
7103         * modules/unistr/u32-strcat-tests: New file.
7104         * tests/unistr/test-u32-strcat.c: New file.
7105
7106         Tests for module 'unistr/u16-strcat'.
7107         * modules/unistr/u16-strcat-tests: New file.
7108         * tests/unistr/test-u16-strcat.c: New file.
7109
7110         Tests for module 'unistr/u8-strcat'.
7111         * modules/unistr/u8-strcat-tests: New file.
7112         * tests/unistr/test-u8-strcat.c: New file.
7113         * tests/unistr/test-strcat.h: New file.
7114
7115         Tests for module 'unistr/u32-stpncpy'.
7116         * modules/unistr/u32-stpncpy-tests: New file.
7117         * tests/unistr/test-u32-stpncpy.c: New file.
7118
7119         Tests for module 'unistr/u16-stpncpy'.
7120         * modules/unistr/u16-stpncpy-tests: New file.
7121         * tests/unistr/test-u16-stpncpy.c: New file.
7122
7123         Tests for module 'unistr/u8-stpncpy'.
7124         * modules/unistr/u8-stpncpy-tests: New file.
7125         * tests/unistr/test-u8-stpncpy.c: New file.
7126         * tests/unistr/test-stpncpy.h: New file.
7127
7128         Tests for module 'unistr/u32-strncpy'.
7129         * modules/unistr/u32-strncpy-tests: New file.
7130         * tests/unistr/test-u32-strncpy.c: New file.
7131
7132         Tests for module 'unistr/u16-strncpy'.
7133         * modules/unistr/u16-strncpy-tests: New file.
7134         * tests/unistr/test-u16-strncpy.c: New file.
7135
7136         Tests for module 'unistr/u8-strncpy'.
7137         * modules/unistr/u8-strncpy-tests: New file.
7138         * tests/unistr/test-u8-strncpy.c: New file.
7139         * tests/unistr/test-strncpy.h: New file.
7140
7141         Tests for module 'unistr/u32-stpcpy'.
7142         * modules/unistr/u32-stpcpy-tests: New file.
7143         * tests/unistr/test-u32-stpcpy.c: New file.
7144
7145         Tests for module 'unistr/u16-stpcpy'.
7146         * modules/unistr/u16-stpcpy-tests: New file.
7147         * tests/unistr/test-u16-stpcpy.c: New file.
7148
7149         Tests for module 'unistr/u8-stpcpy'.
7150         * modules/unistr/u8-stpcpy-tests: New file.
7151         * tests/unistr/test-u8-stpcpy.c: New file.
7152         * tests/unistr/test-stpcpy.h: New file.
7153
7154         Tests for module 'unistr/u32-strcpy'.
7155         * modules/unistr/u32-strcpy-tests: New file.
7156         * tests/unistr/test-u32-strcpy.c: New file.
7157
7158         Tests for module 'unistr/u16-strcpy'.
7159         * modules/unistr/u16-strcpy-tests: New file.
7160         * tests/unistr/test-u16-strcpy.c: New file.
7161
7162         Tests for module 'unistr/u8-strcpy'.
7163         * modules/unistr/u8-strcpy-tests: New file.
7164         * tests/unistr/test-u8-strcpy.c: New file.
7165         * tests/unistr/test-strcpy.h: New file.
7166
7167         Tests for module 'unistr/u32-strnlen'.
7168         * modules/unistr/u32-strnlen-tests: New file.
7169         * tests/unistr/test-u32-strnlen.c: New file.
7170
7171         Tests for module 'unistr/u16-strnlen'.
7172         * modules/unistr/u16-strnlen-tests: New file.
7173         * tests/unistr/test-u16-strnlen.c: New file.
7174
7175         Tests for module 'unistr/u8-strnlen'.
7176         * modules/unistr/u8-strnlen-tests: New file.
7177         * tests/unistr/test-u8-strnlen.c: New file.
7178         * tests/unistr/test-strnlen.h: New file.
7179
7180         Tests for module 'unistr/u32-strlen'.
7181         * modules/unistr/u32-strlen-tests: New file.
7182         * tests/unistr/test-u32-strlen.c: New file.
7183
7184         Tests for module 'unistr/u16-strlen'.
7185         * modules/unistr/u16-strlen-tests: New file.
7186         * tests/unistr/test-u16-strlen.c: New file.
7187
7188         Tests for module 'unistr/u8-strlen'.
7189         * modules/unistr/u8-strlen-tests: New file.
7190         * tests/unistr/test-u8-strlen.c: New file.
7191
7192         Tests for module 'unistr/u32-prev'.
7193         * modules/unistr/u32-prev-tests: New file.
7194         * tests/unistr/test-u32-prev.c: New file.
7195
7196         Tests for module 'unistr/u16-prev'.
7197         * modules/unistr/u16-prev-tests: New file.
7198         * tests/unistr/test-u16-prev.c: New file.
7199
7200         Tests for module 'unistr/u8-prev'.
7201         * modules/unistr/u8-prev-tests: New file.
7202         * tests/unistr/test-u8-prev.c: New file.
7203
7204         Tests for module 'unistr/u32-next'.
7205         * modules/unistr/u32-next-tests: New file.
7206         * tests/unistr/test-u32-next.c: New file.
7207
7208         Tests for module 'unistr/u16-next'.
7209         * modules/unistr/u16-next-tests: New file.
7210         * tests/unistr/test-u16-next.c: New file.
7211
7212         Tests for module 'unistr/u8-next'.
7213         * modules/unistr/u8-next-tests: New file.
7214         * tests/unistr/test-u8-next.c: New file.
7215
7216         Tests for module 'unistr/u32-strmbtouc'.
7217         * modules/unistr/u32-strmbtouc-tests: New file.
7218         * tests/unistr/test-u32-strmbtouc.c: New file.
7219
7220         Tests for module 'unistr/u16-strmbtouc'.
7221         * modules/unistr/u16-strmbtouc-tests: New file.
7222         * tests/unistr/test-u16-strmbtouc.c: New file.
7223
7224         Tests for module 'unistr/u8-strmbtouc'.
7225         * modules/unistr/u8-strmbtouc-tests: New file.
7226         * tests/unistr/test-u8-strmbtouc.c: New file.
7227
7228         Tests for module 'unistr/u32-strmblen'.
7229         * modules/unistr/u32-strmblen-tests: New file.
7230         * tests/unistr/test-u32-strmblen.c: New file.
7231
7232         Tests for module 'unistr/u16-strmblen'.
7233         * modules/unistr/u16-strmblen-tests: New file.
7234         * tests/unistr/test-u16-strmblen.c: New file.
7235
7236         Tests for module 'unistr/u8-strmblen'.
7237         * modules/unistr/u8-strmblen-tests: New file.
7238         * tests/unistr/test-u8-strmblen.c: New file.
7239
7240         Tests for module 'unistr/u32-cpy-alloc'.
7241         * modules/unistr/u32-cpy-alloc-tests: New file.
7242         * tests/unistr/test-u32-cpy-alloc.c: New file.
7243
7244         Tests for module 'unistr/u16-cpy-alloc'.
7245         * modules/unistr/u16-cpy-alloc-tests: New file.
7246         * tests/unistr/test-u16-cpy-alloc.c: New file.
7247
7248         Tests for module 'unistr/u8-cpy-alloc'.
7249         * modules/unistr/u8-cpy-alloc-tests: New file.
7250         * tests/unistr/test-u8-cpy-alloc.c: New file.
7251         * tests/unistr/test-cpy-alloc.h: New file.
7252
7253         Tests for module 'unistr/u32-mbsnlen'.
7254         * modules/unistr/u32-mbsnlen-tests: New file.
7255         * tests/unistr/test-u32-mbsnlen.c: New file.
7256
7257         Tests for module 'unistr/u16-mbsnlen'.
7258         * modules/unistr/u16-mbsnlen-tests: New file.
7259         * tests/unistr/test-u16-mbsnlen.c: New file.
7260
7261         Tests for module 'unistr/u8-mbsnlen'.
7262         * modules/unistr/u8-mbsnlen-tests: New file.
7263         * tests/unistr/test-u8-mbsnlen.c: New file.
7264
7265         Tests for module 'unistr/u32-chr'.
7266         * modules/unistr/u32-chr-tests: New file.
7267         * tests/unistr/test-u32-chr.c: New file.
7268
7269         Tests for module 'unistr/u16-chr'.
7270         * modules/unistr/u16-chr-tests: New file.
7271         * tests/unistr/test-u16-chr.c: New file.
7272
7273         Tests for module 'unistr/u8-chr'.
7274         * modules/unistr/u8-chr-tests: New file.
7275         * tests/unistr/test-u8-chr.c: New file.
7276         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
7277
7278         Tests for module 'unistr/u32-cmp2'.
7279         * modules/unistr/u32-cmp2-tests: New file.
7280         * tests/unistr/test-u32-cmp2.c: New file.
7281
7282         Tests for module 'unistr/u16-cmp2'.
7283         * modules/unistr/u16-cmp2-tests: New file.
7284         * tests/unistr/test-u16-cmp2.c: New file.
7285
7286         Tests for module 'unistr/u8-cmp2'.
7287         * modules/unistr/u8-cmp2-tests: New file.
7288         * tests/unistr/test-u8-cmp2.c: New file.
7289         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
7290
7291         Tests for module 'unistr/u32-cmp'.
7292         * modules/unistr/u32-cmp-tests: New file.
7293         * tests/unistr/test-u32-cmp.c: New file.
7294
7295         Tests for module 'unistr/u16-cmp'.
7296         * modules/unistr/u16-cmp-tests: New file.
7297         * tests/unistr/test-u16-cmp.c: New file.
7298
7299         Tests for module 'unistr/u8-cmp'.
7300         * modules/unistr/u8-cmp-tests: New file.
7301         * tests/unistr/test-u8-cmp.c: New file.
7302         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
7303
7304         Tests for module 'unistr/u32-set'.
7305         * modules/unistr/u32-set-tests: New file.
7306         * tests/unistr/test-u32-set.c: New file.
7307
7308         Tests for module 'unistr/u16-set'.
7309         * modules/unistr/u16-set-tests: New file.
7310         * tests/unistr/test-u16-set.c: New file.
7311
7312         Tests for module 'unistr/u8-set'.
7313         * modules/unistr/u8-set-tests: New file.
7314         * tests/unistr/test-u8-set.c: New file.
7315         * tests/unistr/test-set.h: New file.
7316
7317         Tests for module 'unistr/u32-move'.
7318         * modules/unistr/u32-move-tests: New file.
7319         * tests/unistr/test-u32-move.c: New file.
7320
7321         Tests for module 'unistr/u16-move'.
7322         * modules/unistr/u16-move-tests: New file.
7323         * tests/unistr/test-u16-move.c: New file.
7324
7325         Tests for module 'unistr/u8-move'.
7326         * modules/unistr/u8-move-tests: New file.
7327         * tests/unistr/test-u8-move.c: New file.
7328         * tests/unistr/test-move.h: New file.
7329
7330         Tests for module 'unistr/u32-cpy'.
7331         * modules/unistr/u32-cpy-tests: New file.
7332         * tests/unistr/test-u32-cpy.c: New file.
7333
7334         Tests for module 'unistr/u16-cpy'.
7335         * modules/unistr/u16-cpy-tests: New file.
7336         * tests/unistr/test-u16-cpy.c: New file.
7337
7338         Tests for module 'unistr/u8-cpy'.
7339         * modules/unistr/u8-cpy-tests: New file.
7340         * tests/unistr/test-u8-cpy.c: New file.
7341         * tests/unistr/test-cpy.h: New file.
7342
7343 2010-01-09  Bruno Haible  <bruno@clisp.org>
7344
7345         Tests for module 'unistr/u32-uctomb'.
7346         * modules/unistr/u32-uctomb-tests: New file.
7347         * tests/unistr/test-u32-uctomb.c: New file.
7348
7349         Tests for module 'unistr/u16-uctomb'.
7350         * modules/unistr/u16-uctomb-tests: New file.
7351         * tests/unistr/test-u16-uctomb.c: New file.
7352
7353         Tests for module 'unistr/u8-uctomb'.
7354         * modules/unistr/u8-uctomb-tests: New file.
7355         * tests/unistr/test-u8-uctomb.c: New file.
7356
7357         Tests for module 'unistr/u32-mbtoucr'.
7358         * modules/unistr/u32-mbtoucr-tests: New file.
7359         * tests/unistr/test-u32-mbtoucr.c: New file.
7360
7361         Tests for module 'unistr/u16-mbtoucr'.
7362         * modules/unistr/u16-mbtoucr-tests: New file.
7363         * tests/unistr/test-u16-mbtoucr.c: New file.
7364
7365         Tests for module 'unistr/u8-mbtoucr'.
7366         * modules/unistr/u8-mbtoucr-tests: New file.
7367         * tests/unistr/test-u8-mbtoucr.c: New file.
7368
7369         Tests for module 'unistr/u32-mbtouc'.
7370         * modules/unistr/u32-mbtouc-tests: New file.
7371         * tests/unistr/test-u32-mbtouc.c: New file.
7372
7373         Tests for module 'unistr/u16-mbtouc'.
7374         * modules/unistr/u16-mbtouc-tests: New file.
7375         * tests/unistr/test-u16-mbtouc.c: New file.
7376
7377         Tests for module 'unistr/u8-mbtouc'.
7378         * modules/unistr/u8-mbtouc-tests: New file.
7379         * tests/unistr/test-u8-mbtouc.c: New file.
7380
7381         Tests for module 'unistr/u32-mbtouc-unsafe'.
7382         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
7383         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
7384         * tests/unistr/test-u32-mbtouc.h: New file.
7385
7386         Tests for module 'unistr/u16-mbtouc-unsafe'.
7387         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
7388         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
7389         * tests/unistr/test-u16-mbtouc.h: New file.
7390
7391         Tests for module 'unistr/u8-mbtouc-unsafe'.
7392         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
7393         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
7394         * tests/unistr/test-u8-mbtouc.h: New file.
7395
7396         Tests for module 'unistr/u32-mblen'.
7397         * modules/unistr/u32-mblen-tests: New file.
7398         * tests/unistr/test-u32-mblen.c: New file.
7399
7400         Tests for module 'unistr/u16-mblen'.
7401         * modules/unistr/u16-mblen-tests: New file.
7402         * tests/unistr/test-u16-mblen.c: New file.
7403
7404         Tests for module 'unistr/u8-mblen'.
7405         * modules/unistr/u8-mblen-tests: New file.
7406         * tests/unistr/test-u8-mblen.c: New file.
7407
7408         Tests for module 'unistr/u32-to-u16'.
7409         * modules/unistr/u32-to-u16-tests: New file.
7410         * tests/unistr/test-u32-to-u16.c: New file.
7411
7412         Tests for module 'unistr/u32-to-u8'.
7413         * modules/unistr/u32-to-u8-tests: New file.
7414         * tests/unistr/test-u32-to-u8.c: New file.
7415
7416         Tests for module 'unistr/u16-to-u32'.
7417         * modules/unistr/u16-to-u32-tests: New file.
7418         * tests/unistr/test-u16-to-u32.c: New file.
7419
7420         Tests for module 'unistr/u16-to-u8'.
7421         * modules/unistr/u16-to-u8-tests: New file.
7422         * tests/unistr/test-u16-to-u8.c: New file.
7423
7424         Tests for module 'unistr/u8-to-u32'.
7425         * modules/unistr/u8-to-u32-tests: New file.
7426         * tests/unistr/test-u8-to-u32.c: New file.
7427
7428         Tests for module 'unistr/u8-to-u16'.
7429         * modules/unistr/u8-to-u16-tests: New file.
7430         * tests/unistr/test-u8-to-u16.c: New file.
7431
7432         Tests for module 'unistr/u32-check'.
7433         * modules/unistr/u32-check-tests: New file.
7434         * tests/unistr/test-u32-check.c: New file.
7435
7436         Tests for module 'unistr/u16-check'.
7437         * modules/unistr/u16-check-tests: New file.
7438         * tests/unistr/test-u16-check.c: New file.
7439
7440         Tests for module 'unistr/u8-check'.
7441         * modules/unistr/u8-check-tests: New file.
7442         * tests/unistr/test-u8-check.c: New file.
7443
7444         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
7445         (category_equals): New function.
7446         (main): Add more tests.
7447         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
7448
7449         * tests/unictype/test-bidi_byname.c (main): Add more tests.
7450
7451 2010-01-10  Bruno Haible  <bruno@clisp.org>
7452
7453         unistr/u*-strcoll: Try harder to distinguish different strings.
7454         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
7455         compare s1 and s2 to see if they are different.
7456
7457 2010-01-10  Bruno Haible  <bruno@clisp.org>
7458
7459         unistr/u*-stpncpy: Fix the return value.
7460         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
7461         description of the return value consistent with stpncpy in glibc.
7462         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
7463         written non-NUL unit.
7464
7465 2010-01-10  Bruno Haible  <bruno@clisp.org>
7466
7467         unistr/u*-next: Add missing dependencies.
7468         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
7469         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
7470         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
7471
7472 2010-01-10  Bruno Haible  <bruno@clisp.org>
7473
7474         unistr/u8-mbsnlen: Fix return value for incomplete character.
7475         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
7476         u8_mblen.
7477         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
7478         Remove unistr/u8-mblen.
7479         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
7480         u16_mblen.
7481         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
7482         Remove unistr/u16-mblen.
7483
7484 2010-01-10  Bruno Haible  <bruno@clisp.org>
7485
7486         wchar: Fix compilation error when <wchar.h> is used from coreutils.
7487         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
7488         Reported by Brian Gough <bjg@gnu.org> and
7489         Chris Clayton <chris2553@googlemail.com> via
7490         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
7491
7492 2010-01-09  Bruno Haible  <bruno@clisp.org>
7493
7494         unistr/u16-to-u32: Reject invalid input.
7495         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
7496         u16_mbtouc.
7497         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
7498         Remove unistr/u16-mbtouc.
7499
7500         unistr/u16-to-u8: Reject invalid input.
7501         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
7502         u16_mbtouc.
7503         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
7504         Remove unistr/u16-mbtouc.
7505
7506         unistr/u8-to-u32: Reject invalid input.
7507         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
7508         u8_mbtouc.
7509         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
7510         Remove unistr/u8-mbtouc.
7511
7512         unistr/u8-to-u16: Reject invalid input.
7513         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
7514         u8_mbtouc.
7515         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
7516         Remove unistr/u8-mbtouc.
7517
7518 2010-01-09  Bruno Haible  <bruno@clisp.org>
7519
7520         Tests for module 'getlogin'.
7521         * modules/getlogin-tests: New file.
7522         * tests/test-getlogin.c: New file.
7523
7524         New module 'getlogin'.
7525         * lib/unistd.in.h (getlogin): New declaration.
7526         * lib/getlogin.c: New file.
7527         * m4/getlogin.m4: New file.
7528         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
7529         HAVE_GETLOGIN.
7530         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
7531         HAVE_GETLOGIN.
7532         * modules/getlogin: New file.
7533         * doc/posix-functions/getlogin.texi: Mention the new module.
7534         Reported by John W. Eaton <jwe@gnu.org>.
7535
7536 2010-01-09  Bruno Haible  <bruno@clisp.org>
7537
7538         getlogin_r: Support for native Windows.
7539         * lib/getlogin_r.c: Include <windows.h>
7540         (getlogin_r): Implement for native Windows.
7541         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
7542         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
7543         via John W. Eaton <jwe@gnu.org>.
7544
7545 2010-01-09  Bruno Haible  <bruno@clisp.org>
7546
7547         getlogin_r: Small fixes.
7548         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
7549         succeeds.
7550         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
7551         before testing whether getlogin_r is declared. No need to set
7552         HAVE_DECL_GETLOGIN_R to 1.
7553         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
7554
7555 2010-01-09  Bruno Haible  <bruno@clisp.org>
7556
7557         * lib/unistd.in.h (getlogin_r): Add comment.
7558
7559 2010-01-09  Bruno Haible  <bruno@clisp.org>
7560
7561         Tests for module 'getlogin_r'.
7562         * modules/getlogin_r-tests: New file.
7563         * tests/test-getlogin_r.c: New file.
7564
7565 2010-01-09  Jim Meyering  <meyering@redhat.com>
7566
7567         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
7568         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
7569         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
7570
7571 2010-01-08  Simon Josefsson  <simon@josefsson.org>
7572
7573         * lib/dup2.c (rpl_dup2): Improve comment.
7574
7575 2010-01-08  Eric Blake  <ebb9@byu.net>
7576
7577         maint.mk: allow packages to add makefile @@ exceptions
7578         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
7579         (sc_makefile_check): Rename...
7580         (sc_makefile_at_at_check): ...to this, and use hook.
7581
7582         dup2: work around mingw bug
7583         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
7584         Reported by Simon Josefsson.
7585
7586 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
7587
7588         glob: Fix C++ compilation.
7589         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
7590         C++.
7591
7592 2010-01-07  Bruno Haible  <bruno@clisp.org>
7593
7594         Fix indentation of wctype.in.h, broken since 2007-01-06.
7595         * lib/wctype.in.h: Fix indentation of preprocessor directives.
7596
7597 2010-01-07  Bruno Haible  <bruno@clisp.org>
7598
7599         mbslen: Avoid collision with system function.
7600         * lib/string.in.h [MirBSD]: Include <wchar.h>.
7601         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
7602         * m4/mbslen.m4: New file.
7603         * modules/mbslen (Files): Add it.
7604         (configure.ac): Invoke gl_MBSLEN.
7605         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
7606         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
7607         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
7608         via Ian Beckwith <ianb@erislabs.net>.
7609
7610 2010-01-07  Bruno Haible  <bruno@clisp.org>
7611
7612         dirent: Document the last fix.
7613         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
7614
7615 2010-01-07  Bruno Haible  <bruno@clisp.org>
7616
7617         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
7618         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
7619         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
7620         va_list are defined.
7621         * doc/posix-headers/stdio.texi: Document the bug of missing types.
7622         Reported by Eric Blake.
7623
7624 2010-01-07  Bruno Haible  <bruno@clisp.org>
7625
7626         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
7627         * modules/xlist (Depends-on): Add 'list',
7628         * modules/xoset (Depends-on): Add 'oset'.
7629         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
7630
7631 2010-01-07  Bruno Haible  <bruno@clisp.org>
7632
7633         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
7634         * doc/posix-functions/strncasecmp.texi: Likewise.
7635
7636 2010-01-07  Bruno Haible  <bruno@clisp.org>
7637
7638         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
7639
7640 2010-01-07  John W. Eaton  <jwe@octave.org>
7641
7642         wctype: allow C++ use
7643         * lib/wctype.in.h: Add extern "C" block for C++.
7644
7645 2010-01-06  Eric Blake  <ebb9@byu.net>
7646
7647         maint.mk: detect incorrect GFDL usage
7648         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
7649
7650 2010-01-06  Jim Meyering  <meyering@redhat.com>
7651         and Eric Blake  <ebb9@byu.net>
7652
7653         maint.mk: ignore multi-line copyright in NEWS
7654         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
7655
7656 2010-01-06  Eric Blake  <ebb9@byu.net>
7657
7658         select: add missing dependency
7659         * modules/select-tests (Depends-on): Move sockets dependency...
7660         * modules/select (Depends-on): ...here.
7661         Reported by Ian Beckwith.
7662
7663         doc: regenerate INSTALL
7664         * doc/INSTALL: Reflect recent autoconf update.
7665         * doc/INSTALL.ISO: Likewise.
7666         * doc/INSTALL.UTF-8: Likewise.
7667
7668         pread: fix compilation on glibc
7669         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
7670         Reported by Ralf Wildenhues.
7671
7672         dirent: fix test failure
7673         * lib/dirent.in.h (includes): Guarantee ino_t.
7674         Reported by Ralf Wildenhues.
7675
7676 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
7677
7678         linkat, renameat: avoid bad free
7679         * lib/at-func2.c (at_func2): Fix typo.
7680         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
7681
7682 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7683
7684         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
7685         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
7686         to avoid failure of symlink test later.
7687
7688 2010-01-06  Eric Blake  <ebb9@byu.net>
7689
7690         stdio, unistd: guarantee ssize_t
7691         * lib/unistd.in.h (includes): Ensure that types required by POSIX
7692         2008 are exposed when needed.
7693         * lib/stdio.in.h (includes): Likewise.
7694         Reported by Ralf Wildenhues.
7695
7696 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
7697
7698         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
7699         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
7700         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
7701
7702 2010-01-06  Jim Meyering  <meyering@redhat.com>
7703
7704         readtokens: this module *does* require xalloc.h
7705         It uses only functions that were omitted by the old syntax-check rule.
7706         * lib/readtokens.c: Include "xalloc.h" once again.
7707         * modules/readtokens (Depends-on): Add xalloc.
7708         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
7709
7710 2010-01-05  Eric Blake  <ebb9@byu.net>
7711
7712         maint: support 'make announcement' from a VPATH build
7713         * top/maint.mk (announcement): Look for correct NEWS file.
7714
7715 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
7716
7717         utimens (fdutimens): ignore a negative FD, per contract
7718         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
7719         when we have a valid file descriptor.  Otherwise, using a brand
7720         new glibc (with just-patched futimens that now fails with EBADF)
7721         would cause this function to fail with ENOSYS.
7722         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
7723         See also http://bugzilla.redhat.com/552320.
7724
7725 2010-01-05  Eric Blake  <ebb9@byu.net>
7726
7727         strcase: document what it provides
7728         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
7729         gnulib module.
7730         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
7731         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
7732
7733 2010-01-05  Jim Meyering  <meyering@redhat.com>
7734
7735         maint: remove useless inclusions of "xalloc.h"
7736         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
7737         * lib/readtokens.c: Likewise.
7738         * lib/same.c: Likewise.
7739         * modules/getloadavg (Depends-on): Remove xalloc.
7740         * modules/readtokens: Likewise.
7741         * modules/same: Likewise.
7742
7743         maint.mk: include 4 more function names in alloca.h-checking regexp
7744         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
7745         regexp.  Before, we would give a false-positive (saying alloca.h
7746         is included unnecessarily) when the only uses involved omitted symbols.
7747
7748         xalloc.h: use consistent formatting
7749         * lib/xalloc.h: Move declarations to start in the first column.
7750
7751 2010-01-05  Eric Blake  <ebb9@byu.net>
7752
7753         mkdir: avoid xalloc
7754         * lib/mkdir.c (includes): Drop unused header.
7755         Reported by John W. Eaton.
7756
7757 2010-01-04  Jim Meyering  <meyering@redhat.com>
7758
7759         nl_langinfo: avoid configure-time syntax error
7760         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
7761         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
7762         the empty string.  Don't let that provoke a shell syntax error.
7763
7764         regcomp, regexec, fnmatch: avoid array bounds read error
7765         * lib/regcomp.c (build_equiv_class): From glibc:
7766         Use only the low 24 bits of a findidx return value as an index
7767         into the weights array.  Patch by Ulrich Drepper:
7768         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
7769         * lib/regexec.c (check_node_accept_bytes): Likewise.
7770         * lib/fnmatch_loop.c (FCT): Likewise.
7771
7772         regcomp: skip collseq lookup when there are no rules
7773         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
7774         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
7775
7776         regcomp: recognize ill-formed { } expressions
7777         * lib/regcomp.c (parse_dup_op): From glibc:
7778         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
7779
7780         regcomp: fix typo in comment
7781         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
7782         s/satisfy/satisfies/.
7783
7784         regcomp: sync from glibc: remove dead store
7785         * lib/regcomp.c (duplicate_node_closure): Remove useless
7786         search_duplicated_node call and dead store.
7787
7788         regcomp: sync from glibc; always use nl_langinfo
7789         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
7790         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
7791         * modules/regex (Depends-on): Add nl_langinfo.
7792
7793 2010-01-04  Eric Blake  <ebb9@byu.net>
7794
7795         fdopendir: fix configure test
7796         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
7797
7798 2010-01-01  Bruno Haible  <bruno@clisp.org>
7799
7800         wchar: Remove unused configure check.
7801         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
7802
7803 2010-01-01  Eric Blake  <ebb9@byu.net>
7804
7805         headers: make check of system header explicit
7806         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
7807         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
7808         ourselves.
7809         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
7810         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
7811         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
7812         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
7813         internals.
7814         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
7815         missing.
7816         Suggested by Bruno Haible.
7817
7818 2010-01-01  Jim Meyering  <meyering@redhat.com>
7819
7820         ChangeLog: tweak to eliminate unnecessary copyright line
7821         * ChangeLog: Remove a copyright line that was mistakenly updated
7822         by today's update-copyright run.  Reported by Eric Blake.
7823
7824         test-update-copyright: don't let envvar setting cause test failure
7825         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
7826
7827 2010-01-01  Bruno Haible  <bruno@clisp.org>
7828
7829         localename: Avoid gcc warning.
7830         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
7831         function if it is not used.
7832
7833 2010-01-01  Jim Meyering  <meyering@redhat.com>
7834
7835         update nearly all FSF copyright year lists to include 2010
7836         Use the same procedure as for 2009, outlined in
7837         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
7838
7839         version-etc: set COPYRIGHT_YEAR to 2010
7840         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
7841
7842 2009-12-31  Eric Blake  <ebb9@byu.net>
7843
7844         doc: correct availability of cygwin 1.5.x getopt
7845         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
7846         variables.
7847         * doc/posix-functions/opterr.texi (opterr): Likewise.
7848         * doc/posix-functions/optind.texi (optind): Likewise.
7849         * doc/posix-functions/optopt.texi (optopt): Likewise.
7850         * doc/posix-functions/tzname.texi (tzname): Likewise.
7851
7852         openat: update maintainer
7853         * modules/openat (Maintainer): Add myself.
7854
7855         utimens: avoid shadowing warning
7856         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
7857         buffers into one, to avoid shadowing, as well as avoiding a
7858         redundant stat.
7859         Reported by Jim Meyering.
7860
7861         test-dup2: avoid compiler warning
7862         * tests/test-dup2.c (is_inheritable): Only define if used.
7863
7864 2010-01-01  Bruno Haible  <bruno@clisp.org>
7865
7866         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
7867         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
7868         defined, use wctomb instead of wcrtomb.
7869
7870 2010-01-01  Bruno Haible  <bruno@clisp.org>
7871
7872         iconv: Reject native Solaris iconv.
7873         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
7874         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
7875
7876 2009-12-31  Bruno Haible  <bruno@clisp.org>
7877
7878         * tests/test-signal.c (main): Remove test of 'SIG'.
7879
7880 2009-12-31  Bruno Haible  <bruno@clisp.org>
7881
7882         spawn: Fix incomplete fix.
7883         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
7884         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
7885         warnings for GNULIB_POSIXCHECK again.
7886         Reported by Eric Blake.
7887
7888 2009-12-31  Bruno Haible  <bruno@clisp.org>
7889
7890         Avoid namespace pollution on glibc systems.
7891         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
7892         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
7893         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
7894         glibc systems.
7895
7896 2009-12-31  Bruno Haible  <bruno@clisp.org>
7897
7898         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
7899         (gl_REPLACE_WCHAR_H): Turn into a no-op.
7900         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
7901         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
7902         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
7903         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
7904         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
7905
7906 2009-12-31  Bruno Haible  <bruno@clisp.org>
7907
7908         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
7909         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
7910         afterwards.
7911
7912 2009-12-31  Bruno Haible  <bruno@clisp.org>
7913
7914         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
7915         SYS_UTSNAME_H.
7916
7917 2009-12-31  Bruno Haible  <bruno@clisp.org>
7918
7919         spawn: Fix misapplied patch.
7920         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
7921         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
7922         warnings for GNULIB_POSIXCHECK.
7923
7924 2009-12-31  Bruno Haible  <bruno@clisp.org>
7925
7926         times: Update after sys_times changed.
7927         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
7928         * modules/times (Files): Add it.
7929         (configure.ac): Invoke gl_FUNC_TIMES.
7930
7931 2009-12-31  Bruno Haible  <bruno@clisp.org>
7932
7933         Use AC_C_INLINE where necessary.
7934         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
7935         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
7936         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
7937         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
7938         * m4/mbfile.m4 (gl_MBFILE): Likewise.
7939         * m4/mbiter.m4 (gl_MBITER): Likewise.
7940         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
7941         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
7942         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
7943         * modules/u64 (configure.ac): Likewise.
7944
7945 2009-12-31  Bruno Haible  <bruno@clisp.org>
7946
7947         Use AC_C_INLINE instead of module 'inline' where possible.
7948         * modules/inline (Description): Clarify purpose.
7949         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
7950         * modules/count-one-bits (Depends-on): Remove inline.
7951         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
7952         * modules/openat (Depends-on): Remove inline.
7953         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
7954         instead of depending on module 'inline'.
7955         * modules/filevercmp (Depends-on, configure.ac): Likewise.
7956         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
7957         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
7958         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
7959         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
7960         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
7961         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
7962         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
7963         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
7964         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
7965         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
7966         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
7967         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
7968         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
7969         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
7970         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
7971         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
7972         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
7973         Likewise.
7974         * modules/unictype/property-ascii-hex-digit (Depends-on,
7975         configure.ac): Likewise.
7976         * modules/unictype/property-bidi-arabic-digit (Depends-on,
7977         configure.ac): Likewise.
7978         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
7979         configure.ac): Likewise.
7980         * modules/unictype/property-bidi-block-separator (Depends-on,
7981         configure.ac): Likewise.
7982         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
7983         configure.ac): Likewise.
7984         * modules/unictype/property-bidi-common-separator (Depends-on,
7985         configure.ac): Likewise.
7986         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
7987         Likewise.
7988         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
7989         configure.ac): Likewise.
7990         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
7991         configure.ac): Likewise.
7992         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
7993         configure.ac): Likewise.
7994         * modules/unictype/property-bidi-european-digit (Depends-on,
7995         configure.ac): Likewise.
7996         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
7997         configure.ac): Likewise.
7998         * modules/unictype/property-bidi-left-to-right (Depends-on,
7999         configure.ac): Likewise.
8000         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
8001         configure.ac): Likewise.
8002         * modules/unictype/property-bidi-other-neutral (Depends-on,
8003         configure.ac): Likewise.
8004         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
8005         Likewise.
8006         * modules/unictype/property-bidi-segment-separator (Depends-on,
8007         configure.ac): Likewise.
8008         * modules/unictype/property-bidi-whitespace (Depends-on,
8009         configure.ac): Likewise.
8010         * modules/unictype/property-combining (Depends-on, configure.ac):
8011         Likewise.
8012         * modules/unictype/property-composite (Depends-on, configure.ac):
8013         Likewise.
8014         * modules/unictype/property-currency-symbol (Depends-on,
8015         configure.ac): Likewise.
8016         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
8017         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
8018         Likewise.
8019         * modules/unictype/property-default-ignorable-code-point (Depends-on,
8020         configure.ac): Likewise.
8021         * modules/unictype/property-deprecated (Depends-on, configure.ac):
8022         Likewise.
8023         * modules/unictype/property-diacritic (Depends-on, configure.ac):
8024         Likewise.
8025         * modules/unictype/property-extender (Depends-on, configure.ac):
8026         Likewise.
8027         * modules/unictype/property-format-control (Depends-on, configure.ac):
8028         Likewise.
8029         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
8030         Likewise.
8031         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
8032         Likewise.
8033         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
8034         Likewise.
8035         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
8036         Likewise.
8037         * modules/unictype/property-hyphen (Depends-on, configure.ac):
8038         Likewise.
8039         * modules/unictype/property-id-continue (Depends-on, configure.ac):
8040         Likewise.
8041         * modules/unictype/property-id-start (Depends-on, configure.ac):
8042         Likewise.
8043         * modules/unictype/property-ideographic (Depends-on, configure.ac):
8044         Likewise.
8045         * modules/unictype/property-ids-binary-operator (Depends-on,
8046         configure.ac): Likewise.
8047         * modules/unictype/property-ids-trinary-operator (Depends-on,
8048         configure.ac): Likewise.
8049         * modules/unictype/property-ignorable-control (Depends-on,
8050         configure.ac): Likewise.
8051         * modules/unictype/property-iso-control (Depends-on, configure.ac):
8052         Likewise.
8053         * modules/unictype/property-join-control (Depends-on, configure.ac):
8054         Likewise.
8055         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
8056         Likewise.
8057         * modules/unictype/property-line-separator (Depends-on, configure.ac):
8058         Likewise.
8059         * modules/unictype/property-logical-order-exception (Depends-on,
8060         configure.ac): Likewise.
8061         * modules/unictype/property-lowercase (Depends-on, configure.ac):
8062         Likewise.
8063         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
8064         * modules/unictype/property-non-break (Depends-on, configure.ac):
8065         Likewise.
8066         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
8067         Likewise.
8068         * modules/unictype/property-numeric (Depends-on, configure.ac):
8069         Likewise.
8070         * modules/unictype/property-other-alphabetic (Depends-on,
8071         configure.ac): Likewise.
8072         * modules/unictype/property-other-default-ignorable-code-point
8073         (Depends-on, configure.ac): Likewise.
8074         * modules/unictype/property-other-grapheme-extend (Depends-on,
8075         configure.ac): Likewise.
8076         * modules/unictype/property-other-id-continue (Depends-on,
8077         configure.ac): Likewise.
8078         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
8079         Likewise.
8080         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
8081         Likewise.
8082         * modules/unictype/property-other-math (Depends-on, configure.ac):
8083         Likewise.
8084         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
8085         Likewise.
8086         * modules/unictype/property-paired-punctuation (Depends-on,
8087         configure.ac): Likewise.
8088         * modules/unictype/property-paragraph-separator (Depends-on,
8089         configure.ac): Likewise.
8090         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
8091         Likewise.
8092         * modules/unictype/property-pattern-white-space (Depends-on,
8093         configure.ac): Likewise.
8094         * modules/unictype/property-private-use (Depends-on, configure.ac):
8095         Likewise.
8096         * modules/unictype/property-punctuation (Depends-on, configure.ac):
8097         Likewise.
8098         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
8099         Likewise.
8100         * modules/unictype/property-radical (Depends-on, configure.ac):
8101         Likewise.
8102         * modules/unictype/property-sentence-terminal (Depends-on,
8103         configure.ac): Likewise.
8104         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
8105         Likewise.
8106         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
8107         * modules/unictype/property-terminal-punctuation (Depends-on,
8108         configure.ac): Likewise.
8109         * modules/unictype/property-titlecase (Depends-on, configure.ac):
8110         Likewise.
8111         * modules/unictype/property-unassigned-code-value (Depends-on,
8112         configure.ac): Likewise.
8113         * modules/unictype/property-unified-ideograph (Depends-on,
8114         configure.ac): Likewise.
8115         * modules/unictype/property-uppercase (Depends-on, configure.ac):
8116         Likewise.
8117         * modules/unictype/property-variation-selector (Depends-on,
8118         configure.ac): Likewise.
8119         * modules/unictype/property-white-space (Depends-on, configure.ac):
8120         Likewise.
8121         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
8122         Likewise.
8123         * modules/unictype/property-xid-start (Depends-on, configure.ac):
8124         Likewise.
8125         * modules/unictype/property-zero-width (Depends-on, configure.ac):
8126         Likewise.
8127         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
8128         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
8129         Likewise.
8130
8131 2009-12-31  Bruno Haible  <bruno@clisp.org>
8132
8133         Remove unnecessary AC_C_INLINE invocation.
8134         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
8135         since 2009-08-21.
8136
8137 2009-12-31  Jim Meyering  <meyering@redhat.com>
8138
8139         maint.mk: don't require explicit gpg_key_ID in cfg.mk
8140         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
8141         With this change, we can all remove the gpg_key_ID = ... definition
8142         from our respective cfg.mk files.
8143
8144         maint.mk: create announcement template in ~/, not in /tmp
8145         * top/maint.mk (emit_upload_commands): Adjust.
8146         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
8147         Remove temporary file, .ci-msg.
8148
8149 2009-12-31  Eric Blake  <ebb9@byu.net>
8150
8151         link-warning: always build headers with link warnings
8152         * modules/arpa_inet (Makefile.am): Always build replacement
8153         header.
8154         * modules/ctype (Makefile.am): Likewise.
8155         * modules/dirent (Makefile.am): Likewise.
8156         * modules/inttypes (Makefile.am): Likewise.
8157         * modules/langinfo (Makefile.am): Likewise.
8158         * modules/locale (Makefile.am): Likewise.
8159         * modules/spawn (Makefile.am): Likewise.
8160         * modules/sys_file (Makefile.am): Likewise.
8161         * modules/sys_ioctl (Makefile.am): Likewise.
8162         * modules/sys_select (Makefile.am): Likewise.
8163         * modules/sys_socket (Makefile.am): Likewise.
8164         * modules/sys_times (Makefile.am): Likewise.
8165         * modules/sys_utsname (Makefile.am): Likewise.
8166         * modules/sys_wait (Makefile.am): Likewise.
8167         * modules/wchar (Makefile.am): Likewise.
8168         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
8169         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
8170         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
8171         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
8172         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
8173         Likewise.
8174         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
8175         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
8176         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
8177         Likewise.
8178         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
8179         Likewise.
8180         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
8181         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
8182         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
8183         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
8184         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
8185         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
8186         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
8187         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
8188         (gl_WCHAR_H_DEFAULTS): Likewise.
8189
8190 2009-12-31  Eric Blake  <ebb9@byu.net>
8191
8192         signal, spawn: use link warnings
8193         * lib/signal.in.h (sigset_t): Make unconditional.
8194         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
8195         (sigpending, sigprocmask, sigaction): Add link warnings.
8196         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
8197         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
8198         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
8199         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
8200         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
8201         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
8202         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
8203         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
8204         (posix_spawn_file_actions_destroy)
8205         (posix_spawn_file_actions_addopen)
8206         (posix_spawn_file_actions_addclose)
8207         (posix_spawn_file_actions_adddup2): Likewise.
8208         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
8209         * tests/test-signal.c (main): Enhance test.
8210
8211         spawn: improve wrapper support
8212         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
8213         (gl_SPAWN_H_DEFAULTS): New defaults.
8214         * modules/spawn (Makefile.am): Substitute them.
8215         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
8216         Only declare if missing or broken.
8217
8218         sys_times, sys_utsname: use include_next
8219         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
8220         header.
8221         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
8222         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
8223         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
8224         * modules/sys_times (Depends-on): Add include_next.
8225         (Makefile.am): Substitute additional values.
8226         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
8227         * lib/sys_times.in.h (includes): Include native header, if
8228         available.
8229         * lib/sys_utsname.in.h (includes): Likewise.
8230         * tests/test-sys_times.c (main): Enhance test.
8231
8232         fdutimensat: revert prior patch
8233         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
8234         utimens.h.
8235         Reported by Bruno Haible.
8236
8237 2009-12-30  Eric Blake  <ebb9@byu.net>
8238
8239         sys_wait: drop link-warning dependency
8240         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
8241         link-warning efforts.
8242         * lib/sys_wait.in.h: Likewise.
8243
8244         fdutimensat: remove bogus dependency
8245         * modules/fdutimensat (Depends-on): Drop inline.
8246
8247         unistd: fix typo
8248         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
8249
8250 2009-12-30  Bruno Haible  <bruno@clisp.org>
8251
8252         Fix compilation error with Solaris cc.
8253         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
8254         * lib/unicase/u16-is-invariant.c: Likewise.
8255         * lib/unicase/u32-is-invariant.c: Likewise.
8256         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
8257
8258 2009-12-30  Bruno Haible  <bruno@clisp.org>
8259
8260         Fix test crash.
8261         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
8262         locales.
8263         Reported by Simon Josefsson <simon@josefsson.org>.
8264
8265 2009-12-30  Bruno Haible  <bruno@clisp.org>
8266
8267         Fix compilation error on most platforms.
8268         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
8269         Reported by Simon Josefsson <simon@josefsson.org>
8270         and Nelson H. F. Beebe <beebe@math.utah.edu>.
8271
8272 2009-12-30  Eric Blake  <ebb9@byu.net>
8273
8274         futimens, utimensat: work around ntfs-3g bug
8275         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
8276         a ctime bug is present, and expand workaround to cover ntfs-3g.
8277         * lib/utimens.c (fdutimens, lutimens): Likewise.
8278         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
8279         (validate_timespec): Adjust return value.
8280         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
8281         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
8282         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
8283
8284 2009-12-29  Eric Blake  <ebb9@byu.net>
8285
8286         link-warning: make usage consistent
8287         * modules/ctype (Depends-on): Add link-warning.
8288         (Makefile.am): Update rules accordingly.
8289         * modules/langinfo (Depends-on, Makefile.am): Likewise.
8290         * modules/locale (Depends-on, Makefile.am): Likewise.
8291         * modules/sys_file (Makefile.am): Likewise.
8292         * modules/getopt-posix (Makefile.am): Delete unused link warning
8293         efforts.
8294         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
8295         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
8296         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
8297         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
8298
8299         stdio: remove unused variables
8300         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
8301         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
8302         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
8303
8304         tests: test more substitute headers
8305         * modules/ctype-tests: New file.
8306         * modules/dirent-tests: Likewise.
8307         * modules/spawn-tests: Likewise.
8308         * modules/sys_file-tests: Likewise.
8309         * modules/sys_ioctl-tests: Likewise.
8310         * modules/sys_wait-tests: Likewise.
8311         * tests/test-ctype.c: Likewise.
8312         * tests/test-dirent.c: Likewise.
8313         * tests/test-spawn.c: Likewise.
8314         * tests/test-sys_file.c: Likewise.
8315         * tests/test-sys_ioctl.c: Likewise.
8316         * tests/test-sys_wait.c: Likewise.
8317         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
8318         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
8319         whether or not flock is in use.
8320
8321         tests: remove License section from module
8322         * modules/arpa_inet-tests: Remove unneeded section.
8323         * modules/byteswap-tests: Likewise.
8324         * modules/ceilf-tests: Likewise.
8325         * modules/ceill-tests: Likewise.
8326         * modules/crypto/des-tests: Likewise.
8327         * modules/crypto/gc-arcfour-tests: Likewise.
8328         * modules/crypto/gc-arctwo-tests: Likewise.
8329         * modules/crypto/gc-des-tests: Likewise.
8330         * modules/crypto/gc-hmac-md5-tests: Likewise.
8331         * modules/crypto/gc-hmac-sha1-tests: Likewise.
8332         * modules/crypto/gc-md2-tests: Likewise.
8333         * modules/crypto/gc-md4-tests: Likewise.
8334         * modules/crypto/gc-md5-tests: Likewise.
8335         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
8336         * modules/crypto/gc-rijndael-tests: Likewise.
8337         * modules/crypto/gc-sha1-tests: Likewise.
8338         * modules/crypto/gc-tests: Likewise.
8339         * modules/crypto/md2-tests: Likewise.
8340         * modules/crypto/md4-tests: Likewise.
8341         * modules/fcntl-h-tests: Likewise.
8342         * modules/floorf-tests: Likewise.
8343         * modules/floorl-tests: Likewise.
8344         * modules/frexp-nolibm-tests: Likewise.
8345         * modules/frexp-tests: Likewise.
8346         * modules/frexpl-nolibm-tests: Likewise.
8347         * modules/frexpl-tests: Likewise.
8348         * modules/getaddrinfo-tests: Likewise.
8349         * modules/inttypes-tests: Likewise.
8350         * modules/isfinite-tests: Likewise.
8351         * modules/isinf-tests: Likewise.
8352         * modules/ldexpl-tests: Likewise.
8353         * modules/locale-tests: Likewise.
8354         * modules/math-tests: Likewise.
8355         * modules/netdb-tests: Likewise.
8356         * modules/netinet_in-tests: Likewise.
8357         * modules/printf-frexp-tests: Likewise.
8358         * modules/printf-frexpl-tests: Likewise.
8359         * modules/priv-set-tests: Likewise.
8360         * modules/random_r-tests: Likewise.
8361         * modules/round-tests: Likewise.
8362         * modules/roundf-tests: Likewise.
8363         * modules/roundl-tests: Likewise.
8364         * modules/search-tests: Likewise.
8365         * modules/select-tests: Likewise.
8366         * modules/signal-tests: Likewise.
8367         * modules/stdbool-tests: Likewise.
8368         * modules/stddef-tests: Likewise.
8369         * modules/stdint-tests: Likewise.
8370         * modules/stdio-tests: Likewise.
8371         * modules/stdlib-tests: Likewise.
8372         * modules/string-tests: Likewise.
8373         * modules/strings-tests: Likewise.
8374         * modules/sys_select-tests: Likewise.
8375         * modules/sys_socket-tests: Likewise.
8376         * modules/sys_stat-tests: Likewise.
8377         * modules/sys_time-tests: Likewise.
8378         * modules/sys_utsname-tests: Likewise.
8379         * modules/sysexits-tests: Likewise.
8380         * modules/time-tests: Likewise.
8381         * modules/trunc-tests: Likewise.
8382         * modules/truncf-tests: Likewise.
8383         * modules/truncl-tests: Likewise.
8384         * modules/tsearch-tests: Likewise.
8385         * modules/unistd-tests: Likewise.
8386         * modules/wchar-tests: Likewise.
8387         * modules/wctype-tests: Likewise.
8388
8389         tests: fix license on several tests
8390         * tests/test-des.c: Update to GPLv3+.
8391         * tests/test-flock.c: Likewise.
8392         * tests/test-fsync.c: Likewise.
8393         * tests/test-futimens.h: Likewise.
8394         * tests/test-gc-arcfour.c: Likewise.
8395         * tests/test-gc-arctwo.c: Likewise.
8396         * tests/test-gc-des.c: Likewise.
8397         * tests/test-gc-hmac-md5.c: Likewise.
8398         * tests/test-gc-hmac-sha1.c: Likewise.
8399         * tests/test-gc-md2.c: Likewise.
8400         * tests/test-gc-md4.c: Likewise.
8401         * tests/test-gc-md5.c: Likewise.
8402         * tests/test-gc-pbkdf2-sha1.c: Likewise.
8403         * tests/test-gc-rijndael.c: Likewise.
8404         * tests/test-gc-sha1.c: Likewise.
8405         * tests/test-gc.c: Likewise.
8406         * tests/test-getcwd.c: Likewise.
8407         * tests/test-link.c: Likewise.
8408         * tests/test-link.h: Likewise.
8409         * tests/test-lutimens.h: Likewise.
8410         * tests/test-md2.c: Likewise.
8411         * tests/test-md4.c: Likewise.
8412         * tests/test-mkdir.h: Likewise.
8413         * tests/test-rename.c: Likewise.
8414         * tests/test-rename.h: Likewise.
8415         * tests/test-safe-alloc.c: Likewise.
8416         * tests/test-utimens-common.h: Likewise.
8417         * tests/test-utimens.h: Likewise.
8418
8419         maint: sync license texts
8420         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
8421         * doc/gpl-3.0.texi: Revert copyright year update.
8422         * doc/lgpl-3.0.texi: Likewise.
8423
8424 2009-12-29  Jim Meyering  <meyering@redhat.com>
8425
8426         update nearly all FSF copyright year lists to include 2009
8427         The files named by the following are exempted:
8428             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
8429               test -f "$dst" && { echo "$dst"; continue; }
8430               test -d "$dst" || continue
8431               echo "$dst"/$(basename "$src")
8432             done > exempt
8433             git ls-files tests/unictype >> exempt
8434         In the remaining files, convert to all-interval notation if
8435         - there is already at least one year interval like 2000-2003
8436         - the file is maintained by me
8437         - the file is in lib/uni*/, where that style already prevails
8438         Otherwise, use update-copyright's default.
8439
8440 2009-12-29  Simon Josefsson  <simon@josefsson.org>
8441         and Eric Blake  <ebb9@byu.net>
8442
8443         tests: don't require debug system() to pass
8444         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
8445         * tests/test-rmdir.h (test_rmdir_func): Likewise.
8446         * tests/test-unlink.h (test_unlink_func): Likewise.
8447         * tests/test-fstatat.c (main): ...into callers.
8448         * tests/test-lstat.c (main): Likewise.
8449         * tests/test-rmdir.c (main): Likewise.
8450         * tests/test-unlink.c (main): Likewise.
8451         * tests/test-unlinkat.c (main): Likewise.
8452         * tests/test-areadlink-with-size.c (main): Don't require a
8453         debug-only system call to pass, aiding cross-testing to mingw.
8454         * tests/test-areadlink.c (main): Likewise.
8455         * tests/test-areadlinkat-with-size.c (main): Likewise.
8456         * tests/test-areadlinkat.c (main): Likewise.
8457         * tests/test-canonicalize-lgpl.c (main): Likewise.
8458         * tests/test-canonicalize.c (main): Likewise.
8459         * tests/test-chown.c (main): Likewise.
8460         * tests/test-fchownat.c (main): Likewise.
8461         * tests/test-lchown.c (main): Likewise.
8462         * tests/test-fdutimensat.c (main): Likewise.
8463         * tests/test-futimens.c (main): Likewise.
8464         * tests/test-link.c (main): Likewise.
8465         * tests/test-linkat.c (main): Likewise.
8466         * tests/test-mkdir.c (main): Likewise.
8467         * tests/test-mkdirat.c (main): Likewise.
8468         * tests/test-mkfifo.c (main): Likewise.
8469         * tests/test-mkfifoat.c (main): Likewise.
8470         * tests/test-mknod.c (main): Likewise.
8471         * tests/test-readlink.c (main): Likewise.
8472         * tests/test-remove.c (main): Likewise.
8473         * tests/test-rename.c (main): Likewise.
8474         * tests/test-renameat.c (main): Likewise.
8475         * tests/test-symlink.c (main): Likewise.
8476         * tests/test-symlinkat.c (main): Likewise.
8477         * tests/test-utimens.c (main): Likewise.
8478         * tests/test-utimensat.c (main): Likewise.
8479
8480 2009-12-29  Simon Josefsson  <simon@josefsson.org>
8481
8482         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
8483         on $(UNUSED_PARAMETER_H) to avoid build failure.
8484
8485 2009-12-28  Jim Meyering  <meyering@redhat.com>
8486
8487         update-copyright: you may specify a max. line length other than 72
8488         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
8489
8490         maint: use consistent FSF copyright line syntax
8491         * lib/posixtm.c: Add missing comma in FSF copyright line.
8492         * lib/posixtm.h: Likewise.
8493         * lib/getugroups.c: Add missing ", Inc.".
8494
8495         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
8496         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
8497         FSF copyright line.  Remove trailing blanks.
8498
8499 2009-12-28  Eric Blake  <ebb9@byu.net>
8500
8501         test-dup2: reduce dependencies
8502         * modules/cloexec (Configure.ac): Set witness.
8503         * modules/dup2-tests (Depends-on): Drop cloexec.
8504         * tests/test-dup2.c (main): Skip portion of test if cloexec module
8505         not present.
8506         Suggested by Bruno Haible.
8507
8508 2009-12-26  Bruno Haible  <bruno@clisp.org>
8509
8510         Remove an unneeded dependency.
8511         * modules/fseterr (Depends-on): Remove dup2.
8512
8513 2009-12-26  Eric Blake  <ebb9@byu.net>
8514
8515         tests: use macros.h in more places
8516         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
8517         (ASSERT_STREAM): Provide default of stderr.
8518         * tests/test-dirent-safer.c: Include macros.h, using alternate
8519         stream for assertions.
8520         * tests/test-dup-safer.c: Likewise.
8521         * tests/test-freopen-safer.c: Likewise.
8522         * tests/test-getopt.c: Likewise.
8523         * tests/test-openat-safer.c: Likewise.
8524         * tests/test-pipe.c: Likewise.
8525         * tests/test-popen-safer.c: Likewise.
8526         * modules/dirent-safer-tests (Files): Include macros.h.
8527         * modules/unistd-safer-tests (Files): Likewise.
8528         * modules/freopen-safer-tests (Files): Likewise.
8529         * modules/getopt-posix-tests (Files): Likewise.
8530         * modules/openat-safer-tests (Files): Likewise.
8531         * modules/pipe-tests (Files): Likewise.
8532
8533 2009-12-26  Bruno Haible  <bruno@clisp.org>
8534
8535         javacomp: Portability fix.
8536         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
8537         that it also works on Solaris.
8538
8539 2009-12-26  Bruno Haible  <bruno@clisp.org>
8540
8541         localename: Fix storage allocation of gl_locale_name_thread's result.
8542         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
8543         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
8544         all platforms that have 'uselocale'.
8545         (gl_locale_name_thread_unsafe): New function, extracted from
8546         gl_locale_name_thread.
8547         (gl_locale_name_thread): Call struniq on all platforms that have
8548         'uselocale'.
8549         * tests/test-localename.c (test_locale_name_thread): Check that the
8550         resulting strings are permanently allocated.
8551         * modules/localename-tests (Depends-on): Add strdup.
8552
8553 2009-12-26  Bruno Haible  <bruno@clisp.org>
8554
8555         * tests/test-localename.c (categories): Fill in the strings.
8556
8557 2009-12-26  Jim Meyering  <meyering@redhat.com>
8558
8559         isdir: complete the removal of m4/isdir.m4
8560         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
8561
8562         isdir: clean up, since at least grep still uses it
8563         * lib/isdir.c: Include "isdir.h".
8564         (S_ISDIR): Remove now-unneeded definition.
8565         * modules/isdir (Files): Add lib/isdir.h.
8566         * lib/isdir.h: New file, with declaration.
8567         * m4/isdir.m4: Remove file -- unneeded.
8568
8569 2009-12-25  Bruno Haible  <bruno@clisp.org>
8570
8571         selinux-h: Make generated .h files standalone.
8572         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
8573         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
8574         * lib/se-selinux.in.h: Likewise.
8575         * modules/selinux-h (Depends-on): Add unused-parameter.
8576         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
8577         selinux/selinux.h and selinux/context.h.
8578         Suggested by Eric Blake.
8579
8580 2009-12-25  Bruno Haible  <bruno@clisp.org>
8581
8582         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
8583         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
8584         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
8585         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
8586         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
8587
8588 2009-12-24  Bruno Haible  <bruno@clisp.org>
8589
8590         openat: Fix warning.
8591         * lib/openat-proc.c: Include <unistd.h>.
8592
8593 2009-12-24  Bruno Haible  <bruno@clisp.org>
8594
8595         New module 'unused-parameter'.
8596         * build-aux/unused-parameter.h: New file, extracted from earlier
8597         gnulib-common.m4.
8598         * modules/unused-parameter: New file.
8599         * lib/unistr.h: Include unused-parameter.h.
8600         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
8601         _GL_UNUSED.
8602         * modules/unistr/base (Depends-on): Add unused-parameter.
8603
8604 2009-12-24  Bruno Haible  <bruno@clisp.org>
8605
8606         Add missing dependencies to 'extensions' module.
8607         * m4/extensions.m4: Add comment.
8608         * modules/accept4 (Depends-on): Add extensions.
8609         * modules/dup3 (Depends-on): Likewise.
8610         * modules/fcntl (Depends-on): Likewise.
8611         * modules/futimens (Depends-on): Likewise.
8612         * modules/mknod (Depends-on): Likewise.
8613         * modules/pipe2 (Depends-on): Likewise.
8614         * modules/stat-time (Depends-on): Likewise.
8615         * modules/strcasestr-simple (Depends-on): Likewise.
8616         * modules/strsignal (Depends-on): Likewise.
8617         * modules/utimensat (Depends-on): Likewise.
8618         * modules/localcharset (Depends-on): Likewise. Needed because of
8619         gl_FCNTL_O_FLAGS.
8620         * modules/wcrtomb (Depends-on): Likewise. Needed because of
8621         AC_TYPE_MBSTATE_T.
8622         * modules/wcsnrtombs (Depends-on): Likewise.
8623         * modules/wcsrtombs (Depends-on): Likewise.
8624
8625 2009-12-24  Bruno Haible  <bruno@clisp.org>
8626
8627         binary-io: Avoid gcc warning due to SET_BINARY.
8628         * lib/binary-io.h (SET_BINARY): Cast the result to void.
8629         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
8630
8631 2009-12-24  Bruno Haible  <bruno@clisp.org>
8632
8633         Avoid future namespace pollution on glibc systems.
8634         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
8635         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
8636         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
8637         glibc systems.
8638
8639 2009-12-24  Bruno Haible  <bruno@clisp.org>
8640
8641         Refactor common macros used in tests.
8642         * tests/macros.h: New file.
8643         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
8644         and/or <stdlib.h>, if appropriate.
8645         (ASSERT, SIZEOF): Remove macros.
8646         * tests/test-areadlink-with-size.c: Likewise.
8647         * tests/test-areadlinkat.c: Likewise.
8648         * tests/test-areadlinkat-with-size.c: Likewise.
8649         * tests/test-argmatch.c: Likewise.
8650         * tests/test-argv-iter.c: Likewise.
8651         * tests/test-array-mergesort.c: Likewise.
8652         * tests/test-array_list.c: Likewise.
8653         * tests/test-array_oset.c: Likewise.
8654         * tests/test-avltree_list.c: Likewise.
8655         * tests/test-avltree_oset.c: Likewise.
8656         * tests/test-avltreehash_list.c: Likewise.
8657         * tests/test-base64.c: Likewise.
8658         * tests/test-binary-io.c: Likewise.
8659         * tests/test-bitrotate.c: Likewise.
8660         * tests/test-btowc.c: Likewise.
8661         * tests/test-byteswap.c: Likewise.
8662         * tests/test-c-ctype.c: Likewise.
8663         * tests/test-c-stack.c: Likewise.
8664         * tests/test-c-strcasecmp.c: Likewise.
8665         * tests/test-c-strcasestr.c: Likewise.
8666         * tests/test-c-strncasecmp.c: Likewise.
8667         * tests/test-c-strstr.c: Likewise.
8668         * tests/test-canonicalize-lgpl.c: Likewise.
8669         * tests/test-canonicalize.c: Likewise.
8670         * tests/test-carray_list.c: Likewise.
8671         * tests/test-ceilf1.c: Likewise.
8672         * tests/test-ceilf2.c: Likewise.
8673         * tests/test-ceill.c: Likewise.
8674         * tests/test-chown.c: Likewise.
8675         * tests/test-cloexec.c: Likewise.
8676         * tests/test-copy-acl.c: Likewise.
8677         * tests/test-copy-file.c: Likewise.
8678         * tests/test-count-one-bits.c: Likewise.
8679         * tests/test-dprintf-posix.c: Likewise.
8680         * tests/test-dup2.c: Likewise.
8681         * tests/test-dup3.c: Likewise.
8682         * tests/test-duplocale.c: Likewise.
8683         * tests/test-fbufmode.c: Likewise.
8684         * tests/test-fchdir.c: Likewise.
8685         * tests/test-fchownat.c: Likewise.
8686         * tests/test-fcntl-safer.c: Likewise.
8687         * tests/test-fcntl.c: Likewise.
8688         * tests/test-fdopendir.c: Likewise.
8689         * tests/test-fdutimensat.c: Likewise.
8690         * tests/test-fflush2.c: Likewise.
8691         * tests/test-file-has-acl.c: Likewise.
8692         * tests/test-filevercmp.c: Likewise.
8693         * tests/test-flock.c: Likewise.
8694         * tests/test-floorf1.c: Likewise.
8695         * tests/test-floorf2.c: Likewise.
8696         * tests/test-floorl.c: Likewise.
8697         * tests/test-fnmatch.c: Likewise.
8698         * tests/test-fopen.h: Likewise.
8699         * tests/test-fpending.c: Likewise.
8700         * tests/test-fprintf-posix.c: Likewise.
8701         * tests/test-fpurge.c: Likewise.
8702         * tests/test-freadable.c: Likewise.
8703         * tests/test-freadahead.c: Likewise.
8704         * tests/test-freading.c: Likewise.
8705         * tests/test-freadptr.c: Likewise.
8706         * tests/test-freadptr2.c: Likewise.
8707         * tests/test-freadseek.c: Likewise.
8708         * tests/test-freopen.c: Likewise.
8709         * tests/test-frexp.c: Likewise.
8710         * tests/test-frexpl.c: Likewise.
8711         * tests/test-fseek.c: Likewise.
8712         * tests/test-fseeko.c: Likewise.
8713         * tests/test-fstatat.c: Likewise.
8714         * tests/test-fstrcmp.c: Likewise.
8715         * tests/test-fsync.c: Likewise.
8716         * tests/test-ftell.c: Likewise.
8717         * tests/test-ftello.c: Likewise.
8718         * tests/test-func.c: Likewise.
8719         * tests/test-futimens.c: Likewise.
8720         * tests/test-fwritable.c: Likewise.
8721         * tests/test-fwriting.c: Likewise.
8722         * tests/test-getcwd.c: Likewise.
8723         * tests/test-getdate.c: Likewise.
8724         * tests/test-getdelim.c: Likewise.
8725         * tests/test-getdtablesize.c: Likewise.
8726         * tests/test-getgroups.c: Likewise.
8727         * tests/test-getline.c: Likewise.
8728         * tests/test-getndelim2.c: Likewise.
8729         * tests/test-glob.c: Likewise.
8730         * tests/test-hash.c: Likewise.
8731         * tests/test-i-ring.c: Likewise.
8732         * tests/test-iconv-utf.c: Likewise.
8733         * tests/test-iconv.c: Likewise.
8734         * tests/test-idpriv-drop.c: Likewise.
8735         * tests/test-idpriv-droptemp.c: Likewise.
8736         * tests/test-inet_ntop.c: Likewise.
8737         * tests/test-inet_pton.c: Likewise.
8738         * tests/test-isblank.c: Likewise.
8739         * tests/test-isfinite.c: Likewise.
8740         * tests/test-isinf.c: Likewise.
8741         * tests/test-isnan.c: Likewise.
8742         * tests/test-isnand.h: Likewise.
8743         * tests/test-isnanf.h: Likewise.
8744         * tests/test-isnanl.h: Likewise.
8745         * tests/test-lchown.c: Likewise.
8746         * tests/test-ldexpl.c: Likewise.
8747         * tests/test-link.c: Likewise.
8748         * tests/test-linkat.c: Likewise.
8749         * tests/test-linked_list.c: Likewise.
8750         * tests/test-linkedhash_list.c: Likewise.
8751         * tests/test-localename.c: Likewise.
8752         * tests/test-lseek.c: Likewise.
8753         * tests/test-lstat.c: Likewise.
8754         * tests/test-mbmemcasecmp.c: Likewise.
8755         * tests/test-mbmemcasecoll.c: Likewise.
8756         * tests/test-mbrtowc.c: Likewise.
8757         * tests/test-mbscasecmp.c: Likewise.
8758         * tests/test-mbscasestr1.c: Likewise.
8759         * tests/test-mbscasestr2.c: Likewise.
8760         * tests/test-mbscasestr3.c: Likewise.
8761         * tests/test-mbscasestr4.c: Likewise.
8762         * tests/test-mbschr.c: Likewise.
8763         * tests/test-mbscspn.c: Likewise.
8764         * tests/test-mbsinit.c: Likewise.
8765         * tests/test-mbsncasecmp.c: Likewise.
8766         * tests/test-mbsnrtowcs.c: Likewise.
8767         * tests/test-mbspbrk.c: Likewise.
8768         * tests/test-mbspcasecmp.c: Likewise.
8769         * tests/test-mbsrchr.c: Likewise.
8770         * tests/test-mbsrtowcs.c: Likewise.
8771         * tests/test-mbsspn.c: Likewise.
8772         * tests/test-mbsstr1.c: Likewise.
8773         * tests/test-mbsstr2.c: Likewise.
8774         * tests/test-mbsstr3.c: Likewise.
8775         * tests/test-memchr.c: Likewise.
8776         * tests/test-memchr2.c: Likewise.
8777         * tests/test-memcmp.c: Likewise.
8778         * tests/test-memmem.c: Likewise.
8779         * tests/test-memrchr.c: Likewise.
8780         * tests/test-mkdir.c: Likewise.
8781         * tests/test-mkdirat.c: Likewise.
8782         * tests/test-mkfifo.c: Likewise.
8783         * tests/test-mkfifoat.c: Likewise.
8784         * tests/test-mknod.c: Likewise.
8785         * tests/test-nanosleep.c: Likewise.
8786         * tests/test-nl_langinfo.c: Likewise.
8787         * tests/test-obstack-printf.c: Likewise.
8788         * tests/test-open.c: Likewise.
8789         * tests/test-openat.c: Likewise.
8790         * tests/test-pipe-filter-gi1.c: Likewise.
8791         * tests/test-pipe-filter-gi2-main.c: Likewise.
8792         * tests/test-pipe-filter-ii1.c: Likewise.
8793         * tests/test-pipe-filter-ii2-main.c: Likewise.
8794         * tests/test-pipe2.c: Likewise.
8795         * tests/test-popen.h: Likewise.
8796         * tests/test-posixtm.c: Likewise.
8797         * tests/test-pread.c: Likewise.
8798         * tests/test-printf-frexp.c: Likewise.
8799         * tests/test-printf-frexpl.c: Likewise.
8800         * tests/test-printf-posix.c: Likewise.
8801         * tests/test-priv-set.c: Likewise.
8802         * tests/test-quotearg.c: Likewise.
8803         * tests/test-random_r.c: Likewise.
8804         * tests/test-rawmemchr.c: Likewise.
8805         * tests/test-rbtree_list.c: Likewise.
8806         * tests/test-rbtree_oset.c: Likewise.
8807         * tests/test-rbtreehash_list.c: Likewise.
8808         * tests/test-readlink.c: Likewise.
8809         * tests/test-remove.c: Likewise.
8810         * tests/test-rename.c: Likewise.
8811         * tests/test-renameat.c: Likewise.
8812         * tests/test-rmdir.c: Likewise.
8813         * tests/test-round1.c: Likewise.
8814         * tests/test-roundf1.c: Likewise.
8815         * tests/test-roundl.c: Likewise.
8816         * tests/test-safe-alloc.c: Likewise.
8817         * tests/test-sameacls.c: Likewise.
8818         * tests/test-set-mode-acl.c: Likewise.
8819         * tests/test-setenv.c: Likewise.
8820         * tests/test-sigaction.c: Likewise.
8821         * tests/test-signbit.c: Likewise.
8822         * tests/test-sleep.c: Likewise.
8823         * tests/test-snprintf-posix.c: Likewise.
8824         * tests/test-snprintf.c: Likewise.
8825         * tests/test-sprintf-posix.c: Likewise.
8826         * tests/test-stat-time.c: Likewise.
8827         * tests/test-stat.c: Likewise.
8828         * tests/test-strcasestr.c: Likewise.
8829         * tests/test-strchrnul.c: Likewise.
8830         * tests/test-strerror.c: Likewise.
8831         * tests/test-striconv.c: Likewise.
8832         * tests/test-striconveh.c: Likewise.
8833         * tests/test-striconveha.c: Likewise.
8834         * tests/test-strsignal.c: Likewise.
8835         * tests/test-strstr.c: Likewise.
8836         * tests/test-strtod.c: Likewise.
8837         * tests/test-strverscmp.c: Likewise.
8838         * tests/test-symlink.c: Likewise.
8839         * tests/test-symlinkat.c: Likewise.
8840         * tests/test-trunc1.c: Likewise.
8841         * tests/test-trunc2.c: Likewise.
8842         * tests/test-truncf1.c: Likewise.
8843         * tests/test-truncf2.c: Likewise.
8844         * tests/test-truncl.c: Likewise.
8845         * tests/test-uname.c: Likewise.
8846         * tests/test-unlink.c: Likewise.
8847         * tests/test-unlinkat.c: Likewise.
8848         * tests/test-unsetenv.c: Likewise.
8849         * tests/test-usleep.c: Likewise.
8850         * tests/test-utimens.c: Likewise.
8851         * tests/test-utimensat.c: Likewise.
8852         * tests/test-vasnprintf-posix.c: Likewise.
8853         * tests/test-vasnprintf-posix2.c: Likewise.
8854         * tests/test-vasnprintf.c: Likewise.
8855         * tests/test-vasprintf-posix.c: Likewise.
8856         * tests/test-vasprintf.c: Likewise.
8857         * tests/test-vdprintf-posix.c: Likewise.
8858         * tests/test-vfprintf-posix.c: Likewise.
8859         * tests/test-vprintf-posix.c: Likewise.
8860         * tests/test-vsnprintf-posix.c: Likewise.
8861         * tests/test-vsnprintf.c: Likewise.
8862         * tests/test-vsprintf-posix.c: Likewise.
8863         * tests/test-wcrtomb.c: Likewise.
8864         * tests/test-wcsnrtombs.c: Likewise.
8865         * tests/test-wcsrtombs.c: Likewise.
8866         * tests/test-wctype.c: Likewise.
8867         * tests/test-wcwidth.c: Likewise.
8868         * tests/test-xfprintf-posix.c: Likewise.
8869         * tests/test-xmemdup0.c: Likewise.
8870         * tests/test-xprintf-posix.c: Likewise.
8871         * tests/test-xvasprintf.c: Likewise.
8872         * tests/unicase/test-locale-language.c: Likewise.
8873         * tests/unicase/test-mapping-part1.h: Likewise.
8874         * tests/unicase/test-predicate-part1.h: Likewise.
8875         * tests/unicase/test-u8-casecmp.c: Likewise.
8876         * tests/unicase/test-u8-casecoll.c: Likewise.
8877         * tests/unicase/test-u8-casefold.c: Likewise.
8878         * tests/unicase/test-u8-is-cased.c: Likewise.
8879         * tests/unicase/test-u8-is-casefolded.c: Likewise.
8880         * tests/unicase/test-u8-is-lowercase.c: Likewise.
8881         * tests/unicase/test-u8-is-titlecase.c: Likewise.
8882         * tests/unicase/test-u8-is-uppercase.c: Likewise.
8883         * tests/unicase/test-u8-tolower.c: Likewise.
8884         * tests/unicase/test-u8-totitle.c: Likewise.
8885         * tests/unicase/test-u8-toupper.c: Likewise.
8886         * tests/unicase/test-u16-casecmp.c: Likewise.
8887         * tests/unicase/test-u16-casecoll.c: Likewise.
8888         * tests/unicase/test-u16-casefold.c: Likewise.
8889         * tests/unicase/test-u16-is-cased.c: Likewise.
8890         * tests/unicase/test-u16-is-casefolded.c: Likewise.
8891         * tests/unicase/test-u16-is-lowercase.c: Likewise.
8892         * tests/unicase/test-u16-is-titlecase.c: Likewise.
8893         * tests/unicase/test-u16-is-uppercase.c: Likewise.
8894         * tests/unicase/test-u16-tolower.c: Likewise.
8895         * tests/unicase/test-u16-totitle.c: Likewise.
8896         * tests/unicase/test-u16-toupper.c: Likewise.
8897         * tests/unicase/test-u32-casecmp.c: Likewise.
8898         * tests/unicase/test-u32-casecoll.c: Likewise.
8899         * tests/unicase/test-u32-casefold.c: Likewise.
8900         * tests/unicase/test-u32-is-cased.c: Likewise.
8901         * tests/unicase/test-u32-is-casefolded.c: Likewise.
8902         * tests/unicase/test-u32-is-lowercase.c: Likewise.
8903         * tests/unicase/test-u32-is-titlecase.c: Likewise.
8904         * tests/unicase/test-u32-is-uppercase.c: Likewise.
8905         * tests/unicase/test-u32-tolower.c: Likewise.
8906         * tests/unicase/test-u32-totitle.c: Likewise.
8907         * tests/unicase/test-u32-toupper.c: Likewise.
8908         * tests/unicase/test-ulc-casecmp.c: Likewise.
8909         * tests/unicase/test-ulc-casecoll.c: Likewise.
8910         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
8911         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
8912         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
8913         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
8914         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
8915         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
8916         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
8917         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
8918         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
8919         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
8920         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
8921         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
8922         * tests/unictype/test-bidi_byname.c: Likewise.
8923         * tests/unictype/test-bidi_name.c: Likewise.
8924         * tests/unictype/test-bidi_of.c: Likewise.
8925         * tests/unictype/test-bidi_test.c: Likewise.
8926         * tests/unictype/test-block_list.c: Likewise.
8927         * tests/unictype/test-block_of.c: Likewise.
8928         * tests/unictype/test-block_test.c: Likewise.
8929         * tests/unictype/test-categ_and.c: Likewise.
8930         * tests/unictype/test-categ_and_not.c: Likewise.
8931         * tests/unictype/test-categ_byname.c: Likewise.
8932         * tests/unictype/test-categ_name.c: Likewise.
8933         * tests/unictype/test-categ_none.c: Likewise.
8934         * tests/unictype/test-categ_of.c: Likewise.
8935         * tests/unictype/test-categ_or.c: Likewise.
8936         * tests/unictype/test-categ_test_withtable.c: Likewise.
8937         * tests/unictype/test-combining.c: Likewise.
8938         * tests/unictype/test-decdigit.c: Likewise.
8939         * tests/unictype/test-digit.c: Likewise.
8940         * tests/unictype/test-mirror.c: Likewise.
8941         * tests/unictype/test-numeric.c: Likewise.
8942         * tests/unictype/test-pr_byname.c: Likewise.
8943         * tests/unictype/test-pr_test.c: Likewise.
8944         * tests/unictype/test-predicate-part1.h: Likewise.
8945         * tests/unictype/test-scripts.c: Likewise.
8946         * tests/unictype/test-sy_c_ident.c: Likewise.
8947         * tests/unictype/test-sy_java_ident.c: Likewise.
8948         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
8949         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
8950         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
8951         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
8952         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
8953         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
8954         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
8955         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
8956         * tests/uninorm/test-canonical-decomposition.c: Likewise.
8957         * tests/uninorm/test-compat-decomposition.c: Likewise.
8958         * tests/uninorm/test-composition.c: Likewise.
8959         * tests/uninorm/test-decomposing-form.c: Likewise.
8960         * tests/uninorm/test-decomposition.c: Likewise.
8961         * tests/uninorm/test-u8-nfc.c: Likewise.
8962         * tests/uninorm/test-u8-nfd.c: Likewise.
8963         * tests/uninorm/test-u8-nfkc.c: Likewise.
8964         * tests/uninorm/test-u8-nfkd.c: Likewise.
8965         * tests/uninorm/test-u8-normcmp.c: Likewise.
8966         * tests/uninorm/test-u8-normcoll.c: Likewise.
8967         * tests/uninorm/test-u16-nfc.c: Likewise.
8968         * tests/uninorm/test-u16-nfd.c: Likewise.
8969         * tests/uninorm/test-u16-nfkc.c: Likewise.
8970         * tests/uninorm/test-u16-nfkd.c: Likewise.
8971         * tests/uninorm/test-u16-normcmp.c: Likewise.
8972         * tests/uninorm/test-u16-normcoll.c: Likewise.
8973         * tests/uninorm/test-u32-nfc.c: Likewise.
8974         * tests/uninorm/test-u32-nfd.c: Likewise.
8975         * tests/uninorm/test-u32-nfkc.c: Likewise.
8976         * tests/uninorm/test-u32-nfkd.c: Likewise.
8977         * tests/uninorm/test-u32-normalize-big.c: Likewise.
8978         * tests/uninorm/test-u32-normcmp.c: Likewise.
8979         * tests/uninorm/test-u32-normcoll.c: Likewise.
8980         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
8981         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
8982         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
8983         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
8984         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
8985         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
8986         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
8987         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
8988         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
8989         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
8990         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
8991         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
8992         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
8993         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
8994         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
8995         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
8996         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
8997         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
8998         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
8999         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
9000         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
9001         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
9002         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
9003         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
9004         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
9005         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
9006         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
9007         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
9008         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
9009         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
9010         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
9011         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
9012         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
9013         * tests/uniwidth/test-u8-strwidth.c: Likewise.
9014         * tests/uniwidth/test-u8-width.c: Likewise.
9015         * tests/uniwidth/test-u16-strwidth.c: Likewise.
9016         * tests/uniwidth/test-u16-width.c: Likewise.
9017         * tests/uniwidth/test-u32-strwidth.c: Likewise.
9018         * tests/uniwidth/test-u32-width.c: Likewise.
9019         * tests/uniwidth/test-uc_width.c: Likewise.
9020         * tests/uniwidth/test-uc_width2.c: Likewise.
9021         * modules/acl-tests (Files): Add tests/macros.h.
9022         * modules/areadlink-tests (Files): Likewise.
9023         * modules/areadlink-with-size-tests (Files): Likewise.
9024         * modules/areadlinkat-tests (Files): Likewise.
9025         * modules/areadlinkat-with-size-tests (Files): Likewise.
9026         * modules/argmatch-tests (Files): Likewise.
9027         * modules/argv-iter-tests (Files): Likewise.
9028         * modules/array-list-tests (Files): Likewise.
9029         * modules/array-mergesort-tests (Files): Likewise.
9030         * modules/array-oset-tests (Files): Likewise.
9031         * modules/avltree-list-tests (Files): Likewise.
9032         * modules/avltree-oset-tests (Files): Likewise.
9033         * modules/avltreehash-list-tests (Files): Likewise.
9034         * modules/base64-tests (Files): Likewise.
9035         * modules/binary-io-tests (Files): Likewise.
9036         * modules/bitrotate-tests (Files): Likewise.
9037         * modules/btowc-tests (Files): Likewise.
9038         * modules/byteswap-tests (Files): Likewise.
9039         * modules/c-ctype-tests (Files): Likewise.
9040         * modules/c-stack-tests (Files): Likewise.
9041         * modules/c-strcase-tests (Files): Likewise.
9042         * modules/c-strcasestr-tests (Files): Likewise.
9043         * modules/c-strstr-tests (Files): Likewise.
9044         * modules/canonicalize-lgpl-tests (Files): Likewise.
9045         * modules/canonicalize-tests (Files): Likewise.
9046         * modules/carray-list-tests (Files): Likewise.
9047         * modules/ceilf-tests (Files): Likewise.
9048         * modules/ceill-tests (Files): Likewise.
9049         * modules/chown-tests (Files): Likewise.
9050         * modules/cloexec-tests (Files): Likewise.
9051         * modules/copy-file-tests (Files): Likewise.
9052         * modules/count-one-bits-tests (Files): Likewise.
9053         * modules/dprintf-posix-tests (Files): Likewise.
9054         * modules/dup2-tests (Files): Likewise.
9055         * modules/dup3-tests (Files): Likewise.
9056         * modules/duplocale-tests (Files): Likewise.
9057         * modules/fbufmode-tests (Files): Likewise.
9058         * modules/fchdir-tests (Files): Likewise.
9059         * modules/fcntl-safer-tests (Files): Likewise.
9060         * modules/fcntl-tests (Files): Likewise.
9061         * modules/fdopendir-tests (Files): Likewise.
9062         * modules/fdutimensat-tests (Files): Likewise.
9063         * modules/fflush-tests (Files): Likewise.
9064         * modules/filevercmp-tests (Files): Likewise.
9065         * modules/flock-tests (Files): Likewise.
9066         * modules/floorf-tests (Files): Likewise.
9067         * modules/floorl-tests (Files): Likewise.
9068         * modules/fnmatch-tests (Files): Likewise.
9069         * modules/fopen-safer-tests (Files): Likewise.
9070         * modules/fopen-tests (Files): Likewise.
9071         * modules/fpending-tests (Files): Likewise.
9072         * modules/fprintf-posix-tests (Files): Likewise.
9073         * modules/fpurge-tests (Files): Likewise.
9074         * modules/freadable-tests (Files): Likewise.
9075         * modules/freadahead-tests (Files): Likewise.
9076         * modules/freading-tests (Files): Likewise.
9077         * modules/freadptr-tests (Files): Likewise.
9078         * modules/freadseek-tests (Files): Likewise.
9079         * modules/freopen-tests (Files): Likewise.
9080         * modules/frexp-nolibm-tests (Files): Likewise.
9081         * modules/frexp-tests (Files): Likewise.
9082         * modules/frexpl-nolibm-tests (Files): Likewise.
9083         * modules/frexpl-tests (Files): Likewise.
9084         * modules/fseek-tests (Files): Likewise.
9085         * modules/fseeko-tests (Files): Likewise.
9086         * modules/fstrcmp-tests (Files): Likewise.
9087         * modules/fsync-tests (Files): Likewise.
9088         * modules/ftell-tests (Files): Likewise.
9089         * modules/ftello-tests (Files): Likewise.
9090         * modules/func-tests (Files): Likewise.
9091         * modules/futimens-tests (Files): Likewise.
9092         * modules/fwritable-tests (Files): Likewise.
9093         * modules/fwriting-tests (Files): Likewise.
9094         * modules/getcwd-tests (Files): Likewise.
9095         * modules/getdate-tests (Files): Likewise.
9096         * modules/getdelim-tests (Files): Likewise.
9097         * modules/getdtablesize-tests (Files): Likewise.
9098         * modules/getgroups-tests (Files): Likewise.
9099         * modules/getline-tests (Files): Likewise.
9100         * modules/getndelim2-tests (Files): Likewise.
9101         * modules/glob-tests (Files): Likewise.
9102         * modules/hash-tests (Files): Likewise.
9103         * modules/i-ring-tests (Files): Likewise.
9104         * modules/iconv-tests (Files): Likewise.
9105         * modules/iconv_open-utf-tests (Files): Likewise.
9106         * modules/idpriv-drop-tests (Files): Likewise.
9107         * modules/idpriv-droptemp-tests (Files): Likewise.
9108         * modules/inet_ntop-tests (Files): Likewise.
9109         * modules/inet_pton-tests (Files): Likewise.
9110         * modules/isblank-tests (Files): Likewise.
9111         * modules/isfinite-tests (Files): Likewise.
9112         * modules/isinf-tests (Files): Likewise.
9113         * modules/isnan-tests (Files): Likewise.
9114         * modules/isnand-nolibm-tests (Files): Likewise.
9115         * modules/isnand-tests (Files): Likewise.
9116         * modules/isnanf-nolibm-tests (Files): Likewise.
9117         * modules/isnanf-tests (Files): Likewise.
9118         * modules/isnanl-nolibm-tests (Files): Likewise.
9119         * modules/isnanl-tests (Files): Likewise.
9120         * modules/lchown-tests (Files): Likewise.
9121         * modules/ldexpl-tests (Files): Likewise.
9122         * modules/link-tests (Files): Likewise.
9123         * modules/linkat-tests (Files): Likewise.
9124         * modules/linked-list-tests (Files): Likewise.
9125         * modules/linkedhash-list-tests (Files): Likewise.
9126         * modules/localename-tests (Files): Likewise.
9127         * modules/lseek-tests (Files): Likewise.
9128         * modules/lstat-tests (Files): Likewise.
9129         * modules/mbmemcasecmp-tests (Files): Likewise.
9130         * modules/mbmemcasecoll-tests (Files): Likewise.
9131         * modules/mbrtowc-tests (Files): Likewise.
9132         * modules/mbscasecmp-tests (Files): Likewise.
9133         * modules/mbscasestr-tests (Files): Likewise.
9134         * modules/mbschr-tests (Files): Likewise.
9135         * modules/mbscspn-tests (Files): Likewise.
9136         * modules/mbsinit-tests (Files): Likewise.
9137         * modules/mbsncasecmp-tests (Files): Likewise.
9138         * modules/mbsnrtowcs-tests (Files): Likewise.
9139         * modules/mbspbrk-tests (Files): Likewise.
9140         * modules/mbspcasecmp-tests (Files): Likewise.
9141         * modules/mbsrchr-tests (Files): Likewise.
9142         * modules/mbsrtowcs-tests (Files): Likewise.
9143         * modules/mbsspn-tests (Files): Likewise.
9144         * modules/mbsstr-tests (Files): Likewise.
9145         * modules/memchr-tests (Files): Likewise.
9146         * modules/memchr2-tests (Files): Likewise.
9147         * modules/memcmp-tests (Files): Likewise.
9148         * modules/memmem-tests (Files): Likewise.
9149         * modules/memrchr-tests (Files): Likewise.
9150         * modules/mkdir-tests (Files): Likewise.
9151         * modules/mkfifo-tests (Files): Likewise.
9152         * modules/mkfifoat-tests (Files): Likewise.
9153         * modules/mknod-tests (Files): Likewise.
9154         * modules/nanosleep-tests (Files): Likewise.
9155         * modules/nl_langinfo-tests (Files): Likewise.
9156         * modules/obstack-printf-tests (Files): Likewise.
9157         * modules/open-tests (Files): Likewise.
9158         * modules/openat-tests (Files): Likewise.
9159         * modules/pipe-filter-gi-tests (Files): Likewise.
9160         * modules/pipe-filter-ii-tests (Files): Likewise.
9161         * modules/pipe2-tests (Files): Likewise.
9162         * modules/popen-safer-tests (Files): Likewise.
9163         * modules/popen-tests (Files): Likewise.
9164         * modules/posixtm-tests (Files): Likewise.
9165         * modules/pread-tests (Files): Likewise.
9166         * modules/printf-frexp-tests (Files): Likewise.
9167         * modules/printf-frexpl-tests (Files): Likewise.
9168         * modules/printf-posix-tests (Files): Likewise.
9169         * modules/priv-set-tests (Files): Likewise.
9170         * modules/quotearg-tests (Files): Likewise.
9171         * modules/random_r-tests (Files): Likewise.
9172         * modules/rawmemchr-tests (Files): Likewise.
9173         * modules/rbtree-list-tests (Files): Likewise.
9174         * modules/rbtree-oset-tests (Files): Likewise.
9175         * modules/rbtreehash-list-tests (Files): Likewise.
9176         * modules/readlink-tests (Files): Likewise.
9177         * modules/remove-tests (Files): Likewise.
9178         * modules/rename-tests (Files): Likewise.
9179         * modules/renameat-tests (Files): Likewise.
9180         * modules/rmdir-tests (Files): Likewise.
9181         * modules/round-tests (Files): Likewise.
9182         * modules/roundf-tests (Files): Likewise.
9183         * modules/roundl-tests (Files): Likewise.
9184         * modules/safe-alloc-tests (Files): Likewise.
9185         * modules/setenv-tests (Files): Likewise.
9186         * modules/sigaction-tests (Files): Likewise.
9187         * modules/signbit-tests (Files): Likewise.
9188         * modules/sleep-tests (Files): Likewise.
9189         * modules/snprintf-posix-tests (Files): Likewise.
9190         * modules/snprintf-tests (Files): Likewise.
9191         * modules/sprintf-posix-tests (Files): Likewise.
9192         * modules/stat-tests (Files): Likewise.
9193         * modules/stat-time-tests (Files): Likewise.
9194         * modules/strcasestr-tests (Files): Likewise.
9195         * modules/strchrnul-tests (Files): Likewise.
9196         * modules/strerror-tests (Files): Likewise.
9197         * modules/striconv-tests (Files): Likewise.
9198         * modules/striconveh-tests (Files): Likewise.
9199         * modules/striconveha-tests (Files): Likewise.
9200         * modules/strsignal-tests (Files): Likewise.
9201         * modules/strstr-tests (Files): Likewise.
9202         * modules/strtod-tests (Files): Likewise.
9203         * modules/strverscmp-tests (Files): Likewise.
9204         * modules/symlink-tests (Files): Likewise.
9205         * modules/symlinkat-tests (Files): Likewise.
9206         * modules/trunc-tests (Files): Likewise.
9207         * modules/truncf-tests (Files): Likewise.
9208         * modules/truncl-tests (Files): Likewise.
9209         * modules/uname-tests (Files): Likewise.
9210         * modules/unicase/cased-tests (Files): Likewise.
9211         * modules/unicase/ignorable-tests (Files): Likewise.
9212         * modules/unicase/locale-language-tests (Files): Likewise.
9213         * modules/unicase/tolower-tests (Files): Likewise.
9214         * modules/unicase/totitle-tests (Files): Likewise.
9215         * modules/unicase/toupper-tests (Files): Likewise.
9216         * modules/unicase/u8-casecmp-tests (Files): Likewise.
9217         * modules/unicase/u8-casecoll-tests (Files): Likewise.
9218         * modules/unicase/u8-casefold-tests (Files): Likewise.
9219         * modules/unicase/u8-is-cased-tests (Files): Likewise.
9220         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
9221         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
9222         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
9223         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
9224         * modules/unicase/u8-tolower-tests (Files): Likewise.
9225         * modules/unicase/u8-totitle-tests (Files): Likewise.
9226         * modules/unicase/u8-toupper-tests (Files): Likewise.
9227         * modules/unicase/u16-casecmp-tests (Files): Likewise.
9228         * modules/unicase/u16-casecoll-tests (Files): Likewise.
9229         * modules/unicase/u16-casefold-tests (Files): Likewise.
9230         * modules/unicase/u16-is-cased-tests (Files): Likewise.
9231         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
9232         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
9233         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
9234         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
9235         * modules/unicase/u16-tolower-tests (Files): Likewise.
9236         * modules/unicase/u16-totitle-tests (Files): Likewise.
9237         * modules/unicase/u16-toupper-tests (Files): Likewise.
9238         * modules/unicase/u32-casecmp-tests (Files): Likewise.
9239         * modules/unicase/u32-casecoll-tests (Files): Likewise.
9240         * modules/unicase/u32-casefold-tests (Files): Likewise.
9241         * modules/unicase/u32-is-cased-tests (Files): Likewise.
9242         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
9243         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
9244         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
9245         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
9246         * modules/unicase/u32-tolower-tests (Files): Likewise.
9247         * modules/unicase/u32-totitle-tests (Files): Likewise.
9248         * modules/unicase/u32-toupper-tests (Files): Likewise.
9249         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
9250         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
9251         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
9252         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
9253         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
9254         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
9255         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
9256         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
9257         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
9258         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
9259         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
9260         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
9261         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
9262         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
9263         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
9264         * modules/unictype/bidicategory-name-tests (Files): Likewise.
9265         * modules/unictype/bidicategory-of-tests (Files): Likewise.
9266         * modules/unictype/bidicategory-test-tests (Files): Likewise.
9267         * modules/unictype/block-list-tests (Files): Likewise.
9268         * modules/unictype/block-of-tests (Files): Likewise.
9269         * modules/unictype/block-test-tests (Files): Likewise.
9270         * modules/unictype/category-C-tests (Files): Likewise.
9271         * modules/unictype/category-Cc-tests (Files): Likewise.
9272         * modules/unictype/category-Cf-tests (Files): Likewise.
9273         * modules/unictype/category-Cn-tests (Files): Likewise.
9274         * modules/unictype/category-Co-tests (Files): Likewise.
9275         * modules/unictype/category-Cs-tests (Files): Likewise.
9276         * modules/unictype/category-L-tests (Files): Likewise.
9277         * modules/unictype/category-Ll-tests (Files): Likewise.
9278         * modules/unictype/category-Lm-tests (Files): Likewise.
9279         * modules/unictype/category-Lo-tests (Files): Likewise.
9280         * modules/unictype/category-Lt-tests (Files): Likewise.
9281         * modules/unictype/category-Lu-tests (Files): Likewise.
9282         * modules/unictype/category-M-tests (Files): Likewise.
9283         * modules/unictype/category-Mc-tests (Files): Likewise.
9284         * modules/unictype/category-Me-tests (Files): Likewise.
9285         * modules/unictype/category-Mn-tests (Files): Likewise.
9286         * modules/unictype/category-N-tests (Files): Likewise.
9287         * modules/unictype/category-Nd-tests (Files): Likewise.
9288         * modules/unictype/category-Nl-tests (Files): Likewise.
9289         * modules/unictype/category-No-tests (Files): Likewise.
9290         * modules/unictype/category-P-tests (Files): Likewise.
9291         * modules/unictype/category-Pc-tests (Files): Likewise.
9292         * modules/unictype/category-Pd-tests (Files): Likewise.
9293         * modules/unictype/category-Pe-tests (Files): Likewise.
9294         * modules/unictype/category-Pf-tests (Files): Likewise.
9295         * modules/unictype/category-Pi-tests (Files): Likewise.
9296         * modules/unictype/category-Po-tests (Files): Likewise.
9297         * modules/unictype/category-Ps-tests (Files): Likewise.
9298         * modules/unictype/category-S-tests (Files): Likewise.
9299         * modules/unictype/category-Sc-tests (Files): Likewise.
9300         * modules/unictype/category-Sk-tests (Files): Likewise.
9301         * modules/unictype/category-Sm-tests (Files): Likewise.
9302         * modules/unictype/category-So-tests (Files): Likewise.
9303         * modules/unictype/category-Z-tests (Files): Likewise.
9304         * modules/unictype/category-Zl-tests (Files): Likewise.
9305         * modules/unictype/category-Zp-tests (Files): Likewise.
9306         * modules/unictype/category-Zs-tests (Files): Likewise.
9307         * modules/unictype/category-and-not-tests (Files): Likewise.
9308         * modules/unictype/category-and-tests (Files): Likewise.
9309         * modules/unictype/category-byname-tests (Files): Likewise.
9310         * modules/unictype/category-name-tests (Files): Likewise.
9311         * modules/unictype/category-none-tests (Files): Likewise.
9312         * modules/unictype/category-of-tests (Files): Likewise.
9313         * modules/unictype/category-or-tests (Files): Likewise.
9314         * modules/unictype/category-test-withtable-tests (Files): Likewise.
9315         * modules/unictype/combining-class-tests (Files): Likewise.
9316         * modules/unictype/ctype-alnum-tests (Files): Likewise.
9317         * modules/unictype/ctype-alpha-tests (Files): Likewise.
9318         * modules/unictype/ctype-blank-tests (Files): Likewise.
9319         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
9320         * modules/unictype/ctype-digit-tests (Files): Likewise.
9321         * modules/unictype/ctype-graph-tests (Files): Likewise.
9322         * modules/unictype/ctype-lower-tests (Files): Likewise.
9323         * modules/unictype/ctype-print-tests (Files): Likewise.
9324         * modules/unictype/ctype-punct-tests (Files): Likewise.
9325         * modules/unictype/ctype-space-tests (Files): Likewise.
9326         * modules/unictype/ctype-upper-tests (Files): Likewise.
9327         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
9328         * modules/unictype/decimal-digit-tests (Files): Likewise.
9329         * modules/unictype/digit-tests (Files): Likewise.
9330         * modules/unictype/mirror-tests (Files): Likewise.
9331         * modules/unictype/numeric-tests (Files): Likewise.
9332         * modules/unictype/property-alphabetic-tests (Files): Likewise.
9333         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
9334         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
9335         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
9336         Likewise.
9337         * modules/unictype/property-bidi-block-separator-tests (Files):
9338         Likewise.
9339         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
9340         Likewise.
9341         * modules/unictype/property-bidi-common-separator-tests (Files):
9342         Likewise.
9343         * modules/unictype/property-bidi-control-tests (Files): Likewise.
9344         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
9345         Likewise.
9346         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
9347         Likewise.
9348         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
9349         Likewise.
9350         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
9351         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
9352         Likewise.
9353         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
9354         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
9355         Likewise.
9356         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
9357         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
9358         * modules/unictype/property-bidi-segment-separator-tests (Files):
9359         Likewise.
9360         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
9361         * modules/unictype/property-byname-tests (Files): Likewise.
9362         * modules/unictype/property-combining-tests (Files): Likewise.
9363         * modules/unictype/property-composite-tests (Files): Likewise.
9364         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
9365         * modules/unictype/property-dash-tests (Files): Likewise.
9366         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
9367         * modules/unictype/property-default-ignorable-code-point-tests (Files):
9368         Likewise.
9369         * modules/unictype/property-deprecated-tests (Files): Likewise.
9370         * modules/unictype/property-diacritic-tests (Files): Likewise.
9371         * modules/unictype/property-extender-tests (Files): Likewise.
9372         * modules/unictype/property-format-control-tests (Files): Likewise.
9373         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
9374         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
9375         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
9376         * modules/unictype/property-hex-digit-tests (Files): Likewise.
9377         * modules/unictype/property-hyphen-tests (Files): Likewise.
9378         * modules/unictype/property-id-continue-tests (Files): Likewise.
9379         * modules/unictype/property-id-start-tests (Files): Likewise.
9380         * modules/unictype/property-ideographic-tests (Files): Likewise.
9381         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
9382         * modules/unictype/property-ids-trinary-operator-tests (Files):
9383         Likewise.
9384         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
9385         * modules/unictype/property-iso-control-tests (Files): Likewise.
9386         * modules/unictype/property-join-control-tests (Files): Likewise.
9387         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
9388         * modules/unictype/property-line-separator-tests (Files): Likewise.
9389         * modules/unictype/property-logical-order-exception-tests (Files):
9390         Likewise.
9391         * modules/unictype/property-lowercase-tests (Files): Likewise.
9392         * modules/unictype/property-math-tests (Files): Likewise.
9393         * modules/unictype/property-non-break-tests (Files): Likewise.
9394         * modules/unictype/property-not-a-character-tests (Files): Likewise.
9395         * modules/unictype/property-numeric-tests (Files): Likewise.
9396         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
9397         * modules/unictype/property-other-default-ignorable-code-point-tests
9398         (Files): Likewise.
9399         * modules/unictype/property-other-grapheme-extend-tests (Files):
9400         Likewise.
9401         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
9402         * modules/unictype/property-other-id-start-tests (Files): Likewise.
9403         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
9404         * modules/unictype/property-other-math-tests (Files): Likewise.
9405         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
9406         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
9407         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
9408         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
9409         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
9410         * modules/unictype/property-private-use-tests (Files): Likewise.
9411         * modules/unictype/property-punctuation-tests (Files): Likewise.
9412         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
9413         * modules/unictype/property-radical-tests (Files): Likewise.
9414         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
9415         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
9416         * modules/unictype/property-space-tests (Files): Likewise.
9417         * modules/unictype/property-terminal-punctuation-tests (Files):
9418         Likewise.
9419         * modules/unictype/property-test-tests (Files): Likewise.
9420         * modules/unictype/property-titlecase-tests (Files): Likewise.
9421         * modules/unictype/property-unassigned-code-value-tests (Files):
9422         Likewise.
9423         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
9424         * modules/unictype/property-uppercase-tests (Files): Likewise.
9425         * modules/unictype/property-variation-selector-tests (Files): Likewise.
9426         * modules/unictype/property-white-space-tests (Files): Likewise.
9427         * modules/unictype/property-xid-continue-tests (Files): Likewise.
9428         * modules/unictype/property-xid-start-tests (Files): Likewise.
9429         * modules/unictype/property-zero-width-tests (Files): Likewise.
9430         * modules/unictype/scripts-tests (Files): Likewise.
9431         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
9432         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
9433         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
9434         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
9435         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
9436         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
9437         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
9438         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
9439         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
9440         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
9441         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
9442         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
9443         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
9444         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
9445         * modules/uninorm/composition-tests (Files): Likewise.
9446         * modules/uninorm/decomposing-form-tests (Files): Likewise.
9447         * modules/uninorm/decomposition-tests (Files): Likewise.
9448         * modules/uninorm/filter-tests (Files): Likewise.
9449         * modules/uninorm/nfc-tests (Files): Likewise.
9450         * modules/uninorm/nfd-tests (Files): Likewise.
9451         * modules/uninorm/nfkc-tests (Files): Likewise.
9452         * modules/uninorm/nfkd-tests (Files): Likewise.
9453         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
9454         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
9455         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
9456         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
9457         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
9458         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
9459         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
9460         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
9461         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
9462         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
9463         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
9464         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
9465         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
9466         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
9467         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
9468         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
9469         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
9470         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
9471         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
9472         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
9473         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
9474         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
9475         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
9476         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
9477         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
9478         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
9479         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
9480         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
9481         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
9482         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
9483         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
9484         * modules/uniwidth/u8-width-tests (Files): Likewise.
9485         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
9486         * modules/uniwidth/u16-width-tests (Files): Likewise.
9487         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
9488         * modules/uniwidth/u32-width-tests (Files): Likewise.
9489         * modules/uniwidth/width-tests (Files): Likewise.
9490         * modules/unlink-tests (Files): Likewise.
9491         * modules/unsetenv-tests (Files): Likewise.
9492         * modules/usleep-tests (Files): Likewise.
9493         * modules/utimens-tests (Files): Likewise.
9494         * modules/utimensat-tests (Files): Likewise.
9495         * modules/vasnprintf-posix-tests (Files): Likewise.
9496         * modules/vasnprintf-tests (Files): Likewise.
9497         * modules/vasprintf-posix-tests (Files): Likewise.
9498         * modules/vasprintf-tests (Files): Likewise.
9499         * modules/vdprintf-posix-tests (Files): Likewise.
9500         * modules/vfprintf-posix-tests (Files): Likewise.
9501         * modules/vprintf-posix-tests (Files): Likewise.
9502         * modules/vsnprintf-posix-tests (Files): Likewise.
9503         * modules/vsnprintf-tests (Files): Likewise.
9504         * modules/vsprintf-posix-tests (Files): Likewise.
9505         * modules/wcrtomb-tests (Files): Likewise.
9506         * modules/wcsnrtombs-tests (Files): Likewise.
9507         * modules/wcsrtombs-tests (Files): Likewise.
9508         * modules/wctype-tests (Files): Likewise.
9509         * modules/wcwidth-tests (Files): Likewise.
9510         * modules/xmemdup0-tests (Files): Likewise.
9511         * modules/xprintf-posix-tests (Files): Likewise.
9512         * modules/xvasprintf-tests (Files): Likewise.
9513
9514 2009-12-24  Eric Blake  <ebb9@byu.net>
9515
9516         test-nanosleep: fix typo
9517         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
9518         patch.
9519         Reported by Bruno Haible.
9520
9521 2009-12-24  Bruno Haible  <bruno@clisp.org>
9522
9523         Reduce namespace pollution on glibc systems.
9524         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
9525         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
9526         systems.
9527         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
9528         <getopt.h> on glibc systems.
9529         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
9530         systems.
9531         * lib/fcntl.c: Include <unistd.h> here instead.
9532
9533 2009-12-24  Bruno Haible  <bruno@clisp.org>
9534
9535         * lib/stdlib.in.h (includes): Fix typo in today's commit.
9536
9537 2009-12-24  Eric Blake  <ebb9@byu.net>
9538
9539         tests: add signature checks
9540         * tests/signature.h (SIGNATURE_CHECK): New file.
9541         * modules/atexit-tests (Files): Use it.
9542         * modules/btowc-tests (Files): Likewise.
9543         * modules/canonicalize-lgpl-tests (Files): Likewise.
9544         * modules/ceilf-tests (Files): Likewise.
9545         * modules/ceill-tests (Files): Likewise.
9546         * modules/chown-tests (Files): Likewise.
9547         * modules/dprintf-posix-tests (Files): Likewise.
9548         * modules/dup2-tests (Files): Likewise.
9549         * modules/dup3-tests (Files): Likewise.
9550         * modules/duplocale-tests (Files): Likewise.
9551         * modules/fchdir-tests (Files): Likewise.
9552         * modules/fcntl-tests (Files): Likewise.
9553         * modules/fdopendir-tests (Files): Likewise.
9554         * modules/fflush-tests (Files): Likewise.
9555         * modules/flock-tests (Files): Likewise.
9556         * modules/floorf-tests (Files): Likewise.
9557         * modules/floorl-tests (Files): Likewise.
9558         * modules/fnmatch-tests (Files): Likewise.
9559         * modules/fopen-tests (Files): Likewise.
9560         * modules/fprintf-posix-tests (Files): Likewise.
9561         * modules/freopen-tests (Files): Likewise.
9562         * modules/frexp-nolibm-tests (Files): Likewise.
9563         * modules/frexp-tests (Files): Likewise.
9564         * modules/frexpl-nolibm-tests (Files): Likewise.
9565         * modules/frexpl-tests (Files): Likewise.
9566         * modules/fseek-tests (Files): Likewise.
9567         * modules/fseeko-tests (Files): Likewise.
9568         * modules/fsync-tests (Files): Likewise.
9569         * modules/ftell-tests (Files): Likewise.
9570         * modules/ftello-tests (Files): Likewise.
9571         * modules/futimens-tests (Files): Likewise.
9572         * modules/getaddrinfo-tests (Files): Likewise.
9573         * modules/getcwd-tests (Files): Likewise.
9574         * modules/getdelim-tests (Files): Likewise.
9575         * modules/getdtablesize-tests (Files): Likewise.
9576         * modules/getgroups-tests (Files): Likewise.
9577         * modules/gethostname-tests (Files): Likewise.
9578         * modules/getline-tests (Files): Likewise.
9579         * modules/getopt-posix-tests (Files): Likewise.
9580         * modules/gettimeofday-tests (Files): Likewise.
9581         * modules/glob-tests (Files): Likewise.
9582         * modules/iconv-tests (Files): Likewise.
9583         * modules/inet_ntop-tests (Files): Likewise.
9584         * modules/inet_pton-tests (Files): Likewise.
9585         * modules/isblank-tests (Files): Likewise.
9586         * modules/lchown-tests (Files): Likewise.
9587         * modules/ldexpl-tests (Files): Likewise.
9588         * modules/link-tests (Files): Likewise.
9589         * modules/linkat-tests (Files): Likewise.
9590         * modules/lseek-tests (Files): Likewise.
9591         * modules/lstat-tests (Files): Likewise.
9592         * modules/mbrtowc-tests (Files): Likewise.
9593         * modules/mbsinit-tests (Files): Likewise.
9594         * modules/mbsnrtowcs-tests (Files): Likewise.
9595         * modules/mbsrtowcs-tests (Files): Likewise.
9596         * modules/memchr-tests (Files): Likewise.
9597         * modules/memcmp-tests (Files): Likewise.
9598         * modules/memmem-tests (Files): Likewise.
9599         * modules/memrchr-tests (Files): Likewise.
9600         * modules/mkdir-tests (Files): Likewise.
9601         * modules/mkfifo-tests (Files): Likewise.
9602         * modules/mkfifoat-tests (Files): Likewise.
9603         * modules/mknod-tests (Files): Likewise.
9604         * modules/nanosleep-tests (Files): Likewise.
9605         * modules/nl_langinfo-tests (Files): Likewise.
9606         * modules/obstack-printf-tests (Files): Likewise.
9607         * modules/open-tests (Files): Likewise.
9608         * modules/openat-tests (Files): Likewise.
9609         * modules/perror-tests (Files): Likewise.
9610         * modules/pipe2-tests (Files): Likewise.
9611         * modules/poll-tests (Files): Likewise.
9612         * modules/popen-tests (Files): Likewise.
9613         * modules/posix_spawn-tests (Files): Likewise.
9614         * modules/posix_spawnp-tests (Files): Likewise.
9615         * modules/pread-tests (Files): Likewise.
9616         * modules/printf-posix-tests (Files): Likewise.
9617         * modules/pty-tests (Files): Likewise.
9618         * modules/random_r-tests (Files): Likewise.
9619         * modules/rawmemchr-tests (Files): Likewise.
9620         * modules/readlink-tests (Files): Likewise.
9621         * modules/remove-tests (Files): Likewise.
9622         * modules/rename-tests (Files): Likewise.
9623         * modules/renameat-tests (Files): Likewise.
9624         * modules/rmdir-tests (Files): Likewise.
9625         * modules/round-tests (Files): Likewise.
9626         * modules/roundf-tests (Files): Likewise.
9627         * modules/roundl-tests (Files): Likewise.
9628         * modules/select-tests (Files): Likewise.
9629         * modules/setenv-tests (Files): Likewise.
9630         * modules/sigaction-tests (Files): Likewise.
9631         * modules/sleep-tests (Files): Likewise.
9632         * modules/snprintf-posix-tests (Files): Likewise.
9633         * modules/snprintf-tests (Files): Likewise.
9634         * modules/sprintf-posix-tests (Files): Likewise.
9635         * modules/stat-tests (Files): Likewise.
9636         * modules/strcasestr-tests (Files): Likewise.
9637         * modules/strchrnul-tests (Files): Likewise.
9638         * modules/strerror-tests (Files): Likewise.
9639         * modules/strsignal-tests (Files): Likewise.
9640         * modules/strstr-tests (Files): Likewise.
9641         * modules/strtod-tests (Files): Likewise.
9642         * modules/strverscmp-tests (Files): Likewise.
9643         * modules/symlink-tests (Files): Likewise.
9644         * modules/symlinkat-tests (Files): Likewise.
9645         * modules/times-tests (Files): Likewise.
9646         * modules/trunc-tests (Files): Likewise.
9647         * modules/truncf-tests (Files): Likewise.
9648         * modules/truncl-tests (Files): Likewise.
9649         * modules/tsearch-tests (Files): Likewise.
9650         * modules/uname-tests (Files): Likewise.
9651         * modules/unlink-tests (Files): Likewise.
9652         * modules/unsetenv-tests (Files): Likewise.
9653         * modules/usleep-tests (Files): Likewise.
9654         * modules/utimensat-tests (Files): Likewise.
9655         * modules/vasprintf-tests (Files): Likewise.
9656         * modules/vdprintf-posix-tests (Files): Likewise.
9657         * modules/vfprintf-posix-tests (Files): Likewise.
9658         * modules/vprintf-posix-tests (Files): Likewise.
9659         * modules/vsnprintf-posix-tests (Files): Likewise.
9660         * modules/vsnprintf-tests (Files): Likewise.
9661         * modules/vsprintf-posix-tests (Files): Likewise.
9662         * modules/wcrtomb-tests (Files): Likewise.
9663         * modules/wcsnrtombs-tests (Files): Likewise.
9664         * modules/wcsrtombs-tests (Files): Likewise.
9665         * modules/wcwidth-tests (Files): Likewise.
9666         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
9667         * tests/test-isinf.c (isinf): Likewise.
9668         * tests/test-isnan.c (isnan): Likewise.
9669         * tests/test-signbit.c (signbit): Likewise.
9670         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
9671         declaration, either as macro or with correct signature.
9672         (select): Ensure function under test is declared with correct
9673         signature in correct header.
9674         * tests/test-atexit.c (atexit): Likewise.
9675         * tests/test-btowc.c (btowc): Likewise.
9676         * tests/test-canonicalize-lgpl.c (realpath)
9677         (canonicalize_file_name): Likewise.
9678         * tests/test-ceilf1.c (ceilf): Likewise.
9679         * tests/test-ceill.c (ceill): Likewise.
9680         * tests/test-chown.c (chown): Likewise.
9681         * tests/test-dprintf-posix.c (dprintf): Likewise.
9682         * tests/test-dup2.c (dup2): Likewise.
9683         * tests/test-dup3.c (dup3): Likewise.
9684         * tests/test-duplocale.c (duplocale): Likewise.
9685         * tests/test-fchdir.c (fchdir): Likewise.
9686         * tests/test-fchownat.c (fchownat): Likewise.
9687         * tests/test-fcntl.c (fcntl): Likewise.
9688         * tests/test-fdopendir.c (fdopendir): Likewise.
9689         * tests/test-fflush.c (fflush): Likewise.
9690         * tests/test-flock.c (flock): Likewise.
9691         * tests/test-floorf1.c (floorf): Likewise.
9692         * tests/test-floorl.c (floorl): Likewise.
9693         * tests/test-fnmatch.c (fnmatch): Likewise.
9694         * tests/test-fopen.c (fopen): Likewise.
9695         * tests/test-fprintf-posix.c (fprintf): Likewise.
9696         * tests/test-freopen.c (freopen): Likewise.
9697         * tests/test-frexp.c (frexp): Likewise.
9698         * tests/test-frexpl.c (frexpl): Likewise.
9699         * tests/test-fseek.c (fseek): Likewise.
9700         * tests/test-fseeko.c (fseeko): Likewise.
9701         * tests/test-fstatat.c (fstatat): Likewise.
9702         * tests/test-fsync.c (fsync): Likewise.
9703         * tests/test-ftell.c (ftell): Likewise.
9704         * tests/test-ftello.c (ftello): Likewise.
9705         * tests/test-futimens.c (futimens): Likewise.
9706         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
9707         (gai_strerror): Likewise.
9708         * tests/test-getcwd.c (getcwd): Likewise.
9709         * tests/test-getdelim.c (getdelim): Likewise.
9710         * tests/test-getdtablesize.c (getdtablesize): Likewise.
9711         * tests/test-getgroups.c (getgroups): Likewise.
9712         * tests/test-gethostname.c (gethostname): Likewise.
9713         * tests/test-getline.c (getline): Likewise.
9714         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
9715         Likewise.
9716         * tests/test-gettimeofday.c (gettimeofday): Likewise.
9717         * tests/test-glob.c (glob, globfree): Likewise.
9718         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
9719         * tests/test-inet_ntop.c (inet_ntop): Likewise.
9720         * tests/test-inet_pton.c (inet_pton): Likewise.
9721         * tests/test-isblank.c (isblank): Likewise.
9722         * tests/test-lchown.c (lchown): Likewise.
9723         * tests/test-ldexpl.c (ldexpl): Likewise.
9724         * tests/test-link.c (link): Likewise.
9725         * tests/test-linkat.c (linkat): Likewise.
9726         * tests/test-lseek.c (lseek): Likewise.
9727         * tests/test-lstat.c (lstat): Likewise.
9728         * tests/test-mbrtowc.c (mbrtowc): Likewise.
9729         * tests/test-mbsinit.c (mbsinit): Likewise.
9730         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
9731         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
9732         * tests/test-memchr.c (memchr): Likewise.
9733         * tests/test-memcmp.c (memcmp): Likewise.
9734         * tests/test-memmem.c (memmem): Likewise.
9735         * tests/test-memrchr.c (memrchr): Likewise.
9736         * tests/test-mkdir.c (mkdir): Likewise.
9737         * tests/test-mkdirat.c (mkdirat): Likewise.
9738         * tests/test-mkfifo.c (mkfifo): Likewise.
9739         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
9740         * tests/test-mknod.c (mknod): Likewise.
9741         * tests/test-nanosleep.c (nanosleep): Likewise.
9742         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
9743         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
9744         Likewise.
9745         * tests/test-open.c (open): Likewise.
9746         * tests/test-openat.c (openat): Likewise.
9747         * tests/test-perror.c (perror): Likewise.
9748         * tests/test-pipe2.c (pipe2): Likewise.
9749         * tests/test-poll.c (poll): Likewise.
9750         * tests/test-popen.c (popen, pclose): Likewise.
9751         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
9752         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
9753         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
9754         (posix_spawn_file_actions_destroy)
9755         (posix_spawn_file_actions_addclose)
9756         (posix_spawn_file_actions_addopen)
9757         (posix_spawn_file_actions_adddup2): Likewise.
9758         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
9759         * tests/test-pread.c (pread): Likewise.
9760         * tests/test-printf-posix.c (printf): Likewise.
9761         * tests/test-pty.c (openpty, forkpty): Likewise.
9762         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
9763         (random_r): Likewise.
9764         * tests/test-rawmemchr.c (rawmemchr): Likewise.
9765         * tests/test-readlink.c (readlink): Likewise.
9766         * tests/test-remove.c (remove): Likewise.
9767         * tests/test-rename.c (rename): Likewise.
9768         * tests/test-renameat.c (renameat): Likewise.
9769         * tests/test-rmdir.c (rmdir): Likewise.
9770         * tests/test-round1.c (round): Likewise.
9771         * tests/test-roundf1.c (roundf): Likewise.
9772         * tests/test-roundl.c (roundl): Likewise.
9773         * tests/test-setenv.c (setenv): Likewise.
9774         * tests/test-sigaction.c (sigaction): Likewise.
9775         * tests/test-sleep.c (sleep): Likewise.
9776         * tests/test-snprintf.c (snprintf): Likewise.
9777         * tests/test-sprintf-posix.c (sprintf): Likewise.
9778         * tests/test-stat.c (stat): Likewise.
9779         * tests/test-stpncpy.c (stpncpy): Likewise.
9780         * tests/test-strcasestr.c (strcasestr): Likewise.
9781         * tests/test-strchrnul.c (strchrnul): Likewise.
9782         * tests/test-strerror.c (strerror): Likewise.
9783         * tests/test-strsignal.c (strsignal): Likewise.
9784         * tests/test-strstr.c (strstr): Likewise.
9785         * tests/test-strtod.c (strtod): Likewise.
9786         * tests/test-strverscmp.c (strverscmp): Likewise.
9787         * tests/test-symlink.c (symlink): Likewise.
9788         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
9789         * tests/test-times.c (times): Likewise.
9790         * tests/test-trunc1.c (trunc): Likewise.
9791         * tests/test-truncf1.c (truncf): Likewise.
9792         * tests/test-truncl.c (truncl): Likewise.
9793         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
9794         Likewise.
9795         * tests/test-uname.c (uname): Likewise.
9796         * tests/test-unlink.c (unlink): Likewise.
9797         * tests/test-unlinkat.c (unlinkat): Likewise.
9798         * tests/test-unsetenv.c (unsetenv): Likewise.
9799         * tests/test-usleep.c (usleep): Likewise.
9800         * tests/test-utimensat.c (utimensat): Likewise.
9801         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
9802         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
9803         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
9804         * tests/test-vprintf-posix.c (vprintf): Likewise.
9805         * tests/test-vsnprintf.c (vsnprintf): Likewise.
9806         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
9807         * tests/test-wcrtomb.c (wcrtomb): Likewise.
9808         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
9809         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
9810         * tests/test-wcwidth.c (wcwidth): Likewise.
9811
9812         build: pull in conditional headers during GNULIB_POSIXCHECK
9813         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
9814         definitions from any conditionally-included headers.
9815         * lib/stdlib.in.h (includes): Likewise.
9816         * lib/unistd.in.h (includes): Likewise.
9817
9818 2009-12-24  Bruno Haible  <bruno@clisp.org>
9819
9820         * tests/test-argv-iter.c: Include header file being tested immediately
9821         after config.h.
9822         * tests/test-base64.c: Likewise.
9823         * tests/test-flock.c: Likewise.
9824         * tests/test-fsync.c: Likewise.
9825         * tests/test-getdate.c: Likewise.
9826         * tests/test-getndelim2.c: Likewise.
9827         * tests/test-isfinite.c: Likewise.
9828         * tests/test-isinf.c: Likewise.
9829         * tests/test-strerror.c: Likewise.
9830         * tests/test-strsignal.c: Likewise.
9831
9832 2009-12-23  Eric Blake  <ebb9@byu.net>
9833
9834         unistd: work around cygwin bug
9835         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
9836         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
9837         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
9838
9839 2009-12-23  Bruno Haible  <bruno@clisp.org>
9840
9841         localename: More tests.
9842         * tests/test-localename.c (SIZEOF): New macro.
9843         (categories): New variable.
9844         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
9845         test_locale_name_default): Add test w.r.t. thread locale.
9846         (test_locale_name_thread): New function.
9847         (main): Invoke it.
9848
9849         localename: Make aware of thread locale.
9850         * lib/localename.h (gl_locale_name_thread): New declaration.
9851         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
9852         behaviour with respect to thread locale.
9853         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
9854         <langinfo.h>, glthread/lock.h.
9855         (SIZE_BITS): New macro.
9856         (string_hash): New function.
9857         (struct hash_node): New type.
9858         (HASH_TABLE_SIZE): New macro.
9859         (struniq_hash_table, struniq_lock): New variables.
9860         (struniq): New function.
9861         (gl_locale_name_thread): New function.
9862         (gl_locale_name): Invoke it.
9863         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
9864         * modules/localename (Depends-on): Add lock.
9865         Reported by Mike Gran <spk121@yahoo.com>.
9866
9867 2009-12-23  Eric Blake  <ebb9@byu.net>
9868
9869         va-args: new module
9870         * modules/va-args: New file.
9871         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
9872         * MODULES.html.sh (Core language properties): Mention it.
9873
9874         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
9875         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
9876         named alias for __attribute__((__unused__)).
9877         * lib/chown.c: Update client.
9878         * lib/fchmodat.c: Likewise.
9879         * lib/fts.c: Likewise.
9880         * lib/getdate.y: Likewise.
9881         * lib/getgroups.c: Likewise.
9882         * lib/getopt.c: Likewise.
9883         * lib/getugroups.c: Likewise.
9884         * lib/mkdir.c: Likewise.
9885         * lib/mkfifo.c: Likewise.
9886         * lib/mkfifoat.c: Likewise.
9887         * lib/mknod.c: Likewise.
9888         * lib/mknodat.c: Likewise.
9889         * lib/readlink.c: Likewise.
9890         * lib/se-context.in.h: Likewise.
9891         * lib/se-selinux.in.h: Likewise.
9892         * lib/sockets.c: Likewise.
9893         * lib/symlink.c: Likewise.
9894         * lib/symlinkat.c: Likewise.
9895         * lib/unicodeio.c: Likewise.
9896         * lib/unistr.h: Likewise.
9897         * tests/test-areadlink.c: Likewise.
9898         * tests/test-areadlinkat.c: Likewise.
9899         * tests/test-filenamecat.c: Likewise.
9900         * tests/test-fseeko.c: Likewise.
9901         * tests/test-ftello.c: Likewise.
9902         * tests/test-getdate.c: Likewise.
9903         * tests/test-getgroups.c: Likewise.
9904         * tests/test-gethostname.c: Likewise.
9905         * tests/test-quotearg.c: Likewise.
9906         * tests/test-version-etc.c: Likewise.
9907         * tests/test-xalloc-die.c: Likewise.
9908         * tests/test-xfprintf-posix.c: Likewise.
9909         * tests/test-xprintf-posix.c: Likewise.
9910         * tests/test-xvasprintf.c: Likewise.
9911
9912         tests: avoid compiler warnings
9913         * tests/test-fcntl.c (main): Delete unused parameters.
9914         * tests/test-freopen-safer.c (main): Likewise.
9915         * tests/test-xalloc-die.c (main): Mark unused parameters.
9916         * tests/test-fseeko.c (main): Likewise.
9917         * tests/test-ftello.c (main): Likewise.
9918         * tests/test-nanosleep.c (main): Avoid declaration warning.
9919         * tests/test-sleep.c (main): Likewise.
9920         * tests/test-unsetenv.c (main): Silence warning about string
9921         literal.
9922         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
9923
9924 2009-12-23  Bruno Haible  <bruno@clisp.org>
9925
9926         * tests/test-localename.c (test_locale_name): New function, extracted
9927         from main. Also test mixed situations.
9928         (test_locale_name_posix, test_locale_name_environ,
9929         test_locale_name_default): New functions.
9930         (main): Invoke them all.
9931         * modules/localename-tests (configure.ac): Test for newlocale.
9932
9933 2009-12-23  Bruno Haible  <bruno@clisp.org>
9934
9935         unistd: Ensure getcwd gets declared before being overridden.
9936         * lib/unistd.in.h: Conditionally include <io.h>.
9937
9938 2009-12-22  Bruno Haible  <bruno@clisp.org>
9939
9940         wchar: Diagnose broken combination of glibc and gcc versions and flags.
9941         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
9942         (gl_WCHAR_H): Invoke it.
9943         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
9944         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
9945         Reported by Karl Berry <karl@freefriends.org>.
9946
9947 2009-12-22  Eric Blake  <ebb9@byu.net>
9948
9949         math, unistd: avoid redundant includes
9950         * lib/math.in.h (isnan): No need to re-include <math.h>.
9951         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
9952
9953         getsubopt: work around cygwin bug
9954         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
9955         avoid conflicting with system getsubopt.
9956         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
9957         bug.
9958
9959         getopt: synchronize from glibc
9960         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
9961         parameter order.  Adjust all callers.
9962         (_getopt_internal_r, main): Adjust quoting in error messages.
9963         Drop considerations for outdated POSIX 1003.2 error message.
9964         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
9965         callers.
9966         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
9967
9968         test-getopt: test stderr behavior
9969         * modules/getopt-posix-tests (Depends-on): Add dup2.
9970         * tests/test-getopt.c (ASSERT): Avoid stderr.
9971         (main): Move stderr to a temporary file.
9972         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
9973         Instead, add parameter to inform caller if output occurred.
9974         (test_getopt): Adjust all existing tests to expect silence, and
9975         add new tests of leading ":".
9976         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
9977         glibc shortcomings with leading "-:" or "+:" in optstring.
9978         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
9979         Likewise.
9980         * doc/posix-functions/getopt.texi (getopt): Likewise.
9981
9982         test-getopt: enhance test
9983         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
9984         supports optind=0.
9985         * tests/test-getopt.c (OPTIND_MIN): Move...
9986         * tests/test-getopt.h (OPTIND_MIN): ...here.
9987         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
9988         Require that optind=0 works, since modern BSD supports it in
9989         addition to optreset, and since coreutils expects it.
9990         (test_getopt_long_only): New test.
9991         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
9992         glibc shortcomings with 'W;', and enforcement of optind=0.
9993         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
9994         Likewise.
9995
9996 2009-12-21  Bruno Haible  <bruno@clisp.org>
9997
9998         localename: Improvements for MacOS X and Cygwin.
9999         * lib/localename.h (gl_locale_name_environ): New declaration.
10000         * lib/localename.c (gl_locale_name_environ): New function, extracted from
10001         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
10002         (gl_locale_name_posix): Invoke it.
10003         (gl_locale_name_default): Add comments. Use Windows native API also on
10004         Cygwin.
10005
10006 2009-12-21  Bruno Haible  <bruno@clisp.org>
10007
10008         Update list of Win32 locale ids.
10009         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
10010         (LANG_SAMI): Renamed from LANG_SAAMI.
10011         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
10012         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
10013         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
10014         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
10015         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
10016         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
10017         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
10018         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
10019         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
10020         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
10021         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
10022         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
10023         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
10024         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
10025         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
10026         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
10027         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
10028         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
10029         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
10030         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
10031         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
10032         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
10033         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
10034         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
10035         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
10036         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
10037         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
10038         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
10039         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
10040         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
10041         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
10042         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
10043         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
10044         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
10045         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
10046         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
10047         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
10048         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
10049         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
10050         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
10051         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
10052         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
10053         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
10054         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
10055         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
10056         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
10057         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
10058         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
10059         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
10060         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
10061         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
10062         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
10063         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
10064         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
10065         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
10066         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
10067         Add more languages and countries for Sami, Sorbian. Add more countries
10068         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
10069         for Pashto. Change country for Syriac, Tswana.
10070
10071 2009-12-21  Eric Blake  <ebb9@byu.net>
10072
10073         test-utimens: avoid spurious failure
10074         * tests/test-chown.h (nap): Factor...
10075         * tests/nap.h: ...into new file.
10076         * tests/test-lchown.h (nap): Avoid duplication.
10077         * tests/test-utimens-common.h (nap): Use shared implementation,
10078         necessary on file systems with 1-second resolution.
10079         * modules/chown-tests (Files): Include new file.
10080         * modules/fdutimensat-tests (Files): Likewise.
10081         * modules/futimens-tests (Files): Likewise.
10082         * modules/lchown-tests (Files): Likewise.
10083         * modules/openat-tests (Files): Likewise.
10084         * modules/utimens-tests (Files): Likewise.
10085         * modules/utimensat-tests (Files): Likewise.
10086
10087 2009-12-19  Eric Blake  <ebb9@byu.net>
10088
10089         futimens, utimensat: work around Linux bug
10090         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
10091         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
10092         * lib/utimensat.c (rpl_utimensat): Work around it.
10093         * lib/futimens.c (rpl_futimens): Adjust comment.
10094
10095         utimens: work around Linux ctime bug
10096         * lib/utimens.c (detect_ctime_bug): New helper function.
10097         (update_timespec): Differentiate between workaround needed for
10098         this bug vs. what is needed for systems that lack utimensat.
10099         (fdutimens, lutimens): Work around bug.
10100
10101         utimens: check for ctime update
10102         * tests/test-utimens-common.h (check_ctime): Define.
10103         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
10104         * tests/test-futimens.h (test_futimens): Likewise.
10105         * tests/test-lutimens.h (test_lutimens): Likewise.
10106         * doc/posix-functions/futimens.texi (futimens): Document the bug.
10107         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
10108
10109 2009-12-19  Bruno Haible  <bruno@clisp.org>
10110
10111         dprintf-posix: Check against memory leak fixed on 2009-12-15.
10112         * tests/test-dprintf-posix2.sh: New file.
10113         * tests/test-dprintf-posix2.c: New file.
10114         * modules/dprintf-posix-tests (Files): Add them.
10115         (configure.ac): Check for getrlimit and setrlimit.
10116         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
10117
10118 2009-12-19  Bruno Haible  <bruno@clisp.org>
10119
10120         fprintf-posix: Check against memory leak fixed on 2009-12-15.
10121         * tests/test-fprintf-posix3.sh: New file.
10122         * tests/test-fprintf-posix3.c: New file.
10123         * modules/fprintf-posix-tests (Files): Add them.
10124         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
10125
10126 2009-12-19  Eric Blake  <ebb9@byu.net>
10127
10128         dirfd: fix prototype
10129         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
10130         * lib/dirfd.c (dirfd): Likewise.
10131
10132         canonicalize: reduce memory usage
10133         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
10134         allocation to size.
10135         Reported by Solar Designer <solar@openwall.com>.
10136
10137 2009-12-19  Bruno Haible  <bruno@clisp.org>
10138
10139         New module attribute 'Applicability'.
10140         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
10141         * gnulib-tool: New option --extract-applicability.
10142         (func_usage): Document it.
10143         (sed_extract_prog): Recognize it.
10144         (func_get_applicability): New function.
10145         (func_import): Generalize handling of 'link-warning' module.
10146         * modules/link-warning (Applicability): New section.
10147         * modules/arg-nonnull (Applicability): New section.
10148         Repoted by Simon Josefsson <simon@josefsson.org>.
10149
10150 2009-12-19  Bruno Haible  <bruno@clisp.org>
10151
10152         fflush: tweak
10153         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
10154         * lib/fseeko.c (rpl_fseeko): Likewise.
10155
10156 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
10157
10158         * lib/gl_list.h: Fix typo in comment.
10159
10160 2009-12-16  Eric Blake  <ebb9@byu.net>
10161
10162         fcntl: use to simplify other modules
10163         * modules/cloexec (Depends-on): Add fcntl.
10164         * modules/fchdir (Depends-on): Likewise.
10165         * modules/fd-safer-flag (Depends-on): Likewise.
10166         * modules/unistd-safer (Depends-on): Likewise.
10167         * modules/dup3 (configure.ac): Set module indicator.
10168         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
10169         missing.
10170         * lib/fchdir.c (_gl_register_dup): Fix comment.
10171         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
10172         * lib/dup-safer.c (dup_safer): Likewise.
10173         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
10174         * lib/dup3.c (dup3): Likewise.
10175         * tests/test-fchdir.c (main): Enhance test.
10176         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
10177
10178         fcntl: port portions of fcntl to mingw
10179         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
10180         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
10181         replacement for mingw.
10182         * modules/fcntl (Description): Update.
10183         (Depends-on): Add dup2.
10184         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
10185         * modules/fcntl-h (Makefile.am): Substitute it.
10186         * lib/fcntl.in.h (fcntl): Update declaration.
10187         (F_DUPFD, F_GETFD): New macros, when needed.
10188         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
10189         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
10190         * tests/test-fcntl.c (check_flags, main): Enhance test for items
10191         we now guarantee.
10192
10193         fcntl: work around cygwin bug in F_DUPFD
10194         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
10195         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
10196         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
10197         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
10198         * doc/posix-functions/fcntl.texi (fcntl): Document it.
10199
10200         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
10201         * modules/fcntl (Files): List new files.
10202         (configure.ac): Run a test.
10203         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
10204         * lib/fcntl.c (rpl_fcntl): Likewise.
10205         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
10206         (gl_FCNTL_H): Always replace fcntl.h.
10207         * modules/fcntl-h (Makefile.am): Substitute witnesses.
10208         * lib/fcntl.in.h (fcntl): Declare replacement.
10209         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
10210         needed, plus a witness.
10211         * doc/posix-functions/fcntl.texi (fcntl): Document this.
10212         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
10213         * tests/test-fcntl.c: New file.
10214         * modules/fcntl-tests: Likewise.
10215
10216         binary-io: avoid potential compilation warning
10217         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
10218         directives.
10219
10220         fflush: avoid compilation error on NetBSD
10221         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
10222         between off_t and fpos_t, since the latter is sometimes a struct.
10223         * lib/fseeko.c (rpl_fseeko): Likewise.
10224         Reported by Alexander Nasonov <alnsn@yandex.ru>.
10225
10226 2009-12-15  Eric Blake  <ebb9@byu.net>
10227
10228         fcntl-h, stdio, sys_ioctl: fix declarations
10229         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
10230         function must not take arguments.
10231         * lib/sys_ioctl.in.h (ioctl): Likewise.
10232         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
10233         (open): Add a link warning.
10234
10235 2009-12-15  Jim Meyering  <meyering@redhat.com>
10236
10237         areadlink, areadlink-with-size: relax license to LGPLv2+
10238         * modules/areadlink (License): Relax to LGPLv2+.
10239         * modules/areadlink-with-size (License): Likewise.
10240
10241 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
10242             Bruno Haible  <bruno@clisp.org>
10243
10244         *printf: Fix memory leak.
10245         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
10246         * lib/vfprintf.c (vfprintf): Likewise.
10247         * lib/dprintf.c (dprintf): Likewise.
10248         * lib/vdprintf.c (vdprintf): Likewise.
10249
10250 2009-12-14  Eric Blake  <ebb9@byu.net>
10251
10252         accept4: adjust module dependencies
10253         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
10254
10255         utimens: one more try at avoiding compiler warning
10256         * lib/utimens.c (lutimens): Lower scope of result.
10257
10258 2009-12-13  Bruno Haible  <bruno@clisp.org>
10259
10260         Move the malloc checking from module 'list' to new module 'xlist'.
10261         * modules/xlist: New file.
10262         * lib/gl_xlist.h: New file.
10263         * lib/gl_xlist.c: New file.
10264         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
10265         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
10266         gl_list_add_last, gl_list_add_before, gl_list_add_after,
10267         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
10268         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
10269         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
10270         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
10271         gl_sortedlist_nx_add): New declarations.
10272         (struct gl_list_implementation): Rename and change methods accordingly.
10273         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
10274         (gl_list_nx_create): Renamed from gl_list_create.
10275         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
10276         (gl_list_nx_set_at): Renamed from gl_list_set_at.
10277         (gl_list_nx_add_first): Renamed from gl_list_add_first.
10278         (gl_list_nx_add_last): Renamed from gl_list_add_last.
10279         (gl_list_nx_add_before): Renamed from gl_list_add_before.
10280         (gl_list_nx_add_after): Renamed from gl_list_add_after.
10281         (gl_list_nx_add_at): Renamed from gl_list_add_at.
10282         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
10283         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
10284         gl_list_create_empty.
10285         (gl_list_nx_create): Renamed from gl_list_create.
10286         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
10287         (gl_list_nx_set_at): Renamed from gl_list_set_at.
10288         (gl_list_nx_add_first): Renamed from gl_list_add_first.
10289         (gl_list_nx_add_last): Renamed from gl_list_add_last.
10290         (gl_list_nx_add_before): Renamed from gl_list_add_before.
10291         (gl_list_nx_add_after): Renamed from gl_list_add_after.
10292         (gl_list_nx_add_at): Renamed from gl_list_add_at.
10293         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
10294         * lib/gl_array_list.c: Don't include xalloc.h.
10295         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
10296         NULL upon out-of-memory.
10297         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
10298         out-of-memory.
10299         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
10300         Change return type to 'int'.
10301         (gl_array_nx_set_at): Renamed from gl_array_set_at.
10302         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
10303         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
10304         upon out-of-memory.
10305         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
10306         upon out-of-memory.
10307         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
10308         upon out-of-memory.
10309         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
10310         upon out-of-memory.
10311         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
10312         out-of-memory.
10313         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
10314         Update.
10315         (gl_array_list_implementation): Update.
10316         * lib/gl_carray_list.c: Don't include xalloc.h.
10317         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
10318         Return NULL upon out-of-memory.
10319         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
10320         out-of-memory.
10321         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
10322         Change return type to 'int'.
10323         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
10324         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
10325         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
10326         upon out-of-memory.
10327         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
10328         upon out-of-memory.
10329         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
10330         out-of-memory.
10331         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
10332         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
10333         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
10334         Update.
10335         (gl_carray_list_implementation): Update.
10336         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
10337         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
10338         gl_linked_create_empty. Return NULL upon out-of-memory.
10339         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
10340         out-of-memory.
10341         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
10342         Change return type to 'int'. Return -1 upon out-of-memory.
10343         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
10344         out-of-memory.
10345         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
10346         upon out-of-memory.
10347         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
10348         upon out-of-memory.
10349         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
10350         NULL upon out-of-memory.
10351         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
10352         upon out-of-memory.
10353         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
10354         out-of-memory.
10355         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
10356         Update.
10357         * lib/gl_linked_list.c: Don't include xalloc.h.
10358         (gl_linked_list_implementation): Update.
10359         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
10360         (add_to_bucket): Change return type to 'int'.
10361         (gl_linkedhash_list_implementation): Update.
10362         * lib/gl_anytree_list1.h (free_subtree): New function.
10363         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
10364         gl_tree_create_empty. Return NULL upon out-of-memory.
10365         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
10366         Change return type to 'int'. Return -1 upon out-of-memory.
10367         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
10368         out-of-memory.
10369         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
10370         (gl_tree_remove_node): New function, moved here from
10371         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
10372         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
10373         Update.
10374         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
10375         malloc, not xmalloc. Return NULL upon out-of-memory.
10376         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
10377         out-of-memory.
10378         (gl_tree_remove_node_from_tree): New function, extracted from
10379         gl_tree_remove_node.
10380         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
10381         upon out-of-memory.
10382         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
10383         out-of-memory.
10384         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
10385         upon out-of-memory.
10386         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
10387         upon out-of-memory.
10388         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
10389         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
10390         not xmalloc. Return NULL upon out-of-memory.
10391         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
10392         out-of-memory.
10393         (gl_tree_remove_node_from_tree): New function, extracted from
10394         gl_tree_remove_node.
10395         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
10396         upon out-of-memory.
10397         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
10398         out-of-memory.
10399         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
10400         upon out-of-memory.
10401         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
10402         upon out-of-memory.
10403         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
10404         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
10405         gl_anytree_list1.h before gl_anyavltree_list2.h.
10406         (gl_avltree_list_implementation): Update.
10407         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
10408         gl_anytree_list1.h before gl_anyavltree_list2.h.
10409         (gl_rbtree_list_implementation): Update.
10410         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
10411         Change return type to 'int'. Return -1 upon out-of-memory. Use
10412         __builtin_expect.
10413         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
10414         (gl_avltreehash_list_implementation): Update.
10415         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
10416         (gl_rbtreehash_list_implementation): Update.
10417         * modules/array-list (Depends-on): Remove xalloc.
10418         * modules/carray-list (Depends-on): Likewise.
10419         * modules/linked-list (Depends-on): Likewise.
10420         * modules/linkedhash-list (Depends-on): Likewise.
10421         * modules/avltree-list (Depends-on): Likewise.
10422         * modules/rbtree-list (Depends-on): Likewise.
10423         * modules/avltreehash-list (Depends-on): Likewise.
10424         * modules/rbtreehash-list (Depends-on): Likewise.
10425
10426         * modules/xsublist: New file.
10427         * lib/gl_xsublist.h: New file.
10428         * lib/gl_xsublist.c: New file.
10429         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
10430         (gl_sublist_nx_create): New declaration.
10431         * lib/gl_sublist.c: Don't include xalloc.h.
10432         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
10433         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
10434         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
10435         Change return type to 'int'. Return -1 upon out-of-memory.
10436         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
10437         upon out-of-memory.
10438         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
10439         NULL upon out-of-memory.
10440         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
10441         upon out-of-memory.
10442         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
10443         NULL upon out-of-memory.
10444         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
10445         NULL upon out-of-memory.
10446         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
10447         upon out-of-memory.
10448         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
10449         (gl_sublist_list_implementation): Update.
10450         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
10451         upon out-of-memory.
10452         * modules/sublist (Depends-on): Remove xalloc.
10453
10454         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
10455         * tests/test-carray_list.c: Likewise.
10456         * tests/test-linked_list.c: Likewise.
10457         * tests/test-linkedhash_list.c: Likewise.
10458         * tests/test-avltree_list.c: Likewise.
10459         * tests/test-rbtree_list.c: Likewise.
10460         * tests/test-avltreehash_list.c: Likewise.
10461         * tests/test-rbtreehash_list.c: Likewise.
10462         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
10463         * modules/carray-list-tests (Makefile.am): Likewise.
10464         * modules/linked-list-tests (Makefile.am): Likewise.
10465         * modules/linkedhash-list-tests (Makefile.am): Likewise.
10466         * modules/avltree-list-tests (Makefile.am): Likewise.
10467         * modules/rbtree-list-tests (Makefile.am): Likewise.
10468         * modules/avltreehash-list-tests (Makefile.am): Likewise.
10469         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
10470
10471         * NEWS: Mention the changes.
10472
10473         * lib/clean-temp.c: Include gl_xlist.h.
10474         * modules/clean-temp (Depends-on): Add xlist.
10475
10476         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
10477         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
10478
10479         * tests/test-array_oset.c: Include gl_xlist.h.
10480         * modules/array-oset-tests (Depends-on): Add xlist.
10481
10482         Reported by José E. Marchesi <jemarch@gnu.org>.
10483
10484 2009-12-13  Bruno Haible  <bruno@clisp.org>
10485
10486         Move the malloc checking from module 'oset' to new module 'xoset'.
10487         * modules/xoset: New file.
10488         * lib/gl_xoset.h: New file.
10489         * lib/gl_xoset.c: New file.
10490         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
10491         declarations.
10492         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
10493         (struct gl_oset_implementation): Rename and change methods accordingly.
10494         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
10495         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
10496         'int'. Mark as __warn_unused_result__.
10497         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
10498         gl_oset_create_empty.
10499         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
10500         'int'.
10501         * lib/gl_array_oset.c: Don't include xalloc.h.
10502         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
10503         malloc, not xmalloc.
10504         (grow): Change return type to 'int'. Don't call xalloc_die.
10505         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
10506         to 'int'.
10507         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
10508         'int'.
10509         (gl_array_oset_implementation): Update.
10510         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
10511         gl_tree_create_empty.
10512         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
10513         'int'.
10514         * lib/gl_avltree_oset.c: Don't include xalloc.h.
10515         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
10516         xmalloc.
10517         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
10518         not xmalloc.
10519         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
10520         xmalloc.
10521         (gl_avltree_oset_implementation): Update.
10522         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
10523         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
10524         xmalloc.
10525         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
10526         not xmalloc.
10527         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
10528         xmalloc.
10529         (gl_rbtree_oset_implementation): Update.
10530         * modules/array-oset (Depends-on): Remove xalloc.
10531         * modules/avltree-oset (Depends-on): Likewise.
10532         * modules/rbtree-oset (Depends-on): Likewise.
10533         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
10534         * tests/test-avltree_oset.c: Likewise.
10535         * tests/test-rbtree_oset.c: Likewise.
10536         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
10537         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
10538         * modules/rbtree-oset-tests (Makefile.am): Likewise.
10539         * NEWS: Mention the change.
10540
10541 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
10542
10543         maint.mk: allow a project to override release-prep commands
10544         * top/maint.mk (alpha, beta, stable): Move release-preparatory
10545         commands into a new rule.
10546         (release-prep): New rule.
10547         (release-prep-hook): New overridable variable.
10548
10549 2009-12-13  Bruno Haible  <bruno@clisp.org>
10550
10551         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
10552
10553 2009-12-13  Jim Meyering  <meyering@redhat.com>
10554
10555         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
10556         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
10557
10558 2009-12-12  Bruno Haible  <bruno@clisp.org>
10559
10560         duplocale: Tweak.
10561         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
10562
10563 2009-12-12  Karl Berry  <karl@gnu.org>
10564
10565         * config/srclist.txt (strtoll.c): tab changes, no more sync.
10566
10567 2009-12-12  Bruno Haible  <bruno@clisp.org>
10568
10569         * m4/po.m4: Undo incorrect untabification.
10570
10571 2009-12-12  Bruno Haible  <bruno@clisp.org>
10572
10573         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
10574         * modules/c-strtod (Depends-on): Add locale.
10575         * modules/c-strtold (Depends-on): Likewise.
10576
10577 2009-12-12  Bruno Haible  <bruno@clisp.org>
10578
10579         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
10580
10581 2009-12-11  Eric Blake  <ebb9@byu.net>
10582
10583         setenv: relax requirement in light of POSIX ruling
10584         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
10585         not NULL.
10586         * tests/test-setenv.c (main): Relax test.
10587         * tests/test-unsetenv.c (main): Likewise.
10588         * doc/posix-functions/setenv.texi (setenv): Document this.
10589         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
10590
10591 2009-12-11  Bruno Haible  <bruno@clisp.org>
10592
10593         New module 'fd-safer-flag'.
10594         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
10595         * lib/dup-safer.c (dup_safer_flag): Remove function.
10596         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
10597         * lib/fd-safer.c (fd_safer_flag): Remove function.
10598         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
10599         * modules/cloexec (configure.ac): Drop indicator macro.
10600         * modules/fd-safer-flag: New file.
10601         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
10602         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
10603         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
10604
10605 2009-12-11  Bruno Haible  <bruno@clisp.org>
10606
10607         Tests for module 'nl_langinfo'.
10608         * modules/nl_langinfo-tests: New file.
10609         * tests/test-nl_langinfo.sh: New file.
10610         * tests/test-nl_langinfo.c: New file.
10611
10612         New module 'nl_langinfo'.
10613         * lib/nl_langinfo.c: New file.
10614         * m4/nl_langinfo.m4: New file.
10615         * modules/nl_langinfo: New file.
10616         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
10617
10618 2009-12-11  Bruno Haible  <bruno@clisp.org>
10619
10620         Tests for module 'langinfo'.
10621         * modules/langinfo-tests: New file.
10622         * tests/test-langinfo.c: New file.
10623
10624         New module 'langinfo'.
10625         * lib/langinfo.in.h: New file.
10626         * m4/langinfo_h.m4: New file.
10627         * modules/langinfo: New file.
10628         * doc/posix-headers/langinfo.texi: Mention the new module.
10629
10630 2009-12-11  Bruno Haible  <bruno@clisp.org>
10631
10632         * lib/config.charset: Untabify.
10633
10634 2009-12-11  Bruno Haible  <bruno@clisp.org>
10635
10636         * modules/unistd-safer (configure.ac): Drop indicator macro.
10637
10638 2009-12-11  Bruno Haible  <bruno@clisp.org>
10639
10640         Move pipe2-safer code to its own file.
10641         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
10642         * lib/pipe-safer.c (pipe2_safer): Remove function.
10643         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
10644         (Makefile.am): Add it to lib_SOURCES.
10645
10646 2009-12-10  Bruno Haible  <bruno@clisp.org>
10647
10648         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
10649
10650 2009-12-10  Bruno Haible  <bruno@clisp.org>
10651
10652         Declare which arguments expect non-NULL values, for GCC and clang.
10653         * build-aux/arg-nonnull.h: New file.
10654         * modules/arg-nonnull: New file.
10655         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
10656         (inet_ntop, inet_pton): Use it.
10657         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
10658         (closedir, dirfd, opendir, scandir, alphasort): Use it.
10659         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
10660         (open, openat): Use it.
10661         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
10662         (fnmatch): Use it.
10663         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
10664         (getopt, getopt_long, getopt_long_only): Use it.
10665         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
10666         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
10667         Use it.
10668         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
10669         (iconv_open): Use it.
10670         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
10671         (strtoimax, strtoumax): Use it.
10672         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
10673         (duplocale): Use it.
10674         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
10675         (frexp, frexpl): Use it.
10676         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
10677         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
10678         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
10679         (tsearch, tfind, tdelete, twalk): Use it.
10680         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
10681         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
10682         sigpending): Use it.
10683         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
10684         (posix_spawn, posix_spawnp, posix_spawnattr_init,
10685         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
10686         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
10687         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
10688         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
10689         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
10690         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
10691         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
10692         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
10693         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
10694         Use it.
10695         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
10696         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
10697         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
10698         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
10699         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
10700         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
10701         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
10702         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
10703         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
10704         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
10705         strtoull, unsetenv): Use it.
10706         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
10707         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
10708         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
10709         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
10710         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
10711         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
10712         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
10713         (strcasecmp, strncasecmp): Use it.
10714         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
10715         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
10716         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
10717         rpl_setsockopt): Use it.
10718         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
10719         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
10720         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
10721         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
10722         (gettimeofday): Use it.
10723         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
10724         (times): Use it.
10725         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
10726         (uname): Use it.
10727         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
10728         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
10729         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
10730         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
10731         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
10732         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
10733         unlinkat, write): Use it.
10734         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
10735         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
10736         * lib/argv-iter.h: Include arg-nonnull.h.
10737         (_ATTRIBUTE_NONNULL_): Remove macro.
10738         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
10739         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
10740         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
10741         optimization.
10742         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
10743         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
10744         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
10745         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
10746         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
10747         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
10748         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
10749         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
10750         * modules/arpa_inet (Depends-on): Add arg-nonnull.
10751         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
10752         * modules/dirent (Depends-on): Add arg-nonnull.
10753         (Makefile.am): Insert arg-nonnull.h into dirent.h.
10754         * modules/fcntl-h (Depends-on): Add arg-nonnull.
10755         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
10756         * modules/fnmatch (Depends-on): Add arg-nonnull.
10757         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
10758         * modules/getopt-posix (Depends-on): Add arg-nonnull.
10759         (Makefile.am): Insert arg-nonnull.h into getopt.h.
10760         * modules/glob (Depends-on): Add arg-nonnull.
10761         (Makefile.am): Insert arg-nonnull.h into glob.h.
10762         * modules/iconv_open (Depends-on): Add arg-nonnull.
10763         (Makefile.am): Insert arg-nonnull.h into iconv.h.
10764         * modules/inttypes (Depends-on): Add arg-nonnull.
10765         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
10766         * modules/locale (Depends-on): Add arg-nonnull.
10767         (Makefile.am): Insert arg-nonnull.h into locale.h.
10768         * modules/math (Depends-on): Add arg-nonnull.
10769         (Makefile.am): Insert arg-nonnull.h into math.h.
10770         * modules/netdb (Depends-on): Add arg-nonnull.
10771         (Makefile.am): Insert arg-nonnull.h into netdb.h.
10772         * modules/search (Depends-on): Add arg-nonnull.
10773         (Makefile.am): Insert arg-nonnull.h into search.h.
10774         * modules/signal (Depends-on): Add arg-nonnull.
10775         (Makefile.am): Insert arg-nonnull.h into signal.h.
10776         * modules/spawn (Depends-on): Add arg-nonnull.
10777         (Makefile.am): Insert arg-nonnull.h into spawn.h.
10778         * modules/stdio (Depends-on): Add arg-nonnull.
10779         (Makefile.am): Insert arg-nonnull.h into stdio.h.
10780         * modules/stdlib (Depends-on): Add arg-nonnull.
10781         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
10782         * modules/string (Depends-on): Add arg-nonnull.
10783         (Makefile.am): Insert arg-nonnull.h into string.h.
10784         * modules/strings (Depends-on): Add arg-nonnull.
10785         (Makefile.am): Insert arg-nonnull.h into strings.h.
10786         * modules/sys_socket (Depends-on): Add arg-nonnull.
10787         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
10788         * modules/sys_stat (Depends-on): Add arg-nonnull.
10789         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
10790         * modules/sys_time (Depends-on): Add arg-nonnull.
10791         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
10792         * modules/sys_times (Depends-on): Add arg-nonnull.
10793         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
10794         * modules/sys_utsname (Depends-on): Add arg-nonnull.
10795         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
10796         * modules/time (Depends-on): Add arg-nonnull.
10797         (Makefile.am): Insert arg-nonnull.h into time.h.
10798         * modules/unistd (Depends-on): Add arg-nonnull.
10799         (Makefile.am): Insert arg-nonnull.h into unistd.h.
10800         * modules/wchar (Depends-on): Add arg-nonnull.
10801         (Makefile.am): Insert arg-nonnull.h into wchar.h.
10802         * modules/argv-iter (Depends-on): Add arg-nonnull.
10803         * tests/test-canonicalize.c (null_ptr): New function.
10804         (main): Use it.
10805         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
10806         (main): Use it.
10807         * tests/test-memmem.c (null_ptr): New function.
10808         (main): Use it.
10809         Reported by Jim Meyering.
10810
10811 2009-12-10  Bruno Haible  <bruno@clisp.org>
10812
10813         Use spaces for indentation, not tabs.
10814         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
10815         * m4/*.m4: Untabify.
10816         * build-aux/*.h: Untabify.
10817         * tests/**/*.[hc]: Untabify.
10818         * README: New section "Indent with spaces, not TABs", based on
10819         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
10820         * NEWS: Mention the change.
10821
10822 2009-12-10  Bruno Haible  <bruno@clisp.org>
10823
10824         pty test: Fix link error.
10825         * modules/pty-tests (Makefile.am): Add the default LDADD value to
10826         test_pty_LDADD.
10827
10828 2009-12-07  Simon Josefsson  <simon@josefsson.org>
10829
10830         * modules/pty: New file.
10831         * modules/pty-tests: New file.
10832         * m4/pty.m4: New file.
10833         * tests/test-pty.c: New file.
10834         * doc/glibc-headers/pty.texi: Modified.
10835         * doc/glibc-functions/forkpty.texi: Modified.
10836         * doc/glibc-functions/openpty.texi: Modified.
10837
10838 2009-12-10  Bruno Haible  <bruno@clisp.org>
10839
10840         Avoid syntax error in C++ mode.
10841         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
10842
10843 2009-12-10  Bruno Haible  <bruno@clisp.org>
10844
10845         Use sed with option -e.
10846         * gnulib-tool (func_version, func_emit_copyright_notice,
10847         func_emit_initmacro_end, func_import, func_create_testdir): Pass
10848         option -e to sed.
10849         * modules/link-warning (Makefile.am): Likewise.
10850
10851 2009-12-10  Jim Meyering  <meyering@redhat.com>
10852
10853         mgetgroups: do not write bytes beyond end of malloc'd buffer
10854         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
10855         username, we call getgroups with a one-element-shorter buffer,
10856         but still told it the length was original, max_n_groups.
10857
10858 2009-12-09  Eric Blake  <ebb9@byu.net>
10859
10860         cloexec: relax license
10861         * modules/cloexec (Maintainer): Add myself.
10862         (License): Use LGPL, not GPL.
10863
10864         link-warning: optimize generation
10865         * modules/link-warning (Makefile.am): Reduce process usage.
10866
10867 2009-12-09  Bruno Haible  <bruno@clisp.org>
10868
10869         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
10870         workaround was added on 2009-11-17.
10871
10872 2009-12-09  Jim Meyering  <meyering@redhat.com>
10873             Bruno Haible  <bruno@clisp.org>
10874
10875         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
10876         * modules/link-warning (Makefile.am): Make the comment-removing sed
10877         command more robust in the face of bootstrap-prepended comment lines.
10878
10879 2009-12-09  Bruno Haible  <bruno@clisp.org>
10880
10881         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
10882         most one group.
10883
10884 2009-12-09  Simon Josefsson <simon@josefsson.org>
10885             Bruno Haible  <bruno@clisp.org>
10886
10887         * build-aux/link-warning.h: Add copyright notice.
10888         * modules/link-warning (Makefile.am): Generate link-warning.h from
10889         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
10890         * NEWS: Mention change in link-warning module.
10891         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
10892         * modules/dirent (Makefile.am): Add dependency to dirent.h.
10893         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
10894         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
10895         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
10896         * modules/math (Makefile.am): Add dependency to math.h.
10897         * modules/search (Makefile.am): Add dependency to search.h.
10898         * modules/signal (Makefile.am): Add dependency to signal.h.
10899         * modules/spawn (Makefile.am): Add dependency to spawn.h.
10900         * modules/stdio (Makefile.am): Add dependency to stdio.h.
10901         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
10902         * modules/string (Makefile.am): Add dependency to string.h.
10903         * modules/strings (Makefile.am): Add dependency to strings.h.
10904         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
10905         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
10906         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
10907         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
10908         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
10909         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
10910         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
10911         * modules/unistd (Makefile.am): Add dependency to unistd.h.
10912         * modules/wchar (Makefile.am): Add dependency to wchar.h.
10913
10914 2009-12-09  Bruno Haible  <bruno@clisp.org>
10915
10916         fchdir: Optimize away rpl_fstat when possible.
10917         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
10918         REPLACE_OPEN_DIRECTORY.
10919         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
10920
10921 2009-12-09  Bruno Haible  <bruno@clisp.org>
10922
10923         * lib/fchdir.c: Update comment.
10924
10925 2009-12-09  Bruno Haible  <bruno@clisp.org>
10926
10927         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
10928
10929 2009-12-08  Eric Blake  <ebb9@byu.net>
10930
10931         fchdir: avoid memory leak on re-registration.
10932         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
10933
10934 2009-12-08  Jim Meyering  <meyering@redhat.com>
10935
10936         init.sh: avoid Solaris 10 /bin/sh portability problem
10937         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
10938         sourced script:
10939           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
10940           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
10941           bar
10942         tests/init.sh relied on that, accepting a --set-path=DIR argument,
10943         and two tests used that idiom.
10944         * tests/init.sh: Update suggested usage comments.
10945         (path_prepend_): New function, to be used in place
10946         of the --src-path=DIR option.
10947         (setup_): Move PATH-prepending code into path_prepend_.
10948         * tests/test-pread.sh: Adapt to new usage.
10949         * tests/test-xalloc-die.sh: Likewise.
10950
10951 2009-12-08  Simon Josefsson  <simon@josefsson.org>
10952
10953         * doc/gnulib.texi (Glibc pty.h): Add.
10954         * doc/glibc-functions/forkpty.texi: Add.
10955         * doc/glibc-functions/openpty.texi: Add.
10956         Suggested by Bruno Haible.
10957
10958 2009-12-08  Eric Blake  <ebb9@byu.net>
10959
10960         fchdir: fix logic bugs
10961         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
10962         * tests/test-fchdir.c (main): Enhance test.
10963         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
10964         is in use.
10965
10966         dup2: fix logic bugs
10967         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
10968         REPLACE_DUP2 to decide when rpl_dup2 is needed.
10969         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
10970         exists.
10971         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
10972
10973 2009-12-07  Eric Blake  <ebb9@byu.net>
10974
10975         unlink: fix m4 detection
10976         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
10977
10978         unistd-safer: add unit test
10979         * modules/unistd-safer-tests: New file.
10980         * tests/test-dup-safer.c: Likewise.
10981         * tests/test-cloexec.c (setmode): Avoid compiler warning.
10982         * tests/test-dup2.c (setmode): Likewise.
10983         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
10984
10985         cloexec: preserve text vs. binary across dup_cloexec
10986         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
10987         mode.
10988         * modules/dup2-tests (Depends-on): Add binary-io.
10989         * modules/cloexec-tests (Depends-on): Likewise.
10990         * tests/test-dup2.c (setmode, is_mode): New helpers.
10991         (main): Add tests that translation mode is preserved.
10992         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
10993         Reported by Bruno Haible.
10994
10995         mgetgroups: reduce duplicate listings
10996         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
10997         resulting array.
10998         * tests/test-chown.h (test_chown): Simplify client.
10999         * tests/test-lchown.h (test_lchown): Likewise.
11000
11001 2009-12-06  Bruno Haible  <bruno@clisp.org>
11002
11003         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
11004         value.
11005
11006 2009-12-06  Bruno Haible  <bruno@clisp.org>
11007
11008         * lib/progname.c: Include stdio.h, stdlib.h.
11009         (set_program_name): Reject a NULL argument.
11010
11011 2009-12-05  Eric Blake  <ebb9@byu.net>
11012
11013         pipe2-safer: new module
11014         * modules/pipe2-safer: New file.
11015         * lib/unistd-safer.h (pipe2_safer): New prototype.
11016         * lib/unistd--.h (pipe2): New wrapper.
11017         * lib/pipe-safer.c (pipe2_safer): New function.
11018         * modules/pipe (Depends-on): Add pipe2-safer.
11019         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
11020
11021         stdlib-safer: preserve cloexec flag for mkostemp[s]
11022         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
11023         fd_safer_flag.
11024
11025         unistd-safer: allow preservation of cloexec status via flag
11026         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
11027         prototypes.
11028         * lib/dup-safer.c (dup_safer_flag): New function.
11029         * lib/fd-safer.c (fd_safer_flag): Likewise.
11030         * modules/cloexec (configure.ac): Set witness.
11031
11032         test-dup2: enhance test
11033         * modules/dup2-tests (Depends-on): Add cloexec.
11034         * tests/test-dup2.c (main): Enhance test.
11035
11036         cloexec: add dup_cloexec
11037         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
11038         header and comments.
11039         * lib/cloexec.c (set_cloexec_flag): Add comments.
11040         (dup_cloexec): New function, with mingw implementation borrowed
11041         from...
11042         * lib/w32spawn.h (dup_noinherit): ...here.
11043         * modules/execute (Depends-on): Add cloexec.
11044         * modules/pipe (Depends-on): Likewise.
11045         * modules/cloexec (Depends-on): Add dup2.
11046         * modules/cloexec-tests (Files): New file.
11047         * tests/test-cloexec.c: Likewise.
11048
11049         test-xalloc-die: fix test for mingw
11050         * modules/xalloc-die-tests (Files): Add tests/init.sh.
11051         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
11052         directory and .exe suffix off argv[0] output.
11053
11054         test-fseeko: fix test for mingw
11055         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
11056         than undefining fseek, so test will pass on mingw.
11057
11058 2009-12-05  Bruno Haible  <bruno@clisp.org>
11059
11060         * lib/progname.h (set_program_name): Clarify specification.
11061         * lib/progname.c (set_program_name): Likewise.
11062         Reported by Jim Meyering.
11063
11064 2009-12-05  Jim Meyering  <meyering@redhat.com>
11065
11066         maint.mk: backslash-escape parens in default regexp
11067         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
11068         backslash-escape the literal parentheses.
11069
11070         maint.mk: news-date-check: use grep -E
11071         * top/maint.mk (today): Define a Make variable, not a...
11072         (news-date-check): ...shell variable.
11073         (news-date-regexp): Use the Make variable.
11074         Use grep's -E option.  Change the failing diagnostic to mention
11075         the variable, $(news-date-regexp).
11076
11077 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
11078
11079         maintainer-makefile: allow customization of NEWS entry format
11080         * top/maint.mk (news-date-regexp): New overridable variable.
11081         (news-date-check): Use it.
11082
11083 2009-12-04  Eric Blake  <ebb9@byu.net>
11084
11085         mgetgroups: add xgetgroups, and avoid ENOSYS failures
11086         * lib/mgetgroups.h (xgetgroups): New prototype.
11087         * lib/mgetgroups.c (xgetgroups): New wrapper.
11088         (mgetgroups): Handle ENOSYS.
11089         * modules/mgetgroups (Depends-on): Add realloc.
11090         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
11091
11092         mgetgroups: avoid argument promotion issues with -1
11093         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
11094         for invalid gid_t.
11095         * tests/test-chown.h (getegid, test_chown): Likewise.
11096         * tests/test-lchown.h (getegid, test_lchown): Likewise.
11097
11098 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
11099
11100         exclude: Fix header file problems.
11101         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
11102
11103 2009-12-01  Jim Meyering  <meyering@redhat.com>
11104
11105         fts: fts_open: do not let an empty string cause immediate failure
11106         This is required in support of GNU rm, for which the command
11107         "rm A '' B" must process and remove both A and B, in spite of
11108         the empty string argument.
11109         * lib/fts.c (fts_open): Do not let the presence of an empty string
11110         cause fts_open to fail immediately.  Most fts-using tools must be
11111         able to process all arguments, in order, and can be expected to
11112         diagnose such arguments themselves.
11113
11114 2009-11-30  Eric Blake  <ebb9@byu.net>
11115
11116         utimens: fix compilation error
11117         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
11118         Declare variable at right scope.
11119
11120 2009-11-29  Jim Meyering  <meyering@redhat.com>
11121
11122         bootstrap: handle perl-5.11's changed --version output
11123         * build-aux/bootstrap (get_version): Handle perl separately,
11124         since perl-5.11's --version output is different.
11125
11126 2009-11-28  Jim Meyering  <meyering@redhat.com>
11127
11128         userspec: depend on the inttostr module, too
11129         * modules/userspec (Depends-on): Add inttostr.
11130
11131         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
11132         * lib/userspec.c (parse_with_separator): Do not accept a user ID
11133         number of MAXUID when it evaluates to (uid_t) -1.
11134         Likewise for group ID.  Reported by Matt McCutchen in
11135         <http://savannah.gnu.org/bugs/?28113>
11136
11137         userspec: reformat to use spaces, not TABs
11138         * lib/userspec.c: Expand TABs to spaces.
11139         Add Emacs' "indent-tabs-mode: nil" hint.
11140
11141 2009-11-27  Eric Blake  <ebb9@byu.net>
11142
11143         getopt-gnu: flush out another BSD bug
11144         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
11145         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
11146         flush out BSD bug.
11147         * tests/test-getopt.h (test_getopt): End lists with NULL.
11148         * tests/test-getopt_long.h (test_getopt_long): Likewise.
11149         (test_getopt_long_posix): Enhance test.
11150         * modules/getopt-posix-tests (Depends-on): Add stdbool.
11151         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
11152         getopt-gnu.
11153         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
11154         Likewise.
11155
11156 2009-11-27  Simon Josefsson  <simon@josefsson.org>
11157
11158         * modules/idpriv-droptemp-tests (Notice): Fix text.
11159
11160 2009-11-27  Jim Meyering  <meyering@redhat.com>
11161
11162         test-xalloc-die: avoid spurious failure due to libtool argv difference
11163         In a libtool-enabled project, this test would fail due to a difference
11164         in the emitted program name, e.g.,
11165         -test-xalloc-die: memory exhausted
11166         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
11167         Use program to avoid that.
11168         * modules/xalloc-die-tests (Depends-on): Add progname.
11169         * tests/test-xalloc-die.c: Include progname.h".
11170         (program_name): Remove decl.
11171         (main): Call set_program_name.
11172         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
11173
11174 2009-11-26  Richard Jones  <rjones@redhat.com>
11175
11176         w32sock: leave win32 error in place.
11177         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
11178
11179 2009-11-26  Eric Blake  <ebb9@byu.net>
11180
11181         init.sh: suggest to use skip_ and fail_ functions in comments
11182         * tests/init.sh: Add a sentence.
11183
11184 2009-11-25  Bruno Haible  <bruno@clisp.org>
11185
11186         init.sh: add documentation in comments
11187         * tests/init.sh: Add some developer and user documentation.
11188
11189 2009-11-26  Jim Meyering  <meyering@redhat.com>
11190
11191         init.sh: accommodate even those who specify bogus srcdir manually
11192         * tests/init.sh: Normally, srcdir is guaranteed by automake and
11193         configure-time tests to be sanitized, so that there is no need to
11194         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
11195         (with no double quotes) suffices.  However, since tests may be
11196         invoked manually, and since you may explicitly set srcdir to the
11197         name of a directory containing spaces, do quote its uses here.
11198         * tests/test-pread.sh: Likewise.
11199         Suggested by Bruno Haible.
11200
11201         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
11202         * tests/test-pread.sh: Write no data into the pipe, because
11203         test-pread actually reads none.  This avoids a diagnostic,
11204         "bash: echo: write error: Broken pipe", that arises in the unusual
11205         event something is ignoring SIGPIPE, and might be interpreted
11206         as some sort of failure.  Reported by Bruno Haible.
11207
11208 2009-11-25  Jim Meyering  <meyering@redhat.com>
11209
11210         test-pread: cover failure with ESPIPE and EINVAL
11211         * tests/test-pread.c (main): Test for failure, too.
11212         * tests/test-pread.sh: Invoke with stdin on a pipe.
11213         Suggested by Eric Blake.
11214
11215         pread: improvement and fix
11216         * modules/pread (Depends-on): Depend on lseek, for portability to
11217         e.g., mingw.  Suggested by Eric Blake.
11218         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
11219
11220         unistd.in.h: correct declaration of pread
11221         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
11222         Reported by Richard W.M. Jones.
11223
11224         test-pread.sh: distribute the test script
11225         * modules/pread-tests (Files): Include test-pread.sh.
11226
11227         test-pread.sh: clean up
11228         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
11229         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
11230         That is unnecessary, since it's always ".".
11231         Suggestion from Eric Blake.
11232
11233         test-pread.sh: make executable
11234         * tests/test-pread.sh: Set executable bit.
11235         Reported by Eric Blake.
11236
11237         correct typo in test-pread.sh
11238         * tests/test-pread.sh: Add #! line.
11239
11240         test pread
11241         * tests/test-pread.c: New file.
11242         * tests/test-pread.sh: Likewise.
11243         * modules/pread-tests: Likewise.
11244
11245         pread: new module
11246         * modules/pread: New file.
11247         * lib/unistd.in.h (pread): Define/declare.
11248         * lib/pread.c (pread): New file.
11249         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
11250         * modules/unistd (Makefile.am): Substitute witnesses.
11251         * doc/posix-functions/pread.texi (pread): Update.
11252         * MODULES.html.sh: Add pread.
11253
11254 2009-11-25  Jim Meyering  <meyering@redhat.com>
11255
11256         tests/init.sh: new file to be used via most *.sh tests
11257         * tests/init.sh: New file.
11258
11259 2009-11-25  Eric Blake  <ebb9@byu.net>
11260
11261         utimens: work around older Linux failure with symlinks
11262         * lib/utimens.c (lutimensat_works_really): New variable.
11263         (fdutimens, lutimens): Use it to manage kernels that support
11264         nanosecond times on files, but not on symlinks.
11265         Reported by OndÅ™ej Vašík.
11266
11267         utimes: fix configure grammar
11268         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
11269
11270 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
11271
11272         regex: Fix fastmap for multibyte character ranges.
11273         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
11274         characters when a multibyte character range is included.
11275
11276 2009-11-22  Andy Wingo  <wingo@pobox.com>
11277
11278         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
11279         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
11280
11281 2009-11-24  Bruno Haible  <bruno@clisp.org>
11282
11283         doc: Most *_l functions exist in MacOS X 10.5.
11284         * doc/posix-functions/duplocale.texi: Update platforms list.
11285         * doc/posix-functions/freelocale.texi: Likewise.
11286         * doc/posix-functions/newlocale.texi: Likewise.
11287         * doc/posix-functions/uselocale.texi: Likewise.
11288         * doc/posix-functions/isalnum_l.texi: Likewise.
11289         * doc/posix-functions/isalpha_l.texi: Likewise.
11290         * doc/posix-functions/isblank_l.texi: Likewise.
11291         * doc/posix-functions/iscntrl_l.texi: Likewise.
11292         * doc/posix-functions/isdigit_l.texi: Likewise.
11293         * doc/posix-functions/isgraph_l.texi: Likewise.
11294         * doc/posix-functions/islower_l.texi: Likewise.
11295         * doc/posix-functions/isprint_l.texi: Likewise.
11296         * doc/posix-functions/ispunct_l.texi: Likewise.
11297         * doc/posix-functions/isspace_l.texi: Likewise.
11298         * doc/posix-functions/isupper_l.texi: Likewise.
11299         * doc/posix-functions/iswalnum_l.texi: Likewise.
11300         * doc/posix-functions/iswalpha_l.texi: Likewise.
11301         * doc/posix-functions/iswblank_l.texi: Likewise.
11302         * doc/posix-functions/iswcntrl_l.texi: Likewise.
11303         * doc/posix-functions/iswctype_l.texi: Likewise.
11304         * doc/posix-functions/iswdigit_l.texi: Likewise.
11305         * doc/posix-functions/iswgraph_l.texi: Likewise.
11306         * doc/posix-functions/iswlower_l.texi: Likewise.
11307         * doc/posix-functions/iswprint_l.texi: Likewise.
11308         * doc/posix-functions/iswpunct_l.texi: Likewise.
11309         * doc/posix-functions/iswspace_l.texi: Likewise.
11310         * doc/posix-functions/iswupper_l.texi: Likewise.
11311         * doc/posix-functions/iswxdigit_l.texi: Likewise.
11312         * doc/posix-functions/isxdigit_l.texi: Likewise.
11313         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
11314         * doc/posix-functions/strcasecmp_l.texi: Likewise.
11315         * doc/posix-functions/strcoll_l.texi: Likewise.
11316         * doc/posix-functions/strfmon_l.texi: Likewise.
11317         * doc/posix-functions/strftime_l.texi: Likewise.
11318         * doc/posix-functions/strncasecmp_l.texi: Likewise.
11319         * doc/posix-functions/strxfrm_l.texi: Likewise.
11320         * doc/posix-functions/tolower_l.texi: Likewise.
11321         * doc/posix-functions/toupper_l.texi: Likewise.
11322         * doc/posix-functions/towctrans_l.texi: Likewise.
11323         * doc/posix-functions/towlower_l.texi: Likewise.
11324         * doc/posix-functions/towupper_l.texi: Likewise.
11325         * doc/posix-functions/wcscoll_l.texi: Likewise.
11326         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
11327         * doc/posix-functions/wctrans_l.texi: Likewise.
11328         * doc/posix-functions/wctype_l.texi: Likewise.
11329         * doc/glibc-functions/strptime_l.texi: Likewise.
11330         * doc/glibc-functions/strtod_l.texi: Likewise.
11331         * doc/glibc-functions/strtof_l.texi: Likewise.
11332         * doc/glibc-functions/strtol_l.texi: Likewise.
11333         * doc/glibc-functions/strtold_l.texi: Likewise.
11334         * doc/glibc-functions/strtoll_l.texi: Likewise.
11335         * doc/glibc-functions/strtoul_l.texi: Likewise.
11336         * doc/glibc-functions/strtoull_l.texi: Likewise.
11337         * doc/glibc-functions/wcsftime_l.texi: Likewise.
11338         * doc/glibc-functions/wcstod_l.texi: Likewise.
11339         * doc/glibc-functions/wcstof_l.texi: Likewise.
11340         * doc/glibc-functions/wcstol_l.texi: Likewise.
11341         * doc/glibc-functions/wcstold_l.texi: Likewise.
11342         * doc/glibc-functions/wcstoll_l.texi: Likewise.
11343         * doc/glibc-functions/wcstoul_l.texi: Likewise.
11344         * doc/glibc-functions/wcstoull_l.texi: Likewise.
11345
11346 2009-11-24  Bruno Haible  <bruno@clisp.org>
11347
11348         duplocale: Fix logic bug.
11349         * lib/duplocale.c: Don't include <langinfo.h>.
11350         (_NL_LOCALE_NAME): Remove macro.
11351         (rpl_duplocale): Use setlocale instead of nl_langinfo.
11352         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
11353
11354 2009-11-23  Jim Meyering  <meyering@redhat.com>
11355
11356         test-update-copyright: don't hard-code /usr/bin/perl
11357         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
11358         perl to print the current year.  Gilles Espinasse reported that
11359         the replaced use of perl was hard-coded as /usr/bin/perl.
11360
11361 2009-11-23  Bruno Haible  <bruno@clisp.org>
11362
11363         duplocale: Add support for glibc 2.3.x.
11364         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
11365
11366 2009-11-22  Bruno Haible  <bruno@clisp.org>
11367
11368         vasnprintf: Tiny optimization.
11369         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
11370         MacOS X.
11371
11372 2009-11-22  Bruno Haible  <bruno@clisp.org>
11373
11374         Tests for module 'duplocale'.
11375         * modules/duplocale-tests: New file.
11376         * tests/test-duplocale.c: New file.
11377
11378         New module 'duplocale'.
11379         * m4/duplocale.m4: New file.
11380         * lib/locale.in.h (duplocale): New declaration.
11381         * lib/duplocale.c: New file.
11382         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
11383         gl_LOCALE_H_DEFAULTS): New macros.
11384         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
11385         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
11386         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
11387         REPLACE_DUPLOCALE.
11388         * modules/duplocale: New file.
11389         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
11390
11391 2009-11-22  Bruno Haible  <bruno@clisp.org>
11392
11393         * modules/locale-tests (configure.ac): Test for newlocale function.
11394         * tests/test-locale.c: When the system has extended locale functions,
11395         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
11396
11397         locale: Make locale_t available when possible.
11398         * lib/locale.in.h: Include <xlocale.h> when it exists.
11399         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
11400         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
11401         * modules/locale (Depends-on): Add extensions.
11402         (Makefile.am): Also substitute HAVE_XLOCALE_H.
11403         * doc/posix-headers/locale.texi: Document the problem with locale_t.
11404
11405 2009-11-22  Bruno Haible  <bruno@clisp.org>
11406
11407         Add comments.
11408         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
11409         invocation.
11410         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
11411         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
11412         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
11413
11414 2009-11-22  Bruno Haible  <bruno@clisp.org>
11415
11416         error: account for the possibility of freopen (stdout).
11417         * lib/error.c: Include <unistd.h>.
11418         (flush_stdout): New function, extracted from error and error_at_line.
11419         Determine stdout's fd dynamically.
11420         (error, error_at_line): Invoke flush_stdout.
11421         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
11422         * modules/error (Depends-on): Add unistd.
11423
11424 2009-11-22  Bruno Haible  <bruno@clisp.org>
11425
11426         diffseq: Add comment.
11427         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
11428
11429 2009-11-22  Jim Meyering  <meyering@redhat.com>
11430
11431         c-stack: avoid defining an unused static function
11432         * lib/c-stack.c (find_stack_direction): Do not define this function
11433         when it will not be used.
11434
11435         diffseq: avoid spurious gcc warnings
11436         * lib/diffseq.h (IF_LINT2): Define.
11437         (compareseq): Use it to initialize two members of "part".
11438         This avoids two used-uninitialized warnings.
11439
11440 2009-11-21  Jim Meyering  <meyering@redhat.com>
11441
11442         c-stack: avoid "ignoring return value of `write'" warning
11443         * lib/c-stack.c: Include "ignore-value.h".
11444         (die): Explicitly ignore each write return value.
11445         * modules/c-stack (Depends-on): Add ignore-value.
11446
11447 2009-11-21  Bruno Haible  <bruno@clisp.org>
11448
11449         diffseq: reduce scope of variable 'best'.
11450         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
11451         variable, earlier used for two different purposes.
11452
11453 2009-11-21  Jim Meyering  <meyering@redhat.com>
11454
11455         diffseq: remove useless assignment to "best"
11456         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
11457         assignment.  At that point "best" is already guaranteed to be zero.
11458
11459 2009-11-20  Eric Blake  <ebb9@byu.net>
11460
11461         build: mention ftp redirector in release announcements
11462         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
11463         values that used to come from cfg.mk; mention FTP redirect URL.
11464         * build-aux/announce-gen: Mention the mirror list.
11465         Suggested by Karl Berry.
11466
11467         nanosleep: improve port to mingw
11468         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
11469         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
11470         LIB_NANOSLEEP, but only when needed.
11471         * modules/select (Link): Document LIBSOCKET.
11472         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
11473         enough.
11474
11475         nanosleep: work around cygwin bug
11476         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
11477         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
11478         bug.
11479         (getnow): Delete, not needed.
11480         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
11481         LIB_CLOCK_GETTIME.
11482         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
11483         clock-time, gettime.
11484         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
11485         bug.
11486         * modules/nanosleep-tests: New test.
11487         * tests/test-nanosleep.c: New file.
11488
11489         sleep: work around cygwin bug
11490         * lib/sleep.c (rpl_sleep): Work around the bug.
11491         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
11492         (gl_PREREQ_SLEEP): Delete unused macro.
11493         * modules/sleep (Depends-on): Add verify.
11494         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
11495         * modules/unistd (Makefile.am): Substitute witness.
11496         * lib/unistd.in.h (sleep): Update prototype.
11497         * doc/posix-functions/sleep.texi (sleep): Document the bug.
11498         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
11499         * modules/sleep-tests (Depends-on): Check for alarm.
11500
11501 2009-11-20  Jim Meyering  <meyering@redhat.com>
11502
11503         maint.mk: improve sc_prohibit_magic_number_exit
11504         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
11505         so it does not match uses like System.exit(1).
11506         Add comments showing how to correct all offenders.
11507
11508 2009-11-19  Eric Blake  <ebb9@byu.net>
11509
11510         xalloc-die-tests: add missing library
11511         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
11512
11513         test-xvasprintf: silence compiler warnings
11514         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
11515         empty string from gcc.
11516
11517 2009-11-19  Jim Meyering  <meyering@redhat.com>
11518
11519         xfreopen: new module, from coreutils
11520         * modules/xfreopen: New module.
11521         * lib/xfreopen.c: New file.
11522         * lib/xfreopen.h: New file.
11523         * MODULES.html.sh (File stream based Input/Output"): Add it.
11524
11525 2009-11-19  Eric Blake  <ebb9@byu.net>
11526
11527         manywarnings: depend on warnings
11528         * modules/manywarnings (Depends-on): Add warnings.
11529
11530         build: avoid compiler warnings
11531         * lib/select.c (rpl_select): Delete unused variable.
11532         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
11533
11534 2009-11-18  Eric Blake  <ebb9@byu.net>
11535
11536         tests: avoid false negative with --with-packager
11537         * tests/test-version-etc.sh: Discard packager information.
11538         * tests/test-argp-version-etc-1.sh: Likewise.
11539         Reported by Mike Frysinger.
11540
11541         utimens: fix regression on Solaris
11542         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
11543         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
11544         can only change fd timestamps via futimesat.  Instead, use an
11545         additional witness macro to avoid BSD bug.
11546         Reported by Jim Meyering.
11547
11548 2009-11-17  Eric Blake  <ebb9@byu.net>
11549
11550         usleep: use it to simplify tests
11551         * modules/stat-time-tests (Depends-on): Add usleep.
11552         (configure.ac): Drop usleep check.
11553         * modules/chown-tests (Depends-on, configure.ac): Likewise.
11554         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
11555         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
11556         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
11557         * modules/openat-tests (Depends-on, configure.ac): Likewise.
11558         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
11559         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
11560         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
11561         Likewise.
11562         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
11563         * tests/test-lchown.h (nap): Likewise.
11564         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
11565         * tests/test-stat-time.c (nap): Likewise.
11566         * tests/test-utimens-common.h (nap): Update comments.
11567
11568         usleep: new module
11569         * modules/usleep: New file.
11570         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
11571         * lib/usleep.c (usleep): Likewise.
11572         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
11573         * modules/unistd (Makefile.am): Substitute witnesses.
11574         * lib/unistd.in.h (usleep): Add declaration.
11575         * doc/pastposix-functions/usleep.texi (usleep): Document this.
11576         * MODULES.html.sh (Date and time): Likewise.
11577         * modules/usleep-tests (Depends-on): New test.
11578         * tests/test-usleep.c: New file.
11579
11580         chown: work around OpenBSD bug
11581         * lib/chown.c (rpl_chown): Work around the bug.
11582         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
11583         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
11584         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
11585         * modules/chown (Depends-on): Add stdbool.
11586         * modules/lchown (Depends-on): Likewise.
11587         * doc/posix-functions/chown.texi (chown): Document the bug.
11588         * doc/posix-functions/lchown.texi (lchown): Likewise.
11589         * tests/test-lchown.h (test_chown): Relax test.
11590
11591         mkstemp: avoid conflict with C++ keyword template
11592         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
11593         * lib/mkostemp.c (mkostemp): Likewise.
11594         * lib/mkostemps.c (mkostemps): Likewise.
11595         * lib/mkstemp.c (mkstemp): Likewise.
11596         * lib/mkstemps.c (mkstemps): Likewise.
11597
11598         xalloc-die-tests: optimize
11599         * tests/test-xalloc-die.sh: Reduce number of processes.
11600
11601 2009-11-17  Simon Josefsson  <simon@josefsson.org>
11602
11603         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
11604         patch from ludo@gnu.org (Ludovic Courtès).
11605
11606 2009-11-17  Jim Meyering  <meyering@redhat.com>
11607
11608         version-etc: use proper license string
11609         * modules/version-etc (License): Use LGPL, not LGPLv3+.
11610         * modules/version-etc-fsf: Likewise.
11611
11612 2009-11-17  Simon Josefsson  <simon@josefsson.org>
11613
11614         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
11615         printed to stdout.  Deal with EOL differences.
11616
11617 2009-11-17  Eric Blake  <ebb9@byu.net>
11618
11619         unsetenv: work around Solaris bug
11620         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
11621         * lib/unsetenv.c (rpl_unsetenv): Work around it.
11622         Reported by Jim Meyering.
11623
11624         vasnprintf: avoid compiler warnings
11625         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
11626         variables.
11627         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
11628
11629 2009-11-17  Simon Josefsson  <simon@josefsson.org>
11630
11631         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
11632         settings since xalloc-die is no longer the self test,
11633         xalloc-die.sh is.
11634
11635 2009-11-17  Jim Meyering  <meyering@redhat.com>
11636
11637         test-xalloc-die.sh: make the code agree with the commit log
11638         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
11639         at the end, just in case you happen to have a test-xalloc-die
11640         program in some other PATH directory.
11641
11642         test-xalloc-die.sh: fix a portability bug
11643         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
11644         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
11645         Otherwise, argv[0] (as often seen in diagnostics) would be too
11646         system-dependent, sometimes with, and sometimes without the leading "./".
11647
11648         version-etc-fsf: relax license to LGPLv3+
11649         * modules/version-etc-fsf (License): Relax license.
11650
11651 2009-11-16  Eric Blake  <ebb9@byu.net>
11652
11653         xalloc-die-tests: avoid printing null pointer
11654         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
11655         shell script.
11656         * tests/test-xalloc-die.c (program_name): Declare.
11657         * tests/test-xalloc-die.sh (tmpfiles): New file.
11658
11659         setenv, unsetenv: work around various bugs
11660         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
11661         (setenv) [HAVE_SETENV]: Work around bugs.
11662         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
11663         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
11664         for bugs.
11665         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
11666         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
11667         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
11668         * modules/stdlib (Makefile.am): Update substitutions.
11669         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
11670         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
11671         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
11672         * modules/setenv-tests: New test.
11673         * modules/unsetenv-tests: Likewise.
11674         * tests/test-setenv.c: New file.
11675         * tests/test-unsetenv.c: Likewise.
11676
11677 2009-11-16  Jim Meyering  <meyering@redhat.com>
11678
11679         version-etc: relax license to LGPLv3+
11680         * modules/version-etc (License): Relax license.
11681
11682         better AC_REQUIRE expanded-before-required-warning avoidance
11683         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
11684         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
11685         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
11686         which is no longer needed.
11687
11688 2009-11-16  Eric Blake  <ebb9@byu.net>
11689
11690         test-freading: clean up temporary file
11691         * tests/test-freading.c (main): Remove file on success, and use
11692         ASSERT more liberally.
11693         Reported by Jim Meyering.
11694
11695 2009-11-16  Jim Meyering  <meyering@redhat.com>
11696
11697         avoid new AC_REQUIRE expanded-before-required warnings
11698         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
11699         merely using it.
11700         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
11701         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
11702
11703 2009-11-15  Simon Josefsson  <simon@josefsson.org>
11704
11705         * tests/test-xalloc-die.c: New file.
11706         * modules/xalloc-die-tests: New file.
11707         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
11708         XFAIL_TESTS so it can be appended by modules.
11709
11710 2009-11-15  Simon Josefsson  <simon@josefsson.org>
11711
11712         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
11713         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
11714
11715 2009-11-14  Eric Blake  <ebb9@byu.net>
11716
11717         fnmatch: avoid compiler warning
11718         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
11719         to silence compiler warning about mismatch signedness in ?:.
11720         Reported by Robert Millan.
11721
11722         intprops: add double-inclusion guard
11723         * lib/intprops.h: Allow idempotent includes.
11724         Suggested by Bruce Korb.
11725
11726         openat: detect Solaris fchownat bug
11727         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
11728         penalizing glibc chownat when only lchownat is broken.
11729         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
11730         trailing slash bugs.
11731         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
11732         * modules/openat-tests (Files): Include more files.
11733         (Depends-on): Add mgetgroups, sleep, stat-time.
11734         (configure.ac): Add additional checks.
11735         (Makefile.am): Build new test.
11736         * tests/test-fchownat.c: New file.
11737
11738         lchown: detect Solaris and FreeBSD bug
11739         * lib/lchown.c (rpl_lchown): Work around bug.
11740         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
11741         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
11742         * modules/unistd (Makefile.am): Populate it.
11743         * lib/unistd.in.h (lchown): Update declaration.
11744         * doc/posix-functions/lchown.texi (lchown): Document the bug.
11745         * modules/lchown-tests: New file.
11746         * tests/test-lchown.h (test_lchown): Likewise.
11747         * tests/test-lchown.c (main): Likewise.
11748
11749         chown: detect Solaris and FreeBSD bug
11750         * lib/chown.c (rpl_chown): Work around bug.
11751         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
11752         (gl_PREREQ_CHOWN): Delete.
11753         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
11754         * modules/unistd (Makefile.am): Populate it.
11755         * lib/unistd.in.h (chown): Update declaration.
11756         * lib/lchown.c (chown): Update client.
11757         * modules/lchown (Depends-on): Add lstat.
11758         * doc/posix-functions/chown.texi (chown): Document the bug.
11759         * doc/posix-functions/getgroups.texi (getgroups): Document
11760         getgroups pitfall.
11761         * modules/chown-tests: New file.
11762         * tests/test-chown.h (test_chown): Likewise.
11763         * tests/test-chown.c (main): Likewise.
11764
11765 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
11766
11767         gnulib-tool: correctly detect absence of m4 directories
11768         * gnulib-tool: Avoid extra newline on data passed to wc -l.
11769
11770 2009-11-14  Jim Meyering  <meyering@redhat.com>
11771
11772         maint.mk: Prohibit inclusion of "xalloc.h" without use.
11773         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
11774
11775 2009-11-14  John W. Eaton  <jwe@gnu.org>
11776
11777         strftime.h: wrap funtion declaration in extern "C" block
11778         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
11779
11780 2009-11-13  Eric Blake  <ebb9@byu.net>
11781
11782         getgroups: avoid compiler warning
11783         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
11784
11785         getgroups: work around FreeBSD bug
11786         * lib/getgroups.c (rpl_getgroups): Work around the bug.
11787         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
11788         * doc/posix-functions/getgroups.texi (getgroups): Document it.
11789         * tests/test-getgroups.c (main): Fix buffer overrun.
11790
11791         getgroups: avoid compilation failure
11792         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
11793         * modules/getgroups (Depends-on): Add stdint.
11794
11795 2009-11-13  Jim Meyering  <meyering@redhat.com>
11796
11797         test-getgroups: avoid compilation failure
11798         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
11799
11800 2009-11-13  Eric Blake  <ebb9@byu.net>
11801
11802         mgetgroups: new module, taken from coreutils
11803         * modules/mgetgroups: New file.
11804         * lib/mgetgroups.h: Likewise.
11805         * lib/mgetgroups.c (mgetgroups): Likewise.
11806         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
11807         * MODULES.html.sh (Users and groups): Mention it.
11808
11809         getgroups: don't expose GETGROUPS_T to user
11810         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
11811         an element at a time if GETGROUPS_T is wrong size.
11812         * lib/getugroups.h (getugroups): Change signature.
11813         * lib/unistd.in.h (getgroups): Likewise.
11814         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
11815         signature needs fixing.
11816         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
11817         AC_TYPE_GETGROUPS.
11818         * modules/group-member (Depends-on): Add getgroups.
11819         * lib/group-member.c (group_info, get_group_info): Use gid_t.
11820         (group_member): Rely on getgroups replacement.
11821         * lib/getugroups.c (getugroups): Use gid_t.
11822         * tests/test-getgroups.c (main): Likewise.
11823         * NEWS: Mention the signature change.
11824         * doc/posix-functions/getgroups.texi (getgroups): Mention the
11825         problem with signature.
11826         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
11827         GETGROUPS_T is still useful for setgroups.
11828
11829         getgroups, getugroups: provide stubs for mingw
11830         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
11831         * lib/getugroups.c (getugroups): Likewise.
11832         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
11833         function.  Modernize replacement scheme.
11834         (gl_PREREQ_GETGROUPS): Delete.
11835         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
11836         * modules/getgroups (configure.ac): Declare witness.
11837         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
11838         * modules/unistd (Depends-on): Substitute witness.
11839         * lib/unistd.in.h (getgroups): Declare replacement.
11840
11841         getgroups: avoid calling exit
11842         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
11843         drop xalloc.
11844         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
11845         dependencies.
11846         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
11847         exiting, in the rare case of malloc failure.
11848
11849         getgroups: fix logic error
11850         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
11851         has more than 20 groups.
11852         * modules/getgroups-tests: New test.
11853         * tests/test-getgroups.c: New file.
11854
11855 2009-11-13  Simon Josefsson  <simon@josefsson.org>
11856
11857         * tests/test-base64.c: Improve.
11858
11859 2009-11-13  Simon Josefsson  <simon@josefsson.org>
11860
11861         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
11862         Blake <ebb9@byu.net>.
11863
11864 2009-11-13  Simon Josefsson  <simon@josefsson.org>
11865
11866         * tests/test-xvasprintf.c: Add %s%s related checks.
11867
11868 2009-11-12  Eric Blake  <ebb9@byu.net>
11869
11870         version-etc: match standards.texi style
11871         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
11872         and use <> only for URLs.
11873
11874 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
11875
11876         fts: do not fail on a submount during traversal
11877         * lib/fts.c (fts_build): Read the stat info again after opening
11878         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
11879         Original report at http://bugzilla.redhat.com/501848.
11880
11881 2009-11-12  Jim Meyering  <meyering@redhat.com>
11882
11883         bootstrap: sync from coreutils
11884         * build-aux/bootstrap (bootstrap_epilogue): New function.
11885         Use git_modules_config in one more place.  This make bootstrap's
11886         --gnulib-srcdir option more useful for testing.
11887
11888         bootstrap: generalize autoheader check
11889         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
11890         AC_CONFIG_HEADERS.
11891
11892 2009-11-11  Eric Blake  <ebb9@byu.net>
11893
11894         mkfifoat: use new modules for Solaris and BSD bugs
11895         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
11896         * lib/mkfifoat.c (mknodat): Split...
11897         * lib/mknodat.c (mknodat): ...into new file.
11898         * modules/mkfifoat (Files): Ship new file.
11899         (Depends-on): Add mkfifo, mknod.
11900         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
11901         (Depends-on): Add symlink.
11902         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
11903         redundant with test_mkfifo.h.
11904         (do_mkfifoat, do_mknodat): New helpers.
11905
11906         mknod: new module
11907         * modules/mknod: New file.
11908         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
11909         * lib/mknod.c (mknod): Likewise.
11910         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
11911         defaults.
11912         * modules/sys_stat (Makefile.am): Substitute them.
11913         * lib/sys_stat.in.h (mknod): Declare replacement.
11914         * MODULES.html.sh (Support for systems lacking POSIX:2008):
11915         Document it.
11916         * doc/posix-functions/mknod.texi (mknod): Likewise.
11917         * modules/mknod-tests: New test.
11918         * tests/test-mknod.c: Likewise.
11919
11920         mkfifo: new module
11921         * modules/mkfifo: New file.
11922         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
11923         * lib/mkfifo.c (mkfifo): Likewise.
11924         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
11925         defaults.
11926         * modules/sys_stat (Makefile.am): Substitute them.
11927         * lib/sys_stat.in.h (mkfifo): Declare replacement.
11928         * MODULES.html.sh (Support for systems lacking POSIX:2008):
11929         Document it.
11930         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
11931         * modules/mkfifo-tests: New test.
11932         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
11933         from test-mkfifoat.c.
11934         * tests/test-mkfifo.c: New file.
11935
11936         readlink: detect FreeBSD bug
11937         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
11938         slash on symlink.
11939         * doc/posix-functions/readlink.texi (readlink): Document the bug.
11940         * tests/test-readlink.h (test_readlink): Enhance test.
11941
11942         symlink: detect FreeBSD bug
11943         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
11944         slash on symlink.
11945         * doc/posix-functions/symlink.texi (symlink): Document the bug.
11946         * tests/test-symlink.h (test_symlink): Enhance test.
11947
11948 2009-11-10  Eric Blake  <ebb9@byu.net>
11949
11950         link: detect FreeBSD bug
11951         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
11952         symlink.
11953         * doc/posix-functions/link.texi (link): Document the bug.
11954         * tests/test-link.h (test_link): Enhance test.
11955         * tests/test-linkat.c (main): Update caller.
11956
11957         unlink, remove: detect FreeBSD bug
11958         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
11959         slash on symlink.
11960         * doc/posix-functions/unlink.texi (unlink): Document the bug.
11961         * doc/posix-functions/remove.texi (remove): Likewise.
11962         * tests/test-unlink.h (test_unlink): Enhance test.
11963         * tests/test-remove.c (main): Likewise.
11964
11965 2009-11-09  Eric Blake  <ebb9@byu.net>
11966
11967         rename: detect FreeBSD bug
11968         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
11969         slash on symlink.
11970         * modules/renameat-tests (Depends-on): Add filenamecat.
11971         * tests/test-rename.h (test_rename): Allow one more errno.
11972         * tests/test-renameat.c (main): Likewise.
11973         * doc/posix-functions/rename.texi (rename): Document the bug.
11974
11975         open: detect FreeBSD bug
11976         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
11977         symlink.
11978         * doc/posix-functions/open.texi (open): Document the bug.
11979         * doc/posix-functions/utimes.texi (utimes): Likewise.
11980         * tests/test-open.h (test_open): Add parameters, and test symlink
11981         handling.
11982         * tests/test-open.c (main): Adjust caller.
11983         * tests/test-fcntl-safer.c (main): Likewise.
11984         * modules/open-tests (Depends-on): Add stdbool, symlink.
11985         * modules/fcntl-safer-tests (Depends-on): Likewise.
11986         * tests/test-openat.c (main): Add test-open tests.
11987
11988         stat: detect FreeBSD bug
11989         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
11990         symlink.
11991         * doc/posix-functions/stat.texi (stat): Document the bug.
11992         * tests/test-stat.h (test_stat_func): Add argument.
11993         * tests/test-stat.c (main): Adjust caller.
11994         * tests/test-fstatat.c (main): Likewise.
11995         * modules/stat-tests (Depends-on): Add stdbool, symlink.
11996         Reported by Jim Meyering.
11997
11998 2009-11-09  James Youngman  <jay@gnu.org>
11999
12000         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
12001         * lib/strftime.c: Correct placement of #include "ignore-value.h".
12002
12003 2009-11-08  Jim Meyering  <meyering@redhat.com>
12004
12005         utimens: remove invalid futimesat call
12006         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
12007         It used the file descriptor of the target file as the DIR_FD
12008         parameter and NULL as the file name.  That caused failure with
12009         errno == EFAULT on FreeBSD-8.0-rc2
12010
12011 2009-11-07  Eric Blake  <ebb9@byu.net>
12012
12013         fflush, freadseek: use fseeko, not fseek
12014         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
12015         (clear_ungetc_buffer): Avoid potential problems on large files.
12016         * lib/freadseek.c (freadseek): Likewise.
12017         * modules/freadseek (Depends-on): Add fseeko.
12018         * modules/fseek (configure.ac): Set a witness.
12019         * tests/test-fflush.c (main): Use fseeko.
12020         * tests/test-fpurge.c (fseek): Disable link warning.
12021         * tests/test-freadable.c (fseek): Likewise.
12022         * tests/test-freading.c (fseek): Likewise.
12023         * tests/test-fseeko.c (fseek): Likewise.
12024         * tests/test-ftell.c (fseek): Likewise.
12025         * tests/test-ftello.c (fseek): Likewise.
12026         * tests/test-fwritable.c (fseek): Likewise.
12027         * tests/test-fwriting.c (fseek): Likewise.
12028
12029 2009-11-06  Simon Josefsson  <simon@josefsson.org>
12030
12031         * modules/memchr (Depends-on): Drop getpagesize dependency.
12032
12033 2009-11-06  Simon Josefsson  <simon@josefsson.org>
12034
12035         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
12036         Reported by Ludovic Courtès.
12037         * build-aux/pmccabe2html: Improve example usage.
12038         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
12039
12040 2009-11-06  Jim Meyering  <meyering@redhat.com>
12041
12042         do-release-commit-and-tag: New module.
12043         Automate the release-commit and tag process.
12044         * build-aux/do-release-commit-and-tag: New script, from coreutils.
12045         * modules/do-release-commit-and-tag: New file.
12046         * MODULES.html.sh (Support for maintaining and releasing): Add it.
12047
12048 2009-11-06  Simon Josefsson  <simon@josefsson.org>
12049
12050         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
12051         because test-select.c uses inet_pton.
12052
12053 2009-11-06  Simon Josefsson  <simon@josefsson.org>
12054
12055         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
12056         GETADDRINFO_LIB.  Bump serial number.
12057         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
12058         Suggested by Eric Blake <ebb9@byu.net>.
12059
12060 2009-11-05  Eric Blake  <ebb9@byu.net>
12061
12062         strtod: detect darwin bug
12063         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
12064         Reported by Leo Davis.
12065
12066         freopen-safer: new module
12067         * modules/freopen-safer: New module.
12068         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
12069         * lib/freopen-safer.c (freopen_safer): New file.
12070         * lib/stdio-safer.h (freopen_safer): New declaration.
12071         * lib/stdio--.h (freopen): New override.
12072         * MODULES.html.sh (File stream based Input/Output): Mention it.
12073         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
12074         freopen-safer module.
12075         * doc/posix-functions/stderr.texi (stderr): Likewise.
12076         * doc/posix-functions/stdin.texi (stdin): Likewise.
12077         * doc/posix-functions/stdout.texi (stdout): Likewise.
12078         * modules/freopen-safer-tests: New test.
12079         * tests/test-reopen-safer.c: New file.
12080
12081 2009-11-05  Jim Meyering  <meyering@redhat.com>
12082
12083         maint.mk: Prohibit inclusion of "close-stream.h" without use.
12084         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
12085
12086 2009-11-05  Simon Josefsson  <simon@josefsson.org>
12087
12088         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
12089
12090 2009-11-05  Simon Josefsson  <simon@josefsson.org>
12091
12092         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
12093
12094 2009-11-05  Simon Josefsson  <simon@josefsson.org>
12095
12096         Fix link error.
12097         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
12098         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
12099
12100 2009-11-05  Simon Josefsson  <simon@josefsson.org>
12101
12102         * tests/test-func.c: Also test value of __func__.
12103
12104 2009-11-05  Simon Josefsson  <simon@josefsson.org>
12105
12106         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
12107         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
12108
12109 2009-11-05  Bruno Haible  <bruno@clisp.org>
12110
12111         Fix link error.
12112         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
12113         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
12114         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
12115
12116 2009-11-05  Bruno Haible  <bruno@clisp.org>
12117
12118         Tests for module 'inet_pton'.
12119         * modules/inet_pton-tests: New file.
12120         * tests/test-inet_pton.c: New file.
12121
12122 2009-11-05  Bruno Haible  <bruno@clisp.org>
12123
12124         Tests for module 'inet_ntop'.
12125         * modules/inet_ntop-tests: New file.
12126         * tests/test-inet_ntop.c: New file.
12127
12128 2009-11-04  Eric Blake  <ebb9@byu.net>
12129
12130         stdlib-safer: wrap all mkstemp variants
12131         * modules/mkostemp (configure.ac): Set witness.
12132         * modules/mkostemps (configure.ac): Likewise.
12133         * modules/mkstemps (configure.ac): Likewise.
12134         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
12135         (mkstemps_safer): Wrap more functions.
12136         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
12137         wrapping.
12138         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
12139         (mkstemps_safer): Implement the wrappers.
12140
12141         mkstemps, mkostemps: new modules
12142         * modules/mkostemps: New module.
12143         * modules/mkstemps: Likewise.
12144         * lib/mkostemps.c (mkostemps): New file.
12145         * lib/mkstemps.c (mkstemps): Likewise.
12146         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
12147         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
12148         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
12149         * modules/stdlib (Makefile.am): Substitute them.
12150         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
12151         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
12152         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
12153         * doc/gnulib.texi (Glibc stdlib.h): Include them.
12154         * MODULES.html.sh (File system functions): Mention them.
12155
12156         tempname: resync from glibc
12157         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
12158         same values for __GT_FILE as glibc.  Abort even when assertions
12159         are disabled.
12160         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
12161         match its value otherwise.  Allow idempotent inclusion.
12162         * lib/mkdtemp.c (mkdtemp): Adjust caller.
12163         * lib/mkostemp.c (mkostemp): Likewise.
12164         * lib/mkstemp.c (mkstemp): Likewise.
12165         * lib/tmpfile.c (tmpfile): Likewise.
12166         * NEWS: Document this.
12167
12168         utimens: fix use of futimens on older Linux
12169         * lib/utimens.c (fdutimens): Use updated, rather than original,
12170         timespec to avoid bug in older Linux kernel.
12171         Reported by Simon Josefsson.
12172
12173 2009-11-04  Bruno Haible  <bruno@clisp.org>
12174
12175         Make num_processors more flexible and consistent.
12176         * lib/nproc.h (enum nproc_query): New type.
12177         (num_processors): Add a 'query' argument.
12178         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
12179         (num_processors): Add a 'query' argument. Test the value of the
12180         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
12181         mingw, count the number of CPUs available for the current process.
12182         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
12183         Check for sched_getaffinity and sched_getaffinity_np.
12184         * modules/nproc (Depends-on): Add c-ctype, extensions.
12185         * NEWS: Mention the change.
12186
12187 2009-11-03  Bruno Haible  <bruno@clisp.org>
12188
12189         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
12190
12191 2009-11-03  Jim Meyering  <meyering@redhat.com>
12192
12193         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
12194         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
12195         if it is defined.
12196
12197 2009-11-02  Eric Blake  <ebb9@byu.net>
12198
12199         mktime, timegm: share common declaration
12200         * lib/mktime-internal.h: New file.
12201         * lib/mktime.c: Use it rather than open-coding a declaration.
12202         * lib/timegm.c: Likewise.
12203         * modules/mktime (Files): Ship it.
12204         * modules/timegm (Files): Likewise.
12205         Suggested by Bruno Haible.
12206
12207         test-update-copyright: update test to match script changes
12208         * tests/test-update-copyright.sh: Avoid hard-coding perl
12209         location.  Don't update *.bak created by earlier runs.
12210
12211 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
12212             Simon Josefsson  <simon@josefsson.org>
12213             Bruno Haible  <bruno@clisp.org>
12214
12215         Fix link error on Solaris 8.
12216         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
12217         also in libnsl. Define also INET_PTON_LIB.
12218         * modules/inet_pton (Link): New section.
12219
12220 2009-11-02  Simon Josefsson  <simon@josefsson.org>
12221             Bruno Haible  <bruno@clisp.org>
12222
12223         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
12224         * modules/inet_ntop (Link): New section.
12225         Reported by Boyan Kasarov <bkasarov@gmail.com>.
12226
12227 2009-11-02  Eric Blake  <ebb9@byu.net>
12228
12229         maint: avoid compiler warnings in m4 macros
12230         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
12231         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
12232
12233 2009-11-02  Simon Josefsson  <simon@josefsson.org>
12234
12235         * m4/pmccabe2html.m4: Remove file.
12236         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
12237         function.  Change maintainer.
12238         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
12239         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
12240         Courtès).
12241
12242 2009-10-31  Eric Blake  <ebb9@byu.net>
12243
12244         fseeko: fix m4 regression
12245         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
12246         regression from 2009-10-27.
12247         Reported by Ralf Wildenhues.
12248
12249 2009-10-31  Jim Meyering  <meyering@redhat.com>
12250
12251         inttostr: aesthetics and improved (compile-time) safety
12252         Define inttype_is_signed rather than inttype_is_unsigned,
12253         since the sole use is via "#if inttype_is_signed".
12254         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
12255         inttype_is_unsigned.
12256         * lib/offtostr.c (inttype_is_signed): Likewise.
12257         * lib/uinttostr.c (inttype_is_signed): Likewise.
12258         * lib/umaxtostr.c (inttype_is_signed): Likewise.
12259         * lib/inttostr.c (inttostr): Use verify to cross-check the
12260         inttype_is_signed value and the signedness of the actual type.
12261         * modules/inttostr (Depends-on): Add verify.
12262
12263 2009-10-30  Eric Blake  <ebb9@byu.net>
12264
12265         build: avoid compiler warnings
12266         * lib/fchmodat.c (lchmod): Mark unused variables.
12267         * lib/getopt.c (_getopt_initialize): Likewise.
12268         * lib/mktime.c (__mktime_internal): Provide prototype.
12269         * lib/inttostr.c (inttostr): Avoid compiler warning even with
12270         older gcc that do not understand #pragma GCC diagnostic.
12271         * lib/uinttostr.c (inttype_is_unsigned): Define.
12272         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
12273
12274 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
12275
12276         stat: fix compilation on AIX
12277         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
12278         only see struct stat64.
12279
12280 2009-10-30  Eric Blake  <ebb9@byu.net>
12281
12282         exclude: make more robust
12283         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
12284         rather than masking a coding bug.
12285         Suggested by Bruno Haible.
12286
12287 2009-10-30  Jim Meyering  <meyering@redhat.com>
12288
12289         perl scripts: remove #!/usr/bin/perl in favor of more portable...
12290         Rather than putting #!/usr/bin/perl on the first line,
12291         start with a variant of what's recommended by "man perlrun" that
12292         invokes the first "perl" program from your shell's search path.
12293         * build-aux/gitlog-to-changelog: Replace #!... as above.
12294         Add a "Local Variables" perl mode setting.
12295         Prompted by a patch from Ludovic Courtès.
12296         Improved by Eric Blake.
12297         * build-aux/useless-if-before-free: Likewise.
12298         * build-aux/announce-gen: Likewise.
12299         * build-aux/update-copyright: Likewise.
12300
12301 2009-10-29  Eric Blake  <ebb9@byu.net>
12302
12303         filenamecat-lgpl: adjust clients
12304         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
12305         filenamecat.
12306         * modules/renameat (Depends-on): Likewise.
12307
12308         filenamecat: split into filenamecat-lgpl
12309         * modules/filenamecat-lgpl: New module.
12310         * modules/filenamecat (Files): Move library-safe files into
12311         filenamecat-lgpl.
12312         (Depends-on): Add filenamecat-lgpl.
12313         (configure.ac): Declare witness.
12314         * lib/filenamecat.h (file_name_concat): Only declare when using
12315         GPL module.
12316         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
12317         Move...
12318         * lib/filenamecat-lgpl.c: ...into new file.
12319         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
12320         (gl_FILE_NAME_CONCAT): Use it.
12321         * MODULES.html.sh (File system functions): Mention new module.
12322
12323         argp: avoid memory leak
12324         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
12325         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
12326         base_name, since the latter malloc()s and can call exit().
12327         Leak introduced 2006-07-03.
12328
12329         dirname-lgpl: adjust clients that don't need full dirname
12330         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
12331         * modules/filenamecat (Depends-on): Likewise.
12332         * modules/linkat (Depends-on): Likewise.
12333         * modules/mkancesdirs (Depends-on): Likewise.
12334         * modules/mkdir (Depends-on): Likewise.
12335         * modules/openat (Depends-on): Likewise.
12336         * modules/savewd (Depends-on): Likewise.
12337         * modules/rename (Depends-on): Likewise.
12338         (License): Relax license.
12339         * modules/mkdir-tests (Depends-on): Drop progname.
12340         (Makefile.am): Delete unneeded LDADD.
12341         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
12342
12343         dirname: split into dirname-lgpl
12344         * modules/dirname-lgpl: New module.
12345         * modules/dirname (Files): Move library-safe files into
12346         dirname-lgpl.
12347         (Depends-on): Add dirname-lgpl.
12348         (configure.ac): Declare witness.
12349         * modules/double-slash-root (License): Relax license.
12350         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
12351         module.
12352         * lib/dirname.c (dir_len, mdir_name): Move...
12353         * lib/dirname-lgpl.c: ...into new file.
12354         * lib/basename.c (last_component, base_len): Move...
12355         * lib/basename-lgpl.c: ...into new file.
12356         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
12357         (gl_DIRNAME): Use it.
12358         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
12359         Mention new module.
12360         * modules/dirname-tests (Depends-on): Add progname.
12361         * tests/test-dirname.c (program_name): Delete.
12362
12363         mkdir: make safe for libraries
12364         * modules/mkdir (Depends-on): Drop xalloc.
12365         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
12366         exit.
12367
12368         tests: avoid some compiler warnings
12369         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
12370         literals.
12371         * tests/test-memchr.c (main): Avoid type mismatch.
12372         * tests/test-arpa_inet.c (main): Avoid unused parameters.
12373         * tests/test-base64.c (main): Likewise.
12374         * tests/test-getdelim.c (main): Likewise.
12375         * tests/test-gethostname.c (main): Likewise.
12376         * tests/test-getline.c (main): Likewise.
12377         * tests/test-netinet_in.c (main): Likewise.
12378         * tests/test-select.c (open_server_socket, main): Likewise.
12379         * tests/test-select-stdin.c (main): Likewise.
12380         * tests/test-sockets.c (main): Likewise.
12381         * tests/test-strsignal.c (main): Likewise.
12382         * tests/test-sys_select.c (main): Likewise.
12383         * tests/test-sys_socket.c (main): Likewise.
12384         * tests/test-u64.c (main): Likewise.
12385         * tests/test-xfprintf-posix.c (main): Likewise.
12386         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
12387
12388         sockets: avoid compiler warning
12389         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
12390
12391         maint: detect usage(1) and other suspicious exits
12392         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
12393
12394 2009-10-29  Jim Meyering  <meyering@redhat.com>
12395
12396         timespec: long-to-int truncation could make timespec_cmp malfunction
12397         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
12398         a multiple of 2^32 nanoseconds as no difference.
12399
12400 2009-10-28  Jim Meyering  <meyering@redhat.com>
12401
12402         fprintftime: wrap macro code argument in "do {...} while(0)"
12403         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
12404         cpy macro must be a statement that can be followed by a semicolon.
12405         Now that the else clause contains a comment and is hence longer
12406         than one line, I require curly braces.  That in turn requires
12407         that we wrap this code block in the standard do...while(0).
12408
12409         fprintftime: remove stray semicolon from previous change
12410         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
12411
12412         fprintftime: avoid a warning about ignored fwrite return value
12413         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
12414         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
12415         that is unsafe.
12416         * modules/fprintftime (Depends-on): Add ignore-value.
12417
12418         exclude: avoid an unwarranted warning
12419         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
12420
12421 2009-10-27  Eric Blake  <ebb9@byu.net>
12422
12423         fseek: avoid compilation failure when fflush is replaced
12424         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
12425         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
12426         module is in use.
12427         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
12428         module is not in use; since REPLACE_FSEEK worked otherwise.
12429         (GNULIB_FTELLO): Likewise for ftell.
12430         Reported by Ian Beckwith and others.
12431
12432 2009-10-27  Bruno Haible  <bruno@clisp.org>
12433
12434         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
12435         Reported by Jim Meyering.
12436
12437 2009-10-27  Jim Meyering  <jim@meyering.net>
12438             Bruno Haible  <bruno@clisp.org>
12439
12440         Avoid warning despite dropping the return value of fwrite.
12441         * lib/unicodeio.c: Include ignore-value.h.
12442         (fwrite_success_callback): Explicitly ignore fwrite's return value.
12443         * modules/unicodeio (Depends-on): Add ignore-value.
12444
12445 2009-10-26  Eric Blake  <ebb9@byu.net>
12446
12447         areadlinkat: fix fallback path
12448         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
12449         pointer and zero.
12450
12451 2009-10-22  Pádraig Brady  <P@draigBrady.com>
12452
12453         Use a better IO block size for modern systems
12454         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
12455         * lib/md2.c: Likewise.
12456         * lib/md4.c: Likewise.
12457         * lib/md5.c: Likewise.
12458         * lib/sha1.c: Likewise.
12459         * lib/sha256.c: Likewise.
12460         * lib/sha512.c: Likewise.
12461
12462 2009-10-22  Eric Blake  <ebb9@byu.net>
12463
12464         tests: avoid several compiler warnings
12465         * tests/test-getcwd.c (main): Avoid buffer underflow.
12466         * tests/test-getdate.c (main): String literals are not safe with
12467         putenv, so use setenv.  Declare unused argument.
12468         * modules/getdate-tests (Depends-on): Add setenv.
12469         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
12470         problems with string literals in char *.
12471         * tests/test-hash.c (main): Avoid shadowing declaration.
12472         (insert_new): Treat string literals as char const *.
12473         * tests/test-getopt.h (test_getopt): Likewise.
12474         (getopt_loop): Alter types to minimize casting elsewhere.
12475         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
12476         (test_getopt_long_posix): Likewise.
12477         (do_getopt_long): Add wrapper to minimize casting.
12478         * tests/test-atexit.c (clear_temp_file): Use void.
12479         * tests/test-areadlink-with-size.c (main): Declare unused
12480         arguments.
12481         * tests/test-areadlink.c (main): Likewise.
12482         * tests/test-areadlinkat-with-size.c (main): Likewise.
12483         * tests/test-areadlinkat.c (main): Likewise.
12484         * tests/test-canonicalize-lgpl.c (main): Likewise.
12485         * tests/test-canonicalize.c (main): Likewise.
12486         * tests/test-dirent-safer.c (main): Likewise.
12487         * tests/test-dirname.c (main): Likewise.
12488         * tests/test-dup2.c (main): Likewise.
12489         * tests/test-fchdir.c (main): Likewise.
12490         * tests/test-fcntl-h.c (main): Likewise.
12491         * tests/test-fcntl-safer.c (main): Likewise.
12492         * tests/test-fdopendir.c (main): Likewise.
12493         * tests/test-fdutimensat.c (main): Likewise.
12494         * tests/test-fflush.c (main): Likewise.
12495         * tests/test-filenamecat.c (main): Likewise.
12496         * tests/test-filevercmp.c (main): Likewise.
12497         * tests/test-fopen-safer.c (main): Likewise.
12498         * tests/test-fopen.c (main): Likewise.
12499         * tests/test-fpending.c (main): Likewise.
12500         * tests/test-fpurge.c (main): Likewise.
12501         * tests/test-freading.c (main): Likewise.
12502         * tests/test-fstatat.c (main): Likewise.
12503         * tests/test-fsync.c (main): Likewise.
12504         * tests/test-futimens.c (main): Likewise.
12505         * tests/test-getndelim2.c (main): Likewise.
12506         * tests/test-gettimeofday.c (main): Likewise.
12507         * tests/test-getopt.c (main): Likewise.
12508         * tests/test-i-ring.c (main): Likewise.
12509         * tests/test-inttypes.c (main): Likewise.
12510         * tests/test-link.c (main): Likewise.
12511         * tests/test-lstat.c (main): Likewise.
12512         * tests/test-math.c (main): Likewise.
12513         * tests/test-md5.c (main): Likewise.
12514         * tests/test-memchr2.c (main): Likewise.
12515         * tests/test-memrchr.c (main): Likewise.
12516         * tests/test-mkdir.c (main): Likewise.
12517         * tests/test-mkdirat.c (main): Likewise.
12518         * tests/test-mkfifoat.c (main): Likewise.
12519         * tests/test-open.c (main): Likewise.
12520         * tests/test-openat-safer.c (main): Likewise.
12521         * tests/test-openat.c (main): Likewise.
12522         * tests/test-quotearg.c (main): Likewise.
12523         * tests/test-rawmemchr.c (main): Likewise.
12524         * tests/test-readlink.c (main): Likewise.
12525         * tests/test-remove.c (main): Likewise.
12526         * tests/test-rename.c (main): Likewise.
12527         * tests/test-renameat.c (main): Likewise.
12528         * tests/test-rmdir.c (main): Likewise.
12529         * tests/test-sha1.c (main): Likewise.
12530         * tests/test-signal.c (main): Likewise.
12531         * tests/test-sigaction.c (main): Likewise.
12532         * tests/test-stat.c (main): Likewise.
12533         * tests/test-stat-time.c (main): Likewise.
12534         * tests/test-stddef.c (main): Likewise.
12535         * tests/test-stdint.c (main): Likewise.
12536         * tests/test-stdio.c (main): Likewise.
12537         * tests/test-stdlib.c (main): Likewise.
12538         * tests/test-strchrnul.c (main): Likewise.
12539         * tests/test-strerror.c (main): Likewise.
12540         * tests/test-string.c (main): Likewise.
12541         * tests/test-strtod.c (main): Likewise.
12542         * tests/test-strverscmp.c (main): Likewise.
12543         * tests/test-symlink.c (main): Likewise.
12544         * tests/test-symlinkat.c (main): Likewise.
12545         * tests/test-sys_stat.c (main): Likewise.
12546         * tests/test-sys_time.c (main): Likewise.
12547         * tests/test-time.c (main): Likewise.
12548         * tests/test-unistd.c (main): Likewise.
12549         * tests/test-unlink.c (main): Likewise.
12550         * tests/test-unlinkat.c (main): Likewise.
12551         * tests/test-utimens.c (main): Likewise.
12552         * tests/test-utimensat.c (main): Likewise.
12553         * tests/test-version-etc.c (main): Likewise.
12554         * tests/test-wchar.c (main): Likewise.
12555         * tests/test-wctype.c (main): Likewise.
12556         * tests/test-xprintf-posix.c (main): Likewise.
12557         * tests/test-posixtm.c (main): Likewise.
12558         (STREQ): Delete unused macro.
12559         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
12560         shadowed variables.
12561         * tests/test-memchr.c (main): Likewise.
12562
12563 2009-10-21  Eric Blake  <ebb9@byu.net>
12564
12565         areadlinkat: avoid failure on older glibc
12566         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
12567         rather than mis-comparing 0 against FUNC_RESULT of char*.
12568
12569 2009-10-21  Bruno Haible  <bruno@clisp.org>
12570
12571         * modules/stpncpy (License): Relicense under LGPLv2+.
12572         Reported by David Lutterkort <lutter@redhat.com>.
12573
12574 2009-10-20  Eric Blake  <ebb9@byu.net>
12575
12576         utimensat: work around Solaris 9 bug
12577         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
12578         has trailing slash bugs.
12579         * tests/test-lutimens.h (test_lutimens): Enhance test.
12580         * tests/test-utimens.h (test_utimens): Likewise.
12581         * doc/posix-functions/utime.texi (utime): Enhance documentation.
12582         * doc/posix-functions/utimes.texi (utimes): Likewise.
12583         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
12584         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
12585         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
12586         * doc/posix-functions/futimens.texi (futimens): Likewise.
12587
12588         fdutimensat: new module
12589         * modules/fdutimensat: New file.
12590         * lib/fdutimensat.c (fdutimensat): Likewise.
12591         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
12592         * MODULES.html.sh (File system functions): Mention module.
12593         * modules/fdutimensat-tests: New test.
12594         * tests/test-fdutimensat.c: Likewise.
12595
12596         doc: regenerate INSTALL
12597         * doc/INSTALL: Reflect recent autoconf update.
12598         * doc/INSTALL.ISO: Likewise.
12599         * doc/INSTALL.UTF-8: Likewise.
12600
12601 2009-10-20  Pádraig Brady  <P@draigBrady.com>
12602
12603         acl: warn if ACL support is not detected
12604         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
12605
12606 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
12607
12608         * lib/nproc.h: Add extern "C" block for C++.
12609
12610 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
12611             Bruno Haible  <bruno@clisp.org>
12612
12613         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
12614         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
12615         * doc/posix-functions/isalpha.texi: Likewise.
12616         * doc/posix-functions/isblank.texi: Likewise.
12617         * doc/posix-functions/iscntrl.texi: Likewise.
12618         * doc/posix-functions/isdigit.texi: Likewise.
12619         * doc/posix-functions/isgraph.texi: Likewise.
12620         * doc/posix-functions/islower.texi: Likewise.
12621         * doc/posix-functions/isprint.texi: Likewise.
12622         * doc/posix-functions/ispunct.texi: Likewise.
12623         * doc/posix-functions/isspace.texi: Likewise.
12624         * doc/posix-functions/isupper.texi: Likewise.
12625         * doc/posix-functions/isxdigit.texi: Likewise.
12626
12627 2009-10-18  Bruno Haible  <bruno@clisp.org>
12628
12629         Tests for module 'isblank'.
12630         * modules/isblank-tests: New file.
12631         * tests/test-isblank.c: New file.
12632
12633         New module 'isblank'.
12634         * lib/isblank.c: New file.
12635         * m4/isblank.m4: New file.
12636         * modules/isblank: New file.
12637         * doc/posix-functions/isblank.texi: Mention the new module.
12638
12639 2009-10-18  Bruno Haible  <bruno@clisp.org>
12640
12641         New module 'ctype'.
12642         * lib/ctype.in.h: New file.
12643         * m4/ctype.m4: New file.
12644         * modules/ctype: New file.
12645         * doc/posix-headers/ctype.texi: Mention the new module.
12646
12647 2009-10-18  Jim Meyering  <meyering@redhat.com>
12648
12649         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
12650         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
12651         right after its initialization, rather than farther down.
12652         Keeping these in close proximity makes it easier to ensure
12653         that each such variable is initialized.  E.g.,
12654
12655             LIB_CLOCK_GETTIME=
12656             AC_SUBST([LIB_CLOCK_GETTIME])
12657
12658         This change also increments these serial numbers.
12659         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
12660         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
12661         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
12662
12663 2009-10-18  Bruno Haible  <bruno@clisp.org>
12664
12665         Don't let environment variables perturb build.
12666         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
12667         (gl_PREREQ_GETHRXTIME): ... not here.
12668
12669 2009-10-18  Bruno Haible  <bruno@clisp.org>
12670
12671         Avoid symlink attack in localcharset module.
12672         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
12673         (O_NOFOLLOW): Define fallback.
12674         (get_charset_aliases): Don't open the file if it is a symbolic link.
12675         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
12676         gl_FCNTL_H.
12677         (gl_FCNTL_H): Require it.
12678         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
12679         * modules/localcharset (Files): Add m4/fcntl_h.m4.
12680         Reported by Fergal Glynn <fglynn@veracode.com>.
12681
12682 2009-10-18  Bruno Haible  <bruno@clisp.org>
12683
12684         Implement nproc for mingw.
12685         * lib/nproc.c: Include <windows.h>
12686         (num_processors): On native Windows platforms, try GetSystemInfo.
12687
12688 2009-10-18  Bruno Haible  <bruno@clisp.org>
12689
12690         Implement nproc for IRIX.
12691         * lib/nproc.c: Include <sys/sysmp.h>.
12692         (num_processors): On IRIX systems, try sysmp.
12693         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
12694
12695 2009-10-18  Bruno Haible  <bruno@clisp.org>
12696
12697         Implement nproc for HP-UX.
12698         * lib/nproc.c: Include <sys/pstat.h>
12699         (num_processors): On HP-UX systems, try pstat_getdynamic.
12700         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
12701         pstat_getdynamic.
12702
12703 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
12704             Bruno Haible  <bruno@clisp.org>
12705
12706         Implement nproc for NetBSD, OpenBSD.
12707         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
12708         (ARRAY_SIZE): New macro.
12709         (num_processors): On BSD systems, try sysctl of HW_NCPU.
12710         * m4/nproc.m4: New file.
12711         * modules/nproc (Files): Add m4/nproc.m4.
12712         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
12713         (Makefile.am): Instead, augment lib_SOURCES.
12714
12715 2009-10-18  Bruno Haible  <bruno@clisp.org>
12716
12717         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
12718         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
12719         sys/param.h.
12720
12721 2009-10-16  Eric Blake  <ebb9@byu.net>
12722
12723         utimensat: new module
12724         * modules/utimensat: New file.
12725         * lib/utimensat.c (utimensat): Likewise.
12726         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
12727         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
12728         so we can work around Linux bugs.
12729         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
12730         * modules/sys_stat (Makefile.am): Substitute them.
12731         * lib/sys_stat.in.h (utimensat): Declare it.
12732         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
12733         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
12734         * modules/utimensat-tests: New test.
12735         * tests/test-utimensat.c: Likewise.
12736
12737         utimens: let lutimens work on non-symlinks
12738         * lib/utimens.c (lutimens): Fall back to utimens rather than
12739         failing with ENOSYS, when file is not a symlink.
12740         (utimens): Reduce redirection.
12741         * tests/test-lutimens.h (test_lutimens): Update test to cover
12742         non-symlinks.
12743         * tests/test-utimens.h (test_utimens): Update test to cover
12744         symlinks.
12745         * tests/test-utimens.c (main): Update caller.
12746
12747         utimens: cache whether utimensat syscall works
12748         * lib/utimens.c (utimensat_works_really): New cache variable.
12749         (fdutimens, lutimens): Use it to avoid failing syscall.
12750
12751         test-stat-time, test-utimens: improve portability
12752         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
12753         ext4 on alpha, and for cygwin.
12754         * tests/test-utimens-common.h: New file.
12755         (nap): Factor delays into single function.
12756         * tests/test-lutimens.h (test_lutimens): Use new header.
12757         * tests/test-futimens.h (test_futimens): Likewise.
12758         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
12759         timestamps to occur from same machine, as was done previously for
12760         test_utimens.
12761         * modules/utimens-tests (Files): Ship new file.
12762         * modules/futimens-tests (Files): Likewise.
12763         Reported in part by Jim Meyering.
12764
12765         sys_stat: sort replacement declarations
12766         * lib/sys_stat.in.h: Sort declarations.
12767         * lib/futimens.c (futimens): Fix typo.
12768
12769 2009-10-15  Jim Meyering  <meyering@redhat.com>
12770
12771         don't let environment settings perturb build
12772         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
12773         could cause a configure-time and/or build-time malfunction.
12774         Typically, a configure-time function-in-library test is performed
12775         via code like this:
12776
12777           LIB_VAR=
12778           AC_SUBST([LIB_VAR])
12779           prefix_saved_LIBS=$LIBS
12780             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
12781                        [test "$ac_cv_search_FUNC" = "none required" ||
12782                         LIB_VAR=$ac_cv_search_FUNC])
12783           LIBS=$prefix_saved_LIBS
12784
12785         However, in each of the files affected by this change, the LIB_VAR=
12786         initialization was omitted.  Thus, when set in the environment, its
12787         value would propagate into generated Makefiles when FUNC is not found
12788         in LIB_NAME.
12789         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
12790         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
12791         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
12792
12793 2009-10-14  Eric Blake  <ebb9@byu.net>
12794
12795         fchdir: avoid infinite recursion in mingw
12796         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
12797         recursing.
12798
12799         test-stat-time: port to mingw
12800         * tests/test-stat-time.c (force_unlink): Return a value.
12801         (test_ctime) [W32]: Fix compilation error.
12802         (nap): Don't call usleep with too large an argument.  Use
12803         force_unlink.
12804         * doc/pastposix-functions/usleep.texi (usleep): Document the
12805         portability issue.
12806
12807 2009-10-13  Jim Meyering  <meyering@redhat.com>
12808
12809         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
12810         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
12811         * modules/pipe-filter-ii: Likewise.
12812         * modules/sys_socket-tests: Likewise.
12813         * modules/tsearch-tests: Likewise.
12814         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
12815         (check): Depend on it.
12816
12817 2009-10-12  Eric Blake  <ebb9@byu.net>
12818
12819         utimens-tests: port to NFS file systems
12820         * tests/test-utimens.h (test_utimens): Refactor utimecmp
12821         comparisons to avoid spurious failures from timestamp drift
12822         between NFS machines.
12823
12824 2009-10-12  Eric Blake  <ebb9@byu.net>
12825
12826         stat-time-tests: minor cleanups
12827         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
12828         * tests/test-stat-time.c (nap): Separate assignment from call.
12829         Suggested by Paolo Bonzini and Bruno Haible.
12830
12831         sys_stat: guarantee struct timespec
12832         * lib/sys_stat.in.h (includes): Always include <time.h>
12833         * modules/sys_stat (Depends-on): Add time.
12834         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
12835         mode_t permission values.
12836         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
12837         get at subsecond timestamps.
12838
12839 2009-10-10  Eric Blake  <ebb9@byu.net>
12840
12841         futimens: new module
12842         * modules/futimens: New file.
12843         * lib/futimens.c (futimens): Likewise.
12844         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
12845         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
12846         we can work around Linux bugs.
12847         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
12848         * modules/sys_stat (Makefile.am): Substitute them.
12849         * lib/sys_stat.in.h (futimens): Declare it.
12850         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
12851         * doc/posix-functions/futimens.texi (futimens): Likewise.
12852         * modules/futimens-tests: New test.
12853         * tests/test-futimens.c: Likewise.
12854
12855         utimens: introduce fdutimens
12856         * lib/utimens.h (fdutimens): New prototype.
12857         * lib/utimens.c (gl_futimens): Move guts...
12858         (fdutimens): ...to new interface.
12859         * tests/test-utimens.c (do_fdutimens): Use it.
12860
12861         utimens: add UTIME_NOW and UTIME_OMIT support
12862         * lib/utimens.c (validate_timespec, update_timespec): New helper
12863         functions.
12864         (gl_futimens, lutimens): Use them.
12865         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
12866         stdbool, sys_stat.
12867         (Link): Mention resulting library dependency.
12868         * modules/utimecmp (Link): Likewise.
12869         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
12870         (Makefile.am): Pick up library dependency.
12871         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
12872         definition.
12873         * tests/test-sys_stat.c: Test the definitions.
12874         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
12875         * NEWS: Document library dependency.
12876
12877         utimecmp: support symlink timestamps
12878         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
12879         hashing when possible.  Use pathconf when available.
12880         (SYSCALL_RESOLUTION): Recognize tighter resolution.
12881         * modules/utimecmp (Depends-on): Add lstat.
12882
12883         utimens: add lutimens interface
12884         * lib/utimens.c (lutimens): New function.
12885         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
12886         * lib/utimens.h (lutimens): Declare new interface.
12887         * tests/test-utimens.c (main): Enhance test.
12888         * tests/test-lutimens.h (test_lutimens): New file.
12889         * modules/utimens-tests (Files): Distribute it.
12890         (Depends-on): Add symlink.
12891         (configure.ac): Check for usleep.
12892
12893         utimens: validate futimens usage
12894         * lib/utimens.c (gl_futimens): Require valid fd up front, using
12895         fewer syscalls on failure later on.  Avoid compiler warning on
12896         mingw.
12897         * modules/utimens (Depends-on): Add dup2.
12898
12899         utimens: add test
12900         * modules/utimens-tests: New test.
12901         * tests/test-utimens.h: New file.
12902         * tests/test-futimens.h: Likewise.
12903         * tests/test-utimens.c: Likewise.
12904
12905         doc: mention timestamp portability issues
12906         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
12907         instead.
12908         * doc/posix-functions/utime.texi (utime): Likewise.
12909         * doc/posix-functions/utimes.texi (utimes): Likewise.
12910         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
12911         instead.
12912         * doc/posix-functions/futimens.texi (futimens): Mention utimens
12913         module.
12914         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
12915         Mention weakness with symlink timestamps.
12916         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
12917         to utimensat/futimens instead.
12918         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
12919
12920         test-dup2: enhance test
12921         * tests/test-dup2.c (main): Also check AT_FDCWD.
12922
12923         test-stat-time: avoid more spurious failures
12924         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
12925         xfs; and avoid race if the two timestamps cross quantization edge.
12926
12927         relocatable: prefer 'file system' over 'filesystem'
12928         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
12929         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
12930         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
12931         * doc/relocatable.texi (Enabling Relocatability): Likewise.
12932         * lib/relocatable.c (compute_curr_prefix): Likewise.
12933
12934 2009-10-10  Jim Meyering  <meyering@redhat.com>
12935
12936         stat-time-tests: check for the usleep function
12937         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
12938
12939 2009-10-10  Bruno Haible  <bruno@clisp.org>
12940
12941         * modules/xnanosleep: Put the Link section after the Include section.
12942
12943 2009-10-09  Eric Blake  <ebb9@byu.net>
12944
12945         dup2: work around FreeBSD 6.1 bug
12946         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
12947         * doc/posix-functions/dup2.texi (dup2): Document it.
12948         Reported by Nelson H. F. Beebe and Jim Meyering.
12949
12950         test-stat-time: port to buggy NFS clients
12951         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
12952         (test_ctime): Also skip test if mtime and ctime are skewed.
12953
12954         maint: prefer 'file system' over 'filesystem'
12955         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
12956         * doc/posix-functions/lstat.texi (lstat): Likewise.
12957         * lib/file-has-acl.c (file_has_acl): Likewise.
12958         * lib/fwriteerror.c [TEST]: Likewise.
12959         * tests/test-areadlink.h (test_areadlink): Likewise.
12960         * tests/test-areadlinkat-with-size.c (main): Likewise.
12961         * tests/test-areadlinkat.c (main): Likewise.
12962         * tests/test-canonicalize-lgpl.c (main): Likewise.
12963         * tests/test-canonicalize.c (main): Likewise.
12964         * tests/test-fstatat.c (main): Likewise.
12965         * tests/test-linkat.c (main): Likewise.
12966         * tests/test-lstat.h (test_lstat_func): Likewise.
12967         * tests/test-mkdir.h (test_mkdir): Likewise.
12968         * tests/test-readlink.h (test_readlink): Likewise.
12969         * tests/test-remove.c (main): Likewise.
12970         * tests/test-rename.h (test_rename): Likewise.
12971         * tests/test-renameat.c (main): Likewise.
12972         * tests/test-rmdir.h (test_rmdir_func): Likewise.
12973         * tests/test-symlink.h (test_symlink): Likewise.
12974         * tests/test-symlinkat.c (main): Likewise.
12975         * tests/test-unlink.h (test_unlink_func): Likewise.
12976         * tests/test-unlinkat.c (main): Likewise.
12977
12978         maint: make realtime library usage explicit
12979         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
12980         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
12981         * modules/settime (Link): Likewise.
12982         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
12983
12984         test-stat-time: speed up execution
12985         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
12986         warning on mingw.
12987         (nap): New helper function.
12988         (prepare_test): Use it to reduce sleep time.
12989         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
12990         execution.
12991         * modules/stat-time-tests (configure.ac): Check for usleep.
12992
12993 2009-10-09  Jim Meyering  <meyering@redhat.com>
12994
12995         selinux-h: always use getfilecon wrappers
12996         * lib/getfilecon.c: New file.
12997         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
12998         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
12999         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
13000         (fgetfilecon): Provide a stub.
13001         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
13002         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
13003         file unconditionally.
13004         When <selinux/selinux.h> is found, arrange to use wrappers.
13005         * modules/selinux-h (Files): Add getfilecon.c.
13006         (Makefile.am): Substitute include-next-related bits
13007         into the now-always-generated selinux/selinux.h file.
13008         * doc/glibc-functions/lgetfilecon.texi: New file.
13009         * doc/glibc-functions/fgetfilecon.texi: New file.
13010         * doc/glibc-functions/getfilecon.texi: New file.
13011         * doc/glibc-functions/getfilecon-desc.texi: New file.
13012         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
13013         which to pull in the new files.
13014         * MODULES.html.sh (Misc): Add selinux-h.
13015
13016 2009-10-08  Jim Meyering  <meyering@redhat.com>
13017
13018         unistd: fix comment typo
13019         * lib/unistd.in.h (euidaccess): Fix a comment typo.
13020
13021 2009-10-08  Eric Blake  <ebb9@byu.net>
13022
13023         areadlink: use SIZE_MAX consistently
13024         * modules/areadlink (Depends-on): Add stdint.
13025         * modules/areadlink-with-size (Depends-on): Likewise.
13026         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
13027         gives NULL; drop sys/types, since unistd gives size_t; and add
13028         stdint for SIZE_MAX.
13029         (SIZE_MAX): Rely on headers.
13030         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
13031         and add stdint.
13032         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
13033         (SIZE_MAX): Likewise.
13034         (INITIAL_BUF_SIZE): Turn into enum.
13035         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
13036
13037 2009-10-08  Jim Meyering  <meyering@redhat.com>
13038
13039         areadlinkat: avoid compilation failure
13040         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
13041         Fix typo in comment.
13042
13043 2009-10-07  Eric Blake  <ebb9@byu.net>
13044
13045         areadlinkat-with-size: new module
13046         * modules/areadlinkat-with-size: New module.
13047         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
13048         * lib/areadlink.h (areadlinkat): Declare it.
13049         * MODULES.html.sh (File system functions): Mention it.
13050         * modules/areadlinkat-with-size-tests: New test.
13051         * tests/test-areadlinkat-with-size.c: New file.
13052
13053         xreadlinkat: new module
13054         * modules/xreadlinkat: New module.
13055         * lib/xreadlinkat.c (xreadlinkat): New file.
13056         * lib/xreadlink.h (xreadlinkat): Declare it.
13057         * MODULES.html.sh (File system functions): Mention it.
13058
13059         areadlinkat: new module
13060         * lib/at-func.c (FUNC_FAIL): New define.
13061         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
13062         * modules/areadlinkat: New module.
13063         * lib/linkat.c (areadlinkat): Move...
13064         * lib/areadlinkat.c (areadlinkat): ...to new file.
13065         * lib/areadlink.h (areadlinkat): Declare it.
13066         * modules/linkat (Depends-on): Add areadlinkat.
13067         * MODULES.html.sh (File system functions): Mention it.
13068         * modules/areadlinkat-tests: New test.
13069         * tests/test-areadlinkat.c: New file.
13070
13071         areadlink, areadlink-with-size: add tests
13072         * modules/areadlink-tests: New test.
13073         * modules/areadlink-with-size-tests: Likewise.
13074         * tests/test-areadlink.h: New file.
13075         * tests/test-areadlink.c: Likewise.
13076         * tests/test-areadlink-with-size.c: Likewise.
13077
13078         maint: minor cleanups
13079         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
13080         _UNUSED_PARAMETER_ instead.
13081         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
13082         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
13083         * modules/linkat-tests (Files): Distribute test-link.h.
13084
13085         openat, utimens: whitespace cleanup
13086         * lib/openat.c: Prefer space throughout, rather than mix of 8
13087         spaces vs. tabs.
13088         * lib/at-func.c: Likewise.
13089         * lib/utimens.c: Likewise.
13090
13091         openat: avoid using wrong fd
13092         * lib/openat.c (openat_permissive): Reject user's fd if saving the
13093         working directory chooses same fd.
13094         * lib/at-func.c (AT_FUNC_NAME): Likewise.
13095
13096         mkdir, mkdirat: fix cygwin 1.5.x bug
13097         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
13098         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
13099         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
13100         bug.
13101         (gl_PREREQ_MKDIR): Delete unused macro.
13102         * modules/mkdir (Files): Track file rename.
13103         (configure.ac): Update macro name.
13104         * modules/openat (Depends-on): Add mkdir.
13105         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
13106
13107         mkdir, mkdirat: add tests
13108         * modules/mkdir-tests: New test.
13109         * tests/test-mkdir.h: New file.
13110         * tests/test-mkdir.c: Likewise.
13111         * tests/test-mkdirat.c: Likewise.
13112         * modules/openat-tests (Files): Add new files.
13113         (Makefile.am): Run new test.
13114
13115 2009-10-06  Eric Blake  <ebb9@byu.net>
13116
13117         doc: tweak *at function documentation
13118         * doc/posix-functions/faccessat.texi (faccessat): Mention
13119         known issue with replacement.
13120         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
13121         * doc/posix-functions/linkat.texi (linkat): Likewise.
13122         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
13123         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
13124         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
13125         * doc/posix-functions/renameat.texi (renameat): Likewise.
13126         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
13127
13128         openat: fix GNU/Hurd bug in unlinkat
13129         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
13130         broken.
13131         * doc/posix-functions/unlink.texi (unlink): Document this.
13132         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
13133
13134         fdopendir: fix GNU/Hurd bug
13135         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
13136         allowing non-directory fds.
13137         * lib/fdopendir.c (rpl_fdopendir): Work around it.
13138         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
13139         * modules/dirent (Makefile.am): Substitute it.
13140         * lib/dirent.in.h (fdopendir): Declare replacement.
13141         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
13142         * tests/test-fdopendir.c (main): Test something other than
13143         /dev/null, since on Hurd that behaves like a directory.
13144
13145         test-symlink: port to GNU/Hurd
13146         * tests/test-symlink.h (test_symlink): Relax expected errno.
13147
13148         doc: tweak more cygwin information
13149         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
13150         now compatible with glibc.
13151         * doc/posix-functions/getopt.texi (getopt): Likewise.
13152
13153         getopt-gnu: add another test
13154         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
13155         guarantee behavior relied on by m4.
13156         * tests/test-getopt.c (main): Use it.
13157         * modules/getopt-posix-tests (Depends-on): Add setenv.
13158         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
13159
13160         getopt: fix compilation on darwin
13161         * lib/getopt.in.h (includes): Leave breadcrumbs during system
13162         include.
13163         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
13164         Reported by Ludovic Courtès.
13165
13166 2009-10-06  Bruno Haible  <bruno@clisp.org>
13167
13168         * modules/size_max (Description): Discourage its use.
13169         Reported by Simon Josefsson.
13170
13171 2009-10-06  Jim Meyering  <meyering@redhat.com>
13172
13173         linkat: avoid compilation failure
13174         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
13175
13176 2009-10-05  Eric Blake  <ebb9@byu.net>
13177
13178         linkat: support Linux 2.6.17
13179         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
13180         linkat on Linux, but allow cache variable override.
13181         * lib/linkat.c (rpl_linkat): Define override.
13182         * modules/linkat (Depends-on): Add symlinkat.
13183         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
13184         * modules/unistd (Makefile.am): Substitute it.
13185         * lib/unistd.in.h (linkat): Declare replacement.
13186         Reported by Pádraig Brady.
13187
13188         quotearg: port test to systems with C.UTF-8 locale
13189         * tests/test-quotearg.c (struct result_strings): Add another
13190         member, differentiating between C.ASCII and C.UTF-8 handling.
13191         (compare_strings): Add parameter.
13192         (main): Adjust all callers.
13193
13194         getopt: avoid clash with FreeBSD _getopt_internal
13195         * lib/getopt.in.h (_getopt_internal): Override the name.
13196         * lib/getopt_int.h (includes): Pick up any overrides.
13197         Reported by Reuben Thomas.
13198
13199         hash: allow C89 compilation
13200         * lib/hash.c (check_tuning): Move declaration before statement.
13201         Reported by Reuben Thomas.
13202
13203 2009-10-05  Karl Berry  <karl@gnu.org>
13204
13205         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
13206
13207 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
13208             Bruno Haible  <bruno@clisp.org>
13209
13210         * lib/uname.c (uname): Use a table-driven algorithm to compute
13211         Windows NT versions.
13212
13213 2009-10-04  Bruno Haible  <bruno@clisp.org>
13214
13215         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
13216         program_invocation_short_name.
13217         * modules/progname (configure.ac): Test for presence of
13218         program_invocation_short_name.
13219         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
13220
13221 2009-10-04  Bruno Haible  <bruno@clisp.org>
13222
13223         * lib/progname.c (set_program_name): Fix comment.
13224         Reported by Jim Meyering.
13225
13226 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
13227             Bruno Haible  <bruno@clisp.org>
13228
13229         * lib/uname.c: Include <string.h>.
13230         (uname): Do only one call to GetVersionEx in the common case.
13231
13232 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
13233             Bruno Haible  <bruno@clisp.org>
13234
13235         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
13236         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
13237         (uname): Add support for Windows CE and various non-x86 CPU types.
13238
13239 2009-10-03  Bruno Haible  <bruno@clisp.org>
13240
13241         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
13242         invocation to tests/configure.ac.
13243         Reported by Ian Beckwith <ianb@erislabs.net>.
13244
13245 2009-10-02  Eric Blake  <ebb9@byu.net>
13246
13247         fchdir: avoid compiler warning
13248         * lib/fchdir.c (canonicalize_file_name)
13249         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
13250
13251         test-open: support mingw errno values
13252         * tests/test-open.h (test_open): Relax test.
13253         * tests/test-fopen.h (test_fopen): Likewise.
13254         * tests/test-openat-safer.c (main): Likewise.
13255
13256         open: fix opening directory on mingw
13257         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
13258
13259         test-open: on GNU/Hurd, /dev/null is a directory
13260         * tests/test-fopen.h (main): Rename...
13261         (test_fopen): ...to this.  Use a guaranteed non-directory when
13262         confirming open behavior on trailing slash.
13263         * tests/test-openat-safer.c (main): Likewise.
13264         * tests/test-open.h (main): Likewise....
13265         (test_open): ...to this.
13266         * tests/test-fopen.c (main): Adjust caller.
13267         * tests/test-fopen-safer.c (main): Likewise.
13268         * tests/test-open.c (main): Likewise.
13269         * tests/test-fcntl-safer.c (main): Likewise.
13270         Reported by Samuel Thibault.
13271
13272         rename, fchdir: don't ignore chdir failure
13273         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
13274         * lib/rename.c (rpl_rename) [W32]: Likewise.
13275         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
13276         an empty destination directory if source cannot be renamed,
13277         although there is still possibility for failure.
13278         * doc/posix-functions/rename.texi (rename): Document the race.
13279         Reported by Jim Meyering.
13280
13281         maint: cleanup whitespace in recent commits
13282         * lib/rename.c (rpl_rename): Remove tabs.
13283         * tests/test-link.h (test_link): Likewise.
13284         * lib/fchdir.c (get_name): Likewise.
13285         Reported by Jim Meyering.
13286
13287 2009-10-02  Ben Pfaff  <blp@gnu.org>
13288
13289         relocatable-prog-wrapper: Add missing dependency on
13290         double-slash-root.
13291         * modules/relocatable-prog-wrapper: Add dependency.
13292         Reported by Ian Beckwith <ianb@erislabs.net>.
13293
13294 2009-10-02  Eric Blake  <ebb9@byu.net>
13295
13296         renameat: fix Solaris bugs
13297         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
13298         needed fixing.
13299         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
13300         * modules/stdio (Makefile.am): Substitute it.
13301         * lib/stdio.in.h (renameat): Declare replacement.
13302         * lib/renameat.c (rpl_renameat): Implement fix.
13303
13304         renameat: new module
13305         * modules/renameat: New file.
13306         * lib/renameat.c (renameat): Likewise.
13307         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
13308         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
13309         * modules/stdio (Makefile.am): Substitute them.
13310         * lib/stdio.in.h (renameat): Declare it.
13311         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
13312         * doc/posix-functions/renameat.texi (renameat): Likewise.
13313         * modules/renameat-tests: New test.
13314         * tests/test-renameat.c: Likewise.
13315
13316         rename: fix mingw bugs
13317         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
13318         directory overwrite bugs.
13319
13320         rename: fix another cygwin 1.5 bug
13321         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
13322         checks.
13323         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
13324         unnecessary cygwin workarounds.  Also work around bug with moving
13325         full directory onto an empty one.
13326         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
13327
13328         rename-dest-slash: merge into rename module
13329         * modules/rename-dest-slash (Status): Mark obsolete.
13330         (Depends-on): Add rename.
13331         (Files): Let rename do it all.
13332         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
13333         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
13334         * m4/rename-dest-slash.m4: ...so this file can be deleted.
13335         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
13336         * lib/rename.c (rpl_rename): Update comments.
13337
13338         rename: fix cygwin 1.5.x bugs
13339         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
13340         * lib/rename.c (rpl_rename): Work around them.
13341         * modules/rename (Depends-on): Add same-inode.
13342
13343         rename: fix Solaris 10 bug
13344         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
13345         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
13346         was the only bug.
13347
13348         rename: fix Solaris 9 bug
13349         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
13350         on non-directory.  Avoid calling exit.
13351         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
13352         strdup.
13353         * modules/rename-tests (Depends-on): Drop lstat.
13354         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
13355         (gl_PREREQ_RENAME): Delete unused macro.
13356
13357         rename-dest-slash: fix NetBSD bug
13358         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
13359         links.
13360         * modules/rename-dest-slash (Depends-on): Add same-inode.
13361
13362         rename-tests: new test, exposes several platform bugs
13363         * modules/rename-tests: New file.
13364         * tests/test-rename.h: Likewise.
13365         * tests/test-rename.c: Likewise.
13366         * doc/posix-functions/rename.texi (rename): Improve documentation,
13367         including bugs that will eventually be fixed in gnulib.
13368
13369 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
13370
13371         * lib/uname.c: Include <stdlib.h>
13372         (uname): Assume version info is available.
13373
13374 2009-10-02  Jim Meyering  <meyering@redhat.com>
13375
13376         gnu-web-doc-update: correct --help output
13377         * build-aux/gnu-web-doc-update: Make --help output relevant.
13378
13379         gnu-web-doc-update: add standard options
13380         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
13381
13382         gnu-web-doc-update: New module.
13383         Use this script to automatically update the on-line web documentation
13384         for your GNU project at http://www.gnu.org/software/$pkg/manual/
13385         * modules/gnu-web-doc-update: New file, from coreutils.
13386         * build-aux/gnu-web-doc-update: New script.
13387
13388 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
13389
13390         link: LoadLibrary is not needed.
13391         * lib/link.c: Use GetModuleHandle.
13392
13393 2009-10-01  Eric Blake  <ebb9@byu.net>
13394
13395         getopt: bump serial number
13396         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
13397         change.
13398
13399         tests: tighten link, rmdir, and remove tests
13400         * tests/test-link.h (includes): No need to use <config.h> here.
13401         Clean up if directory hard link was created, otherwise test for
13402         trailing '.'.
13403         * tests/test-linkat.c (main): Simplify.
13404         * tests/test-remove.c (main): Enhance test for trailing '.'.
13405         * tests/test-rmdir.h (test_rmdir_func): Likewise.
13406
13407 2009-10-01  Jim Meyering  <meyering@redhat.com>
13408
13409         maint.mk: requiring "make major" was annoying, for a "minor" release.
13410         What is intended is "stable", to contrast with alpha and beta,
13411         so require "make stable", not "make major".
13412         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
13413         (get_tool_versions): Likewise.
13414         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
13415
13416 2009-09-30  Ben Pfaff  <blp@gnu.org>
13417
13418         Fix broken build of replacement for Windows tmpfile().
13419         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
13420         flags argument added along with the 'mkostemp' module.
13421
13422 2009-09-28  Bruno Haible  <bruno@clisp.org>
13423
13424         Avoid identifier clash with POSIX function 'remove' defined as a macro.
13425         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
13426         to 'remove_elt'.
13427         (gl_list_remove): Update.
13428         * lib/gl_list.c (gl_list_remove): Update.
13429         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
13430         to 'remove_elt'.
13431         (gl_oset_remove): Update.
13432         * lib/gl_list.c (gl_oset_remove): Update.
13433         Reported by Eric Blake.
13434
13435 2009-09-28  Eric Blake  <ebb9@byu.net>
13436
13437         doc: mention yet more cygwin 1.7 status
13438         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
13439         cygwin.
13440         * doc/glibc-functions/execvpe.texi (execvpe): New file.
13441         * doc/gnulib.texi (Glibc unistd.h): Mention it.
13442
13443         argp: fix test failure
13444         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
13445         that are not upper-case.  Pass correct range to tolower.
13446
13447 2009-09-27  Jim Meyering  <meyering@redhat.com>
13448
13449         test-yesno: work around sparc-dash here-document infelicity
13450         Without this change, the literal \177 byte in a here document
13451         would make dash 0.5.5.1-3 access uninitialized memory.
13452         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
13453         Instead, use a marker, "@", and filter through tr to create the desired
13454         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
13455
13456 2009-09-27  Bruno Haible  <bruno@clisp.org>
13457
13458         Disable untested support for new flavours of ACLs on AIX.
13459         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
13460         progress.
13461         * lib/set-mode-acl.c (qset_acl): Likewise.
13462
13463 2008-12-07  Bruno Haible  <bruno@clisp.org>
13464
13465         Add support for new flavours of ACLs on AIX. (Untested.)
13466         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
13467         (file_has_acl): Add support for newer AIX.
13468         * lib/set-mode-acl.c (qset_acl): Likewise.
13469         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
13470         Rainer Tammer <tammer@tammer.net>.
13471
13472 2009-09-26  Eric Blake  <ebb9@byu.net>
13473
13474         argp: fix compilation of getopt
13475         * lib/getopt.in.h (includes): Use different guard than glibc.
13476         Reported by Sergey Poznyakoff.
13477
13478         doc: mention more cygwin 1.7 status
13479         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
13480         bug.
13481         * doc/posix-functions/execl.texi (execl): Likewise.
13482         * doc/posix-functions/execle.texi (execle): Likewise.
13483         * doc/posix-functions/execlp.texi (execlp): Likewise.
13484         * doc/posix-functions/execv.texi (execv): Likewise.
13485         * doc/posix-functions/execve.texi (execve): Likewise.
13486         * doc/posix-functions/execvp.texi (execvp): Likewise.
13487         * doc/glibc-functions/canonicalize_file_name.texi
13488         (canonicalize_file_name): Cygwin 1.7 now provides this.
13489         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
13490         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
13491         on AT_SYMLINK_NOFOLLOW.
13492
13493 2009-09-24  Eric Blake  <ebb9@byu.net>
13494
13495         test-linkat: make test more robust
13496         * tests/test-linkat.c (main): Avoid collision with EEXIST.
13497
13498         getopt: fix inclusion guards for cygwin
13499         * modules/getopt-posix (Depends-on): Add include-next.
13500         (Makefile.am): Substitute more items in replacement header.
13501         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
13502         <getopt.h>.
13503         * lib/getopt.in.h (includes): Use split inclusion guard, and
13504         prefer <getopt.h> over include <unistd.h> when one is present.
13505         (option): Also override name of 'struct option'.
13506
13507         same-inode: revert prior change; it is not yet ready
13508         * NEWS: Undo mention of this change.
13509         * lib/same-inode.h (same-inode.h): Undo tri-state change.
13510         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
13511         * lib/cycle-check.c (cycle_check): Likewise.
13512         * lib/same.c (same_name): Likewise.
13513         * lib/at-func2.c (at_func2): Likewise.
13514
13515 2009-09-23  Eric Blake  <ebb9@byu.net>
13516
13517         linkat: new module
13518         * modules/linkat: New file.
13519         * lib/at-func2.c (at_func2): Likewise.
13520         * lib/linkat.c (linkat): Likewise.
13521         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
13522         * lib/openat-priv.h (at_func2): Add declaration.
13523         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
13524         * modules/unistd (Makefile.am): Substitute them.
13525         * lib/unistd.in.h (linkat): Declare it.
13526         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
13527         * doc/posix-functions/linkat.texi (linkat): Likewise.
13528         * doc/posix-functions/link.texi (link): Tweak wording.
13529         * tests/test-link.c (main): Move guts...
13530         * tests/test-link.h (test_link): ...into new file.
13531         * modules/linkat-tests: New test.
13532         * tests/test-linkat.c: Likewise.
13533         * modules/link-tests (Files): Ship new file.
13534         (Depends-on): Add stdbool.
13535
13536         dirname: add library-safe mdir_name
13537         * lib/dirname.h (mdir_name): New prototype.
13538         * lib/dirname.c (dir_name): Move guts...
13539         (mdir_name): ...to new function that avoids xalloc_die.
13540
13541         fchdir: another mingw fix
13542         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
13543         * lib/fchdir.c (get_name): New helper method; skips canonicalize
13544         on mingw (where it has not yet been ported), and make it optional
13545         elsewhere.
13546         (_gl_register_fd): Use it.
13547
13548         same-inode: make SAME_INODE tri-state, to port to mingw
13549         * NEWS: Mention this change.
13550         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
13551         st_ino always being 0.
13552         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
13553         * lib/cycle-check.c (cycle_check): Likewise.
13554         * lib/same.c (same_name): Likewise.
13555
13556         lstat: avoid mingw compilation error
13557         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
13558         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
13559         lstat ourselves.
13560         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
13561         was adequate.
13562         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
13563         the checks for lstat.
13564         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
13565
13566         link: fix test failure on Solaris 9
13567         * lib/link.c (rpl_link): Don't assume link will catch bogus
13568         trailing slash on source.
13569
13570         test-symlinkat: enhance test
13571         * tests/test-readlink.c (main): Move guts...
13572         * tests/test-readlink.h (test_readlink): ...into new file.
13573         * tests/test-symlink.c (main): Move guts...
13574         * tests/test-symlink.h (test_symlink): ...into new file.
13575         * tests/test-symlinkat.c (main): Use new files for further
13576         coverage.
13577         (do_symlink, do_readlink): New helper functions.
13578         * modules/symlink-tests (Files): Ship new file.
13579         (Depends-on): Add stdbool.
13580         * modules/readlink-tests (Files): Ship new file.
13581         (Depends-on): Add stdbool.
13582         * modules/symlinkat-tests (Files): Use new files.
13583
13584 2009-09-23  Eric Blake  <ebb9@byu.net>
13585
13586         readlink: document portability issue with symlink length
13587         * doc/posix-functions/lstat.texi (lstat): Mention that some file
13588         systems have bogus st_size on symlinks, and mention the
13589         areadlink-with-size module.
13590         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
13591         * doc/posix-functions/readlink.texi (readlink): Mention the
13592         areadlink module, and ERANGE failure.
13593         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
13594         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
13595
13596         readlink: fix Solaris 9 bug with trailing slash
13597         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
13598         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
13599         * doc/posix-functions/readlink.texi (readlink): Document this.
13600         * modules/readlink-tests: New test.
13601         * tests/test-readlink.c: Likewise.
13602
13603         readlink: fix cygwin 1.5.x bug with return type
13604         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
13605         * lib/unistd.in.h (readlink): Use ssize_t.
13606         * lib/readlink.c (readlink): Likewise.
13607         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
13608         * modules/unistd (Makefile.am): Substitute it.
13609         * lib/unistd.in.h (readlink): Declare replacement.
13610         * doc/posix-functions/readlink.texi (readlink): Document this.
13611
13612         symlink: use throughout gnulib
13613         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
13614         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
13615         symlink is not used.
13616         * modules/symlinkat (Depends-on): Add symlink.
13617         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
13618         * modules/canonicalize-tests (Depends-on): Likewise.
13619         * modules/lstat-tests (Depends-on): Likewise.
13620         * modules/openat-tests (Depends-on): Likewise.
13621         * modules/remove-tests (Depends-on): Likewise.
13622         * modules/rmdir-tests (Depends-on): Likewise.
13623         * modules/unlink-tests (Depends-on): Likewise.
13624         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
13625         * tests/test-canonicalize.c (symlink): Likewise.
13626         * tests/test-fstatat.c (symlink): Likewise.
13627         * tests/test-lstat.c (symlink): Likewise.
13628         * tests/test-remove.c (symlink): Likewise.
13629         * tests/test-rmdir.c (symlink): Likewise.
13630         * tests/test-unlink.c (symlink): Likewise.
13631         * tests/test-unlinkat.c (symlink): Likewise.
13632
13633         symlink: new module, for Solaris 9 bug
13634         * modules/symlink: New file.
13635         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
13636         * lib/symlink.c: Likewise.
13637         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
13638         * modules/unistd (Makefile.am): Substitute them.
13639         * lib/unistd.in.h (symlink): Declare replacement.
13640         * MODULES.html.sh (File system functions): Mention it.
13641         * doc/posix-functions/symlink.texi (symlink): Likewise.
13642         * modules/symlink-tests: New test.
13643         * tests/test-symlink.c: Likewise.
13644
13645 2009-09-23  Bruno Haible  <bruno@clisp.org>
13646
13647         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
13648         when needed.
13649         Test case: gnulib-tool --import --with-tests atexit inttypes.
13650         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
13651
13652 2009-09-23  Bruno Haible  <bruno@clisp.org>
13653
13654         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
13655         subcommand, not in a subshell.
13656
13657 2009-09-22  Eric Blake  <ebb9@byu.net>
13658
13659         unistd: sort replacement declarations
13660         * lib/unistd.in.h: Sort declarations.
13661
13662         open, openat: minor optimization
13663         * lib/open.c (open): If open succeeded, len is non-zero.
13664         * lib/openat.c (rpl_openat): Likewise.
13665
13666         link-follow: ensure correct result
13667         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
13668         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
13669         distinguish between possible failures.
13670
13671 2009-09-21  Eric Blake  <ebb9@byu.net>
13672
13673         fts: avoid compiler warning
13674         * lib/fts.c (dirent_inode_sort_may_be_useful)
13675         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
13676
13677 2009-09-19  Bruno Haible  <bruno@clisp.org>
13678
13679         * lib/progreloc.c (canonicalize_file_name): New declaration.
13680
13681 2009-09-19  Eric Blake  <ebb9@byu.net>
13682
13683         link: fix quoting
13684         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
13685
13686         openat: fix openat bugs on Solaris 9
13687         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
13688         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
13689         * modules/openat (Depends-on): Add open.
13690         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
13691         * modules/fcntl-h (Makefile.am): Substitute it.
13692         * lib/fcntl.in.h (openat): Declare replacement.
13693         * doc/posix-functions/openat.texi (openat): Document this.
13694
13695         openat: move fstatat and unlinkat into correct files
13696         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
13697         compiled.
13698         * lib/openat.c (fstatat, unlinkat): Move...
13699         * lib/fstatat.c (fstatat): ...into correct files.
13700         * lib/unlinkat.c (unlinkat): Likewise.
13701
13702         openat: fix unlinkat bugs on Solaris 9
13703         * lib/unlinkat.c (unlinkat): New file.
13704         * modules/openat (Depends-on): Add unlink.
13705         (Files): Distribute it.
13706         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
13707         trailing slash behavior is broken.
13708         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
13709         * modules/unistd (Makefile.am): Substitute it.
13710         * lib/unistd.in.h (unlinkat): Declare replacement.
13711         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
13712
13713         openat: fix fstatat bugs on Solaris 9
13714         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
13715         stat.
13716         * doc/posix-functions/fstatat.texi (fstatat): Document this.
13717
13718         test-unlinkat: enhance test, to expose Solaris 9 bug
13719         * tests/test-unlink.c (main): Factor guts...
13720         * tests/test-unlink.h (test_rmdir_func): ...into new file.
13721         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
13722         * tests/test-rmdir.c (main): Adjust caller.
13723         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
13724         (unlinker): New helper function.
13725         (rmdirat): Enhance check.
13726         * modules/rmdir-tests (Depends-on): Add stdbool.
13727         * modules/unlink-tests (Depends-on): Likewise.
13728         (Files): Add test-unlink.h.
13729         * modules/openat-tests (Files): Likewise.
13730         (Depends-on): Add unlinkdir.
13731
13732         test-fstatat: new test, to expose Solaris 9 bugs
13733         * tests/test-stat.c (main): Factor guts...
13734         * tests/test-stat.h (test_stat_func): ...into new file.
13735         * tests/test-lstat.c (main): Factor guts...
13736         * tests/test-lstat.h (test_lstat_func): ...into new file.
13737         * tests/test-fstatat.c: New file.
13738         * modules/stat-tests (Files): Add test-stat.h.
13739         * modules/lstat-tests (Files): Add test-lstat.h.
13740         (Depends-on): Add stdbool.
13741         * modules/openat-tests (Depends-on): Add pathmax.
13742         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
13743         (Makefile.am): Run new test.
13744
13745         remove: new module, for mingw and Solaris 9 bugs
13746         * modules/remove: New file.
13747         * lib/remove.c: Likewise.
13748         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
13749         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
13750         * modules/stdio (Makefile.am): Use them.
13751         * lib/stdio.in.h (remove): Declare replacement.
13752         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
13753         * doc/posix-functions/remove.texi (remove): Likewise.
13754         * modules/remove-tests: New test.
13755         * tests/test-remove.c: Likewise.
13756
13757         unlink: new module, for Solaris 9 bug
13758         * modules/unlink: New file.
13759         * lib/unlink.c: Likewise.
13760         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
13761         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
13762         * modules/unistd (Makefile.am): Use them.
13763         * lib/unistd.in.h (stat): Declare replacement.
13764         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
13765         * doc/posix-functions/unlink.texi (unlink): Likewise.
13766         * modules/unlink-tests: New test.
13767         * tests/test-unlink.c: Likewise.
13768
13769         lstat: fix Solaris 9 bug
13770         * lib/lstat.c (lstat): Also check for trailing slash on
13771         non-symlink, non-directories.  Use stat module to simplify logic.
13772         * doc/posix-functions/lstat.texi (lstat): Document it.
13773         * modules/lstat-tests (Depends-on): Add errno, same-inode.
13774         (configure.ac): Check for symlink.
13775         * tests/test-lstat.c (main): Add more tests.
13776
13777         stat: add as dependency to other modules
13778         * modules/chown (Depends-on): Add stat.
13779         * modules/euidaccess (Depends-on): Likewise.
13780         * modules/fchdir (Depends-on): Likewise.
13781         * modules/isdir (Depends-on): Likewise.
13782         * modules/link (Depends-on): Likewise.
13783         * modules/lstat (Depends-on): Likewise.
13784         * modules/mkdir-p (Depends-on): Likewise.
13785         * modules/modechange (Depends-on): Likewise.
13786         * modules/open (Depends-on): Likewise.
13787         * modules/readlink (Depends-on): Likewise.
13788         * modules/same (Depends-on): Likewise.
13789
13790         stat: fix Solaris 9 bug
13791         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
13792         slash.
13793         * lib/stat.c (rpl_stat): Work around it.
13794         * doc/posix-functions/stat.texi (stat): Update documentation.
13795
13796         stat: new module, for mingw bug
13797         * modules/stat: New file.
13798         * lib/stat.c: Likewise.
13799         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
13800         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
13801         * modules/sys_stat (Makefile.am): Use them.
13802         * lib/sys_stat.in.h (stat): Declare replacement.
13803         * lib/openat.c (fstatat): Deal with lstat and stat being function
13804         macros.
13805         * modules/openat (Depends-on): Add inline.
13806         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
13807         * doc/posix-functions/stat.texi (stat): Likewise.
13808         * modules/stat-tests: New test.
13809         * tests/test-stat.c: Likewise.
13810
13811 2009-09-19  Jim Meyering  <meyering@redhat.com>
13812
13813         syntax-check: detect unnecessary inclusion of canonicalize.h
13814         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
13815
13816 2009-09-19  Eric Blake  <ebb9@byu.net>
13817
13818         canonicalize-lgpl: adjust clients to use correct header
13819         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
13820         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
13821         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
13822         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
13823         * lib/progreloc.c (includes): Likewise.
13824
13825 2009-09-19  Jim Meyering  <meyering@redhat.com>
13826
13827         test-posixtm.c: correct a comment
13828         * tests/test-posixtm.c: Correct first-line comment.
13829         Spotted by Eric Blake.
13830
13831 2009-09-16  Jim Meyering  <meyering@redhat.com>
13832
13833         posixtm-tests: make T const-correct; add a test case
13834         * tests/test-posixtm.c (T): Declare const.
13835         Add a test for -(2^31+1).
13836         Remove useless can-succeed-only-in-2002 test.
13837
13838         posixtm-tests: adjust the sole failing test
13839         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
13840         expected output matches what mktime now produces.  Cross-checked via
13841         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
13842
13843         posixtm: move #ifdef'd tests into a new module
13844         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
13845         * tests/test-posixtm.c: ... this new file.
13846         * modules/posixtm-tests: New module.
13847
13848 2009-09-19  Eric Blake  <ebb9@byu.net>
13849
13850         openat: simplify use of at-func.c
13851         * lib/at-func.c (includes): Include prerequisites here, to
13852         simplify requirements on client files.
13853         * lib/openat-priv.h: Add double-inclusion guard.
13854         * lib/faccessat.c (includes): Simplify.
13855         * lib/fchmodat.c (includes): Likewise.
13856         * lib/fchownat.c (includes): Likewise.
13857         * lib/mkdirat.c (includes): Likewise.
13858         * lib/mkfifoat.c (includes): Likewise.
13859         * lib/symlinkat.c (includes): Likewise.
13860
13861         openat: allow return of fd 0
13862         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
13863         * modules/save-cwd (Depends-on): Replace fcntl-safer with
13864         unistd-safer.
13865         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
13866         <fcntl.h>; this module does not leak fds.
13867         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
13868         must be allowed to return 0, leaving openat_safer to add the
13869         safety.
13870         (openat_permissive): Avoid writing to just-opened fd 2 if
13871         restoring the current directory fails.
13872         * lib/openat-die.c (openat_restore_fail): Add comment.
13873         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
13874         (save_cwd): Guarantee safe fd, but without use of open_safer.
13875         * tests/test-openat.c: New test.
13876         * modules/openat-tests (Files, Makefile.am): Distribute and build
13877         new file.
13878
13879         relocatable-prog-wrapper: fix build
13880         * modules/relocatable-prog-wrapper (Files): Update name of
13881         canonicalize m4 file, broken on 2009-09-17.
13882         Reported by emad hajjar <aleppos@hotmail.com>.
13883
13884 2009-09-19  Bruno Haible  <bruno@clisp.org>
13885
13886         * lib/safe-alloc.h: Use the standard header with GPL copyright.
13887         * lib/safe-alloc.c: Likewise.
13888         Reported by Ian Beckwith <ianb@erislabs.net>.
13889
13890 2009-09-18  Bruno Haible  <bruno@clisp.org>
13891
13892         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
13893         Reported by <erobles@sensacd.com.mx>.
13894
13895 2009-09-17  Eric Blake  <ebb9@byu.net>
13896
13897         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
13898         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
13899         slashes when checking if last component is missing.
13900         * tests/test-canonicalize.c (main): Test this.
13901
13902         canonicalize, canonicalize-lgpl: honor // if distinct from /
13903         * modules/canonicalize (Files): Add double-slash-root.m4.
13904         * modules/canonicalize-lgpl (Files): Likewise.
13905         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
13906         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
13907         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
13908         fallback definition.
13909         (canonicalize_filename_mode): Use it to protect //.
13910         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
13911         (__realpath): Likewise.
13912         * tests/test-canonicalize.c (main): Test this.
13913         * tests/test-canonicalize-lgpl.c (main): Likewise.
13914         * modules/canonicalize-tests (Depends-on): Add same-inode.
13915         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
13916
13917         canonicalize-lgpl: fix glibc bug with trailing slash
13918         * m4/canonicalize-lgpl.m4: Move contents...
13919         * m4/canonicalize.m4: ...here.
13920         (gl_CANONICALIZE_LGPL): Factor realpath check...
13921         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
13922         glibc 2.3.5 bug, fixed 2005-04-27.
13923         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
13924         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
13925         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
13926         * modules/canonicalize-lgpl (Files): Manage file rename.
13927         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
13928         * modules/stdlib (Makefile.am): Substitute witness.
13929         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
13930         is needed.
13931         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
13932         replacement is required.
13933         * lib/canonicalize.c (canonicalize_file_name): Likewise.
13934         * doc/glibc-functions/canonicalize_file_name.texi
13935         (canonicalize_file_name): Document this.
13936         * doc/posix-functions/realpath.texi (realpath): Likewise.
13937
13938         canonicalize-lgpl: reject non-directory with trailing slash
13939         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
13940         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
13941         catches failures in glibc 2.3.5.
13942         * tests/test-canonicalize.c (main): Likewise.
13943
13944         canonicalize-lgpl: use native realpath if it works
13945         * lib/canonicalize-lgpl.c (realpath): Guard with
13946         FUNC_REALPATH_WORKS.
13947         * lib/stdlib.in.h (realpath): Make declaration optional based on
13948         HAVE_REALPATH.
13949         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
13950         native realpath works.
13951         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
13952         * modules/stdlib (Makefile.am): Substitute witness.
13953
13954         canonicalize, canonicalize-lgpl: use <stdlib.h>
13955         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
13956         (Include): Mention <stdlib.h>.
13957         (configure.ac): Mention functions we provide.
13958         * modules/canonicalize (configure.ac): Likewise.
13959         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
13960         realpath if canonicalize_file_name is missing.
13961         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
13962         * modules/stdlib (Makefile.am): Substitute witnesses.
13963         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
13964         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
13965         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
13966         * NEWS: Document this.
13967         * doc/glibc-functions/canonicalize_file_name.texi
13968         (canonicalize_file_name): Likewise.
13969         * doc/posix-functions/realpath.texi (realpath): Likewise.
13970         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
13971
13972         test-canonicalize: consolidate into single C program
13973         * tests/test-canonicalize.sh: Delete; move setup into...
13974         * tests/test-canonicalize.c (main): ...the program, making it
13975         easier to run in debugger.  Add some tests.
13976         * modules/canonicalize-tests (Files): Remove unused file.
13977         (Depends-on): Add progname.
13978         (configure.ac, Makefile.am): Simplify.
13979
13980         test-canonicalize-lgpl: consolidate into single C program
13981         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
13982         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
13983         easier to run in debugger.  Add some tests.
13984         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
13985         (configure.ac, Makefile.am): Simplify.
13986
13987         canonicalize: avoid resolvepath
13988         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
13989         unnecessary checks.
13990         * lib/canonicalize.c (includes): Simplify.
13991         (canonicalize_file_name): Drop resolvepath implementation.
13992         * modules/canonicalize (Depends-on): Drop filenamecat.
13993
13994         canonicalize: don't lose errno
13995         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
13996         over calls to free.
13997
13998         canonicalize: simplify errno handling
13999         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
14000         assignment.
14001
14002         canonicalize, canonicalize-lgpl: update module dependencies
14003         * modules/canonicalize (Depends-on): Add extensions, lstat,
14004         pathmax, stdlib.
14005         (Files): Drop pathmax.h.
14006         (configure.ac): Adjust macro name.
14007         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
14008         lstat, stdlib, sys_stat.
14009         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
14010         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
14011         extensions.
14012         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
14013         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
14014         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
14015         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
14016         declaration, if available.
14017         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
14018         we can rely on the readlink module.
14019         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
14020         (includes): Use <unistd.h> unconditionally.
14021
14022 2009-09-17  Eric Blake  <ebb9@byu.net>
14023
14024         maint: make Include sections of modules consistent
14025         * modules/alloca: Use only header name; no need to list #include.
14026         * modules/alloca-opt: Likewise.
14027         * modules/arpa_inet: Likewise.
14028         * modules/canon-host: Likewise.
14029         * modules/configmake: Likewise.
14030         * modules/dirent: Likewise.
14031         * modules/eealloc: Likewise.
14032         * modules/environ: Likewise.
14033         * modules/fchdir: Likewise.
14034         * modules/fcntl: Likewise.
14035         * modules/fcntl-h: Likewise.
14036         * modules/gethrxtime: Likewise.
14037         * modules/gettime: Likewise.
14038         * modules/ignore-value: Likewise.
14039         * modules/inet_ntop: Likewise.
14040         * modules/inet_pton: Likewise.
14041         * modules/inttypes: Likewise.
14042         * modules/isnand-nolibm: Likewise.
14043         * modules/isnanf-nolibm: Likewise.
14044         * modules/mbchar: Likewise.
14045         * modules/mbfile: Likewise.
14046         * modules/mbiter: Likewise.
14047         * modules/mbuiter: Likewise.
14048         * modules/netdb: Likewise.
14049         * modules/netinet_in: Likewise.
14050         * modules/nproc: Likewise.
14051         * modules/pagealign_alloc: Likewise.
14052         * modules/poll: Likewise.
14053         * modules/printf-frexp: Likewise.
14054         * modules/pthread: Likewise.
14055         * modules/putenv: Likewise.
14056         * modules/random_r: Likewise.
14057         * modules/relocatable-prog: Likewise.
14058         * modules/search: Likewise.
14059         * modules/select: Likewise.
14060         * modules/selinux-h: Likewise.
14061         * modules/settime: Likewise.
14062         * modules/signal: Likewise.
14063         * modules/size_max: Likewise.
14064         * modules/socklen: Likewise.
14065         * modules/ssize_t: Likewise.
14066         * modules/stdarg: Likewise.
14067         * modules/stdbool: Likewise.
14068         * modules/stddef: Likewise.
14069         * modules/stdint: Likewise.
14070         * modules/stdio: Likewise.
14071         * modules/stdlib: Likewise.
14072         * modules/string: Likewise.
14073         * modules/strings: Likewise.
14074         * modules/sys_file: Likewise.
14075         * modules/sys_ioctl: Likewise.
14076         * modules/sys_select: Likewise.
14077         * modules/sys_socket: Likewise.
14078         * modules/sys_stat: Likewise.
14079         * modules/sys_time: Likewise.
14080         * modules/sys_times: Likewise.
14081         * modules/sys_utsname: Likewise.
14082         * modules/sys_wait: Likewise.
14083         * modules/sysexits: Likewise.
14084         * modules/time: Likewise.
14085         * modules/times: Likewise.
14086         * modules/tmpfile: Likewise.
14087         * modules/trim: Likewise.
14088         * modules/unistd: Likewise.
14089         * modules/wchar: Likewise.
14090         * modules/wctype: Likewise.
14091
14092 2009-09-17  Bruno Haible  <bruno@clisp.org>
14093
14094         Make getdate.y compile on QNX and NetBSD 5 / i386.
14095         * m4/getdate.m4 (gl_GETDATE): Conditionally define
14096         TIME_T_FITS_IN_LONG_INT.
14097         * lib/getdate.y (long_time_t): New type.
14098         (relative_time): Change type of 'seconds' field to long_time_t.
14099         (get_date): Update types of local variables. Check against overflow
14100         during conversion from long_time_t to time_t.
14101         Reported by Matt Kraai <kraai@ftbfs.org>
14102         and Hasso Tepper <hasso@netbsd.org>.
14103
14104 2009-09-17  Bruno Haible  <bruno@clisp.org>
14105
14106         * modules/COPYING: Update copyright years.
14107         * modules/README: Likeiwse.
14108         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
14109         Reported by Ian Beckwith <ianb@erislabs.net>.
14110
14111 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
14112
14113         * users.txt: Update references for gnuit package.
14114
14115 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
14116
14117         * m4/getdelim.m4: Fix typo in copyright line.
14118
14119 2009-09-17  Bruno Haible  <bruno@clisp.org>
14120
14121         * lib/atoll.c: Use the standard header with GPL copyright.
14122         * lib/argz.in.h: Likewise.
14123         * lib/glob.c: Likewise.
14124         * lib/glob-libc.h: Likewise.
14125         * lib/random_r.c: Likewise.
14126         * lib/siglist.h: Likewise.
14127         * lib/strsignal.c: Likewise.
14128         Reported by Ian Beckwith <ianb@erislabs.net>.
14129
14130 2009-09-17  Eric Blake  <ebb9@byu.net>
14131
14132         rmdir: ensure correct dependency order
14133         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
14134
14135 2009-09-17  Bruno Haible  <bruno@clisp.org>
14136
14137         Disable assertion that fails on NetBSD 5 / i386.
14138         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
14139         Reported by Sam Steingold <sds@gnu.org>
14140         and Hasso Tepper <hasso@netbsd.org>.
14141
14142 2009-09-16  Eric Blake  <ebb9@byu.net>
14143
14144         unlinkdir: port to mingw
14145         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
14146         on which no one can unlink a directory.
14147
14148         stdlib: sort witness names
14149         * modules/stdlib (Makefile.am): Sort replacements.
14150         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
14151         * lib/stdlib.in.h: Likewise.
14152
14153         parse-duration-tests: avoid link failure
14154         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
14155         LIBINTL.
14156         Reported by Tom G. Christensen.
14157
14158         openat-tests: ensure unlinkat behaves like rmdir
14159         * tests/test-rmdir.c (main): Factor guts...
14160         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
14161         * modules/rmdir-tests (Files): Ship new file.
14162         * modules/openat-tests: New test.
14163         * tests/test-unlinkat.c: Likewise.
14164
14165         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
14166         * modules/rmdir-errno (Status, Notice): Now obsolete.
14167
14168         rmdir: work around cygwin 1.5.x and mingw bugs
14169         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
14170         * lib/rmdir.c (rmdir): Work around it.
14171         * modules/rmdir (Status, Notice): No longer obsolete.
14172         (Files): Add dos.m4.
14173         (Depends-on): Add unistd.
14174         (configure.ac): Set witnesses.
14175         (License): Relax to LGPLv2+.
14176         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
14177         * modules/unistd (Makefile.am): Substitute witnesses.
14178         * lib/unistd.in.h (rmdir): Declare replacement.
14179         * doc/posix-functions/rmdir.texi (rmdir): Document this.
14180         * modules/rmdir-tests: New tests.
14181         * tests/test-rmdir.c: Likewise.
14182
14183 2009-09-15  Eric Blake  <ebb9@byu.net>
14184
14185         fchdir: improve use of replacement functions
14186         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
14187         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
14188         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
14189         REPLACE_CLOSEDIR.
14190         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
14191         * modules/sys_stat (Makefile.am): Substitute correct witness.
14192         * modules/dirent (Makefile.am): Likewise.
14193         * modules/unistd (Makefile.am): Likewise.
14194         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
14195         * lib/unistd.in.h (dup): Likewise.
14196         * lib/sys_stat.in.h (fstat): Likewise.
14197
14198         maint: ignore gnulib-tool temp files
14199         * .gitignore: Ignore files created during gnulib-tool --test.
14200
14201 2009-09-13  Jim Meyering  <meyering@redhat.com>
14202
14203         posixtm: don't reject a time that specify "60" as the number of seconds
14204         * lib/posixtm.c (posixtime): The code to reject invalid dates
14205         would also reject a time specified with the .60 suffix.
14206         But POSIX allows that, in order to accommodate leap seconds.
14207         So don't reject it.
14208         (main): Adjust tests accordingly.
14209         * modules/posixtm (Depends-on): Add stpcpy.
14210
14211 2009-09-11  Jim Meyering  <meyering@redhat.com>
14212
14213         announce-gen: include [$release_type] in emitted Subject:
14214         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
14215         e.g., [stable] in the emitted Subject: line.
14216
14217 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14218
14219         Remove obsolete macros from several modules.
14220         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
14221         obsolete Autoconf macros with their modern counterparts.
14222         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
14223         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
14224         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
14225         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
14226         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
14227         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
14228         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
14229         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
14230         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
14231         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
14232         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
14233         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
14234         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
14235         * m4/sockets.m4 (gl_SOCKETS): Likewise.
14236         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
14237         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
14238         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
14239         * m4/time_r.m4 (gl_TIME_R): Likewise.
14240         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
14241         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
14242         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
14243
14244         Fix copyright header in build-aux scripts.
14245         * build-aux/git-version-gen: Fix copyright header to match GPLv3
14246         recommendation.
14247         * build-aux/ncftpput-ftp: Likewise.
14248         * build-aux/update-copyright: Likewise.
14249
14250 2009-09-09  Eric Blake  <ebb9@byu.net>
14251
14252         test-link: allow Linux choice of errno
14253         * tests/test-link.c (main): Relax test for alternate error.
14254
14255         strndup: fix improper m4 caching
14256         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
14257         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
14258         (gl_PREREQ_STRNDUP): Delete.
14259         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
14260         * modules/string (Makefile.am): Substitute it.
14261         * lib/string.in.h (strndup): Modernize prototype.
14262
14263         getcwd: port to mingw
14264         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
14265         different from the POSIX assumptions made throughout the getcwd
14266         module; fortunately, the mingw getcwd does not need replacement.
14267         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
14268         * modules/getcwd-tests: New test.
14269         * tests/test-getcwd.c: Likewise.
14270
14271         link: fix platform bugs
14272         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
14273         * lib/link.c (link): Work around them.  Fix related mingw bug.
14274         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
14275         * modules/unistd (Makefile.am): Substitute it.
14276         * lib/unistd.in.h (link): Declare replacement.
14277         * doc/posix-functions/link.texi (link): Document this.
14278         * modules/link (Depends-on): Add strdup-posix, sys_stat.
14279
14280         test-link: consolidate into single C program, test more cases
14281         * tests/test-link.sh: Delete.
14282         * tests/test-link.c: Test more error conditions.  Exposes bugs on
14283         at least Cygwin and Solaris.
14284         * modules/link-tests (Files): Remove unused file.
14285         (Depends-on): Add errno, sys_stat.
14286         (Makefile.am): Simplify.
14287
14288 2009-09-08  Bruno Haible  <bruno@clisp.org>
14289
14290         Work around towlower, towupper bug on mingw.
14291         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
14292         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
14293         * doc/posix-functions/towlower.texi: Mention the mingw bug.
14294         * doc/posix-functions/towupper.texi: Likewise.
14295         Reported by Eric Blake.
14296
14297 2009-09-08  Jim Meyering  <meyering@redhat.com>
14298
14299         build: don't try to run autoheader if we don't use it
14300         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
14301         is not used in configure.ac.
14302
14303 2009-09-08  Eric Blake  <ebb9@byu.net>
14304
14305         euidaccess: fix compilation error
14306         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
14307
14308         rawmemchr: relax license
14309         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
14310         okay.
14311         Reported by Jim Meyering.
14312
14313         mkfifoat: new module
14314         * modules/mkfifoat: New file.
14315         * lib/mkfifoat.c: Likewise.
14316         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
14317         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
14318         * modules/sys_stat (Makefile.am): Use them.
14319         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
14320         * MODULES.html.sh (File system functions): Mention module.
14321         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
14322         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
14323         * modules/mkfifoat-tests: New test.
14324         * tests/test-mkfifoat.c: Likewise.
14325
14326         strchrnul: relax license
14327         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
14328         okay.
14329         Reported by Jim Meyering.
14330
14331 2009-09-08  Eric Blake  <ebb9@byu.net>
14332
14333         fstatat: fix compilation on Solaris
14334         * lib/fstatat.c (includes): Add fcntl.h.
14335         Reported by Pádraig Brady.
14336
14337 2009-09-07  Eric Blake  <ebb9@byu.net>
14338
14339         rename: modernize replacement
14340         * modules/rename (Depends-on): Add stdio.
14341         (configure.ac): Declare witness.
14342         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
14343         stdio take care of replacement.
14344         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
14345         * modules/stdio (Makefile.am): Substitute them.
14346         * lib/stdio.in.h (rename): Declare replacement.
14347         * lib/rename.c (includes): Allow cross-compilation to non-windows
14348         machines.
14349         * doc/posix-functions/rename.texi (rename): Improve
14350         documentation.
14351
14352         stdio: sort witness names
14353         * modules/stdio (Makefile.am): Sort replacements.
14354         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
14355         * lib/stdio.in.h: Likewise.
14356
14357         getcwd: minor cleanups
14358         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
14359         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
14360
14361         openat: provide more convenience names
14362         * modules/faccessat (configure.ac): Add C witness.
14363         * lib/unistd.in.h (readlinkat): Fix typo.
14364         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
14365         convenience wrappers.
14366         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
14367         wrappers in syntax checks.
14368
14369 2009-09-06  Eric Blake  <ebb9@byu.net>
14370
14371         doc: fix comments in recent patches
14372         * lib/faccessat.c: Mention correct function.
14373         * lib/fchmodat.c: Likewise.
14374         * lib/fchownat.c: Likewise.
14375         * lib/symlinkat.c: Likewise.
14376         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
14377         constants.
14378
14379         faccessat, symlinkat: continue cleanup of previous patch
14380         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
14381         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
14382         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
14383         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
14384         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
14385         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
14386         set.
14387
14388 2009-09-06  Bruno Haible  <bruno@clisp.org>
14389
14390         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
14391         (fstatat): Declare if GNULIB_FSTATAT is set.
14392         (mkdirat): Declare if GNULIB_MKDIRAT is set.
14393         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
14394         (unlinkat): Declare if GNULIB_UNLINKAT is set.
14395         * modules/fcntl-h (Files): Remove m4/openat.m4.
14396         * modules/sys_stat (Files): Remove m4/openat.m4.
14397         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
14398         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
14399         * modules/unistd (Files): Remove m4/openat.m4.
14400         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
14401         GNULIB_OPENAT.
14402         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
14403         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
14404         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
14405         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
14406         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
14407         gl_OPENAT_DEFAULTS.
14408         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
14409         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
14410         Don't require gl_OPENAT_DEFAULTS.
14411         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
14412         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
14413         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
14414         (gl_OPENAT_DEFAULTS): Remove macro.
14415
14416 2009-09-06  Bruno Haible  <bruno@clisp.org>
14417
14418         * modules/openat (configure.ac): Remove unneeded witness.
14419
14420 2009-09-06  Bruno Haible  <bruno@clisp.org>
14421
14422         Set errno to ENOSYS when a function is entirely unsupported.
14423         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
14424         EOPNOTSUPP.
14425         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
14426         * modules/chown (Depends-on): Remove errno.
14427
14428 2009-09-06  Bruno Haible  <bruno@clisp.org>
14429
14430         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
14431
14432 2009-09-06  Bruno Haible  <bruno@clisp.org>
14433
14434         * lib/sys_stat.in.h: Fix preprocessor command indentation.
14435
14436 2009-09-06  Ben Pfaff  <blp@gnu.org>
14437             Bruno Haible  <bruno@clisp.org>
14438
14439         Work around a glibc bug in strtok_r.
14440         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
14441         Undefine if UNDEFINE_STRTOK_R is set.
14442         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
14443         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
14444         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
14445         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
14446         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
14447         UNDEFINE_STRTOK_R.
14448         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
14449
14450 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
14451
14452         exclude: minor fix
14453         * lib/exclude.c: Include wctype.h
14454
14455 2009-09-06  Akim Demaille  <demaille@gostai.com>
14456
14457         bootstrap: improve error message
14458         * build-aux/bootstrap (find_tool): Upon failure, report the list
14459         of candidates.
14460         Honor the initial value of the envvar.
14461
14462 2009-09-05  Eric Blake  <ebb9@byu.net>
14463
14464         symlinkat: new module
14465         * modules/symlinkat: New file.
14466         * lib/symlinkat.c: Likewise.
14467         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
14468         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
14469         * modules/unistd (Makefile.am): Use them.
14470         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
14471         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
14472         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
14473         * MODULES.html.sh (File system functions): Mention module.
14474         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
14475         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
14476         * modules/symlinkat-tests: New test.
14477         * tests/test-symlinkat.c: Likewise.
14478
14479         test-openat-safer: add more checks
14480         * tests/test-openat-safer.c (main): Check more code paths.
14481
14482 2009-09-05  Jim Meyering  <meyering@redhat.com>
14483
14484         syntax-check: detect unnecessary inclusion of openat.h
14485         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
14486
14487 2009-09-05  Bruno Haible  <bruno@clisp.org>
14488
14489         Support towlower, towupper.
14490         * doc/posix-functions/towlower.texi: Mention module wctype.
14491         * doc/posix-functions/towupper.texi: Likewise.
14492         * lib/wctype.in.h (towlower, towupper): New functions.
14493         * tests/test-wctype.c: Include stdio.h, stdlib.h.
14494         (ASSERT): New macro.
14495         (e): New variable.
14496         (main): Test also towlower, towupper. Test WEOF argument.
14497         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
14498
14499 2009-09-05  Bruno Haible  <bruno@clisp.org>
14500
14501         Fix conversion behaviour when the input is invalid.
14502         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
14503         mark occurring in first pass of indirect conversion.
14504         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
14505         input.
14506         Found by clang's static analyzer.
14507
14508 2009-09-05  Bruno Haible  <bruno@clisp.org>
14509
14510         * tests/test-striconveh.c (main): Test indirect conversion on platforms
14511         where direct conversion is possible.
14512
14513 2009-09-04  Eric Blake  <ebb9@byu.net>
14514
14515         openat: fail with ENOENT on empty name
14516         * lib/openat-proc.c (openat_proc_name): Special-case the empty
14517         buffer.
14518
14519         link-follow: fix logic bug in prior patch
14520         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
14521         reversed sense of yes and no in prior patch.  Avoid confusing
14522         compilation failure with desired semantics.
14523
14524         link-follow: accomodate mingw and cross-compilation
14525         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
14526         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
14527         cross-compilation results to -1, to make linkat easier to
14528         implement when cross-compiling.  Trivially support mingw.
14529         * modules/link-follow (configure.ac): Call new name.
14530         * NEWS: Mention this.
14531
14532 2009-09-03  Eric Blake  <ebb9@byu.net>
14533
14534         faccessat: compile replacement
14535         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
14536         needed.
14537
14538         fts: fix compilation error
14539         * lib/fts.c (includes): Re-add "openat.h", for
14540         openat_needs_fchdir.
14541
14542         faccessat: new module
14543         * modules/faccessat: New file.
14544         * lib/faccessat.c: Likewise.
14545         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
14546         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
14547         * modules/unistd (Makefile.am): Use it.
14548         * lib/unistd.in.h (faccessat): Declare it.
14549         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
14550         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
14551         * MODULES.html.sh (File system functions): Mention it.
14552         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
14553         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
14554
14555         euidaccess: prefer POSIX over non-standard implementation
14556         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
14557         * lib/euidaccess.c (euidaccess): Use it if available.
14558
14559         openat: make template easier to use
14560         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
14561         AT_FUNC_F2 to be undefined.
14562         (VALIDATE_FLAG): New macro; use it to reject bad flags.
14563         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
14564         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
14565         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
14566         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
14567         Likewise.
14568         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
14569         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
14570         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
14571         Likewise.
14572
14573         openat: declare in POSIX headers
14574         * NEWS: Mention this.
14575         * modules/openat (configure.ac): Declare witnesses.
14576         (Depends-on): Add fcntl-h, sys_stat, unistd.
14577         (Include): Mention correct headers.
14578         * modules/fcntl-h (Depends-on): Add link-warning.
14579         (Files): Add openat.m4.
14580         (Makefile.am): Substitute witnesses.
14581         * modules/sys_stat (Files, Makefile.am): Likewise.
14582         * modules/unistd (Files, Makefile.am): Likewise.
14583         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
14584         (gl_OPENAT_DEFAULTS): New macro.
14585         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
14586         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
14587         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
14588         (SYS_STAT_H): Remove unused variable.
14589         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
14590         * lib/fcntl--.h (includes): Remove unneeded header.
14591         * lib/openat-safer.c (includes): Likewise.
14592         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
14593         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
14594         appropriate headers.
14595         (__OPENAT_PREFIX): Delete.
14596         * lib/fcntl.in.h (openat): Provide declaration.
14597         (AT_FDCWD): Fix Solaris bug.
14598         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
14599         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
14600         * lib/fchmodat.c (includes):  Adjust to find declaration.
14601         * lib/fchownat.c (includes): Likewise.
14602         * lib/mkdirat.c (includes): Likewise.
14603         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
14604         still visible.
14605
14606 2009-09-02  Eric Blake  <ebb9@byu.net>
14607
14608         errno: use consistently
14609         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
14610         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
14611         * lib/canonicalize.c (ELOOP): Likewise.
14612         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
14613         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
14614         * lib/lchown.c (EOPNOTSUPP): Likewise.
14615         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
14616         * lib/savewd.c (ESTALE): Likewise.
14617         * lib/settime.c (ENOSYS): Likewise.
14618         * lib/utimens.c (ENOSYS): Likewise.
14619         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
14620         * lib/chdir-safer.c (ELOOP): Likewise.
14621         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
14622         * modules/c-stack (Depends-on): Add errno.
14623         * modules/canonicalize (Depends-on): Likewise.
14624         * modules/chdir-safer (Depends-on): Likewise.
14625         * modules/fdopendir (Depends-on): Likewise.
14626         * modules/inet_ntop (Depends-on): Likewise.
14627         * modules/inet_pton (Depends-on): Likewise.
14628         * modules/lchown (Depends-on): Likewise.
14629         * modules/openat (Depends-on): Likewise.
14630         * modules/savewd (Depends-on): Likewise.
14631         * modules/settime (Depends-on): Likewise.
14632         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
14633
14634         fts: avoid leaking fds
14635         * modules/fts (Depends-on): Add cloexec.
14636         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
14637         flag.
14638
14639         fts: make directory fds more robust
14640         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
14641         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
14642
14643         backupfile, chdir-long, fts, savedir: make safer
14644         * lib/backupfile.c (includes): Use "dirent--.h", since
14645         numbered_backup can write to stderr during readdir.
14646         * lib/savedir.c (includes): Likewise.
14647         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
14648         emulation can write to stderr on failure.
14649         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
14650         * lib/getcwd.c: Document why opendir_safer is unused.
14651         * lib/glob.c: Likewise.
14652         * lib/scandir.c: Likewise.
14653         * lib/openat-proc.c: Likewise, for open_safer.
14654         * modules/backupfile (Depends-on): Add dirent-safer.
14655         * modules/savedir (Depends-on): Likewise.
14656         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
14657         * modules/chdir-long (Depends-on): Add openat-safer.
14658
14659         openat-safer: new module
14660         * modules/openat-safer: New file.
14661         * lib/openat-safer.c: Likewise.
14662         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
14663         * lib/fcntl-safer.h (openat_safer): Declare.
14664         * lib/fcntl--.h (openat): Override.
14665         * MODULES.html.sh (File descriptor based I/O): Mention it.
14666         * lib/openat.h: Add double-inclusion guards.
14667         * lib/openat.c (includes): Only include "fcntl-safer.h", not
14668         "fcntl--.h", so we can implement openat.
14669         * modules/openat-safer-tests: New test.
14670         * tests/test-openat-safer.c: New file.
14671
14672         dirent-safer: new module
14673         * modules/dirent-safer: New file.
14674         * lib/dirent--.h: Likewise.
14675         * lib/dirent-safer.h: Likewise.
14676         * lib/opendir-safer.c: Likewise.
14677         * m4/dirent-safer.m4: Likewise.
14678         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
14679         * modules/dirent-safer-tests: New test.
14680         * tests/test-dirent-safer.c: New file.
14681         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
14682
14683         fdopendir: optimize on mingw
14684         * lib/unistd.in.h (_gl_directory_name): New prototype.
14685         * lib/fchdir.c (_gl_directory_name): Implement it.
14686         (fchdir): Use it to simplify implementation.
14687         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
14688         fchdir, when available, to avoid calling [f]chdir().
14689
14690         fdopendir: split into its own module
14691         * lib/openat.c (fdopendir): Move...
14692         * lib/fdopendir.c: ...into new file.
14693         * modules/fdopendir: New module.
14694         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
14695         * modules/openat (Depends-on): Add fdopendir.
14696         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
14697         fdopendir here.
14698         * modules/savedir (Depends-on): Only need fdopendir, not full
14699         openat.
14700         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
14701         * lib/openat.h (fdopendir): Drop prototype.
14702         * lib/dirent.in.h (fdopendir): Provide prototype.
14703         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
14704         * modules/dirent (Makefile.am): Substitute them.
14705         * MODULES.html.sh (File system functions): Mention it.
14706         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
14707         * modules/fdopendir-tests: New file.
14708         * tests/test-fdopendir.c: Likewise.
14709
14710         fchdir: use more consistent macro convention
14711         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
14712         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
14713         REPLACE_FCHDIR, rather than relying on config.h macros.
14714         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
14715         inside a single make-time REPLACE_FCHDIR block, rather than using
14716         the config.h FCHDIR_REPLACEMENT.
14717         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
14718         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
14719         Manage fstat replacement.
14720         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
14721         REPLACE_FCHDIR.
14722         * modules/sys_stat (Files): Add m4/unistd_h.m4.
14723         (Makefile.am): Substitute REPLACE_FCHDIR.
14724         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
14725         FCHDIR_REPLACEMENT.
14726         * lib/dup-safer.c (dup_safer): Likewise.
14727         * lib/dup2.c (rpl_dup2): Likewise.
14728         * lib/dup3.c (rpl_dup3): Likewise.
14729         * lib/open.c (rpl_open): Likewise.
14730
14731         fchdir: simplify error handling, and support dup3
14732         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
14733         stdbool, malloc-posix, realloc-posix.
14734         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
14735         (ensure_dirs_slot): Return false on allocation failure.
14736         (rpl_dup2): Delete.
14737         (_gl_register_dup): New function.
14738         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
14739         (_gl_register_fd): Close fd on allocation failure.
14740         * lib/fcntl.in.h (_gl_register_fd): Update signature.
14741         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
14742         prototype.
14743         (rpl_dup2_fchdir): Delete prototype.
14744         * lib/open.c (open): Update caller.
14745         * lib/dup2.c (dup2): Track fchdir metadata.
14746         * lib/dup3.c (dup3): Likewise.
14747         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
14748         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
14749
14750 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14751
14752         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
14753         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
14754         don't pass arguments to AC_OUTPUT.
14755
14756 2009-09-02  Bruno Haible  <bruno@clisp.org>
14757
14758         * modules/mkdtemp (License): Relicense under LGPLv2+.
14759         Reported by Paolo Bonzini.
14760
14761 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14762
14763         Replace uses of obsolete autoconf macros in Jim's modules.
14764         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
14765         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
14766         can evoke a warning from autoconf when run with -Wobsolete
14767         enabled.  They were declared obsolete for good reasons (see
14768         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
14769         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
14770         should not continue using the deprecated macros.
14771         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
14772         obsolete Autoconf macros with modern counterparts.
14773         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
14774         * m4/dos.m4 (gl_AC_DOS): Likewise.
14775         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
14776         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
14777         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
14778         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
14779         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
14780         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
14781         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
14782         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
14783         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
14784         Likewise.
14785         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
14786         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
14787         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
14788         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
14789         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
14790         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
14791
14792 2009-09-01  Eric Blake  <ebb9@byu.net>
14793
14794         fchdir: fix off-by-one bug in previous patch
14795         * lib/fchdir.c (rpl_fstat): Use correct bounds.
14796         (_gl_unregister_fd): Delete useless if.
14797
14798 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
14799
14800         maint.mk: sort the list of syntax-check rules
14801         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
14802         easier to get a sense of progress when the rules are run sequentially
14803         and take a long time.
14804
14805 2009-09-01  Simon Josefsson  <simon@josefsson.org>
14806
14807         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
14808         * modules/netinet_in: Likewise.
14809         * modules/sys_file: Likewise.
14810         * modules/sys_ioctl: Likewise.
14811         * modules/sys_select: Likewise.
14812         * modules/sys_socket: Likewise.
14813         * modules/sys_stat: Likewise.
14814         * modules/sys_time: Likewise.
14815         * modules/sys_times: Likewise.
14816         * modules/sys_utsname: Likewise.
14817         * modules/sys_wait: Likewise.
14818
14819 2009-09-01  Jim Meyering  <meyering@redhat.com>
14820
14821         fts: help ensure that return values are not ignored
14822         * lib/fts_.h (__GNUC_PREREQ): Define.
14823         (__attribute_warn_unused_result__): Define.
14824         (fts_children, fts_close, fts_open, fts_read): Declare with
14825         __attribute_warn_unused_result__.
14826
14827         fts: fts_close now fails also when closing a dir file descriptor fails
14828         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
14829         and propagate to caller, along with errno.
14830
14831         announce-gen: correct formatting in --help output
14832         * build-aux/announce-gen (usage): Move the one-line description in
14833         --help output "up", to where it belongs, just after Usage:.
14834
14835 2009-08-31  Eric Blake  <ebb9@byu.net>
14836
14837         fchdir: port to mingw
14838         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
14839         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
14840         opened, then use a substitute.
14841         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
14842         replacement.
14843         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
14844         (_gl_register_fd): No need to check stat if open already filters
14845         all directories.
14846         (fchdir): Fix error condition to match POSIX.
14847         * modules/fchdir (Depends-on): Add sys_stat.
14848         * doc/posix-functions/open.texi (open): Document the limitation.
14849         * modules/fchdir-tests: New file.
14850         * tests/test-fchdir.c: Likewise.
14851
14852         canonicalize: allow cross-testing from cygwin to mingw
14853         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
14854         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
14855         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
14856         Likewise.
14857         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
14858         target does not support symlinks.
14859         * tests/test-canonicalize-lgpl.sh: Likewise.
14860
14861         chown: avoid compilation warning on mingw
14862         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
14863         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
14864         mingw.
14865         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
14866         * modules/chown (Depends-on): Add errno.
14867
14868 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
14869
14870         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
14871         command.
14872
14873 2009-08-31  Jim Meyering  <meyering@redhat.com>
14874
14875         canonicalize: remove useless initialization
14876         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
14877         initialization of local, "end".
14878
14879 2009-08-30  Bruno Haible  <bruno@clisp.org>
14880
14881         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
14882         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
14883         ENOSYS.
14884
14885 2009-08-30  Bruno Haible  <bruno@clisp.org>
14886
14887         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
14888         /usr/xpg4/bin/tr when it exists.
14889         * tests/test-pipe-filter-gi1.sh: Likewise.
14890
14891 2009-08-30  Bruno Haible  <bruno@clisp.org>
14892
14893         Work around deficient /usr/bin/id program on Solaris.
14894         * tests/test-file-has-acl.sh (ID): New variable.
14895         * tests/test-set-mode-acl.sh (ID): Likewise.
14896         * tests/test-copy-acl.sh (ID): Likewise.
14897         * tests/test-copy-file.sh (ID): Likewise.
14898
14899 2009-08-30  Bruno Haible  <bruno@clisp.org>
14900
14901         New module 'xstriconveh'.
14902         * lib/xstriconveh.h: New file.
14903         * lib/xstriconveh.c: New file.
14904         * modules/xstriconveh: New file.
14905
14906 2009-08-30  Bruno Haible  <bruno@clisp.org>
14907
14908         Make it easier to use mem_cd_iconveh.
14909         * lib/striconveh.h (iconveh_t): New type.
14910         (iconveh_open, iconveh_close): New declarations.
14911         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
14912         with a single 'const iconveh_t *' argument.
14913         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
14914         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
14915         with a single 'const iconveh_t *' argument.
14916         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
14917         * tests/test-striconveh.c (main): Update.
14918         * NEWS: Mention the change.
14919
14920 2009-08-30  Bruno Haible  <bruno@clisp.org>
14921
14922         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
14923         problem.
14924
14925 2009-08-30  Bruno Haible  <bruno@clisp.org>
14926
14927         Work around iconv_open problem on Solaris.
14928         * lib/iconv_open-solaris.gperf: New file.
14929         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
14930         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
14931         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
14932         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
14933         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
14934         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
14935
14936 2009-08-29  Jim Meyering  <meyering@redhat.com>
14937
14938         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
14939         * top/maint.mk (cvs-check): Remove target; it was just an alias
14940         to the better-named vc-diff-check.
14941         (maintainer-distcheck): Remove rule.  It was used only from
14942         the (alpha/beta/major) target, and all of its commands but one
14943         were coreutils-specific.
14944         (vc-dist): Remove rule.
14945         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
14946         Run vc-diff-check, not vc-dist.
14947         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
14948
14949 2009-08-27  Bruno Haible  <bruno@clisp.org>
14950
14951         * tests/test-bitrotate.c (main): Remove test that uses a shift count
14952         of 0.
14953
14954 2009-08-27  Bruno Haible  <bruno@clisp.org>
14955
14956         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
14957         compilers.
14958         * doc/func.texi: Document the SunPRO C bug.
14959
14960 2009-08-27  Bruno Haible  <bruno@clisp.org>
14961
14962         Fix link error on Solaris.
14963         * tests/test-parse-duration.c (xstrdup): Remove function.
14964
14965 2009-08-26  Pádraig Brady  <P@draigbrady.com>
14966
14967         ignore-value: handle pointer types, too
14968         * lib/ignore-value.h (__attribute__): Remove definition.
14969         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
14970         of a more concise and more-often effective "(void) i" statement.
14971         (ignore_ptr): New function to suppress warnings from functions that
14972         return pointers, and to make it explicit that one function doesn't
14973         handle all cases.
14974
14975 2009-08-25  Bruno Haible  <bruno@clisp.org>
14976
14977         dup2: work around a Linux bug.
14978         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
14979         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
14980         * doc/posix-functions/dup2.texi: Mention the Linux bug.
14981         Reported by Simon Josefsson.
14982
14983 2009-08-25  Jim Meyering  <meyering@redhat.com>
14984
14985         libguestfs uses gnulib
14986         * users.txt: Add libguestfs.
14987
14988 2009-08-24  Eric Blake  <ebb9@byu.net>
14989
14990         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
14991         * lib/pipe2.c (includes): Add binary-io.h.
14992         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
14993
14994 2009-08-24  Bruno Haible  <bruno@clisp.org>
14995
14996         Tolerate declared but missing accept4 syscall.
14997         * lib/accept4.c (accept4): Invoke original accept4 function first, if
14998         available.
14999         * lib/sys_socket.in.h (accept4): If the function is already present,
15000         override it.
15001         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
15002         * modules/accept4 (Makefile.am): Compile accept4.c always.
15003         Reported by Paolo Bonzini and Eric Blake.
15004
15005 2009-08-23  Bruno Haible  <bruno@clisp.org>
15006
15007         New module 'accept4'.
15008         * lib/sys_socket.in.h (accept4): New declaration.
15009         * lib/accept4.c: New file.
15010         * m4/accept4.m4: New file.
15011         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
15012         GNULIB_ACCEPT4, HAVE_ACCEPT4.
15013         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
15014         HAVE_ACCEPT4.
15015         * modules/accept4: New file.
15016         * doc/glibc-functions/accept4.texi: Mention the new module.
15017
15018 2009-08-24  Jim Meyering  <meyering@redhat.com>
15019
15020         progname: also set global program_invocation_name, when possible
15021         Before this change, a libtool-enabled program that calls glibc's
15022         error function would report the program name as
15023         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
15024         * modules/progname (configure.ac): Check for a declaration of
15025         program_invocation_name.
15026         * lib/progname.c:  Include <errno.h>.
15027         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
15028         Set program_invocation_name.
15029
15030 2009-08-23  Bruno Haible  <bruno@clisp.org>
15031
15032         * lib/dup3.c: Include <string.h>.
15033
15034 2009-08-23  Bruno Haible  <bruno@clisp.org>
15035
15036         * lib/dup3.c (dup3): Test only once whether the system actually exists.
15037         * lib/pipe2.c (pipe2): Likewise.
15038         Suggested by Eric Blake.
15039
15040 2009-08-23  Bruno Haible  <bruno@clisp.org>
15041
15042         Tolerate declared but missing dup3 syscall.
15043         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
15044         * lib/unistd.in.h (dup3): If the function is already present,
15045         override it.
15046         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
15047         * modules/dup3 (Makefile.am): Compile dup3.c always.
15048         Reported by Paolo Bonzini.
15049
15050 2009-08-23  Bruno Haible  <bruno@clisp.org>
15051
15052         Tolerate declared but missing pipe2 syscall.
15053         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
15054         available.
15055         * lib/unistd.in.h (pipe2): If the function is already present,
15056         override it.
15057         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
15058         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
15059         Reported by Paolo Bonzini.
15060
15061 2009-08-23  Bruno Haible  <bruno@clisp.org>
15062
15063         * lib/pipe2.c (pipe2): Move #ifs inside function.
15064
15065 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
15066
15067         quotearg: document limitations of quote_these_too
15068         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
15069         those limitations are created.
15070         * lib/quotearg.h (set_char_quoting): Document that digits and
15071         letters that are special after backslash are not permitted.
15072         (quotearg_char): Cross-reference set_char_quoting documentation.
15073
15074 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
15075
15076         quotearg: implement custom_quoting_style
15077         * lib/quotearg.c: (struct quoting_options): Add left_quote and
15078         right_quote fields.
15079         (set_custom_quoting): New public function.
15080         (quotearg_buffer_restyled): Add left_quote and right_quote
15081         arguments, handle them very much like locale quoting, and update
15082         all uses.
15083         (quotearg_n_custom): New public function.
15084         (quotearg_n_custom_mem): New public function.
15085         (quotearg_custom): New public function.
15086         (quotearg_custom_mem): New public function.
15087         * lib/quotearg.h: Prototype and document new public functions.
15088         (enum quoting_style): For escape_quoting_style and
15089         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
15090         ignored even though they're otherwise like c_quoting_style.
15091         Add custom_quoting_style member and document with comparison to
15092         clocale_quoting_style.
15093         * tests/test-quotearg.c (custom_quotes): New array.
15094         (custom_results): New array.
15095         (main): Extend to test custom quoting.
15096
15097 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
15098
15099         quotearg: fix right quote escaping when it's in quote_these_too
15100         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
15101         quote, be sure to prepend only one backslash.
15102         * tests/test-quotearg.c (use_quote_double_quotes): New function.
15103         (main): Test it.
15104
15105 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
15106
15107         quotearg-tests: test escaping of embedded locale quotes
15108         * tests/test-quotearg.c (struct result_strings): Add member for
15109         new input.
15110         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
15111         (inputs): Add new input.
15112         (results_g): Add expected results.
15113         (flag_results): Likewise.
15114         (locale_results): Likewise.
15115         (compare_strings): Check those.
15116
15117 2009-08-23  Bruno Haible  <bruno@clisp.org>
15118
15119         Tests for module 'dup3'.
15120         * modules/dup3-tests: New file.
15121         * tests/test-dup3.c: New file.
15122
15123         New module 'dup3'.
15124         * lib/unistd.in.h (dup3): New declaration.
15125         * lib/dup3.c: New file.
15126         * m4/dup3.m4: New file.
15127         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
15128         HAVE_DUP3.
15129         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
15130         * modules/dup3: New file.
15131         * doc/glibc-functions/dup3.texi: Mention the new module.
15132
15133 2009-08-23  Bruno Haible  <bruno@clisp.org>
15134
15135         Tweak the dup2 test.
15136         * tests/test-dup2.c (main): Create the test file empty. Verify that an
15137         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
15138         the test file is still empty. Fix argument order of lseek.
15139
15140 2009-08-23  Bruno Haible  <bruno@clisp.org>
15141
15142         Avoid test link errors when the modules getopt-gnu, gettext are used.
15143         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
15144         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15145
15146 2009-08-23  Bruno Haible  <bruno@clisp.org>
15147
15148         Fix getdtablesize() on mingw.
15149         * lib/getdtablesize.c (getdtablesize): Implement differently.
15150         * lib/unistd.in.h (getdtablesize): Improve comment.
15151
15152 2009-08-23  Bruno Haible  <bruno@clisp.org>
15153
15154         New module 'mkostemp'.
15155         Based on Ulrich Drepper's 2007-08-10 change in glibc.
15156         * lib/stdlib.in.h (mksotemp): New declaration.
15157         * lib/mkostemp.c: New file, from glibc with modifications.
15158         * lib/tempname.h (GT_FILE): Remove outdated comment.
15159         (gen_tempname): Add flags argument.
15160         * lib/tempname.c (__GT_BIGFILE): Remove macro.
15161         (__GT_FILE): Map to 1.
15162         (small_open, large_open): Remove macros.
15163         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
15164         * lib/mkstemp.c (mkstemp): Update.
15165         * lib/mkdtemp.c (mkdtemp): Likewise.
15166         * m4/mkostemp.m4: New file.
15167         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
15168         HAVE_MKOSTEMP.
15169         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
15170         HAVE_MKOSTEMP.
15171         * modules/mkostemp: New file, based on modules/mkstemp.
15172         * doc/glibc-functions/mkostemp.texi: Mention the new module.
15173         * NEWS: Mention the change.
15174
15175 2009-08-23  Bruno Haible  <bruno@clisp.org>
15176
15177         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
15178         Reported by Eric Blake.
15179
15180 2009-08-23  Bruno Haible  <bruno@clisp.org>
15181
15182         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
15183         Reported by Eric Blake.
15184
15185 2009-08-23  Bruno Haible  <bruno@clisp.org>
15186
15187         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
15188         * modules/pipe2 (Depends-on): Likewise.
15189
15190 2009-08-23  Eric Blake  <ebb9@byu.net>
15191
15192         fcntl-h: add O_TTY_INIT support
15193         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
15194         * tests/test-fcntl-h.c (o): Test it.
15195         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
15196
15197         fcntl-h: rename from fcntl, in preparation for fcntl(2)
15198         * modules/fcntl: Move <fcntl.h> header replacement...
15199         * modules/fcntl-h: ...to new name, so as not to collide with
15200         like-named function.
15201         * tests/test-fcntl.c: Rename...
15202         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
15203         * modules/fcntl-tests: Rename...
15204         * modules/fcntl-h-tests: ...to this.  Update test file name.
15205         * modules/chdir-long (Depends-on): Update clients.
15206         * modules/chdir-safer (Depends-on): Likewise.
15207         * modules/fcntl-safer (Depends-on): Likewise.
15208         * modules/fts (Depends-on): Likewise.
15209         * modules/mkancesdirs (Depends-on): Likewise.
15210         * modules/mkdir-p (Depends-on): Likewise.
15211         * modules/open (Depends-on): Likewise.
15212         * modules/savewd (Depends-on): Likewise.
15213         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
15214         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
15215
15216 2009-08-22  Bruno Haible  <bruno@clisp.org>
15217
15218         * modules/binary-io (License): Relicense under LGPL.
15219         * modules/pipe2 (License): Likewise.
15220
15221 2009-08-22  Bruno Haible  <bruno@clisp.org>
15222
15223         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
15224         return value.
15225         * lib/pipe-filter-gi.c (filter_init): Likewise.
15226         Reported by Eric Blake.
15227
15228 2009-08-22  Bruno Haible  <bruno@clisp.org>
15229
15230         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
15231         * modules/pipe (Depends-on): Add pipe2.
15232
15233 2009-08-22  Bruno Haible  <bruno@clisp.org>
15234
15235         Tests for module 'pipe2'.
15236         * modules/pipe2-tests: New file.
15237         * tests/test-pipe2.c: New file.
15238
15239         New module 'pipe2'.
15240         * lib/unistd.in.h (pipe2): New declaration.
15241         * lib/pipe2.c: New file.
15242         * m4/pipe2.m4: New file.
15243         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
15244         HAVE_PIPE2.
15245         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
15246         * modules/pipe2: New file.
15247         * doc/glibc-functions/pipe2.texi: Mention the new module.
15248
15249 2009-08-22  Bruno Haible  <bruno@clisp.org>
15250
15251         Reference some new glibc functions.
15252         * doc/glibc-functions/accept4.texi: New file.
15253         * doc/glibc-functions/dup3.texi: New file.
15254         * doc/glibc-functions/mkostemp.texi: New file.
15255         * doc/glibc-functions/pipe2.texi: New file.
15256         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
15257         (Glibc sys/socket.h): Refer to accept4.
15258         (Glibc unistd.h): Refer to dup3, pipe2.
15259         Reported by Eric Blake.
15260
15261 2009-08-22  Jim Meyering  <meyering@redhat.com>
15262             Bruno Haible  <bruno@clisp.org>
15263
15264         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
15265         This makes it so packages using automake-1.11's silent-rules option
15266         can print e.g., a single "GEN    configmake.h" line, rather than
15267         the 30+ statements that perform the job.  If you want to see the
15268         actual commands, you can still run "make V=1".
15269         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
15270         so that make output is abbreviated when those variables are defined
15271         appropriately.
15272         * modules/argz: Likewise.
15273         * modules/arpa_inet: Likewise.
15274         * modules/byteswap: Likewise.
15275         * modules/configmake: Likewise.
15276         * modules/dirent: Likewise.
15277         * modules/errno: Likewise.
15278         * modules/fcntl: Likewise.
15279         * modules/float: Likewise.
15280         * modules/fnmatch: Likewise.
15281         * modules/getopt-posix: Likewise.
15282         * modules/glob: Likewise.
15283         * modules/iconv_open: Likewise.
15284         * modules/inttypes: Likewise.
15285         * modules/localcharset: Likewise.
15286         * modules/locale: Likewise.
15287         * modules/math: Likewise.
15288         * modules/netdb: Likewise.
15289         * modules/netinet_in: Likewise.
15290         * modules/poll: Likewise.
15291         * modules/posix_spawnp-tests: Likewise.
15292         * modules/sched: Likewise.
15293         * modules/search: Likewise.
15294         * modules/selinux-h: Likewise.
15295         * modules/signal: Likewise.
15296         * modules/spawn: Likewise.
15297         * modules/stdarg: Likewise.
15298         * modules/stdbool: Likewise.
15299         * modules/stddef: Likewise.
15300         * modules/stdint: Likewise.
15301         * modules/stdio: Likewise.
15302         * modules/stdlib: Likewise.
15303         * modules/string: Likewise.
15304         * modules/strings: Likewise.
15305         * modules/sys_file: Likewise.
15306         * modules/sys_ioctl: Likewise.
15307         * modules/sys_select: Likewise.
15308         * modules/sys_socket: Likewise.
15309         * modules/sys_stat: Likewise.
15310         * modules/sys_time: Likewise.
15311         * modules/sys_times: Likewise.
15312         * modules/sys_utsname: Likewise.
15313         * modules/sys_wait: Likewise.
15314         * modules/sysexits: Likewise.
15315         * modules/time: Likewise.
15316         * modules/unistd: Likewise.
15317         * modules/wchar: Likewise.
15318         * modules/wctype: Likewise.
15319
15320 2009-08-22  Jim Meyering  <meyering@redhat.com>
15321
15322         announce-gen: detect write failure
15323         * build-aux/announce-gen: Add Coda at end.
15324         Remove equivalent-but-more-verbose block at top.
15325
15326 2009-08-19  Akim Demaille  <demaille@gostai.com>
15327
15328         bootstrap: --help to stdout.
15329         * bootstrap (usage): Don't send --help to stderr.
15330         Use a here doc instead of a long string.
15331
15332 2009-08-21  Eric Blake  <ebb9@byu.net>
15333
15334         test-popen-safer: split from test-popen
15335         * tests/test-popen.c (main): Move...
15336         * tests/test-popen.h: ...into new file.
15337         * tests/test-popen-safer2.c: New file.
15338         * modules/popen-tests (Files): Add test-popen.h.
15339         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
15340         Suggested by Bruno Haible.
15341
15342         test-fcntl-safer: split from test-open
15343         * tests/test-open.c (main): Move...
15344         * tests/test-open.h: ...into new file.
15345         * tests/test-fcntl-safer.c: New file.
15346         * modules/open-tests (Files): Add test-open.h.
15347         * modules/fcntl-safer-tests: New file.
15348         Suggested by Bruno Haible.
15349
15350         test-fopen-safer: split from test-fopen
15351         * tests/test-fopen.c (main): Move...
15352         * tests/test-fopen.h: ...into new file.
15353         * tests/test-fopen-safer.c: New file.
15354         * modules/fopen-tests (Files): Add test-fopen.h.
15355         * modules/fopen-safer-tests: New file.
15356         Suggested by Bruno Haible.
15357
15358 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
15359
15360         popen-safer: test O_CLOEXEC at run-time.
15361         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
15362
15363 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
15364
15365         fcntl: move more flags to the header
15366         * lib/cloexec.c: Do not define FD_CLOEXEC here.
15367         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
15368         * lib/fcntl.in.h: Do both things here.
15369
15370 2009-08-21  Jim Meyering  <meyering@redhat.com>
15371
15372         consistently remove $@-t before redirecting to it
15373         * modules/argz: Remove $@-t and $@ before redirecting to the former.
15374         * modules/alloca-opt: Likewise.
15375         * modules/byteswap: Likewise.
15376         * modules/fnmatch: Likewise.
15377         * modules/getopt-posix: Likewise.
15378         * modules/glob: Likewise.
15379         * modules/poll: Likewise.
15380         * modules/posix_spawnp-tests: Likewise.
15381         * modules/sys_socket: Likewise.
15382         * modules/sysexits: Likewise.
15383
15384 2009-08-21  Eric Blake  <ebb9@byu.net>
15385
15386         popen: simplify access to original popen
15387         * lib/popen.c (rpl_popen): No need to worry about popen being a
15388         macro.
15389         Reported by Bruno Haible.
15390
15391 2009-08-20  Eric Blake  <ebb9@byu.net>
15392
15393         build: avoid some compiler warnings
15394         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
15395         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
15396         type.
15397         (new_exclude_segment, excluded_file_pattern_p)
15398         (excluded_file_name_p): Reduce scope.
15399         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
15400         old-style declaration.
15401
15402 2009-08-20  Simon Josefsson  <simon@josefsson.org>
15403
15404         * tests/test-exclude1.sh: Handle Windows EOL.
15405         * tests/test-exclude2.sh: Likewise.
15406         * tests/test-exclude3.sh: Likewise.
15407         * tests/test-exclude4.sh: Likewise.
15408         * tests/test-exclude5.sh: Likewise.
15409         * tests/test-exclude6.sh: Likewise.
15410         * tests/test-exclude7.sh: Likewise.
15411
15412 2009-08-19  Akim Demaille  <demaille@gostai.com>
15413
15414         bootstrap: find sha1sum when named gsha1sum.
15415         * bootstrap (find_tool): New.
15416         ($SHA1SUM): New.
15417         Use it.
15418
15419 2009-08-20  Jim Meyering  <meyering@redhat.com>
15420
15421         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
15422         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
15423         expression that converts "." in a file name to "\." in the resulting
15424         regexp.  Start with a dummy statement, so that prior shell variable
15425         definitions are expanded portably.  Reported by Simon Josefsson.
15426
15427 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
15428
15429         Fix polling for writeability of a screen buffer.
15430         * lib/poll.c: Distinguish input and screen buffers for the
15431         Win32 implementation.
15432         * lib/select.c: Likewise.
15433
15434 2009-08-19  Eric Blake  <ebb9@byu.net>
15435
15436         popen-safer: prevent popen from clobbering std descriptors
15437         * modules/popen-safer: New file.
15438         * lib/popen-safer.c: Likewise.
15439         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
15440         * lib/stdio--.h (popen): Provide override.
15441         * lib/stdio-safer.h (popen_safer): Provide declaration.
15442         * tests/test-popen.c (includes): Partially test this.
15443         * modules/popen-safer-tests: New file, for more tests.
15444         * tests/test-popen-safer.c: Likewise.
15445         * MODULES.html.sh (file stream based Input/Output): Mention it.
15446
15447         tests: test some of the *-safer modules
15448         * modules/fopen-safer (Depends-on): Add fopen.
15449         * modules/fcntl-safer (Depends-on): Add fcntl.
15450         * modules/stdlib-safer (Depends-on): Add stdlib.
15451         (configure.ac): Set indicator.
15452         * modules/unistd-safer (configure.ac): Likewise.
15453         * modules/tmpfile-safer (configure.ac): Likewise.
15454         (Depends-on): Add tmpfile.
15455         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
15456         active.
15457         * tests/test-fopen.c (includes): Test safer versions when they are
15458         in use.
15459         * tests/test-open.c (includes): Likewise.
15460
15461         popen: fix cygwin 1.5 bug when stdin closed
15462         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
15463         * modules/popen: New file.
15464         * modules/popen-tests: Likewise.
15465         * tests/test-popen.c: Likewise.
15466         * m4/popen.m4: Likewise.
15467         * lib/popen.c: Likewise.
15468         * lib/stdio.in.h (popen): New declaration.
15469         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
15470         * modules/stdio (Makefile.am): Likewise.
15471         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
15472
15473 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
15474
15475         maint.mk: give full control over update-copyright exclusions
15476         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
15477         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
15478         (update-copyright): Don't force inclusion of top-level
15479         ChangeLog.  Don't force exclusion of all COPYING files, but make
15480         them the default exclusion instead.
15481
15482 2009-08-16  Bruno Haible  <bruno@clisp.org>
15483
15484         Fix test failures on Solaris 10.
15485         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
15486         tests when Solaris iconv() is used.
15487         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
15488         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
15489         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
15490         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
15491         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
15492
15493 2009-08-16  Bruno Haible  <bruno@clisp.org>
15494
15495         Fix test failures on Solaris 10.
15496         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
15497         'tr' program and pass it as first argument.
15498         * tests/test-pipe-filter-gi1.sh: Likewise.
15499         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
15500         program as first argument.
15501         * tests/test-pipe-filter-gi1.c (main): Likewise.
15502
15503 2009-08-16  Eric Blake  <ebb9@byu.net>
15504
15505         fpurge: fix previous commits
15506         * modules/fpurge (Makefile.am): Make replacement conditional,
15507         partially reverting 2007-04-29 change; missed in previous
15508         attempt.
15509         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
15510         is missing.
15511
15512 2009-08-16  Bruno Haible  <bruno@clisp.org>
15513
15514         Clarify fpurge's effect on the file position.
15515         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
15516         * tests/test-fpurge.c (main): Make a second pass for checking the file
15517         position.
15518
15519 2009-08-16  Bruno Haible  <bruno@clisp.org>
15520
15521         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
15522         declaration of fpurge is missing.
15523         * tests/test-fpurge.c (main): Check that the file has not more contents
15524         than expected. Close the file before removing it.
15525
15526 2009-08-15  Eric Blake  <ebb9@byu.net>
15527
15528         fpurge: don't wrap working cygwin implementation
15529         * lib/fpurge.c (fpurge): Fix comment typo.
15530         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
15531         1.7 to avoid replacement.
15532         * tests/test-fpurge.c (main): Enhance test.
15533
15534 2009-08-15  Eric Blake  <ebb9@byu.net>
15535         and Jim Meyering  <meyering@redhat.com>
15536
15537         test-update-copyright: skip if perl is insufficient
15538         * tests/test-update-copyright.sh: Failure to run maintainer tool
15539         should not cause testsuite failure on cygwin 1.5.
15540
15541 2009-08-14  Eric Blake  <ebb9@byu.net>
15542
15543         doc: mention more functions added in cygwin 1.7.0
15544         * doc/posix-headers/limits.texi (limits.h): Update for recent
15545         cygwin additions.
15546         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
15547         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
15548         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
15549         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
15550         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
15551
15552 2009-08-14  Eric Blake  <ebb9@byu.net>
15553
15554         maint.mk: simplify update-copyright rule
15555         * top/maint.mk (update-copyright-local): Delete, and document how
15556         to do it in cfg.mk instead.
15557         (update-copyright-exclude-regexp): Delete, and document how to do
15558         it in .x-update-copyright instead.
15559         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
15560         exclude ChangeLog.
15561
15562 2009-08-14  Bruno Haible  <bruno@clisp.org>
15563
15564         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
15565
15566 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
15567
15568         maint.mk: support update-copyright-env
15569         * top/maint.mk (update-copyright-env): Define place-holder.
15570         (update-copyright): Expand $(update-copyright-env) before
15571         invoking update-copyright.
15572
15573 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
15574
15575         update-copyright: implement forced reformatting
15576         * build-aux/update-copyright: Implement and document
15577         UPDATE_COPYRIGHT_FORCE.
15578         * tests/test-update-copyright.sh: Test it.
15579
15580 2009-08-14  Eric Blake  <ebb9@byu.net>
15581         and Bruno Haible  <bruno@clisp.org>
15582
15583         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
15584         * tests/test-locale.c: Revert previous patch related to NULL.
15585         * tests/test-stdio.c: Likewise.
15586         * tests/test-stdlib.c: Likewise.
15587         * tests/test-string.c: Likewise.
15588         * tests/test-unistd.c: Likewise.
15589         * modules/time-tests (Depends-on): Add verify.
15590         * modules/wchar-tests (Depends-on): Likewise.
15591         * tests/test-time.c: Test for NULL compliance.
15592         * tests/test-wchar.c: Likewise.
15593         * modules/locale (Depends-on): Add stddef.
15594         * modules/stdio (Depends-on): Likewise.
15595         * modules/stdlib (Depends-on): Likewise.
15596         * modules/string (Depends-on): Likewise.
15597         * modules/time (Depends-on): Likewise.
15598         * modules/unistd (Depends-on): Likewise.
15599         * modules/wchar (Depends-on): Likewise.
15600         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
15601         * lib/stdlib.in.h (includes): Likewise.
15602         * lib/string.in.h (includes): Likewise.
15603         * lib/time.in.h (includes): Likewise.
15604         * lib/unistd.in.h (includes): Likewise.
15605         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
15606         replaced.
15607         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
15608         * m4/stddef_h.m4: New file.
15609         * modules/stddef: Likewise.
15610         * lib/stddef.in.h: Likewise.
15611         * modules/stddef-tests: Likewise.
15612         * tests/test-stddef.c: Likewise.
15613         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
15614         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
15615         * doc/posix-headers/locale.texi (locale.h): Likewise.
15616         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
15617         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
15618         * doc/posix-headers/string.texi (string.h): Likewise.
15619         * doc/posix-headers/time.texi (time.h): Likewise.
15620         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
15621         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
15622
15623 2009-08-14  Eric Blake  <ebb9@byu.net>
15624
15625         doc: improve git diff of texinfo files
15626         * .gitattributes: Add rule for *.texi files, with hint on how to
15627         use it.
15628         Copied from m4, and based on a report by Bruno Haible.
15629
15630 2009-08-14  Bruno Haible  <bruno@clisp.org>
15631
15632         Disable multithread support by default on Cygwin 1.5.x for real.
15633         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
15634
15635 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
15636
15637         update-copyright: much ado about intervals
15638         * build-aux/update-copyright: Implement and document
15639         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
15640         of copyright year intervals.
15641         Also, document UPDATE_COPYRIGHT_YEAR.
15642         * tests/test-update-copyright.sh: Test it.
15643
15644         update-copyright: convert 2-digit to 4-digit years
15645         * build-aux/update-copyright: Implement and document.
15646         * tests/test-update-copyright.sh: Update.
15647
15648 2009-08-14  Jim Meyering  <meyering@redhat.com>
15649
15650         test-exclude: avoid coreutils "make check" failure
15651         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
15652         just as in test-argmatch.c.
15653
15654 2009-08-13  Eric Blake  <ebb9@byu.net>
15655
15656         test-dup2: fix bad assumption
15657         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
15658         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
15659
15660         test-version-etc: fix CRLF portability issue
15661         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
15662         recognize \r.
15663         * tests/test-argp-version-etc-1.sh: Likewise.
15664
15665         getopt: update client modules
15666         * modules/argp (Depends-on): Use getopt-gnu.
15667         * modules/git-merge-changelog (Depends-on): Likewise.
15668         * modules/long-options (Depends-on): Likewise.
15669         * modules/xstrtol (Depends-on): Likewise.
15670
15671 2009-08-13  Simon Josefsson  <simon@josefsson.org>
15672
15673         * tests/test-version-etc.sh: Don't fail on different
15674         project/version.  Don't fail on CRLF differences.  Rewrite to use
15675         multiple -e instead of multiple sed forks, suggested by Eric Blake
15676         <ebb9@byu.net>.
15677         * tests/test-argp-version-etc-1.sh: Likewise.
15678
15679 2009-08-13  Simon Josefsson  <simon@josefsson.org>
15680
15681         * tests/test-version-etc.sh: Don't fail on different
15682         project/version.
15683
15684 2009-08-12  Bruno Haible  <bruno@clisp.org>
15685
15686         Tests for modules 'getopt-posix', 'getopt-gnu'.
15687         * modules/getopt-posix-tests: New file.
15688         * tests/test-getopt.c: New file.
15689         * tests/test-getopt.h: New file.
15690         * tests/test-getopt_long.h: New file.
15691
15692         New modules 'getopt-posix', 'getopt-gnu'.
15693         * modules/getopt-gnu: New file, renamed from modules/getopt.
15694         * modules/getopt-posix: New file.
15695         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
15696         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
15697         (gl_GETOPT): Remove macro.
15698         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
15699         Disable the test against BSD systems that declare optreset. Test
15700         against mingw bug. Test against lack of support of optional arguments
15701         on many platforms.
15702         * doc/glibc-headers/getopt.texi: Update module name and list of
15703         relevant platforms.
15704         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
15705         'getopt-gnu' and more portability problems.
15706         * NEWS: Mention the changes.
15707
15708 2009-08-12  Bruno Haible  <bruno@clisp.org>
15709
15710         Ensure that optarg etc. get declared by <unistd.h>.
15711         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
15712         AC_USE_SYSTEM_EXTENSIONS.
15713         * modules/getopt (Depends-on): Add 'extensions'.
15714
15715 2009-08-12  Bruno Haible  <bruno@clisp.org>
15716
15717         Avoid test link errors.
15718         * modules/pipe-filter-ii-tests (Makefile.am): Define
15719         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
15720         * modules/pipe-filter-gi-tests (Makefile.am): Define
15721         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
15722         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15723
15724 2009-08-12  Bruno Haible  <bruno@clisp.org>
15725
15726         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
15727         gl_GETOPT_SUBSTITUTE before.
15728         (gl_GETOPT): Use it.
15729         * m4/argp.m4 (gl_ARGP): Update.
15730         Reported by Sergey Poznyakoff.
15731
15732         * m4/getopt.m4: Reorder macros.
15733         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
15734         (gl_GETOPT_SUBSTITUTE): Remove macro.
15735
15736 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
15737
15738         Minor improvement in gitlog-to-changelog
15739
15740         * build-aux/gitlog-to-changelog: New option `--format' makes
15741         output format string configurable.
15742
15743 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
15744
15745         Optimize exclude: use hash tables for non-wildcard patterns.
15746
15747         * lib/exclude.c: Include hash.h and mbuiter.h
15748         (struct exclude_pattern, exclude_segment): New data types.
15749         (struct exclude): Rewrite.
15750         (fnmatch_pattern_has_wildcards): New function.
15751         (new_exclude_segment, free_exclude_segment): New functions.
15752         (excluded_file_pattern_p, excluded_file_name_p): New functions.
15753         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
15754         * lib/exclude.h (is_fnmatch_pattern): New prototype.
15755         * modules/exclude: Depend on hash and mbuiter.
15756
15757         * modules/exclude-tests: New file.
15758         * tests/test-exclude.c: New file.
15759         * tests/test-exclude1.sh: New file.
15760         * tests/test-exclude2.sh: New file.
15761         * tests/test-exclude3.sh: New file.
15762         * tests/test-exclude4.sh: New file.
15763         * tests/test-exclude5.sh: New file.
15764         * tests/test-exclude6.sh: New file.
15765         * tests/test-exclude7.sh: New file.
15766
15767 2009-08-12  Bruno Haible  <bruno@clisp.org>
15768
15769         Ensure that getopt() gets declared by <unistd.h>.
15770         * lib/unistd.in.h: Conditionally include getopt.h.
15771         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
15772         Set GNULIB_UNISTD_H_GETOPT.
15773         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
15774         GNULIB_UNISTD_H_GETOPT.
15775         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
15776
15777 2009-08-12  Bruno Haible  <bruno@clisp.org>
15778
15779         Clarify logic.
15780         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
15781         gl_replace_getopt instead of GETOPT_H.
15782
15783 2009-08-12  Bruno Haible  <bruno@clisp.org>
15784
15785         * m4/getopt.m4: Add comments.
15786
15787 2009-08-12  Bruno Haible  <bruno@clisp.org>
15788
15789         Disable multithread support by default on Cygwin 1.5.x.
15790         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
15791         set gl_use_threads=no if not specified otherwise.
15792
15793 2009-08-11  Bruno Haible  <bruno@clisp.org>
15794
15795         Avoid compilation error on NetBSD 5.0.
15796         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
15797         * tests/test-stdio.c: Likewise.
15798         * tests/test-stdlib.c: Likewise.
15799         * tests/test-string.c: Likewise.
15800         * tests/test-unistd.c: Likewise.
15801         Reported by Greg Troxel <gdt@ir.bbn.com>
15802         at <https://savannah.gnu.org/support/?106973>.
15803
15804 2009-08-11  Bruno Haible  <bruno@clisp.org>
15805
15806         * modules/dup2-tests (Depends-on): Remove close.
15807
15808         Undo 2009-07-19 commit.
15809         * modules/acl-tests (Depends-on): Remove close.
15810         * modules/binary-io-tests (Depends-on): Likewise.
15811         * modules/closein-tests (Depends-on): Likewise.
15812         * modules/flock-tests (Depends-on): Likewise.
15813         * modules/fsync-tests (Depends-on): Likewise.
15814         * modules/lseek-tests (Depends-on): Likewise.
15815         * modules/pipe-tests (Depends-on): Likewise.
15816         * modules/posix_spawn-tests (Depends-on): Likewise.
15817         * modules/posix_spawnp-tests (Depends-on): Likewise.
15818         * modules/stat-time-tests (Depends-on): Likewise.
15819         * modules/yesno-tests (Depends-on): Likewise.
15820
15821 2009-08-10  Bruno Haible  <bruno@clisp.org>
15822
15823         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
15824
15825 2009-08-10  Bruno Haible  <bruno@clisp.org>
15826
15827         Fix a gcc warning.
15828         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
15829
15830 2009-08-10  Bruno Haible  <bruno@clisp.org>
15831
15832         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
15833         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
15834         not only the first time.
15835         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
15836         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
15837         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
15838         is 1, not only the the first time.
15839
15840 2009-08-10  Bruno Haible  <bruno@clisp.org>
15841
15842         Make it possible to use module 'gethostname' without module 'close'.
15843         * lib/unistd.in.h (close): Evoke a link error only if
15844         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
15845         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
15846         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
15847         * modules/unistd (Makefile.am): Substitute
15848         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
15849         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
15850         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
15851         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
15852         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
15853         * modules/sys_ioctl (Makefile.am): Substitute
15854         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
15855         * modules/socket (configure.ac): On native Windows, set
15856         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
15857         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
15858         Reported by Sam Steingold <sds@gnu.org>.
15859
15860 2009-08-10  Bruno Haible  <bruno@clisp.org>
15861
15862         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
15863         * modules/ioctl (configure.ac): Likewise.
15864
15865 2009-08-10  Bruno Haible  <bruno@clisp.org>
15866
15867         Avoid collision between gnulib wrapper and libintl wrapper.
15868         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
15869         already defined in intl/printf.c.
15870         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
15871         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
15872
15873 2009-08-09  Bruno Haible  <bruno@clisp.org>
15874
15875         Make <sys/select.h> really self-contained, also on Solaris 10.
15876         * lib/sys_select.in.h: Include <string.h>.
15877         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
15878         Solaris 10 problem.
15879         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
15880         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
15881         Reported by Jim Meyering.
15882
15883 2009-08-09  Bruno Haible  <bruno@clisp.org>
15884
15885         Avoid warnings from 'aclocal' that are due to a use of macro name
15886         AM_XGETTEXT_OPTION that is not defined in automake.
15887         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
15888         automake.
15889         * modules/error (configure.ac): Likewise.
15890         * modules/propername (configure.ac): Likewise.
15891         * modules/vasprintf (configure.ac): Likewise.
15892         * modules/verror (configure.ac): Likewise.
15893         * modules/xprintf (configure.ac): Likewise.
15894         * modules/xvasprintf (configure.ac): Likewise.
15895
15896 2009-08-08  Bruno Haible  <bruno@clisp.org>
15897
15898         Avoid compilation error in C++ mode.
15899         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
15900         Reported by Sam Steingold <sds@gnu.org>.
15901
15902 2009-08-08  Bruno Haible  <bruno@clisp.org>
15903
15904         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
15905         for the various Unix platforms.
15906         * doc/posix-headers/limits.texi: Update platforms list regarding
15907         HOST_NAME_MAX.
15908         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15909
15910 2009-08-07  Jim Meyering  <meyering@redhat.com>
15911
15912         selinux-at: fix typo in a comment
15913         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
15914         Spotted by Paolo Bonzini.
15915
15916         selinux-at: remove redundant m4 code, add documentation
15917         * modules/selinux-at (configure.ac): Remove redundant code.
15918         LIB_SELINUX is already set via the dependent module, selinux-h.
15919         (Include): Add quotes around selinux-at.h.
15920         * lib/selinux-at.h: Add documentation.
15921         Reported by Bruno Haible in
15922         http://marc.info/?l=gnulib-bug&m=124958988300749
15923
15924 2009-08-07  Bruno Haible  <bruno@clisp.org>
15925
15926         Avoid link error on MacOS X 10.3 and 10.4.
15927         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
15928         on non-ELF systems.
15929         * lib/argp-pv.c (argp_program_version): Likewise.
15930         Reported by Simon Josefsson.
15931
15932 2009-08-07  Simon Josefsson  <simon@josefsson.org>
15933
15934         * tests/test-version-etc.sh: Use $EXEEXT.
15935
15936 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
15937
15938         update-copyright: update documentation to point to maint.mk
15939         * build-aux/update-copyright: Here.
15940
15941 2009-08-06  Jim Meyering  <meyering@redhat.com>
15942
15943         maint.mk: support update-copyright-local
15944         * top/maint.mk (update-copyright-local): Define place-holder.
15945         (update-copyright): Depend on $(update-copyright-local).
15946
15947 2009-08-06  Jim Meyering  <meyering@redhat.com>
15948
15949         selinux-at: new module
15950         Initially written for coreutils, this module will soon be
15951         used by findutils, too.
15952         * MODULES.html.sh [Misc]: Add selinux-at.
15953         * lib/selinux-at.h: New file, from coreutils.
15954         * lib/selinux-at.c: Likewise.
15955         * modules/selinux-at: Likewise.
15956         (License): Change from LGPL to GPL, since it depends
15957         on the GPL'd openat module.
15958
15959         doc: update README
15960         * README: Remove references to cogito.
15961         Remove cvs-repo-updating instructions from 2007.
15962         Don't imply that CVS is better if you have limited disk space.
15963
15964 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
15965
15966         update-copyright: support C-style comments
15967         * build-aux/update-copyright: Implement and document.
15968         * tests/test-update-copyright.sh: Test.
15969
15970 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
15971
15972         update-copyright: support omitted "(C)"
15973         * build-aux/update-copyright: Implement and document.  Also,
15974         allow variable whitespace before "(C)".
15975         * tests/test-update-copyright.sh: Test.
15976
15977 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
15978
15979         update-copyright: don't trip on non-FSF copyright statements
15980         * build-aux/update-copyright: Fix so that the first correctly
15981         formatted FSF copyright statement is recognized no matter what
15982         appears before it.  Update documentation.
15983         * tests/test-update-copyright.sh: Test that.
15984
15985 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
15986
15987         update-copyright: clean up code a little
15988         * build-aux/update-copyright: Append "_re" to the name of any
15989         variable holding a regular expression.
15990         Replace "old" and "new" with "stmt" in variable names.
15991         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
15992         handled correctly.
15993         Format code more consistently.
15994
15995 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
15996
15997         update-copyright-tests: improve portability
15998         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
15999         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
16000
16001 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
16002
16003         update-copyright: support @copyright{} and &copy;
16004         * build-aux/update-copyright: Implement and document.
16005         * tests/test-update-copyright.sh: Test.
16006
16007 2009-08-04  Jim Meyering  <meyering@redhat.com>
16008
16009         update-copyright-tests: correctly test EOL=\r\n handling
16010         * tests/test-update-copyright.sh: Put \r at the end of some lines
16011         for the dos-eol tests.  Based on a patch by Joel E. Denny.
16012
16013         maint.mk: make update-copyright exclusion list more configurable
16014         * top/maint.mk (update-copyright): Default to excluding COPYING,
16015         but allow an override, in case someone does want to update that file.
16016
16017         maint.mk: don't update copyright date in COPYING
16018         * top/maint.mk (update-copyright): Exclude COPYING.
16019
16020         maint.mk: add a copyright-updating rule
16021         * top/maint.mk (update-copyright): New rule.
16022         Derived from coreutils/Makefile.am.
16023
16024         update-copyright: rename some variables
16025         * build-aux/update-copyright: Rename a few variables for clarity.
16026         Tweak syntax.  List Joel E. Denny as coauthor.
16027
16028 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
16029
16030         update-copyright: fix bug for 2-digit last year and add tests
16031         * build-aux/update-copyright: Fix bug.
16032         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
16033         specified.
16034         * modules/update-copyright-tests: New
16035         * tests/test-update-copyright.sh: New.
16036
16037 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
16038
16039         update-copyright: handle leading tabs in line prefix
16040         * build-aux/update-copyright: Count leading tabs as 8 spaces
16041         when computing margin.  This helps with the formatting of
16042         ChangeLogs, for example.
16043         Fix documentation a little.
16044
16045 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
16046
16047         update-copyright: support EOL=\r\n
16048         * build-aux/update-copyright: Implement that.
16049
16050 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
16051
16052         update-copyright: automatically format copyright statements
16053         * build-aux/update-copyright: Implement that.
16054         Also, be a little more predictable and safer by always failing
16055         when the full copyright format is not perfectly recognized as an
16056         unbroken whole.  Discussed at
16057         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
16058         Rewrite documentation.
16059
16060 2009-08-03  Bruno Haible  <bruno@clisp.org>
16061
16062         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
16063
16064 2009-08-02  Bruno Haible  <bruno@clisp.org>
16065
16066         Tests for module 'uname'.
16067         * modules/uname-tests: New file.
16068         * tests/test-uname.c: New file.
16069
16070         New module 'uname'.
16071         * lib/uname.c: New file.
16072         * m4/uname.m4: New file.
16073         * modules/uname: New file.
16074         * doc/posix-functions/uname.texi: Mention the new module.
16075
16076 2009-08-02  Bruno Haible  <bruno@clisp.org>
16077
16078         Tests for module 'sys_utsname'.
16079         * modules/sys_utsname-tests: New file.
16080         * tests/test-sys_utsname.c: New file.
16081
16082         New module 'sys_utsname'.
16083         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
16084         * m4/sys_utsname_h.m4: New file.
16085         * modules/sys_utsname: New file.
16086         * doc/posix-headers/sys_utsname.texi: Mention the new module.
16087
16088 2009-08-02  Bruno Haible  <bruno@clisp.org>
16089
16090         Implicitly initialize the sockets library.
16091         * lib/gethostname.c: Include sockets.h.
16092         (rpl_gethostname): Invoke gl_sockets_startup.
16093         * lib/socket.c: Include sockets.h.
16094         (rpl_socket): Invoke gl_sockets_startup.
16095         * modules/gethostname (Depends-on): Add sockets.
16096         * modules/socket (Depends-on): Likewise.
16097         * tests/test-poll.c: Don't include sockets.h.
16098         (main): Don't invoke gl_sockets_startup.
16099         * tests/test-select.c: Don't include sockets.h.
16100         (main): Don't invoke gl_sockets_startup.
16101
16102 2009-08-02  Bruno Haible  <bruno@clisp.org>
16103
16104         Allow multiple calls to gl_sockets_startup.
16105         * lib/sockets.c (initialized_sockets_version): New variable.
16106         (gl_sockets_startup): Do nothing if already called for this or a higher
16107         version.
16108         (gl_sockets_cleanup): Reset initialized_sockets_version.
16109
16110 2009-08-03  Simon Josefsson  <simon@josefsson.org>
16111
16112         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
16113         different project/version.
16114
16115 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
16116             Bruno Haible  <bruno@clisp.org>
16117
16118         Tests for module 'pipe-filter-gi'.
16119         * modules/pipe-filter-gi-tests: New file.
16120         * tests/test-pipe-filter-gi1.sh: New file.
16121         * tests/test-pipe-filter-gi1.c: New file.
16122         * tests/test-pipe-filter-gi2.sh: New file.
16123         * tests/test-pipe-filter-gi2-main.c: New file.
16124         * tests/test-pipe-filter-gi2-child.c: New file.
16125
16126         New module 'pipe-filter-gi'.
16127         * lib/pipe-filter-gi.c: New file.
16128         * modules/pipe-filter-gi: New file.
16129
16130 2009-08-02  Bruno Haible  <bruno@clisp.org>
16131             Paolo Bonzini  <bonzini@gnu.org>
16132
16133         Tests for module 'pipe-filter-ii'.
16134         * modules/pipe-filter-ii-tests: New file.
16135         * tests/test-pipe-filter-ii1.sh: New file.
16136         * tests/test-pipe-filter-ii1.c: New file.
16137         * tests/test-pipe-filter-ii2.sh: New file.
16138         * tests/test-pipe-filter-ii2-main.c: New file.
16139         * tests/test-pipe-filter-ii2-child.c: New file.
16140
16141         New module 'pipe-filter-ii'.
16142         * lib/pipe-filter.h: New file.
16143         * lib/pipe-filter-ii.c: New file.
16144         * lib/pipe-filter-aux.h: New file.
16145         * modules/pipe-filter-ii: New file.
16146
16147 2009-08-02  Simon Josefsson  <simon@josefsson.org>
16148
16149         * lib/gc-libgcrypt.c: Change copyright to FSF.
16150         * lib/gc-gnulib.c: Likewise.
16151
16152 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
16153
16154         * lib/gethostname.c: Include limits.h.
16155
16156 2009-08-02  Simon Josefsson  <simon@josefsson.org>
16157             Bruno Haible  <bruno@clisp.org>
16158
16159         Ensure HOST_NAME_MAX as part of the gethostname module.
16160         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
16161         define also HOST_NAME_MAX.
16162         * tests/test-gethostname.c: Include <limits.h>.
16163         (main): Check also HOST_NAME_MAX.
16164         * doc/posix-headers/limits.texi: Document the mingw problem.
16165
16166 2009-08-02  Bruno Haible  <bruno@clisp.org>
16167
16168         * lib/gethostname.c (gethostname): Fix handling of large len argument.
16169         Add comments.
16170
16171 2009-03-31  Simon Josefsson  <simon@josefsson.org>
16172
16173         * lib/gethostname.c: Add Windows wrapper.
16174         * m4/gethostname.m4: Look for gethostname in -lws2_32.
16175         * modules/gethostname: Depend on sys_socket & errno, for also
16176         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
16177         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
16178
16179 2009-07-31  Jim Meyering  <meyering@redhat.com>
16180
16181         getloadavg: fix symbol name in comment
16182         * lib/getloadavg.c: Correct a typo I introduced when adding
16183         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
16184         Matt Kraai spotted the problem.
16185
16186 2009-07-29  Matt Kraai  <mkraai@beckman.com>
16187
16188         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
16189         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
16190         code also if ! defined N_NAME_POINTER.
16191         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
16192         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
16193         but the n_name member is a 12-byte array.
16194
16195 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
16196
16197         update-copyright: generalize comment handling
16198         * build-aux/update-copyright: Handle copyright statements
16199         within more comment styles.
16200         Document usage.
16201         Report any file with an external copyright holder or parse failure.
16202
16203 2009-07-29  Jim Meyering  <meyering@redhat.com>
16204
16205         mktime: correct setting of REPLACE_MKTIME
16206         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
16207
16208         update-copyright: new module
16209         * modules/update-copyright: New file.
16210         * build-aux/update-copyright: New file.
16211         * MODULES.html.sh (maint+release support): Add update-copyright.
16212
16213 2009-07-27  Bruno Haible  <bruno@clisp.org>
16214
16215         Fix compilation error when <ctime> is used and mktime is replaced.
16216         * lib/time.in.h (mktime): New declaration.
16217         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
16218         REPLACE_MKTIME instead of defining mktime in config.h.
16219         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
16220         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
16221         Reported by Ross McFarland <rwmcfa1@neces.com>.
16222
16223 2009-07-27  Bruno Haible  <bruno@clisp.org>
16224
16225         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
16226         Reported by Matt Kraai <mkraai@beckman.com>.
16227
16228 2009-07-25  Jim Meyering  <meyering@redhat.com>
16229
16230         maint.mk: avoid warnings about missing files
16231         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
16232         diagnostic when .prev-version does not exist.
16233         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
16234         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
16235         nonexistent cfg.mk.
16236         Suggestions from Simon Josefsson.
16237
16238 2009-07-25  Bruno Haible  <bruno@clisp.org>
16239
16240         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
16241         defined as macros. Needed on QNX 6.4.1.
16242         Reported by Matt Kraai <mkraai@beckman.com>.
16243
16244 2009-07-23  Jim Meyering  <meyering@redhat.com>
16245
16246         maint.mk: invoke "make dist" with a working value of XZ_OPT
16247         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
16248
16249 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
16250
16251         Make fseeko.c compile on QNX.
16252         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
16253
16254 2009-07-22  Peter Simons  <simons@cryp.to>
16255
16256         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
16257         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
16258         * lib/md4.h: Likewise.
16259         * lib/md5.h: Likewise.
16260         * lib/sha1.h: Likewise.
16261         * lib/sha256.h: Likewise.
16262         * lib/sha512.h: Likewise.
16263
16264         tests-sha1: don't assign literal string to 'char *' variable
16265         * tests/test-sha1.c (main): Declare locals with "const" to match
16266         attributes of the right hand side.
16267
16268 2009-07-21  Eric Blake  <ebb9@byu.net>
16269
16270         dup2: fix more mingw problems
16271         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
16272         fd to itself.
16273         * doc/posix-functions/dup2.texi (dup2): Document the bug.
16274         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
16275         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
16276         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
16277         care of mingw bugs.
16278
16279 2009-07-21  Jim Meyering  <meyering@redhat.com>
16280
16281         vc-list-files: avoid failure when /bin/sh is dash
16282         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
16283         On some Debian based systems, /bin/sh is a symlink to dash, and running
16284         this command would omit the "/" following each 'tests' prefix:
16285           dash -x build-aux/vc-list-files -C . tests
16286         That is because bash and dash work differently:
16287           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
16288           bash ok
16289           dash odd
16290
16291 2009-07-21  Eric Blake  <ebb9@byu.net>
16292
16293         dup2-tests: test previous patch
16294         * modules/dup2-tests: New file.
16295         * tests/test-dup2.c: Likewise.
16296         * tests/test-open.c (main): Avoid unspecified behavior.
16297         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
16298         test.
16299
16300         dup2: work around mingw and cygwin 1.5 bug
16301         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
16302         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
16303         * modules/unistd (Makefile.am): Substitute it.
16304         * lib/unistd.in.h (dup2): Declare the replacement.
16305         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
16306         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
16307         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
16308         * modules/execute (Depends-on): Add dup2.
16309         * modules/fseterr (Depends-on): Likewise.
16310         * modules/pipe (Depends-on): Likewise.
16311         * modules/posix_spawn-internal (Depends-on): Likewise.
16312
16313 2009-07-21  Bruno Haible  <bruno@clisp.org>
16314
16315         * modules/.gitattributes: New file.
16316
16317 2009-07-20  Bruno Haible  <bruno@clisp.org>
16318
16319         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
16320         (main): Use it.
16321
16322 2009-07-20  Eric Blake  <ebb9@byu.net>
16323
16324         test-pipe: make a bit more robust.
16325         * tests/test-pipe.c (myerr): Allow error messages regardless of
16326         what we do to stderr.
16327         (test_pipe): Rearrange to avoid deadlock.
16328         (child_main): Try a larger read, to ensure we avoided deadlock.
16329         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
16330         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
16331         if misused.
16332
16333 2009-07-19  Jim Meyering  <meyering@redhat.com>
16334
16335         fts: avoid false-positive cycle-detection
16336         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
16337         for each new command line argument.
16338
16339 2009-07-19  Bruno Haible  <bruno@clisp.org>
16340
16341         Fix build error on mingw with the modules sys_select and unistd.
16342         * modules/acl-tests (Depends-on): Add close.
16343         * modules/binary-io-tests (Depends-on): Likewise.
16344         * modules/closein-tests (Depends-on): Likewise.
16345         * modules/flock-tests (Depends-on): Likewise.
16346         * modules/fsync-tests (Depends-on): Likewise.
16347         * modules/lseek-tests (Depends-on): Likewise.
16348         * modules/pipe-tests (Depends-on): Likewise.
16349         * modules/posix_spawn-tests (Depends-on): Likewise.
16350         * modules/posix_spawnp-tests (Depends-on): Likewise.
16351         * modules/stat-time-tests (Depends-on): Likewise.
16352         * modules/yesno-tests (Depends-on): Likewise.
16353
16354 2009-07-19  Bruno Haible  <bruno@clisp.org>
16355
16356         Unify conditionals.
16357         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
16358         macros, not at the compiler macros.
16359         * lib/pipe.c: Likewise.
16360         * lib/execute.c: Likewise.
16361         * lib/spawni.c: Likewise.
16362
16363 2009-07-19  Bruno Haible  <bruno@clisp.org>
16364
16365         Fix handling of closed stdin/stdout/stderr on mingw.
16366         * lib/w32spawn.h: Include unistd.h.
16367         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
16368         file descriptor with O_NOINHERIT flag.
16369         (fd_safer_noinherit): New function, based on fd-safer.c.
16370         (dup_safer_noinherit): New function, based on dup-safer.c.
16371         (undup_safer_noinherit): New function.
16372         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
16373         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
16374         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
16375         instead of fd_safer.
16376         * tests/test-pipe.c: Include <windows.h>.
16377         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
16378
16379         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
16380         from main.
16381         (test_pipe): Pass an extra argument for disambiguation.
16382         (main): Invoke parent_main or child_main.
16383
16384         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
16385         consistently.
16386
16387 2009-07-18  Eric Blake  <ebb9@byu.net>
16388
16389         test-pipe: fix mingw build
16390         * tests/test-pipe.c (main): Avoid fcntl on mingw.
16391
16392 2009-07-18  Bruno Haible  <bruno@clisp.org>
16393
16394         * modules/pipe-tests (Makefile.am): Fix typo.
16395
16396 2009-07-18  Eric Blake  <ebb9@byu.net>
16397
16398         error: fix mingw build
16399         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
16400         Reported by Bruno Haible.
16401
16402         error: avoid undefined use of stdout
16403         * lib/error.c (error, error_at_line): Check that fd 1 is open
16404         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
16405         is handling faults and the close_stdout module wants to report the
16406         detection of closed stdout as an error.
16407
16408 2009-07-17  Eric Blake  <ebb9@byu.net>
16409
16410         pipe: be robust in face of closed fds
16411         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
16412         should cause child to misbehave.
16413         * modules/pipe-tests: New module.
16414         * tests/test-pipe.c: New file.
16415         * tests/test-pipe.sh: New file.
16416         Reported by Akim Demaille.
16417
16418 2009-07-14  Bruno Haible  <bruno@clisp.org>
16419
16420         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
16421         Reported by anonymous kc.
16422
16423 2009-07-07  Jim Meyering  <meyering@redhat.com>
16424
16425         maint.mk: don't look for translatable strings in *.m4 or *.mk
16426         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
16427         when searching for translatable strings.
16428
16429 2009-07-05  Jim Meyering  <meyering@redhat.com>
16430
16431         remove superfluous parentheses in STREQ definition
16432         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
16433         * lib/getugroups.c (STREQ): Likewise.
16434         * lib/fnmatch.c (STREQ): Likewise.
16435         Spotted by Bruno Haible.
16436
16437 2009-07-04  Jim Meyering  <meyering@redhat.com>
16438
16439         argv-iter: new module
16440         * MODULES.html.sh: Add argv-iter.
16441         * lib/argv-iter.c, lib/argv-iter.h: New files.
16442         * modules/argv-iter: New file.
16443         * modules/argv-iter-tests: New file.
16444         * tests/test-argv-iter.c: Test it.
16445
16446 2009-07-04  Bruno Haible  <bruno@clisp.org>
16447
16448         Fix assertion.
16449         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
16450         contains more exact copies of a given entry than file2, leave the extra
16451         copies unpaired rather than aborting.
16452         Reported by Eric Blake.
16453
16454 2009-07-02  Bruno Haible  <bruno@clisp.org>
16455
16456         Speedup git-merge-changelog for git cherry-pick.
16457         * lib/git-merge-changelog.c (struct entries_mapping): New type.
16458         (entries_mapping_get): New function, extracted from compute_mapping.
16459         (entries_mapping_reverse_get): New function.
16460         (compute_mapping): Add a 'full' argument. Return the result in a
16461         'struct entries_mapping'.
16462         (main): Update. Access the mappings through entries_mapping_get.
16463         Reported by Eric Blake.
16464
16465 2009-07-02  Bruno Haible  <bruno@clisp.org>
16466
16467         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
16468         best_i.
16469
16470 2009-07-02  Bruno Haible  <bruno@clisp.org>
16471
16472         Speed up approximate search for matching ChangeLog entries.
16473         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
16474         argument. Call fstrcmp_bounded instead of fstrcmp.
16475         (compute_mapping, try_split_merged_entry, main): Update callers.
16476
16477 2009-07-02  Bruno Haible  <bruno@clisp.org>
16478
16479         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
16480
16481 2009-06-30  Bruno Haible  <bruno@clisp.org>
16482
16483         Reduce the number of uc_is_cased calls.
16484         * lib/unicase.h (casing_suffix_context_t): Add
16485         'first_char_except_ignorable' field.
16486         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
16487         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
16488         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
16489         Update initializer.
16490         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
16491         case-ignorable characters.
16492         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
16493         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
16494         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
16495         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
16496         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
16497
16498 2009-06-30  Bruno Haible  <bruno@clisp.org>
16499
16500         Tests for module 'unicase/ignorable'.
16501         * modules/unicase/ignorable-tests: New file.
16502         * tests/unicase/test-ignorable.c: New file, generated by
16503         gen-uni-tables.
16504
16505         Tests for module 'unicase/cased'.
16506         * modules/unicase/cased-tests: New file.
16507         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
16508         * tests/unicase/test-predicate-part1.h: New file, derived from
16509         tests/unictype/test-predicate-part1.h.
16510         * tests/unicase/test-predicate-part2.h: New file, same as
16511         tests/unictype/test-predicate-part2.h.
16512
16513         Fix evaluation of "Before C" condition of FINAL_SIGMA.
16514         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
16515         (output_casing_properties): New function.
16516         (main): Call it.
16517         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
16518         * lib/unicase/cased.c: Include unictype/bitmap.h.
16519         (uc_is_cased): Define through a bitmap lookup.
16520         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
16521         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
16522         (uc_is_case_ignorable): Define through a bitmap lookup.
16523         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
16524         lib/unictype/bitmap.h.
16525         (Depends-on): Add inline. Clean up.
16526         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
16527         lib/unictype/bitmap.h.
16528         (Depends-on): Add inline. Clean up.
16529         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
16530         recognition.
16531         * tests/unicase/test-u16-tolower.c (main): Likewise.
16532         * tests/unicase/test-u32-tolower.c (main): Likewise.
16533
16534 2009-06-30  Bruno Haible  <bruno@clisp.org>
16535
16536         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
16537         * lib/unicase/u16-casemap.c: Likewise.
16538         * lib/unicase/u32-casemap.c: Likewise.
16539
16540 2009-06-29  Bruno Haible  <bruno@clisp.org>
16541
16542         Define u32_casefold as a wrapper around u32_ct_casefold.
16543         * lib/unicase/u32-casefold.c: Update.
16544         * modules/unicase/u32-casefold (Depends-on): Add
16545         unicase/u32-ct-casefold, unicase/empty-prefix-context,
16546         unicase/empty-suffix-context. Clean up.
16547
16548         Define u16_casefold as a wrapper around u16_ct_casefold.
16549         * lib/unicase/u16-casefold.c: Update.
16550         * modules/unicase/u16-casefold (Depends-on): Add
16551         unicase/u16-ct-casefold, unicase/empty-prefix-context,
16552         unicase/empty-suffix-context. Clean up.
16553
16554         Define u8_casefold as a wrapper around u8_ct_casefold.
16555         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
16556         * lib/unicase/u8-casefold.c: Update.
16557         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
16558         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
16559
16560         Define u32_totitle as a wrapper around u32_ct_totitle.
16561         * lib/unicase/u32-totitle.c: Update.
16562         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
16563         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
16564
16565         Define u16_totitle as a wrapper around u16_ct_totitle.
16566         * lib/unicase/u16-totitle.c: Update.
16567         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
16568         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
16569
16570         Define u8_totitle as a wrapper around u8_ct_totitle.
16571         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
16572         functions.
16573         (FUNC): Delegate to U_CT_TOTITLE.
16574         * lib/unicase/u8-totitle.c: Update.
16575         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
16576         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
16577
16578         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
16579         invocation.
16580         * modules/unicase/u32-tolower (Depends-on): Add
16581         unicase/empty-prefix-context, unicase/empty-suffix-context.
16582
16583         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
16584         invocation.
16585         * modules/unicase/u16-tolower (Depends-on): Add
16586         unicase/empty-prefix-context, unicase/empty-suffix-context.
16587
16588         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
16589         * modules/unicase/u8-tolower (Depends-on): Add
16590         unicase/empty-prefix-context, unicase/empty-suffix-context.
16591
16592         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
16593         invocation.
16594         * modules/unicase/u32-toupper (Depends-on): Add
16595         unicase/empty-prefix-context, unicase/empty-suffix-context.
16596
16597         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
16598         invocation.
16599         * modules/unicase/u16-toupper (Depends-on): Add
16600         unicase/empty-prefix-context, unicase/empty-suffix-context.
16601
16602         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
16603         * modules/unicase/u8-toupper (Depends-on): Add
16604         unicase/empty-prefix-context, unicase/empty-suffix-context.
16605
16606         New module 'unicase/u32-ct-casefold'.
16607         * lib/unicase/u32-ct-casefold.c: New file.
16608         * modules/unicase/u32-ct-casefold: New file.
16609
16610         New module 'unicase/u16-ct-casefold'.
16611         * lib/unicase/u16-ct-casefold.c: New file.
16612         * modules/unicase/u16-ct-casefold: New file.
16613
16614         New module 'unicase/u8-ct-casefold'.
16615         * lib/unicase/u8-ct-casefold.c: New file.
16616         * lib/unicase/u-ct-casefold.h: New file, derived from
16617         lib/unicase/u-casefold.h.
16618         * modules/unicase/u8-ct-casefold: New file.
16619
16620         New module 'unicase/u32-ct-totitle'.
16621         * lib/unicase/u32-ct-totitle.c: New file.
16622         * modules/unicase/u32-ct-totitle: New file.
16623
16624         New module 'unicase/u16-ct-totitle'.
16625         * lib/unicase/u16-ct-totitle.c: New file.
16626         * modules/unicase/u16-ct-totitle: New file.
16627
16628         New module 'unicase/u8-ct-totitle'.
16629         * lib/unicase/u8-ct-totitle.c: New file.
16630         * lib/unicase/u-ct-totitle.h: New file, derived from
16631         lib/unicase/u-totitle.h.
16632         * modules/unicase/u8-ct-totitle: New file.
16633
16634         New module 'unicase/u32-ct-tolower'.
16635         * lib/unicase/u32-ct-tolower.c: New file.
16636         * modules/unicase/u32-ct-tolower: New file.
16637
16638         New module 'unicase/u16-ct-tolower'.
16639         * lib/unicase/u16-ct-tolower.c: New file.
16640         * modules/unicase/u16-ct-tolower: New file.
16641
16642         New module 'unicase/u8-ct-tolower'.
16643         * lib/unicase/u8-ct-tolower.c: New file.
16644         * modules/unicase/u8-ct-tolower: New file.
16645
16646         New module 'unicase/u32-ct-toupper'.
16647         * lib/unicase/u32-ct-toupper.c: New file.
16648         * modules/unicase/u32-ct-toupper: New file.
16649
16650         New module 'unicase/u16-ct-toupper'.
16651         * lib/unicase/u16-ct-toupper.c: New file.
16652         * modules/unicase/u16-ct-toupper: New file.
16653
16654         New module 'unicase/u8-ct-toupper'.
16655         * lib/unicase/u8-ct-toupper.c: New file.
16656         * modules/unicase/u8-ct-toupper: New file.
16657
16658         Add context arguments to u*_casemap functions.
16659         * lib/unicase/unicasemap.h: Include unicase.h.
16660         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
16661         suffix_context arguments.
16662         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
16663         functions.
16664         (FUNC): Add prefix_context and suffix_context arguments. Use
16665         uc_is_cased and uc_is_case_ignorable.
16666         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
16667         * lib/unicase/u16-casemap.c: Likewise.
16668         * lib/unicase/u32-casemap.c: Likewise.
16669         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
16670         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
16671         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
16672         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
16673         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
16674         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
16675
16676         New module 'unicase/u32-suffix-context'.
16677         * lib/unicase/u32-suffix-context.c: New file.
16678         * modules/unicase/u32-suffix-context: New file.
16679
16680         New module 'unicase/u16-suffix-context'.
16681         * lib/unicase/u16-suffix-context.c: New file.
16682         * modules/unicase/u16-suffix-context: New file.
16683
16684         New module 'unicase/u8-suffix-context'.
16685         * lib/unicase/u8-suffix-context.c: New file.
16686         * lib/unicase/u-suffix-context.h: New file.
16687         * modules/unicase/u8-suffix-context: New file.
16688
16689         New module 'unicase/empty-suffix-context'.
16690         * lib/unicase/empty-suffix-context.c: New file.
16691         * modules/unicase/empty-suffix-context: New file.
16692
16693         New module 'unicase/u32-prefix-context'.
16694         * lib/unicase/u32-prefix-context.c: New file.
16695         * modules/unicase/u32-prefix-context: New file.
16696
16697         New module 'unicase/u16-prefix-context'.
16698         * lib/unicase/u16-prefix-context.c: New file.
16699         * modules/unicase/u16-prefix-context: New file.
16700
16701         New module 'unicase/u8-prefix-context'.
16702         * lib/unicase/u8-prefix-context.c: New file.
16703         * lib/unicase/u-prefix-context.h: New file.
16704         * lib/unicase/context.h: New file.
16705         * modules/unicase/u8-prefix-context: New file.
16706
16707         New module 'unicase/empty-prefix-context'.
16708         * lib/unicase/empty-prefix-context.c: New file.
16709         * modules/unicase/empty-prefix-context: New file.
16710
16711         New module 'unicase/ignorable'.
16712         * lib/unicase/ignorable.c: New file.
16713         * modules/unicase/ignorable: New file.
16714
16715         New module 'unicase/cased'.
16716         * lib/unicase/caseprop.h: New file.
16717         * lib/unicase/cased.c: New file.
16718         * modules/unicase/cased: New file.
16719
16720         New functions for case mapping of substrings.
16721         * lib/unicase.h (casing_prefix_context_t): New type.
16722         (unicase_empty_prefix_context): New variable.
16723         (u8_casing_prefix_context, u16_casing_prefix_context,
16724         u32_casing_prefix_context, u8_casing_prefixes_context,
16725         u16_casing_prefixes_context, u32_casing_prefixes_context): New
16726         declarations.
16727         (casing_suffix_context_t): New type.
16728         (unicase_empty_suffix_context): New variable.
16729         (u8_casing_suffix_context, u16_casing_suffix_context,
16730         u32_casing_suffix_context, u8_casing_suffixes_context,
16731         u16_casing_suffixes_context, u32_casing_suffixes_context,
16732         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
16733         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
16734         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
16735         declarations.
16736
16737 2009-06-28  Jim Meyering  <meyering@redhat.com>
16738
16739         boostrap: indent only with spaces
16740         * build-aux/bootstrap: Indent only with spaces, never TABs.
16741
16742         bootstrap: split long lines
16743         * build-aux/bootstrap: Keep line length < 80.
16744
16745         bootstrap: sync from coreutils
16746         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
16747         just as autoreconf does.  Verify a list of prerequisite
16748         package-name,version-number pairs if defined in bootstrap.conf.
16749         Refer to README-prereq, if prerequisites are not satisfied.
16750
16751 2009-06-27  Eric Blake  <ebb9@byu.net>
16752
16753         tests: add test for bogus NULL definition
16754         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
16755         * tests/test-stdlib.c: Likewise.
16756         * tests/test-string.c: Likewise.
16757         * tests/test-locale.c: Likewise.
16758         * tests/test-unistd.c: Likewise.
16759         * modules/stdio-tests (Depends-on): Add verify.
16760         * modules/stdlib-tests (Depends-on): Likewise.
16761         * modules/string-tests (Depends-on): Likewise.
16762         * modules/locale-tests (Depends-on): Likewise.
16763         * modules/unistd-tests (Depends-on): Likewise.
16764
16765 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
16766
16767         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
16768         self-explaining comment.
16769         * m4/selinux-selinux-h: Update serial.
16770         (gl_LIBSELINUX): New macro, adding a warning for missing development
16771         packages to code extracted from...
16772         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
16773         Add warning for missing development packages here, too.
16774
16775 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
16776
16777         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
16778
16779 2009-06-25  Eric Blake  <ebb9@byu.net>
16780
16781         version-etc: fix regression
16782         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
16783         gcc.
16784         (version_etc): Use it, to catch bugs with trailing NULL.
16785         * lib/version-etc.c (version_etc_arn): Delete unused argument.
16786         (version_etc_va): Fix logic bug.
16787         * modules/version-etc-tests: Add test.
16788         * tests/test-version-etc.c: New file.
16789         * tests/test-version-etc.sh: Likewise.
16790
16791 2009-06-25  Sam Steingold  <sds@gnu.org>
16792
16793         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
16794         mbtowc declaration.
16795
16796 2009-06-25  Eric Blake  <ebb9@byu.net>
16797
16798         fpurge: migrate into <stdio.h>
16799         * lib/fpurge.h: Delete...
16800         * lib/stdio.in.h (fpurge): ...and declare here, instead.
16801         * lib/fpurge.c (fpurge): Change declaring header.
16802         * modules/fpurge (Files): Drop deleted file.
16803         (Depends-on): Add stdio.
16804         (configure.ac): Set witness.
16805         * modules/stdio (Makefile.am): Support fpurge macros.
16806         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
16807         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
16808         * lib/fflush.c: Update client.
16809         * tests/test-fpurge.c: Likewise.
16810         * NEWS: Mention the change.
16811
16812 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
16813
16814         * lib/argp-version-etc.c (program_authors): Add const
16815         qualifier.
16816         * lib/version-etc.c: Fix typos in the comments.
16817         * modules/argp-version-etc: Depends on version-etc.
16818
16819 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
16820
16821         argp-version-etc: new module.
16822
16823         * lib/argp-version-etc.c: New file.
16824         * lib/argp-version-etc.h: New file.
16825         * modules/argp-version-etc: New file.
16826         * modules/argp-version-etc-tests: New file.
16827         * tests/test-argp-version-etc.c: New test.
16828         * tests/test-argp-version-etc-1.sh: New test.
16829
16830 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
16831
16832         Provide additional interfaces and documentation for version-etc
16833         module.
16834
16835         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
16836         interfaces.
16837         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
16838         prototypes.
16839
16840 2009-06-24  Bruno Haible  <bruno@clisp.org>
16841
16842         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
16843         HAVE_LIB${NAME} macro.
16844         Reported by Sam Steingold <sds@gnu.org>.
16845
16846 2009-06-23  Simon Josefsson  <simon@josefsson.org>
16847
16848         * modules/hash-tests (test_hash_LDADD): Link to libintl when
16849         needed.
16850
16851 2009-06-21  Bruno Haible  <bruno@clisp.org>
16852
16853         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
16854         work.
16855         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
16856         together with LIB${NAME}, LTLIB${NAME}.
16857         Reported by Sam Steingold <sds@gnu.org>.
16858
16859 2009-06-20  Jim Meyering  <meyering@redhat.com>
16860
16861         tests: make sc_require_test_exit_idiom more generic
16862         * top/maint.mk (Exit_witness_file): New overridable variable.
16863         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
16864         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
16865
16866 2009-06-19  Jim Meyering  <meyering@redhat.com>
16867
16868         hash: reverse order of src/dst parameters in an internal interface
16869         * lib/hash.c (transfer_entries): Reverse order of parameters to
16870         put DST before SRC.  Adjust callers.
16871
16872         tests: test-hash: avoid wholesale duplication
16873         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
16874         Instead, use a loop and add a single conditional.
16875
16876         tests: test-hash: allow seed selection via a command line argument
16877         * tests/test-hash.c (get_seed): New function.
16878         (main): Use it.
16879
16880 2009-06-19  Eric Blake  <ebb9@byu.net>
16881
16882         hash: avoid memory leak on allocation failure
16883         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
16884         failure.  Factor repeated algorithm...
16885         (transfer_entries): ...into new helper routine.
16886         (hash_delete): React to hash_rehash return value.
16887
16888         hash: reduce memory pressure in hash_rehash no-op case
16889         * lib/hash.c (next_prime): Avoid overflow.
16890         (hash_initialize): Factor bucket size computation...
16891         (compute_bucket_size): ...into new helper function.
16892         (hash_rehash): Use new function and open coding to reduce memory
16893         pressure, and avoid a memory leak in USE_OBSTACK code.
16894         Reported by Jim Meyering.
16895
16896 2009-06-18  Eric Blake  <ebb9@byu.net>
16897
16898         hash: make rotation more obvious
16899         * modules/hash (Depends-on): Add bitrotate and stdint.
16900         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
16901         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
16902         (SIZE_MAX): Rely on headers for definition.
16903         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
16904         (raw_hasher): Use rotr_sz.
16905         Suggested by Jim Meyering.
16906
16907         hash: fix memory leak in last patch
16908         * lib/hash.c (hash_rehash): Avoid memory leak.
16909
16910         hash: avoid no-op rehashing
16911         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
16912
16913         hash: provide default callback functions
16914         * lib/hash.c (raw_hasher, raw_comparator): New functions.
16915         (hash_initialize): Use them as defaults.
16916         * tests/test-hash.c (main): Test this.
16917
16918         hash: minor optimization
16919         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
16920         when possible.
16921         (hash_initialize): Document this promise.
16922         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
16923         * tests/test-hash.c (hash_compare_strings): Test this.
16924
16925 2009-06-18  Bruno Haible  <bruno@clisp.org>
16926
16927         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
16928         going to be replaced anyway.
16929
16930 2009-06-18  Bruno Haible  <bruno@clisp.org>
16931
16932         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
16933         in one place.
16934         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
16935         be replaced anyway.
16936
16937 2009-06-18  Eric Blake  <ebb9@byu.net>
16938
16939         hash: check for resize before insertion
16940         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
16941         threshold before insertion, so that a pathological hash_rehash
16942         that fills every bucket can still trigger another rehash.
16943
16944 2009-06-18  Jim Meyering  <meyering@redhat.com>
16945
16946         hash-tests: add a loop around the small tests
16947         * tests/test-hash.c (main): Repeat small tests with selected
16948         small initial table sizes.
16949
16950 2009-06-17  Eric Blake  <ebb9@byu.net>
16951
16952         hash: minor cleanups
16953         * lib/hash.h (hash_entry): Make opaque, by moving...
16954         * lib/hash.c (hash_entry): ...here.
16955         (hash_insert): Clarify restrictions on what can be inserted.
16956         (hash_get_next): Clarify when it is safe to remove an element
16957         during traversal.
16958         (check_tuning): Skip verification when tuning is known safe.
16959         (hash_initialize): Clarify restrictions on tuning.
16960
16961 2009-06-17  Jim Meyering  <jim@meyering.net>
16962         and Eric Blake  <ebb9@byu.net>
16963
16964         hash-tests: new module
16965         * modules/hash-tests: New file.
16966         * tests/test-hash.c: New file.
16967
16968 2009-06-17  Eric Blake  <ebb9@byu.net>
16969
16970         strstr-simple: document new module
16971         * MODULES.html.sh: Document new module.
16972
16973         strstr, strcasestr: replace on platforms with broken memchr
16974         * modules/strstr: Split into...
16975         * modules/strstr-simple: ...new module that does not care about
16976         performance, but does care about glibc bug.
16977         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
16978         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
16979         if platform memchr is broken, per Debian bug 521737.
16980         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
16981         memchr.
16982         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
16983         * doc/posix-functions/strstr.texi (strstr): Document the fix.
16984         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
16985         * modules/mountlist (Depends-on): Add strstr-simple.
16986         * modules/gen-uni-tables (Depends-on): Likewise.
16987         * modules/argz (Depends-on): Add strstr.
16988
16989 2009-06-17  Bruno Haible  <bruno@clisp.org>
16990
16991         * modules/posix_spawn-internal (Depends-on): Add errno.
16992
16993 2009-06-17  Bruno Haible  <bruno@clisp.org>
16994
16995         Define missing ESTALE on Interix 3.5.
16996         * lib/errno.in.h (ESTALE): Assign a value if missing.
16997         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
16998         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
16999         missing.
17000         * doc/posix-headers/errno.texi: Mention the Interix bug.
17001         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
17002
17003 2009-06-15  Eric Blake  <ebb9@byu.net>
17004
17005         memchr, memchr2: add valgrind exception
17006         * lib/memchr.valgrind: New file.
17007         * lib/memchr2.valgrind: New file.
17008         * modules/memchr (Files): Distribute valgrind file.
17009         * modules/memchr2 (Files): Likewise.
17010
17011         docs: memchr is no longer obsolete
17012         * MODULES.html.sh: Move memchr from obsolete to string.h section.
17013         * lib/string.in.h (memchr): Simplify logic.
17014
17015 2009-06-14  Jim Meyering  <meyering@redhat.com>
17016
17017         link-follow: fix the "checking..." message to not mention trailing slash
17018         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
17019         never considered trailing slashes.
17020
17021 2009-06-14  Bruno Haible  <bruno@clisp.org>
17022
17023         * m4/memchr.m4: Mention also the bug on IA-64.
17024         * doc/posix-functions/memchr.texi: Likewise.
17025
17026 2009-06-12  Eric Blake  <ebb9@byu.net>
17027
17028         memchr: detect broken x86_64 and alpha implementations
17029         * modules/memchr-tests (Depends-on): Move mmap detection...
17030         * modules/memchr (Depends-on): ...here.
17031         (configure.ac): Set indicator.
17032         * lib/string.in.h (memchr): Declare replacement.
17033         * modules/string (Makefile.am): Trigger replacement.
17034         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
17035         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
17036         bugs.
17037         * doc/posix-functions/memchr.texi (memchr): Document the bug.
17038         * modules/getpagesize (License): Relax license.
17039
17040 2009-06-11  Bruno Haible  <bruno@clisp.org>
17041
17042         * lib/idpriv.h: Add more references.
17043
17044 2009-06-08  Bruno Haible  <bruno@clisp.org>
17045
17046         Tests for module 'idpriv-droptemp'.
17047         * modules/idpriv-droptemp-tests: New file.
17048         * tests/test-idpriv-droptemp.sh: New file.
17049         * tests/test-idpriv-droptemp.su.sh: New file.
17050         * tests/test-idpriv-droptemp.c: New file.
17051
17052         New module 'idpriv-droptemp'.
17053         * lib/idpriv-droptemp.c: New file.
17054         * modules/idpriv-droptemp: New file.
17055
17056 2009-06-08  Bruno Haible  <bruno@clisp.org>
17057
17058         Tests for module 'idpriv-drop'.
17059         * modules/idpriv-drop-tests: New file.
17060         * tests/test-idpriv-drop.sh: New file.
17061         * tests/test-idpriv-drop.su.sh: New file.
17062         * tests/test-idpriv-drop.c: New file.
17063
17064         New module 'idpriv-drop'.
17065         * lib/idpriv.h: New file.
17066         * lib-idpriv-drop.c: New file.
17067         * m4/idpriv.m4: New file.
17068         * modules/idpriv-drop: New file.
17069
17070 2009-06-08  Bruno Haible  <bruno@clisp.org>
17071
17072         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
17073         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
17074         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
17075         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
17076         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
17077         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
17078         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
17079
17080 2009-06-08  Eric Blake  <ebb9@byu.net>
17081
17082         test-strstr: use memory fence, when possible
17083         * tests/test-strstr.c (main): Use memory fence, in order to be
17084         more likely to trigger Debian bug 521737.
17085         * modules/strstr-tests (Files): Pull in additional files.
17086
17087         memchr: no longer obsolete, for wider field testing
17088         * modules/memchr (Status, Notice): Delete, this module is no
17089         longer obsolete.
17090         * modules/vasnprintf (Depends-on): Add memchr.
17091
17092 2009-06-07  Jim Meyering  <meyering@redhat.com>
17093
17094         hash: declare some functions with the warn_unused_result attribute
17095         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
17096
17097 2009-06-07  Bruno Haible  <bruno@clisp.org>
17098
17099         * tests/test-alignof.c: Don't test int64_t if it does not exist.
17100         Reported by Eric Blake.
17101
17102 2009-06-06  Eric Blake  <ebb9@byu.net>
17103
17104         test-alignof: fix typo with long double
17105         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
17106         compiler error.
17107
17108 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
17109
17110         Escape non-texinfo { and }s.
17111         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
17112         markup error.
17113
17114 2009-06-04  Jim Meyering  <meyering@redhat.com>
17115
17116         gitlog-to-changelog: don't infloop on an empty commit log
17117         * build-aux/gitlog-to-changelog: Warn about an empty log message.
17118         Reported by Boris Petersen <transacid@centerim.org>.
17119
17120 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
17121
17122         version-etc: extend for packagers
17123         Add three new configure options, intended for packagers:
17124           --with-packager="packager name"
17125           --with-packager-version="packager-specific version"
17126           --with-packager-bug-reports="packager bug reporting"
17127         An example with coreutils:
17128           $ ./configure \
17129             --with-packager=Gentoo \
17130             --with-packager-bug-report=http://bugs.gentoo.org/ \
17131             --with-packager-version="patchset 1.6"
17132           $ ./src/ls --version | head -n2
17133           ls (GNU coreutils) 7.1-dirty
17134           Packaged by Gentoo (patchset 1.6)
17135         Note that the bug reporting info via --help doesn't show up because
17136         coreutils uses its own custom emit_bug_reporting_address() implementation
17137         in src/system.h.  If it didn't, it'd look like:
17138           $ ./src/ls --help | tail -n4
17139           Report bugs to <bug-coreutils@gnu.org>.
17140           Report Gentoo bugs to <http://bugs.gentoo.org/>.
17141           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
17142           General help using GNU software: <http://www.gnu.org/gethelp/>.
17143         * lib/version-etc.c: Print new information, if provided.
17144         * m4/version-etc.m4: New file.
17145         * modules/version-etc (Files): Add m4/version-etc.m4.
17146         (configure.ac): Add gl_VERSION_ETC.
17147
17148 2009-05-31  Bruno Haible  <bruno@clisp.org>
17149
17150         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
17151         and 'int64_t'.
17152         * modules/alignof-tests (Dependencies): Add stdint.
17153         Reported by Eric Blake.
17154
17155 2009-05-31  Bruno Haible  <bruno@clisp.org>
17156
17157         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
17158         restriction due to compiler bugs.
17159         Reported by Eric Blake.
17160
17161 2009-05-31  Simon Josefsson  <simon@josefsson.org>
17162             Bruno Haible  <bruno@clisp.org>
17163
17164         Fix test-alignof failure.
17165         * lib/alignof.h (alignof_slot): New macro.
17166         (alignof_type): New macro, with the same semantics as the previous
17167         'alignof'.
17168         (alignof): Alias to alignof_slot.
17169         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
17170         check that the results are usable as constant expressions.
17171
17172 2009-05-31  Bruno Haible  <bruno@clisp.org>
17173
17174         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
17175         * tests/test-memchr.c (main): Check that memchr does not read past the
17176         first occurrence of the byte.
17177         * tests/test-strstr.c (main): Update comment.
17178         Suggested by Eric Blake.
17179
17180 2009-05-30  Bruno Haible  <bruno@clisp.org>
17181
17182         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
17183         detail how to use dumpbin.
17184         Reported by David Byron <dbyron@dbyron.com>.
17185
17186 2009-06-02  Simon Josefsson  <simon@josefsson.org>
17187
17188         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
17189
17190 2009-06-02  Simon Josefsson  <simon@josefsson.org>
17191
17192         * m4/manywarnings.m4: Add GCC 4.4 warnings.
17193
17194 2009-05-28  Bruno Haible  <bruno@clisp.org>
17195
17196         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
17197         build-aux/ files.
17198
17199 2009-05-28  Simon Josefsson  <simon@josefsson.org>
17200
17201         * gnulib-tool (func_import): Transform license on build-aux/ files too.
17202
17203 2009-05-27  Simon Josefsson  <simon@josefsson.org>
17204
17205         * gnulib-tool (sed_transform_main_lib_file)
17206         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
17207         regexps.
17208
17209 2009-05-26  Simon Josefsson  <simon@josefsson.org>
17210
17211         * tests/test-strstr.c: Add another self-test.
17212         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
17213         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
17214
17215 2009-05-23  Bruno Haible  <bruno@clisp.org>
17216
17217         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
17218         change.
17219
17220 2009-05-21  Bruno Haible  <bruno@clisp.org>
17221
17222         Simplify use of mode_t varargs.
17223         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
17224         uses 'mode_t' or 'int'.
17225         * lib/openat.c (openat): Likewise.
17226         * lib/open-safer.c (open_safer): Likewise.
17227         * m4/mode_t.m4: New file.
17228         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
17229         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
17230         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
17231         * modules/open (Files): Add m4/mode_t.m4.
17232         * modules/openat (Files): Likewise.
17233         * modules/fcntl-safer (Files): Likewise.
17234         Suggested by Eric Blake.
17235
17236 2009-05-21  Pádraig Brady  <P@draigbrady.com>
17237
17238         * doc/glibc-functions/fallocate.texi: New file.
17239         * doc/gnulib.texi: Include it.
17240
17241 2009-05-21  Eric Blake  <ebb9@byu.net>
17242             Bruno Haible  <bruno@clisp.org>
17243
17244         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
17245         invocations.
17246         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
17247
17248 2009-05-21  Eric Blake  <ebb9@byu.net>
17249             Bruno Haible  <bruno@clisp.org>
17250
17251         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
17252         include_next. Fix of 2008-11-20 commit.
17253         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
17254         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
17255         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
17256         NEXT_MATH_H.
17257         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
17258         instead of NEXT_MATH_H.
17259
17260 2009-05-21  Bruno Haible  <bruno@clisp.org>
17261
17262         Avoid redefinition warnings for SIZE_MAX.
17263         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
17264         Reported by Simon Josefsson.
17265
17266 2009-05-21  Bruno Haible  <bruno@clisp.org>
17267
17268         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
17269         AC_CACHE_VAL.
17270
17271 2009-05-20  Bruno Haible  <bruno@clisp.org>
17272
17273         Make zeroptr.h work on mingw.
17274         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
17275         mprotect.
17276         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
17277         * modules/memchr2-tests (configure.ac): Likewise.
17278         * modules/memcmp-tests (configure.ac): Likewise.
17279         * modules/memmem-tests (configure.ac): Likewise.
17280         * modules/memrchr-tests (configure.ac): Likewise.
17281         Reported by Simon Josefsson.
17282
17283 2009-05-20  Simon Josefsson  <simon@josefsson.org>
17284
17285         * tests/test-glob.c: Include string.h for strcmp prototype.
17286
17287 2009-05-20  Simon Josefsson  <simon@josefsson.org>
17288
17289         * modules/getdelim (Depends-on): Add explicit stdint, although it
17290         was implicitly already pulled in via realloc-posix.
17291         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
17292
17293 2009-05-20  Simon Josefsson  <simon@josefsson.org>
17294
17295         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
17296         G. Christensen" <tgc@jupiterrise.com>.
17297         * m4/sys_socket_h.m4: Check for sa_family_t.
17298         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
17299         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
17300         * tests/test-sys_socket.c: Check that sa_family_t works.
17301
17302 2009-05-18  Eric Blake  <ebb9@byu.net>
17303
17304         maint.mk: allow gnulib_dir in VPATH build
17305         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
17306
17307 2009-05-15  Jim Meyering  <meyering@redhat.com>
17308
17309         maint.mk: Give gnulib_dir a default definition.
17310         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
17311         Thus, most packages no longer need to specify this variable in cfg.mk
17312
17313 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
17314
17315         rename.m4: fix typos that would make non-mingw cross-configure fail
17316         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
17317
17318 2009-05-13  Eric Blake  <ebb9@byu.net>
17319
17320         mmap-anon: avoid out-of-order autoconf expansion
17321         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
17322         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
17323         * modules/memchr-tests (Depends-on): Add extensions.
17324         * modules/memchr2-tests (Depends-on): Add extensions.
17325         * modules/memcmp-tests (Depends-on): Add extensions.
17326         * modules/memmem-tests (Depends-on): Add extensions.
17327         * modules/memrchr-tests (Depends-on): Add extensions.
17328
17329 2009-05-13  Bruno Haible  <bruno@clisp.org>
17330
17331         Make some tests ISO C 99 compliant.
17332         * tests/zerosize-ptr.h: New file.
17333         * tests/test-memchr.c: Include zerosize-ptr.h.
17334         (main): Use a zero-size object pointer instead of NULL.
17335         * tests/test-memchr2.c: Include zerosize-ptr.h.
17336         (main): Use a zero-size object pointer instead of NULL.
17337         * tests/test-memcmp.c: Include zerosize-ptr.h.
17338         (main): Use a zero-size object pointer instead of NULL.
17339         * tests/test-memmem.c: Include zerosize-ptr.h.
17340         (main): Use a zero-size object pointer instead of NULL.
17341         * tests/test-memrchr.c: Include zerosize-ptr.h.
17342         (main): Use a zero-size object pointer instead of NULL.
17343         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
17344         m4/mmap-anon.m4.
17345         (Depends-on): Add getpagesize.
17346         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
17347         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
17348         m4/mmap-anon.m4.
17349         (Depends-on): Add getpagesize.
17350         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
17351         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
17352         m4/mmap-anon.m4.
17353         (Depends-on): Add getpagesize.
17354         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
17355         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
17356         m4/mmap-anon.m4.
17357         (Depends-on): Add getpagesize.
17358         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
17359         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
17360         m4/mmap-anon.m4.
17361         (Depends-on): Add getpagesize.
17362         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
17363
17364 2009-05-12  Bruno Haible  <bruno@clisp.org>
17365
17366         Tests for module 'alignof'.
17367         * modules/alignof-tests: New file.
17368         * tests/test-alignof.c: New file.
17369
17370 2009-05-12  Bruno Haible  <bruno@clisp.org>
17371
17372         Fix alignof macro.
17373         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
17374         vendor compilers that are always correct.
17375
17376 2009-05-12  Bruno Haible  <bruno@clisp.org>
17377
17378         Make the MAP_ANONYMOUS detection work on HP-UX 11.
17379         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
17380         not whether its fully works.
17381
17382 2009-05-12  Bruno Haible  <bruno@clisp.org>
17383
17384         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
17385
17386 2009-05-12  Jim Meyering  <meyering@redhat.com>
17387
17388         * top/maint.mk: Adjust backslash alignment.
17389
17390 2009-05-11  Simon Josefsson  <simon@josefsson.org>
17391
17392         * top/maint.mk: Make $(srcdir)/build-aux configurable.
17393
17394 2009-05-11  Eric Blake  <ebb9@byu.net>
17395
17396         argp: avoid undefined behavior
17397         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
17398         macros.
17399
17400 2009-05-08  Simon Josefsson  <simon@josefsson.org>
17401
17402         * tests/test-vc-list-files-git.sh: Do git config of user.email and
17403         user.name to prevent git commit from complaining.
17404
17405 2009-05-10  Bruno Haible  <bruno@clisp.org>
17406
17407         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
17408         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
17409         it rewrites every file name only once.
17410         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
17411
17412 2009-05-08  Bruno Haible  <bruno@clisp.org>
17413
17414         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
17415         instead of 'max'.
17416
17417 2009-05-08  Simon Josefsson  <simon@josefsson.org>
17418
17419         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
17420         sockaddr_storage test.
17421
17422 2009-05-07  Simon Josefsson  <simon@josefsson.org>
17423
17424         * modules/sys_socket (Makefile.am): Substitute
17425         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
17426         * m4/sys_socket_h.m4: Check for sockaddr_storage.
17427         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
17428         * tests/test-sys_socket.c: Check sockaddr_storage.
17429
17430 2009-05-08  Bruno Haible  <bruno@clisp.org>
17431
17432         New module 'alignof'.
17433         * lib/alignof.h: New file.
17434         * modules/alignof: New file.
17435
17436 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
17437             Bruno Haible  <bruno@clisp.org>
17438
17439         Fix test-file-has-acl on FreeBSD.
17440         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
17441         mask is implicitly added.
17442         * tests/test-file-has-acl.c: Include <signal.h>.
17443         (main): Terminate the test after 5 seconds.
17444         * modules/acl-tests (configure.ac): Check for alarm function.
17445
17446 2009-05-04  Bruno Haible  <bruno@clisp.org>
17447
17448         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
17449         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
17450         * modules/errno (configure.ac): Drop AC_REQUIRE.
17451         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
17452         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
17453
17454 2009-05-04  Simon Josefsson  <simon@josefsson.org>
17455
17456         * modules/glob-tests: New module.
17457         * tests/test-glob.c: Add.
17458
17459 2009-05-04  Simon Josefsson  <simon@josefsson.org>
17460
17461         * modules/fnmatch-tests: New module.
17462         * tests/test-fnmatch.c: Add.
17463
17464 2009-05-04  Eric Blake  <ebb9@byu.net>
17465
17466         maint: make the new no-submodule-changes rule VPATH-safe
17467         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
17468
17469 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
17470             Bruno Haible  <bruno@clisp.org>
17471
17472         acl: Fix infinite loop on FreeBSD.
17473         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
17474         of return value from acl_get_entry.
17475         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
17476         Likewise.
17477
17478 2009-05-03  Bruno Haible  <bruno@clisp.org>
17479
17480         * lib/acl-internal.h (acl_entries): Clarify return value.
17481         * lib/acl_entries.c (acl_entries): Likewise.
17482
17483 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
17484
17485         Bug fix in acl module.
17486         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
17487
17488 2009-05-03  Bruno Haible  <bruno@clisp.org>
17489
17490         Create gperf-generated file in the source dir, not in the build dir.
17491         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
17492         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
17493         * modules/unicase/locale-language (unicase/locale-languages.h):
17494         Likewise.
17495         * modules/unicase/special-casing (unicase/special-casing-table.h):
17496         Likewise.
17497         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
17498         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
17499         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
17500         Reported by Ralf Wildenhues.
17501
17502 2009-05-03  Bruno Haible  <bruno@clisp.org>
17503
17504         * modules/fnmatch (Description, configure.ac): Taken from
17505         fnmatch-posix.
17506         * modules/fnmatch-posix: Turn into a symbolic reference to the
17507         'fnmatch' module, and deprecate.
17508         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
17509
17510 2009-05-03  Bruno Haible  <bruno@clisp.org>
17511
17512         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
17513         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
17514         Reported by Ralf Wildenhues.
17515
17516 2009-05-04  Simon Josefsson  <simon@josefsson.org>
17517
17518         * m4/fnmatch.m4: Fix fnmatch re-define.
17519
17520 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
17521
17522         priv-set: new module and tests; adapt write-any-file
17523         * lib/priv-set.c: New file.
17524         * lib/priv-set.h: New file.
17525         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
17526         * lib/write-any-file.c: Simplify by using priv-set module.
17527         * m4/priv-set.m4: New file.
17528         * modules/priv-set: New file.
17529         * modules/unlinkdir: Add dependency on priv-set module.
17530         * modules/write-any-file: Likewise.
17531
17532         Tests for module 'priv-set'.
17533         * modules/priv-set-tests: New file.
17534         * tests/test-priv-set.c: New file.
17535
17536 2009-05-03  Jim Meyering  <meyering@redhat.com>
17537             Bruno Haible  <bruno@clisp.org>
17538
17539         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
17540         use the converted UTF-8 variant of the name instead.
17541
17542 2009-05-03  Jim Meyering  <meyering@redhat.com>
17543
17544         tests: tighten some getdate tests
17545         * tests/test-getdate.c (main): Tighten tests: require equality,
17546         not just greater than.  Set TZ envvar to UTC0.
17547
17548 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
17549
17550         getdate: correctly interpret "next monday" when run on a Monday
17551         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
17552         that e.g., "next tues" (when run on a tuesday) results in a date
17553         that is one week in the future, and not today's date.
17554         I.e., add a week when the wday is the same as the current one.
17555         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
17556         and earlier by Martin Bernreuther and Jan Minář.
17557         * tests/test-getdate.c (main): Check that "next DAY" is always in
17558         the future and that "last DAY" is always in the past.
17559
17560 2009-05-02  Jim Meyering  <meyering@redhat.com>
17561
17562         build: ensure that a release build fails when a submodule is unclean
17563         * top/maint.mk (no-submodule-changes): New rule.
17564         (alpha beta major): Depend on it.
17565
17566 2009-05-02  Bruno Haible  <bruno@clisp.org>
17567
17568         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
17569         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
17570         shell variable gl_fnmatch_required to detect which variant is
17571         requested.
17572         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
17573         gl_FUNC_FNMATCH_POSIX.
17574         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
17575         exclude fnmatch-posix.
17576
17577 2009-05-02  Bruno Haible  <bruno@clisp.org>
17578
17579         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
17580         * modules/mbsrtowcs (License): Change to LGPLv2+.
17581         * modules/strnlen1 (License): Likewise.
17582         Reported by Simon Josefsson.
17583
17584 2009-05-02  Bruno Haible  <bruno@clisp.org>
17585
17586         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
17587         "cross".
17588         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
17589         gnulib-tool was called with option --source-base=lib.
17590
17591 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17592
17593         Use automake *-local hooks without commands, for extensibility.
17594         * modules/localcharset (Makefile.am): Rename install-exec-local
17595         rule to install-exec-localcharset, and make it a prerequisite of
17596         install-exec-local.  Likewise, rename the uninstall-local rule to
17597         uninstall-localcharset, and make it a prerequisite of the former.
17598
17599 2009-05-01  Bruno Haible  <bruno@clisp.org>
17600
17601         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
17602         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
17603         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
17604         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
17605         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
17606         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
17607         m4/locale-zh.m4, m4/codeset.m4.
17608
17609         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
17610         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
17611         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
17612         m4/locale-zh.m4.
17613
17614         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
17615         REPLACE_WCRTOMB if mbstate_t must be replaced.
17616         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
17617         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
17618
17619 2009-05-01  Bruno Haible  <bruno@clisp.org>
17620
17621         Avoid compiler warnings when redefining macros defined by <libintl.h>.
17622         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
17623         dngettext, dcngettext, textdomain, bindtextdomain,
17624         bind_textdomain_codeset): Undefine before redefining.
17625
17626 2009-04-30  Bruno Haible  <bruno@clisp.org>
17627
17628         Fix bug introduced on 2009-04-25.
17629         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
17630         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
17631         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
17632         is defined.
17633         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
17634         is defined.
17635         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
17636         is defined.
17637         Reported by Elbert_Pol <elbert.pol@gmail.com>.
17638
17639 2009-04-28  Bruno Haible  <bruno@clisp.org>
17640
17641         Comment tweaks.
17642         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
17643         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
17644         * lib/unicase.h (u*_casexfrm): Likewise.
17645         Reported by Paolo Bonzini.
17646
17647 2009-04-28  Bruno Haible  <bruno@clisp.org>
17648
17649         Fix a compilation error.
17650         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
17651         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
17652         Reported by Jim Meyering.
17653
17654 2009-04-27  Bruno Haible  <bruno@clisp.org>
17655
17656         New module 'libunistring'.
17657         * modules/libunistring: New file.
17658         * m4/libunistring.m4: New file.
17659         * MODULES.html.sh (Unicode string functions): Add it.
17660
17661 2009-04-27  Eric Blake  <ebb9@byu.net>
17662
17663         maint.mk: allow package-specific header to provide <config.h>
17664         * top/maint.mk (sc_require_config_h): New variable.
17665         (sc_require_config_h, sc_require_config_h_first): Use it.
17666
17667 2009-04-27  Simon Josefsson  <simon@josefsson.org>
17668
17669         * top/maint.mk (sc_avoid_if_before_free): Except
17670         useless-if-before-free script.
17671
17672 2009-04-27  Eric Blake  <ebb9@byu.net>
17673
17674         maintainer-makefile: depend on all required helper scripts
17675         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
17676         useless-if-before-free.
17677         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
17678         version, rather than assuming gnulib checkout is available.
17679         Reported by Simen Josefsson.
17680
17681 2009-04-26  Bruno Haible  <bruno@clisp.org>
17682
17683         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
17684         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
17685         "../" or "..".
17686
17687 2009-04-26  Bruno Haible  <bruno@clisp.org>
17688
17689         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
17690         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
17691         AC_LIB_HAVE_LINKFLAGS.
17692
17693 2009-04-26  Bruno Haible  <bruno@clisp.org>
17694
17695         Simplify calling convention of u*_conv_from_encoding.
17696         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
17697         u32_conv_from_encoding): Expect a resultbuf argument and return the
17698         result directly as a pointer.
17699         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
17700         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
17701         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
17702         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
17703         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
17704         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
17705         Update.
17706         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
17707         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
17708         * lib/vasnprintf.c (VASNPRINTF): Update.
17709         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
17710         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
17711         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
17712         * NEWS: Mention the change.
17713
17714 2009-04-26  Bruno Haible  <bruno@clisp.org>
17715
17716         Simplify calling convention of u*_conv_to_encoding.
17717         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
17718         u32_conv_to_encoding): Expect a resultbuf argument and return the
17719         result directly as a pointer.
17720         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
17721         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
17722         freeing scaled_offsets if mem_iconveha failed.
17723         * lib/unicase/u-casexfrm.h (FUNC): Update.
17724         * lib/uninorm/u-normxfrm.h (FUNC): Update.
17725         * lib/vasnprintf.c (VASNPRINTF): Update.
17726         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
17727         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
17728         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
17729         * NEWS: Mention the change.
17730
17731 2009-04-26  Bruno Haible  <bruno@clisp.org>
17732
17733         Avoid test failures on AIX and OSF/1.
17734         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
17735         malloc(0).
17736         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
17737         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
17738         Likewise.
17739         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
17740         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
17741         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
17742         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
17743         * doc/posix-functions/malloc.texi: Document the portability problem
17744         related to malloc(0).
17745
17746 2009-04-26  Bruno Haible  <bruno@clisp.org>
17747
17748         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
17749         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
17750         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
17751
17752 2009-04-25  Bruno Haible  <bruno@clisp.org>
17753
17754         Avoid link error when creating a namespace clean library.
17755         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
17756         as macro with arguments if already defined as an alias.
17757         * lib/signbitf.c (gl_signbitf): Don't undefine.
17758         * lib/signbitd.c (gl_signbitd): Don't undefine.
17759         * lib/signbitl.c (gl_signbitl): Don't undefine.
17760
17761 2009-04-25  Jim Meyering  <meyering@redhat.com>
17762
17763         vc-list-files: fix another quoting bug
17764         * build-aux/vc-list-files: Avoid sed backslash expansion
17765         of pathological directory names.
17766
17767 2009-04-25  Eric Blake  <ebb9@byu.net>
17768
17769         vc-list-files: fix shell quoting error
17770         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
17771         timestamp.
17772
17773 2009-04-25  Jim Meyering  <meyering@redhat.com>
17774
17775         vc-list-files: restore lost functionality with subdir argument
17776         * build-aux/vc-list-files: When given a non-"." sub-directory
17777         argument, substitute the $dir/ prefix back onto each resulting name.
17778         Otherwise, coreutils' root_tests check would fail.
17779
17780 2009-04-24  Eric Blake  <ebb9@byu.net>
17781
17782         vc-list-files: ignore git symlinks
17783         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
17784         than ls-files, to ignore git symlinks.
17785
17786         maint.mk: import improvements from m4
17787         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
17788         (move_if_change): Delete unused macro.
17789         (news-date-check, vc-diff-check): Support VPATH builds.
17790         (announcement): Likewise.  Split --bootstrap-tools list...
17791         (boostrap-tools): ...into separate list, which can be overridden
17792         in cfg.mk.
17793         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
17794         requiring dependency on useless-if-before-free module.
17795         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
17796         Support VPATH builds.
17797
17798 2009-04-24  Jim Meyering  <meyering@redhat.com>
17799
17800         maint.mk: remove coreutils-specific rules and variables
17801         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
17802         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
17803         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
17804
17805         maint.mk: remove obsolete rule
17806         * top/maint.mk (rel-check): Remove rule.
17807         (WGET, WGETFLAGS): Remove now-unused variables.
17808
17809 2009-04-24  Simon Josefsson  <simon@josefsson.org>
17810
17811         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
17812         consistency.
17813
17814         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
17815         '$(PATH_SEPARATOR)' instead of ':'.
17816
17817 2009-04-24  Simon Josefsson  <simon@josefsson.org>
17818
17819         * lib/getopt1.c (main): Use 'const' for static array.
17820
17821 2009-04-24  Simon Josefsson  <simon@josefsson.org>
17822
17823         * top/maint.mk: Sync with coreutils.
17824         * NEWS: Explain incompatibilities.
17825
17826 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
17827             Bruno Haible  <bruno@clisp.org>
17828
17829         Fix cross-compilation results.
17830         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
17831         statement, as third argument of AC_TRY_RUN.
17832         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
17833         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
17834         Likewise.
17835         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
17836         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
17837         Likewise.
17838         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
17839         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
17840         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
17841
17842 2009-04-20  Bruno Haible  <bruno@clisp.org>
17843
17844         Avoid test failure on mingw.
17845         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
17846
17847 2009-04-20  Bruno Haible  <bruno@clisp.org>
17848
17849         Avoid compilation error on mingw.
17850         * modules/localename-tests (Depends-on): Add locale.
17851
17852 2009-04-19  Bruno Haible  <bruno@clisp.org>
17853
17854         Support for building a shared library on Windows platforms.
17855         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
17856         (main): Test the presence of UNINORM_NFC here.
17857         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
17858         (main): Test the presence of UNINORM_NFD here.
17859         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
17860         (main): Test the presence of UNINORM_NFKC here.
17861         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
17862         (main): Test the presence of UNINORM_NFKD here.
17863
17864 2009-04-19  Bruno Haible  <bruno@clisp.org>
17865
17866         Avoid a compiler warning.
17867         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
17868         Change type of variable 'sequence'.
17869
17870 2009-04-19  Bruno Haible  <bruno@clisp.org>
17871
17872         * modules/configmake (Makefile.am): When the contents of configmake.h
17873         does not change, arrange to preserve its modification time.
17874
17875 2009-04-17  Simon Josefsson  <simon@josefsson.org>
17876
17877         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
17878         gettext domain.
17879
17880 2009-04-16  Jim Meyering  <meyering@redhat.com>
17881
17882         useless-if-before-free: improve conversion code
17883         * build-aux/useless-if-before-free: Adjust code-in-comment to match
17884         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
17885
17886 2009-04-14  Bruno Haible  <bruno@clisp.org>
17887
17888         * modules/fcntl (Depends-on): Add extensions.
17889         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
17890
17891 2009-04-12  Ben Pfaff  <blp@gnu.org>
17892
17893         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
17894         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
17895
17896 2009-03-20  Ben Pfaff  <blp@gnu.org>
17897
17898         Make rename replace existing destinations on Windows.
17899         * m4/rename.m4: Add test for Mingw.
17900         * lib/rename.c: Add rename replacement that uses MoveFileEx with
17901         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
17902         * doc/posix-functions/rename.texi: Document.
17903
17904 2009-04-10  Bruno Haible  <bruno@clisp.org>
17905
17906         New include file "iconveh.h".
17907         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
17908         * lib/striconveh.h: Include it.
17909         (enum iconv_ilseq_handler): Remove definition.
17910         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
17911         striconveh.h.
17912         * lib/striconveha.c: Include striconveh.h.
17913         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
17914         * modules/striconveh (Files): Add lib/iconveh.h.
17915         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
17916         lib/striconveh.h.
17917
17918 2009-04-10  Bruno Haible  <bruno@clisp.org>
17919
17920         * lib/uniconv.h: Update comment.
17921
17922 2009-04-10  Bruno Haible  <bruno@clisp.org>
17923
17924         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
17925         always.
17926         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
17927         * lib/unistr/u16-mbtouc-aux.c: Likewise.
17928         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
17929         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
17930         "unistring-notinline.h", so that the function gets defined always.
17931         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
17932         * lib/unistr/u8-uctomb.c: Likewise.
17933         * lib/unistr/u16-mbtouc.c: Likewise.
17934         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
17935         * lib/unistr/u16-uctomb.c: Likewise.
17936         * lib/unistr/u32-mbtouc.c: Likewise.
17937         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
17938         * lib/unistr/u32-uctomb.c: Likewise.
17939
17940 2009-04-10  Bruno Haible  <bruno@clisp.org>
17941
17942         Mark 'utime' obsolete.
17943         * modules/utime (Status, Notice): New sections.
17944         Suggested by Jim Meyering.
17945
17946         Fix cross-compile guess for utime test.
17947         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
17948         autoconf.
17949         * doc/posix-functions/utime.texi: Give more precisions.
17950         Reported by Jan <ipif@ymail.com>.
17951
17952 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
17953
17954         filevercmp: correct today's change
17955         * lib/filevercmp.c: Also handle coreutils' test inputs.
17956         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
17957
17958         Fix regression in 'filevercmp' module. Thanks Sven Joachim
17959         for reporting it.
17960         * lib/filevercmp.c: Special handle for "", "." and "..".
17961         * tests/test-filevercmp.c: Enlarge the set suite.
17962
17963 2009-04-07  Jim Meyering  <meyering@redhat.com>
17964
17965         useless-if-before-free: show how to remove braced useless free, too
17966         * build-aux/useless-if-before-free: still only in a comment, though.
17967
17968 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
17969
17970         maint.mk: import changes to syntax-check macros from coreutils
17971         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
17972         Use them in the relevant macros.
17973
17974 2009-04-06  Bruno Haible  <bruno@clisp.org>
17975
17976         Fix unportable use of bit-fields.
17977         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
17978         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
17979         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
17980
17981 2009-04-06  Bruno Haible  <bruno@clisp.org>
17982
17983         Avoid test failures on AIX and OSF/1.
17984         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
17985         that malloc(0) = NULL.
17986         * tests/unicase/test-u8-tolower.c (check): Likewise.
17987         * tests/unicase/test-u8-totitle.c (check): Likewise.
17988         * tests/unicase/test-u8-toupper.c (check): Likewise.
17989         * tests/unicase/test-u16-casefold.c (check): Likewise.
17990         * tests/unicase/test-u16-tolower.c (check): Likewise.
17991         * tests/unicase/test-u16-totitle.c (check): Likewise.
17992         * tests/unicase/test-u16-toupper.c (check): Likewise.
17993         * tests/unicase/test-u32-casefold.c (check): Likewise.
17994         * tests/unicase/test-u32-tolower.c (check): Likewise.
17995         * tests/unicase/test-u32-totitle.c (check): Likewise.
17996         * tests/unicase/test-u32-toupper.c (check): Likewise.
17997         * tests/uninorm/test-u8-nfc.c (check): Likewise.
17998         * tests/uninorm/test-u8-nfd.c (check): Likewise.
17999         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
18000         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
18001         * tests/uninorm/test-u16-nfc.c (check): Likewise.
18002         * tests/uninorm/test-u16-nfd.c (check): Likewise.
18003         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
18004         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
18005         * tests/uninorm/test-u32-nfc.c (check): Likewise.
18006         * tests/uninorm/test-u32-nfd.c (check): Likewise.
18007         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
18008         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
18009
18010 2009-04-05  Bruno Haible  <bruno@clisp.org>
18011
18012         Work around an autoconf limitation.
18013         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
18014         comment line if it would be longer than 3 KB.
18015
18016 2009-04-05  Bruno Haible  <bruno@clisp.org>
18017
18018         Avoid test failure with libiconv-1.13.
18019         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
18020         of the expected test results.
18021
18022 2009-04-05  Bruno Haible  <bruno@clisp.org>
18023
18024         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
18025         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
18026         that it should be installed.
18027
18028 2009-04-05  Bruno Haible  <bruno@clisp.org>
18029
18030         * gnulib-tool: New option --copy-file.
18031         (func_usage): Document it.
18032         (func_dest_tmpfilename): Moved out of func_import.
18033         (func_add_file, func_update_file): New functions, extracted from
18034         func_import.
18035         (func_import): Update.
18036
18037 2009-04-05  Karl Berry  <karl@gnu.org>
18038
18039         * README: prominently mention gnulib-tool.
18040         Rearrange sections so getting the code is near the top.
18041
18042 2009-04-05  Bruno Haible  <bruno@clisp.org>
18043
18044         * lib/unicase.h: Mention u*_cmp2.
18045         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
18046         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
18047         * lib/unicase/ulc-casecmp.c: Likewise.
18048         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
18049         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
18050         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
18051         unistr/u8-cmp.
18052         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
18053         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
18054         unistr/u16-cmp.
18055         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
18056         unistr/u32-cmp.
18057
18058         * lib/uninorm.h: Mention u*_cmp2.
18059         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
18060         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
18061         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
18062         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
18063         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
18064         unistr/u8-cmp.
18065         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
18066         unistr/u16-cmp.
18067         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
18068         unistr/u32-cmp.
18069
18070         New module 'unistr/u32-cmp2'.
18071         * lib/unistr/u32-cmp2.c: New file.
18072         * modules/unistr/u32-cmp2: New file.
18073
18074         New module 'unistr/u16-cmp2'.
18075         * lib/unistr/u16-cmp2.c: New file.
18076         * modules/unistr/u16-cmp2: New file.
18077
18078         New module 'unistr/u8-cmp2'.
18079         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
18080         * lib/unistr/u8-cmp2.c: New file.
18081         * lib/unistr/u-cmp2.h: New file.
18082         * modules/unistr/u8-cmp2: New file.
18083
18084 2009-04-05  Bruno Haible  <bruno@clisp.org>
18085
18086         * lib/unictype.h (uc_property_is_valid): New macro.
18087         * tests/unictype/test-pr_byname.c (main): Use it.
18088
18089         * lib/unistr.h: Doc fixes.
18090         * lib/uniconv.h: Doc fixes.
18091         * lib/unictype.h: Doc fixes.
18092
18093 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
18094
18095         Port coreutils 7.2 to Solaris 8.
18096
18097         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
18098         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
18099         for Solaris 8.  This is a bit of a hack, as it means it's the
18100         caller's responsibility to add -lnsl if needed, but most likely it
18101         won't be needed since only getaddrinfo uses this and getaddrinfo
18102         isn't needed on Solaris 8.
18103
18104         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
18105         problem to Solaris 8 encountered with coreutils 7.2, which
18106         resulted in a message "fnmatch.c:292: warning: passing argument 4
18107         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
18108         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
18109
18110 2009-04-03  Simon Josefsson  <simon@josefsson.org>
18111
18112         * m4/ld-version-script.m4: Add FIXME comment.
18113
18114 2009-04-02  Simon Josefsson  <simon@josefsson.org>
18115
18116         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
18117         SOVERSION variable.
18118
18119 2009-04-02  Bruno Haible  <bruno@clisp.org>
18120
18121         * Makefile (info, html, dvi, pdf): Combine the rules.
18122         Suggested by Jim Meyering.
18123
18124 2009-04-01  Bruno Haible  <bruno@clisp.org>
18125
18126         * Makefile (info, html, dvi, pdf): New targets.
18127         Reported by Reuben Thomas <rrt@sc3d.org>.
18128
18129 2009-04-01  Bruno Haible  <bruno@clisp.org>
18130
18131         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
18132         can be put into PATH.
18133         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
18134
18135 2009-04-01  Bruno Haible  <bruno@clisp.org>
18136
18137         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
18138
18139 2009-04-01  Bruno Haible  <bruno@clisp.org>
18140
18141         Rename module 'visibility'.
18142         * modules/lib-symbol-visibility: Renamed from modules/visibility.
18143         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
18144         * doc/gnulib.texi: Update.
18145         * MODULES.html.sh (Misc): Update.
18146         * NEWS: Mention the change.
18147
18148 2009-04-01  Simon Josefsson  <simon@josefsson.org>
18149
18150         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
18151         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
18152         Eric Blake <ebb9@byu.net> for review.
18153         * MODULES.html.sh: Add lib-msvc-compat.
18154         * doc/gnulib.texi: Link to new section.
18155         * m4/ld-output-def.m4: New file.
18156         * doc/ld-output-def.texi: New file.
18157
18158 2009-04-01  Simon Josefsson  <simon@josefsson.org>
18159
18160         Rename ld-version-script to lib-symbol-versions.  Suggested by
18161         Bruno Haible <bruno@clisp.org>.
18162         * modules/ld-version-script: Renamed to lib-symbol-versions.
18163         * doc/ld-version-script.texi: Fix module name.
18164         * MODULES.html.sh: Add lib-symbol-versions.
18165
18166 2009-03-31  Simon Josefsson  <simon@josefsson.org>
18167
18168         * modules/u64-tests: New file.
18169         * tests/test-u64.c: New file.
18170
18171 2009-03-04  Simon Josefsson  <simon@josefsson.org>
18172
18173         * MODULES.html.sh: Mention u64.
18174         * modules/u64: New module.
18175         * modules/crypto/sha512: Depend on u64 module instead of providing
18176         u64.h.
18177
18178 2009-03-27  Eric Blake  <ebb9@byu.net>
18179
18180         test-strerror: make debugging EAI_SYSTEM easier
18181         * modules/getaddrinfo-tests (Depends-on): Add strerror.
18182         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
18183         failure was EAI_SYSTEM.
18184
18185 2009-03-25  Bruno Haible  <bruno@clisp.org>
18186
18187         Fix a problem with --enable-relocatable on Solaris 7.
18188         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
18189         since 2008-02-24.
18190
18191 2009-03-25  Eric Blake  <ebb9@byu.net>
18192
18193         test-sockets: avoid gcc warning
18194         * tests/test-sockets.c (main): Silence compiler warning.
18195
18196 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
18197
18198         New modules nproc, pthread, contributed by Glen Lenker.
18199
18200         * MODULES.html.sh: Add pthread, nproc.
18201         * lib/nproc.c: New file.
18202         * lib/nproc.h: New file.
18203         * lib/pthread.in.h: New file.
18204         * m4/pthread.m4: New file.
18205         * modules/nproc: New file.
18206         * modules/pthread: New file.
18207
18208 2009-03-24  Simon Josefsson  <simon@josefsson.org>
18209
18210         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
18211         New variable.
18212
18213 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
18214
18215         filevercmp: handle simple~ and numbered.~3~ backup suffixes
18216         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
18217         * tests/test-filevercmp.c: Add tests for backup suffixes.
18218
18219 2009-03-24  Simon Josefsson  <simon@josefsson.org>
18220
18221         * modules/stdlib (Depends-on): Add stdint, needed when defining
18222         struct random_data on, for example, HP-UX 10.20.  Reported by
18223         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18224
18225 2009-03-24  Simon Josefsson  <simon@josefsson.org>
18226
18227         * lib/readline.c (readline): Call fflush on stdout after printing
18228         prompt.
18229
18230 2009-03-20  Bruno Haible  <bruno@clisp.org>
18231
18232         Remove dependency from 'close' module to -lws2_32 on native Windows.
18233         * lib/close-hook.h: New file.
18234         * lib/close-hook.c: New file.
18235         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
18236         w32sock.h.
18237         (_gl_close_fd_maybe_socket): Remove function.
18238         (rpl_close): Invoke execute_all_close_hooks instead of
18239         _gl_close_fd_maybe_socket.
18240         * lib/sockets.c: Include close-hook.h, w32sock.h.
18241         (close_fd_maybe_socket): New function, essentially from lib/close.c.
18242         (close_sockets_hook): New variable.
18243         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
18244         (gl_sockets_cleanup): Unregister it.
18245         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
18246         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
18247         * modules/close-hook: New file.
18248         * modules/close (Files): Remove lib/w32sock.h.
18249         (Depends-on): Add close-hook.
18250         (Link): Remove section.
18251         * modules/sockets (Files): Add lib/w32sock.h.
18252         (Depends-on): Add close-hook.
18253         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
18254         invocation.
18255         * NEWS: Mention that LIB_CLOSE is gone.
18256
18257 2009-03-23  Eric Blake  <ebb9@byu.net>
18258
18259         signal-tests: test previous patch
18260         * tests/test-signal.c: New file.
18261         * modules/signal-tests: Likewise.
18262
18263         signal.h: always support 'volatile sig_atomic_t'
18264         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
18265         (gl_SIGNAL_H_DEFAULTS): Add a default.
18266         * modules/signal (Makefile.am): Substitute if needed.
18267         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
18268         users can blindly add volatile.
18269         * doc/posix-headers/signal.texi (signal.h): Document it.
18270         Reported by Matthew Woehlke.
18271
18272 2009-03-23  Jim Meyering  <meyering@redhat.com>
18273
18274         pathmax: PATH_MAX: use pathconf only when available
18275         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
18276         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
18277         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
18278         This avoids a link failure in a PSP cross-compilation environment
18279         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
18280
18281         * lib/vasnprintf.c (divide): Fix typo in comment.
18282
18283 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18284
18285         * gnulib-tool (func_filter_filelist): Fix comment.
18286
18287 2009-03-20  Bruno Haible  <bruno@clisp.org>
18288
18289         Make sockets.h self-contained.
18290         * lib/sockets.c: Include sockets.h first.
18291         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
18292
18293 2009-03-19  Eric Blake  <ebb9@byu.net>
18294
18295         doc: mention more functions added in cygwin 1.7.0
18296         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
18297         addition.
18298         * doc/posix-functions/log2f.texi: Likewise.
18299
18300 2009-03-19  Jim Meyering  <meyering@redhat.com>
18301
18302         fsusage: avoid syntax error due to statement-before-declaration
18303         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
18304         after all declarations.  Reported by Matthew Woehlke in
18305         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
18306
18307 2009-03-18  Eric Blake  <ebb9@byu.net>
18308
18309         build-aux/compile: sync from automake
18310         * build-aux/compile: New file, from automake.
18311         * config/srclist.txt: Mention build-aux/compile.
18312
18313 2009-03-17  Bruno Haible  <bruno@clisp.org>
18314
18315         * lib/git-merge-changelog.c: Fix typo in comment.
18316         Reported by Reuben Thomas <rrt@sc3d.org>.
18317
18318 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
18319
18320         * m4/regex.m4: update and improve help for
18321         --without-included-regex.
18322
18323 2009-03-17  Simon Josefsson  <simon@josefsson.org>
18324
18325         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
18326         failure on missing include files.
18327
18328 2009-03-17  Eric Blake  <ebb9@byu.net>
18329
18330         doc: mention more functions added in cygwin 1.7.0
18331         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
18332         addition.
18333         * doc/posix-functions/fwscanf.texi: Likewise.
18334         * doc/posix-functions/swprintf.texi: Likewise.
18335         * doc/posix-functions/swscanf.texi: Likewise.
18336         * doc/posix-functions/vfwprintf.texi: Likewise.
18337         * doc/posix-functions/vfwscanf.texi: Likewise.
18338         * doc/posix-functions/vswprintf.texi: Likewise.
18339         * doc/posix-functions/vswscanf.texi: Likewise.
18340         * doc/posix-functions/vwprintf.texi: Likewise.
18341         * doc/posix-functions/vwscanf.texi: Likewise.
18342         * doc/posix-functions/wcscasecmp.texi: Likewise.
18343         * doc/posix-functions/wcsdup.texi: Likewise.
18344         * doc/posix-functions/wcsftime.texi: Likewise.
18345         * doc/posix-functions/wcsncasecmp.texi: Likewise.
18346         * doc/posix-functions/wprintf.texi: Likewise.
18347         * doc/posix-functions/wscanf.texi: Likewise.
18348         * doc/glibc-functions/gethostbyname2.texi: Likewise.
18349
18350 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18351
18352         maint.mk: really add $(AM_MAKEFLAGS)
18353         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
18354         was inadvertently omitted in the last commit.
18355         Spotted by Bruno Haible.
18356
18357         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
18358         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
18359         $(AM_MAKEFLAGS)' rather than plain `make'.
18360
18361         gnulib-tool: execute $MAKE not make
18362         * gnulib-tool: Default $MAKE to 'make'.
18363         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
18364         than make.  Initialize $MAKE in the do-autobuild script.
18365
18366         gnulib-tool: use $MAKE not make in generated files
18367         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
18368         make, in generated files.  Initialize $MAKE in the do-autobuild
18369         script.
18370
18371         * top/GNUmakefile (_have-git-version-gen): Fix typo.
18372
18373         GNUmakefile: disable parallelism only for multiple, recursive targets
18374         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
18375         additions in the Makefile.
18376         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
18377         by Automake.
18378         (.NOTPARALLEL): Only disable parallel builds if multiple targets
18379         are listed on the command line and at least one of them is
18380         listed in $(ALL_RECURSIVE_TARGETS).
18381
18382 2009-03-14  Bruno Haible  <bruno@clisp.org>
18383
18384         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
18385         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
18386         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
18387         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
18388         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
18389         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
18390         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
18391         unistr/u8-uctomb.
18392         * modules/unistr/u8-strchr (Depends-on): Likewise.
18393         * modules/unistr/u8-strrchr (Depends-on): Likewise.
18394         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
18395         unistr/u16-uctomb.
18396         * modules/unistr/u16-strchr (Depends-on): Likewise.
18397         * modules/unistr/u16-strrchr (Depends-on): Likewise.
18398
18399 2009-03-12  Bruno Haible  <bruno@clisp.org>
18400
18401         Work around select() bug on Interix 3.5.
18402         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
18403         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
18404         * m4/select.m4: New file.
18405         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
18406         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
18407         * modules/select (Files): Add m4/select.m4.
18408         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
18409         * modules/nanosleep (Depends-on): Add select.
18410         * modules/poll (Depends-on): Likewise.
18411         * doc/posix-functions/select.texi: Mention the Interix bug.
18412         Reported by Markus Duft <mduft@gentoo.org>.
18413
18414         * lib/select.c: Renamed from lib/winsock-select.c.
18415         * modules/select (Files): Add lib/select.c, remove
18416         lib/winsock-select.c.
18417         (configure.ac): Update.
18418
18419 2009-03-12  Jim Meyering  <meyering@redhat.com>
18420
18421         avoid gcc warnings about unused macro definitions
18422         * lib/readtokens.c (STREQ): Remove unused definition.
18423         * lib/xmalloc.c (SIZE_MAX): Likewise.
18424         * lib/openat-die.c (N_): Likewise.
18425         * lib/mountlist.c (SIZE_MAX): Remove definition.
18426         Instead, include <stdint.h>.
18427         * lib/readutmp.c: Likewise.
18428         * modules/readutmp (Depends-on): Add stdint.
18429         * modules/mountlist (Depends-on): Add stdint.
18430         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
18431
18432 2009-03-10  Bruno Haible  <bruno@clisp.org>
18433
18434         Tests for module 'mbmemcasecoll'.
18435         * modules/mbmemcasecoll-tests: New file.
18436         * tests/test-mbmemcasecoll1.sh: New file.
18437         * tests/test-mbmemcasecoll2.sh: New file.
18438         * tests/test-mbmemcasecoll3.sh: New file.
18439         * tests/test-mbmemcasecoll.c: New file.
18440
18441         New module 'mbmemcasecoll'.
18442         * lib/mbmemcasecoll.h: New file.
18443         * lib/mbmemcasecoll.c: New file.
18444         * modules/mbmemcasecoll: New file.
18445
18446         * tests/test-mbmemcasecmp.h: New file, extracted from
18447         tests/test-mbmemcasecmp.c.
18448         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
18449         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
18450         (main): Update.
18451         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
18452
18453 2009-03-09  Bruno Haible  <bruno@clisp.org>
18454
18455         Tests for module 'mbmemcasecmp'.
18456         * modules/mbmemcasecmp-tests: New file.
18457         * tests/test-mbmemcasecmp1.sh: New file.
18458         * tests/test-mbmemcasecmp2.sh: New file.
18459         * tests/test-mbmemcasecmp3.sh: New file.
18460         * tests/test-mbmemcasecmp.c: New file.
18461
18462         New module 'mbmemcasecmp'.
18463         * lib/mbmemcasecmp.h: New file.
18464         * lib/mbmemcasecmp.c: New file.
18465         * modules/mbmemcasecmp: New file.
18466
18467 2009-03-09  Bruno Haible  <bruno@clisp.org>
18468
18469         Tests for module 'unicase/ulc-casecoll'.
18470         * modules/unicase/ulc-casecoll-tests: New file.
18471         * tests/unicase/test-ulc-casecoll1.sh: New file.
18472         * tests/unicase/test-ulc-casecoll2.sh: New file.
18473         * tests/unicase/test-ulc-casecoll.c: New file.
18474
18475         New module 'unicase/ulc-casecoll'.
18476         * lib/unicase.h (ulc_casecoll): New declaration.
18477         * lib/unicase/ulc-casecoll.c: New file.
18478         * modules/unicase/ulc-casecoll: New file.
18479
18480         New module 'unicase/ulc-casexfrm'.
18481         * lib/unicase.h (ulc_casexfrm): New declaration.
18482         * lib/unicase/ulc-casexfrm.c: New file.
18483         * modules/unicase/ulc-casexfrm: New file.
18484
18485 2009-03-09  Bruno Haible  <bruno@clisp.org>
18486
18487         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
18488         invocations.
18489
18490         * m4/mbscasecmp.m4: Remove file.
18491         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
18492         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
18493
18494         * m4/mbscasestr.m4: Remove file.
18495         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
18496         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
18497
18498         * m4/mbschr.m4: Remove file.
18499         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
18500         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
18501
18502         * m4/mbscspn.m4: Remove file.
18503         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
18504         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
18505
18506         * m4/mbslen.m4: Remove file.
18507         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
18508         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
18509
18510         * m4/mbsncasecmp.m4: Remove file.
18511         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
18512         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
18513
18514         * m4/mbsnlen.m4: Remove file.
18515         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
18516         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
18517
18518         * m4/mbspbrk.m4: Remove file.
18519         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
18520         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
18521
18522         * m4/mbspcasecmp.m4: Remove file.
18523         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
18524         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
18525
18526         * m4/mbsrchr.m4: Remove file.
18527         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
18528         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
18529
18530         * m4/mbssep.m4: Remove file.
18531         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
18532         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
18533
18534         * m4/mbsspn.m4: Remove file.
18535         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
18536         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
18537
18538         * m4/mbsstr.m4: Remove file.
18539         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
18540         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
18541
18542         * m4/mbstok_r.m4: Remove file.
18543         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
18544         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
18545
18546         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
18547
18548         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
18549         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
18550
18551         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
18552
18553 2009-03-08  Bruno Haible  <bruno@clisp.org>
18554
18555         Tests for module 'unicase/ulc-casecmp'.
18556         * modules/unicase/ulc-casecmp-tests: New file.
18557         * tests/unicase/test-ulc-casecmp1.sh: New file.
18558         * tests/unicase/test-ulc-casecmp2.sh: New file.
18559         * tests/unicase/test-ulc-casecmp.c: New file.
18560
18561         New module 'unicase/ulc-casecmp'.
18562         * lib/unicase.h (ulc_casecmp): New declaration.
18563         * lib/unicase/ulc-casecmp.c: New file.
18564         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
18565         'const SRC_UNIT *'.
18566         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
18567         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
18568         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
18569         * modules/unicase/ulc-casecmp: New file.
18570
18571         Tests for module 'unicase/u32-is-cased'.
18572         * modules/unicase/u32-is-cased-tests: New file.
18573         * tests/unicase/test-u32-is-cased.c: New file.
18574
18575         Tests for module 'unicase/u16-is-cased'.
18576         * modules/unicase/u16-is-cased-tests: New file.
18577         * tests/unicase/test-u16-is-cased.c: New file.
18578
18579         Tests for module 'unicase/u8-is-cased'.
18580         * modules/unicase/u8-is-cased-tests: New file.
18581         * tests/unicase/test-u8-is-cased.c: New file.
18582         * tests/unicase/test-is-cased.h: New file.
18583
18584         New module 'unicase/u32-is-cased'.
18585         * lib/unicase/u32-is-cased.c: New file.
18586         * modules/unicase/u32-is-cased: New file.
18587
18588         New module 'unicase/u16-is-cased'.
18589         * lib/unicase/u16-is-cased.c: New file.
18590         * modules/unicase/u16-is-cased: New file.
18591
18592         New module 'unicase/u8-is-cased'.
18593         * lib/unicase/u8-is-cased.c: New file.
18594         * lib/unicase/u-is-cased.h: New file.
18595         * modules/unicase/u8-is-cased: New file.
18596
18597         Tests for module 'unicase/u32-is-casefolded'.
18598         * modules/unicase/u32-is-casefolded-tests: New file.
18599         * tests/unicase/test-u32-is-casefolded.c: New file.
18600
18601         Tests for module 'unicase/u16-is-casefolded'.
18602         * modules/unicase/u16-is-casefolded-tests: New file.
18603         * tests/unicase/test-u16-is-casefolded.c: New file.
18604
18605         Tests for module 'unicase/u8-is-casefolded'.
18606         * modules/unicase/u8-is-casefolded-tests: New file.
18607         * tests/unicase/test-u8-is-casefolded.c: New file.
18608         * tests/unicase/test-is-casefolded.h: New file.
18609
18610         New module 'unicase/u32-is-casefolded'.
18611         * lib/unicase/u32-is-casefolded.c: New file.
18612         * modules/unicase/u32-is-casefolded: New file.
18613
18614         New module 'unicase/u16-is-casefolded'.
18615         * lib/unicase/u16-is-casefolded.c: New file.
18616         * modules/unicase/u16-is-casefolded: New file.
18617
18618         New module 'unicase/u8-is-casefolded'.
18619         * lib/unicase/u8-is-casefolded.c: New file.
18620         * modules/unicase/u8-is-casefolded: New file.
18621
18622         Tests for module 'unicase/u32-is-titlecase'.
18623         * modules/unicase/u32-is-titlecase-tests: New file.
18624         * tests/unicase/test-u32-is-titlecase.c: New file.
18625
18626         Tests for module 'unicase/u16-is-titlecase'.
18627         * modules/unicase/u16-is-titlecase-tests: New file.
18628         * tests/unicase/test-u16-is-titlecase.c: New file.
18629
18630         Tests for module 'unicase/u8-is-titlecase'.
18631         * modules/unicase/u8-is-titlecase-tests: New file.
18632         * tests/unicase/test-u8-is-titlecase.c: New file.
18633         * tests/unicase/test-is-titlecase.h: New file.
18634
18635         New module 'unicase/u32-is-titlecase'.
18636         * lib/unicase/u32-is-titlecase.c: New file.
18637         * modules/unicase/u32-is-titlecase: New file.
18638
18639         New module 'unicase/u16-is-titlecase'.
18640         * lib/unicase/u16-is-titlecase.c: New file.
18641         * modules/unicase/u16-is-titlecase: New file.
18642
18643         New module 'unicase/u8-is-titlecase'.
18644         * lib/unicase/u8-is-titlecase.c: New file.
18645         * modules/unicase/u8-is-titlecase: New file.
18646
18647         Tests for module 'unicase/u32-is-lowercase'.
18648         * modules/unicase/u32-is-lowercase-tests: New file.
18649         * tests/unicase/test-u32-is-lowercase.c: New file.
18650
18651         Tests for module 'unicase/u16-is-lowercase'.
18652         * modules/unicase/u16-is-lowercase-tests: New file.
18653         * tests/unicase/test-u16-is-lowercase.c: New file.
18654
18655         Tests for module 'unicase/u8-is-lowercase'.
18656         * modules/unicase/u8-is-lowercase-tests: New file.
18657         * tests/unicase/test-u8-is-lowercase.c: New file.
18658         * tests/unicase/test-is-lowercase.h: New file.
18659
18660         New module 'unicase/u32-is-lowercase'.
18661         * lib/unicase/u32-is-lowercase.c: New file.
18662         * modules/unicase/u32-is-lowercase: New file.
18663
18664         New module 'unicase/u16-is-lowercase'.
18665         * lib/unicase/u16-is-lowercase.c: New file.
18666         * modules/unicase/u16-is-lowercase: New file.
18667
18668         New module 'unicase/u8-is-lowercase'.
18669         * lib/unicase/u8-is-lowercase.c: New file.
18670         * modules/unicase/u8-is-lowercase: New file.
18671
18672         Tests for module 'unicase/u32-is-uppercase'.
18673         * modules/unicase/u32-is-uppercase-tests: New file.
18674         * tests/unicase/test-u32-is-uppercase.c: New file.
18675
18676         Tests for module 'unicase/u16-is-uppercase'.
18677         * modules/unicase/u16-is-uppercase-tests: New file.
18678         * tests/unicase/test-u16-is-uppercase.c: New file.
18679
18680         Tests for module 'unicase/u8-is-uppercase'.
18681         * modules/unicase/u8-is-uppercase-tests: New file.
18682         * tests/unicase/test-u8-is-uppercase.c: New file.
18683         * tests/unicase/test-is-uppercase.h: New file.
18684
18685         New module 'unicase/u32-is-uppercase'.
18686         * lib/unicase/u32-is-uppercase.c: New file.
18687         * modules/unicase/u32-is-uppercase: New file.
18688
18689         New module 'unicase/u16-is-uppercase'.
18690         * lib/unicase/u16-is-uppercase.c: New file.
18691         * modules/unicase/u16-is-uppercase: New file.
18692
18693         New module 'unicase/u8-is-uppercase'.
18694         * lib/unicase/u8-is-uppercase.c: New file.
18695         * modules/unicase/u8-is-uppercase: New file.
18696
18697         New module 'unicase/u32-is-invariant'.
18698         * lib/unicase/u32-is-invariant.c: New file.
18699         * modules/unicase/u32-is-invariant: New file.
18700
18701         New module 'unicase/u16-is-invariant'.
18702         * lib/unicase/u16-is-invariant.c: New file.
18703         * modules/unicase/u16-is-invariant: New file.
18704
18705         New module 'unicase/u8-is-invariant'.
18706         * lib/unicase/u8-is-invariant.c: New file.
18707         * lib/unicase/invariant.h: New file.
18708         * lib/unicase/u-is-invariant.h: New file.
18709         * modules/unicase/u8-is-invariant: New file.
18710
18711         Tests for module 'unicase/u32-casecoll'.
18712         * modules/unicase/u32-casecoll-tests: New file.
18713         * tests/unicase/test-u32-casecoll.c: New file.
18714
18715         Tests for module 'unicase/u16-casecoll'.
18716         * modules/unicase/u16-casecoll-tests: New file.
18717         * tests/unicase/test-u16-casecoll.c: New file.
18718
18719         Tests for module 'unicase/u8-casecoll'.
18720         * modules/unicase/u8-casecoll-tests: New file.
18721         * tests/unicase/test-u8-casecoll.c: New file.
18722
18723         New module 'unicase/u32-casecoll'.
18724         * lib/unicase/u32-casecoll.c: New file.
18725         * modules/unicase/u32-casecoll: New file.
18726
18727         New module 'unicase/u16-casecoll'.
18728         * lib/unicase/u16-casecoll.c: New file.
18729         * modules/unicase/u16-casecoll: New file.
18730
18731         New module 'unicase/u8-casecoll'.
18732         * lib/unicase/u8-casecoll.c: New file.
18733         * lib/unicase/u-casecoll.h: New file.
18734         * modules/unicase/u8-casecoll: New file.
18735
18736         New module 'unicase/u32-casexfrm'.
18737         * lib/unicase/u32-casexfrm.c: New file.
18738         * modules/unicase/u32-casexfrm: New file.
18739
18740         New module 'unicase/u16-casexfrm'.
18741         * lib/unicase/u16-casexfrm.c: New file.
18742         * modules/unicase/u16-casexfrm: New file.
18743
18744         New module 'unicase/u8-casexfrm'.
18745         * lib/unicase/u8-casexfrm.c: New file.
18746         * lib/unicase/u-casexfrm.h: New file.
18747         * modules/unicase/u8-casexfrm: New file.
18748
18749         Tests for module 'unicase/u32-casecmp'.
18750         * modules/unicase/u32-casecmp-tests: New file.
18751         * tests/unicase/test-u32-casecmp.c: New file.
18752
18753         Tests for module 'unicase/u16-casecmp'.
18754         * modules/unicase/u16-casecmp-tests: New file.
18755         * tests/unicase/test-u16-casecmp.c: New file.
18756
18757         Tests for module 'unicase/u8-casecmp'.
18758         * modules/unicase/u8-casecmp-tests: New file.
18759         * tests/unicase/test-u8-casecmp.c: New file.
18760         * tests/unicase/test-casecmp.h: New file.
18761
18762         New module 'unicase/u32-casecmp'.
18763         * lib/unicase/u32-casecmp.c: New file.
18764         * modules/unicase/u32-casecmp: New file.
18765
18766         New module 'unicase/u16-casecmp'.
18767         * lib/unicase/u16-casecmp.c: New file.
18768         * modules/unicase/u16-casecmp: New file.
18769
18770         New module 'unicase/u8-casecmp'.
18771         * lib/unicase/u8-casecmp.c: New file.
18772         * lib/unicase/u-casecmp.h: New file.
18773         * modules/unicase/u8-casecmp: New file.
18774
18775         Tests for module 'unicase/u32-casefold'.
18776         * modules/unicase/u32-casefold-tests: New file.
18777         * tests/unicase/test-u32-casefold.c: New file.
18778
18779         Tests for module 'unicase/u16-casefold'.
18780         * modules/unicase/u16-casefold-tests: New file.
18781         * tests/unicase/test-u16-casefold.c: New file.
18782
18783         Tests for module 'unicase/u8-casefold'.
18784         * modules/unicase/u8-casefold-tests: New file.
18785         * tests/unicase/test-u8-casefold.c: New file.
18786
18787         New module 'unicase/u32-casefold'.
18788         * lib/unicase/u32-casefold.c: New file.
18789         * modules/unicase/u32-casefold: New file.
18790
18791         New module 'unicase/u16-casefold'.
18792         * lib/unicase/u16-casefold.c: New file.
18793         * modules/unicase/u16-casefold: New file.
18794
18795         New module 'unicase/u8-casefold'.
18796         * lib/unicase/u8-casefold.c: New file.
18797         * lib/unicase/u-casefold.h: New file.
18798         * modules/unicase/u8-casefold: New file.
18799
18800         New module 'unicase/tocasefold'.
18801         * lib/unicase/casefold.h: New file.
18802         * lib/unicase/tocasefold.c: New file.
18803         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
18804         * modules/unicase/tocasefold: New file.
18805
18806         Tests for module 'unicase/u32-totitle'.
18807         * modules/unicase/u32-totitle-tests: New file.
18808         * tests/unicase/test-u32-totitle.c: New file.
18809
18810         Tests for module 'unicase/u16-totitle'.
18811         * modules/unicase/u16-totitle-tests: New file.
18812         * tests/unicase/test-u16-totitle.c: New file.
18813
18814         Tests for module 'unicase/u8-totitle'.
18815         * modules/unicase/u8-totitle-tests: New file.
18816         * tests/unicase/test-u8-totitle.c: New file.
18817
18818         New module 'unicase/u32-totitle'.
18819         * lib/unicase/u32-totitle.c: New file.
18820         * modules/unicase/u32-totitle: New file.
18821
18822         New module 'unicase/u16-totitle'.
18823         * lib/unicase/u16-totitle.c: New file.
18824         * modules/unicase/u16-totitle: New file.
18825
18826         New module 'unicase/u8-totitle'.
18827         * lib/unicase/u8-totitle.c: New file.
18828         * lib/unicase/u-totitle.h: New file.
18829         * modules/unicase/u8-totitle: New file.
18830
18831         Tests for module 'unicase/u32-tolower'.
18832         * modules/unicase/u32-tolower-tests: New file.
18833         * tests/unicase/test-u32-tolower.c: New file.
18834
18835         Tests for module 'unicase/u16-tolower'.
18836         * modules/unicase/u16-tolower-tests: New file.
18837         * tests/unicase/test-u16-tolower.c: New file.
18838
18839         Tests for module 'unicase/u8-tolower'.
18840         * modules/unicase/u8-tolower-tests: New file.
18841         * tests/unicase/test-u8-tolower.c: New file.
18842
18843         New module 'unicase/u32-tolower'.
18844         * lib/unicase/u32-tolower.c: New file.
18845         * modules/unicase/u32-tolower: New file.
18846
18847         New module 'unicase/u16-tolower'.
18848         * lib/unicase/u16-tolower.c: New file.
18849         * modules/unicase/u16-tolower: New file.
18850
18851         New module 'unicase/u8-tolower'.
18852         * lib/unicase/u8-tolower.c: New file.
18853         * modules/unicase/u8-tolower: New file.
18854
18855         Tests for module 'unicase/u32-toupper'.
18856         * modules/unicase/u32-toupper-tests: New file.
18857         * tests/unicase/test-u32-toupper.c: New file.
18858
18859         Tests for module 'unicase/u16-toupper'.
18860         * modules/unicase/u16-toupper-tests: New file.
18861         * tests/unicase/test-u16-toupper.c: New file.
18862
18863         Tests for module 'unicase/u8-toupper'.
18864         * modules/unicase/u8-toupper-tests: New file.
18865         * tests/unicase/test-u8-toupper.c: New file.
18866
18867         New module 'unicase/u32-toupper'.
18868         * lib/unicase/u32-toupper.c: New file.
18869         * modules/unicase/u32-toupper: New file.
18870
18871         New module 'unicase/u16-toupper'.
18872         * lib/unicase/u16-toupper.c: New file.
18873         * modules/unicase/u16-toupper: New file.
18874
18875         New module 'unicase/u8-toupper'.
18876         * lib/unicase/u8-toupper.c: New file.
18877         * modules/unicase/u8-toupper: New file.
18878
18879         New module 'unicase/u32-casemap'.
18880         * lib/unicase/u32-casemap.c: New file.
18881         * modules/unicase/u32-casemap: New file.
18882
18883         New module 'unicase/u16-casemap'.
18884         * lib/unicase/u16-casemap.c: New file.
18885         * modules/unicase/u16-casemap: New file.
18886
18887         New module 'unicase/u8-casemap'.
18888         * lib/unicase/unicasemap.h: New file.
18889         * lib/unicase/u8-casemap.c: New file.
18890         * lib/unicase/u-casemap.h: New file.
18891         * modules/unicase/u8-casemap: New file.
18892
18893         New module 'unicase/special-casing'.
18894         * lib/unicase/special-casing.h: New file.
18895         * lib/unicase/special-casing.c: New file.
18896         * lib/unicase/special-casing-table.gperf: New file, generated by
18897         gen-uni-tables.c.
18898         * modules/unicase/special-casing: New file.
18899
18900         Tests for module 'unicase/locale-language'.
18901         * modules/unicase/locale-language-tests: New file.
18902         * tests/unicase/test-locale-language.sh: New file.
18903         * tests/unicase/test-locale-language.c: New file.
18904
18905         New module 'unicase/locale-language'.
18906         * lib/unicase/locale-language.c: New file.
18907         * lib/unicase/locale-languages.gperf: New file.
18908         * modules/unicase/locale-language: New file.
18909
18910         Generate more tables for case conversion and case folding.
18911         * lib/gen-uni-tables.c (SCC_*): New enum items.
18912         (struct special_casing_rule): New type.
18913         (casing_rules, num_casing_rules, allocated_casing_rules): New
18914         variables.
18915         (add_casing_rule, fill_casing_rules): New functions.
18916         (struct casefold_rule): New type.
18917         (casefolding_rules, num_casefolding_rules,
18918         allocated_casefolding_rules): New variables.
18919         (fill_casefolding_rules): New function.
18920         (unicode_casefold): New variable.
18921         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
18922         sort_casing_rules, output_casing_rules): New functions.
18923         (main): Accept to more arguments: SpecialCasing.txt and
18924         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
18925         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
18926         Output mapping for casefolding.
18927
18928         * lib/unicase.h: Include stdbool.h, uninorm.h.
18929         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
18930         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
18931         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
18932         arguments.
18933         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
18934         resultp arguments.
18935         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
18936         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
18937         resultp arguments.
18938         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
18939         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
18940         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
18941         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
18942         declarations.
18943         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
18944
18945 2009-03-08  Bruno Haible  <bruno@clisp.org>
18946
18947         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
18948         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
18949         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
18950         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
18951
18952 2009-03-07  Bruno Haible  <bruno@clisp.org>
18953
18954         Adjust u*_normcmp, u*_normcoll API.
18955         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
18956         u16_normcoll, u32_normcoll): Change failure conventions.
18957         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
18958         errno and return -1.
18959         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
18960
18961 2009-03-07  Bruno Haible  <bruno@clisp.org>
18962
18963         Tests for module 'uninorm/u32-normcoll'.
18964         * modules/uninorm/u32-normcoll-tests: New file.
18965         * tests/uninorm/test-u32-normcoll.c: New file.
18966
18967         Tests for module 'uninorm/u16-normcoll'.
18968         * modules/uninorm/u16-normcoll-tests: New file.
18969         * tests/uninorm/test-u16-normcoll.c: New file.
18970
18971         Tests for module 'uninorm/u8-normcoll'.
18972         * modules/uninorm/u8-normcoll-tests: New file.
18973         * tests/uninorm/test-u8-normcoll.c: New file.
18974
18975 2009-03-07  Bruno Haible  <bruno@clisp.org>
18976
18977         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
18978         tests/uninorm/test-u32-normcmp.c.
18979         * tests/uninorm/test-u32-normcmp.c: Include it.
18980         (test_nonascii): New function, extracted from main. Add some more
18981         tests.
18982         (main): Invoke test_ascii and test_nonascii.
18983         * modules/uninorm/u32-normcmp-tests (Files): Add
18984         tests/uninorm/test-u32-normcmp.h.
18985         (Depends-on): Remove uninorm/u32-normcmp.
18986
18987         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
18988         tests/uninorm/test-u16-normcmp.c.
18989         * tests/uninorm/test-u16-normcmp.c: Include it.
18990         (test_nonascii): New function, extracted from main. Add some more
18991         tests.
18992         (main): Invoke test_ascii and test_nonascii.
18993         * modules/uninorm/u16-normcmp-tests (Files): Add
18994         tests/uninorm/test-u16-normcmp.h.
18995         (Depends-on): Remove uninorm/u16-normcmp.
18996
18997         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
18998         tests/uninorm/test-u8-normcmp.c.
18999         * tests/uninorm/test-u8-normcmp.c: Include it.
19000         (test_nonascii): New function, extracted from main. Add some more
19001         tests.
19002         (main): Invoke test_ascii and test_nonascii.
19003         * modules/uninorm/u8-normcmp-tests (Files): Add
19004         tests/uninorm/test-u8-normcmp.h.
19005         (Depends-on): Remove uninorm/u8-normcmp.
19006
19007 2009-03-07  Bruno Haible  <bruno@clisp.org>
19008
19009         New module 'uninorm/u32-normcoll'.
19010         * lib/uninorm/u32-normcoll.c: New file.
19011         * modules/uninorm/u32-normcoll: New file.
19012
19013         New module 'uninorm/u16-normcoll'.
19014         * lib/uninorm/u16-normcoll.c: New file.
19015         * modules/uninorm/u16-normcoll: New file.
19016
19017         New module 'uninorm/u8-normcoll'.
19018         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
19019         declarations.
19020         * lib/uninorm/u8-normcoll.c: New file.
19021         * lib/uninorm/u-normcoll.h: New file.
19022         * modules/uninorm/u8-normcoll: New file.
19023
19024         New module 'uninorm/u32-normxfrm'.
19025         * lib/uninorm/u32-normxfrm.c: New file.
19026         * modules/uninorm/u32-normxfrm: New file.
19027
19028         New module 'uninorm/u16-normxfrm'.
19029         * lib/uninorm/u16-normxfrm.c: New file.
19030         * modules/uninorm/u16-normxfrm: New file.
19031
19032         New module 'uninorm/u8-normxfrm'.
19033         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
19034         declarations.
19035         * lib/uninorm/u8-normxfrm.c: New file.
19036         * lib/uninorm/u-normxfrm.h: New file.
19037         * modules/uninorm/u8-normxfrm: New file.
19038
19039 2009-03-07  Bruno Haible  <bruno@clisp.org>
19040
19041         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
19042         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
19043         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
19044
19045 2009-03-07  Bruno Haible  <bruno@clisp.org>
19046
19047         New module 'memxfrm'.
19048         * lib/memxfrm.h: New file.
19049         * lib/memxfrm.c: New file.
19050         * modules/memxfrm: New file.
19051
19052 2009-03-07  Bruno Haible  <bruno@clisp.org>
19053
19054         New module 'memcmp2'.
19055         * lib/memcmp2.h: New file.
19056         * lib/memcmp2.c: New file.
19057         * modules/memcmp2: New file.
19058
19059 2009-03-07  Bruno Haible  <bruno@clisp.org>
19060
19061         Tests for module 'uninorm/decomposing-form'.
19062         * modules/uninorm/decomposing-form-tests: New file.
19063         * tests/uninorm/test-decomposing-form.c: New file.
19064
19065         New module 'uninorm/decomposing-form'.
19066         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
19067         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
19068         Add 'decomposing_variant' field.
19069         * lib/uninorm/decomposing-form.c: New file.
19070         * lib/uninorm/nfc.c (uninorm_nfc): Update.
19071         * lib/uninorm/nfd.c (uninorm_nfd): Update.
19072         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
19073         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
19074         * modules/uninorm/decomposing-form: New file.
19075         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
19076         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
19077
19078 2009-03-07  Bruno Haible  <bruno@clisp.org>
19079
19080         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
19081         strings.
19082
19083 2009-03-06  Bruno Haible  <bruno@clisp.org>
19084
19085         Tests for module 'uninorm/u32-normcmp'.
19086         * tests/uninorm/test-u32-normcmp.c: New file.
19087         * modules/uninorm/u32-normcmp-tests: New file.
19088
19089         Tests for module 'uninorm/u16-normcmp'.
19090         * tests/uninorm/test-u16-normcmp.c: New file.
19091         * modules/uninorm/u16-normcmp-tests: New file.
19092
19093         Tests for module 'uninorm/u8-normcmp'.
19094         * tests/uninorm/test-u8-normcmp.c: New file.
19095         * modules/uninorm/u8-normcmp-tests: New file.
19096
19097         New module 'uninorm/u32-normcmp'.
19098         * lib/uninorm/u32-normcmp.c: New file.
19099         * modules/uninorm/u32-normcmp: New file.
19100
19101         New module 'uninorm/u16-normcmp'.
19102         * lib/uninorm/u16-normcmp.c: New file.
19103         * modules/uninorm/u16-normcmp: New file.
19104
19105         New module 'uninorm/u8-normcmp'.
19106         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
19107         declarations.
19108         * lib/uninorm/u8-normcmp.c: New file.
19109         * lib/uninorm/u-normcmp.h: New file.
19110         * modules/uninorm/u8-normcmp: New file.
19111
19112 2009-03-06  Bruno Haible  <bruno@clisp.org>
19113
19114         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
19115         Reported by Eric Blake.
19116
19117 2009-03-06  Eric Blake  <ebb9@byu.net>
19118             Bruno Haible  <bruno@clisp.org>
19119
19120         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
19121         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
19122         condition.
19123         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
19124         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
19125         condition.
19126         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
19127
19128 2009-03-06  Eric Blake  <ebb9@byu.net>
19129
19130         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
19131         to avoid compiler warnings.
19132         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
19133
19134 2009-03-05  Bruno Haible  <bruno@clisp.org>
19135
19136         * tests/test-ftell.c (main): Disable test beyond end of file on
19137         FreeMiNT.
19138         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
19139
19140 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
19141
19142         * lib/filevercmp.c: Move hidden files up in ordering.
19143         * tests/test-filevercmp.c: Add tests for hidden files.
19144
19145 2009-03-04  Bruno Haible  <bruno@clisp.org>
19146
19147         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
19148         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
19149         AM_CFLAGS.
19150         Reported by Simon Josefsson.
19151
19152 2009-03-03  Bruno Haible  <bruno@clisp.org>
19153
19154         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
19155         Reported by Simon Josefsson.
19156
19157         * doc/ld-version-script.texi: Update node reference.
19158
19159 2009-03-03  Bruno Haible  <bruno@clisp.org>
19160
19161         * modules/visibility (License): Change to 'unlimited'.
19162         Suggested by Simon Josefsson.
19163
19164 2009-03-03  Jim Meyering  <meyering@redhat.com>
19165
19166         unlinkdir: cannot_unlink_dir may modify process state
19167         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
19168         it's neither thread-safe nor appropriate for use in a library.
19169
19170 2009-03-03  Eric Blake  <ebb9@byu.net>
19171
19172         test-closein: silence test under Darwin
19173         * tests/test-closein.sh: Ignore stderr from cat, since we don't
19174         care if it dies from EPIPE or EBADF.
19175
19176 2009-03-03  Bruno Haible  <bruno@clisp.org>
19177
19178         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
19179         earlier.
19180         * doc/visibility.texi: Fix @node and @section.
19181
19182 2009-03-03  Simon Josefsson  <simon@josefsson.org>
19183
19184         * doc/gnulib.texi: Link to sections for ld version script and
19185         visibility.
19186         * doc/visibility.texi: Add @node and @section.
19187         * modules/ld-version-script: New module.
19188         * m4/ld-version-script.m4: New file.
19189         * doc/ld-version-script.texi: New file.
19190
19191 2009-03-02  David Lutterkort  <lutter@redhat.com>
19192
19193         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
19194         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19195
19196 2009-03-02  Bruno Haible  <bruno@clisp.org>
19197
19198         * doc/visibility.texi: Mention libtool's -export-symbols option.
19199
19200 2009-03-02  Jim Meyering  <meyering@redhat.com>
19201
19202         announce-gen: new option: --no-print-checksums
19203         * build-aux/announce-gen (usage): Describe it.
19204         (print_checksums): Print a newline here, not in the [*] footnote.
19205         (main): Honor it.
19206
19207 2009-03-01  Bruno Haible  <bruno@clisp.org>
19208
19209         Use socklen_t in the native Windows replacements prototypes.
19210         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
19211         instead of 'int'.
19212         * lib/getsockopt.c (rpl_getsockopt): Likewise.
19213         * lib/setsockopt.c (rpl_setsockopt): Likewise.
19214         * modules/getsockopt (Depends-on): Add socklen.
19215         * modules/setsockopt (Depends-on): Add socklen.
19216
19217 2009-03-01  Bruno Haible  <bruno@clisp.org>
19218
19219         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
19220         least 4.2.
19221
19222 2009-03-01  Eric Blake  <ebb9@byu.net>
19223             Bruno Haible  <bruno@clisp.org>
19224
19225         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
19226         error messages.
19227         * lib/wait-process.c (wait_subprocess): Omit error message about
19228         deadly signal sent to the child of termsigp != NULL.
19229
19230 2009-03-01  Eric Blake  <ebb9@byu.net>
19231
19232         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
19233
19234 2009-03-01  Bruno Haible  <bruno@clisp.org>
19235
19236         Avoid a gcc warning.
19237         * tests/test-sched.c (b): Make global.
19238         Reported by Eric Blake.
19239
19240 2009-01-19  Martin Lambers  <marlam@marlam.de>
19241
19242         Provide POSIX semantics for socket timeout options on W32.
19243         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
19244         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
19245         * modules/setsockopt: Depend on sys_time module for struct timeval.
19246         * modules/getsockopt: Depend on sys_time module for struct timeval.
19247
19248 2009-03-01  Simon Josefsson  <simon@josefsson.org>
19249
19250         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
19251         __USE_GNU, for consistency with netdb.in.h.
19252         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
19253
19254 2009-03-01  Bruno Haible  <bruno@clisp.org>
19255
19256         More support for FreeMiNT.
19257         * lib/fseeko.c (rpl_fseeko): Complete last commit.
19258         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
19259
19260 2009-03-01  Bruno Haible  <bruno@clisp.org>
19261
19262         More support for FreeMiNT.
19263         * lib/fpurge.c (fpurge): Correct last commit.
19264         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
19265
19266 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19267
19268         Fix unportable awk script in vc-list-files.
19269         * build-aux/vc-list-files: In the replacement awk script, use
19270         substr with a second argument of 1, not zero.
19271         Report by Simon Josefsson.
19272
19273 2009-02-28  Bruno Haible  <bruno@clisp.org>
19274
19275         More support for FreeMiNT.
19276         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
19277         to FreeMiNT today.
19278         * lib/fwriting.c (fwriting): Likewise.
19279         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
19280
19281 2009-02-28  Bruno Haible  <bruno@clisp.org>
19282
19283         * tests/test-freadseek.c (main): Disable test beyond end of file on
19284         FreeMiNT.
19285         * tests/test-ftello.c (main): Likewise.
19286         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
19287
19288 2009-02-28  Bruno Haible  <bruno@clisp.org>
19289
19290         Add tentative support for FreeMiNT.
19291         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
19292         * lib/fpurge.c (fpurge): Likewise.
19293         * lib/freadable.c (freadable): Likewise.
19294         * lib/freading.c (freading): Likewise.
19295         * lib/freadptr.c (freadptr): Likewise.
19296         * lib/freadseek.c (freadptrinc): Likewise.
19297         * lib/fseeko.c (rpl_fseeko): Likewise.
19298         * lib/fseterr.c (fseterr): Likewise.
19299         * lib/fwritable.c (fwritable): Likewise.
19300         * lib/fwriting.c (fwriting): Likewise.
19301         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
19302         Hourihane.
19303         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
19304
19305 2009-02-28  Bruno Haible  <bruno@clisp.org>
19306
19307         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
19308         SIGCHLD.
19309         Reported by Jim Meyering.
19310
19311 2009-02-28  Bruno Haible  <bruno@clisp.org>
19312
19313         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
19314         Mention the results of these tests on various platforms.
19315         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
19316         order.
19317         * doc/posix-functions/printf.texi: Likewise.
19318         * doc/posix-functions/snprintf.texi: Likewise.
19319         * doc/posix-functions/sprintf.texi: Likewise.
19320         * doc/posix-functions/vfprintf.texi: Likewise.
19321         * doc/posix-functions/vprintf.texi: Likewise.
19322         * doc/posix-functions/vsnprintf.texi: Likewise.
19323         * doc/posix-functions/vsprintf.texi: Likewise.
19324         * doc/glibc-functions/obstack_printf.texi: Likewise.
19325         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
19326
19327 2009-02-28  Bruno Haible  <bruno@clisp.org>
19328
19329         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
19330         Reported by Loïc Minier <lool@dooz.org>.
19331
19332 2009-02-27  Bruno Haible  <bruno@clisp.org>
19333
19334         * gnulib-tool (func_import): Make the sed expression used to create the
19335         sed script for updating the .gitignore file POSIX compliant.
19336         Reported by Eric Blake.
19337
19338 2009-02-27  Bruno Haible  <bruno@clisp.org>
19339
19340         * gnulib-tool (sed): Don't alias as "sed --posix".
19341         Reported by Eric Blake.
19342
19343 2009-02-27  Bruno Haible  <bruno@clisp.org>
19344
19345         Avoid test link errors.
19346         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
19347         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
19348         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
19349         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
19350         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19351
19352 2009-02-27  Bruno Haible  <bruno@clisp.org>
19353
19354         Avoid spurious "(cached)" in configure output.
19355         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
19356         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
19357         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
19358         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
19359         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
19360         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
19361         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
19362         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
19363         Reported by Eric Blake.
19364
19365 2009-02-27  Eric Blake  <ebb9@byu.net>
19366
19367         printf: fix regression in previous patch
19368         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
19369
19370 2009-02-27  Bruno Haible  <bruno@clisp.org>
19371
19372         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
19373         value.
19374         * lib/stdint.in.h: Likewise.
19375         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
19376
19377 2009-02-27  Eric Blake  <ebb9@byu.net>
19378
19379         doc: mention more functions added in cygwin 1.7.0
19380         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
19381         addition.
19382         * doc/posix-functions/open_wmemstream.texi: Likewise.
19383         * doc/posix-functions/wcsnlen.texi: Likewise.
19384         * doc/posix-functions/wcsnrtombs.texi: Likewise.
19385         * doc/posix-functions/wcstod.texi: Likewise.
19386         * doc/posix-functions/wcstof.texi: Likewise.
19387         * doc/posix-functions/wcstoimax.texi: Likewise.
19388         * doc/posix-functions/wcstok.texi: Likewise.
19389         * doc/posix-functions/wcstoumax.texi: Likewise.
19390
19391         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
19392         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
19393         * doc/posix-functions/fprintf.texi: Update.
19394         * doc/posix-functions/printf.texi: Update.
19395         * doc/posix-functions/snprintf.texi: Update.
19396         * doc/posix-functions/sprintf.texi: Update.
19397         * doc/posix-functions/vfprintf.texi: Update.
19398         * doc/posix-functions/vprintf.texi: Update.
19399         * doc/posix-functions/vsnprintf.texi: Update.
19400         * doc/posix-functions/vsprintf.texi: Update.
19401         * doc/glibc-functions/obstack_printf.texi: Update.
19402         * doc/glibc-functions/obstack_vprintf.texi: Update.
19403
19404 2009-02-26  Eric Blake  <ebb9@byu.net>
19405
19406         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
19407         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
19408         compilation bug by using runtime conversion.
19409         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
19410         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
19411         * modules/ceill-tests (Files): Use nan.h.
19412         * modules/floorl-tests (Files): Likewise.
19413         * modules/frexpl-tests (Files): Likewise.
19414         * modules/isnanl-tests (Files): Likewise.
19415         * modules/ldexpl-tests (Files): Likewise.
19416         * modules/roundl-tests (Files): Likewise.
19417         * modules/truncl-tests (Files): Likewise.
19418         * tests/test-ceill.c (main): Use a working NaN.
19419         * tests/test-floorl.c (main): Likewise.
19420         * tests/test-frexpl.c (main): Likewise.
19421         * tests/test-isnan.c (test_long_double): Likewise.
19422         * tests/test-isnanl.h (main): Likewise.
19423         * tests/test-ldexpl.h (main): Likewise.
19424         * tests/test-roundl.h (main): Likewise.
19425         * tests/test-truncl.h (main): Likewise.
19426         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
19427
19428 2009-02-26  Eric Blake  <ebb9@byu.net>
19429             Bruno Haible  <bruno@clisp.org>
19430
19431         Work around a *printf bug with %ls on Solaris.
19432         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
19433         precision is specified, sprintf stops converting the wide string
19434         argument when the number of bytes that have been produced by this
19435         conversion equals or exceeds the precision.
19436         * doc/posix-functions/fprintf.texi: Update.
19437         * doc/posix-functions/printf.texi: Update.
19438         * doc/posix-functions/snprintf.texi: Update.
19439         * doc/posix-functions/sprintf.texi: Update.
19440         * doc/posix-functions/vfprintf.texi: Update.
19441         * doc/posix-functions/vprintf.texi: Update.
19442         * doc/posix-functions/vsnprintf.texi: Update.
19443         * doc/posix-functions/vsprintf.texi: Update.
19444         * doc/glibc-functions/obstack_printf.texi: Update.
19445         * doc/glibc-functions/obstack_vprintf.texi: Update.
19446
19447 2009-02-26  Eric Blake  <ebb9@byu.net>
19448
19449         stdlib: favor compiler check of random.h
19450         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
19451         to avoid an ObjC random.h installed by Swarm.
19452
19453 2009-02-26  Bruno Haible  <bruno@clisp.org>
19454
19455         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
19456         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
19457         Reported by Gary V. Vaughan <gary@gnu.org>.
19458
19459 2009-02-26  Bruno Haible  <bruno@clisp.org>
19460
19461         Fix *printf behaviour regarding the %ls directive.
19462         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
19463         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
19464         NEED_PRINTF_DIRECTIVE_LS.
19465         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
19466         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
19467         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
19468         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
19469         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
19470         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
19471         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
19472         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
19473         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
19474         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
19475         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
19476         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
19477         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
19478         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
19479         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
19480         * doc/posix-functions/fprintf.texi: Update.
19481         * doc/posix-functions/printf.texi: Update.
19482         * doc/posix-functions/snprintf.texi: Update.
19483         * doc/posix-functions/sprintf.texi: Update.
19484         * doc/posix-functions/vfprintf.texi: Update.
19485         * doc/posix-functions/vprintf.texi: Update.
19486         * doc/posix-functions/vsnprintf.texi: Update.
19487         * doc/posix-functions/vsprintf.texi: Update.
19488         * doc/glibc-functions/obstack_printf.texi: Update.
19489         * doc/glibc-functions/obstack_vprintf.texi: Update.
19490         Reported by Eric Blake.
19491
19492 2009-02-25  Bruno Haible  <bruno@clisp.org>
19493
19494         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
19495         with known value.
19496         Reported by Gary V. Vaughan <gary@gnu.org>.
19497
19498 2009-02-25  Bruno Haible  <bruno@clisp.org>
19499
19500         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
19501         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
19502         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
19503         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
19504         Reported by Gary V. Vaughan <gary@gnu.org>.
19505
19506 2009-02-25  Bruno Haible  <bruno@clisp.org>
19507
19508         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
19509         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
19510         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
19511         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
19512         Reported by Gary V. Vaughan <gary@gnu.org>.
19513
19514 2009-02-25  Eric Blake  <ebb9@byu.net>
19515
19516         tests: skip fseek/ftell tests if ungetc is broken
19517         * m4/ungetc.m4: New file.
19518         * modules/fseek-tests: Split test, so ungetc dependency is
19519         separate from rest of test.
19520         * modules/fseeko-tests: Likewise.
19521         * modules/ftell-tests: Likewise.
19522         * modules/ftello-tests: Likewise.
19523         * tests/test-fseek.c (main): Isolate ungetc dependency.
19524         * tests/test-fseeko.c (main): Likewise.
19525         * tests/test-ftell.c (main): Likewise.
19526         * tests/test-ftello.c (main): Likewise.
19527         * tests/test-fseek2.sh: New file.
19528         * tests/test-fseeko2.sh: Likewise.
19529         * tests/test-ftell2.sh: Likewise.
19530         * tests/test-ftello2.sh: Likewise.
19531
19532 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
19533
19534         test-getaddrinfo: fix usage of skip return code 77
19535         * tests/test-gettaddrinfo.c: Return skip code 77 only
19536         for first occurance of skip (4x77 is not 77)
19537
19538 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
19539
19540         strtod: avoid C99 decl-after-statement
19541         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
19542
19543 2009-02-24  Eric Blake  <ebb9@byu.net>
19544
19545         strtod: detect HP-UX 11.31 bug
19546         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
19547         Reported by Gary V. Vaughan.
19548
19549 2009-02-23  Bruno Haible  <bruno@clisp.org>
19550
19551         Fix invalid read past end of memory block.
19552         * lib/vasnprintf.c (DCHAR_SET): Define.
19553         (local_wcslen): Define only when needed.
19554         (local_strnlen, local_wcsnlen): New functions.
19555         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
19556         directives that involve a conversion ourselves.
19557         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
19558         wcsnlen, mbrtowc, wcrtomb.
19559         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
19560         * tests/test-vasprintf-posix.c (test_function): Likewise.
19561         * tests/test-snprintf-posix.h (test_function): Likewise.
19562         * tests/test-sprintf-posix.h (test_function): Likewise.
19563         Reported by Ben Pfaff <blp@cs.stanford.edu>.
19564
19565 2009-02-22  Bruno Haible  <bruno@clisp.org>
19566
19567         Implement new clarified decomposition of Hangul syllables.
19568         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
19569         of type LTV, return only a pairwise decomposition.
19570         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
19571         Likewise.
19572         * tests/uninorm/test-decomposition.c (main): Updated expected result.
19573         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
19574         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
19575
19576 2009-02-22  Bruno Haible  <bruno@clisp.org>
19577
19578         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
19579         zero-length results and shrink excess allocated memory.
19580         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
19581         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
19582         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
19583         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
19584         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
19585         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
19586         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
19587         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
19588         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
19589         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
19590         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
19591         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
19592
19593 2009-02-21  Bruno Haible  <bruno@clisp.org>
19594
19595         * doc/gnulib.texi: Include safe-alloc.texi earlier.
19596         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
19597         spaces after a period. Put a space between a macro name and its
19598         argument list. Trivial rewordings.
19599         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
19600         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
19601         (main): Return 0 explicitly.
19602
19603 2009-02-21  Bruno Haible  <bruno@clisp.org>
19604
19605         Tests for module 'uninorm/filter'.
19606         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
19607         * modules/uninorm/filter-tests: New file.
19608
19609         New module 'uninorm/filter'.
19610         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
19611         uninorm_filter_flush, uninorm_filter_free): New declarations.
19612         * lib/uninorm/uninorm-filter.c: New file.
19613         * modules/uninorm/filter: New file.
19614
19615 2009-02-21  Bruno Haible  <bruno@clisp.org>
19616
19617         Tests for module 'uninorm/nfkc'.
19618         * tests/uninorm/test-nfkc.c: New file.
19619         * tests/uninorm/test-u8-nfkc.c: New file.
19620         * tests/uninorm/test-u16-nfkc.c: New file.
19621         * tests/uninorm/test-u32-nfkc.c: New file.
19622         * tests/uninorm/test-u32-nfkc-big.sh: New file.
19623         * tests/uninorm/test-u32-nfkc-big.c: New file.
19624         * modules/uninorm/nfkc-tests: New file.
19625
19626         New module 'uninorm/nfkc'.
19627         * lib/uninorm/nfkc.c: New file.
19628         * modules/uninorm/nfkc: New file.
19629
19630         Tests for module 'uninorm/nfkd'.
19631         * tests/uninorm/test-nfkd.c: New file.
19632         * tests/uninorm/test-u8-nfkd.c: New file.
19633         * tests/uninorm/test-u16-nfkd.c: New file.
19634         * tests/uninorm/test-u32-nfkd.c: New file.
19635         * tests/uninorm/test-u32-nfkd-big.sh: New file.
19636         * tests/uninorm/test-u32-nfkd-big.c: New file.
19637         * modules/uninorm/nfkd-tests: New file.
19638
19639         New module 'uninorm/nfkd'.
19640         * lib/uninorm/nfkd.c: New file.
19641         * modules/uninorm/nfkd: New file.
19642
19643         Tests for module 'uninorm/nfc'.
19644         * tests/uninorm/test-nfc.c: New file.
19645         * tests/uninorm/test-u8-nfc.c: New file.
19646         * tests/uninorm/test-u16-nfc.c: New file.
19647         * tests/uninorm/test-u32-nfc.c: New file.
19648         * tests/uninorm/test-u32-nfc-big.sh: New file.
19649         * tests/uninorm/test-u32-nfc-big.c: New file.
19650         * modules/uninorm/nfc-tests: New file.
19651
19652         New module 'uninorm/nfc'.
19653         * lib/uninorm/nfc.c: New file.
19654         * modules/uninorm/nfc: New file.
19655
19656         Tests for module 'uninorm/nfd'.
19657         * tests/uninorm/test-nfd.c: New file.
19658         * tests/uninorm/test-u8-nfd.c: New file.
19659         * tests/uninorm/test-u16-nfd.c: New file.
19660         * tests/uninorm/test-u32-nfd.c: New file.
19661         * tests/uninorm/test-u32-nfd-big.sh: New file.
19662         * tests/uninorm/test-u32-nfd-big.c: New file.
19663         * tests/uninorm/test-u32-normalize-big.h: New file.
19664         * tests/uninorm/test-u32-normalize-big.c: New file.
19665         * tests/uninorm/NormalizationTest.txt: New file, created from
19666         Unicode 5.1.0 NormalizationTest.txt.
19667         * modules/uninorm/nfd-tests: New file.
19668
19669         New module 'uninorm/nfd'.
19670         * lib/uninorm/nfd.c: New file.
19671         * modules/uninorm/nfd: New file.
19672
19673         New module 'uninorm/u32-normalize'.
19674         * lib/uninorm/u32-normalize.c: New file.
19675         * modules/uninorm/u32-normalize: New file.
19676
19677         New module 'uninorm/u16-normalize'.
19678         * lib/uninorm/u16-normalize.c: New file.
19679         * modules/uninorm/u16-normalize: New file.
19680
19681         New module 'uninorm/u8-normalize'.
19682         * lib/uninorm/u8-normalize.c: New file.
19683         * lib/uninorm/normalize-internal.h: New file.
19684         * lib/uninorm/u-normalize-internal.h: New file.
19685         * modules/uninorm/u8-normalize: New file.
19686
19687         New module 'uninorm/decompose-internal'.
19688         * lib/uninorm/decompose-internal.c: New file.
19689         * modules/uninorm/decompose-internal: New file.
19690
19691         Tests for module 'uninorm/composition'.
19692         * tests/uninorm/test-composition.c: New file.
19693         * modules/uninorm/composition-tests: New file.
19694
19695         New module 'uninorm/composition'.
19696         * lib/uninorm/composition.c: New file.
19697         * lib/uninorm/composition-table.gperf: New file, generated by
19698         gen-uni-tables.
19699         * modules/uninorm/composition: New file.
19700
19701         Tests for module 'uninorm/compat-decomposition'.
19702         * tests/uninorm/test-compat-decomposition.c: New file.
19703         * modules/uninorm/compat-decomposition-tests: New file.
19704
19705         New module 'uninorm/compat-decomposition'.
19706         * lib/uninorm/decompose-internal.h: New file.
19707         * lib/uninorm/compat-decomposition.c: New file.
19708         * modules/uninorm/compat-decomposition: New file.
19709
19710         Tests for module 'uninorm/canonical-decomposition'.
19711         * tests/uninorm/test-canonical-decomposition.c: New file.
19712         * modules/uninorm/canonical-decomposition-tests: New file.
19713
19714         New module 'uninorm/canonical-decomposition'.
19715         * lib/uninorm/canonical-decomposition.c: New file.
19716         * modules/uninorm/canonical-decomposition: New file.
19717
19718         Tests for module 'uninorm/decomposition'.
19719         * tests/uninorm/test-decomposition.c: New file.
19720         * modules/uninorm/decomposition-tests: New file.
19721
19722         New module 'uninorm/decomposition'.
19723         * lib/uninorm/decomposition.c: New file.
19724         * modules/uninorm/decomposition: New file.
19725
19726         New module 'uninorm/decomposition-table'.
19727         * lib/uninorm/decomposition-table.h: New file.
19728         * lib/uninorm/decomposition-table.c: New file.
19729         * lib/uninorm/decomposition-table1.h: New file, generated by
19730         gen-uni-tables.
19731         * lib/uninorm/decomposition-table2.h: New file, generated by
19732         gen-uni-tables.
19733         * modules/uninorm/decomposition-table: New file.
19734
19735         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
19736         (UC_DECOMP_*): New enumeration items.
19737         (get_decomposition): New function.
19738         (struct decomp_table): New type.
19739         (output_decomposition, output_decomposition_tables): New functions.
19740         (unicode_composition_exclusions): New variable.
19741         (fill_composition_exclusions, debug_output_composition_tables): New
19742         functions.
19743         (main): Accept one more argument. Invoke fill_composition_exclusions.
19744         Output decomposition and composition tables.
19745
19746         New module 'uninorm/base'.
19747         * lib/uninorm.h: New file.
19748         * lib/unictype.h: Update comment.
19749         * modules/uninorm/base: New file.
19750
19751 2009-02-21  David Lutterkort  <lutter@redhat.com>
19752
19753         Tests for module 'safe-alloc'.
19754         * tests/test-safe-alloc.c: New file.
19755         * modules/safe-alloc-tests: New file.
19756
19757         New module 'safe-alloc'.
19758         * lib/safe-alloc.h: New file.
19759         * lib/safe-alloc.c: New file.
19760         * m4/safe-alloc.m4: New file.
19761         * modules/safe-alloc: New file.
19762         * doc/safe-alloc.texi: New file.
19763         * doc/gnulib.texi: Include it.
19764         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
19765         safe-alloc.
19766
19767 2009-02-18  Bruno Haible  <bruno@clisp.org>
19768
19769         Fix link error on non-glibc systems.
19770         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
19771         variable.
19772         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19773
19774 2009-02-18  Jim Meyering  <meyering@redhat.com>
19775
19776         fts: avoid used-uninitialized error due to recent change
19777         * lib/fts.c (fts_read): Guard uses of the new member,
19778         parent->fts_n_dirs_remaining, since it's not relevant for
19779         the parent of a directory specified on the command-line.
19780
19781 2009-02-17  James Youngman  <jay@gnu.org>
19782             Bruno Haible  <bruno@clisp.org>
19783
19784         * m4/include_next.m4: Reformulate comment.
19785
19786 2009-02-16  Jim Meyering  <meyering@redhat.com>
19787
19788         fts: add #if guards so that the fts_lgpl module still builds
19789         * lib/fts.c: Guard just-added hash-table-using parts with
19790         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
19791         Reported by Simon Josefsson.
19792
19793 2009-02-15  Bruno Haible  <bruno@clisp.org>
19794
19795         * modules/array-mergesort-tests: New file.
19796         * tests/test-array-mergesort.c: New file.
19797
19798         New module 'array-mergesort'.
19799         * modules/array-mergesort: New file.
19800         * lib/array-mergesort.h: New file.
19801
19802 2009-02-15  Bruno Haible  <bruno@clisp.org>
19803
19804         Fix 2009-02-07 commit.
19805         * lib/gen-uni-tables.c (output_predicate, output_category,
19806         output_combclass, output_bidi_category, output_decimal_digit,
19807         output_digit, output_numeric, output_mirror, output_scripts,
19808         output_ident_category, output_simple_mapping): Fix format directives.
19809         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
19810
19811 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
19812
19813         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
19814         fixes are available from IBM.
19815
19816 2009-02-13  Jim Meyering  <meyering@redhat.com>
19817
19818         fts: arrange not to stat non-directories in more cases
19819         This makes GNU find (when it doesn't need to stat each file)
19820         *much* more efficient at traversing reiserfs file systems.
19821         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
19822         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
19823         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
19824         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
19825         (leaf_optimization_applies): New function.
19826         (LCO_hash, LCO_compare): New helper functions.
19827         (link_count_optimize_ok): New function.
19828         (fts_stat): Initialize new member (if dir).
19829         (fts_read): Decrement parent's fts_n_dirs_remaining count if
19830         we've just stat'ed a directory.  Skip the stat call when possible.
19831         ---
19832         Note this AFS-related exchange:
19833         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
19834         and note find's pioctl call in find/fstype.c.
19835         But that is necessary only if you want to enable the
19836         optimization for AFS, and for now, I don't.
19837
19838         fts: move a function definition "up" (no semantic change)
19839         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
19840         "up" to precede upcoming use of a related function.
19841
19842 2009-02-11  Jim Meyering  <meyering@redhat.com>
19843
19844         fts: correct internal computation of nlinks (optimization-related)
19845         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
19846         whether the current entry is a directory, so don't test it.
19847
19848 2009-02-10  Bruno Haible  <bruno@clisp.org>
19849
19850         Tests for module 'uniwbrk/ulc-wordbreaks'.
19851         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
19852         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
19853         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
19854
19855         Tests for module 'uniwbrk/u32-wordbreaks'.
19856         * modules/uniwbrk/u32-wordbreaks-tests: New file.
19857         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
19858
19859         Tests for module 'uniwbrk/u16-wordbreaks'.
19860         * modules/uniwbrk/u16-wordbreaks-tests: New file.
19861         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
19862
19863         Tests for module 'uniwbrk/u8-wordbreaks'.
19864         * modules/uniwbrk/u8-wordbreaks-tests: New file.
19865         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
19866
19867 2009-02-10  Bruno Haible  <bruno@clisp.org>
19868
19869         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
19870         property.
19871         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
19872         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
19873         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
19874
19875 2009-02-10  Simon Josefsson  <simon@josefsson.org>
19876
19877         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
19878         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
19879
19880 2009-02-10  Bruno Haible  <bruno@clisp.org>
19881
19882         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
19883         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
19884         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
19885         * lib/unilbrk/u8-possible-linebreaks.c: Update.
19886         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
19887         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
19888
19889 2009-02-09  Simon Josefsson  <simon@josefsson.org>
19890
19891         * lib/sockets.h (gl_fd_to_handle): New function.
19892
19893         * tests/test-sockets.c: Call gl_fd_to_handle.
19894
19895 2009-02-09  Bruno Haible  <bruno@clisp.org>
19896
19897         * doc/havelib.texi: Document the conventions on bi-arch systems.
19898
19899 2009-02-08  Bruno Haible  <bruno@clisp.org>
19900
19901         Document the AC_LIB_LINKFLAGS macro.
19902         * doc/havelib.texi: New file, mostly written on 2005-05-24.
19903         * doc/gnulib.texi: Include it.
19904
19905 2009-02-08  Bruno Haible  <bruno@clisp.org>
19906
19907         Fix wrong order of sections, compared to TOC.
19908         * doc/gnulib.texi: Include relocatable-maint.texi after the
19909         "Regular expressions" node, not before.
19910
19911 2009-02-08  Bruno Haible  <bruno@clisp.org>
19912
19913         Tests for module 'unicase/totitle'.
19914         * modules/unicase/totitle-tests: New file.
19915
19916         Tests for module 'unicase/tolower'.
19917         * modules/unicase/tolower-tests: New file.
19918
19919         Tests for module 'unicase/toupper'.
19920         * modules/unicase/toupper-tests: New file.
19921         * tests/unicase/test-mapping-part1.h: New file.
19922         * tests/unicase/test-mapping-part2.h: New file.
19923
19924         New module 'unicase/totitle'.
19925         * modules/unicase/totitle: New file.
19926         * lib/unicase/totitle.c: New file.
19927
19928         New module 'unicase/tolower'.
19929         * modules/unicase/tolower: New file.
19930         * lib/unicase/tolower.c: New file.
19931
19932         New module 'unicase/toupper'.
19933         * modules/unicase/toupper: New file.
19934         * lib/unicase/toupper.c: New file.
19935         * lib/unicase/simple-mapping.h: New file.
19936
19937         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
19938         (mapping_table): New structure.
19939         (output_simple_mapping): New function.
19940         (main): Invoke output_simple_mapping_test and output_simple_mapping.
19941         * modules/gen-uni-tables (Description): Update.
19942         * lib/unicase/toupper.h: New file, automatically generated by
19943         gen-uni-tables.
19944         * lib/unicase/tolower.h: New file, automatically generated by
19945         gen-uni-tables.
19946         * lib/unicase/totitle.h: New file, automatically generated by
19947         gen-uni-tables.
19948         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
19949         gen-uni-tables.
19950         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
19951         gen-uni-tables.
19952         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
19953         gen-uni-tables.
19954
19955         New module 'unicase/base'.
19956         * modules/unicase/base: New file.
19957         * lib/unicase.h: New file.
19958
19959 2009-02-08  Bruno Haible  <bruno@clisp.org>
19960
19961         New module 'uniwbrk/ulc-wordbreaks'.
19962         * modules/uniwbrk/ulc-wordbreaks: New file.
19963         * lib/uniwbrk/ulc-wordbreaks.c: New file.
19964
19965         New module 'uniwbrk/u32-wordbreaks'.
19966         * modules/uniwbrk/u32-wordbreaks: New file.
19967         * lib/uniwbrk/u32-wordbreaks.c: New file.
19968
19969         New module 'uniwbrk/u16-wordbreaks'.
19970         * modules/uniwbrk/u16-wordbreaks: New file.
19971         * lib/uniwbrk/u16-wordbreaks.c: New file.
19972
19973         New module 'uniwbrk/u8-wordbreaks'.
19974         * modules/uniwbrk/u8-wordbreaks: New file.
19975         * lib/uniwbrk/u8-wordbreaks.c: New file.
19976         * lib/uniwbrk/u-wordbreaks.h: New file.
19977
19978         New module 'uniwbrk/table'.
19979         * modules/uniwbrk/table: New file.
19980         * lib/uniwbrk/wbrktable.h: New file.
19981         * lib/uniwbrk/wbrktable.c: New file.
19982
19983         New module 'uniwbrk/wordbreak-property'.
19984         * modules/uniwbrk/wordbreak-property: New file.
19985         * lib/uniwbrk/wordbreak-property.c: New file.
19986
19987         * lib/gen-uni-tables.c (WBP_*): New enum items.
19988         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
19989         (unicode_org_wbp): New variable.
19990         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
19991         New functions.
19992         (wbp_table): New structure.
19993         (output_wbp, output_wbrk_tables): New functions.
19994         (main): Accept additional argument. Invoke fill_org_wbp,
19995         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
19996         output_wbrk_tables.
19997         * modules/gen-uni-tables (Description): Update.
19998         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
19999         gen-uni-tables.
20000
20001         New module 'uniwbrk/base'.
20002         * modules/uniwbrk/base: New file.
20003         * lib/uniwbrk.h: New file.
20004
20005 2009-02-08  Bruno Haible  <bruno@clisp.org>
20006
20007         Update to Unicode 5.1.0.
20008         * lib/gen-uni-tables.c (is_property_alphabetic): Include
20009         U+2185..U+2188.
20010         (is_property_default_ignorable_code_point): Don't include characters
20011         of category Cc or Cs and not-a-characters.
20012         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
20013         U+0D79, U+109E, U+109F, U+A60C.
20014         * lib/unictype/bidi_of.h: Regenerated.
20015         * lib/unictype/blocks.h: Regenerated.
20016         * lib/unictype/categ_C.h: Regenerated.
20017         * lib/unictype/categ_Cf.h: Regenerated.
20018         * lib/unictype/categ_Cn.h: Regenerated.
20019         * lib/unictype/categ_L.h: Regenerated.
20020         * lib/unictype/categ_Ll.h: Regenerated.
20021         * lib/unictype/categ_Lm.h: Regenerated.
20022         * lib/unictype/categ_Lo.h: Regenerated.
20023         * lib/unictype/categ_Lu.h: Regenerated.
20024         * lib/unictype/categ_M.h: Regenerated.
20025         * lib/unictype/categ_Mc.h: Regenerated.
20026         * lib/unictype/categ_Me.h: Regenerated.
20027         * lib/unictype/categ_Mn.h: Regenerated.
20028         * lib/unictype/categ_N.h: Regenerated.
20029         * lib/unictype/categ_Nd.h: Regenerated.
20030         * lib/unictype/categ_Nl.h: Regenerated.
20031         * lib/unictype/categ_No.h: Regenerated.
20032         * lib/unictype/categ_P.h: Regenerated.
20033         * lib/unictype/categ_Pd.h: Regenerated.
20034         * lib/unictype/categ_Pe.h: Regenerated.
20035         * lib/unictype/categ_Pf.h: Regenerated.
20036         * lib/unictype/categ_Pi.h: Regenerated.
20037         * lib/unictype/categ_Po.h: Regenerated.
20038         * lib/unictype/categ_Ps.h: Regenerated.
20039         * lib/unictype/categ_S.h: Regenerated.
20040         * lib/unictype/categ_Sk.h: Regenerated.
20041         * lib/unictype/categ_Sm.h: Regenerated.
20042         * lib/unictype/categ_So.h: Regenerated.
20043         * lib/unictype/categ_of.h: Regenerated.
20044         * lib/unictype/combining.h: Regenerated.
20045         * lib/unictype/ctype_alnum.h: Regenerated.
20046         * lib/unictype/ctype_alpha.h: Regenerated.
20047         * lib/unictype/ctype_graph.h: Regenerated.
20048         * lib/unictype/ctype_lower.h: Regenerated.
20049         * lib/unictype/ctype_print.h: Regenerated.
20050         * lib/unictype/ctype_punct.h: Regenerated.
20051         * lib/unictype/ctype_upper.h: Regenerated.
20052         * lib/unictype/decdigit.h: Regenerated.
20053         * lib/unictype/digit.h: Regenerated.
20054         * lib/unictype/mirror.h: Regenerated.
20055         * lib/unictype/numeric.h: Regenerated.
20056         * lib/unictype/pr_alphabetic.h: Regenerated.
20057         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
20058         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
20059         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
20060         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
20061         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
20062         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
20063         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
20064         * lib/unictype/pr_combining.h: Regenerated.
20065         * lib/unictype/pr_dash.h: Regenerated.
20066         * lib/unictype/pr_decimal_digit.h: Regenerated.
20067         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
20068         * lib/unictype/pr_deprecated.h: Regenerated.
20069         * lib/unictype/pr_diacritic.h: Regenerated.
20070         * lib/unictype/pr_extender.h: Regenerated.
20071         * lib/unictype/pr_format_control.h: Regenerated.
20072         * lib/unictype/pr_grapheme_base.h: Regenerated.
20073         * lib/unictype/pr_grapheme_extend.h: Regenerated.
20074         * lib/unictype/pr_grapheme_link.h: Regenerated.
20075         * lib/unictype/pr_id_continue.h: Regenerated.
20076         * lib/unictype/pr_id_start.h: Regenerated.
20077         * lib/unictype/pr_ideographic.h: Regenerated.
20078         * lib/unictype/pr_ignorable_control.h: Regenerated.
20079         * lib/unictype/pr_lowercase.h: Regenerated.
20080         * lib/unictype/pr_math.h: Regenerated.
20081         * lib/unictype/pr_numeric.h: Regenerated.
20082         * lib/unictype/pr_other_alphabetic.h: Regenerated.
20083         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
20084         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
20085         * lib/unictype/pr_other_id_continue.h: Regenerated.
20086         * lib/unictype/pr_other_lowercase.h: Regenerated.
20087         * lib/unictype/pr_other_math.h: Regenerated.
20088         * lib/unictype/pr_punctuation.h: Regenerated.
20089         * lib/unictype/pr_sentence_terminal.h: Regenerated.
20090         * lib/unictype/pr_soft_dotted.h: Regenerated.
20091         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
20092         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
20093         * lib/unictype/pr_unified_ideograph.h: Regenerated.
20094         * lib/unictype/pr_uppercase.h: Regenerated.
20095         * lib/unictype/pr_xid_continue.h: Regenerated.
20096         * lib/unictype/pr_xid_start.h: Regenerated.
20097         * lib/unictype/pr_zero_width.h: Regenerated.
20098         * lib/unictype/scripts.h: Regenerated.
20099         * lib/unictype/scripts_byname.gperf: Regenerated.
20100         * lib/unictype/sy_java_ident.h: Regenerated.
20101         * lib/unilbrk/lbrkprop1.h: Regenerated.
20102         * lib/unilbrk/lbrkprop2.h: Regenerated.
20103         * tests/unictype/test-categ_C.c: Regenerated.
20104         * tests/unictype/test-categ_Cf.c: Regenerated.
20105         * tests/unictype/test-categ_Cn.c: Regenerated.
20106         * tests/unictype/test-categ_L.c: Regenerated.
20107         * tests/unictype/test-categ_Ll.c: Regenerated.
20108         * tests/unictype/test-categ_Lm.c: Regenerated.
20109         * tests/unictype/test-categ_Lo.c: Regenerated.
20110         * tests/unictype/test-categ_Lu.c: Regenerated.
20111         * tests/unictype/test-categ_M.c: Regenerated.
20112         * tests/unictype/test-categ_Mc.c: Regenerated.
20113         * tests/unictype/test-categ_Me.c: Regenerated.
20114         * tests/unictype/test-categ_Mn.c: Regenerated.
20115         * tests/unictype/test-categ_N.c: Regenerated.
20116         * tests/unictype/test-categ_Nd.c: Regenerated.
20117         * tests/unictype/test-categ_Nl.c: Regenerated.
20118         * tests/unictype/test-categ_No.c: Regenerated.
20119         * tests/unictype/test-categ_P.c: Regenerated.
20120         * tests/unictype/test-categ_Pd.c: Regenerated.
20121         * tests/unictype/test-categ_Pe.c: Regenerated.
20122         * tests/unictype/test-categ_Pf.c: Regenerated.
20123         * tests/unictype/test-categ_Pi.c: Regenerated.
20124         * tests/unictype/test-categ_Po.c: Regenerated.
20125         * tests/unictype/test-categ_Ps.c: Regenerated.
20126         * tests/unictype/test-categ_S.c: Regenerated.
20127         * tests/unictype/test-categ_Sk.c: Regenerated.
20128         * tests/unictype/test-categ_Sm.c: Regenerated.
20129         * tests/unictype/test-categ_So.c: Regenerated.
20130         * tests/unictype/test-ctype_alnum.c: Regenerated.
20131         * tests/unictype/test-ctype_alpha.c: Regenerated.
20132         * tests/unictype/test-ctype_graph.c: Regenerated.
20133         * tests/unictype/test-ctype_lower.c: Regenerated.
20134         * tests/unictype/test-ctype_print.c: Regenerated.
20135         * tests/unictype/test-ctype_punct.c: Regenerated.
20136         * tests/unictype/test-ctype_upper.c: Regenerated.
20137         * tests/unictype/test-decdigit.h: Regenerated.
20138         * tests/unictype/test-digit.h: Regenerated.
20139         * tests/unictype/test-numeric.h: Regenerated.
20140         * tests/unictype/test-pr_alphabetic.c: Regenerated.
20141         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
20142         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
20143         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
20144         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
20145         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
20146         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
20147         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
20148         * tests/unictype/test-pr_combining.c: Regenerated.
20149         * tests/unictype/test-pr_dash.c: Regenerated.
20150         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
20151         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
20152         * tests/unictype/test-pr_deprecated.c: Regenerated.
20153         * tests/unictype/test-pr_diacritic.c: Regenerated.
20154         * tests/unictype/test-pr_extender.c: Regenerated.
20155         * tests/unictype/test-pr_format_control.c: Regenerated.
20156         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
20157         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
20158         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
20159         * tests/unictype/test-pr_id_continue.c: Regenerated.
20160         * tests/unictype/test-pr_id_start.c: Regenerated.
20161         * tests/unictype/test-pr_ideographic.c: Regenerated.
20162         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
20163         * tests/unictype/test-pr_lowercase.c: Regenerated.
20164         * tests/unictype/test-pr_math.c: Regenerated.
20165         * tests/unictype/test-pr_numeric.c: Regenerated.
20166         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
20167         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
20168         Regenerated.
20169         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
20170         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
20171         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
20172         * tests/unictype/test-pr_other_math.c: Regenerated.
20173         * tests/unictype/test-pr_punctuation.c: Regenerated.
20174         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
20175         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
20176         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
20177         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
20178         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
20179         * tests/unictype/test-pr_uppercase.c: Regenerated.
20180         * tests/unictype/test-pr_xid_continue.c: Regenerated.
20181         * tests/unictype/test-pr_xid_start.c: Regenerated.
20182         * tests/unictype/test-pr_zero_width.c: Regenerated.
20183
20184         Update to Unicode 5.1.0.
20185         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
20186         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
20187         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
20188         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
20189         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
20190         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
20191         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
20192         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
20193         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
20194         (nonspacing_table_ind): Update.
20195         * tests/uniwidth/test-uc_width2.sh: Update expected result.
20196
20197         Update to Unicode 5.1.0.
20198         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
20199         code transform.
20200         * lib/uniname/uniname.c (unicode_character_name,
20201         unicode_name_character): Add the range 0x1Fxxx to the code transform.
20202         * lib/uniname/uninames.h: Regenerated.
20203         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
20204
20205 2009-02-07  Bruno Haible  <bruno@clisp.org>
20206
20207         Merge gen-ctype and gen-lbrk into a single program.
20208         * lib/gen-uni-tables.c: New file, incorporating
20209         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
20210         Add directory prefixes to the names of the generated files.
20211         * lib/unictype/gen-ctype.c: Remove file.
20212         * lib/unilbrk/gen-lbrk.c: Remove file.
20213         * modules/gen-uni-tables: New file.
20214         * modules/unictype/gen-ctype: Remove file.
20215         * modules/unilbrk/gen-lbrk: Remove file.
20216
20217 2009-02-07  Bruno Haible  <bruno@clisp.org>
20218
20219         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
20220
20221         New module 'unistr/u32-strcoll'.
20222         * modules/unistr/u32-strcoll: New file.
20223         * lib/unistr/u32-strcoll.c: New file.
20224
20225         New module 'unistr/u16-strcoll'.
20226         * modules/unistr/u16-strcoll: New file.
20227         * lib/unistr/u16-strcoll.c: New file.
20228
20229         New module 'unistr/u8-strcoll'.
20230         * modules/unistr/u8-strcoll: New file.
20231         * lib/unistr/u8-strcoll.c: New file.
20232         * lib/unistr/u-strcoll.h: New file.
20233
20234 2009-02-07  Bruno Haible  <bruno@clisp.org>
20235
20236         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
20237         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
20238         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
20239         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
20240         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
20241         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
20242
20243 2009-02-07  Bruno Haible  <bruno@clisp.org>
20244
20245         Make 64-bit clean.
20246         * lib/unictype/gen-ctype.c (output_predicate, output_category,
20247         output_combclass, output_bidi_category, output_decimal_digit,
20248         output_digit, output_numeric, output_mirror, output_scripts,
20249         output_ident_category): Use proper width specifier in format strings.
20250
20251 2009-02-07  Bruno Haible  <bruno@clisp.org>
20252
20253         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
20254         failure behaviour.
20255
20256 2009-02-07  Jim Meyering  <meyering@redhat.com>
20257
20258         regex: avoid compilation failure with upcoming gcc-4.4
20259         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
20260         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
20261         "... error: integer overflow in preprocessor expression".
20262
20263 2009-02-05  Ben Pfaff  <blp@gnu.org>
20264
20265         Fix link errors on Windows when close module is used.
20266         * modules/close: Add $(LIB_CLOSE) to Link section.
20267         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
20268         $(LIB_CLOSE) on Windows.
20269
20270 2009-02-05  Jim Meyering  <meyering@redhat.com>
20271
20272         still avoid unused-parameter warnings, but do it cleanly
20273         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
20274         (get_fs_usage): Cast to void instead.
20275         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
20276         (dev_from_mount_options, read_file_system_list): Cast to void.
20277         Prompted by Bruno Haible.
20278
20279 2009-02-04  Jim Meyering  <meyering@redhat.com>
20280
20281         fsusage.c: correct copyright year
20282         * lib/fsusage.c: Reflect year in which the change is pushed into
20283
20284         avoid misc. warnings
20285         * lib/fsusage.c (UNUSED_PARAM): Define.
20286         (get_fs_usage): Mark parameter "disk" as unused.
20287         * lib/getugroups.c (getgrent): Use "void" in prototype.
20288         * lib/mountlist.c: Mark unused parameters.
20289         (read_file_system_list): Declare a local with "const".
20290         * lib/nanosleep.c (getnow): Declare static.
20291         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
20292
20293         dirfd: set errno upon failure
20294         * lib/dirfd.c: Include <errno.h>.
20295         Set errno to ENOTSUP when returning -1.
20296         * modules/dirfd (Depends-on): Add errno.
20297         Suggested by John Kodis <kodis@comcast.net>.
20298
20299 2009-02-01  Bruno Haible  <bruno@clisp.org>
20300
20301         Don't assume sizeof (long) >= sizeof (void *).
20302         * lib/memcmp.c: Include stdint.h.
20303         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
20304         srcp2 to 'const byte *'.
20305         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
20306         types to uintptr_t.
20307         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
20308         * modules/memcmp (Depends-on): Add stdint.
20309         Reported by Ozkan Sezer <sezeroz@gmail.com>.
20310
20311 2009-01-30  Eric Blake  <ebb9@byu.net>
20312
20313         fix more require-before-expand issues
20314         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
20315         expand, AC_PROG_AWK.
20316         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
20317
20318 2009-01-28  Eric Blake  <ebb9@byu.net>
20319
20320         version-etc: use consistent URL formatting
20321         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
20322         Improve formatting.  Use fputs for string without %.
20323
20324 2009-01-28  Jim Meyering  <meyering@redhat.com>
20325
20326         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
20327         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
20328         "underquoted definition of NAME" from autoconf-2.59.
20329
20330 2009-01-28  Bruno Haible  <bruno@clisp.org>
20331
20332         * doc/gnulib.texi: Add "Obsolete modules" to index.
20333
20334 2009-01-28  Jim Meyering  <meyering@redhat.com>
20335
20336         useless-if-before-free: recognize more variants
20337         * build-aux/useless-if-before-free: Also recognize e.g.,
20338         if (NULL != p) free (p);
20339
20340 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
20341
20342         test-getaddrinfo: skip (don't fail) this test when there's no network
20343         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
20344         on the presumption that it means you lack network access.
20345
20346 2009-01-26  Jim Meyering  <meyering@redhat.com>
20347
20348         fflush: avoid warnings on modern systems
20349         * lib/fflush.c (rpl_fflush): Move declarations of locals,
20350         pos and result, into scopes where they're used.
20351
20352 2009-01-26  Eric Blake  <ebb9@byu.net>
20353
20354         Silence warning reintroduced by recent extensions patch.
20355         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
20356         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
20357         autoconf.
20358
20359         Backport improved autoconf semantics of AC_DEFUN_ONCE.
20360         * m4/00gnulib.m4: New file.
20361         * gnulib-tool (func_get_filelist): Always use it.
20362         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
20363         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
20364
20365 2009-01-25  Bruno Haible  <bruno@clisp.org>
20366
20367         Make test-quotearg work on MacOS X and AIX.
20368         * tests/test-quotearg.sh: New file.
20369         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
20370         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
20371         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
20372         include <libintl.h>.
20373         (fake_locale): Remove variable.
20374         (gettext, dgettext, dcgettext): Remove functions.
20375         (main): Instead of setting a fake locale, set a real locale. Call
20376         textdomain and bindtextdomain.
20377         * modules/quotearg-tests (Files): Add the new files.
20378         (Depends-on): Add gettext, setenv, unsetenv.
20379         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
20380         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
20381         Augment TESTS_ENVIRONMENT.
20382
20383 2009-01-25  Bruno Haible  <bruno@clisp.org>
20384
20385         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
20386         fr_FR.ISO8859-1 locale on MacOS X.
20387         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
20388         ja_JP.eucJP locale on MacOS X.
20389         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
20390         zh_CN.GB18030 locale on MacOS X.
20391
20392 2009-01-25  Bruno Haible  <bruno@clisp.org>
20393
20394         Avoid link errors on MacOS X 10.3.
20395         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
20396         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
20397
20398 2009-01-25  Bruno Haible  <bruno@clisp.org>
20399
20400         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
20401         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
20402         * modules/pipe (Files): Remove m4/posix_spawn.m4.
20403         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
20404         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
20405         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
20406         posix_spawnattr_init, posix_spawnattr_setsigmask,
20407         posix_spawnattr_setflags, posix_spawnattr_destroy.
20408
20409         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
20410         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
20411         * modules/execute (Files): Remove m4/posix_spawn.m4.
20412         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
20413         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
20414         posix_spawnattr_init, posix_spawnattr_setsigmask,
20415         posix_spawnattr_setflags, posix_spawnattr_destroy.
20416
20417 2009-01-25  Bruno Haible  <bruno@clisp.org>
20418
20419         * lib/glthread/threadlib.c: Include <stdlib.h>.
20420
20421 2009-01-25  Bruno Haible  <bruno@clisp.org>
20422
20423         * lib/glthread/threadlib.c (dummy): New declaration.
20424
20425 2009-01-25  Bruno Haible  <bruno@clisp.org>
20426
20427         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
20428         multibyte characters also for the GB18030 encoding. Don't crash when
20429         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
20430
20431 2009-01-25  Bruno Haible  <bruno@clisp.org>
20432
20433         Avoid redefining 'struct random_data' on OSF/1 5.1.
20434         * lib/stdlib.in.h: Include <random.h> if it exists.
20435         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
20436         HAVE_RANDOM_H. Include <random.h> when testing whether
20437         'struct random_data' exists.
20438         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
20439
20440 2009-01-25  Bruno Haible  <bruno@clisp.org>
20441
20442         Don't install charset.alias on MacOS X >= 10.3.
20443         * lib/localcharset.c (DARWIN7): New macro.
20444         (get_charset_aliases): Hardcode the result for Darwin7.
20445         * modules/localcharset (install-exec-local): Don't install
20446         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
20447
20448 2009-01-25  Bruno Haible  <bruno@clisp.org>
20449
20450         Don't install charset.alias on mingw and Cygwin.
20451         * modules/localcharset (install-exec-local): Don't install
20452         charset.alias on mingw and Cygwin, if the file does not yet exist.
20453         The result for these platforms is hardcoded in localcharset.c.
20454
20455 2009-01-25  Bruno Haible  <bruno@clisp.org>
20456
20457         Make it possible again to use AC_GNU_SOURCE together with gnulib.
20458         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
20459         before requiring AC_USE_SYSTEM_EXTENSIONS.
20460
20461 2009-01-25  Jim Meyering  <meyering@redhat.com>
20462
20463         c-strtod: avoid warnings
20464         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
20465         "assignment discards qualifiers from pointer target type" warnings.
20466
20467 2009-01-24  Bruno Haible  <bruno@clisp.org>
20468
20469         Add support for non-UTF-8 locales on MacOS X.
20470         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
20471         canonical encodings. For Darwin 7 and newer, don't map traditional
20472         encodings to UTF-8.
20473         Reported by Vincent Lefevre <vincent@vinc17.org>
20474         at <http://savannah.gnu.org/bugs/?25235>.
20475
20476 2009-01-24  Bruno Haible  <bruno@clisp.org>
20477
20478         * doc/gnulib.texi (Obsolete modules): New section.
20479         Reported by Mike Frysinger <vapier@gentoo.org>.
20480
20481 2009-01-24  Bruno Haible  <bruno@clisp.org>
20482
20483         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
20484         (%.dvi): New rule.
20485
20486 2009-01-24  Bruno Haible  <bruno@clisp.org>
20487
20488         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
20489         Reported by Eric Blake.
20490
20491 2009-01-24  Bruno Haible  <bruno@clisp.org>
20492
20493         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
20494         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
20495         Reported by Gary V. Vaughan <gary@gnu.org>.
20496
20497 2009-01-24  Bruno Haible  <bruno@clisp.org>
20498
20499         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
20500
20501 2009-01-23  Bruno Haible  <bruno@clisp.org>
20502
20503         Make c-strtod, c-strtold usable in libraries.
20504         * lib/c-strtod.c: Include string.h instead of xalloc.h.
20505         (C_STRTOD): Call strdup instead of xstrdup.
20506         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
20507         * modules/c-strtold (Depends-on): Likewise.
20508         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
20509         * NEWS: Mention the change.
20510         Reported by Michael Gold <mgold@ncf.ca>.
20511
20512 2009-01-23  Jim Meyering  <meyering@redhat.com>
20513
20514         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
20515         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
20516         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
20517
20518 2009-01-23  Simon Josefsson  <simon@josefsson.org>
20519
20520         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
20521         GNU CoreUtils.
20522         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
20523         * modules/version-etc (Description): Update.
20524
20525 2009-01-22  Bruno Haible  <bruno@clisp.org>
20526
20527         Cache the C locale object.
20528         * lib/c-strtod.c (c_locale_cache): New variable.
20529         (c_locale): New function.
20530         (C_STRTOD): Use it, and don't call freelocale.
20531         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
20532         Suggested by Paolo Bonzini.
20533
20534 2009-01-21  Bruno Haible  <bruno@clisp.org>
20535
20536         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
20537         conditions other than overflow.
20538
20539 2009-01-21  Bruno Haible  <bruno@clisp.org>
20540
20541         * lib/c-strtod.c: Include errno.h.
20542         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
20543         value from STRTOD_L and STRTOD.
20544
20545 2009-01-21  Bruno Haible  <bruno@clisp.org>
20546         and Jim Meyering  <meyering@redhat.com>
20547
20548         nanosleep: skip configure test (fail it) for apple universal builds
20549         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
20550         universal builds, assume that nanosleep does not work.
20551         * modules/nanosleep (Depends-on): Add multiarch.
20552
20553         mktime: skip configure test (fail it) for apple universal builds
20554         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
20555         universal builds, assume that mktime does not work.
20556         * modules/mktime (Depends-on): Add multiarch.
20557
20558 2009-01-21  Eric Blake  <ebb9@byu.net>
20559
20560         multiarch: avoid expand-before-require warning
20561         * modules/multiarch (configure.ac): Require, rather than expand,
20562         gl_MULTIARCH.
20563         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
20564         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
20565         enforce that all clients require it.  Partial reversion of
20566         2008-12-29 patch.
20567
20568         error: avoid expand-before-require warning
20569         * modules/errno (configure.ac): Require, rather than expand,
20570         gl_HEADER_ERRNO_H.
20571         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
20572         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
20573         enforce that all clients require it.
20574
20575         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
20576         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
20577         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
20578         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
20579
20580 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
20581
20582         Revert:
20583         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
20584
20585         regex: do not depend on obsolete modules.
20586         * modules/regex: Remove memcmp and memmove.
20587
20588 2009-01-20  Bruno Haible  <bruno@clisp.org>
20589
20590         Make the 'link' module link on Windows NT 4.
20591         * lib/link.c (_WIN32_WINNT): Don't define.
20592         (CreateHardLinkFuncType): New type.
20593         (CreateHardLinkFunc, initialized): New variables.
20594         (initialize): New function.
20595         (link): Invoke CreateHardLink indirectly through the function pointer.
20596
20597 2009-01-20  Bruno Haible  <bruno@clisp.org>
20598
20599         Fix compilation failure on mingw.
20600         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
20601
20602 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
20603
20604         * doc/c-strtod.texi: Mention a couple of restrictions.
20605
20606 2009-01-20  Jim Meyering  <meyering@redhat.com>
20607
20608         gettimeofday: move more declarations out of functions
20609         * lib/gettimeofday.c: Move extern declarations of tzset and
20610         gmtime out of containing functions.  Prompted by Bruno Haible.
20611
20612 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
20613
20614         regex: do not depend on obsolete modules.
20615         * modules/regex: Remove memcmp and memmove.
20616
20617 2009-01-19  Bruno Haible  <bruno@clisp.org>
20618
20619         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
20620         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
20621         gl_BIGENDIAN, not AC_C_BIGENDIAN.
20622         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
20623         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
20624
20625 2009-01-19  Bruno Haible  <bruno@clisp.org>
20626
20627         * tests/test-link.c: Include <errno.h>.
20628         (main): Exit with code 77 when a hard link cannot be created due to
20629         the file system.
20630         * tests/test-link.sh: Skip test when a hard link cannot be created due
20631         to the file system.
20632         Suggested by Eric Blake.
20633
20634 2009-01-19  Martin Lambers  <marlam@marlam.de>
20635
20636         * modules/link-tests: New file.
20637         * tests/test-link.sh: New file.
20638         * tests/test-link.c: New file.
20639
20640 2009-01-19  Eric Blake  <ebb9@byu.net>
20641
20642         doc: mention another function added in cygwin 1.7.0
20643         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
20644         Another new function in cygwin 1.7.
20645
20646 2009-01-19  Bruno Haible  <bruno@clisp.org>
20647
20648         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
20649         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
20650         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
20651         gl_BIGENDIAN, not AC_C_BIGENDIAN.
20652         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
20653         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
20654         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
20655         * m4/md4.m4 (gl_MD4): Likewise.
20656         * m4/md5.m4 (gl_MD5): Likewise.
20657         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
20658         * m4/sha1.m4 (gl_SHA1): Likewise.
20659         * m4/sha256.m4 (gl_SHA256): Likewise.
20660         * m4/sha512.m4 (gl_SHA512): Likewise.
20661
20662 2009-01-19  Bruno Haible  <bruno@clisp.org>
20663
20664         * modules/uniname/uniname-tests (Depends-on): Add progname.
20665         * tests/uniname/test-uninames.c: Include progname.h.
20666         (main): Call set_program_name.
20667
20668         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
20669         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
20670         (main): Call set_program_name.
20671
20672         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
20673         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
20674         (main): Call set_program_name.
20675
20676         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
20677         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
20678         (main): Call set_program_name.
20679
20680         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
20681         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
20682         (main): Call set_program_name.
20683
20684         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
20685         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
20686         (main): Call set_program_name.
20687
20688         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
20689         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
20690         (main): Call set_program_name.
20691
20692         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
20693         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
20694         (main): Call set_program_name.
20695
20696         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
20697         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
20698         (main): Call set_program_name.
20699
20700 2009-01-19  Eric Blake  <ebb9@byu.net>
20701
20702         test-unistd: test previous patch
20703         * tests/test-unistd.c: Test *_FILENO macros.
20704
20705         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
20706         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
20707         Guarantee a definition.
20708         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
20709         * modules/unistd-safer (Depends-on): Add dependency on unistd.
20710         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
20711         * lib/dup-safer.c (STDERR_FILENO): Likewise.
20712         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
20713         Likewise.
20714         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
20715         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
20716         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
20717         Likewise.
20718         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
20719         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
20720         (STDERR_FILENO): Likewise.
20721         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
20722         (STDERR_FILENO): Likewise.
20723         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
20724         (STDERR_FILENO): Likewise.
20725         Reported by Elbert Pol.
20726
20727 2009-01-19  Eric Blake  <ebb9@byu.net>
20728
20729         doc: mention more functions added in cygwin 1.7.0
20730         * doc/posix-functions/abort.texi (abort): Update wording related
20731         to cygwin.
20732         * doc/posix-functions/daylight.texi (daylight): Likewise.
20733         * doc/posix-functions/optarg.texi (optarg): Likewise.
20734         * doc/posix-functions/optarg.texi (opterr): Likewise.
20735         * doc/posix-functions/optarg.texi (optind): Likewise.
20736         * doc/posix-functions/optarg.texi (optopt): Likewise.
20737         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
20738         worked in 1.5.x, and was withdrawn in 1.7.
20739         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
20740         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
20741         cygwin versions.
20742         * doc/posix-functions/perror.texi (perror): Likewise.
20743         * doc/posix-functions/printf.texi (printf): Likewise.
20744         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
20745         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
20746         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
20747         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
20748         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
20749         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
20750         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
20751         Likewise.
20752         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
20753         Likewise.
20754         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
20755         this function.
20756         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
20757         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
20758         Likewise.
20759         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
20760         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
20761         * doc/posix-functions/confstr.texi (confstr): Likewise.
20762         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
20763         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
20764         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
20765         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
20766         * doc/posix-functions/fputws.texi (fputws): Likewise.
20767         * doc/posix-functions/fwide.texi (fwide): Likewise.
20768         * doc/posix-functions/getwc.texi (getwc): Likewise.
20769         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
20770         * doc/posix-functions/putwc.texi (putwc): Likewise.
20771         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
20772         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
20773         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
20774         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
20775         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
20776         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
20777         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
20778         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
20779         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
20780         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
20781         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
20782
20783 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
20784
20785         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
20786         * lib/ioctl.c: Include <sys/ioctl.h>.
20787
20788 2009-01-19  Simon Josefsson  <simon@josefsson.org>
20789
20790         * modules/getdate-tests (Depends-on): Add progname.
20791         * tests/test-getdate.c: Use progname module, to avoid link errors
20792         on non-glibc systems.
20793
20794 2009-01-18  Simon Josefsson  <simon@josefsson.org>
20795
20796         * modules/filenamecat-tests (Depends-on): Add progname.
20797         * modules/fstrcmp-tests (Depends-on): Likewise.
20798
20799         * tests/test-filenamecat.c: Use progname module, to avoid link
20800         errors on non-glibc systems.
20801         * tests/test-fstrcmp.c: Likewise.
20802
20803 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
20804
20805         gettimeofday: avoid warning: nested extern declaration of 'localtime'
20806         * lib/gettimeofday.c: Move extern declaration out of function.
20807
20808 2009-01-18  Bruno Haible  <bruno@clisp.org>
20809
20810         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
20811         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
20812         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
20813
20814 2009-01-18  Bruno Haible  <bruno@clisp.org>
20815
20816         * lib/strftime.c (MEMPCPY): Remove unused macro.
20817         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
20818
20819 2009-01-18  Martin Lambers  <marlam@marlam.de>
20820
20821         New module 'link'.
20822         * lib/unistd.in.h (link): New declaration.
20823         * lib/link.c: New file.
20824         * m4/link.m4: New file.
20825         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
20826         HAVE_LINK.
20827         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
20828         * modules/link: New file.
20829         * doc/posix-functions/link.texi: Mention the new module.
20830
20831 2009-01-18  Bruno Haible  <bruno@clisp.org>
20832
20833         * tests/test-avltree_list.c (main): Call set_program_name.
20834         * tests/test-avltree_oset.c (main): Likewise.
20835         * tests/test-obstack-printf.c: Include progname.h.
20836         (main): Call set_program_name.
20837         * tests/test-quotearg.c: Include progname.h.
20838         (main): Call set_program_name.
20839         * tests/test-xmemdup0.c: Include progname.h.
20840         (main): Call set_program_name.
20841
20842 2009-01-18  Bruno Haible  <bruno@clisp.org>
20843
20844         New module 'alphasort'.
20845         * lib/dirent.in.h (alphasort): New declaration.
20846         * lib/alphasort.c: New file, from glibc with modifications.
20847         * m4/alphasort.m4: New file.
20848         * modules/alphasort: New file.
20849         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
20850         HAVE_ALPHASORT.
20851         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
20852         HAVE_ALPHASORT.
20853         * doc/posix-functions/alphasort.texi: Mention the new module and the
20854         portability problems.
20855
20856 2009-01-18  Bruno Haible  <bruno@clisp.org>
20857
20858         New module 'scandir'.
20859         * lib/dirent.in.h (scandir): New declaration.
20860         * lib/scandir.c: New file, from glibc with modifications.
20861         * m4/scandir.m4: New file.
20862         * modules/scandir: New file.
20863         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
20864         HAVE_SCANDIR.
20865         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
20866         HAVE_SCANDIR.
20867         * doc/posix-functions/scandir.texi: Mention the new module and the
20868         portability problems.
20869
20870 2009-01-17  Bruno Haible  <bruno@clisp.org>
20871
20872         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
20873         Update documentation.
20874         (func_remove_suffix): Escape all dots in the suffix. Update
20875         documentation.
20876         (func_filter_filelist): Update documentation.
20877         Reported by Ralf Wildenhues.
20878
20879 2009-01-17  Bruno Haible  <bruno@clisp.org>
20880
20881         * modules/dprintf-posix-tests: New file.
20882         * tests/test-dprintf-posix.sh: New file.
20883         * tests/test-dprintf-posix.c: New file.
20884
20885         New modules 'dprintf', 'dprintf-posix'.
20886         * lib/stdio.in.h (dprintf): New declaration.
20887         * lib/dprintf.c: New file.
20888         * m4/dprintf.m4: New file.
20889         * m4/dprintf-posix.m4: New file.
20890         * modules/dprintf: New file.
20891         * modules/dprintf-posix: New file.
20892         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
20893         HAVE_DPRINTF, REPLACE_DPRINTF.
20894         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
20895         HAVE_DPRINTF, REPLACE_DPRINTF.
20896         * doc/posix-functions/dprintf.texi: Mention the new modules.
20897
20898 2009-01-17  Bruno Haible  <bruno@clisp.org>
20899
20900         * modules/vdprintf-posix-tests: New file.
20901         * tests/test-vdprintf-posix.sh: New file.
20902         * tests/test-vdprintf-posix.c: New file.
20903
20904         New modules 'vdprintf', 'vdprintf-posix'.
20905         * lib/stdio.in.h (vdprintf): New declaration.
20906         * lib/vdprintf.c: New file.
20907         * m4/vdprintf.m4: New file.
20908         * m4/vdprintf-posix.m4: New file.
20909         * modules/vdprintf: New file.
20910         * modules/vdprintf-posix: New file.
20911         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
20912         HAVE_VDPRINTF, REPLACE_VDPRINTF.
20913         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
20914         HAVE_VDPRINTF, REPLACE_VDPRINTF.
20915         * doc/posix-functions/vdprintf.texi: Mention the new modules.
20916
20917 2009-01-17  Bruno Haible  <bruno@clisp.org>
20918
20919         Fix replacement of fopen on mingw.
20920         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
20921         mingw.
20922
20923 2009-01-17  Bruno Haible  <bruno@clisp.org>
20924
20925         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
20926         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
20927
20928 2009-01-17  Bruno Haible  <bruno@clisp.org>
20929
20930         Avoid test-fflush2.sh failure on mingw.
20931         * tests/test-fflush2.c: Include binary-io.h.
20932         (main): Put standard input into binary mode.
20933         * modules/fflush-tests (Depends-on): Add binary-io.
20934
20935 2009-01-17  Bruno Haible  <bruno@clisp.org>
20936
20937         * lib/wchar.in.h: In another particular situation, include only the
20938         system's <wchar.h> file.
20939         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
20940         Reported by Albert Chin-A-Young <china@thewrittenword.com>
20941         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
20942
20943 2009-01-17  Bruno Haible  <bruno@clisp.org>
20944
20945         Support for stripping executables in --enable-relocatable.
20946         * build-aux/install-reloc: Expect one more argument, or an environment
20947         variable RELOC_STRIP_PROG. If set, strip the destination program and
20948         its wrapper.
20949         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
20950         RELOC_STRIP_PROG.
20951         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
20952         to set RELOCATABLE_STRIP.
20953         * NEWS: Mention the new Makefile requirement.
20954
20955 2009-01-17  Bruno Haible  <bruno@clisp.org>
20956
20957         * build-aux/install-reloc: Remove debugging information left over by
20958         C compiler on MacOS X.
20959
20960 2009-01-17  Bruno Haible  <bruno@clisp.org>
20961
20962         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
20963         * lib/progreloc.c (find_executable): Fix type of pointer passed to
20964         _NSGetExecutablePath.
20965
20966 2009-01-16  Jim Meyering  <meyering@redhat.com>
20967
20968         strerror: avoid warnings about discarding "const"
20969         * lib/strerror.c (rpl_strerror): Instead of returning a const
20970         string from each and every "case", use a variable, and add a single
20971         cast after the switch.
20972
20973 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
20974
20975         * lib/arpa_inet.in.h: Add extern "C" block for C++.
20976
20977 2009-01-16  Bruno Haible  <bruno@clisp.org>
20978
20979         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
20980         array initializer syntax that also works in C++ mode.
20981         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
20982
20983 2009-01-16  Jim Meyering  <meyering@redhat.com>
20984
20985         poll: suppress a warning
20986         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
20987         to ignore "...unsigned expression < 0 is always false" warnings.
20988
20989 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
20990
20991         poll: remove declarations of unused variables
20992         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
20993         sockbuf and optlen.
20994
20995 2009-01-15  Bruno Haible  <bruno@clisp.org>
20996
20997         Make fflush-after-ungetc POSIX compliant on BSD systems.
20998         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
20999         (clear_ungetc_buffer): Implement also for other systems.
21000         (rpl_fflush): On glibc systems, invoke
21001         clear_ungetc_buffer_preserving_position. Otherwise, invoke
21002         clear_ungetc_buffer after fetching the stream's position, not before.
21003
21004 2009-01-15  Bruno Haible  <bruno@clisp.org>
21005
21006         Make fflush-after-ungetc POSIX compliant on glibc systems.
21007         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
21008         after ungetc.
21009         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
21010         (rpl_fflush): On glibc systems, simply call the system's fflush
21011         function after clearing the ungetc buffer.
21012         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
21013         Instead, lseek only to the end of file, then use the system's fseeko
21014         for the rest. On glibc systems, reset the EOF indicator bit.
21015
21016 2009-01-15  Jim Meyering  <meyering@redhat.com>
21017
21018         openmp.m4: revert quote-adding change, for portability to older autoconf
21019         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
21020         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
21021         Simon Josefsson noticed the problem when using autoconf-2.61.
21022
21023 2009-01-15  Bruno Haible  <bruno@clisp.org>
21024
21025         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
21026         * tests/test-fflush2.c (ASSERT): Always fail.
21027         (main): Add two tests for fflush() after ungetc(), taking into account
21028         the Austin Group's clarification.
21029         Suggested by Eric Blake.
21030
21031 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
21032
21033         mktime.m4: remove K&R-style function prototypes
21034         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
21035         for the Sun C++ compiler.
21036
21037 2009-01-14  Bruno Haible  <bruno@clisp.org>
21038
21039         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
21040         while including <wchar.h>.
21041         * lib/wchar.in.h: In two particular situations on HP-UX, include only
21042         the system's <wchar.h> file.
21043         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
21044
21045 2009-01-14  Bruno Haible  <bruno@clisp.org>
21046
21047         * m4/csharp.m4: Don't mention gettext on the serial number line.
21048         * m4/csharpexec.m4: Likewise.
21049         * m4/eaccess.m4: Likewise.
21050         * m4/javaexec.m4: Likewise.
21051         * m4/sig_atomic_t.m4: Likewise.
21052         * m4/tmpdir.m4: Likewise.
21053         * m4/intldir.m4: Bump gettext version.
21054         * m4/lib-ld.m4: Likewise.
21055
21056 2009-01-14  Bruno Haible  <bruno@clisp.org>
21057
21058         * lib/progname.c (set_program_name): Add more comments.
21059         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
21060
21061 2009-01-14  Simon Josefsson  <simon@josefsson.org>
21062
21063         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
21064         were sys/stat.h does not define it.
21065
21066 2009-01-14  Jim Meyering  <meyering@redhat.com>
21067
21068         many *.m4 files: improve m4 quoting
21069         99% of this change was performed by running the following commands:
21070         git ls-files | grep '\.m4$' | xargs perl -pi \
21071           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
21072           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
21073           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
21074           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
21075         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
21076         The remainder were to add Copyright dates, increment serial numbers,
21077         undo some changes in comments, exclude m4/intl.m4, and add quotes
21078         around the "1" in ",1" where the unusual spacing prohibited the
21079         above regexps from doing the job.  For more details, see
21080         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
21081         * m4/acl.m4: Modified.
21082         * m4/afs.m4: Likewise.
21083         * m4/alloca.m4: Likewise.
21084         * m4/argp.m4: Likewise.
21085         * m4/argz.m4: Likewise.
21086         * m4/atexit.m4: Likewise.
21087         * m4/bison-i18n.m4: Likewise.
21088         * m4/bison.m4: Likewise.
21089         * m4/byteswap.m4: Likewise.
21090         * m4/c-stack.m4: Likewise.
21091         * m4/c-strtod.m4: Likewise.
21092         * m4/calloc.m4: Likewise.
21093         * m4/canonicalize-lgpl.m4: Likewise.
21094         * m4/chown.m4: Likewise.
21095         * m4/clock_time.m4: Likewise.
21096         * m4/codeset.m4: Likewise.
21097         * m4/copy-file.m4: Likewise.
21098         * m4/csharp.m4: Likewise.
21099         * m4/csharpcomp.m4: Likewise.
21100         * m4/csharpexec.m4: Likewise.
21101         * m4/d-ino.m4: Likewise.
21102         * m4/d-type.m4: Likewise.
21103         * m4/dirfd.m4: Likewise.
21104         * m4/double-slash-root.m4: Likewise.
21105         * m4/eaccess.m4: Likewise.
21106         * m4/eealloc.m4: Likewise.
21107         * m4/environ.m4: Likewise.
21108         * m4/errno_h.m4: Likewise.
21109         * m4/euidaccess.m4: Likewise.
21110         * m4/execute.m4: Likewise.
21111         * m4/fatal-signal.m4: Likewise.
21112         * m4/fchdir.m4: Likewise.
21113         * m4/fcntl_h.m4: Likewise.
21114         * m4/fileblocks.m4: Likewise.
21115         * m4/filenamecat.m4: Likewise.
21116         * m4/findprog.m4: Likewise.
21117         * m4/flexmember.m4: Likewise.
21118         * m4/fnmatch.m4: Likewise.
21119         * m4/fopen.m4: Likewise.
21120         * m4/fpending.m4: Likewise.
21121         * m4/fprintf-posix.m4: Likewise.
21122         * m4/free.m4: Likewise.
21123         * m4/frexp.m4: Likewise.
21124         * m4/frexpl.m4: Likewise.
21125         * m4/fsusage.m4: Likewise.
21126         * m4/ftruncate.m4: Likewise.
21127         * m4/gc-camellia.m4: Likewise.
21128         * m4/gc-random.m4: Likewise.
21129         * m4/gc.m4: Likewise.
21130         * m4/getaddrinfo.m4: Likewise.
21131         * m4/getcwd-abort-bug.m4: Likewise.
21132         * m4/getcwd-path-max.m4: Likewise.
21133         * m4/getdate.m4: Likewise.
21134         * m4/getdomainname.m4: Likewise.
21135         * m4/getgroups.m4: Likewise.
21136         * m4/gethostname.m4: Likewise.
21137         * m4/gethrxtime.m4: Likewise.
21138         * m4/getline.m4: Likewise.
21139         * m4/getloadavg.m4: Likewise.
21140         * m4/getndelim2.m4: Likewise.
21141         * m4/getpass.m4: Likewise.
21142         * m4/gettext.m4: Likewise.
21143         * m4/gettime.m4: Likewise.
21144         * m4/gettimeofday.m4: Likewise.
21145         * m4/gnulib-common.m4: Likewise.
21146         * m4/group-member.m4: Likewise.
21147         * m4/host-os.m4: Likewise.
21148         * m4/iconv.m4: Likewise.
21149         * m4/iconv_open.m4: Likewise.
21150         * m4/inet_ntop.m4: Likewise.
21151         * m4/inet_pton.m4: Likewise.
21152         * m4/inline.m4: Likewise.
21153         * m4/intldir.m4: Likewise.
21154         * m4/intlmacosx.m4: Likewise.
21155         * m4/intmax.m4: Likewise.
21156         * m4/intmax_t.m4: Likewise.
21157         * m4/inttypes.m4: Likewise.
21158         * m4/inttypes_h.m4: Likewise.
21159         * m4/inttypes-pri.m4: Likewise.
21160         * m4/isapipe.m4: Likewise.
21161         * m4/isnand.m4: Likewise.
21162         * m4/isnanf.m4: Likewise.
21163         * m4/isnanl.m4: Likewise.
21164         * m4/javacomp.m4: Likewise.
21165         * m4/javaexec.m4: Likewise.
21166         * m4/jm-winsz1.m4: Likewise.
21167         * m4/jm-winsz2.m4: Likewise.
21168         * m4/lchown.m4: Likewise.
21169         * m4/lcmessage.m4: Likewise.
21170         * m4/ldexpl.m4: Likewise.
21171         * m4/lib-ld.m4: Likewise.
21172         * m4/lib-link.m4: Likewise.
21173         * m4/libsigsegv.m4: Likewise.
21174         * m4/link-follow.m4: Likewise.
21175         * m4/localcharset.m4: Likewise.
21176         * m4/locale-fr.m4: Likewise.
21177         * m4/locale-ja.m4: Likewise.
21178         * m4/locale-tr.m4: Likewise.
21179         * m4/locale-zh.m4: Likewise.
21180         * m4/lock.m4: Likewise.
21181         * m4/longlong.m4: Likewise.
21182         * m4/ls-mntd-fs.m4: Likewise.
21183         * m4/lstat.m4: Likewise.
21184         * m4/malloc.m4: Likewise.
21185         * m4/mathl.m4: Likewise.
21186         * m4/mbrtowc.m4: Likewise.
21187         * m4/mbstate_t.m4: Likewise.
21188         * m4/mbswidth.m4: Likewise.
21189         * m4/memchr.m4: Likewise.
21190         * m4/memcmp.m4: Likewise.
21191         * m4/memcpy.m4: Likewise.
21192         * m4/memmem.m4: Likewise.
21193         * m4/memmove.m4: Likewise.
21194         * m4/mempcpy.m4: Likewise.
21195         * m4/memrchr.m4: Likewise.
21196         * m4/memset.m4: Likewise.
21197         * m4/minmax.m4: Likewise.
21198         * m4/mkdir-slash.m4: Likewise.
21199         * m4/mkdtemp.m4: Likewise.
21200         * m4/mktime.m4: Likewise.
21201         * m4/mmap-anon.m4: Likewise.
21202         * m4/mountlist.m4: Likewise.
21203         * m4/nanosleep.m4: Likewise.
21204         * m4/nls.m4: Likewise.
21205         * m4/nocrash.m4: Likewise.
21206         * m4/open.m4: Likewise.
21207         * m4/openat.m4: Likewise.
21208         * m4/openmp.m4: Likewise.
21209         * m4/pathmax.m4: Likewise.
21210         * m4/perl.m4: Likewise.
21211         * m4/physmem.m4: Likewise.
21212         * m4/pipe.m4: Likewise.
21213         * m4/po.m4: Likewise.
21214         * m4/poll.m4: Likewise.
21215         * m4/posixtm.m4: Likewise.
21216         * m4/posixver.m4: Likewise.
21217         * m4/printf-frexp.m4: Likewise.
21218         * m4/printf-frexpl.m4: Likewise.
21219         * m4/printf-posix.m4: Likewise.
21220         * m4/printf-posix-rpl.m4: Likewise.
21221         * m4/printf.m4: Likewise.
21222         * m4/progtest.m4: Likewise.
21223         * m4/putenv.m4: Likewise.
21224         * m4/readline.m4: Likewise.
21225         * m4/readlink.m4: Likewise.
21226         * m4/readutmp.m4: Likewise.
21227         * m4/realloc.m4: Likewise.
21228         * m4/regex.m4: Likewise.
21229         * m4/relocatable.m4: Likewise.
21230         * m4/relocatable-lib.m4: Likewise.
21231         * m4/rename-dest-slash.m4: Likewise.
21232         * m4/rename.m4: Likewise.
21233         * m4/rmdir-errno.m4: Likewise.
21234         * m4/rmdir.m4: Likewise.
21235         * m4/roundf.m4: Likewise.
21236         * m4/roundl.m4: Likewise.
21237         * m4/rpmatch.m4: Likewise.
21238         * m4/save-cwd.m4: Likewise.
21239         * m4/selinux-selinux-h.m4: Likewise.
21240         * m4/setenv.m4: Likewise.
21241         * m4/settime.m4: Likewise.
21242         * m4/sig2str.m4: Likewise.
21243         * m4/sig_atomic_t.m4: Likewise.
21244         * m4/signalblocking.m4: Likewise.
21245         * m4/signbit.m4: Likewise.
21246         * m4/sigpipe.m4: Likewise.
21247         * m4/sockets.m4: Likewise.
21248         * m4/sockpfaf.m4: Likewise.
21249         * m4/st_dm_mode.m4: Likewise.
21250         * m4/stat-time.m4: Likewise.
21251         * m4/stdbool.m4: Likewise.
21252         * m4/stdint.m4: Likewise.
21253         * m4/stdint_h.m4: Likewise.
21254         * m4/stpcpy.m4: Likewise.
21255         * m4/stpncpy.m4: Likewise.
21256         * m4/strcase.m4: Likewise.
21257         * m4/strchrnul.m4: Likewise.
21258         * m4/strcspn.m4: Likewise.
21259         * m4/strdup.m4: Likewise.
21260         * m4/strftime.m4: Likewise.
21261         * m4/strndup.m4: Likewise.
21262         * m4/strnlen.m4: Likewise.
21263         * m4/strpbrk.m4: Likewise.
21264         * m4/strptime.m4: Likewise.
21265         * m4/strsep.m4: Likewise.
21266         * m4/strtod.m4: Likewise.
21267         * m4/strtoimax.m4: Likewise.
21268         * m4/strtok_r.m4: Likewise.
21269         * m4/strtol.m4: Likewise.
21270         * m4/strtoll.m4: Likewise.
21271         * m4/strtoul.m4: Likewise.
21272         * m4/strtoull.m4: Likewise.
21273         * m4/strtoumax.m4: Likewise.
21274         * m4/strverscmp.m4: Likewise.
21275         * m4/threadlib.m4: Likewise.
21276         * m4/timegm.m4: Likewise.
21277         * m4/tm_gmtoff.m4: Likewise.
21278         * m4/tmpdir.m4: Likewise.
21279         * m4/tmpfile.m4: Likewise.
21280         * m4/tzset.m4: Likewise.
21281         * m4/uintmax_t.m4: Likewise.
21282         * m4/unlinkdir.m4: Likewise.
21283         * m4/unlocked-io.m4: Likewise.
21284         * m4/uptime.m4: Likewise.
21285         * m4/userspec.m4: Likewise.
21286         * m4/utimbuf.m4: Likewise.
21287         * m4/utime.m4: Likewise.
21288         * m4/utimes-null.m4: Likewise.
21289         * m4/utimes.m4: Likewise.
21290         * m4/vararrays.m4: Likewise.
21291         * m4/vasnprintf.m4: Likewise.
21292         * m4/vfprintf-posix.m4: Likewise.
21293         * m4/vprintf-posix.m4: Likewise.
21294         * m4/wait-process.m4: Likewise.
21295         * m4/wchar_t.m4: Likewise.
21296         * m4/wint_t.m4: Likewise.
21297         * m4/write-any-file.m4: Likewise.
21298         * m4/yield.m4: Likewise.
21299
21300 2009-01-13  Bruno Haible  <bruno@clisp.org>
21301
21302         Avoid test-copy-file.sh failures when ACL support insufficient.
21303         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
21304         TESTS_ENVIRONMENT.
21305         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
21306         Reported by Jim Meyering.
21307
21308 2009-01-13  Bruno Haible  <bruno@clisp.org>
21309
21310         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
21311         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
21312         * modules/unistdio/u8-printf-parse (Files): Likewise.
21313         * modules/unistdio/u32-printf-parse (Files): Likewise.
21314         * modules/unistdio/ulc-printf-parse (Files): Likewise.
21315
21316 2009-01-13  Simon Josefsson  <simon@josefsson.org>
21317
21318         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
21319         and m4/inttypes_h.m4 too.
21320
21321 2009-01-12  Eric Blake  <ebb9@byu.net>
21322
21323         tests: IRIX 6.2 cc can't compile -0.0 into .data
21324         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
21325         rather than at compile-time.
21326         * tests/test-floorl.c (minus_zero): Likewise.
21327         * tests/test-frexpl.c (minus_zero): Likewise.
21328         * tests/test-isnan.c (minus_zerol): Likewise.
21329         * tests/test-isnanl.h (minus_zero): Likewise.
21330         * tests/test-ldexpl.c (minus_zero): Likewise.
21331         * tests/test-roundl.c (minus_zero): Likewise.
21332         * tests/test-signbit.c (minus_zerol): Likewise.
21333         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
21334         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
21335         * tests/test-truncl.c (minus_zero): Likewise.
21336         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
21337         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
21338         Reported by Tom G. Christensen and Nelson H. F. Beebe.
21339
21340 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
21341
21342         regex: fix glibc bug 9697
21343         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
21344         handling.
21345
21346 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
21347
21348         regex: fix glibc bug 697
21349         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
21350         being NULL also if there are no backreferences.
21351
21352 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
21353
21354         regex: merge glibc changes
21355         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
21356         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
21357         re_string_skip_chars, re_string_reconstruct): Likewise.
21358         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
21359
21360 2009-01-07  Jim Meyering  <meyering@redhat.com>
21361
21362         poll: filter through cppi
21363         * lib/poll.c: Indent cpp directives to reflect nesting.
21364
21365 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
21366
21367         poll: don't return uninitialized
21368         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
21369
21370 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
21371
21372         avoid compile failure on AIX 6.1
21373         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
21374         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
21375
21376 2009-01-04  Jim Meyering  <meyering@redhat.com>
21377
21378         remove duplicate inclusion of <stdio.h>
21379         * tests/test-fprintf-posix.c: Likewise.
21380         * tests/test-printf-posix.c: Likewise.
21381         * tests/test-snprintf-posix.c: Likewise.
21382         * tests/test-sprintf-posix.c: Likewise.
21383         * tests/test-vasprintf-posix.c: Likewise.
21384         * tests/test-vfprintf-posix.c: Likewise.
21385         * tests/test-vprintf-posix.c: Likewise.
21386         * tests/test-vsnprintf-posix.c: Likewise.
21387         * tests/test-vsprintf-posix.c: Likewise.
21388
21389 2009-01-03  Jim Meyering  <meyering@redhat.com>
21390
21391         gnulib-tool: fix sed-based filtering
21392         * gnulib-tool (func_filter_filelist): Remove extra backslash
21393         in sed_fff_filter definition.
21394
21395 2009-01-02  Jim Meyering  <meyering@redhat.com>
21396
21397         strftime: avoid compilation failure on Solaris 2.6
21398         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
21399         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
21400         Don't #define mbrlen or mbsinit, since now they're guaranteed to
21401         be available.  Reported by Tom G. Christensen.  Details in
21402         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
21403
21404 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21405             Bruno Haible  <bruno@clisp.org>
21406
21407         Speed up gnulib-tool by doing more string processing through shell
21408         built-ins.
21409         * gnulib-tool (fast_func_append): New variable.
21410         (func_remove_prefix, func_remove_suffix): New functions.
21411         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
21412         (func_filter_filelist): New function.
21413         (func_get_dependencies): Use func_remove_suffix instead of sed.
21414         (func_get_automake_snippet): Use func_filter_filelist instead of a
21415         subshell and sed invocation.
21416
21417 2009-01-01  Bruno Haible  <bruno@clisp.org>
21418
21419         Fix a security bug.
21420         * gnulib-tool (func_import, import, update): Don't allow the characters
21421         '"', '$', '`', '\' in macro arguments that become part of commands that
21422         are evaluated.
21423
21424 2009-01-01  Bruno Haible  <bruno@clisp.org>
21425
21426         * gnulib-tool (func_reset_sigpipe): Add more comments.
21427
21428 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21429
21430         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
21431         func_emit_tests_Makefile_am, func_import): Abort loops early if we
21432         already know the answer.
21433
21434 2009-01-01  Jim Meyering  <meyering@redhat.com>
21435
21436         * lib/version-etc.c (version_etc_va): Update copyright year.
21437
21438 2008-12-30  Bruno Haible  <bruno@clisp.org>
21439
21440         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
21441         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
21442         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
21443
21444 2008-12-29  Eric Blake  <ebb9@byu.net>
21445
21446         multiarch: avoid autoconf AC_REQUIRE bug
21447         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
21448         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
21449         2.63 and older.
21450         Reported by Bruno Haible, and analyzed in
21451         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
21452
21453 2008-12-29  Bruno Haible  <bruno@clisp.org>
21454
21455         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
21456         files in subdirectories correctly.
21457         Reported by Ralf Wildenhues.
21458
21459 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21460
21461         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
21462         rather than 'join FILE -', for Solaris join.
21463
21464 2008-12-29  Bruno Haible  <bruno@clisp.org>
21465
21466         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
21467         quoting.
21468         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
21469         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
21470         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
21471         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
21472         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
21473         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
21474         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
21475         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
21476         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
21477         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
21478         * m4/nls.m4 (AM_NLS): Likewise.
21479         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
21480         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
21481         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
21482         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
21483         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
21484         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
21485         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
21486         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
21487         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
21488         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
21489         * m4/xsize.m4 (gl_XSIZE): Likewise.
21490         Suggested by Jim Meyering.
21491
21492 2008-11-17  Bruce Korb  <bkorb@gnu.org>
21493
21494         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
21495         * lib/parse-duration.c: use a switch instead of cascading if's.
21496
21497 2008-12-29  Eric Blake  <ebb9@byu.net>
21498
21499         wchar.h: supply WEOF on Irix 5.3
21500         * lib/wchar.in.h (wint_t): Also supply WEOF.
21501         * lib/wctype.in.h (wint_t): Likewise.
21502         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
21503         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
21504         Reported by Tom G. Christensen.
21505
21506 2008-12-26  Bruno Haible  <bruno@clisp.org>
21507
21508         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
21509         i486, i586, i686.
21510
21511 2008-12-26  Bruno Haible  <bruno@clisp.org>
21512
21513         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
21514
21515 2008-12-26  Bruno Haible  <bruno@clisp.org>
21516
21517         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
21518         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
21519         not __STDC_CONSTANT_MACROS.
21520         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
21521
21522 2008-12-25  Bruno Haible  <bruno@clisp.org>
21523
21524         Add support for universal builds to vasnprintf.
21525         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
21526         universal builds, guess no.
21527         * modules/vasnprintf-posix (Depends-on): Add multiarch.
21528         * modules/vasprintf-posix (Depends-on): Likewise.
21529         * modules/fprintf-posix (Depends-on): Likewise.
21530         * modules/vfprintf-posix (Depends-on): Likewise.
21531         * modules/snprintf-posix (Depends-on): Likewise.
21532         * modules/vsnprintf-posix (Depends-on): Likewise.
21533         * modules/sprintf-posix (Depends-on): Likewise.
21534         * modules/vsprintf-posix (Depends-on): Likewise.
21535         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
21536         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
21537         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
21538         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
21539         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
21540         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
21541         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
21542
21543         Add support for universal builds to <inttypes.h>.
21544         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
21545         _SCNu64_PREFIX): In Apple
21546         universal builds, define directly, using _LP64.
21547         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
21548         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
21549         * modules/inttypes (Depends-on): Add multiarch.
21550         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
21551
21552         Add support for universal builds to <stdint.h>.
21553         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
21554         universal builds, define directly, using _LP64.
21555         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
21556         Apple universal builds, don't test for the size and suffix of ptrdiff_t
21557         and size_t.
21558         * modules/stdint (Depends-on): Add multiarch.
21559         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
21560
21561         New module 'multiarch'.
21562         * modules/multiarch: New file.
21563         * m4/multiarch.m4: New file.
21564
21565 2008-12-25  Bruno Haible  <bruno@clisp.org>
21566
21567         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
21568
21569 2008-12-25  Bruno Haible  <bruno@clisp.org>
21570
21571         * modules/btowc (License): Relicense under LGPLv2+.
21572         * modules/mbsinit (License): Likewise.
21573         * modules/mbrtowc (License): Likewise.
21574         * modules/wcrtomb (License): Likewise.
21575         * modules/streq (License): Likewise.
21576         Reported by David Lutterkort <lutter@redhat.com>.
21577
21578 2008-12-23  Bruno Haible  <bruno@clisp.org>
21579
21580         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
21581
21582 2008-12-23  Bruno Haible  <bruno@clisp.org>
21583
21584         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
21585         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
21586         GETADDRINFO_LIB, not in LIBS.
21587         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
21588         * modules/canon-host (Link): Likewise.
21589         * NEWS: Mention the change.
21590         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
21591         GETADDRINFO_LIB.
21592
21593 2008-12-22  Bruno Haible  <bruno@clisp.org>
21594
21595         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
21596         * doc/posix-functions/iswalpha_l.texi: Likewise.
21597         * doc/posix-functions/iswblank_l.texi: Likewise.
21598         * doc/posix-functions/iswcntrl_l.texi: Likewise.
21599         * doc/posix-functions/iswctype_l.texi: Likewise.
21600         * doc/posix-functions/iswdigit_l.texi: Likewise.
21601         * doc/posix-functions/iswgraph_l.texi: Likewise.
21602         * doc/posix-functions/iswlower_l.texi: Likewise.
21603         * doc/posix-functions/iswprint_l.texi: Likewise.
21604         * doc/posix-functions/iswpunct_l.texi: Likewise.
21605         * doc/posix-functions/iswspace_l.texi: Likewise.
21606         * doc/posix-functions/iswupper_l.texi: Likewise.
21607         * doc/posix-functions/iswxdigit_l.texi: Likewise.
21608         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
21609         * doc/posix-functions/open_wmemstream.texi: Likewise.
21610         * doc/posix-functions/swscanf.texi: Likewise.
21611         * doc/posix-functions/towctrans_l.texi: Likewise.
21612         * doc/posix-functions/towlower.texi: Likewise.
21613         * doc/posix-functions/towlower_l.texi: Likewise.
21614         * doc/posix-functions/towupper.texi: Likewise.
21615         * doc/posix-functions/towupper_l.texi: Likewise.
21616         * doc/posix-functions/vfwprintf.texi: Likewise.
21617         * doc/posix-functions/vfwscanf.texi: Likewise.
21618         * doc/posix-functions/vswscanf.texi: Likewise.
21619         * doc/posix-functions/vwprintf.texi: Likewise.
21620         * doc/posix-functions/vwscanf.texi: Likewise.
21621         * doc/posix-functions/wcpcpy.texi: Likewise.
21622         * doc/posix-functions/wcpncpy.texi: Likewise.
21623         * doc/posix-functions/wcscasecmp.texi: Likewise.
21624         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
21625         * doc/posix-functions/wcscoll_l.texi: Likewise.
21626         * doc/posix-functions/wcsdup.texi: Likewise.
21627         * doc/posix-functions/wcsncasecmp.texi: Likewise.
21628         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
21629         * doc/posix-functions/wcsnlen.texi: Likewise.
21630         * doc/posix-functions/wcsnrtombs.texi: Likewise.
21631         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
21632         * doc/posix-functions/wctrans_l.texi: Likewise.
21633         * doc/posix-functions/wctype_l.texi: Likewise.
21634         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
21635         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
21636         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
21637         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
21638         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
21639         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
21640         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
21641         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
21642         * doc/glibc-functions/wcschrnul.texi: Likewise.
21643         * doc/glibc-functions/wcsftime_l.texi: Likewise.
21644         * doc/glibc-functions/wcstod_l.texi: Likewise.
21645         * doc/glibc-functions/wcstof_l.texi: Likewise.
21646         * doc/glibc-functions/wcstol_l.texi: Likewise.
21647         * doc/glibc-functions/wcstold_l.texi: Likewise.
21648         * doc/glibc-functions/wcstoll_l.texi: Likewise.
21649         * doc/glibc-functions/wcstoq.texi: Likewise.
21650         * doc/glibc-functions/wcstoul_l.texi: Likewise.
21651         * doc/glibc-functions/wcstoull_l.texi: Likewise.
21652         * doc/glibc-functions/wcstouq.texi: Likewise.
21653         * doc/glibc-functions/wmempcpy.texi: Likewise.
21654
21655 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
21656             Eric Blake  <ebb9@byu.net>
21657             Paolo Bonzini  <bonzini@gnu.org>
21658             Bruno Haible  <bruno@clisp.org>
21659
21660         Make c-stack work on Haiku.
21661         * lib/c-stack.c (SA_ONSTACK): Define fallback.
21662         (c_stack_action): Use SA_ONSTACK flag.
21663
21664 2008-12-22  Bruno Haible  <bruno@clisp.org>
21665
21666         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
21667
21668 2008-12-22  Bruno Haible  <bruno@clisp.org>
21669
21670         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
21671         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
21672         being overridden.
21673         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
21674         New macros.
21675         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
21676         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
21677         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
21678         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
21679
21680 2008-12-22  Bruno Haible  <bruno@clisp.org>
21681
21682         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
21683         from test code.
21684
21685 2008-12-22  Eric Blake  <ebb9@byu.net>
21686
21687         Avoid gcc warnings on cygwin.
21688         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
21689         Avoid unused variable.
21690         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
21691         Likewise.
21692
21693 2008-12-22  Bruno Haible  <bruno@clisp.org>
21694
21695         Remove HAVE_MBRTOWC conditionals.
21696         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
21697         (mbscasecmp): Assume mbrtowc function.
21698         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
21699         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
21700         * lib/mbschr.c: Include mbuiter.h unconditionally.
21701         (mbschr): Assume mbrtowc function.
21702         * lib/mbscspn.c: Include mbuiter.h unconditionally.
21703         (mbscspn): Assume mbrtowc function.
21704         * lib/mbslen.c: Include mbuiter.h unconditionally.
21705         (mbslen): Assume mbrtowc function.
21706         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
21707         (mbsncasecmp): Assume mbrtowc function.
21708         * lib/mbsnlen.c: Include mbiter.h unconditionally.
21709         (mbsnlen): Assume mbrtowc function.
21710         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
21711         (mbspbrk): Assume mbrtowc function.
21712         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
21713         (mbspcasecmp): Assume mbrtowc function.
21714         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
21715         (mbsrchr): Assume mbrtowc function.
21716         * lib/mbssep.c: Include mbuiter.h unconditionally.
21717         (mbssep): Assume mbrtowc function.
21718         * lib/mbsspn.c: Include mbuiter.h unconditionally.
21719         (mbsspn): Assume mbrtowc function.
21720         * lib/mbsstr.c: Include mbuiter.h unconditionally.
21721         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
21722         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
21723         (mbstok_r): Assume mbrtowc function.
21724         * lib/propername.c: Include mbuiter.h unconditionally.
21725         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
21726         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
21727         (trim2): Assume mbrtowc function.
21728         * lib/mbswidth.c (mbsinit): Remove fallback definition.
21729         (mbsnwidth): Assume mbrtowc function.
21730         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
21731         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
21732         fallback definitions.
21733         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
21734
21735 2008-12-22  Bruno Haible  <bruno@clisp.org>
21736
21737         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
21738
21739 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
21740
21741         * modules/regex: Request emulations for the mb*/wc* functions we need.
21742         * m4/regex.m4: Don't look for those functions here.
21743         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
21744
21745 2008-12-22  Bruno Haible  <bruno@clisp.org>
21746
21747         * modules/fnmatch (Depends-on): Remove duplicated dependency.
21748
21749 2008-12-21  Bruno Haible  <bruno@clisp.org>
21750
21751         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
21752         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
21753         (Include): Remove conditionalization.
21754         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
21755         (Include): Remove conditionalization.
21756         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
21757         (Include): Remove conditionalization.
21758         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
21759         * m4/mbfile.m4 (gl_MBFILE): Likewise.
21760         * NEWS: Mention the change.
21761         Reported by Alan Hourihane <alanh@fairlite.co.uk>
21762         via Sergey Poznyakoff <gray@gnu.org.ua>.
21763
21764 2008-12-21  Bruno Haible  <bruno@clisp.org>
21765
21766         * MODULES.html.sh (Extended multibyte and wide character utilities
21767         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
21768         wcrtomb, wcsrtombs.
21769         (Support for systems lacking POSIX:2008): Add accept, bind, close,
21770         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
21771         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
21772         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
21773
21774 2008-12-21  Bruno Haible  <bruno@clisp.org>
21775
21776         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
21777
21778 2008-12-21  Bruno Haible  <bruno@clisp.org>
21779
21780         * modules/wcsnrtombs-tests: New file.
21781         * tests/test-wcsnrtombs1.sh: New file.
21782         * tests/test-wcsnrtombs2.sh: New file.
21783         * tests/test-wcsnrtombs3.sh: New file.
21784         * tests/test-wcsnrtombs4.sh: New file.
21785         * tests/test-wcsnrtombs.c: New file.
21786
21787         New module 'wcsnrtombs'.
21788         * lib/wchar.in.h (wcsnrtombs): New declaration.
21789         * lib/wcsnrtombs.c: New file.
21790         * lib/wcsrtombs-state.c: New file.
21791         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
21792         (internal_state): Remove variable.
21793         * m4/wcsnrtombs.m4: New file.
21794         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
21795         compilation units.
21796         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
21797         HAVE_WCSNRTOMBS.
21798         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
21799         HAVE_WCSNRTOMBS.
21800         * modules/wcsnrtombs: New file.
21801         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
21802         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
21803
21804 2008-12-21  Bruno Haible  <bruno@clisp.org>
21805
21806         * modules/wcsrtombs-tests: New file.
21807         * tests/test-wcsrtombs1.sh: New file.
21808         * tests/test-wcsrtombs2.sh: New file.
21809         * tests/test-wcsrtombs3.sh: New file.
21810         * tests/test-wcsrtombs4.sh: New file.
21811         * tests/test-wcsrtombs.c: New file.
21812
21813         New module 'wcsrtombs'.
21814         * lib/wchar.in.h (wcsrtombs): New declaration.
21815         * lib/wcsrtombs.c: New file.
21816         * m4/wcsrtombs.m4: New file.
21817         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
21818         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
21819         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
21820         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
21821         * modules/wcsrtombs: New file.
21822         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
21823         bugs.
21824
21825 2008-12-21  Bruno Haible  <bruno@clisp.org>
21826
21827         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
21828         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
21829         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
21830         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
21831         if not correct.
21832         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
21833         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
21834         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
21835         m4/locale-zh.m4, m4/codeset.m4.
21836         * doc/posix-functions/wcrtomb.texi: Document the bug.
21837
21838 2008-12-21  Bruno Haible  <bruno@clisp.org>
21839
21840         Work around a btowc() bug on IRIX 6.5.
21841         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
21842         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
21843         REPLACE_WTOBC if not.
21844         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
21845         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
21846         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
21847
21848 2008-12-21  Bruno Haible  <bruno@clisp.org>
21849
21850         * modules/wcrtomb-tests: New file.
21851         * tests/test-wcrtomb.sh: New file.
21852         * tests/test-wcrtomb.c: New file.
21853
21854         New module 'wcrtomb'.
21855         * lib/wchar.in.h (wcrtomb): New declaration.
21856         * lib/wcrtomb.c: New file.
21857         * m4/wcrtomb.m4: New file.
21858         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
21859         HAVE_WCRTOMB.
21860         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
21861         HAVE_WCRTOMB.
21862         * modules/wcrtomb: New file.
21863         * doc/posix-functions/wcrtomb.texi: Mention the new module.
21864
21865 2008-12-21  Bruno Haible  <bruno@clisp.org>
21866
21867         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
21868         * modules/mbsrtowcs (Files): Likewise.
21869         * modules/wctob (Files): Likewise.
21870         * modules/c-strcase-tests (Files): Likewise.
21871         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
21872         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
21873         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
21874         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
21875         * modules/vasnprintf-posix-tests (Files): Likewise.
21876
21877 2008-12-21  William Pursell  <bill.pursell@gmail.com>
21878
21879         gitlog-to-changelog: pass all command-line arguments to git-log
21880         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
21881         it is sometimes convenient to filter the commits in various ways.
21882         gitlog-to-changelog only allows --since to specify a start date,
21883         but git-log itself supports many other filtering mechanisms.
21884         At the moment, I want to filter by branch name.  Rather than
21885         adding a --branch option to gitlog-to-changelog, it seems more
21886         flexible to simply pass all options directly to git-log and let
21887         git do the work.  Notice that this effectively makes --since a
21888         redundant option for gitlog-to-changelog, but removing it would
21889         require current usage to change since calls would then require
21890         an additional '--'.
21891
21892 2008-12-21  Bruno Haible  <bruno@clisp.org>
21893
21894         * modules/mbsnrtowcs-tests: New file.
21895         * tests/test-mbsnrtowcs1.sh: New file.
21896         * tests/test-mbsnrtowcs2.sh: New file.
21897         * tests/test-mbsnrtowcs3.sh: New file.
21898         * tests/test-mbsnrtowcs4.sh: New file.
21899         * tests/test-mbsnrtowcs.c: New file.
21900
21901         New module 'mbsnrtowcs'.
21902         * lib/wchar.in.h (mbsnrtowcs): New declaration.
21903         * lib/mbsnrtowcs.c: New file.
21904         * lib/mbsrtowcs-state.c: New file.
21905         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
21906         (internal_state): Remove variable.
21907         * m4/mbsnrtowcs.m4: New file.
21908         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
21909         compilation units.
21910         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
21911         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
21912         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
21913         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
21914         * modules/mbsnrtowcs: New file.
21915         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
21916         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
21917         portability problem.
21918
21919 2008-12-21  Bruno Haible  <bruno@clisp.org>
21920
21921         Work around mbsrtowcs bug.
21922         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
21923         (gl_FUNC_MBSRTOWCS): Invoke it.
21924         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
21925         m4/locale-zh.m4.
21926         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
21927
21928 2008-12-21  Bruno Haible  <bruno@clisp.org>
21929
21930         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
21931
21932 2008-12-21  Bruno Haible  <bruno@clisp.org>
21933
21934         Update doc for AIX.
21935         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
21936         16-bit wchar_t type.
21937         * doc/posix-functions/btowc.texi: Likewise.
21938         * doc/posix-functions/fgetwc.texi: Likewise.
21939         * doc/posix-functions/fgetws.texi: Likewise.
21940         * doc/posix-functions/fputwc.texi: Likewise.
21941         * doc/posix-functions/fputws.texi: Likewise.
21942         * doc/posix-functions/fwide.texi: Likewise.
21943         * doc/posix-functions/fwprintf.texi: Likewise.
21944         * doc/posix-functions/fwscanf.texi: Likewise.
21945         * doc/posix-functions/getwchar.texi: Likewise.
21946         * doc/posix-functions/getwc.texi: Likewise.
21947         * doc/posix-functions/iswalnum.texi: Likewise.
21948         * doc/posix-functions/iswalpha.texi: Likewise.
21949         * doc/posix-functions/iswblank.texi: Likewise.
21950         * doc/posix-functions/iswcntrl.texi: Likewise.
21951         * doc/posix-functions/iswctype.texi: Likewise.
21952         * doc/posix-functions/iswdigit.texi: Likewise.
21953         * doc/posix-functions/iswgraph.texi: Likewise.
21954         * doc/posix-functions/iswlower.texi: Likewise.
21955         * doc/posix-functions/iswprint.texi: Likewise.
21956         * doc/posix-functions/iswpunct.texi: Likewise.
21957         * doc/posix-functions/iswspace.texi: Likewise.
21958         * doc/posix-functions/iswupper.texi: Likewise.
21959         * doc/posix-functions/iswxdigit.texi: Likewise.
21960         * doc/posix-functions/mbrtowc.texi: Likewise.
21961         * doc/posix-functions/mbsrtowcs.texi: Likewise.
21962         * doc/posix-functions/mbstowcs.texi: Likewise.
21963         * doc/posix-functions/mbtowc.texi: Likewise.
21964         * doc/posix-functions/putwchar.texi: Likewise.
21965         * doc/posix-functions/putwc.texi: Likewise.
21966         * doc/posix-functions/swprintf.texi: Likewise.
21967         * doc/posix-functions/tolower.texi: Likewise.
21968         * doc/posix-functions/toupper.texi: Likewise.
21969         * doc/posix-functions/towctrans.texi: Likewise.
21970         * doc/posix-functions/ungetwc.texi: Likewise.
21971         * doc/posix-functions/vswprintf.texi: Likewise.
21972         * doc/posix-functions/wcrtomb.texi: Likewise.
21973         * doc/posix-functions/wcscat.texi: Likewise.
21974         * doc/posix-functions/wcschr.texi: Likewise.
21975         * doc/posix-functions/wcscmp.texi: Likewise.
21976         * doc/posix-functions/wcscoll.texi: Likewise.
21977         * doc/posix-functions/wcscpy.texi: Likewise.
21978         * doc/posix-functions/wcscspn.texi: Likewise.
21979         * doc/posix-functions/wcsftime.texi: Likewise.
21980         * doc/posix-functions/wcslen.texi: Likewise.
21981         * doc/posix-functions/wcsncat.texi: Likewise.
21982         * doc/posix-functions/wcsncmp.texi: Likewise.
21983         * doc/posix-functions/wcsncpy.texi: Likewise.
21984         * doc/posix-functions/wcspbrk.texi: Likewise.
21985         * doc/posix-functions/wcsrchr.texi: Likewise.
21986         * doc/posix-functions/wcsrtombs.texi: Likewise.
21987         * doc/posix-functions/wcsspn.texi: Likewise.
21988         * doc/posix-functions/wcsstr.texi: Likewise.
21989         * doc/posix-functions/wcstod.texi: Likewise.
21990         * doc/posix-functions/wcstof.texi: Likewise.
21991         * doc/posix-functions/wcstoimax.texi: Likewise.
21992         * doc/posix-functions/wcstok.texi: Likewise.
21993         * doc/posix-functions/wcstold.texi: Likewise.
21994         * doc/posix-functions/wcstoll.texi: Likewise.
21995         * doc/posix-functions/wcstol.texi: Likewise.
21996         * doc/posix-functions/wcstombs.texi: Likewise.
21997         * doc/posix-functions/wcstoull.texi: Likewise.
21998         * doc/posix-functions/wcstoul.texi: Likewise.
21999         * doc/posix-functions/wcstoumax.texi: Likewise.
22000         * doc/posix-functions/wcswidth.texi: Likewise.
22001         * doc/posix-functions/wcsxfrm.texi: Likewise.
22002         * doc/posix-functions/wctob.texi: Likewise.
22003         * doc/posix-functions/wctomb.texi: Likewise.
22004         * doc/posix-functions/wctrans.texi: Likewise.
22005         * doc/posix-functions/wctype.texi: Likewise.
22006         * doc/posix-functions/wcwidth.texi: Likewise.
22007         * doc/posix-functions/wmemchr.texi: Likewise.
22008         * doc/posix-functions/wmemcmp.texi: Likewise.
22009         * doc/posix-functions/wmemcpy.texi: Likewise.
22010         * doc/posix-functions/wmemmove.texi: Likewise.
22011         * doc/posix-functions/wmemset.texi: Likewise.
22012         * doc/posix-functions/wprintf.texi: Likewise.
22013         * doc/posix-functions/wscanf.texi: Likewise.
22014
22015 2008-12-21  Bruno Haible  <bruno@clisp.org>
22016
22017         Update doc for HP-UX 11.11.
22018         * doc/posix-functions/btowc.texi: Clarify that the function is missing
22019         in HP-UX version 11.00, not in all versions of HP-UX 11.
22020         * doc/posix-functions/fwide.texi: Likewise.
22021         * doc/posix-functions/fwprintf.texi: Likewise.
22022         * doc/posix-functions/fwscanf.texi: Likewise.
22023         * doc/posix-functions/inet_ntop.texi: Likewise.
22024         * doc/posix-functions/inet_pton.texi: Likewise.
22025         * doc/posix-functions/mbrlen.texi: Likewise.
22026         * doc/posix-functions/mbrtowc.texi: Likewise.
22027         * doc/posix-functions/mbsinit.texi: Likewise.
22028         * doc/posix-functions/mbsrtowcs.texi: Likewise.
22029         * doc/posix-functions/swprintf.texi: Likewise.
22030         * doc/posix-functions/swscanf.texi: Likewise.
22031         * doc/posix-functions/towctrans.texi: Likewise.
22032         * doc/posix-functions/vfwprintf.texi: Likewise.
22033         * doc/posix-functions/vswprintf.texi: Likewise.
22034         * doc/posix-functions/vwprintf.texi: Likewise.
22035         * doc/posix-functions/wcrtomb.texi: Likewise.
22036         * doc/posix-functions/wcsrtombs.texi: Likewise.
22037         * doc/posix-functions/wcsstr.texi: Likewise.
22038         * doc/posix-functions/wctob.texi: Likewise.
22039         * doc/posix-functions/wctrans.texi: Likewise.
22040         * doc/posix-functions/wmemchr.texi: Likewise.
22041         * doc/posix-functions/wmemcmp.texi: Likewise.
22042         * doc/posix-functions/wmemcpy.texi: Likewise.
22043         * doc/posix-functions/wmemmove.texi: Likewise.
22044         * doc/posix-functions/wmemset.texi: Likewise.
22045         * doc/posix-functions/wprintf.texi: Likewise.
22046         * doc/posix-functions/wscanf.texi: Likewise.
22047
22048 2008-12-21  Bruno Haible  <bruno@clisp.org>
22049
22050         Work around a portability problem.
22051         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
22052         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
22053
22054 2008-12-20  Bruno Haible  <bruno@clisp.org>
22055
22056         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
22057         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
22058         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
22059         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
22060         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
22061
22062         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
22063         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
22064         set.
22065         (GNULIB_defined_mbstate_t): New macro.
22066         (mbsinit): Redefine if REPLACE_MBSINIT is set.
22067         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
22068         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
22069         reuses the system's mbrtowc function but works around the bugs.
22070         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
22071         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
22072         macros.
22073         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
22074         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
22075         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
22076         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
22077         REPLACE_MBSINIT if mbsinit needs to be overridden.
22078         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
22079         REPLACE_MBSINIT, REPLACE_MBRTOWC.
22080         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
22081         REPLACE_MBSINIT, REPLACE_MBRTOWC.
22082         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
22083         m4/locale-zh.m4.
22084         (Depends): Add mbsinit.
22085         * modules/mbsinit (Depends): Add mbrtowc.
22086         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
22087
22088 2008-12-20  Bruno Haible  <bruno@clisp.org>
22089
22090         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
22091         so that there are no conversion errors on AIX.
22092         * tests/test-mbsrtowcs.c (main): LIkewise.
22093
22094 2008-12-20  Bruno Haible  <bruno@clisp.org>
22095
22096         Work around wctob bug on Solaris <= 9.
22097         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
22098         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
22099         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
22100         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
22101         * modules/wctob (Files): Add m4/locale-fr.m4.
22102         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
22103
22104 2008-12-20  Bruno Haible  <bruno@clisp.org>
22105
22106         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
22107         /dev/null.
22108         * tests/test-select-in.sh: Likewise.
22109         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22110
22111 2008-12-20  Bruno Haible  <bruno@clisp.org>
22112
22113         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
22114         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
22115         Cygwin 1.5.x.
22116
22117 2008-12-20  Bruno Haible  <bruno@clisp.org>
22118
22119         Ensure mbstate_t is defined on HP-UX 11.11.
22120         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
22121         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
22122         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
22123         AC_USE_SYSTEM_EXTENSIONS.
22124         * modules/fnmatch (Depends-on): Add extensions.
22125         * modules/mbrlen (Depends-on): Likewise.
22126         * modules/mbrtowc (Depends-on): Likewise.
22127         * modules/mbsinit (Depends-on): Likewise.
22128         * modules/mbsrtowcs (Depends-on): Likewise.
22129         * modules/mbswidth (Depends-on): Likewise.
22130         * modules/quotearg (Depends-on): Likewise.
22131         * modules/strftime (Depends-on): Likewise.
22132
22133 2008-12-20  Bruno Haible  <bruno@clisp.org>
22134
22135         Ensure wctob is declared on IRIX 6.5.
22136         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
22137         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
22138         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
22139         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
22140         of HAVE_WCTOB.
22141         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
22142         HAVE_WCTOB.
22143         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
22144
22145 2008-12-19  Bruno Haible  <bruno@clisp.org>
22146
22147         * modules/mbsrtowcs-tests: New file.
22148         * tests/test-mbsrtowcs1.sh: New file.
22149         * tests/test-mbsrtowcs2.sh: New file.
22150         * tests/test-mbsrtowcs3.sh: New file.
22151         * tests/test-mbsrtowcs4.sh: New file.
22152         * tests/test-mbsrtowcs.c: New file.
22153
22154         New module 'mbsrtowcs'.
22155         * lib/wchar.in.h (mbsrtowcs): New declaration.
22156         * lib/mbsrtowcs.c: New file.
22157         * m4/mbsrtowcs.m4: New file.
22158         * modules/mbsrtowcs: New file.
22159         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
22160         HAVE_MBSRTOWCS.
22161         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
22162         HAVE_MBSRTOWCS.
22163         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
22164
22165 2008-12-19  Bruno Haible  <bruno@clisp.org>
22166
22167         New module 'mbrlen'.
22168         * lib/wchar.in.h (mbrlen): New declaration.
22169         * lib/mbrlen.c: New file.
22170         * m4/mbrlen.m4: New file.
22171         * modules/mbrlen: New file.
22172         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
22173         HAVE_MBRLEN.
22174         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
22175         HAVE_MBRLEN.
22176         * doc/posix-functions/mbrlen.texi: Document the new module.
22177
22178 2008-12-19  Bruno Haible  <bruno@clisp.org>
22179
22180         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
22181         * modules/mbrtowc (Depends-on): Add verify.
22182         Suggested by Paul Eggert.
22183
22184 2008-12-18  Bruno Haible  <bruno@clisp.org>
22185
22186         * modules/mbsinit-tests: New file.
22187         * tests/test-mbsinit.sh: New file.
22188         * tests/test-mbsinit.c: New file.
22189
22190 2008-12-18  Bruno Haible  <bruno@clisp.org>
22191
22192         * modules/mbrtowc-tests: New file.
22193         * tests/test-mbrtowc1.sh: New file.
22194         * tests/test-mbrtowc2.sh: New file.
22195         * tests/test-mbrtowc3.sh: New file.
22196         * tests/test-mbrtowc4.sh: New file.
22197         * tests/test-mbrtowc.c: New file.
22198
22199         New module 'mbrtowc'.
22200         * lib/wchar.in.h (mbstate_t): Override when the system does not have
22201         mbsinit and mbrtowc.
22202         (mbrtowc): New declaration.
22203         * lib/mbrtowc.c: New file.
22204         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
22205         * modules/mbrtowc: New file.
22206         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
22207         HAVE_MBRTOWC.
22208         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
22209         HAVE_MBRTOWC.
22210         * doc/posix-functions/mbrtowc.texi: Document the new module.
22211
22212 2008-12-18  Bruno Haible  <bruno@clisp.org>
22213
22214         New module 'wctob'.
22215         * lib/wchar.in.h (wctob): New declaration.
22216         * lib/wctob.c: New file.
22217         * m4/wctob.m4: New file.
22218         * modules/wctob: New file.
22219         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
22220         HAVE_WCTOB.
22221         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
22222         * doc/posix-functions/wctob.texi: Document the new module.
22223
22224 2008-12-18  Bruno Haible  <bruno@clisp.org>
22225
22226         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
22227         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
22228
22229 2008-12-18  Simon Josefsson  <simon@josefsson.org>
22230
22231         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
22232         G. Christensen" <tgc@jupiterrise.com>.
22233
22234         * lib/flock.c: Need to include errno.h.  Reported by "Tom
22235         G. Christensen" <tgc@jupiterrise.com>.
22236
22237         * lib/flock.c: Need to include string.h.  Reported by "Tom
22238         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
22239         <ebb9@byu.net>.
22240
22241 2008-12-18  Bruno Haible  <bruno@clisp.org>
22242
22243         * m4/locale-ja.m4: New file, from GNU gettext.
22244
22245 2008-12-17  Bruno Haible  <bruno@clisp.org>
22246
22247         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
22248         Suggested by Eric Blake.
22249
22250 2008-12-17  Bruno Haible  <bruno@clisp.org>
22251
22252         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
22253
22254 2008-12-17  Bruno Haible  <bruno@clisp.org>
22255
22256         * lib/mbsinit.c: Include verify.h. Verify an assumption.
22257         * modules/mbsinit (Depends-on): Add verify.
22258         Suggested by Paul Eggert.
22259
22260 2008-12-17  Bruno Haible  <bruno@clisp.org>
22261
22262         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
22263         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
22264         gl_FUNC_MBRTOWC.
22265         * m4/mbiter.m4 (gl_MBITER): LIkewise.
22266         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
22267         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
22268         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
22269         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
22270         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
22271         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
22272         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
22273         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
22274         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
22275         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
22276         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
22277         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
22278         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
22279         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
22280         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
22281         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
22282         * modules/trim (configure.ac): Likewise.
22283
22284 2008-12-17  Bruno Haible  <bruno@clisp.org>
22285
22286         * modules/btowc-tests: New file.
22287         * tests/test-btowc1.sh: New file.
22288         * tests/test-btowc2.sh: New file.
22289         * tests/test-btowc.c: New file.
22290
22291         New module 'btowc'.
22292         * lib/wchar.in.h (btowc): New declaration.
22293         * lib/btowc.c: New file.
22294         * m4/btowc.m4: New file.
22295         * modules/btowc: New file.
22296         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
22297         HAVE_BTOWC.
22298         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
22299         * doc/posix-functions/btowc.texi: Document the new module.
22300
22301 2008-12-17  Bruno Haible  <bruno@clisp.org>
22302
22303         New module 'mbsinit'.
22304         * lib/wchar.in.h (mbsinit): New declaration.
22305         * lib/mbsinit.c: New file.
22306         * m4/mbsinit.m4: New file.
22307         * modules/mbsinit: New file.
22308         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
22309         HAVE_MBSINIT.
22310         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
22311         HAVE_MBSINIT.
22312         * doc/posix-functions/mbsinit.texi: Document the new module.
22313
22314 2008-12-16  Bruno Haible  <bruno@clisp.org>
22315
22316         * lib/unistd.in.h: Add comment.
22317         * tests/test-environ.c: Don't include <stdlib.h>.
22318
22319 2008-12-16  Bruno Haible  <bruno@clisp.org>
22320
22321         * lib/parse-duration.h (parse_duration): Document return value
22322         convention.
22323         * lib/parse-duration.c: Include specification header first. Add
22324         comments.
22325         (_): Remove macro.
22326         (parse_year_month_day, parse_hour_minute_second): Move side effects
22327         outside of strchr call.
22328         (parse_non_iso8601): Move side effects outside of isspace call.
22329         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
22330         call.
22331
22332 2008-12-16  Bruno Haible  <bruno@clisp.org>
22333
22334         * tests/test-parse-duration.sh: Produce no output when the test
22335         succeeds.
22336
22337 2008-12-16  Bruno Haible  <bruno@clisp.org>
22338
22339         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
22340         expressions.
22341
22342 2008-12-15  Bruno Haible  <bruno@clisp.org>
22343
22344         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
22345         * doc/glibc-functions/flistxattr.texi: Likewise.
22346         * doc/glibc-functions/fopencookie.texi: Likewise.
22347         * doc/glibc-functions/fremovexattr.texi: Likewise.
22348         * doc/glibc-functions/fsetxattr.texi: Likewise.
22349         * doc/glibc-functions/getxattr.texi: Likewise.
22350         * doc/glibc-functions/lgetxattr.texi: Likewise.
22351         * doc/glibc-functions/listxattr.texi: Likewise.
22352         * doc/glibc-functions/llistxattr.texi: Likewise.
22353         * doc/glibc-functions/lremovexattr.texi: Likewise.
22354         * doc/glibc-functions/lsetxattr.texi: Likewise.
22355         * doc/glibc-functions/removexattr.texi: Likewise.
22356         * doc/glibc-functions/setxattr.texi: Likewise.
22357         * doc/posix-functions/open_memstream.texi: Likewise.
22358
22359 2008-12-15  Eric Blake  <ebb9@byu.net>
22360
22361         Update doc for cygwin 1.7.
22362         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
22363         functions.
22364         * doc/posix-functions/fchmodat.texi: Likewise.
22365         * doc/posix-functions/fchownat.texi: Likewise.
22366         * doc/posix-functions/fdopendir.texi: Likewise.
22367         * doc/posix-functions/fmemopen.texi: Likewise.
22368         * doc/posix-functions/freeaddrinfo.texi: Likewise.
22369         * doc/posix-functions/fstatat.texi: Likewise.
22370         * doc/posix-functions/futimens.texi: Likewise.
22371         * doc/posix-functions/gai_strerror.texi: Likewise.
22372         * doc/posix-functions/getaddrinfo.texi: Likewise.
22373         * doc/posix-functions/getnameinfo.texi: Likewise.
22374         * doc/posix-functions/if_freenameindex.texi: Likewise.
22375         * doc/posix-functions/if_indextoname.texi: Likewise.
22376         * doc/posix-functions/if_nameindex.texi: Likewise.
22377         * doc/posix-functions/if_nametoindex.texi: Likewise.
22378         * doc/posix-functions/insque.texi: Likewise.
22379         * doc/posix-functions/linkat.texi: Likewise.
22380         * doc/posix-functions/llrint.texi: Likewise.
22381         * doc/posix-functions/llrintf.texi: Likewise.
22382         * doc/posix-functions/llrintl.texi: Likewise.
22383         * doc/posix-functions/lockf.texi: Likewise.
22384         * doc/posix-functions/lrintl.texi: Likewise.
22385         * doc/posix-functions/mkdirat.texi: Likewise.
22386         * doc/posix-functions/mkfifoat.texi: Likewise.
22387         * doc/posix-functions/mknodat.texi: Likewise.
22388         * doc/posix-functions/mq_close.texi: Likewise.
22389         * doc/posix-functions/mq_getattr.texi: Likewise.
22390         * doc/posix-functions/mq_notify.texi: Likewise.
22391         * doc/posix-functions/mq_open.texi: Likewise.
22392         * doc/posix-functions/mq_receive.texi: Likewise.
22393         * doc/posix-functions/mq_send.texi: Likewise.
22394         * doc/posix-functions/mq_setattr.texi: Likewise.
22395         * doc/posix-functions/mq_timedreceive.texi: Likewise.
22396         * doc/posix-functions/mq_timedsend.texi: Likewise.
22397         * doc/posix-functions/mq_unlink.texi: Likewise.
22398         * doc/posix-functions/open_memstream.texi: Likewise.
22399         * doc/posix-functions/openat.texi: Likewise.
22400         * doc/posix-functions/posix_fadvise.texi: Likewise.
22401         * doc/posix-functions/posix_fallocate.texi: Likewise.
22402         * doc/posix-functions/posix_madvise.texi: Likewise.
22403         * doc/posix-functions/posix_memalign.texi: Likewise.
22404         * doc/posix-functions/posix_openpt.texi: Likewise.
22405         * doc/posix-functions/readlinkat.texi: Likewise.
22406         * doc/posix-functions/remque.texi: Likewise.
22407         * doc/posix-functions/renameat.texi: Likewise.
22408         * doc/posix-functions/rintl.texi: Likewise.
22409         * doc/posix-functions/sem_unlink.texi: Likewise.
22410         * doc/posix-functions/shm_open.texi: Likewise.
22411         * doc/posix-functions/shm_unlink.texi: Likewise.
22412         * doc/posix-functions/signgam.texi: Likewise.
22413         * doc/posix-functions/sigset.texi: Likewise.
22414         * doc/posix-functions/stpcpy.texi: Likewise.
22415         * doc/posix-functions/stpncpy.texi: Likewise.
22416         * doc/posix-functions/strerror.texi: Likewise.
22417         * doc/posix-functions/strtod.texi: Likewise.
22418         * doc/posix-functions/symlinkat.texi: Likewise.
22419         * doc/posix-functions/unlinkat.texi: Likewise.
22420         * doc/posix-functions/utimensat.texi: Likewise.
22421         * doc/glibc-functions/bindresvport.texi: Likewise.
22422         * doc/glibc-functions/dn_expand.texi: Likewise.
22423         * doc/glibc-functions/exp10.texi: Likewise.
22424         * doc/glibc-functions/exp10f.texi: Likewise.
22425         * doc/glibc-functions/fgetxattr.texi: Likewise.
22426         * doc/glibc-functions/flistxattr.texi: Likewise.
22427         * doc/glibc-functions/fopencookie.texi: Likewise.
22428         * doc/glibc-functions/freeifaddrs.texi: Likewise.
22429         * doc/glibc-functions/fremovexattr.texi: Likewise.
22430         * doc/glibc-functions/fsetxattr.texi: Likewise.
22431         * doc/glibc-functions/getifaddrs.texi: Likewise.
22432         * doc/glibc-functions/getxattr.texi: Likewise.
22433         * doc/glibc-functions/lgetxattr.texi: Likewise.
22434         * doc/glibc-functions/listxattr.texi: Likewise.
22435         * doc/glibc-functions/llistxattr.texi: Likewise.
22436         * doc/glibc-functions/lremovexattr.texi: Likewise.
22437         * doc/glibc-functions/lsetxattr.texi: Likewise.
22438         * doc/glibc-functions/pow10.texi: Likewise.
22439         * doc/glibc-functions/pow10f.texi: Likewise.
22440         * doc/glibc-functions/rcmd_af.texi: Likewise.
22441         * doc/glibc-functions/removexattr.texi: Likewise.
22442         * doc/glibc-functions/res_init.texi: Likewise.
22443         * doc/glibc-functions/res_mkquery.texi: Likewise.
22444         * doc/glibc-functions/res_query.texi: Likewise.
22445         * doc/glibc-functions/res_querydomain.texi: Likewise.
22446         * doc/glibc-functions/res_send.texi: Likewise.
22447         * doc/glibc-functions/rresvport_af.texi: Likewise.
22448         * doc/glibc-functions/setxattr.texi: Likewise.
22449         * doc/glibc-functions/strcasestr.texi: Likewise.
22450
22451 2008-12-15  Bruno Haible  <bruno@clisp.org>
22452
22453         Fix compilation error on OSF/1 4.0.
22454         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
22455         <sys/time.h>, simply delegate to the system header.
22456         Reported by Daniel Richard G. <oss@teragram.com>.
22457
22458 2008-12-15  Bruno Haible  <bruno@clisp.org>
22459
22460         * doc/posix-functions/openat.texi: Mention the 'openat' module.
22461         * doc/posix-functions/fchmodat.texi: Likewise.
22462         * doc/posix-functions/fchownat.texi: Likewise.
22463         * doc/posix-functions/fdopendir.texi: Likewise.
22464         * doc/posix-functions/fstatat.texi: Likewise.
22465         * doc/posix-functions/mkdirat.texi: Likewise.
22466         * doc/posix-functions/unlinkat.texi: Likewise.
22467
22468 2008-12-14  Bruno Haible  <bruno@clisp.org>
22469
22470         Update doc for POSIX:2008.
22471         * doc/posix-functions/faccessat.texi: New file.
22472         * doc/posix-functions/fchmodat.texi: New file.
22473         * doc/posix-functions/fchownat.texi: New file.
22474         * doc/posix-functions/fdopendir.texi: New file.
22475         * doc/posix-functions/fstatat.texi: New file.
22476         * doc/posix-functions/futimens.texi: New file.
22477         * doc/posix-functions/linkat.texi: New file.
22478         * doc/posix-functions/mkdirat.texi: New file.
22479         * doc/posix-functions/mkfifoat.texi: New file.
22480         * doc/posix-functions/mknodat.texi: New file.
22481         * doc/posix-functions/open_wmemstream.texi: New file.
22482         * doc/posix-functions/openat.texi: New file.
22483         * doc/posix-functions/psiginfo.texi: New file.
22484         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
22485         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
22486         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
22487         * doc/posix-functions/readlinkat.texi: New file.
22488         * doc/posix-functions/renameat.texi: New file.
22489         * doc/posix-functions/strerror_l.texi: New file.
22490         * doc/posix-functions/symlinkat.texi: New file.
22491         * doc/posix-functions/unlinkat.texi: New file.
22492         * doc/posix-functions/utimensat.texi: New file.
22493         * doc/gnulib.texi (Function Substitutes): Add these subsections.
22494
22495 2008-12-14  Bruno Haible  <bruno@clisp.org>
22496
22497         Update doc for POSIX:2008.
22498         * doc/posix-functions/alphasort.texi: Renamed from
22499         doc/glibc-functions/alphasort.texi.
22500         * doc/posix-functions/dirfd.texi: Renamed from
22501         doc/glibc-functions/dirfd.texi.
22502         * doc/posix-functions/dprintf.texi: Renamed from
22503         doc/glibc-functions/dprintf.texi.
22504         * doc/posix-functions/duplocale.texi: Renamed from
22505         doc/glibc-functions/duplocale.texi.
22506         * doc/posix-functions/fexecve.texi: Renamed from
22507         doc/glibc-functions/fexecve.texi.
22508         * doc/posix-functions/fmemopen.texi: Renamed from
22509         doc/glibc-functions/fmemopen.texi.
22510         * doc/posix-functions/freelocale.texi: Renamed from
22511         doc/glibc-functions/freelocale.texi.
22512         * doc/posix-functions/getdate_err.texi: Renamed from
22513         doc/glibc-functions/getdate_err.texi.
22514         * doc/posix-functions/isalnum_l.texi: Renamed from
22515         doc/glibc-functions/isalnum_l.texi.
22516         * doc/posix-functions/isalpha_l.texi: Renamed from
22517         doc/glibc-functions/isalpha_l.texi.
22518         * doc/posix-functions/isblank_l.texi: Renamed from
22519         doc/glibc-functions/isblank_l.texi.
22520         * doc/posix-functions/iscntrl_l.texi: Renamed from
22521         doc/glibc-functions/iscntrl_l.texi.
22522         * doc/posix-functions/isdigit_l.texi: Renamed from
22523         doc/glibc-functions/isdigit_l.texi.
22524         * doc/posix-functions/isgraph_l.texi: Renamed from
22525         doc/glibc-functions/isgraph_l.texi.
22526         * doc/posix-functions/islower_l.texi: Renamed from
22527         doc/glibc-functions/islower_l.texi.
22528         * doc/posix-functions/isprint_l.texi: Renamed from
22529         doc/glibc-functions/isprint_l.texi.
22530         * doc/posix-functions/ispunct_l.texi: Renamed from
22531         doc/glibc-functions/ispunct_l.texi.
22532         * doc/posix-functions/isspace_l.texi: Renamed from
22533         doc/glibc-functions/isspace_l.texi.
22534         * doc/posix-functions/isupper_l.texi: Renamed from
22535         doc/glibc-functions/isupper_l.texi.
22536         * doc/posix-functions/iswalnum_l.texi: Renamed from
22537         doc/glibc-functions/iswalnum_l.texi.
22538         * doc/posix-functions/iswalpha_l.texi: Renamed from
22539         doc/glibc-functions/iswalpha_l.texi.
22540         * doc/posix-functions/iswblank_l.texi: Renamed from
22541         doc/glibc-functions/iswblank_l.texi.
22542         * doc/posix-functions/iswcntrl_l.texi: Renamed from
22543         doc/glibc-functions/iswcntrl_l.texi.
22544         * doc/posix-functions/iswctype_l.texi: Renamed from
22545         doc/glibc-functions/iswctype_l.texi.
22546         * doc/posix-functions/iswdigit_l.texi: Renamed from
22547         doc/glibc-functions/iswdigit_l.texi.
22548         * doc/posix-functions/iswgraph_l.texi: Renamed from
22549         doc/glibc-functions/iswgraph_l.texi.
22550         * doc/posix-functions/iswlower_l.texi: Renamed from
22551         doc/glibc-functions/iswlower_l.texi.
22552         * doc/posix-functions/iswprint_l.texi: Renamed from
22553         doc/glibc-functions/iswprint_l.texi.
22554         * doc/posix-functions/iswpunct_l.texi: Renamed from
22555         doc/glibc-functions/iswpunct_l.texi.
22556         * doc/posix-functions/iswspace_l.texi: Renamed from
22557         doc/glibc-functions/iswspace_l.texi.
22558         * doc/posix-functions/iswupper_l.texi: Renamed from
22559         doc/glibc-functions/iswupper_l.texi.
22560         * doc/posix-functions/iswxdigit_l.texi: Renamed from
22561         doc/glibc-functions/iswxdigit_l.texi.
22562         * doc/posix-functions/isxdigit_l.texi: Renamed from
22563         doc/glibc-functions/isxdigit_l.texi.
22564         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
22565         doc/glibc-functions/mbsnrtowcs.texi.
22566         * doc/posix-functions/mkdtemp.texi: Renamed from
22567         doc/glibc-functions/mkdtemp.texi.
22568         * doc/posix-functions/newlocale.texi: Renamed from
22569         doc/glibc-functions/newlocale.texi.
22570         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
22571         doc/glibc-functions/nl_langinfo_l.texi.
22572         * doc/posix-functions/open_memstream.texi: Renamed from
22573         doc/glibc-functions/open_memstream.texi.
22574         * doc/posix-functions/opterr.texi: Renamed from
22575         doc/glibc-functions/opterr.texi.
22576         * doc/posix-functions/optind.texi: Renamed from
22577         doc/glibc-functions/optind.texi.
22578         * doc/posix-functions/optopt.texi: Renamed from
22579         doc/glibc-functions/optopt.texi.
22580         * doc/posix-functions/psignal.texi: Renamed from
22581         doc/glibc-functions/psignal.texi.
22582         * doc/posix-functions/scandir.texi: Renamed from
22583         doc/glibc-functions/scandir.texi.
22584         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
22585         doc/glibc-functions/sched_get_priority_min.texi.
22586         * doc/posix-functions/signgam.texi: Renamed from
22587         doc/glibc-functions/signgam.texi.
22588         * doc/posix-functions/stpcpy.texi: Renamed from
22589         doc/glibc-functions/stpcpy.texi.
22590         * doc/posix-functions/stpncpy.texi: Renamed from
22591         doc/glibc-functions/stpncpy.texi.
22592         * doc/posix-functions/strcasecmp_l.texi: Renamed from
22593         doc/glibc-functions/strcasecmp_l.texi.
22594         * doc/posix-functions/strcoll_l.texi: Renamed from
22595         doc/glibc-functions/strcoll_l.texi.
22596         * doc/posix-functions/strfmon_l.texi: Renamed from
22597         doc/glibc-functions/strfmon_l.texi.
22598         * doc/posix-functions/strftime_l.texi: Renamed from
22599         doc/glibc-functions/strftime_l.texi.
22600         * doc/posix-functions/strncasecmp_l.texi: Renamed from
22601         doc/glibc-functions/strncasecmp_l.texi.
22602         * doc/posix-functions/strndup.texi: Renamed from
22603         doc/glibc-functions/strndup.texi.
22604         * doc/posix-functions/strnlen.texi: Renamed from
22605         doc/glibc-functions/strnlen.texi.
22606         * doc/posix-functions/strsignal.texi: Renamed from
22607         doc/glibc-functions/strsignal.texi.
22608         * doc/posix-functions/strxfrm_l.texi: Renamed from
22609         doc/glibc-functions/strxfrm_l.texi.
22610         * doc/posix-functions/timer_gettime.texi: Renamed from
22611         doc/glibc-functions/timer_gettime.texi.
22612         * doc/posix-functions/tolower_l.texi: Renamed from
22613         doc/glibc-functions/tolower_l.texi.
22614         * doc/posix-functions/toupper_l.texi: Renamed from
22615         doc/glibc-functions/toupper_l.texi.
22616         * doc/posix-functions/towctrans_l.texi: Renamed from
22617         doc/glibc-functions/towctrans_l.texi.
22618         * doc/posix-functions/towlower_l.texi: Renamed from
22619         doc/glibc-functions/towlower_l.texi.
22620         * doc/posix-functions/towupper_l.texi: Renamed from
22621         doc/glibc-functions/towupper_l.texi.
22622         * doc/posix-functions/uselocale.texi: Renamed from
22623         doc/glibc-functions/uselocale.texi.
22624         * doc/posix-functions/vdprintf.texi: Renamed from
22625         doc/glibc-functions/vdprintf.texi.
22626         * doc/posix-functions/wcpcpy.texi:
22627         Renamed from doc/glibc-functions/wcpcpy.texi.
22628         * doc/posix-functions/wcpncpy.texi: Renamed from
22629         doc/glibc-functions/wcpncpy.texi.
22630         * doc/posix-functions/wcscasecmp.texi: Renamed from
22631         doc/glibc-functions/wcscasecmp.texi.
22632         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
22633         doc/glibc-functions/wcscasecmp_l.texi.
22634         * doc/posix-functions/wcscoll_l.texi: Renamed from
22635         doc/glibc-functions/wcscoll_l.texi.
22636         * doc/posix-functions/wcsdup.texi: Renamed from
22637         doc/glibc-functions/wcsdup.texi.
22638         * doc/posix-functions/wcsncasecmp.texi: Renamed from
22639         doc/glibc-functions/wcsncasecmp.texi.
22640         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
22641         doc/glibc-functions/wcsncasecmp_l.texi.
22642         * doc/posix-functions/wcsnlen.texi: Renamed from
22643         doc/glibc-functions/wcsnlen.texi.
22644         * doc/posix-functions/wcsnrtombs.texi: Renamed from
22645         doc/glibc-functions/wcsnrtombs.texi.
22646         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
22647         doc/glibc-functions/wcsxfrm_l.texi.
22648         * doc/posix-functions/wctrans_l.texi: Renamed from
22649         doc/glibc-functions/wctrans_l.texi.
22650         * doc/posix-functions/wctype_l.texi: Renamed from
22651         doc/glibc-functions/wctype_l.texi.
22652         * doc/gnulib.texi (Function Substitutes): Add these subsections.
22653         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
22654         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
22655         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
22656         these subsections.
22657         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
22658         Remove sections.
22659
22660 2008-12-14  Bruno Haible  <bruno@clisp.org>
22661
22662         Update doc for POSIX:2008.
22663         * doc/posix-functions/*.texi: Update URL of POSIX specification.
22664
22665 2008-12-14  Bruno Haible  <bruno@clisp.org>
22666
22667         Update doc for POSIX:2008.
22668         * doc/pastposix-functions/bcmp.texi: Renamed from
22669         doc/posix-functions/bcmp.texi.
22670         * doc/pastposix-functions/bcopy.texi: Renamed from
22671         doc/posix-functions/bcopy.texi.
22672         * doc/pastposix-functions/bsd_signal.texi: Renamed from
22673         doc/posix-functions/bsd_signal.texi.
22674         * doc/pastposix-functions/bzero.texi: Renamed from
22675         doc/posix-functions/bzero.texi.
22676         * doc/pastposix-functions/ecvt.texi: Renamed from
22677         doc/posix-functions/ecvt.texi.
22678         * doc/pastposix-functions/fcvt.texi: Renamed from
22679         doc/posix-functions/fcvt.texi.
22680         * doc/pastposix-functions/ftime.texi: Renamed from
22681         doc/posix-functions/ftime.texi.
22682         * doc/pastposix-functions/gcvt.texi: Renamed from
22683         doc/posix-functions/gcvt.texi.
22684         * doc/pastposix-functions/getcontext.texi: Renamed from
22685         doc/posix-functions/getcontext.texi.
22686         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
22687         doc/posix-functions/gethostbyaddr.texi.
22688         * doc/pastposix-functions/gethostbyname.texi: Renamed from
22689         doc/posix-functions/gethostbyname.texi.
22690         * doc/pastposix-functions/getwd.texi: Renamed from
22691         doc/posix-functions/getwd.texi.
22692         * doc/pastposix-functions/h_errno.texi: Renamed from
22693         doc/posix-functions/h_errno.texi.
22694         * doc/pastposix-functions/index.texi: Renamed from
22695         doc/posix-functions/index.texi.
22696         * doc/pastposix-functions/makecontext.texi: Renamed from
22697         doc/posix-functions/makecontext.texi.
22698         * doc/pastposix-functions/mktemp.texi: Renamed from
22699         doc/posix-functions/mktemp.texi.
22700         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
22701         doc/posix-functions/pthread_attr_getstackaddr.texi.
22702         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
22703         doc/posix-functions/pthread_attr_setstackaddr.texi.
22704         * doc/pastposix-functions/rindex.texi: Renamed from
22705         doc/posix-functions/rindex.texi.
22706         * doc/pastposix-functions/scalb.texi: Renamed from
22707         doc/posix-functions/scalb.texi.
22708         * doc/pastposix-functions/setcontext.texi: Renamed from
22709         doc/posix-functions/setcontext.texi.
22710         * doc/pastposix-functions/swapcontext.texi: Renamed from
22711         doc/posix-functions/swapcontext.texi.
22712         * doc/pastposix-functions/ualarm.texi: Renamed from
22713         doc/posix-functions/ualarm.texi.
22714         * doc/pastposix-functions/usleep.texi: Renamed from
22715         doc/posix-functions/usleep.texi.
22716         * doc/pastposix-functions/vfork.texi: Renamed from
22717         doc/posix-functions/vfork.texi.
22718         * doc/pastposix-functions/wcswcs.texi: Renamed from
22719         doc/posix-functions/wcswcs.texi.
22720         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
22721         (Function Substitutes): Update.
22722
22723 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22724
22725         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
22726         m4/strerror.m4.
22727
22728 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22729             Bruno Haible  <bruno@clisp.org>
22730
22731         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
22732
22733 2008-12-13  Bruno Haible  <bruno@clisp.org>
22734
22735         * modules/strtoull (Depends-on): Remove unistd.
22736
22737 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22738
22739         * modules/strtoull (Depends-on): Add stdlib.
22740
22741 2008-12-11  Simon Josefsson  <simon@josefsson.org>
22742
22743         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
22744
22745 2008-12-10  Jim Meyering  <meyering@redhat.com>
22746
22747         gl_ASSERT: don't say assertions are disabled when they're not
22748         * m4/assert.m4 (gl_ASSERT): Do not make configure report
22749         "checking whether to enable assertions... no", when they are in
22750         fact enabled.  This is solely a bug in the output of configure.
22751         In spite of saying "no", NDEBUG was not defined in that case.
22752         Also, as noted by Eric Blake, leave assertions enabled upon
22753         --enable-assert=INVALID.
22754
22755 2008-12-10  Bruno Haible  <bruno@clisp.org>
22756
22757         Change MODULES.html to refer to POSIX:2008 where possible.
22758         * MODULES.html.sh (POSIX2008_URL): New variable.
22759         (posix_headers): Remove sys/timeb, ucontext.
22760         (posix2001_headers): New variable.
22761         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
22762         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
22763         index, makecontext, mktemp, pthread_attr_getstackaddr,
22764         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
22765         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
22766         (posix2001_functions): New variable.
22767         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
22768         otherwise.
22769
22770 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22771
22772         add missing include to parse-duration.c
22773         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
22774         * modules/parse-duration (Depends-on): Add xalloc.
22775
22776         fix sed script reading maint.mk
22777         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
22778         (syntax-check-rules): Use it.
22779
22780 2008-12-09  Bruno Haible  <bruno@clisp.org>
22781
22782         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
22783         MacOS X 10.4/PowerPC.
22784         Reported by Simon Josefsson.
22785
22786 2008-12-08  Jim Meyering  <meyering@redhat.com>
22787
22788         work around mingw's lack of some S_IF definitions
22789         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
22790         Reported by Simon Josefsson.
22791
22792 2008-12-08  Bruno Haible  <bruno@clisp.org>
22793
22794         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
22795         applied to variables. Needed on MacOS X 10.4/PowerPC.
22796         Reported by Simon Josefsson.
22797
22798 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
22799         and Eric Blake  <ebb9@byu.net>
22800
22801         assert: honor --enable-assert
22802         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
22803         order to honor --enable-assert, rather than treating it as a
22804         synonym for --disable-assert.
22805
22806 2008-12-08  Jim Meyering  <meyering@redhat.com>
22807
22808         * lib/posixtm.c: Remove now-useless declaration of mktime.
22809
22810         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
22811
22812 2008-12-07  Bruno Haible  <bruno@clisp.org>
22813
22814         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
22815         test_once): Mark functions as static.
22816         * tests/test-tls.c (test_tls): Likewise.
22817
22818 2008-12-07  Bruno Haible  <bruno@clisp.org>
22819
22820         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
22821         iconv_register_autodetect.
22822
22823 2008-12-07  Jim Meyering  <meyering@redhat.com>
22824
22825         posixtm.c: avoid a warning
22826         * lib/posixtm.c (posixtime): Don't initialize tm0.
22827         It's no longer needed to placate gcc4's -Wuninitialized,
22828         and the attempt to placate would elicit a new warning.
22829
22830         unicodeio.c: mark unused parameters
22831         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
22832         (fallback_failure_callback): Likewise.
22833
22834 2008-12-07  Bruno Haible  <bruno@clisp.org>
22835
22836         * gnulib-tool (func_create_testdir): When building the tests
22837         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
22838         Reported by Simon Josefsson.
22839
22840 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22841
22842         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
22843
22844 2008-12-06  Bruno Haible  <bruno@clisp.org>
22845
22846         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
22847         Suggested by Eric Blake.
22848
22849 2008-12-06  Bruno Haible  <bruno@clisp.org>
22850
22851         Fix a c-stack test failure on MacOS X.
22852         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
22853         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
22854         handler for SIGBUS as well.
22855         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
22856         install a signal handler for SIGBUS as well.
22857         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
22858
22859 2008-12-06  Bruno Haible  <bruno@clisp.org>
22860
22861         Advocacy documentation.
22862         * doc/gnulib-intro.texi (Benefits): New section.
22863         * doc/gnulib.texi: Update.
22864
22865 2008-12-06  Bruno Haible  <bruno@clisp.org>
22866
22867         Document the 'manywarnings' module.
22868         * doc/manywarnings.texi: New file.
22869         * doc/gnulib.texi: Include it.
22870
22871 2008-12-05  Eric Blake  <ebb9@byu.net>
22872
22873         tests: silence some gcc warnings
22874         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
22875         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
22876         type mismatches.
22877
22878 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22879             Bruno Haible  <bruno@clisp.org>
22880
22881         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
22882
22883 2008-11-29  Jim Meyering  <meyering@redhat.com>
22884
22885         unicodeio.c: mark unused parameters
22886         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
22887         (fallback_failure_callback): Likewise.
22888
22889         fts: fix a thinko
22890         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
22891         (set_stat_type): Return S_IF*-valued "type" directly.
22892         Prompted by James Youngman's spotting a related bug.
22893         Confirmed by further testing through find.
22894
22895         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
22896         * lib/fts.c (D_TYPE): Define.
22897         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
22898         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
22899         (s_ifmt_shift_bits): New function.
22900         (set_stat_type): New function.
22901         (fts_build): When not calling fts_stat, call set_stat_type
22902         to propagate dirent.d_type info to fts_read caller.
22903         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
22904         fts_statp->st_mode type information may be valid.
22905
22906 2008-11-28  Simon Josefsson  <simon@josefsson.org>
22907
22908         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
22909         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
22910         <sds@gnu.org>.
22911
22912 2008-11-20  Bruno Haible  <bruno@clisp.org>
22913
22914         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
22915         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
22916         INCLUDE_NEXT.
22917         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
22918         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
22919         * modules/math (Makefile.am): Substitute
22920         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
22921         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
22922
22923 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
22924             Bruno Haible  <bruno@clisp.org>
22925
22926         * lib/stdint.in.h: Define all type macros so that their expansion is
22927         a single typedef'ed token. Fixes a compilation failure in Boost which
22928         does "using ::int8_t;".
22929
22930 2008-11-18  Simon Josefsson  <simon@josefsson.org>
22931
22932         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
22933         gl_MANYWARN_ALL_GCC.
22934         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
22935         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
22936         * modules/manywarnings: New file.
22937         * MODULES.html.sh: Mention manywarnings module.
22938
22939 2008-11-18  Bruno Haible  <bruno@clisp.org>
22940
22941         * doc/gnulib-tool.texi (Unit tests): New section.
22942
22943 2008-11-18  Simon Josefsson  <simon@josefsson.org>
22944
22945         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
22946         paths like 'lib/po/foo.po'.
22947
22948 2008-11-17  Simon Josefsson  <simon@josefsson.org>
22949
22950         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
22951         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
22952
22953 2008-11-17  Simon Josefsson  <simon@josefsson.org>
22954
22955         * m4/warnings.m4: Use CPPFLAGS to really check whether the
22956         parameter works.
22957
22958 2008-11-17  Simon Josefsson  <simon@josefsson.org>
22959
22960         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
22961
22962 2008-11-17  Bruce Korb  <bkorb@gnu.org>
22963
22964         * modules/parse-duration-tests: New file.
22965         * tests/test-parse-duration.sh: New file.
22966         * tests/test-parse-duration.c: New file.
22967
22968         New module 'parse-duration'.
22969         * lib/parse-duration.h: New file.
22970         * lib/parse-duration.c: New file.
22971         * modules/parse-duration: New file.
22972
22973 2008-11-17  Bruno Haible  <bruno@clisp.org>
22974
22975         * tests/test-select-out.sh: Comment out the first pipe test.
22976         Reported by Simon Josefsson.
22977
22978 2008-11-17  Bruno Haible  <bruno@clisp.org>
22979
22980         * modules/getaddrinfo (Depends-on): Add servent, hostent.
22981         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
22982         gl_HOSTENT.
22983
22984 2008-11-17  Bruno Haible  <bruno@clisp.org>
22985
22986         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
22987         -lnetwork and -lnet. Needed for Haiku and BeOS.
22988
22989 2008-11-16  Bruno Haible  <bruno@clisp.org>
22990
22991         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
22992
22993 2008-11-16  Bruno Haible  <bruno@clisp.org>
22994
22995         Avoid test failure on Haiku.
22996         * tests/test-fsync.c: Include <errno.h>.
22997         (main): Don't require that fsync (0) fails.
22998
22999 2008-11-15  Bruno Haible  <bruno@clisp.org>
23000
23001         New module 'hostent'.
23002         * modules/hostent: New file.
23003         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
23004
23005 2008-11-15  Bruno Haible  <bruno@clisp.org>
23006
23007         New module 'servent'.
23008         * modules/servent: New file.
23009         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
23010
23011 2008-11-15  Bruno Haible  <bruno@clisp.org>
23012
23013         Avoid generating same test program with two different rules.
23014         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
23015         test-frexp to test-frexp-nolibm.
23016         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
23017         test-frexpl to test-frexpl-nolibm.
23018
23019 2008-11-15  Bruno Haible  <bruno@clisp.org>
23020
23021         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
23022         $(FREXPL_LIBM).
23023
23024 2008-11-15  Bruno Haible  <bruno@clisp.org>
23025
23026         * lib/netdb.in.h: Activate the definitions also when the system's
23027         <netdb.h> has 'struct addrinfo'.
23028         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
23029         EAI_OVERFLOW or AI_NUMERICSERV.
23030         * doc/posix-headers/netdb.texi: Document the problem.
23031
23032 2008-11-15  Bruno Haible  <bruno@clisp.org>
23033
23034         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
23035
23036         Make the 'sched' module work on platforms where <sched.h> exists but
23037         is incomplete (such as Haiku).
23038         * lib/sched.in.h; Include the system's <sched.h> if it exists.
23039         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
23040         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
23041         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
23042         HAVE_STRUCT_SCHED_PARAM.
23043         * modules/sched (Depends-on): Add include_next.
23044         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
23045         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
23046         * doc/posix-headers/sched.texi: Document the issue.
23047
23048 2008-11-13  Jim Meyering  <meyering@redhat.com>
23049
23050         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
23051         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
23052         test would fail due to the difference in the Report bugs to ...
23053         line.  The expected address is empty, "<>", while the actual
23054         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
23055
23056 2008-11-12  Bruno Haible  <bruno@clisp.org>
23057
23058         lstat: don't compile lstat.c on systems lacking lstat
23059         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
23060         which don't have lstat; this is handled by lib/sys_stat.in.h already.
23061         Reported by Daniel P. Berrange via Jim Meyering.
23062
23063 2008-11-12  Jim Meyering  <meyering@redhat.com>
23064
23065         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
23066
23067 2008-11-12  Simon Josefsson  <simon@josefsson.org>
23068
23069         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
23070         instead.
23071
23072 2008-11-12  Bruno Haible  <bruno@clisp.org>
23073
23074         * lib/unicodeio.c: Include unistr.h.
23075         (utf8_wctomb): Remove function.
23076         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
23077
23078 2008-11-12  Simon Josefsson  <simon@josefsson.org>
23079
23080         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
23081         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
23082         <bruno@clisp.org>.
23083         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
23084
23085 2008-11-12  Simon Josefsson  <simon@josefsson.org>
23086
23087         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
23088         * doc/gnulib.texi: Add section for warnings.
23089
23090 2008-11-11  Bruno Haible  <bruno@clisp.org>
23091
23092         * lib/sockets.h: Add a comment.
23093
23094 2008-11-11  Karl Berry  <karl@gnu.org>
23095
23096         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
23097
23098 2008-11-11  Eric Blake  <ebb9@byu.net>
23099
23100         fdl.texi: avoid git symlinks
23101         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
23102
23103 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
23104
23105         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
23106
23107 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
23108
23109         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
23110         (gl_WARN_ADD): Substitute $2 if literal.
23111
23112 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
23113
23114         * m4/warning.m4: Remove.
23115
23116 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
23117
23118         * m4/warnings.m4: Almost complete rewrite. :-)
23119
23120 2008-11-10  Simon Josefsson  <simon@josefsson.org>
23121
23122         * modules/warnings: New module.
23123         * m4/warnings.m4: New file.
23124         * MODULES.html.sh: Mention warnings module.
23125         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
23126         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
23127
23128 2008-11-10  Eric Blake  <ebb9@byu.net>
23129
23130         fdl.texi: make a symlink to the latest version
23131         * doc/standards.texi: Revert today's earlier change.
23132         * doc/fdl-1.2.texi: Rename from old fdl.texi...
23133         * doc/fdl.texi: ...and replace this with a symlink to the newer
23134         fdl-1.3.texi.
23135
23136 2008-11-10  Bruno Haible  <bruno@clisp.org>
23137
23138         * tests/test-select-fd.c (main): Accept the result file name as fourth
23139         argument.
23140         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
23141         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
23142
23143 2008-11-10  Bruno Haible  <bruno@clisp.org>
23144
23145         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
23146         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
23147         as autoconf-substituted macros.
23148         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
23149         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
23150         gl_NETDB_H_DEFAULTS. Set these variables.
23151         * modules/netdb (Makefile.am): Substitute these variables.
23152
23153 2008-11-10  Eric Blake  <ebb9@byu.net>
23154
23155         standards.texi: include correct file for FDL 1.3
23156         * doc/standards.texi (GNU Free Documentation License): Change
23157         include file to pull in FDL 1.3, not 1.2.
23158
23159         fdl.texi: revert accidental change to license
23160         * doc/fdl.texi: This is FDL 1.2, not 1.3.
23161
23162 2008-11-10  Bruno Haible  <bruno@clisp.org>
23163
23164         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
23165         cross-compiling guesses also when the native compile gives no result.
23166
23167 2008-11-10  Bruno Haible  <bruno@clisp.org>
23168
23169         * lib/spawni.c (__spawni): Force variable into the stack.
23170
23171 2008-11-10  Bruno Haible  <bruno@clisp.org>
23172
23173         Add support for Haiku.
23174         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
23175         glibc and BeOS, but also on Haiku.
23176         * lib/fpurge.c (fpurge): Likewise.
23177         * lib/freadable.c (freadable): Likewise.
23178         * lib/freadahead.c (freadahead): Likewise.
23179         * lib/freading.c (freading): Likewise.
23180         * lib/freadptr.c (freadptr): Likewise.
23181         * lib/freadseek.c (freadptrinc): Likewise.
23182         * lib/fseeko.c (rpl_fseeko): Likewise.
23183         * lib/fseterr.c (fseterr): Likewise.
23184         * lib/fwritable.c (fwritable): Likewise.
23185         * lib/fwriting.c (fwriting): Likewise.
23186         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
23187
23188 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
23189
23190         * lib/config.charset: Treat Haiku like BeOS.
23191
23192 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
23193
23194         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
23195         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
23196
23197 2008-11-08  Bruno Haible  <bruno@clisp.org>
23198
23199         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
23200         AC_CACHE_CHECK.
23201
23202 2008-11-08  Bruno Haible  <bruno@clisp.org>
23203
23204         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
23205
23206 2008-11-08  Bruno Haible  <bruno@clisp.org>
23207
23208         * tests/test-select-fd.c: New file.
23209         * tests/test-select-in.sh: New file.
23210         * tests/test-select-out.sh: New file.
23211         * tests/test-select-stdin.c: New file.
23212         * modules/select-tests (Files): Add the new files.
23213         (Depends-on): Add gettimeofday.
23214         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
23215         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
23216         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
23217
23218 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
23219             Bruno Haible  <bruno@clisp.org>
23220
23221         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
23222
23223 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
23224
23225         * build-aux/pmccabe2html: Added support for C++ source files.
23226
23227 2008-11-05  Ben Pfaff  <blp@gnu.org>
23228
23229         Fix lib/close.c build on Windows.
23230         * modules/close (Files): Add lib/w32sock.h.
23231
23232 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
23233
23234         Accept Bison's NEWS format.
23235         * build-aux/announce-gen (print_news_deltas): Tweak
23236         $re_prefix.
23237
23238 2008-11-04  Bruno Haible  <bruno@clisp.org>
23239
23240         * modules/random_r (Maintainer): Add glibc.
23241
23242 2008-11-04  Simon Josefsson  <simon@josefsson.org>
23243
23244         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
23245         by karl@freefriends.org (Karl Berry).
23246         * doc/alloca.texi: Likewise.
23247         * doc/c-ctype.texi: Likewise.
23248         * doc/c-strcase.texi: Likewise.
23249         * doc/c-strcaseeq.texi: Likewise.
23250         * doc/c-strcasestr.texi: Likewise.
23251         * doc/c-strstr.texi: Likewise.
23252         * doc/c-strtod.texi: Likewise.
23253         * doc/c-strtold.texi: Likewise.
23254         * doc/ctime.texi: Likewise.
23255         * doc/error.texi: Likewise.
23256         * doc/fdl.texi: Likewise.
23257         * doc/gcd.texi: Likewise.
23258         * doc/getdate.texi: Likewise.
23259         * doc/gnulib-intro.texi: Likewise.
23260         * doc/gnulib-tool.texi: Likewise.
23261         * doc/gnulib.texi: Likewise.
23262         * doc/inet_ntoa.texi: Likewise.
23263         * doc/maintain.texi: Likewise.
23264         * doc/make-stds.texi: Likewise.
23265         * doc/quote.texi: Likewise.
23266         * doc/regexprops-generic.texi: Likewise.
23267         * doc/standards.texi: Likewise.
23268         * doc/verify.texi: Likewise.
23269         * doc/visibility.texi: Likewise.
23270         * doc/gnulib.texi (GNU Free Documentation License): Include
23271         fdl-1.3.texi instead of fdl.texi.
23272
23273 2008-11-04  Simon Josefsson  <simon@josefsson.org>
23274
23275         * doc/fdl-1.3.texi: New file, from
23276         <http://www.gnu.org/licenses/fdl-1.3.texi>.
23277         * modules/fdl-1.3: Add.
23278         * MODULES.html.sh: Add fdl-1.3.
23279
23280 2008-11-03  Bruno Haible  <bruno@clisp.org>
23281
23282         Make determination of absolute name of header file work with AIX xlc.
23283         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
23284         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
23285         preprocessing.
23286         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
23287         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
23288
23289 2008-11-03  Simon Josefsson  <simon@josefsson.org>
23290
23291         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
23292         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
23293         <ludo@gnu.org>.
23294
23295 2008-11-02  Bruno Haible  <bruno@clisp.org>
23296
23297         Mark 'strpbrk' obsolete.
23298         * modules/strpbrk (Status, Notice): New sections.
23299         * modules/strtok_r (Depends-on): Add strpbrk.
23300
23301 2008-11-02  Bruno Haible  <bruno@clisp.org>
23302
23303         Mark 'strdup' obsolete.
23304         * modules/strdup (Status, Notice): New sections.
23305         * modules/findprog (Depends-on): Add strdup.
23306         * modules/getaddrinfo (Depends-on): Likewise.
23307         * modules/localename (Depends-on): Likewise.
23308         * modules/relocatable-lib (Depends-on): Likewise.
23309         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
23310         * modules/relocatable-prog (Depends-on): Likewise.
23311         * modules/trim (Depends-on): Likewise.
23312         * modules/unictype/gen-ctype (Depends-on): Likewise.
23313         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
23314
23315 2008-11-02  Bruno Haible  <bruno@clisp.org>
23316
23317         Mark 'strcspn' obsolete.
23318         * modules/strcspn (Status, Notice): New sections.
23319
23320 2008-11-02  Bruno Haible  <bruno@clisp.org>
23321
23322         Mark 'rmdir' obsolete.
23323         * modules/rmdir (Status, Notice): New sections.
23324         * modules/clean-temp (Depends-on): Add rmdir.
23325         * modules/openat (Depends-on): Likewise.
23326
23327 2008-11-02  Bruno Haible  <bruno@clisp.org>
23328
23329         Mark 'raise' obsolete.
23330         * modules/raise (Status, Notice): New sections.
23331         (Include): Specify <signal.h>.
23332         * modules/stdio (Depends-on): Add raise.
23333         * modules/write (Depends-on): Likewise.
23334
23335 2008-11-02  Bruno Haible  <bruno@clisp.org>
23336
23337         Mark 'memset' obsolete.
23338         * modules/memset (Status, Notice): New sections.
23339
23340 2008-11-02  Bruno Haible  <bruno@clisp.org>
23341
23342         Mark 'memmove' obsolete.
23343         * modules/memmove (Status, Notice): New sections.
23344         * modules/argp (Depends-on): Add memmove.
23345         * modules/argz (Depends-on): Likewise.
23346         * modules/canonicalize (Depends-on): Likewise.
23347         * modules/canonicalize-lgpl (Depends-on): Likewise.
23348         * modules/fts (Depends-on): Likewise.
23349         * modules/getcwd (Depends-on): Likewise.
23350         * modules/human (Depends-on): Likewise.
23351         * modules/regex (Depends-on): Likewise.
23352         * modules/striconveh (Depends-on): Likewise.
23353         * modules/trim (Depends-on): Likewise.
23354         * modules/unistr/u8-move (Depends-on): Likewise.
23355         * modules/unistr/u16-move (Depends-on): Likewise.
23356         * modules/unistr/u32-move (Depends-on): Likewise.
23357
23358 2008-11-02  Bruno Haible  <bruno@clisp.org>
23359
23360         Mark 'memcpy' obsolete.
23361         * modules/memcpy (Status, Notice): New sections.
23362
23363 2008-11-02  Bruno Haible  <bruno@clisp.org>
23364
23365         Mark 'memcmp' obsolete.
23366         * modules/memcmp (Status, Notice): New sections.
23367         * modules/argmatch (Depends-on): Add memchr.
23368         * modules/backupfile (Depends-on): Likewise.
23369         * modules/c-strcasestr (Depends-on): Likewise.
23370         * modules/crypto/des (Depends-on): Likewise.
23371         * modules/csharpcomp (Depends-on): Likewise.
23372         * modules/fnmatch (Depends-on): Likewise.
23373         * modules/git-merge-changelog (Depends-on): Likewise.
23374         * modules/isnand (Depends-on): Likewise.
23375         * modules/isnand-nolibm (Depends-on): Likewise.
23376         * modules/isnanf (Depends-on): Likewise.
23377         * modules/isnanf-nolibm (Depends-on): Likewise.
23378         * modules/isnanl (Depends-on): Likewise.
23379         * modules/isnanl-nolibm (Depends-on): Likewise.
23380         * modules/mbchar (Depends-on): Likewise.
23381         * modules/memcoll (Depends-on): Likewise.
23382         * modules/quotearg (Depends-on): Likewise.
23383         * modules/regex (Depends-on): Likewise.
23384         * modules/relocatable-prog (Depends-on): Likewise.
23385         * modules/same (Depends-on): Likewise.
23386         * modules/signbit (Depends-on): Likewise.
23387         * modules/strcasestr-simple (Depends-on): Likewise.
23388         * modules/unictype/gen-ctype (Depends-on): Likewise.
23389         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
23390         * modules/uniname/uniname (Depends-on): Likewise.
23391         * modules/unistr/u8-cmp (Depends-on): Likewise.
23392
23393 2008-11-02  Bruno Haible  <bruno@clisp.org>
23394
23395         Mark 'memchr' obsolete.
23396         * modules/memchr (Status, Notice): New sections.
23397         * modules/argp (Depends-on): Add memchr.
23398         * modules/base64 (Depends-on): Likewise.
23399         * modules/c-strcasestr (Depends-on): Likewise.
23400         * modules/chdir-long (Depends-on): Likewise.
23401         * modules/fnmatch (Depends-on): Likewise.
23402         * modules/getsubopt (Depends-on): Likewise.
23403         * modules/git-merge-changelog (Depends-on): Likewise.
23404         * modules/glob (Depends-on): Likewise.
23405         * modules/strcasestr-simple (Depends-on): Likewise.
23406         * modules/strnlen (Depends-on): Likewise.
23407
23408 2008-11-02  Bruno Haible  <bruno@clisp.org>
23409
23410         Mark 'atexit' obsolete.
23411         * modules/atexit (Status, Notice): New sections.
23412         * modules/chdir-long (Depends-on): Add atexit.
23413         * modules/wait-process (Depends-on): Likewise.
23414
23415 2008-11-02  Bruno Haible  <bruno@clisp.org>
23416
23417         * gnulib-tool: New option --with-obsolete.
23418         (func_usage): Document it.
23419         (func_modules_transitive_closure): Drop obsolete dependencies if
23420         incobsolete is not true.
23421         (func_import): Read and save the incobsolete variable to the cache.
23422
23423 2008-11-02  Bruno Haible  <bruno@clisp.org>
23424
23425         * modules/TEMPLATE-EXTENDED: New field 'Status'.
23426         * gnulib-tool: New option --extract-status.
23427         (func_usage): Document it.
23428         (sed_extract_prog): Recognize it.
23429         (func_get_status): New function.
23430
23431 2008-10-30  Simon Josefsson  <simon@josefsson.org>
23432
23433         * modules/sockets (License): Change from LGPL to LGPLv2+.
23434
23435 2008-10-28  Simon Josefsson  <simon@josefsson.org>
23436
23437         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
23438
23439 2008-10-28  Simon Josefsson  <simon@josefsson.org>
23440
23441         * MODULES.html.sh (Support for systems lacking POSIX:2001):
23442         Mention times and sys_times.
23443         * modules/sys_times, modules/sys_times-tests: New modules.
23444         * modules/times, modules/times-tests: Likewise
23445         * m4/sys_times_h.m4: New file.
23446         * lib/sys_times.in.h: Likewise
23447         * lib/times.c: Likewise.
23448         * tests/test-sys_times.c: Likewise.
23449         * tests/test-times.c: Likewise.
23450         * doc/posix-headers/sys_times.texi: Update.
23451         * doc/posix-functions/times.texi: Update.
23452
23453 2008-10-28  Jim Meyering  <meyering@redhat.com>
23454
23455         * modules/tempname (Depends-on): Add lstat.
23456
23457         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
23458
23459 2008-10-28  Simon Josefsson  <simon@josefsson.org>
23460
23461         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
23462         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
23463         using idiom used elsewhere in gnulib.
23464
23465 2008-10-27  Jim Meyering  <meyering@redhat.com>
23466
23467         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
23468
23469 2008-10-27  Simon Josefsson  <simon@josefsson.org>
23470
23471         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
23472         TESTS_ENVIRONMENT, for shell scripts that needs to call built
23473         programs.
23474         * tests/test-argp-2.sh: Use $EXEEXT when needed.
23475
23476 2008-10-27  Simon Josefsson  <simon@josefsson.org>
23477
23478         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
23479
23480 2008-10-27  Bruno Haible  <bruno@clisp.org>
23481
23482         * tests/test-lstat.c: Include <stdio.h>.
23483
23484 2008-10-27  Simon Josefsson  <simon@josefsson.org>
23485
23486         * modules/lstat-tests: New module.
23487         * tests/test-lstat.c: New file.
23488
23489 2008-10-26  Jim Meyering  <meyering@redhat.com>
23490
23491         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
23492
23493 2008-10-26  Simon Josefsson  <simon@josefsson.org>
23494             Bruno Haible  <bruno@clisp.org>
23495
23496         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
23497         * modules/configmake (Include): Add a note that the include must come
23498         after all system headers.
23499         * lib/javaversion.c: Include configmake.h after all other includes.
23500
23501 2008-10-26  Bruno Haible  <bruno@clisp.org>
23502
23503         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
23504         HAVE_STRUCT_RANDOM_DATA to 1.
23505         (gl_STDLIB_H): Simplify.
23506
23507 2008-10-26  Simon Josefsson  <simon@josefsson.org>
23508
23509         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
23510         substitute HAVE_STRUCT_RANDOM_DATA.
23511         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
23512         random_data.
23513         * modules/stdlib (Makefile.am): Substitute
23514         HAVE_STRUCT_RANDOM_DATA.
23515
23516 2008-10-26  Simon Josefsson  <simon@josefsson.org>
23517
23518         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
23519         * doc/gnulib-intro.texi (Copyright): Likewise.
23520
23521 2008-10-26  Simon Josefsson  <simon@josefsson.org>
23522
23523         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
23524         findings.
23525
23526 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
23527             Bruno Haible  <bruno@clisp.org>
23528
23529         * lib/unistd.in.h: Include <winsock2.h>.
23530         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
23531         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
23532         Provide dummy declarations.
23533         (gethostname): Override.
23534         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
23535         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
23536         gl_PREREQ_SYS_H_WINSOCK2.
23537         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
23538         * doc/posix-functions/gethostname.texi: More details.
23539
23540 2008-10-25  Bruno Haible  <bruno@clisp.org>
23541
23542         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
23543         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
23544         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
23545
23546         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
23547         here ...
23548         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
23549         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
23550         gl_UNISTD_H_DEFAULTS.
23551
23552 2008-10-25  Eric Blake  <ebb9@byu.net>
23553
23554         signbit: avoid spurious compiler failure
23555         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
23556         declarations inside function.
23557
23558 2008-10-24  Simon Josefsson  <simon@josefsson.org>
23559             Bruno Haible  <bruno@clisp.org>
23560
23561         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
23562         * modules/random_r (Depends-on): Add stdint.
23563
23564 2008-10-24  Bruno Haible  <bruno@clisp.org>
23565
23566         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
23567         Eggert.
23568         * modules/strerror (License): Likewise.
23569
23570 2008-10-24  Jim Meyering  <meyering@redhat.com>
23571
23572         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
23573         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
23574
23575 2008-10-24  Eric Blake  <ebb9@byu.net>
23576
23577         getgroups: fix compilation when getgroups is available
23578         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
23579         but with <config.h> override of getgroups disabled.
23580
23581 2008-10-24  Simon Josefsson  <simon@josefsson.org>
23582
23583         * doc/gnulib.texi (Header files): Add note about C++ problems.
23584         Explained by Bruno Haible <bruno@clisp.org>.
23585
23586 2008-10-23  Bruno Haible  <bruno@clisp.org>
23587
23588         Define a dummy SA_NODEFER macro on Interix.
23589         * lib/signal.in.h (SA_NODEFER): Define fallback.
23590         Reported by Aleksey Cheusov <cheusov@tut.by> via
23591         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
23592
23593 2008-10-23  Bruno Haible  <bruno@clisp.org>
23594
23595         * modules/freadahead (License): Change to LGPLv2+.
23596         Suggested by Simon Josefsson.
23597
23598 2008-10-23  Jim Meyering  <meyering@redhat.com>
23599
23600         random_r: new module
23601         * modules/random_r: New file.
23602         * m4/random_r.m4: New file.
23603         * lib/random_r.c: New file, from glibc.
23604         * modules/random_r-tests: New file.
23605         * tests/test-random_r.c: New file.
23606         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
23607          Declare.
23608         (RAND_MAX): Define.
23609         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
23610         * modules/stdlib: Substitute them, too.
23611         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
23612         * doc/glibc-functions/initstate_r.texi: Mention the new module.
23613         * doc/glibc-functions/random_r.texi: Likewise.
23614         * doc/glibc-functions/setstate_r.texi: Likewise.
23615         * doc/glibc-functions/srandom_r.texi: Likewise.
23616         * config/srclist.txt: Mention it.
23617
23618 2008-10-23  David Lutterkort  <lutter@redhat.com>
23619
23620         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
23621         link requirement
23622
23623 2008-10-23  Jim Meyering  <meyering@redhat.com>
23624
23625         selinux-h: mark parameters of stub functions as intentionally unused
23626         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
23627         * lib/se-context.in.h: Likewise.
23628
23629 2008-10-22  Simon Josefsson  <simon@josefsson.org>
23630
23631         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
23632
23633 2008-10-22  Simon Josefsson  <simon@josefsson.org>
23634
23635         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
23636
23637 2008-10-22  Eric Blake  <ebb9@byu.net>
23638
23639         glthread/thread: avoid compiler warning
23640         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
23641         Add unreachable abort to silence compiler.
23642
23643 2008-10-22  Eric Blake  <ebb9@byu.net>
23644
23645         netdb: also supply struct addrinfo for cygwin 1.5.x
23646         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
23647         older cygwin.
23648         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
23649         cygwin.
23650         * doc/posix-headers/netdb.texi (netdb.h): Document this.
23651
23652 2008-10-22  Bruno Haible  <bruno@clisp.org>
23653
23654         * users.txt: Update entry about pspp.
23655
23656 2008-10-21  Bruno Haible  <bruno@clisp.org>
23657
23658         Simplification.
23659         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
23660         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
23661
23662         Simplification.
23663         * lib/ioctl.c (ioctl): Don't undefine.
23664         * lib/socket.c (socket): Don't undefine.
23665
23666         Remove unused module indicator macros.
23667         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
23668         GNULIB_$1 as a C macro.
23669
23670         * doc/posix-functions/close.texi: Undo last change.
23671         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
23672         Windows platforms.
23673
23674 2008-10-21  Bruno Haible  <bruno@clisp.org>
23675
23676         Add gethostname() declaration to <unistd.h>.
23677         * lib/unistd.in.h (gethostname): New declaration.
23678         * lib/gethostname.c: Include <unistd.h>.
23679         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
23680         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
23681         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
23682         and HAVE_GETHOSTNAME.
23683         * modules/gethostname (Depends-on): Add unistd.
23684         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
23685         (Include): Specify <unistd.h>.
23686         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
23687         HAVE_GETHOSTNAME.
23688         * tests/test-gethostname.c: Include <unistd.h> first.
23689
23690 2008-10-21  Bruno Haible  <bruno@clisp.org>
23691
23692         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
23693         * modules/select-tests (Depends-on): Likewise.
23694         Reported by Simon Josefsson.
23695
23696 2008-10-21  Simon Josefsson  <simon@josefsson.org>
23697
23698         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
23699         * lib/accept.c: New file, based on winsock.c.
23700         * lib/bind.c: New file, based on winsock.c.
23701         * lib/connect.c: New file, based on winsock.c.
23702         * lib/getpeername.c: New file, based on winsock.c.
23703         * lib/getsockname.c: New file, based on winsock.c.
23704         * lib/getsockopt.c: New file, based on winsock.c.
23705         * lib/ioctl.c: New file, based on winsock.c.
23706         * lib/listen.c: New file, based on winsock.c.
23707         * lib/recv.c: New file, based on winsock.c.
23708         * lib/recvfrom.c: New file, based on winsock.c.
23709         * lib/send.c: New file, based on winsock.c.
23710         * lib/sendto.c: New file, based on winsock.c.
23711         * lib/setsockopt.c: New file, based on winsock.c.
23712         * lib/shutdown.c: New file, based on winsock.c.
23713         * lib/socket.c: New file, based on winsock.c.
23714         * lib/w32sock.h: New file, based on winsock.c.
23715         * lib/winsock.c: Remove file.
23716         * modules/accept: Likewise.
23717         * modules/bind: Likewise.
23718         * modules/connect: Likewise.
23719         * modules/getpeername: Likewise.
23720         * modules/getsockname: Likewise.
23721         * modules/getsockopt: Likewise.
23722         * modules/ioctl: Likewise.
23723         * modules/listen: Likewise.
23724         * modules/recv: Likewise.
23725         * modules/recvfrom: Likewise.
23726         * modules/send: Likewise.
23727         * modules/sendto: Likewise.
23728         * modules/setsockopt: Likewise.
23729         * modules/shutdown: Likewise.
23730         * modules/socket: Use socket.c instead of winsock.c.
23731         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
23732         * doc/posix-functions/accept.texi: Doc fix.
23733         * doc/posix-functions/bind.texi: Doc fix.
23734         * doc/posix-functions/close.texi: Doc fix.
23735         * doc/posix-functions/connect.texi: Doc fix.
23736         * doc/posix-functions/getpeername.texi: Doc fix.
23737         * doc/posix-functions/getsockname.texi: Doc fix.
23738         * doc/posix-functions/getsockopt.texi: Doc fix.
23739         * doc/posix-functions/ioctl.texi: Doc fix.
23740         * doc/posix-functions/listen.texi: Doc fix.
23741         * doc/posix-functions/recv.texi: Doc fix.
23742         * doc/posix-functions/recvfrom.texi: Doc fix.
23743         * doc/posix-functions/send.texi: Doc fix.
23744         * doc/posix-functions/sendto.texi: Doc fix.
23745         * doc/posix-functions/setsockopt.texi: Doc fix.
23746         * doc/posix-functions/shutdown.texi: Doc fix.
23747         * doc/posix-functions/socket.texi: Doc fix.
23748
23749 2008-10-20  Bruno Haible  <bruno@clisp.org>
23750
23751         Take into account the role of SIGABRT_COMPAT on Windows 2008.
23752         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
23753         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
23754         as an alias for SIGABRT.
23755         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
23756         (sigaction): Map it to SIGABRT.
23757         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
23758
23759 2008-10-20  Bruno Haible  <bruno@clisp.org>
23760
23761         * lib/fts.c: Don't include lstat.h.
23762         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
23763
23764         Move the lstat() declaration to <sys/stat.h>.
23765         * lib/lstat.h: Remove file.
23766         * lib/sys_stat.in.h: Add special invocation convention.
23767         (lstat): New declaration.
23768         * lib/lstat.c (orig_lstat): New function.
23769         (rpl_lstat): Use orig_lstat instead of lstat.
23770         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
23771         AC_C_INLINE. Set REPLACE_LSTAT.
23772         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
23773         and REPLACE_LSTAT.
23774         * modules/lstat (Files): Remove lib/lstat.h.
23775         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
23776         (Include): Specify <sys/stat.h> instead of lstat.h.
23777         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
23778         REPLACE_LSTAT.
23779         * NEWS: Mention the change.
23780
23781 2008-10-20  Bruno Haible  <bruno@clisp.org>
23782
23783         * modules/posix_spawn-tests: New file.
23784         * tests/test-posix_spawn3.c: New file.
23785
23786 2008-10-20  Bruno Haible  <bruno@clisp.org>
23787
23788         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
23789         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
23790         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
23791         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
23792         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
23793
23794 2008-10-20  Bruno Haible  <bruno@clisp.org>
23795
23796         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
23797         of posix_spawn on AIX 5.3.
23798
23799 2008-10-20  Bruno Haible  <bruno@clisp.org>
23800
23801         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
23802
23803 2008-10-20  Bruno Haible  <bruno@clisp.org>
23804
23805         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
23806         of AC_LANG_PROGRAM.
23807
23808 2008-10-20  Simon Josefsson  <simon@josefsson.org>
23809
23810         * lib/netdb.in.h: Don't define GNU specific constants until they
23811         are supported or needed.  Reported by Bruno Haible
23812         <bruno@clisp.org>.
23813
23814 2008-10-20  Simon Josefsson  <simon@josefsson.org>
23815
23816         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
23817
23818 2008-10-20  Simon Josefsson  <simon@josefsson.org>
23819
23820         * lib/getaddrinfo.h: Remove file.
23821         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
23822         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
23823         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
23824         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
23825         * modules/netdb: Substitute GNULIB_GETADDRINFO.
23826         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
23827         * tests/test-getaddrinfo.c: Likewise.
23828         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
23829         * NEWS: Mention change.
23830
23831 2008-10-19  Bruno Haible  <bruno@clisp.org>
23832
23833         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
23834
23835 2008-10-19  Bruno Haible  <bruno@clisp.org>
23836
23837         * lib/wait-process.c: Include simply <sys/wait.h>.
23838         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
23839         WIFSTOPPED): Remove fallback definitions.
23840         * modules/wait-process (Depends-on): Add sys_wait.
23841
23842         New module 'sys_wait'.
23843         * modules/sys_wait: New file.
23844         * lib/sys_wait.in.h: New file, partially copied from
23845         lib/wait-process.c.
23846         * m4/sys_wait_h.m4: New file.
23847         * doc/posix-headers/sys_wait.texi: Mention the new module.
23848
23849 2008-10-19  Bruno Haible  <bruno@clisp.org>
23850
23851         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
23852
23853 2008-10-19  Bruno Haible  <bruno@clisp.org>
23854
23855         Assume that waitpid() fills an 'int' status, not a 'union wait'.
23856         * lib/wait-process.c (WAIT_T): Remove type.
23857         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
23858         (wait_subprocess): Update.
23859
23860 2008-10-19  Bruno Haible  <bruno@clisp.org>
23861
23862         New module 'atoll'.
23863         * modules/atoll: New file.
23864         * lib/stdlib.in.h (atoll): New declaration.
23865         * lib/atoll.c: New file, from glibc with modifications.
23866         * m4/atoll.m4: New file.
23867         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
23868         HAVE_ATOLL.
23869         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
23870         * doc/posix-functions/atoll.texi: Mention the new module.
23871
23872 2008-10-19  Bruno Haible  <bruno@clisp.org>
23873
23874         Add strtoull() declaration to <stdlib.h>.
23875         * lib/stdlib.in.h (strtoull): New declaration.
23876         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
23877         Set HAVE_STRTOULL.
23878         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
23879         HAVE_STRTOULL.
23880         * modules/strtoull (Depends-on): Add stdlib.
23881         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
23882         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
23883         HAVE_STRTOULL.
23884
23885 2008-10-19  Bruno Haible  <bruno@clisp.org>
23886
23887         Add strtoll() declaration to <stdlib.h>.
23888         * lib/stdlib.in.h (strtoll): New declaration.
23889         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
23890         Set HAVE_STRTOLL.
23891         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
23892         HAVE_STRTOLL.
23893         * modules/strtoll (Depends-on): Add stdlib.
23894         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
23895         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
23896
23897 2008-10-19  Bruno Haible  <bruno@clisp.org>
23898
23899         * modules/bcopy (Depends-on): Add strings.
23900         (Include): Specify <strings.h>.
23901
23902 2008-10-19  Bruno Haible  <bruno@clisp.org>
23903
23904         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
23905
23906 2008-10-19  Bruno Haible  <bruno@clisp.org>
23907
23908         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
23909         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
23910         mingw.
23911
23912 2008-10-19  Bruno Haible  <bruno@clisp.org>
23913
23914         * lib/atanl.c: Don't include isnanl.h.
23915         * lib/cosl.c: Likewise.
23916         * lib/ldexpl.c: Likewise.
23917         * lib/logl.c: Likewise.
23918         * lib/sinl.c: Likewise.
23919         * lib/sqrtl.c: Likewise.
23920         * lib/tanl.c: Likewise.
23921
23922         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
23923         * lib/isnanf.h: Remove file.
23924         * lib/isnand.h: Remove file.
23925         * lib/isnanl.h: Remove file.
23926         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
23927         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
23928         macros.
23929         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
23930         HAVE_ISNANF, don't define it as a C macro.
23931         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
23932         HAVE_ISNAND, don't define it as a C macro.
23933         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
23934         HAVE_ISNANL, don't define it as a C macro.
23935         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
23936         HAVE_ISNAN[FDL].
23937         * modules/isnanf (Files): Remove lib/isnanf.h.
23938         (Depends-on): Add math.
23939         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
23940         (Include): Specify <math.h> instead of isnanf.h.
23941         * modules/isnand (Files): Remove lib/isnand.h.
23942         (Depends-on): Add math.
23943         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
23944         (Include): Specify <math.h> instead of isnand.h.
23945         * modules/isnanl (Files): Remove lib/isnanl.h.
23946         (Depends-on): Add math.
23947         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
23948         (Include): Specify <math.h> instead of isnanl.h.
23949         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
23950         HAVE_ISNAN[FDL].
23951         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
23952         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
23953         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
23954         * NEWS: Mention the change.
23955
23956 2008-10-18  Bruno Haible  <bruno@clisp.org>
23957
23958         Add getusershell(), setusershell(), endusershell() declarations to
23959         <unistd.h>.
23960         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
23961         declarations.
23962         * lib/getusershell.c: Include unistd.h.
23963         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
23964         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
23965         HAVE_GETUSERSHELL.
23966         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
23967         and HAVE_GETUSERSHELL.
23968         * modules/getusershell (Depends-on): Add unistd, extensions.
23969         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
23970         (Include): Specify <unistd.h>.
23971         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
23972         HAVE_GETUSERSHELL.
23973
23974 2008-10-18  Bruno Haible  <bruno@clisp.org>
23975
23976         Add a getloadavg() declaration to <stdlib.h>.
23977         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
23978         getloadavg declaration.
23979         (getloadavg): New declaration.
23980         * lib/getloadavg.c: Include <stdlib.h> first.
23981         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
23982         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
23983         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
23984         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
23985         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
23986         * modules/getloadavg (Depends-on): Add stdlib, extensions.
23987         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
23988         (Include): Specify <stdlib.h>.
23989         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
23990         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
23991
23992 2008-10-18  Bruno Haible  <bruno@clisp.org>
23993
23994         * lib/dirchownmod.c: Don't include lchmod.h.
23995
23996         Move the lchmod() declaration to <sys/stat.h>.
23997         * lib/lchmod.h: Remove file.
23998         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
23999         (lchmod): New declaration, moved here from lib/lchown.h.
24000         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
24001         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
24002         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
24003         and HAVE_LCHMOD.
24004         * modules/lchmod (Files): Remove lib/lchmod.h.
24005         (Depends-on): Add sys_stat, extensions.
24006         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
24007         (Include): Specify <sys/stat.h> instead of lchmod.h.
24008         * modules/sys_stat (Depends-on): Add link-warning.
24009         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
24010         definition of GL_LINK_WARNING.
24011         * NEWS: Mention the change.
24012
24013 2008-10-18  Bruno Haible  <bruno@clisp.org>
24014
24015         * lib/fchdir.c: Don't include dirfd.h.
24016         * lib/fts.c: Likewise.
24017         * lib/getcwd.c: Likewise.
24018         * lib/glob.c: Likewise.
24019
24020         Move the dirfd() declaration to <dirent.h>.
24021         * lib/dirfd.h: Remove file.
24022         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
24023         (dirfd): New declaration.
24024         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
24025         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
24026         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
24027         HAVE_DECL_DIRFD.
24028         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
24029         HAVE_DECL_DIRFD.
24030         * modules/dirfd (Files): Remove lib/dirfd.h.
24031         (Depends-on): Add dirent, extensions.
24032         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
24033         (Include): Specify <dirent.h> instead of dirfd.h.
24034         * modules/dirent (Depends-on): Add link-warning.
24035         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
24036         definition of GL_LINK_WARNING.
24037         * NEWS: Mention the change.
24038
24039 2008-10-18  Bruno Haible  <bruno@clisp.org>
24040
24041         Move the euidaccess() declaration to <unistd.h>.
24042         * lib/euidaccess.h: Remove file.
24043         * lib/unistd.in.h (euidaccess): New declaration.
24044         * lib/euidaccess.c: Don't include euidaccess.h.
24045         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
24046         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
24047         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
24048         and HAVE_EUIDACCESS.
24049         * modules/euidaccess (Files): Remove lib/euidaccess.h.
24050         (Depends-on): Add unistd.
24051         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
24052         (Include): Specify <unistd.h> instead of euidaccess.h.
24053         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
24054         HAVE_EUIDACCESS.
24055         * NEWS: Mention the change.
24056
24057 2008-10-18  Bruno Haible  <bruno@clisp.org>
24058
24059         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
24060
24061         Move the getdomainname() declaration to <unistd.h>.
24062         * lib/getdomainname.h: Remove file.
24063         * lib/unistd.in.h (getdomainname): New declaration.
24064         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
24065         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
24066         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
24067         HAVE_GETDOMAINNAME.
24068         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24069         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
24070         * modules/getdomainname (Files): Remove lib/getdomainname.h.
24071         (Depends-on): Add unistd, extensions.
24072         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
24073         (Includes): Specify <unistd.h> instead of getdomainname.h.
24074         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
24075         HAVE_GETDOMAINNAME.
24076         * NEWS: Mention the change.
24077
24078 2008-10-18  Bruno Haible  <bruno@clisp.org>
24079
24080         * modules/dirent: New file.
24081         * m4/dirent_h.m4: New file.
24082         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
24083         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
24084         * modules/fchdir (Files): Remove lib/dirent.in.h.
24085         (Depends-on): Add dirent.
24086         (Makefile.am): Move rules to modules/dirent.
24087         * doc/posix-headers/dirent.texi: Mention the new module.
24088
24089 2008-10-18  Bruno Haible  <bruno@clisp.org>
24090
24091         Avoid -Wunused-parameter warnings in public gnulib header files.
24092         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
24093         macro.
24094         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
24095
24096 2008-10-18  Bruno Haible  <bruno@clisp.org>
24097
24098         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
24099         * doc/glibc-functions/error.texi: Mention the module 'error'.
24100         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
24101         * doc/glibc-functions/getdomainname.texi: Mention the module
24102         'getdomainname'.
24103         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
24104         * doc/glibc-functions/getpagesize.texi: Mention the module
24105         'getpagesize'.
24106         * doc/glibc-functions/getusershell.texi: Mention the module
24107         'getusershell'.
24108         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
24109         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
24110         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
24111         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
24112         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
24113         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
24114         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
24115         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
24116         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
24117         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
24118         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
24119         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
24120         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
24121         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
24122
24123 2008-10-17  Bruno Haible  <bruno@clisp.org>
24124
24125         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
24126         HP-UX and IRIX, use -0.0L.
24127         * tests/test-ceill.c (minus_zero): Likewise.
24128         * tests/test-floorl.c (minus_zero): Likewise.
24129         * tests/test-frexpl.c (minus_zero): Likewise.
24130         * tests/test-isnan.c (minus_zerol): Likewise.
24131         * tests/test-isnanl.h (minus_zero): Likewise.
24132         * tests/test-ldexpl.c (minus_zero): Likewise.
24133         * tests/test-roundl.c (minus_zero): Likewise.
24134         * tests/test-signbit.c (minus_zerol): Likewise.
24135         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
24136         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
24137         * tests/test-truncl.c (minus_zero): Likewise.
24138         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
24139         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
24140         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
24141         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
24142
24143 2008-10-17  Bruno Haible  <bruno@clisp.org>
24144
24145         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
24146         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
24147         that it gets activated only for gcc >= 3.0.
24148         * lib/dirent.in.h: Likewise.
24149         * lib/errno.in.h: Likewise.
24150         * lib/fcntl.in.h: Likewise.
24151         * lib/float.in.h: Likewise.
24152         * lib/iconv.in.h: Likewise.
24153         * lib/inttypes.in.h: Likewise.
24154         * lib/locale.in.h: Likewise.
24155         * lib/math.in.h: Likewise.
24156         * lib/netdb.in.h: Likewise.
24157         * lib/netinet_in.in.h: Likewise.
24158         * lib/search.in.h: Likewise.
24159         * lib/signal.in.h: Likewise.
24160         * lib/spawn.in.h: Likewise.
24161         * lib/stdarg.in.h: Likewise.
24162         * lib/stdint.in.h: Likewise.
24163         * lib/stdio.in.h: Likewise.
24164         * lib/stdlib.in.h: Likewise.
24165         * lib/string.in.h: Likewise.
24166         * lib/strings.in.h: Likewise.
24167         * lib/sys_file.in.h: Likewise.
24168         * lib/sys_ioctl.in.h: Likewise.
24169         * lib/sys_select.in.h: Likewise.
24170         * lib/sys_socket.in.h: Likewise.
24171         * lib/sys_stat.in.h: Likewise.
24172         * lib/sys_time.in.h: Likewise.
24173         * lib/sysexits.in.h: Likewise.
24174         * lib/time.in.h: Likewise.
24175         * lib/unistd.in.h: Likewise.
24176         * lib/wchar.in.h: Likewise.
24177         * lib/wctype.in.h: Likewise.
24178         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
24179
24180 2008-10-17  Jim Meyering  <meyering@redhat.com>
24181
24182         ignore-value: don't depend on inline module
24183         * modules/ignore-value (Depends-on): Remove 'inline'.
24184         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
24185         Suggestion from Bruno Haible.
24186
24187 2008-10-17  Bruno Haible  <bruno@clisp.org>
24188
24189         New implementation of condition variables for Win32.
24190         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
24191         (gl_linked_waitqueue_t): New type.
24192         (gl_cond_t): Use it.
24193         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
24194         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
24195         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
24196         (glthread_cond_init_func, glthread_cond_wait_func,
24197         glthread_cond_timedwait_func, glthread_cond_signal_func,
24198         glthread_cond_broadcast_func, glthread_cond_destroy_func):
24199         Reimplemented on the basis of gl_linked_waitqueue_t.
24200         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
24201         gl_waitqueue_t.
24202         (gl_rwlock_t): Update.
24203         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
24204
24205 2008-10-17  Simon Josefsson  <simon@josefsson.org>
24206
24207         * modules/recvfrom (Depends-on): Add dependency on getpeername.
24208         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
24209
24210 2008-10-17  Jim Meyering  <meyering@redhat.com>
24211
24212         ignore-value: new module
24213         * modules/ignore-value: New file.
24214         * lib/ignore-value.h: New file.
24215         * MODULES.html.sh (Compiler warning management): New section,
24216         just for this module.  More to come.
24217
24218 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
24219
24220         open-safer.c: avoid 'signed and unsigned in conditional...' warning
24221         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
24222         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
24223
24224 2008-10-16  Jim Meyering  <meyering@redhat.com>
24225
24226         openat-die.c: avoid 'no previous prototype' warning
24227         * lib/openat-die.c: Include "openat.h".
24228         Reported by Reuben Thomas <rrt@sc3d.org>.
24229
24230 2008-10-16  Simon Josefsson  <simon@josefsson.org>
24231
24232         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
24233         * lib/netdb.in.h: Fix typo.
24234         Reported by Bruno Haible  <bruno@clisp.org>
24235
24236         * lib/netdb.in.h: Include sys/socket.h for platforms without
24237         netdb.h, to get structures like hostent on MinGW.
24238         * modules/netdb (Depends-on): Add sys_socket.
24239
24240 2008-10-15  Simon Josefsson  <simon@josefsson.org>
24241
24242         * modules/netdb, modules/netdb-tests: New file.
24243         * m4/netdb_h.m4: New file.
24244         * lib/netdb.in.h: Add, currently just an empty file pending
24245         definitions.
24246         * tests/test-netdb.c: New file.
24247         * doc/posix-headers/netdb.texi: Mention that we replace it if
24248         needed.
24249         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
24250         netdb.
24251
24252 2008-10-15  Simon Josefsson  <simon@josefsson.org>
24253
24254         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
24255         with code.
24256
24257 2008-10-13  Bruno Haible  <bruno@clisp.org>
24258
24259         * lib/glthread/cond.c (glthread_cond_wait_func,
24260         glthread_cond_timedwait_func): Add a comment.
24261
24262 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
24263
24264         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
24265         * tests/test-select.c: Likewise,
24266
24267 2008-10-13  Bruno Haible  <bruno@clisp.org>
24268
24269         * lib/glthread/cond.c (glthread_cond_wait_func,
24270         glthread_cond_timedwait_func): Fix variable name.
24271         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
24272
24273 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
24274
24275         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
24276         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
24277         struct sockaddr.sa_len.
24278         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
24279
24280 2008-10-13  Simon Josefsson  <simon@josefsson.org>
24281
24282         * build-aux/pmccabe2html: Add css and css_url parameters.
24283
24284 2008-10-12  Bruno Haible  <bruno@clisp.org>
24285
24286         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
24287         calling aclx_get.
24288         Reported by Rainer Tammer <tammer@tammer.net>.
24289
24290 2008-10-12  Bruno Haible  <bruno@clisp.org>
24291
24292         Use msvcrt aware primitives for creation/termination of Win32 threads.
24293         * lib/glthread/thread.c: Include <process.h>.
24294         (glthread_create_func): Use _beginthreadex instead of CreateThread.
24295         (wrapper_func): Update signature.
24296         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
24297
24298 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
24299             Bruno Haible  <bruno@clisp.org>
24300
24301         Provide a Win32 implementation of the 'cond' module.
24302         * lib/glthread/cond.h [USE_WIN32]: New implementation.
24303         * lib/glthread/cond.c (glthread_cond_init_func,
24304         glthread_cond_wait_func, glthread_cond_timedwait_func,
24305         glthread_cond_signal_func, glthread_cond_broadcast_func,
24306         glthread_cond_destroy_func) [USE_WIN32]: New functions.
24307         * modules/cond (Dependencies): Add gettimeofday.
24308
24309 2008-10-11  Bruno Haible  <bruno@clisp.org>
24310
24311         Make sleep work on older versions of mingw.
24312         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
24313         only whether it exists.
24314         * doc/posix-functions/sleep.texi: Mention the problem with older
24315         versions of mingw.
24316
24317 2008-10-11  Bruno Haible  <bruno@clisp.org>
24318
24319         New module 'shutdown'.
24320         * modules/shutdown: New file.
24321         * lib/sys_socket.in.h (shutdown): New declaration.
24322         * lib/winsock.c (shutdown): New function.
24323         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
24324         GNULIB_SHUTDOWN.
24325         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
24326         * doc/posix-functions/shutdown.texi: Document the new module.
24327
24328 2008-10-11  Jim Meyering  <meyering@redhat.com>
24329
24330         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
24331
24332 2008-10-11  Bruno Haible  <bruno@clisp.org>
24333
24334         New module 'fclose'.
24335         * modules/fclose: New file.
24336         * lib/stdio.in.h (fclose): New declaration.
24337         * lib/fclose.c: New file.
24338         * m4/fclose.m4: New file.
24339         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
24340         REPLACE_FCLOSE.
24341         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
24342         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
24343         REPLACE_FCLOSE.
24344         * modules/close (Depends-on): fclose.
24345         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
24346
24347 2008-10-11  Bruno Haible  <bruno@clisp.org>
24348
24349         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
24350         set errno and don't call _close.
24351
24352 2008-10-10  Bruno Haible  <bruno@clisp.org>
24353
24354         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
24355         ACL, not afterwards. Fixes test failure on Cygwin.
24356
24357 2008-10-09  Ben Pfaff  <blp@gnu.org>
24358
24359         * build-aux/announce-gen: Fix gnulib version related part of usage
24360         message.  Die with a useful error message if no tarballs are
24361         found.
24362
24363 2008-10-10  Jim Meyering  <meyering@redhat.com>
24364
24365         bootstrap: use git's --depth=N option only if it's supported
24366         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
24367         recognize the --depth option.  Reported by Pádraig Brady.
24368
24369 2008-10-09  Bruno Haible  <bruno@clisp.org>
24370
24371         New module 'ioctl'.
24372         * modules/ioctl: New file.
24373         * lib/sys_socket.in.h (ioctl): Remove declaration.
24374         * lib/winsock.c: Include <sys/ioctl.h>.
24375         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
24376         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
24377         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
24378         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
24379         * doc/posix-functions/ioctl.texi: Mention the new module.
24380
24381 2008-10-09  Bruno Haible  <bruno@clisp.org>
24382
24383         New module 'sys_ioctl'.
24384         * lib/sys_ioctl.in.h: New file.
24385         * m4/sys_ioctl_h.m4: New file.
24386         * modules/sys_ioctl: New file.
24387         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
24388
24389 2008-10-09  Bruno Haible  <bruno@clisp.org>
24390
24391         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
24392         * lib/winsock.c: Include <stdarg.h>.
24393         (rpl_ioctl): Change to second argument 'int' and then varargs.
24394
24395 2008-10-09  Bruno Haible  <bruno@clisp.org>
24396
24397         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
24398         when the sys_socket module is present and the system has <winsock2.h>.
24399
24400 2008-10-09  Bruno Haible  <bruno@clisp.org>
24401
24402         * doc/posix-functions/close.texi: Mention module 'close' instead of
24403         module 'sys_socket'.
24404
24405 2008-10-09  Bruno Haible  <bruno@clisp.org>
24406
24407         * doc/glibc-headers/sys_ioctl.texi: New file.
24408         * doc/gnulib.texi: Include it.
24409
24410 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
24411             Bruno Haible  <bruno@clisp.org>
24412
24413         Combine the two replacements of 'close'.
24414         * lib/sys_socket.in.h (close): Define to a reminder to include
24415         <unistd.h>.
24416         (_gl_close_fd_maybe_socket): New declaration.
24417         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
24418         * lib/winsock.c (close): Remove undefinition.
24419         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
24420         needed for the gnulib module 'close'.
24421         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
24422         define to an error symbol or to a warning, if suitable.
24423         * lib/close.c: Include <sys/socket.h>.
24424         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
24425         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
24426         UNISTD_H_HAVE_WINSOCK2_H.
24427         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
24428         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24429         UNISTD_H_HAVE_WINSOCK2_H.
24430         * modules/sys_socket (Files): Add m4/unistd_h.m4.
24431         (configure.ac): Set a module indicator.
24432         (Makefile.am): Substitute GNULIB_CLOSE.
24433         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
24434         * modules/poll-tests (Depends-on): Add close.
24435         * modules/select-tests (Depends-on): Likewise.
24436
24437 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
24438             Bruno Haible  <bruno@clisp.org>
24439
24440         New module 'close'.
24441         * modules/close: New file.
24442         * lib/unistd.in.h (close): Move declaration out of the
24443         FCHDIR_REPLACEMENT scope.
24444         (_gl_unregister_fd): New declaration.
24445         * lib/close.c: New file.
24446         * lib/fchdir.c (rpl_close): Remove function.
24447         * m4/close.m4: New file.
24448         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
24449         close.
24450         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
24451         REPLACE_CLOSE.
24452         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
24453         REPLACE_CLOSE.
24454         * modules/fchdir (Depends-on): Add close.
24455
24456 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
24457             Bruno Haible  <bruno@clisp.org>
24458
24459         * lib/fcntl.in.h (open): Simplify conditionals.
24460         (_gl_register_fd): New declaration.
24461         * lib/fchdir.c (rpl_open): Remove function.
24462         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
24463         also.
24464         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
24465         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
24466         open.
24467
24468 2008-10-09  Jim Meyering  <meyering@redhat.com>
24469
24470         GNUmakefile: use the more name-space-friendly "_version"
24471         * top/GNUmakefile (_dummy): Update.
24472         (_version): Rename from "version".
24473
24474 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
24475             Bruno Haible  <bruno@clisp.org>
24476
24477         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
24478         rpl_close.
24479         (_gl_register_fd): New function, extracted from rpl_open.
24480         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
24481         (rpl_open, rpl_opendir): Use _gl_register_fd.
24482
24483 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
24484
24485         Fix organization of 'open' replacement.
24486         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
24487         (gl_FUNC_OPEN): Use it.
24488         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
24489
24490 2008-10-08  Bruno Haible  <bruno@clisp.org>
24491
24492         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
24493
24494 2008-10-08  Simon Josefsson  <simon@josefsson.org>
24495
24496         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
24497         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
24498         listen).
24499
24500 2008-10-08  Eric Blake  <ebb9@byu.net>
24501
24502         GNUmakefile: add 'make version' target
24503         * top/GNUmakefile (_curr-ver): Split version update rules...
24504         (version): ...into a target.
24505
24506 2008-10-07  Bruno Haible  <bruno@clisp.org>
24507
24508         Use a more portable replacement expression for -0.0L.
24509         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
24510         instead of -0.0L. Fix m4 quotation.
24511
24512         * tests/test-signbit.c: Include <float.h>.
24513         (minus_zero): New variable.
24514         (test_signbitl): Use minus_zero instead of -zero.
24515         * modules/signbit-tests (Depends-on): Add float.
24516
24517         * tests/test-ceill.c: Include <float.h>.
24518         (zero): Remove variable.
24519         (minus_zero): New variable.
24520         (main): Use minus_zero instead of -zero.
24521         * modules/ceill-tests (Depends-on): Add float.
24522
24523         * tests/test-floorl.c: Include <float.h>.
24524         (zero): Remove variable.
24525         (minus_zero): New variable.
24526         (main): Use minus_zero instead of -zero.
24527         * modules/floorl-tests (Depends-on): Add float.
24528
24529         * tests/test-roundl.c: Include <float.h>.
24530         (zero): Remove variable.
24531         (minus_zero): New variable.
24532         (main): Use minus_zero instead of -zero.
24533         * modules/roundl-tests (Depends-on): Add float.
24534
24535         * tests/test-truncl.c: Include <float.h>.
24536         (zero): Remove variable.
24537         (minus_zero): New variable.
24538         (main): Use minus_zero instead of -zero.
24539         * modules/truncl-tests (Depends-on): Add float.
24540
24541         * tests/test-frexpl.c (zero): Remove variable.
24542         (minus_zero): New variable.
24543         (main): Use minus_zero instead of -zero.
24544         * modules/frexpl-tests (Depends-on): Add float.
24545
24546         * tests/test-isnan.c (zerol): Remove variable.
24547         (minus_zerol): New variable.
24548         (test_long_double): Use minus_zerol instead of -zerol.
24549         * modules/isnan-tests (Depends-on): Add float.
24550
24551         * tests/test-isnanl.h (zero): Remove variable.
24552         (minus_zero): New variable.
24553         (main): Use minus_zero instead of -zero.
24554         * modules/isnanl-nolibm-tests (Depends-on): Add float.
24555         * modules/isnanl-tests (Depends-on): Add float.
24556
24557         * tests/test-ldexpl.c (zero): Remove variable.
24558         (minus_zero): New variable.
24559         (main): Use minus_zero instead of -zero.
24560         * modules/ldexpl-tests (Depends-on): Add float.
24561
24562         * tests/test-snprintf-posix.h (zerol): Remove variable.
24563         (minus_zerol): New variable.
24564         (test_function): Use minus_zerol instead of -zerol.
24565         * modules/snprintf-posix-tests (Depends-on): Add float.
24566         * modules/vsnprintf-posix-tests (Depends-on): Add float.
24567
24568         * tests/test-sprintf-posix.h (zerol): Remove variable.
24569         (minus_zerol): New variable.
24570         (test_function): Use minus_zerol instead of -zerol.
24571         * modules/sprintf-posix-tests (Depends-on): Add float.
24572         * modules/vsprintf-posix-tests (Depends-on): Add float.
24573
24574         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
24575         (minus_zerol): New variable.
24576         (test_function): Use minus_zerol instead of -zerol.
24577         * modules/vasnprintf-posix-tests (Depends-on): Add float.
24578
24579         * tests/test-vasprintf-posix.c (zerol): Remove variable.
24580         (minus_zerol): New variable.
24581         (test_function): Use minus_zerol instead of -zerol.
24582         * modules/vasprintf-posix-tests (Depends-on): Add float.
24583
24584 2008-10-07  Simon Josefsson  <simon@josefsson.org>
24585
24586         * MODULES.html.sh (Support for building documentation): Mention
24587         pmccabe2html.  Sort entries.
24588
24589         Add pmccabe2html module, from gnupdf.
24590         * build-aux/pmccabe.css: New file.
24591         * build-aux/pmccabe2html: New file.
24592         * m4/pmccabe2html.m4: New file.
24593         * modules/pmccabe2html: New file.
24594
24595 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
24596
24597         flock: new module
24598         * MODULES.html.sh: Add to list of modules.
24599         * lib/flock.c: flock implementation for Windows and Unix systems
24600         which have fcntl.
24601         * doc/glibc-functions/flock.texi: Update documentation.
24602         * lib/sys_file.in.h: <sys/file.h> header file.
24603         * m4/flock.m4: M4 macros.
24604         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
24605         * modules/flock: flock module.
24606         * modules/flock-tests: flock tests module.
24607         * modules/sys_file: sys/file.h module.
24608         * tests/test-flock.c: test suite for flock.
24609
24610 2008-10-06  Jim Meyering  <meyering@redhat.com>
24611
24612         bootstrap: check for LT_INIT more portably still ;-)
24613         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
24614         Spotted by Bruno Haible.
24615
24616 2008-10-06  Eric Blake  <ebb9@byu.net>
24617
24618         test-signbit: avoid tripping Irix cc bug on -0.0L
24619         * tests/test-signbit.c (minus_zerol): Delete, and replace with
24620         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
24621         entire testsuite consistent and avoids an Irix 6.2 bug.
24622
24623 2008-10-05  Bruno Haible  <bruno@clisp.org>
24624             Jim Meyering  <jim@meyering.net>
24625
24626         Add an option for ignoring EPIPE during close_stdout.
24627         * lib/closeout.h: Include <stdbool.h>.
24628         (close_stdout_set_ignore_EPIPE): New declaration.
24629         * lib/closeout.c: Include <stdbool.h>.
24630         (ignore_EPIPE): New variable.
24631         (close_stdout_set_ignore_EPIPE): New function.
24632         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
24633         * lib/close-stream.c (close_stream): Mention the possible EPIPE
24634         failure.
24635         * modules/closeout (Depends-on): Add stdbool.
24636
24637 2008-10-05  Bruno Haible  <bruno@clisp.org>
24638
24639         * modules/accept: New file.
24640         * modules/bind: New file.
24641         * modules/connect: New file.
24642         * modules/getpeername: New file.
24643         * modules/getsockname: New file.
24644         * modules/getsockopt: New file.
24645         * modules/listen: New file.
24646         * modules/recv: New file.
24647         * modules/recvfrom: New file.
24648         * modules/send: New file.
24649         * modules/sendto: New file.
24650         * modules/setsockopt: New file.
24651         * modules/socket: New file.
24652         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
24653         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
24654         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
24655         the particular module is requested. Add a link warning when the
24656         particular module is not requested.
24657         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
24658         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
24659         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
24660         the particular module is requested.
24661         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
24662         gl_SYS_SOCKET_H_DEFAULTS): New macros.
24663         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
24664         * modules/sys_socket (Depends-on): Add link-warning.
24665         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
24666         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
24667         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
24668         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
24669         GL_LINK_WARNING.
24670         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
24671         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
24672         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
24673         * doc/posix-functions/getpeername.texi: Mention the new module
24674         'getpeername'.
24675         * doc/posix-functions/getsockname.texi: Mention the new module
24676         'getsockname'.
24677         * doc/posix-functions/getsockopt.texi: Mention the new module
24678         'getsockopt'.
24679         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
24680         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
24681         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
24682         * doc/posix-functions/send.texi: Mention the new module 'send'.
24683         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
24684         * doc/posix-functions/setsockopt.texi: Mention the new module
24685         'setsockopt'.
24686         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
24687         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
24688         listen, connect, accept.
24689         * modules/select-tests (Depends-on): Likewise.
24690
24691 2008-10-05  Bruno Haible  <bruno@clisp.org>
24692
24693         * lib/winsock.c (strerror): Remove unused #undef.
24694         (rpl_close): Remove unused local variable.
24695
24696         * modules/sys_socket (Depends-on); Add errno.
24697
24698 2008-10-05  Bruno Haible  <bruno@clisp.org>
24699
24700         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
24701         (select): Add a link warning when the 'select' module is not used.
24702         * modules/sys_select (Depends-on): Add link-warning.
24703         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
24704         Suggested by Paolo Bonzini.
24705
24706 2008-10-05  Jim Meyering  <meyering@redhat.com>
24707
24708         bootstrap: check for LT_INIT more portably
24709         * build-aux/bootstrap: Avoid using grep -E, since it's not
24710         portable enough.  Suggestion from Bruno Haible.
24711
24712 2008-10-05  Bruno Haible  <bruno@clisp.org>
24713
24714         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
24715         as being fixed by gnulib.
24716
24717 2008-10-05  Bruno Haible  <bruno@clisp.org>
24718
24719         * modules/select-tests: New file, mostly copied from
24720         modules/sys_select-tests.
24721         * tests/test-select.c: New file, mostly copied from
24722         tests/test-sys_select.c.
24723         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
24724         * modules/sys_select-tests (Depends-on): Remove all dependencies.
24725         (Makefile.am): Remove test_sys_select_LDADD.
24726
24727         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
24728         to an undefined symbol, for an error message.
24729         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
24730         (gl_SYS_SELECT_H_DEFAULTS): New macro.
24731         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
24732         winsock-select.c here.
24733         * modules/sys_select (Files): Remove lib/winsock-select.c.
24734         (Depends-on): Remove alloca.
24735         (Makefile.am): Substitute GNULIB_SELECT.
24736         * modules/select: New file.
24737         * doc/posix-functions/select.texi: Update.
24738
24739 2008-10-05  Bruno Haible  <bruno@clisp.org>
24740
24741         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
24742         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
24743         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
24744         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
24745         getdtablesize.
24746         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
24747         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
24748
24749 2008-10-05  Bruno Haible  <bruno@clisp.org>
24750
24751         * modules/getdtablesize-tests: New file.
24752         * tests/test-getdtablesize.c: New file.
24753
24754         New module 'getdtablesize'.
24755         * lib/unistd.in.h (getdtablesize): New declaration.
24756         * lib/getdtablesize.c: New file.
24757         * m4/getdtablesize.m4: New file.
24758         * modules/getdtablesize: New file.
24759         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24760         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
24761         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
24762         HAVE_GETDTABLESIZE.
24763         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
24764
24765 2008-10-05  Bruno Haible  <bruno@clisp.org>
24766
24767         * modules/sched (Makefile.am): Fix typo.
24768         Reported by Simon Josefsson.
24769
24770 2008-10-05  Jim Meyering  <meyering@redhat.com>
24771
24772         bootstrap: check for LT_INIT, too
24773         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
24774         are deprecated.  Suggestion from Ralf Wildenhues.
24775
24776 2008-10-05  Bruno Haible  <bruno@clisp.org>
24777
24778         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
24779         overriding them by ours.
24780         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
24781
24782 2008-10-05  Jim Meyering  <meyering@redhat.com>
24783
24784         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
24785         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
24786         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
24787
24788 2008-10-04  Bruno Haible  <bruno@clisp.org>
24789
24790         * modules/dup2 (License): Change to LGPLv2+.
24791         * modules/sleep (License): Likewise.
24792         * modules/perror (License): Likewise.
24793         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
24794         Blake.
24795         * modules/signal (License): Likewise.
24796         * modules/sigprocmask (License): Likewise.
24797         * modules/raise (License): Change to LGPLv2+, with approval by Jim
24798         Meyering.
24799
24800 2008-10-04  Bruno Haible  <bruno@clisp.org>
24801
24802         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
24803         Reported by Rainer Tammer <tammer@tammer.net>.
24804
24805 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
24806             Bruno Haible  <bruno@clisp.org>
24807
24808         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
24809         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
24810         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
24811
24812 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
24813
24814         filevercmp: new module
24815         * lib/filevercmp.h: New function filevercmp comparing version strings.
24816         * lib/filevercmp.c: Implementation of filevercmp function.
24817         * modules/filevercmp: Module metadata.
24818         * tests/test-filevercmp.c: Unit test for new module.
24819         * modules/filevercmp-tests: Unit test metadata.
24820         * MODULES.html.sh: Add filevercmp module.
24821
24822 2008-10-03  Bruno Haible  <bruno@clisp.org>
24823
24824         * lib/c-ctype.h: Add comment.
24825         Reported by Jim Meyering.
24826
24827 2008-10-02  Bruno Haible  <bruno@clisp.org>
24828
24829         * modules/posix_spawn-internal (Depends-on): Add 'open'.
24830
24831 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
24832
24833         * build-aux/bootstrap: Allow renaming bootstrap, and change the
24834         name of bootstrap.conf accordingly.
24835
24836 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
24837
24838         * build-aux/bootstrap: Install git-merge-changelog configuration
24839         items into .gitconfig if needed.
24840
24841 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
24842
24843         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
24844         git repository, and initialize/update it accordingly.
24845
24846 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
24847
24848         * modules/fsync-tests: New file.
24849         * tests/test-fsync.c: New file.
24850
24851         New module 'fsync'.
24852         * lib/fsync.c: New file.
24853         * m4/fsync.m4: New file.
24854         * modules/fsync: New file.
24855         * lib/unistd.in.h (fsync): New declaration.
24856         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
24857         GNULIB_FSYNC and HAVE_FSYNC.
24858         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
24859         * MODULES.html.sh (posix_functions): Add fsync.
24860         * doc/posix-functions/fsync.texi: Mention the new module.
24861
24862 2008-10-02  Jim Meyering  <meyering@redhat.com>
24863
24864         fts.c: sync with similar code from coreutils' remove.c
24865         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
24866         Guard also with "#if defined __linux__", since for now at least,
24867         this code is Linux-kernel-specific.
24868
24869 2008-10-02  Jim Meyering  <meyering@redhat.com>
24870
24871         fts: bug fixes
24872         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
24873         Include <sys/vfs.h>, not <sys/statfs.h>.
24874
24875         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
24876         Include <sys/vfs.h>, not <sys/statfs.h>.
24877
24878 2008-10-01  Bruno Haible  <bruno@clisp.org>
24879
24880         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
24881         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
24882         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
24883         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
24884         * doc/posix-functions/posix_spawnp.texi: Likewise.
24885         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
24886         whether posix_spawn actually works.
24887         * m4/pipe.m4 (gl_PIPE): Likewise.
24888         * modules/execute (Files): Add m4/posix_spawn.m4.
24889         * modules/pipe (Files): Add m4/posix_spawn.m4.
24890         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
24891
24892 2008-10-01  Jim Meyering  <meyering@redhat.com>
24893
24894         remove trailing spaces
24895         * NEWS: Likewise.
24896         * lib/poll.c (poll): Likewise.
24897         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
24898         * lib/winsock.c (rpl_close): Likewise.
24899         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
24900         * modules/yield: Likewise.
24901         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
24902         * tests/test-sys_select.c (connect_to_socket): Likewise.
24903
24904         fts.c: adjust a new interface to be more generally useful
24905         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
24906         (fts_build): Adjust caller.
24907
24908 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24909
24910         * modules/cond-tests: New file.
24911         * tests/test-cond.c: New file.
24912
24913 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24914             Bruno Haible  <bruno@clisp.org>
24915
24916         * modules/cond (Dependencies): Add errno, time.
24917         * lib/glthread/cond.h: Include <time.h>.
24918         (gl_cond_define, gl_cond_define_initialized): Use the same definition
24919         across platforms.
24920
24921 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24922             Bruno Haible  <bruno@clisp.org>
24923
24924         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
24925
24926 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24927             Bruno Haible  <bruno@clisp.org>
24928
24929         * modules/tls-tests (Depends-on): Add thread, yield.
24930         (configure.ac): Remove all checks.
24931         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
24932         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
24933         gl_thread_self): Remove definitions. Include glthread/thread.h and
24934         glthread/yield.h instead.
24935         (test_tls): Pass an additional NULL argument to gl_thread_join.
24936
24937 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24938             Bruno Haible  <bruno@clisp.org>
24939
24940         * modules/lock-tests (Depends-on): Add thread, yield.
24941         (configure.ac): Remove all checks.
24942         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
24943         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
24944         gl_thread_self): Remove definitions. Include glthread/thread.h and
24945         glthread/yield.h instead.
24946         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
24947         additional NULL argument to gl_thread_join.
24948
24949 2008-09-30  Bruno Haible  <bruno@clisp.org>
24950
24951         Fix the Win32 implementation of the 'thread' module.
24952         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
24953         pointer type.
24954         (gl_thread_self): Invoke gl_thread_self_func.
24955         (gl_thread_self_func): New declaration.
24956         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
24957         (do_init_self_key, init_self_key): New functions.
24958         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
24959         Remove some fields.
24960         (running_threads, running_lock): Remove variables.
24961         (get_current_thread_handle): New function.
24962         (gl_thread_self_func, wrapper_func, glthread_create_func,
24963         glthread_join_func, gl_thread_exit_func): Largely rewritten and
24964         simplified.
24965
24966 2008-09-30  Bruno Haible  <bruno@clisp.org>
24967
24968         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
24969         files.
24970
24971 2008-09-30  Jim Meyering  <meyering@redhat.com>
24972
24973         fts.m4: correct the test for statfs.f_type
24974         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
24975         when checking for statfs.f_type.
24976
24977 2008-09-15  Simon Josefsson  <simon@josefsson.org>
24978
24979         tests: avoid some compiler warnings
24980         * tests/test-memchr.c (main): Pass NULL indirectly.
24981         * tests/test-getdate.c (main): Remove unused variable 'ret'.
24982
24983 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
24984
24985         getdate.y: disallow countable dayshifts like "4 yesterday ago"
24986         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
24987         exactly specified dayshifts.
24988         (dayshift): New rule.
24989         (rel): Add dayshift.
24990         (relative_time_table) [tomorrow, yesterday, today, now]:
24991         Use tDAY_SHIFT in place of tDAY_UNIT.
24992         * tests/test-getdate.c: Add tests for now-disallowed countable
24993         dayshifts, e.g., "4 yesterday ago".
24994
24995 2008-09-29  Bruno Haible  <bruno@clisp.org>
24996
24997         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
24998         * tests/test-posix_spawn1.in.sh: Renamed from
24999         tests/test-posix_spawn.in.sh.
25000         * tests/test-posix_spawn2.c: New file.
25001         * tests/test-posix_spawn2.in.sh: New file.
25002         * modules/posix_spawnp-tests (Files): Update.
25003         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
25004
25005 2008-09-29  Bruno Haible  <bruno@clisp.org>
25006
25007         Propagate effects of putenv/setenv/unsetenv to child processes.
25008         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
25009         * lib/pipe.c (create_pipe): Likewise.
25010
25011 2008-09-29  Bruno Haible  <bruno@clisp.org>
25012
25013         Enable use of shell scripts as executables in mingw.
25014         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
25015         run the program as a shell script.
25016         * lib/pipe.c (create_pipe): Likewise.
25017         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
25018         resulting array.
25019
25020 2008-09-29  Eric Blake  <ebb9@byu.net>
25021
25022         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
25023
25024 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
25025
25026         * doc/posix-functions/accept.texi: Update mingw problems.
25027         * doc/posix-functions/bind.texi: Update mingw problems.
25028         * doc/posix-functions/close.texi: Update mingw problems.
25029         * doc/posix-functions/connect.texi: Update mingw problems.
25030         * doc/posix-functions/getpeername.texi: Update mingw problems.
25031         * doc/posix-functions/getsockname.texi: Update mingw problems.
25032         * doc/posix-functions/getsockopt.texi: Update mingw problems.
25033         * doc/posix-functions/ioctl.texi: Update mingw problems.
25034         * doc/posix-functions/listen.texi: Update mingw problems.
25035         * doc/posix-functions/recv.texi: Update mingw problems.
25036         * doc/posix-functions/recvfrom.texi: Update mingw problems.
25037         * doc/posix-functions/select.texi: Update mingw problems.
25038         * doc/posix-functions/send.texi: Update mingw problems.
25039         * doc/posix-functions/sendto.texi: Update mingw problems.
25040         * doc/posix-functions/setsockopt.texi: Update mingw problems.
25041         * doc/posix-functions/socket.texi: Update mingw problems.
25042
25043 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
25044             Bruno Haible  <bruno@clisp.org>
25045
25046         * lib/sys_select.in.h: Include sys/time.h.
25047         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
25048         * modules/sys_select: Depend on sys_time.
25049         * tests/test-sys_select.c: Test that sys/select.h defines struct
25050         timeval fully.
25051
25052 2008-09-29  Bruno Haible  <bruno@clisp.org>
25053
25054         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
25055         * lib/sys_select.in.h: Likewise.
25056
25057 2008-09-29  Bruno Haible  <bruno@clisp.org>
25058
25059         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
25060
25061 2008-09-29  Bruno Haible  <bruno@clisp.org>
25062
25063         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
25064         Set LIBSOCKET instead of augmenting LIBS.
25065         * modules/sockets (Link): New section.
25066         * modules/sockets-tests (test_sockets_LDADD): New variable.
25067         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
25068         * modules/poll-tests (test_poll_LDADD): New variable.
25069         * NEWS: Document the change.
25070
25071 2008-09-29  Bruno Haible  <bruno@clisp.org>
25072
25073         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
25074         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
25075         ARPA_INET_H directly.
25076         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
25077
25078 2008-09-28  Bruno Haible  <bruno@clisp.org>
25079
25080         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
25081         from gl_HEADER_SYS_SOCKET.
25082         (gl_HEADER_SYS_SOCKET): Invoke it.
25083         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
25084
25085 2008-09-28  Bruno Haible  <bruno@clisp.org>
25086
25087         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
25088         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
25089         Needed on OSF/1 4.0.
25090
25091 2008-09-28  Bruno Haible  <bruno@clisp.org>
25092
25093         Override open more carefully.
25094         * lib/open.c (orig_open): New function.
25095         (rpl_open): Use orig_open instead of open.
25096         * lib/fcntl.in.h: Add special invocation convention.
25097         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
25098         (gl_FUNC_OPEN): Invoke it.
25099
25100         Override freopen more carefully.
25101         * lib/freopen.c (orig_freopen): New function.
25102         (rpl_freopen): Use orig_freopen instead of freopen.
25103         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
25104         (gl_FUNC_FREOPEN): Invoke it.
25105
25106         Override fopen more carefully.
25107         * lib/fopen.c (orig_fopen): New function.
25108         (rpl_fopen): Use orig_fopen instead of fopen.
25109         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
25110         (gl_FUNC_FOPEN): Invoke it.
25111         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
25112
25113 2008-09-28  Bruno Haible  <bruno@clisp.org>
25114
25115         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
25116         SIGPIPE.
25117
25118 2008-09-28  Bruno Haible  <bruno@clisp.org>
25119
25120         * tests/test-sigaction.c (handler, main): Disable the check whether
25121         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
25122         glibc systems with LinuxThreads.
25123
25124 2008-09-28  Bruno Haible  <bruno@clisp.org>
25125
25126         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
25127
25128         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
25129         with AIX xlc.
25130         * lib/fcntl.in.h (open): Likewise.
25131         Reported by Rainer Tammer <tammer@tammer.net>.
25132
25133 2008-09-28  Bruno Haible  <bruno@clisp.org>
25134
25135         * modules/posix_spawnp-tests: New file.
25136         * tests/test-posix_spawn.c: New file.
25137         * tests/test-posix_spawn.in.sh: New file.
25138
25139         New module 'posix_spawnp'.
25140         * modules/posix_spawnp: New file.
25141         * lib/spawnp.c: New file, from GNU libc with modifications.
25142         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
25143
25144         New module 'posix_spawn'.
25145         * modules/posix_spawn: New file.
25146         * lib/spawn.c: New file, from GNU libc with modifications.
25147         * doc/posix-functions/posix_spawn.texi: Mention the new module.
25148
25149         New module 'posix_spawnattr_destroy'.
25150         * modules/posix_spawnattr_destroy: New file.
25151         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
25152         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
25153         module.
25154
25155         New module 'posix_spawnattr_setsigmask'.
25156         * modules/posix_spawnattr_setsigmask: New file.
25157         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
25158         modifications.
25159         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
25160         new module.
25161
25162         New module 'posix_spawnattr_getsigmask'.
25163         * modules/posix_spawnattr_getsigmask: New file.
25164         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
25165         modifications.
25166         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
25167         new module.
25168
25169         New module 'posix_spawnattr_setsigdefault'.
25170         * modules/posix_spawnattr_setsigdefault: New file.
25171         * lib/spawnattr_setdefault.c: New file, from GNU libc with
25172         modifications.
25173         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
25174         new module.
25175
25176         New module 'posix_spawnattr_getsigdefault'.
25177         * modules/posix_spawnattr_getsigdefault: New file.
25178         * lib/spawnattr_getdefault.c: New file, from GNU libc with
25179         modifications.
25180         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
25181         new module.
25182
25183         New module 'posix_spawnattr_setschedpolicy'.
25184         * modules/posix_spawnattr_setschedpolicy: New file.
25185         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
25186         modifications.
25187         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
25188         new module.
25189
25190         New module 'posix_spawnattr_getschedpolicy'.
25191         * modules/posix_spawnattr_getschedpolicy: New file.
25192         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
25193         modifications.
25194         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
25195         new module.
25196
25197         New module 'posix_spawnattr_setschedparam'.
25198         * modules/posix_spawnattr_setschedparam: New file.
25199         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
25200         modifications.
25201         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
25202         new module.
25203
25204         New module 'posix_spawnattr_getschedparam'.
25205         * modules/posix_spawnattr_getschedparam: New file.
25206         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
25207         modifications.
25208         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
25209         new module.
25210
25211         New module 'posix_spawnattr_setpgroup'.
25212         * modules/posix_spawnattr_setpgroup: New file.
25213         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
25214         modifications.
25215         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
25216         module.
25217
25218         New module 'posix_spawnattr_getpgroup'.
25219         * modules/posix_spawnattr_getpgroup: New file.
25220         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
25221         modifications.
25222         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
25223         module.
25224
25225         New module 'posix_spawnattr_setflags'.
25226         * modules/posix_spawnattr_setflags: New file.
25227         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
25228         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
25229         module.
25230
25231         New module 'posix_spawnattr_getflags'.
25232         * modules/posix_spawnattr_getflags: New file.
25233         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
25234         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
25235         module.
25236
25237         New module 'posix_spawnattr_init'.
25238         * modules/posix_spawnattr_init: New file.
25239         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
25240         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
25241         module.
25242
25243         New module 'posix_spawn_file_actions_destroy'.
25244         * modules/posix_spawn_file_actions_destroy: New file.
25245         * lib/spawn_faction_destroy.c: New file, from GNU libc with
25246         modifications.
25247         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
25248         the new module.
25249
25250         New module 'posix_spawn_file_actions_addopen'.
25251         * modules/posix_spawn_file_actions_addopen: New file.
25252         * lib/spawn_faction_addopen.c: New file, from GNU libc with
25253         modifications.
25254         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
25255         the new module.
25256
25257         New module 'posix_spawn_file_actions_adddup2'.
25258         * modules/posix_spawn_file_actions_adddup2: New file.
25259         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
25260         modifications.
25261         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
25262         the new module.
25263
25264         New module 'posix_spawn_file_actions_addclose'.
25265         * modules/posix_spawn_file_actions_addclose: New file.
25266         * lib/spawn_faction_addclose.c: New file, from GNU libc with
25267         modifications.
25268         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
25269         the new module.
25270
25271         New module 'posix_spawn_file_actions_init'.
25272         * modules/posix_spawn_file_actions_init: New file.
25273         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
25274         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
25275         new module.
25276
25277         New module 'posix_spawn-internal'.
25278         * modules/posix_spawn-internal: New file.
25279         * lib/spawn_int.h: New file, from GNU libc with modifications.
25280         * lib/spawni.c: New file, from GNU libc with modifications.
25281         * m4/posix_spawn.m4: New file.
25282
25283         New module 'spawn'.
25284         * modules/spawn: New file.
25285         * lib/spawn.in.h: New file, from GNU libc with modifications.
25286         * m4/spawn_h.m4: New file.
25287         * doc/posix-headers/spawn.texi: Mention the new module.
25288
25289 2008-09-28  Bruno Haible  <bruno@clisp.org>
25290
25291         * modules/sched-tests: New file.
25292         * tests/test-sched.c: New file.
25293
25294         New module 'sched'.
25295         * modules/sched: New file.
25296         * lib/sched.in.h: New file.
25297         * m4/sched_h.m4: New file.
25298         * doc/posix-headers/sched.texi: Mention the new module.
25299
25300 2008-09-27  Eric Blake  <ebb9@byu.net>
25301
25302         Fix previous patch, and tweak references to $0.
25303         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
25304         (func_version, func_gnulib_dir): Don't call this program
25305         gnulib-tool.
25306         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
25307         with using $0 in function.
25308         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
25309         (func_fatal_error): Reuse the name the user invoked us with.
25310
25311 2008-09-27  Bruno Haible  <bruno@clisp.org>
25312
25313         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
25314         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
25315         (gl_ICONV_H): Not here.
25316         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
25317         instead of assigning ICONV_H directly.
25318
25319         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
25320         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
25321         WCHAR_H directly.
25322
25323 2008-09-27  Bruno Haible  <bruno@clisp.org>
25324
25325         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
25326         * modules/arpa_inet (Depends-on): Add link-warning.
25327         (Makefile.am): Insert the definition of GL_LINK-WARNING.
25328         * modules/unistd (Makefile.am): Likewise.
25329
25330 2008-09-26  Bruno Haible  <bruno@clisp.org>
25331
25332         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
25333         variables.
25334         (func_version): Essentially copied from gnulib-tool.
25335         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
25336         func_readlink): Copied from gnulib-tool.
25337
25338 2008-09-26  Bruno Haible  <bruno@clisp.org>
25339
25340         * gnulib-tool (func_version): Change directory to $gnulib_dir before
25341         invoking git-version-gen.
25342
25343 2008-09-26  Bruno Haible  <bruno@clisp.org>
25344
25345         * posix-modules: Update to directory names changed on 2008-01-19.
25346         Remove commas in output before splitting into words. No more need to
25347         avoid 'ftruncate' since 2007-02-19.
25348
25349 2008-09-26  Bruno Haible  <bruno@clisp.org>
25350
25351         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
25352
25353 2008-09-26  Bruno Haible  <bruno@clisp.org>
25354
25355         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
25356         * modules/fwriteerror (Depends-on): Add errno.
25357
25358 2008-09-26  Bruno Haible  <bruno@clisp.org>
25359
25360         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
25361         * tests/test-vc-list-files-cvs.sh: Likewise.
25362
25363 2008-09-26  Bruno Haible  <bruno@clisp.org>
25364
25365         * doc/posix-headers/sys_resource.texi: Reorder items.
25366
25367 2008-09-26  Jim Meyering  <meyering@redhat.com>
25368
25369         fts: tweak inode comparison function
25370         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
25371         inode numbers, as documented.
25372
25373         fts: sort dirent entries on inode number before traversing
25374         This avoids a quadratic, seek-related performance penalty when
25375         operating on a directory containing many entries (measurable at 10k;
25376         3.5 hours at 2 million entries with a cold cache) on certain types
25377         of file systems, including ext3 and ext4, but not tmpfs.
25378         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
25379         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
25380         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
25381         (fs_handles_readdir_ordered_dirents_efficiently): New function.
25382         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
25383         (fts_build): Set the stat.st_ino member from D_INO.
25384         If it is likely to be useful, sort dirent entries on inode number.
25385
25386         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
25387         and the struct statfs.f_type member.
25388         * modules/fts (Depends-on): Add d-ino.
25389
25390 2008-09-26  Bruno Haible  <bruno@clisp.org>
25391
25392         * modules/sigpipe-die (Depends-on): Add sigpipe.
25393
25394         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
25395         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
25396         and GNULIB_STDIO_H_SIGPIPE are set.
25397         * lib/stdio-write.c: New file.
25398         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
25399         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
25400         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
25401         REPLACE_STDIO_WRITE_FUNCS.
25402         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
25403         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
25404         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
25405         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
25406         * modules/stdio (Files): Add lib/stdio-write.c.
25407         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
25408         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
25409         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
25410         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
25411         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
25412         REPLACE_FPRINTF_POSIX.
25413         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
25414         REPLACE_PRINTF_POSIX.
25415         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
25416         REPLACE_VFPRINTF_POSIX.
25417         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
25418         REPLACE_VPRINTF_POSIX.
25419         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
25420         SIGPIPE issue.
25421         * doc/posix-functions/fputc.texi: Likewise.
25422         * doc/posix-functions/fputs.texi: Likewise.
25423         * doc/posix-functions/fwrite.texi: Likewise.
25424         * doc/posix-functions/printf.texi: Likewise.
25425         * doc/posix-functions/putc.texi: Likewise.
25426         * doc/posix-functions/putchar.texi: Likewise.
25427         * doc/posix-functions/puts.texi: Likewise.
25428         * doc/posix-functions/vfprintf.texi: Likewise.
25429         * doc/posix-functions/vprintf.texi: Likewise.
25430
25431         * modules/safe-write (Depends-on): Add write.
25432
25433         * modules/sigpipe-tests: New file.
25434         * tests/test-sigpipe.c: New file.
25435         * tests/test-sigpipe.sh: New file.
25436
25437         * modules/write: New file.
25438         * lib/unistd.in.h: Include <sys/types.h>.
25439         (write): New declaration.
25440         * lib/write.c: New file.
25441         * m4/write.m4: New file.
25442         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25443         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
25444         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
25445         GNULIB_WRITE, REPLACE_WRITE.
25446         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
25447         and the SIGPIPE issue.
25448
25449         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
25450         (raise): New declaration.
25451         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
25452         (ext_signal): New function.
25453         (rpl_raise): New function.
25454         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
25455         GNULIB_SIGNAL_H_SIGPIPE.
25456         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
25457         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
25458
25459         * modules/sigpipe: New file.
25460         * m4/sigpipe.m4: New file.
25461
25462 2008-09-25  Derek Price  <derek@ximbiot.com>
25463             Bruno Haible  <bruno@clisp.org>
25464
25465         * gnulib-tool (func_import): Report all license incompatibilities, not
25466         just the first one.
25467
25468 2008-09-25  Bruno Haible  <bruno@clisp.org>
25469
25470         * gnulib-tool (func_import): When computing the edits, consider not
25471         only the Makefile.ams that exist but also those that will be generated.
25472
25473 2008-09-25  Simon Josefsson  <simon@josefsson.org>
25474
25475         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
25476         fixes gnulib-tool --test warning about duplicate dependency.
25477
25478 2008-09-25  Bruno Haible  <bruno@clisp.org>
25479
25480         * gnulib-tool: Don't ask the user to perform edits in the generated
25481         Makefile.ams.
25482         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
25483         apply to the Makefile.am being generated.
25484         (func_emit_tests_Makefile_am): Execute edits that apply to the
25485         Makefile.am being generated.
25486         (func_import): Setup list of Makefile.am edits before emitting the
25487         Makefile.ams, not at the end.
25488         (func_create_testdir): Update.
25489         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
25490
25491 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25492
25493         * gnulib-tool (func_import): Store the --tests-base option in the
25494         comment in gnulib-cache.m4.
25495
25496 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
25497
25498         * NEWS: Document increased portability that sys_select now provides.
25499
25500         * lib/sys_select.in.h: Install select wrapper.
25501         * lib/sys_socket.in.h: Use more descriptive name when there is no
25502         select wrapper.
25503         * lib/winsock-select.c: New.
25504         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
25505         Require gl_HEADER_SYS_SOCKET.
25506         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
25507         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
25508         * tests/test-sys_select.c: Add functional tests.
25509
25510 2008-09-24  Eric Blake  <ebb9@byu.net>
25511
25512         open, fopen: close fd leak in last patch
25513         * lib/open.c (rpl_open): Close fd before returning error.
25514         * lib/fopen.c (rpl_fopen): Close fd before returning error.
25515         * doc/posix-functions/open.texi (open): Document that Irix also
25516         has the bug.
25517         * doc/posix-functions/fopen.texi (fopen): Likewise.
25518         Reported by Paolo Bonzini.
25519
25520 2008-09-24  Bruno Haible  <bruno@clisp.org>
25521
25522         Ensure that a filename ending in a slash cannot be used to access a
25523         non-directory.
25524         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
25525         to check whether it's really a directory.
25526         * lib/fopen.c: Include fcntl.h, unistd.h.
25527         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
25528         and fdopen().
25529         * modules/fopen (Depends-on): Add unistd.
25530         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
25531         * tests/test-fopen.c (main): Likewise.
25532         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
25533         * doc/posix-functions/fopen.texi: Likewise.
25534         Reported by Eric Blake.
25535
25536 2008-09-23  Eric Blake  <ebb9@byu.net>
25537
25538         c-stack: avoid compiler optimizations when provoking overflow
25539         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
25540         recursion harder to optimize, to ensure a stack overflow occurs.
25541         * tests/test-c-stack.c (recurse): Likewise.
25542         Borrowed from libsigsegv.
25543
25544         c-stack: work around Irix sigaltstack bug
25545         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
25546         whether sigaltstack uses wrong end of stack_t (copied in part from
25547         libsigsegv).
25548         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
25549         Irix bug, without requiring an over-allocation.
25550         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
25551         bug.
25552
25553         fopen: document mingw bug on directories
25554         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
25555         not allowing a stream visiting a directory, even though reading
25556         from such a stream is not portable.
25557
25558 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
25559
25560         * lib/poll.c: Rewrite.
25561         * modules/poll: Depend on alloca.
25562
25563 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
25564
25565         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
25566         instead define prototypes for a full set of wrappers.  Ensure
25567         that Cygwin does not use the compatibility code, which is only
25568         for MinGW.
25569         * lib/winsock.c: New.
25570         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
25571         * modules/sys_socket: Add lib/winsock.c.
25572
25573         * modules/poll-tests: Add errno and perror.
25574         * tests/test-poll.c: Use ioctl, not ioctlsocket.
25575
25576 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
25577
25578         * tests/test-poll.c: Downgrade minimum needed Winsock version.
25579
25580 2008-09-23  Bruno Haible  <bruno@clisp.org>
25581
25582         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
25583         * doc/glibc-functions/*: Likewise.
25584
25585 2008-09-23  Simon Josefsson  <simon@josefsson.org>
25586
25587         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
25588         success.
25589
25590 2008-09-22  Eric Blake  <ebb9@byu.net>
25591             Bruno Haible  <bruno@clisp.org>
25592
25593         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
25594         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
25595         supply %A but mishandle pseudo-NaN.
25596         Reported by Simon Josefsson.
25597
25598 2008-09-21  Bruno Haible  <bruno@clisp.org>
25599
25600         * tests/test-lock.c (main): Tweak skip message.
25601         * tests/test-tls.c (main): Likewise.
25602
25603 2008-09-21  Bruno Haible  <bruno@clisp.org>
25604
25605         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
25606         whether 'struct sigaction' has sa_sigaction here...
25607         (gl_PREREQ_SIG_HANDLER_H): ... not here.
25608         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
25609
25610 2008-09-21  Bruno Haible  <bruno@clisp.org>
25611
25612         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
25613         section.
25614         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
25615         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
25616         the new section.
25617         (Support for obsolete systems lacking POSIX:2001): New section.
25618         (String handling <string.h>): Move strdup to the new section.
25619         Suggested by Simon Josefsson and Paolo Bonzini.
25620
25621 2008-09-21  Bruno Haible  <bruno@clisp.org>
25622
25623         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
25624         exponents in %e and %g results on 'long double'. Needed for mingw's
25625         improved *printf functions.
25626         * tests/test-vasprintf-posix.c (test_function): Likewise.
25627         * tests/test-snprintf-posix.h (test_function): Likewise.
25628         * tests/test-sprintf-posix.h (test_function): Likewise.
25629         Reported by Eric Blake.
25630
25631 2008-09-21  Bruno Haible  <bruno@clisp.org>
25632
25633         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
25634         * tests/test-sprintf-posix.h (test_function): Likewise.
25635
25636 2008-09-21  Bruno Haible  <bruno@clisp.org>
25637
25638         * modules/getpass (Depends-on): Add strdup-posix.
25639
25640         New module 'strdup-posix'.
25641         * modules/strdup-posix: New file.
25642         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
25643         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
25644         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
25645         REPLACE_STRDUP.
25646         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
25647         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
25648         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
25649         strdup-posix.
25650
25651         * modules/strdup (Depends-on): Remove malloc-posix.
25652
25653 2008-09-20  Bruno Haible  <bruno@clisp.org>
25654
25655         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
25656         Wildenhues.
25657
25658 2008-09-20  Bruno Haible  <bruno@clisp.org>
25659
25660         Ensure that wint_t gets defined on IRIX 5.3.
25661         * lib/wchar.in.h (wint_t): Define if not defined by the system.
25662         * lib/wctype.in.h (wint_t): Likewise.
25663         (__wctype_wint_t): Remove type.
25664         (isw*): Use wint_t instead of __wctype_wint_t.
25665         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
25666         * modules/wchar (Files): Add m4/wint_t.m4.
25667         (Makefile.am): Substitute HAVE_WINT_T.
25668         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
25669         * tests/test-wctype.c: Check that wint_t is defined.
25670         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
25671         * doc/posix-headers/wctype.texi: Likewise.
25672         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25673
25674 2008-09-18  Bruno Haible  <bruno@clisp.org>
25675
25676         * gnulib-tool (func_exit): Update comment.
25677
25678 2008-09-18  Simon Josefsson  <simon@josefsson.org>
25679
25680         * modules/getaddrinfo (Depends-on): Remove strdup, this module
25681         assumes strdup exists and does not depend on strdup to return
25682         ENOMEM on out of memory conditions.
25683
25684 2008-09-18  Bruno Haible  <bruno@clisp.org>
25685
25686         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
25687         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
25688         digits for the exponent.
25689
25690 2008-09-18  Jim Meyering  <meyering@redhat.com>
25691             Bruno Haible  <bruno@clisp.org>
25692
25693         * lib/vasnprintf.c (decimal_point_char): Define also if
25694         NEED_PRINTF_INFINITE_LONG_DOUBLE.
25695
25696 2008-09-16  Bruno Haible  <bruno@clisp.org>
25697         and Eric Blake  <ebb9@byu.net>
25698
25699         vasnprintf: support Irix 5.3
25700         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
25701         that mishandle long double infinity.
25702         Reported by Tom G. Christensen.
25703
25704 2008-09-16  Bruno Haible  <bruno@clisp.org>
25705
25706         * doc/glibc-functions/scandir.texi: Mention the function is missing on
25707         Solaris 9.
25708         * doc/glibc-functions/alphasort.texi: Likewise.
25709         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
25710
25711 2008-09-16  Jim Meyering  <meyering@redhat.com>
25712
25713         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
25714         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
25715         a umask modification leak out of a subshell.  Otherwise, the
25716         opensolaris /bin/sh would be accepted and thus cause unwarranted
25717         failures in the coreutils test suite.
25718
25719 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
25720
25721         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
25722         to succeed.
25723
25724 2008-09-16  Jim Meyering  <meyering@redhat.com>
25725
25726         avoid spurious test failure when library is built without ACL support
25727         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
25728         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
25729         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
25730         * tests/test-copy-acl.sh: Likewise.
25731
25732 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25733
25734         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
25735         based on character occurrence counts.
25736
25737 2008-09-15  Eric Blake  <ebb9@byu.net>
25738
25739         tests: avoid some compiler warnings
25740         * tests/test-memchr.c (main): Pass NULL indirectly.
25741         * tests/test-closein.c (main): Avoid unused variable.
25742
25743 2008-09-15  Bruno Haible  <bruno@clisp.org>
25744
25745         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
25746         are missing on OpenBSD 4.0 individually.
25747         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
25748
25749 2008-09-15  Bruno Haible  <bruno@clisp.org>
25750
25751         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
25752         * doc/posix-functions/strerror.texi: Mention also Cygwin.
25753         * doc/posix-functions/perror.texi: Likewise.
25754         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
25755         is missing.
25756         Reported by Eric Blake.
25757
25758         * lib/errno.in.h: Use replacement values >= 2000.
25759         Reported by Eric Blake.
25760
25761 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25762
25763         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
25764         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
25765         limit.
25766         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
25767         compareseq was aborted.
25768
25769 2008-09-14  Bruno Haible  <bruno@clisp.org>
25770
25771         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
25772         yvec_edit_count.
25773         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
25774         (fstrcmp_bounded): Simplify result computation accordingly.
25775
25776 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25777
25778         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
25779         (fstrcmp): Define in terms of fstrcmp_bounded.
25780         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
25781         lower_bound argument.
25782         Return quickly if the result is certainly < lower_bound.
25783         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
25784
25785 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25786
25787         * lib/diffseq.h (EARLY_ABORT): New macro.
25788         (compareseq): Change return type to bool. Return true when EARLY_ABORT
25789         evaluates to true.
25790
25791 2008-09-14  Bruno Haible  <bruno@clisp.org>
25792
25793         * modules/perror-tests: New file.
25794         * tests/test-perror.sh: New file.
25795         * tests/test-perror.c: New file.
25796
25797         New module 'perror'.
25798         * lib/stdio.in.h (perror): New declaration.
25799         * lib/perror.c: New file.
25800         * m4/perror.m4: New file.
25801         * modules/perror: New file.
25802         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
25803         * doc/posix-functions/perror.texi: Mention the perror module.
25804         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
25805         REPLACE_PERROR.
25806         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
25807         REPLACE_PERROR.
25808
25809 2008-09-14  Bruno Haible  <bruno@clisp.org>
25810
25811         * modules/stdio (Makefile.am): Reorder to match the order in
25812         lib/stdio.in.h.
25813         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
25814
25815 2008-09-13  Bruno Haible  <bruno@clisp.org>
25816
25817         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
25818
25819 2008-09-13  Bruno Haible  <bruno@clisp.org>
25820
25821         Extend strerror to cover the added errno values.
25822         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
25823         (rpl_strerror): Provide error messages for the added errno values and
25824         for the WSA* values.
25825         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
25826         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
25827         strerror.
25828         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
25829         * modules/strerror (Depends-on): Add errno.
25830         * doc/posix-functions/strerror.texi: Document the change.
25831         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
25832         and EOVERFLOW.
25833
25834 2008-09-13  Bruno Haible  <bruno@clisp.org>
25835
25836         * modules/EOVERFLOW: Remove file.
25837         * m4/eoverflow.m4: Remove file.
25838         * modules/EOVERFLOW-tests: Remove file.
25839         * tests/test-EOVERFLOW.c: Remove file.
25840         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
25841         * modules/ftell (Depends-on): Likewise.
25842         * modules/getdelim (Depends-on): Likewise.
25843         * modules/getugroups (Depends-on): Likewise.
25844         * modules/poll (Depends-on): Likewise.
25845         * modules/snprintf (Depends-on): Likewise.
25846         * modules/sprintf-posix (Depends-on): Likewise.
25847         * modules/vasnprintf (Depends-on): Likewise.
25848         * modules/vasprintf (Depends-on): Likewise.
25849         * modules/vfprintf-posix (Depends-on): Likewise.
25850         * modules/vsnprintf (Depends-on): Likewise.
25851         * modules/vsprintf-posix (Depends-on): Likewise.
25852         * modules/xvasprintf (Depends-on): Likewise.
25853         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
25854         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
25855         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
25856         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
25857         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
25858         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
25859         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
25860         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
25861         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
25862         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
25863         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
25864         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
25865         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
25866         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
25867         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
25868         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
25869         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
25870         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
25871         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
25872         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
25873         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
25874         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
25875         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
25876         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
25877         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
25878         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
25879         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
25880         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
25881         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
25882         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
25883         * MODULES.html.sh: Remove EOVERFLOW.
25884         * NEWS: Mention the change.
25885
25886 2008-09-13  Bruno Haible  <bruno@clisp.org>
25887
25888         * modules/errno-tests: New file.
25889         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
25890
25891         * lib/errno.in.h: New file.
25892         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
25893         * modules/errno: New file.
25894         * doc/posix-headers/errno.texi: Update documentation.
25895         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
25896
25897 2008-09-13  Bruno Haible  <bruno@clisp.org>
25898
25899         * tests/test-poll.c: Use #if for native Windows, rather than testing
25900         __MSVCRT__.
25901
25902 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25903             Bruno Haible  <bruno@clisp.org>
25904
25905         * lib/glob.c: Don't include <pwd.h> on native Windows.
25906         (WINDOWS32): New macro.
25907         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
25908
25909 2008-09-13  Bruno Haible  <bruno@clisp.org>
25910
25911         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
25912         (ETIMEDOUT): Remove macro.
25913         (glthread_cond_timedwait_multithreaded): New declaration.
25914         (glthread_cond_timedwait): Use it.
25915         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
25916         (glthread_cond_timedwait_multithreaded): New function.
25917
25918 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
25919
25920         * modules/poll-tests: Do not check for io.h.
25921         * tests/test-poll.c: Check for __MSVCRT__ instead.
25922
25923 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
25924
25925         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
25926         * modules/poll-tests: Add inet_pton, stdbool, sockets.
25927         * tests/test-poll.c: Use them.  Use _pipe on Windows.
25928
25929 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
25930
25931         * modules/poll-tests: New.
25932         * tests/test-poll.c: New.
25933
25934 2008-09-12  Eric Blake  <ebb9@byu.net>
25935
25936         frexp: test for NetBSD failure on -0.0
25937         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
25938         not all, bugs from NetBSD 3.0 have been fixed.
25939         * doc/posix-functions/frexp.texi (frexp): Document bug.
25940         Reported by Thomas Klausner.
25941
25942         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
25943         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
25944         literal -0.0.
25945         Reported by Jonathan C. Patschke <jp@centtech.com>.
25946
25947 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25948
25949         * lib/glthread/cond.h: Use dummy implementation also if
25950         USE_WIN32_THREADS.
25951
25952 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25953
25954         * modules/fnmatch-posix (License): Change to LGPLv2+.
25955         * modules/fnmatch-gnu (License): Likewise.
25956
25957 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25958
25959         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
25960
25961 2008-09-11  Jim Meyering  <meyering@redhat.com>
25962
25963         * users.txt: Add gtk-vnc.
25964
25965 2008-09-08  Simon Josefsson  <simon@josefsson.org>
25966
25967         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
25968         rotate amounts.
25969
25970         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
25971         required for 16-bit and 8-bit rotates.
25972         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
25973         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
25974         UINT8_MAX instead of hard-coded constants.
25975         Suggested by Paul Eggert.
25976
25977 2008-09-07  Bruno Haible  <bruno@clisp.org>
25978
25979         * tests/test-striconveh.c (main): Check behaviour when converting from
25980         UTF-7.
25981
25982         Make striconveh work better with stateful encodings.
25983         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
25984         that iconv does not increment the inptr when returning -1/EINVAL.
25985
25986 2008-09-07  Bruno Haible  <bruno@clisp.org>
25987
25988         * build-aux/config.rpath: Update according to libtool-2.2.6.
25989         * build-aux/config.libpath: Likewise.
25990
25991 2008-09-06  Bruno Haible  <bruno@clisp.org>
25992
25993         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
25994         * lib/freadptr.c (freadptr): Likewise.
25995         * lib/freadseek.c (freadptrinc): Likewise.
25996         Reported by Simon Josefsson.
25997
25998 2008-09-06  Bruno Haible  <bruno@clisp.org>
25999
26000         * modules/freadptr (License): Change to LGPLv2+.
26001         * modules/freadseek (License): Likewise.
26002         Suggested by Eric Blake.
26003
26004         * modules/memchr2 (License): Change to LGPLv2+.
26005         Approved by Eric Blake.
26006
26007 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26008             Bruno Haible  <bruno@clisp.org>
26009
26010         Make gnulib-tool work with native 'sed' on AIX.
26011         * gnulib-tool (sed_noop): New variable.
26012         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
26013         func_add_or_update, func_create_testdir): Use it to initialize sed
26014         script variables.
26015         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
26016
26017 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
26018             Bruno Haible  <bruno@clisp.org>
26019
26020         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
26021         also works after #include directives.
26022
26023 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
26024
26025         getdate.y: reject an out-of-range timezone value
26026         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
26027         the range [-24...+24].  When specified with only one or two digits,
26028         * tests/test-getdate.c: Tests for the fix.
26029         * doc/getdate.texi: Document this change.
26030
26031 2008-09-03  Bruno Haible  <bruno@clisp.org>
26032
26033         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
26034
26035 2008-09-02  Simon Josefsson  <simon@josefsson.org>
26036
26037         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
26038         <bruce.korb@gmail.com> with ideas from Ben Pfaff
26039         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
26040         Blake <ebb9@byu.net>.
26041
26042         * tests/test-bitrotate.c: Add more test vectors.
26043
26044 2008-09-02  Eric Blake  <ebb9@byu.net>
26045
26046         vasnprintf-posix: handle large precision via %.*d
26047         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
26048         when handling it ourselves.
26049         * tests/test-vasnprintf-posix.c (test_function): Add test.
26050         * tests/test-snprintf-posix.h (test_function): Likewise.
26051         * tests/test-sprintf-posix.h (test_function): Likewise.
26052         * tests/test-vasprintf-posix.c (test_function): Likewise.
26053         Reported by Alain Guibert.
26054
26055 2008-09-01  Eric Blake  <ebb9@byu.net>
26056
26057         c-stack: make configure-time check more robust
26058         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
26059         successful sigaction call.
26060         Reported by Tom G. Christensen.
26061
26062 2008-09-01  Bruno Haible  <bruno@clisp.org>
26063
26064         New module 'findprog-lgpl'.
26065         * modules/findprog-lgpl: New file.
26066         * lib/findprog-lgpl.c: New file.
26067         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
26068         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
26069         to decide whether to use strdup or xstrdup, concatenated_filename or
26070         xconcatenated_filename.
26071
26072 2008-09-01  Bruno Haible  <bruno@clisp.org>
26073
26074         Split module 'concat-filename' into 'concat-filename' (LGPL) and
26075         'xconcat-filename' (GPL).
26076         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
26077         (License): Change to LGPLv2+.
26078         * modules/xconcat-filename: New file.
26079         * lib/concat-filename.h (concatenated_filename): Change specification.
26080         (xconcatenated_filename): New declaration.
26081         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
26082         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
26083         memory situations.
26084         * lib/xconcat-filename.c: New file.
26085         * NEWS: Mention the change.
26086         * lib/findprog.c: Include concat-filename.h, not filename.h.
26087         (find_in_path): Use xconcatenated_filename instead of
26088         concatenated_filename.
26089         * lib/javacomp.c: Include concat-filename.h, not filename.h.
26090         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
26091         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
26092         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
26093         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
26094         instead of concatenated_filename.
26095         * lib/javaexec.c: Include concat-filename.h, not filename.h.
26096         (execute_java_class): Use xconcatenated_filename instead of
26097         concatenated_filename.
26098         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
26099         * modules/javacomp (Depends-on): Likewise.
26100         * modules/javaexec (Depends-on): Likewise.
26101
26102 2008-09-01  Bruno Haible  <bruno@clisp.org>
26103
26104         Split module 'filename' into 'filename' and 'concat-filename'.
26105         * modules/filename: Keep only lib/filename.h.
26106         (License): Change to LGPLv2+.
26107         * modules/concat-filename: New file, extracted from modules/filename.
26108         * lib/filename.h (concatenated_filename): Remove declaration.
26109         * lib/concat-filename.h: New file, extracted from lib/filename.h.
26110         * lib/concat-filename.c: Include concat-filename.h.
26111         * NEWS: Mention the change.
26112
26113 2008-09-01  Simon Josefsson  <simon@josefsson.org>
26114
26115         * lib/bitrotate.h (rotl8, rotr8): Add.
26116
26117         * modules/bitrotate (configure.ac): Need
26118         AC_REQUIRE([AC_C_INLINE]).
26119         (Description): Mention stdint.h.  Reported by Bruno Haible
26120         <bruno@clisp.org>.
26121
26122         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
26123         Paolo Bonzini <bonzini@gnu.org>.
26124
26125 2008-08-31  Bruno Haible  <bruno@clisp.org>
26126
26127         Assume Solaris specific bi-arch conventions on Solaris systems.
26128         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
26129         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
26130         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
26131         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
26132         like acl_libdirstem.
26133         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
26134         acl_libdirstem.
26135         * NEWS: Mention the change.
26136         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
26137
26138 2008-08-31  Jim Meyering  <meyering@redhat.com>
26139
26140         * lib/strftime.h: Add comments describing the two added arguments.
26141
26142         remove duplicate #include directives
26143         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
26144         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
26145
26146 2008-08-31  Bruno Haible  <bruno@clisp.org>
26147
26148         New module 'sigpipe-die'.
26149         * modules/sigpipe-die: New file.
26150         * lib/sigpipe-die.h: New file.
26151         * lib/sigpipe-die.c: New file.
26152         * MODULES.html.sh (Signal handling): Add sigpipe-die.
26153
26154 2008-08-31  Bruno Haible  <bruno@clisp.org>
26155
26156         Don't override previously installed signal handlers.
26157         * lib/fatal-signal.c (saved_sigactions): New variable.
26158         (uninstall_handlers): Reset the signal to the saved handler, not
26159         to SIG_DFL (except when ignored).
26160         (install_handlers): Save the previous handlers.
26161
26162 2008-08-30  Bruno Haible  <bruno@clisp.org>
26163
26164         * gnulib-tool (func_reset_sigpipe): New function.
26165         (func_get_automake_snippet, func_modules_transitive_closure,
26166         func_import): Invoke it before a join command that reads from stdin,
26167         to avoid "echo: write error: Broken pipe" error messages on stderr.
26168         Reported by Sam Steingold <sds@gnu.org>.
26169
26170 2008-08-30  Bruno Haible  <bruno@clisp.org>
26171
26172         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
26173         Code copied from m4/open.m4.
26174         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
26175         access and the filename ends in a slash. Code copied from lib/open.c.
26176         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
26177         * tests/test-fopen.c (main): Check against bug with trailing slash.
26178
26179 2008-08-29  Bruno Haible  <bruno@clisp.org>
26180
26181         Avoid some "gcc -pedantic" warnings.
26182         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
26183         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
26184         * lib/dirent.in.h: Likewise.
26185         * lib/fcntl.in.h: Likewise.
26186         * lib/float.in.h: Likewise.
26187         * lib/iconv.in.h: Likewise.
26188         * lib/inttypes.in.h: Likewise.
26189         * lib/locale.in.h: Likewise.
26190         * lib/math.in.h: Likewise.
26191         * lib/netinet_in.in.h: Likewise.
26192         * lib/search.in.h: Likewise.
26193         * lib/signal.in.h: Likewise.
26194         * lib/stdarg.in.h: Likewise.
26195         * lib/stdint.in.h: Likewise.
26196         * lib/stdio.in.h: Likewise.
26197         * lib/stdlib.in.h: Likewise.
26198         * lib/string.in.h: Likewise.
26199         * lib/strings.in.h: Likewise.
26200         * lib/sys_select.in.h: Likewise.
26201         * lib/sys_socket.in.h: Likewise.
26202         * lib/sys_stat.in.h: Likewise.
26203         * lib/sys_time.in.h: Likewise.
26204         * lib/sysexits.in.h: Likewise.
26205         * lib/time.in.h: Likewise.
26206         * lib/unistd.in.h: Likewise.
26207         * lib/wchar.in.h: Likewise.
26208         * lib/wctype.in.h: Likewise.
26209         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
26210         * modules/fchdir (Makefile.am): Likewise.
26211         * modules/fcntl (Makefile.am): Likewise.
26212         * modules/float (Makefile.am): Likewise.
26213         * modules/iconv_open (Makefile.am): Likewise.
26214         * modules/inttypes (Makefile.am): Likewise.
26215         * modules/locale (Makefile.am): Likewise.
26216         * modules/math (Makefile.am): Likewise.
26217         * modules/netinet_in (Makefile.am): Likewise.
26218         * modules/search (Makefile.am): Likewise.
26219         * modules/signal (Makefile.am): Likewise.
26220         * modules/stdarg (Makefile.am): Likewise.
26221         * modules/stdint (Makefile.am): Likewise.
26222         * modules/stdio (Makefile.am): Likewise.
26223         * modules/stdlib (Makefile.am): Likewise.
26224         * modules/string (Makefile.am): Likewise.
26225         * modules/strings (Makefile.am): Likewise.
26226         * modules/sys_select (Makefile.am): Likewise.
26227         * modules/sys_socket (Makefile.am): Likewise.
26228         * modules/sys_stat (Makefile.am): Likewise.
26229         * modules/sys_time (Makefile.am): Likewise.
26230         * modules/sysexits (Makefile.am): Likewise.
26231         * modules/time (Makefile.am): Likewise.
26232         * modules/unistd (Makefile.am): Likewise.
26233         * modules/wchar (Makefile.am): Likewise.
26234         * modules/wctype (Makefile.am): Likewise.
26235         Reported by Reuben Thomas <rrt@sc3d.org>.
26236
26237 2008-08-29  Bruno Haible  <bruno@clisp.org>
26238
26239         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
26240         any more.
26241
26242 2008-08-29  Simon Josefsson  <simon@josefsson.org>
26243
26244         * MODULES.html.sh (Misc): Add bitrotate.
26245
26246         * modules/bitrotate: New file.
26247
26248         * lib/bitrotate.h: New file.
26249
26250         * modules/bitrotate-tests: New file.
26251
26252         * tests/test-bitrotate.c: New file.
26253
26254         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
26255         on the bitrotate module.
26256
26257         * lib/arctwo.c: Use new bitrotate module.
26258
26259 2008-08-29  Jim Meyering  <meyering@redhat.com>
26260
26261         bootstrap: merge changes from coreutils
26262         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
26263         of copied files.  Remove a kludge, now that this is fixed.
26264         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
26265         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
26266         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
26267
26268 2008-08-29  Bruno Haible  <bruno@clisp.org>
26269
26270         * MODULES.html.sh: Remove --cvs-urls option.
26271
26272 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
26273
26274         maint.mk: adjust to file name change
26275         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
26276
26277 2008-08-28  Jim Meyering  <meyering@redhat.com>
26278
26279         * modules/getndelim2 (License): Relicense to LGPLv2+.
26280         Approved by Richard Stallman for the version of 1995, and by
26281         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
26282
26283 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
26284
26285         * lib/getdelim.c (flockfile, funlockfile): Make all of them
26286         dummy if one is not available.  Do not touch them if
26287         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
26288         (getc_maybe_unlocked): New.
26289         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
26290
26291 2008-08-26  Eric Blake  <ebb9@byu.net>
26292
26293         doc/INSTALL: resync from autoconf
26294         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
26295         (INSTALL_PRELUDE): Delete; this is done more efficiently by
26296         moving...
26297         * install.texi [!autoconf]: ...here.  Resync from autoconf.
26298         * INSTALL: Regenerate.
26299         * INSTALL.ISO: New file.
26300         * INSTALL.UTF-8: Likewise.
26301
26302 2008-08-26  Jim Meyering  <meyering@redhat.com>
26303
26304         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
26305         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
26306         these definitions conditional, so that they may be overridden, too.
26307
26308 2008-08-26  Bruno Haible  <bruno@clisp.org>
26309
26310         Generate INSTALL file variants with prettier quotes.
26311         * doc/Makefile (INSTALL_PRELUDE): New macro.
26312         (INSTALL): Use it.
26313         (INSTALL.ISO, INSTALL.UTF-8): New rules.
26314
26315 2008-08-26  Bruno Haible  <bruno@clisp.org>
26316
26317         Run makeinfo in an English locale.
26318         * doc/Makefile (MAKEINFO): New variable.
26319
26320 2008-08-26  Bruno Haible  <bruno@clisp.org>
26321
26322         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
26323         Suggested by Eric Blake.
26324
26325 2008-08-25  Bruno Haible  <bruno@clisp.org>
26326
26327         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
26328
26329 2008-08-25  Eric Blake  <ebb9@byu.net>
26330
26331         c-stack: test that stack overflow can be caught
26332         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
26333         that platform allows handling stack overflow; at least OS/2 EMX
26334         has sigaltstack, but crashes before transferring control to
26335         handler on stack overflow.
26336         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
26337         check for HAVE_STACK_OVERFLOW_HANDLING.
26338         Reported by Elbert Pol.
26339
26340 2008-08-25  Bruno Haible  <bruno@clisp.org>
26341
26342         * doc/posix-functions/strftime.texi: Fix description of strftime
26343         module.
26344
26345 2008-08-24  Bruno Haible  <bruno@clisp.org>
26346
26347         * tests/uniwidth/test-uc_width2.c: New file.
26348         * tests/uniwidth/test-uc_width2.sh: New file.
26349         * modules/uniwidth/width-tests (Files): Add the new files.
26350         (TESTS): Add uniwidth/test-uc_width2.sh.
26351         (TESTS_ENVIRONMENT): New variable.
26352         (check_PROGRAMS): Add test-uc_width2.
26353         (test_uc_width2_SOURCES): New variable.
26354
26355         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
26356         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
26357         not 0x00AB.
26358         Reported by Alexander V. Lukyanov <lav@netis.ru>.
26359
26360 2008-08-22  Eric Blake  <ebb9@byu.net>
26361
26362         test-lock, test-tls: mention why a test is skipped
26363         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
26364         skipped.
26365         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
26366
26367         count-one-bits: relax license
26368         * modules/count-one-bits (License): Relicense to LGPLv2+.
26369         Suggested by Ludovic Courtès, approved by Ben Pfaff.
26370
26371 2008-08-22  Andreas Schwab  <schwab@suse.de>
26372
26373         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
26374         Remove spurious space in assignment.
26375
26376 2008-08-21  Simon Josefsson  <simon@josefsson.org>
26377
26378         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
26379         Paul Eggert <eggert@CS.UCLA.EDU>.
26380
26381 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
26382
26383         * modules/gettext: Add m4/threadlib.m4.
26384
26385 2008-08-19  Eric Blake  <ebb9@byu.net>
26386
26387         test-c-stack: fix compilation failure on FreeBSD 5.0
26388         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
26389         headers before <sys/resource.h>.
26390         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
26391         the bug.
26392         Reported by Nelson H. F. Beebe.
26393
26394         strverscmp: migrate from "strverscmp.h" to <string.h>
26395         * modules/string (Makefile.am): Add new hooks.
26396         * modules/strverscmp (Files): Remove strverscmp.h.
26397         (Depends-on): Add string.
26398         (configure.ac): Add indicator.
26399         (Include): Mention new header.
26400         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
26401         defaults.
26402         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
26403         results.
26404         * lib/strverscmp.h: Delete.
26405         * lib/string.in.h (strverscmp): Provide declaration, when needed.
26406         * tests/test-strverscmp.c (includes): Adjust client.
26407         * lib/check-version.c (includes): Likewise.
26408         * NEWS: Document the change.
26409
26410         strverscmp: add unit test
26411         * modules/strverscmp-tests: New file.
26412         * tests/test-strverscmp.c: Likewise.
26413
26414 2008-08-19  Simon Josefsson  <simon@josefsson.org>
26415
26416         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
26417         regarding Windows crypto stuff, from Mono.
26418
26419 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
26420
26421         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
26422         if present, for intel RND.  Return error on failures.
26423
26424 2008-08-18  Ben Pfaff  <blp@gnu.org>
26425
26426         gitlog-to-changelog: give better diagnostic for failed pipe-open
26427         * build-aux/gitlog-to-changelog: Improve error message: suggest
26428         that the version of Git may be too old.
26429
26430 2008-08-18  Simon Josefsson  <simon@josefsson.org>
26431
26432         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
26433         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
26434
26435 2008-08-18  Bruno Haible  <bruno@clisp.org>
26436
26437         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
26438         pthread_in_use().
26439
26440 2008-08-18  Bruno Haible  <bruno@clisp.org>
26441
26442         * lib/glthread/threadlib.c: Include <pthread.h>.
26443
26444 2008-08-18  Bruno Haible  <bruno@clisp.org>
26445
26446         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
26447         glthread_recursive_lock_* macros.
26448         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
26449         Fix syntax error.
26450
26451 2008-08-18  Bruno Haible  <bruno@clisp.org>
26452
26453         * lib/glthread/thread.c: Avoid forcing a context switch right after
26454         thread creation.
26455
26456 2008-08-17  Bruno Haible  <bruno@clisp.org>
26457
26458         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
26459         * lib/glthread/thread.h: Provide Win32 specific implementation.
26460         * modules/thread (Files): Add lib/glthread/thread.c.
26461         (Depends-on): Add lock.
26462         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
26463
26464 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
26465
26466         New module 'yield'.
26467         * modules/yield: New file.
26468         * lib/glthread/yield.h: New file.
26469         * m4/yield.m4: New file.
26470         * MODULES.html.sh (Multithreading): Add yield.
26471
26472 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
26473
26474         New module 'thread'.
26475         * modules/thread: New file.
26476         * lib/glthread/thread.h: New file.
26477         * m4/thread.m4: New file.
26478         * MODULES.html.sh (Multithreading): Add thread.
26479
26480 2008-08-17  Bruno Haible  <bruno@clisp.org>
26481
26482         * lib/glthread/lock.h: Include <stdlib.h> always.
26483         * lib/glthread/tls.h: Likewise.
26484         * lib/glthread/cond.h: Likewise.
26485
26486 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
26487
26488         New module 'cond'.
26489         * modules/cond: New file.
26490         * lib/glthread/cond.h: New file.
26491         * lib/glthread/cond.c: New file.
26492         * m4/cond.m4: New file.
26493         * MODULES.html.sh (Multithreading): Add cond.
26494
26495 2008-08-16  Eric Blake  <ebb9@byu.net>
26496
26497         c-stack: fix regression on Irix 5.3 from 2008-06-21
26498         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
26499         sa_sigaction...
26500         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
26501         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
26502         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
26503         * modules/signal (Makefile.am): Use the value.
26504         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
26505         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
26506         * doc/posix-headers/signal.texi (signal.h): Document this
26507         portability issue.
26508         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
26509         Reported by Tom G. Christensen.
26510
26511 2008-08-17  Bruno Haible  <bruno@clisp.org>
26512
26513         New module 'threadlib'.
26514         * modules/threadlib: New file.
26515         * lib/glthread/threadlib.c: New file, extracted from
26516         lib/glthread/lock.c.
26517         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
26518         functions.
26519         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
26520         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
26521         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
26522         macros.
26523         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
26524         (gl_DISABLE_THREADS): Remove macro.
26525         * modules/lock (Files): Remove build-aux/config.rpath.
26526         (Depends-on): Remove havelib. Add threadlib.
26527         (configure.ac-early): Remove section.
26528         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
26529         * modules/tls (Depends-on): Remove lock. Add threadlib.
26530         (Link): New section, copied from threadlib.
26531         * MODULES.html.sh (Multithreading): Add threadlib.
26532
26533 2008-08-14  Bruno Haible  <bruno@clisp.org>
26534
26535         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
26536         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
26537         glthread_rwlock_unlock, glthread_rwlock_destroy,
26538         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
26539         glthread_recursive_lock_destroy): Define as macros always.
26540         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
26541         glthread_lock_lock.
26542         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
26543         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
26544         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
26545         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
26546         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
26547         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
26548         (glthread_recursive_lock_lock_func): Renamed from
26549         glthread_recursive_lock_lock.
26550         (glthread_recursive_lock_unlock_func): Renamed from
26551         glthread_recursive_lock_unlock.
26552         (glthread_recursive_lock_destroy_func): Renamed from
26553         glthread_recursive_lock_destroy.
26554
26555 2008-08-14  Bruno Haible  <bruno@clisp.org>
26556
26557         * lib/glthread/lock.h: Renamed from lib/lock.h.
26558         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
26559         * lib/glthread/tls.h: Renamed from lib/tls.h.
26560         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
26561         * lib/fstrcmp.c: Update includes.
26562         * lib/strsignal.c: Update includes.
26563         * modules/lock (Files, Makefile.am): Update.
26564         (Include): Change to "glthread/lock.h".
26565         * modules/tls (Files, Makefile.am): Update.
26566         (Include): Change to "glthread/tls.h".
26567         * tests/test-lock.c: Update includes.
26568         * tests/test-tls.c: Update includes.
26569         * NEWS: Mention the renamed header files.
26570
26571 2008-08-11  Jim Meyering  <meyering@redhat.com>
26572
26573         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
26574
26575 2008-08-11  Eric Blake  <ebb9@byu.net>
26576
26577         test-c-stack: avoid C99-ism
26578         * tests/test-c-stack.c (main): Fix whitespace, move declaration
26579         before statement.
26580         Reported by Alain Guibert.
26581
26582 2008-08-10  Jim Meyering  <meyering@redhat.com>
26583
26584         ensure that return value of uinttostr et al are not ignored
26585         * lib/inttostr.h (__GNUC_PREREQ): Define.
26586         (__attribute_warn_unused_result__): Define.
26587         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
26588
26589 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
26590
26591         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
26592         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
26593
26594 2008-08-07  Jim Meyering  <meyering@redhat.com>
26595
26596         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
26597
26598         * modules/mkstemp (License): Relicense under LGPLv2+.
26599         * modules/tempname (License): Likewise.
26600
26601 2008-08-06  Bruno Haible  <bruno@clisp.org>
26602
26603         * lib/poll.c (poll): Further micro-optimization.
26604
26605 2008-08-06  Jim Meyering  <meyering@redhat.com>
26606
26607         inet_pton.c: use locale-independent tolower
26608         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
26609         (inet_pton6): Use c_tolower rather than tolower.
26610         * modules/inet_pton (Depends-on): Add c-ctype.
26611
26612 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
26613
26614         * lib/poll.c (poll): Avoid division when timeout is 0, cache
26615         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
26616
26617 2008-08-06  Jim Meyering  <meyering@redhat.com>
26618
26619         * modules/inet_pton (License): Relicense under LGPLv2+.
26620
26621 2008-08-03  Bruno Haible  <bruno@clisp.org>
26622
26623         Additional non-aborting API for lock and tls.
26624         * lib/lock.h: Include <errno.h>.
26625         (glthread_lock_init): New macro/function.
26626         (gl_lock_init): Define as wrapper around glthread_lock_init.
26627         (glthread_lock_lock): New macro/function.
26628         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
26629         (glthread_lock_unlock): New macro/function.
26630         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
26631         (glthread_lock_destroy): New macro/function.
26632         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
26633         (glthread_rwlock_init): New macro/function.
26634         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
26635         (glthread_rwlock_rdlock): New macro/function.
26636         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
26637         (glthread_rwlock_wrlock): New macro/function.
26638         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
26639         (glthread_rwlock_unlock): New macro/function.
26640         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
26641         (glthread_rwlock_destroy): New macro/function.
26642         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
26643         (glthread_recursive_lock_init): New macro/function.
26644         (gl_recursive_lock_init): Define as wrapper around
26645         glthread_recursive_lock_init.
26646         (glthread_recursive_lock_lock): New macro/function.
26647         (gl_recursive_lock_lock): Define as wrapper around
26648         glthread_recursive_lock_lock.
26649         (glthread_recursive_lock_unlock): New macro/function.
26650         (gl_recursive_lock_unlock): Define as wrapper around
26651         glthread_recursive_lock_unlock.
26652         (glthread_recursive_lock_destroy): New macro/function.
26653         (gl_recursive_lock_destroy): Define as wrapper around
26654         glthread_recursive_lock_destroy.
26655         (glthread_once): New macro/function.
26656         (gl_once): Define as wrapper around glthread_once.
26657         Update function declarations.
26658         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
26659         glthread_rwlock_init. Return error code.
26660         (glthread_rwlock_rdlock_multithreaded): Renamed from
26661         glthread_rwlock_rdlock. Return error code.
26662         (glthread_rwlock_wrlock_multithreaded): Renamed from
26663         glthread_rwlock_wrlock. Return error code.
26664         (glthread_rwlock_unlock_multithreaded): Renamed from
26665         glthread_rwlock_unlock. Return error code.
26666         (glthread_rwlock_destroy_multithreaded): Renamed from
26667         glthread_rwlock_destroy. Return error code.
26668         (glthread_recursive_lock_init_multithreaded): Renamed from
26669         glthread_recursive_lock_init. Return error code.
26670         (glthread_recursive_lock_lock_multithreaded): Renamed from
26671         glthread_recursive_lock_lock. Return error code.
26672         (glthread_recursive_lock_unlock_multithreaded): Renamed from
26673         glthread_recursive_lock_unlock. Return error code.
26674         (glthread_recursive_lock_destroy_multithreaded): Renamed from
26675         glthread_recursive_lock_destroy. Return error code.
26676         (glthread_once_call): Make static.
26677         (glthread_once_multithreaded): Renamed from glthread_once.
26678         * lib/tls.h: Include <errno.h>.
26679         (glthread_tls_key_init): New macro/function.
26680         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
26681         (glthread_tls_set): New macro/function.
26682         (gl_tls_set): Define as wrapper around glthread_tls_set.
26683         (glthread_tls_key_destroy): New macro/function.
26684         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
26685         Update function declarations.
26686         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
26687         glthread_tls_get.
26688         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
26689
26690 2008-08-04  Eric Blake  <ebb9@byu.net>
26691
26692         gnumakefile: use space, not TAB, outside of targets
26693         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
26694
26695 2008-08-02  Jim Meyering  <meyering@redhat.com>
26696
26697         getdate.y: avoid locale-dependent date parsing failure
26698         In Turkish locales, getdate would fail to recognize keywords
26699         containing a lowercase "i".  The solution is not to rely on
26700         locale-sensitive case-conversion.
26701         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
26702         (lookup_word): Use c_toupper in place of toupper.
26703         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
26704         Reported by Vefa Bicakci <bicave@superonline.com> in
26705         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
26706         * modules/getdate (Depends-on): Add c-ctype.
26707
26708 2008-08-02  Bruno Haible  <bruno@clisp.org>
26709
26710         * gnulib-tool (func_import): When updating or creating a .gitignore
26711         file, prepend each added line with a slash, and ignore leading slashes
26712         from the existing lines.
26713         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
26714
26715 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26716
26717         Portability fix for GNU make 3.79.1.
26718         * top/GNUmakefile: Avoid 'else COND', which older GNU make
26719         versions do not understand.
26720
26721 2008-08-01  Bruno Haible  <bruno@clisp.org>
26722
26723         Work around bug of HP-UX 10.20 cc with -0.0 literal.
26724         * tests/test-isnanf.h (zero): New variable.
26725         (main): Avoid literal -0.0f.
26726         * tests/test-isnand.h (zero): New variable.
26727         (main): Avoid literal -0.0.
26728         * tests/test-isnanl.h (zero): New variable.
26729         (main): Avoid literal -0.0L.
26730         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
26731         (test_float, test_double, test_long_double): Avoid literals -0.0f,
26732         -0.0, -0.0L.
26733         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
26734         (test_signbitd): Avoid literal -0.0.
26735         (test_signbitl): Avoid literal -0.0L.
26736         * tests/test-ceilf1.c (zero): New variable.
26737         (main): Avoid literal -0.0f.
26738         * tests/test-ceill.c (zero): New variable.
26739         (main): Avoid literal -0.0L.
26740         * tests/test-floorf1.c (zero): New variable.
26741         (main): Avoid literal -0.0f.
26742         * tests/test-floorl.c (zero): New variable.
26743         (main): Avoid literal -0.0L.
26744         * tests/test-roundf1.c (zero): New variable.
26745         (main): Avoid literal -0.0f.
26746         * tests/test-round1.c (zero): New variable.
26747         (main): Avoid literal -0.0.
26748         * tests/test-roundl.c (zero): New variable.
26749         (main): Avoid literal -0.0L.
26750         * tests/test-truncf1.c (zero): New variable.
26751         (main): Avoid literal -0.0f.
26752         * tests/test-trunc1.c (zero): New variable.
26753         (main): Avoid literal -0.0.
26754         * tests/test-truncl.c (zero): New variable.
26755         (main): Avoid literal -0.0L.
26756         * tests/test-frexp.c (zero): New variable.
26757         (main): Avoid literal -0.0.
26758         * tests/test-frexpl.c (zero): New variable.
26759         (main): Avoid literal -0.0L.
26760         * tests/test-ldexpl.c (zero): New variable.
26761         (main): Avoid literal -0.0L.
26762         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
26763         (zerod, zerol): New variables.
26764         (test_function): Avoid literals -0.0, -0.0L.
26765         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
26766         (zerod, zerol): New variables.
26767         (test_function): Avoid literals -0.0, -0.0L.
26768         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
26769         (zerod, zerol): New variables.
26770         (test_function): Avoid literals -0.0, -0.0L.
26771         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
26772         (zerod, zerol): New variables.
26773         (test_function): Avoid literals -0.0, -0.0L.
26774         * tests/test-strtod.c (zero): New variable.
26775         (main): Avoid literal -0.0.
26776         Reported by Jonathan C. Patschke <jp@centtech.com>.
26777
26778 2008-07-31  Jim Meyering  <meyering@redhat.com>
26779
26780         sha256.h: correct definition of SHA224_DIGEST_SIZE
26781         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
26782         Reported by Paulie Pena IV <paulie4@gmail.com>.
26783         Define as 224 / 8, rather than as a literal.
26784         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
26785         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
26786         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
26787
26788 2008-07-31  Bruno Haible  <bruno@clisp.org>
26789
26790         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
26791         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
26792         Reported by Jonathan Patschke <jp@centtech.com>.
26793
26794 2008-07-31  Bruno Haible  <bruno@clisp.org>
26795
26796         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
26797         Reported by Paolo Bonzini <bonzini@gnu.org>.
26798
26799 2008-07-30  Eric Blake  <ebb9@byu.net>
26800
26801         test-strtod: allow compilation without -lm
26802         * tests/test-strtod.c (main): Avoid link dependence on fabs.
26803         Reported by Dennis Clarke <blastwave@gmail.com>.
26804
26805 2008-07-28  Jim Meyering  <meyering@redhat.com>
26806
26807         bootstrap: work also when there are no .po files in po/
26808         * build-aux/bootstrap (update_po_files): Complete the change
26809         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
26810
26811 2008-07-27  Jim Meyering  <meyering@redhat.com>
26812
26813         * users.txt: Add zile.
26814
26815 2008-07-26  Ben Pfaff  <blp@gnu.org>
26816
26817         Add missing dependencies on new m4/exponent[fdl].m4 files.
26818         * modules/isnanf-nolibm: Add m4/exponentf.m4.
26819         * modules/isnand-nolibm: Add m4/exponentd.m4.
26820         * modules/isnanl-nolibm: Add m4/exponentl.m4.
26821         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
26822         m4/isnan[fdl].m4, because the macros actually used moved.
26823         Reported by Jim Meyering.
26824
26825 2008-07-14  Ben Pfaff  <blp@gnu.org>
26826
26827         Add isinf module.
26828         * lib/isinf.c: New file.
26829         * lib/math.in.h: Define isinf macro if we have decided to replace
26830         it.
26831         * m4/isinf.m4: New file.
26832         * m4/math_h.m4: Initialize and substitute variables for isinf
26833         module.
26834         * modules/isinf: New file.
26835         * modules/isinf-tests: New file.
26836         * modules/math: Add substitutions for new module.
26837         * tests/test-isinf.c: New file.
26838         * doc/posix-functions/isinf.texi: Mention new module.
26839         * MODULES.html.sh: Mention new module.
26840
26841 2008-07-14  Ben Pfaff  <blp@gnu.org>
26842
26843         Factor out some macros for use by additional modules.
26844         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
26845         exponentf.m4.
26846         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
26847         exponentd.m4.
26848         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
26849         file exponentl.m4.
26850         * m4/exponentf.m4: New file.
26851         * m4/exponentd.m4: New file.
26852         * m4/exponentl.m4: New file.
26853         * modules/isnanf: Use new file m4/exponentf.m4.
26854         * modules/isnand: Use new file m4/exponentd.m4.
26855         * modules/isnanl: Use new file m4/exponentl.m4.
26856
26857 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
26858
26859         mktime.c: normalize tp->tm_isdst value to -1/0/1.
26860         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
26861         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
26862         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
26863
26864         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
26865         readlink on platforms without PATH_MAX.
26866
26867 2008-07-21  Eric Blake  <ebb9@byu.net>
26868
26869         Warn, not fail, on stale version.
26870         * top/GNUmakefile (_curr-ver): Tone down previous patch.
26871
26872         Don't allow installation with stale devel version number.
26873         * top/GNUmakefile (_is-install-target): New macro.
26874         (_curr-ver): Forbid installation with stale version number.
26875
26876 2008-07-20  Bruno Haible  <bruno@clisp.org>
26877
26878         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
26879         TESTS_ENVIRONMENT.
26880         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
26881
26882 2008-07-20  Bruno Haible  <bruno@clisp.org>
26883
26884         * lib/c-stack.h (c_stack_action): Add documentation.
26885         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
26886
26887 2008-07-20  Bruno Haible  <bruno@clisp.org>
26888
26889         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
26890         * modules/readlink (License): Likewise.
26891
26892 2008-07-17  Eric Blake  <ebb9@byu.net>
26893
26894         * modules/c-stack (Link): Fix typo.
26895
26896         Make c-stack use libsigsegv, when available.
26897         * modules/c-stack (Depends-on): Add libsigsegv.
26898         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
26899         needed.
26900         * lib/c-stack.c (SIGSTKSZ): Define fallback.
26901         (segv_handler, overflow_handler, c_stack_action)
26902         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
26903         implementation when libsigsegv is available, but only when using
26904         the library is necessary.
26905         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
26906         comment, explaining why XSI check fails on Linux.
26907         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
26908         * tests/test-c-stack2.sh: Tweak skip message.
26909         * NEWS: Document new link-time requirements.
26910
26911 2008-07-16  Eric Blake  <ebb9@byu.net>
26912
26913         c-stack: Expose false positives when not using libsigsegv.
26914         * modules/c-stack-tests (Files): Expand test.
26915         * tests/test-c-stack.c (main): Add means to conditionally trigger
26916         non-overflow SIGSEGV.
26917         * tests/test-c-stack2.sh: New file.
26918
26919 2008-07-14  Bruno Haible  <bruno@clisp.org>
26920
26921         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
26922         Reported by Eric Blake.
26923
26924 2008-07-14  Sam Steingold  <sds@gnu.org>
26925             Bruno Haible  <bruno@clisp.org>
26926
26927         New module libsigsegv.
26928         * modules/libsigsegv: New file.
26929         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
26930         modifications.
26931         * MODULES.html.sh (Signal handling): New section.
26932
26933 2008-07-14  Bruno Haible  <bruno@clisp.org>
26934
26935         * modules/unictype/ctype-* (Description): Add the word "function".
26936         Improves the resulting doc in MODULES.html.
26937
26938 2008-07-12  Ben Pfaff  <blp@gnu.org>
26939
26940         Add longlong module.
26941         * modules/longlong: New file.
26942
26943 2008-07-12  Bruno Haible  <bruno@clisp.org>
26944
26945         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
26946         to empty.
26947
26948 2008-07-10  Ben Pfaff  <blp@gnu.org>
26949
26950         Add isnan module.
26951         * doc/posix-functions/isnan.texi: Mention new module.
26952         * lib/math.in.h: Define isnan macro if we have decided to replace
26953         it.
26954         * m4/isnan.m4: New file.
26955         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
26956         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
26957         also.
26958         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
26959         redundancy.
26960         * m4/math_h.m4: Initialize and substitute variables for isnan
26961         module.
26962         * modules/isnan: New file.
26963         * modules/isnan-tests: New file.
26964         * modules/math: Add substitutions for new module.
26965         * tests/test-isnan.c: New file.
26966         * MODULES.html.sh: Mention new module.
26967
26968 2008-07-10  Ben Pfaff  <blp@gnu.org>
26969
26970         Add isnanf module.
26971         * lib/isnanf.m4: New file.
26972         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
26973         (gl_HAVE_ISNANF_IN_LIBM): New macro.
26974         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
26975         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
26976         * modules/isnanf: New file.
26977         * modules/isnanf-tests: New file.
26978         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
26979         files.
26980         * tests/test-isnanf-nolibm.c: factored most of its contents into
26981         new file tests/test-isnanf.h.
26982         * tests/test-isnanf.h: New file.
26983         * tests/test-isnanf.c: New file.
26984         * MODULES.html.sh: Mention new module.
26985         * doc/glibc-functions/isnanf.texi: Mention new module.
26986
26987 2008-07-10  Ben Pfaff  <blp@gnu.org>
26988
26989         Add isnand module.
26990         * lib/isnand.h: New file.
26991         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
26992         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
26993         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
26994         functionality also.
26995         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
26996         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
26997         (gl_HAVE_ISNAND_IN_LIBM): New macro.
26998         * modules/isnand: New file.
26999         * modules/isnand-tests: New file.
27000         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
27001         files.
27002         * tests/test-isnand-nolibm.c: factored most of its contents into
27003         new file tests/test-isnand.h.
27004         * tests/test-isnand.h: New file.
27005         * tests/test-isnand.c: New file.
27006         * MODULES.html.sh: Mention new module.
27007
27008 2008-07-10  Ben Pfaff  <blp@gnu.org>
27009
27010         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
27011         * lib/isnand.h: Rename lib/isnand-nolibm.h.
27012         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
27013         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
27014         * modules/isnanf-nolibm: Update references to renamed files.
27015         * modules/isnand-nolibm: Likewise.
27016         * modules/isnanf-nolibm-tests: Likewise.
27017         * modules/isnand-nolibm-tests: Likewise.
27018         * lib/frexp.c: Likewise.
27019         * lib/isfinite.c: Likewise.
27020         * lib/signbitd.c: Likewise.
27021         * lib/signbitf.c: Likewise.
27022         * lib/vasnprintf.c: Likewise.
27023         * tests/test-ceilf1.c: Likewise.
27024         * tests/test-ceilf2.c: Likewise.
27025         * tests/test-floorf1.c: Likewise.
27026         * tests/test-floorf2.c: Likewise.
27027         * tests/test-frexp.c: Likewise.
27028         * tests/test-round1.c: Likewise.
27029         * tests/test-round2.c: Likewise.
27030         * tests/test-roundf1.c: Likewise.
27031         * tests/test-strtod.c: Likewise.
27032         * tests/test-trunc1.c: Likewise.
27033         * tests/test-trunc2.c: Likewise.
27034         * tests/test-truncf1.c: Likewise.
27035         * tests/test-truncf2.c: Likewise.
27036         * NEWS: Mention the renamed header files.
27037
27038 2008-07-11  Jim Meyering  <meyering@redhat.com>
27039
27040         vc-list-files: make the last-resort awk code more portable
27041         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
27042         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
27043         does not support it.
27044
27045 2008-07-10  Eric Blake  <ebb9@byu.net>
27046
27047         Work with tar's bootstrap.
27048         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
27049         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
27050         an m4 comment.
27051
27052 2008-07-09  Jim Meyering  <meyering@redhat.com>
27053
27054         posix-shell.m4: fix typo that made this test malfunction
27055         * m4/posix-shell.m4: Remove capitalization in variable name.
27056
27057 2008-07-08  Bruno Haible  <bruno@clisp.org>
27058
27059         * m4/onceonly.m4: Update comments.
27060         Reported by Ben Pfaff <blp@cs.stanford.edu>.
27061
27062 2008-07-04  Jim Meyering  <meyering@redhat.com>
27063
27064         * users.txt: Add vc-dwim.
27065         (bison, coreutils): Use the gitweb URL.
27066
27067 2008-07-03  Jim Meyering  <meyering@redhat.com>
27068
27069         * users.txt: Add libffcall.  From Sam Steingold.
27070
27071 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
27072
27073         getdate.y: do not ignore TZ with relative day, month or year offset
27074         * lib/getdate.y (get_date): Move the tz-handling block to follow the
27075         relative-date-handling, since otherwise, the latter would clobber the
27076         sole output (an updated Start value) of the tz-handling block.
27077         * tests/test-getdate.c: Tests for the fix
27078
27079 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27080
27081         Recognize 'foo_LIBRARIES += libgnu.a'.
27082         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
27083         makefile snippet has already specified an installation location,
27084         also using '+='.
27085
27086 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
27087
27088         getdate.y: factor out common actions
27089         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
27090         Use them in place of open-coded actions.
27091
27092 2008-07-01  Simon Josefsson  <simon@josefsson.org>
27093
27094         Add self-test for getdate module.
27095         * modules/getdate-tests: New file.
27096         * tests/test-getdate.c: New file.
27097
27098 2008-06-29  Bruno Haible  <bruno@clisp.org>
27099
27100         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
27101         .gitignore.
27102         Reported by Sylvain Beucler <beuc@beuc.net>.
27103
27104 2008-06-29  Bruno Haible  <bruno@clisp.org>
27105
27106         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
27107         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
27108
27109 2008-06-29  Bruno Haible  <bruno@clisp.org>
27110
27111         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
27112         EXTRA_DIST.
27113         Reported by Sylvain Beucler <beuc@beuc.net>.
27114
27115 2008-06-26  Jim Meyering  <meyering@redhat.com>
27116
27117         make several modules depend on the "open" module
27118         This provides slightly increased consistency when opening-for-write
27119         the name of a non-directory spelled with a trailing slash.
27120         * modules/chdir-safer: Likewise.
27121         * modules/chown: Likewise.
27122         * modules/clean-temp: Likewise.
27123         * modules/copy-file: Likewise.
27124         * modules/fchdir: Likewise.
27125         * modules/fcntl-safer: Likewise.
27126         * modules/pipe: Likewise.
27127         * modules/utime: Likewise.
27128         Prompted by Eric Blake and Bruno Haible.
27129
27130 2008-06-24  Andreas Schwab  <schwab@suse.de>
27131
27132         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
27133         literals can be used as initializers for global variables.
27134
27135 2008-06-23  Eric Blake  <ebb9@byu.net>
27136
27137         Make gnulib-cache.m4 easier to diff.
27138         * gnulib-tool (func_import): Allow newlines when reading cached
27139         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
27140
27141 2008-06-23  Bruno Haible  <bruno@clisp.org>
27142
27143         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
27144         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
27145         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
27146         m4/signalblocking.m4.
27147         (gl_PREREQ_SIGACTION): Don't invoke it.
27148         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
27149         gl_PREREQ_SIG_HANDLER_H.
27150         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
27151         Don't check for sigaction here.
27152
27153 2008-06-23  Bruno Haible  <bruno@clisp.org>
27154
27155         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
27156         (install_handlers): Don't set the SA_RESETHAND flag.
27157
27158 2008-06-23  Bruno Haible  <bruno@clisp.org>
27159
27160         * m4/sigaction.m4: Comment fixes.
27161         * lib/signal.in.h: Likewise.
27162
27163 2008-06-23  Eric Blake  <ebb9@byu.net>
27164
27165         Fix typo.
27166         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
27167
27168         Avoid SA_ namespace.
27169         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
27170         Reported by Ralf Wildenhues.
27171
27172         Avoid test failure due to SA_RESTORER.
27173         * tests/test-sigaction.c (SA_MASK): New macro.
27174         (main): Avoid failing due to extension flags being set.
27175         Reported by Jim Meyering.
27176
27177         Revert use of sig-handler.h in sigprocmask.c.
27178         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
27179         it requires the existence of struct sigaction.
27180         * lib/sigprocmask.c (handler_t): Restore typedef.
27181         (rpl_signal, old_handlers): Use local type.
27182
27183 2008-06-22  Bruno Haible  <bruno@clisp.org>
27184
27185         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
27186         conditionally.
27187         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
27188
27189 2008-06-22  Bruno Haible  <bruno@clisp.org>
27190
27191         * doc/posix-functions/siginterrupt.texi: Move note.
27192
27193         * lib/signal.in.h (SA_RESTART): New macro.
27194         * lib/sigaction.c: Update comment.
27195
27196         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
27197
27198         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
27199         (gl_PREREQ_SIGPROCMASK): Invoke it.
27200         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
27201
27202         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
27203
27204         * lib/sigprocmask.c: Update a comment.
27205
27206 2008-06-21  Eric Blake  <ebb9@byu.net>
27207
27208         Use sigaction module rather than signal().
27209         * modules/c-stack (Depends-on): Add sigaction.
27210         * modules/fatal-signal (Depends-on): Likewise.
27211         * modules/nanosleep (Depends-on): Likewise.
27212         * modules/sigprocmask (Files): Add sig-handler.h.
27213         * modules/sigaction (Files): Likewise.
27214         * lib/sig-handler.h (get_handler): New file, suggested by Paul
27215         Eggert.
27216         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
27217         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
27218         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
27219         (init_fatal_signals): Likewise.
27220         * lib/nanosleep.c (rpl_nanosleep): Likewise.
27221         (siginterrupt): Delete fallback.
27222         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
27223         instead.
27224         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
27225         siginterrupt.
27226
27227         New module sigaction, for mingw.
27228         * modules/sigaction: New module...
27229         * modules/sigaction-tests: ...and its test.
27230         * m4/sigaction.m4: New file.
27231         * lib/sigaction.c: Likewise.
27232         * tests/test-sigaction.c: Likewise.
27233         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
27234         * modules/signal (Makefile.am): Likewise.
27235         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
27236         needed.
27237         * doc/posix-headers/signal.texi (signal.h): Mention provided
27238         types.
27239         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
27240         that sigaction is preferable.
27241         * doc/posix-functions/sigaction.texi (sigaction): Mention new
27242         module.
27243         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
27244         sigaction.
27245
27246         Improve robustness of sigprocmask by overriding signal.
27247         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
27248         is in use.
27249         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
27250         (SIGKILL, SIGSTOP): Provide fallbacks.
27251         (rpl_signal): Implement.
27252         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
27253         signal can be called inside handlers.
27254
27255         Fix nanosleep module on mingw.
27256         * modules/nanosleep (Depends-on): Add sys_select.
27257         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
27258
27259         Fix licensing of sigprocmask.
27260         * modules/raise (License): Relicense as LGPL.
27261
27262 2008-06-21  Bruno Haible  <bruno@clisp.org>
27263
27264         * lib/propername.c (proper_name_utf8): Don't use the transliterated
27265         result if it contains question marks.
27266         Reported by Michael Geng <linux@michaelgeng.de>.
27267
27268 2008-06-19  Bruno Haible  <bruno@clisp.org>
27269
27270         Fix CVS-ism.
27271         * doc/gnulib.texi: Include updated-stamp.texi.
27272         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
27273         (updated-stamp.texi): New rule.
27274         (gnulib.info): Depend on it.
27275         * doc/.gitignore: Add updated-stamp.texi.
27276         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
27277
27278 2008-06-19  Bruno Haible  <bruno@clisp.org>
27279
27280         * doc/Makefile (gnulib.info): Update and simplify dependencies.
27281         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
27282
27283 2008-06-19  Eric Blake  <ebb9@byu.net>
27284
27285         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
27286         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
27287         Reported by Stepan Kasal.
27288
27289 2008-06-18  Bruno Haible  <bruno@clisp.org>
27290
27291         * lib/fatal-signal.c (init_fatal_signals): Add comment.
27292         Reported by Eric Blake.
27293
27294 2008-06-18  Eric Blake  <ebb9@byu.net>
27295
27296         Work around cygwin 1.5.25 strsignal bug.
27297         * tests/test-strsignal.c: Allow for const char *.
27298         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
27299
27300 2008-06-18  Simon Josefsson  <simon@josefsson.org>
27301
27302         * users.txt: Update URL to article and add author/date
27303         information.
27304
27305 2008-06-17  Bruno Haible  <bruno@clisp.org>
27306
27307         New macro gl_DISABLE_THREADS.
27308         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
27309         if the user did not pass --enable-threads or --disable-threads option.
27310         (gl_DISABLE_THREADS): New macro.
27311         Reported by Eric Blake <ebb9@byu.net>.
27312
27313 2008-06-17  Bruno Haible  <bruno@clisp.org>
27314
27315         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
27316         when the macro ignores it.
27317         Based on a patch by Eric Blake <ebb9@byu.net>.
27318
27319 2008-06-17  Bruno Haible  <bruno@clisp.org>
27320
27321         * modules/tls (License): Change to LGPLv2+.
27322         Reported by Eric Blake.
27323
27324 2008-06-17  Eric Blake  <ebb9@byu.net>
27325
27326         Simplify c-stack prerequisites.
27327         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
27328         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
27329         no longer requires <ucontext.h> to exist.  Optimize setrlimit
27330         check.
27331         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
27332         <sys/resource.h>.
27333
27334         Move c-stack test into testsuite.
27335         * modules/c-stack-tests: New file.
27336         * lib/c-stack.c [DEBUG]: Move test program...
27337         * tests/test-c-stack.c: ...into this new file.  Skip rather than
27338         fail test if sigaltstack is lacking.
27339         * tests/test-c-stack.sh: New driver file.
27340
27341 2008-06-16  Eric Blake  <ebb9@byu.net>
27342
27343         Use raise module consistently.
27344         * modules/fatal-signal (Depends-on): Add raise.
27345         * modules/sigprocmask (Depends-on): Likewise.
27346         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
27347         * lib/sigprocmask.c (sigprocmask): Likewise.
27348         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
27349         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
27350
27351         Fix compliance bug in sigpending.
27352         * lib/sigprocmask.c (sigpending): Return pending array via
27353         parameter, not return value.
27354
27355 2008-06-14  Eric Blake  <ebb9@byu.net>
27356
27357         Improve obstack-printf test code.
27358         * tests/test-obstack-printf.c (test_function): Fix comment, and
27359         simplify usage of obstack_* in macros.  Add a test for coverage.
27360         Reported by Bruno Haible.
27361
27362 2008-06-14  Bruno Haible  <bruno@clisp.org>
27363
27364         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
27365         array size as a constant, not as a const variable.
27366         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
27367         AC_USE_SYSTEM_EXTENSIONS.
27368         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
27369         Test whether the obstack_printf function actually exists.
27370         * modules/obstack-printf (Depends-on): Add extensions.
27371         (Include): Remove obstack.h.
27372         * modules/obstack-printf-posix (Depends-on): Add extensions.
27373         (Include): Remove obstack.h.
27374
27375 2008-06-13  Eric Blake  <ebb9@byu.net>
27376
27377         Add obstack-printf and obstack-printf-posix modules.
27378         * modules/obstack-printf: New file.
27379         * modules/obstack-printf-posix: Likewise.
27380         * MODULES.html.sh (Misc): Mention them.
27381         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
27382         Likewise.
27383         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
27384         Likewise.
27385         * modules/stdio (Makefile.am): Accomodate new modules.
27386         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
27387         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
27388         Declare.
27389         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
27390         functions.
27391         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
27392         (gl_REPLACE_OBSTACK_PRINTF): New macros
27393         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
27394         * tests/test-obstack-printf.c: New file.
27395         * modules/obstack-printf-tests: Likewise.
27396         * modules/obstack-printf-posix-tests: Likewise.
27397
27398 2008-06-11  Bruno Haible  <bruno@clisp.org>
27399
27400         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
27401         * lib/open.c: Include errno.h.
27402         (open): Fail when attempting to write to a file that has a trailing
27403         slash.
27404         * tests/test-open.c (main): Test against trailing slash bug.
27405         * doc/posix-functions/open.texi: Mention the trailing slash bug.
27406
27407 2008-06-10  Bruno Haible  <bruno@clisp.org>
27408
27409         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
27410         for $? to work inside the trap command, with various /bin/sh-s.
27411         * tests/test-vc-list-files-cvs.sh: Likewise.
27412
27413 2008-06-10  Bruno Haible  <bruno@clisp.org>
27414
27415         * lib/acl-internal.h: Don't include gettext.h here.
27416         * lib/set-mode-acl.c: Include gettext.h here.
27417         * lib/copy-acl.c: Likewise.
27418
27419 2008-06-10  Bruno Haible  <bruno@clisp.org>
27420
27421         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
27422         * lib/wait-process.c (wait_subprocess): Likewise.
27423         * lib/execute.h (execute): Add termsigp argument.
27424         * lib/execute.c (execute): Likewise.
27425         * lib/csharpcomp.c (compile_csharp_using_pnet,
27426         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
27427         * lib/csharpexec.c (execute_csharp_using_pnet,
27428         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
27429         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
27430         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
27431         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
27432         is_jikes_present): Update.
27433         * lib/javaexec.c (execute_java_class): Update.
27434         * lib/javaversion.c (execute_and_read_line): Update.
27435         * NEWS: Document the changes.
27436         Reported by Eric Blake.
27437
27438 2008-06-10  Eric Blake  <ebb9@byu.net>
27439
27440         Add missing include.
27441         * tests/test-strstr.c (includes): Add <signal.h>.
27442         * tests/test-strcasestr.c (includes): Likewise.
27443         * tests/test-memmem.c (includes): Likewise.
27444
27445 2008-06-10  Bruno Haible  <bruno@clisp.org>
27446
27447         * lib/wait-process.c (wait_subprocess): Add an assertion.
27448
27449 2008-06-10  Bruno Haible  <bruno@clisp.org>
27450
27451         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
27452
27453 2008-06-10  Bruno Haible  <bruno@clisp.org>
27454
27455         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
27456         using alarm().
27457         * tests/test-strcasestr.c (main): Likewise.
27458         * tests/test-strstr.c (main): Likewise.
27459
27460 2008-06-09  Bruno Haible  <bruno@clisp.org>
27461
27462         Work around the Solaris 10 ACE ACLs ABI change.
27463         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
27464         declare if ACL_NO_TRIVIAL is present.
27465         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
27466         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
27467         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
27468         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
27469         define if ACL_NO_TRIVIAL is present.
27470         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
27471         and use the current ABI.
27472         (file_has_acl): Use same #if condition as elsewhere.
27473         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
27474         in use, and use the current ABI.
27475         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
27476         Reported by Jim Meyering.
27477
27478 2008-06-09  Eric Blake  <ebb9@byu.net>
27479
27480         Work around environments that (stupidly) ignore SIGALRM.
27481         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
27482         before using alarm().
27483         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
27484         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
27485         Reported by Ian Beckwith <ianb@erislabs.net>.
27486
27487         Produce autobuild blurb earlier in log.
27488         * modules/autobuild (configure.ac-early): Move AB_INIT here.
27489
27490 2008-06-09  Jim Meyering  <meyering@redhat.com>
27491         and OndÅ™ej Vašík  <ovasik@redhat.com>
27492
27493         utimens.c: correct kernel bug work-around
27494         OndÅ™ej Vašík found that the invalid return value of 280 indicates
27495         failure, not success, and the kernel bug we're trying to work
27496         around affects not just the utimensat call, but also the fallback
27497         futimens call.
27498         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
27499         not success.
27500         [HAVE_FUTIMENS]: Use the same work-around, here.
27501
27502 2008-06-09  Jim Meyering  <meyering@redhat.com>
27503
27504         add more guards around definition of ACE_-related code
27505         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
27506         ALLOW and ACE_OWNER are also defined.
27507
27508 2008-06-08  Bruno Haible  <bruno@clisp.org>
27509
27510         * lib/acl-internal.h: Add me as co-author.
27511         * lib/file-has-acl.c: Likewise.
27512         * lib/set-mode-acl.c: Likewise.
27513         * lib/copy-acl.c: Likewise.
27514
27515 2008-06-08  Bruno Haible  <bruno@clisp.org>
27516
27517         Add support for AIX ACLs.
27518         * lib/acl-internal.h (acl_nontrivial): New declaration.
27519         * lib/file-has-acl.c (acl_nontrivial): New function.
27520         (file_has_acl): Add implementation using AIX 4 ACL API.
27521         * lib/set-mode-acl.c (qset_acl): Likewise.
27522         * lib/copy-acl.c (qcopy_acl): Likewise.
27523
27524 2008-06-08  Bruno Haible  <bruno@clisp.org>
27525
27526         Add support for HP-UX ACLs.
27527         * lib/acl-internal.h (acl_nontrivial): New declaration.
27528         * lib/file-has-acl.c (acl_nontrivial): New function.
27529         (file_has_acl): Add implementation using HP-UX 11 ACL API.
27530         * lib/set-mode-acl.c (qset_acl): Likewise.
27531         * lib/copy-acl.c (qcopy_acl): Likewise.
27532
27533 2008-06-08  Bruno Haible  <bruno@clisp.org>
27534
27535         Add support for Cygwin ACLs.
27536         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
27537         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
27538         the chmod_or_fchmod call.
27539         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
27540
27541 2008-06-08  Bruno Haible  <bruno@clisp.org>
27542
27543         Fix bug with setuid modes in Solaris 10+ code.
27544         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
27545         succeeded, when the mode contains some special bits.
27546
27547 2008-06-08  Bruno Haible  <bruno@clisp.org>
27548
27549         Add support for Solaris 7..10 ACLs.
27550         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
27551         declarations.
27552         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
27553         functions.
27554         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
27555         * lib/set-mode-acl.c (qset_acl): Likewise.
27556         * lib/copy-acl.c (qcopy_acl): Likewise.
27557
27558 2008-06-08  Bruno Haible  <bruno@clisp.org>
27559
27560         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
27561         declaration.
27562         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
27563         (acl_access_nontrivial): Remove MacOS X case.
27564         (file_has_acl): Use acl_extended_nontrivial.
27565         * lib/copy-acl.c (qcopy_acl): Likewise.
27566
27567 2008-06-08  Bruno Haible  <bruno@clisp.org>
27568
27569         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
27570
27571 2008-06-08  Jim Meyering  <meyering@redhat.com>
27572
27573         * modules/acl (Maintainer): Add Bruno Haible.
27574
27575 2008-06-07  Bruno Haible  <bruno@clisp.org>
27576
27577         Improve support for Tru64 ACLs.
27578         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
27579         ACL on OSF/1.
27580
27581 2008-06-07  Bruno Haible  <bruno@clisp.org>
27582
27583         Add support for MacOS X ACLs.
27584         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
27585         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
27586         * lib/set-mode-acl.c (qset_acl): Likewise.
27587         * lib/copy-acl.c (qcopy_acl): Likewise.
27588
27589 2008-06-07  Bruno Haible  <bruno@clisp.org>
27590
27591         Fix memory leak introduced on 2008-05-22.
27592         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
27593         use.
27594
27595 2008-06-07  Bruno Haible  <bruno@clisp.org>
27596
27597         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
27598         to construct an empty ACL.
27599
27600 2008-06-07  Bruno Haible  <bruno@clisp.org>
27601
27602         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
27603         precisely.
27604         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
27605
27606 2008-06-07  Bruno Haible  <bruno@clisp.org>
27607
27608         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
27609         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
27610
27611 2008-06-07  Bruno Haible  <bruno@clisp.org>
27612
27613         * doc/posix-functions/_setjmp.texi: Explain the use of this function
27614         regardless of POSIX.
27615         * doc/posix-functions/_longjmp.texi: Likewise.
27616         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
27617         SystemV platform in this case.
27618
27619 2008-06-06  Eric Blake  <ebb9@byu.net>
27620
27621         Document abort() bugs.
27622         * doc/posix-functions/abort.texi (abort): Mention anomalies.
27623
27624         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
27625         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
27626         sigsetjmp.
27627         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
27628         siglongjmp, but only as a macro.
27629         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
27630         is obsolete.
27631         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
27632
27633         Tweak documentation to cover cygwin argz bugs.
27634         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
27635         argz bug fix; no code change needed since no cygwin releases
27636         occurred between the last fix and the bug being tested.
27637         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
27638         module and recently fixed cygwin bugs.
27639         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
27640         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
27641         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
27642         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
27643         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
27644         Likewise.
27645         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
27646         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
27647         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
27648         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
27649         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
27650         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
27651         Likewise.
27652
27653         Avoid gcc warning on cygwin.
27654         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
27655         !ACL_NO_TRIVIAL]: Avoid unused variable.
27656
27657 2008-06-05  Eric Blake  <ebb9@byu.net>
27658
27659         Be tolerant of UNKNOWN version in gnulib-tool test dir.
27660         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
27661         git-version-gen fails to come up with a version.
27662         Reported by Simon Josefsson.
27663
27664 2008-06-05  Jim Meyering  <meyering@redhat.com>
27665             Paul Eggert  <eggert@cs.ucla.edu>
27666
27667         utimens.c: work around a probable Linux kernel bug
27668         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
27669         appears to be a kernel bug that causes utimensat to return 280
27670         instead of 0, indicating success.
27671
27672 2008-06-04  Bruno Haible  <bruno@clisp.org>
27673
27674         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
27675         2008-06-01 commit.
27676
27677 2008-06-04  Bruno Haible  <bruno@clisp.org>
27678
27679         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
27680         * lib/file-has-acl.c (acl_access_nontrivial): New function.
27681         (file_has_acl): Use it. Save errno afterwards.
27682         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
27683
27684 2008-06-03  Bruno Haible  <bruno@clisp.org>
27685
27686         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
27687         draft code. Simplify #ifs.
27688         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
27689         Put Solaris code after POSIX-draft code. Fix comments regarding
27690         Solaris 10, HP-UX. Mention Cygwin.
27691         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
27692
27693 2008-06-03  Eric Blake  <ebb9@byu.net>
27694
27695         Provide fallback for older kernels.
27696         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
27697         Provide runtime fallback if kernel lacks support.
27698         Reported by Mike Frysinger.
27699
27700 2008-06-02  Bruno Haible  <bruno@clisp.org>
27701
27702         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
27703         it exists.
27704
27705 2008-06-02  Bruno Haible  <bruno@clisp.org>
27706
27707         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
27708         * lib/copy-acl.c (qcopy_acl): Update comment.
27709
27710 2008-06-02  Bruno Haible  <bruno@clisp.org>
27711
27712         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
27713         like ACL APIs.
27714
27715 2008-06-02  Bruno Haible  <bruno@clisp.org>
27716
27717         * tests/test-file-has-acl.sh: Use different code for Cygwin.
27718         * tests/test-set-mode-acl.sh: Likewise.
27719         * tests/test-copy-acl.sh: Likewise.
27720         * tests/test-copy-file.sh: Likewise.
27721
27722 2008-06-02  Bruno Haible  <bruno@clisp.org>
27723
27724         * tests/test-file-has-acl.sh: Remove unused code.
27725
27726 2008-06-01  Bruno Haible  <bruno@clisp.org>
27727
27728         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
27729         (copy_acl): Just a wrapper around qcopy_acl that emits the error
27730         messages.
27731         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
27732
27733 2008-06-01  Bruno Haible  <bruno@clisp.org>
27734
27735         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
27736         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
27737         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
27738         APIs.
27739         * modules/acl-tests (configure.ac): Remove tests now contained in
27740         m4/acl.m4.
27741
27742 2008-06-02  Jim Meyering  <meyering@redhat.com>
27743
27744         announce-gen: use a better key-server host name
27745         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
27746         it may be more consistently reliable.  Suggested by Werner Koch
27747         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
27748
27749 2008-06-01  Bruno Haible  <bruno@clisp.org>
27750
27751         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
27752         Reported by Voroskoi Andras <voroskoi@gmail.com>.
27753
27754 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
27755
27756         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
27757
27758 2008-06-01  Bruno Haible  <bruno@clisp.org>
27759
27760         New ACL tests.
27761         * tests/test-file-has-acl.sh: New file.
27762         * tests/test-file-has-acl.c: New file.
27763         * tests/test-set-mode-acl.sh: New file.
27764         * tests/test-set-mode-acl.c: New file.
27765         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
27766         * tests/test-copy-acl.c: New file.
27767         * modules/acl-tests: New file, based on modules/copy-file-tests.
27768         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
27769         (Depends-on): Add acl-tests.
27770         (configure.ac): Remove checks.
27771         (Makefile.am): Don't create test-sameacls program here any more.
27772
27773 2008-06-01  Bruno Haible  <bruno@clisp.org>
27774
27775         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
27776         * tests/test-sameacls.c: Include progname.h.
27777         (main): Invoke set_program_name. Portability fixes for MacOS X,
27778         Solaris, HP-UX.
27779
27780 2008-06-01  Bruno Haible  <bruno@clisp.org>
27781
27782         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
27783         function.
27784         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
27785
27786 2008-06-01  Bruno Haible  <bruno@clisp.org>
27787
27788         * modules/rpmatch (Depends-on): Add strdup.
27789
27790 2008-06-01  Bruno Haible  <bruno@clisp.org>
27791
27792         * lib/pipe.c: Include unistd-safer.h.
27793         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
27794         * modules/pipe (Depends-on): Add unistd-safer.
27795
27796 2008-05-30  Simon Josefsson  <simon@josefsson.org>
27797
27798         * modules/autobuild (configure.ac): Call AB_INIT.
27799
27800 2008-05-30  Simon Josefsson  <simon@josefsson.org>
27801
27802         * tests/test-getaddrinfo.c: Don't print debug messages by default.
27803         Suggested by Bruno Haible <bruno@clisp.org>.
27804
27805 2008-05-30  Simon Josefsson  <simon@josefsson.org>
27806
27807         * tests/test-base64.c: Cast size_t to unsigned long when invoking
27808         printf.  Use %lu instead of %d.  Reported by Bruno Haible
27809         <bruno@clisp.org>.
27810
27811 2008-05-29  Eric Blake  <ebb9@byu.net>
27812
27813         Prefer new POSIX 200x interfaces over futimesat.
27814         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
27815         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
27816         when available.
27817         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
27818
27819 2008-05-28  Bruno Haible  <bruno@clisp.org>
27820
27821         * modules/stpcpy (License): Change to LGPLv2+.
27822         Requested by David Lutterkort <dlutter@redhat.com>.
27823
27824 2008-05-27  Bruno Haible  <bruno@clisp.org>
27825
27826         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
27827         current mingw.
27828         Reported by Jose E. Marchesi <jemarch@gnu.org>.
27829
27830 2008-05-27  Bruno Haible  <bruno@clisp.org>
27831
27832         * modules/iconv_open (Link): New section, from module 'iconv'.
27833         * modules/striconv (Link): Likewise.
27834         * modules/striconveh (Link): Likewise.
27835         * modules/xstriconv (Link): Likewise.
27836         * modules/unicodeio (Link): Likewise.
27837         * modules/propername (Link): Likewise.
27838         Reported by Jim Meyering.
27839
27840 2008-05-26  Jim Meyering  <meyering@redhat.com>
27841
27842         sha256: do not artificially restrict buffer length to be < 2^32
27843         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
27844         uint32_t to size_t.
27845         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
27846         to match.
27847
27848         avoid unaligned access errors, e.g., on sparc
27849         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
27850         direct access through a possibly-unaligned uint64* pointer.
27851         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
27852         direct access through a possibly-unaligned uint32* pointer.
27853         Prompted by this patch from Tom "spot" Callaway:
27854         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
27855
27856         sha512.c: fix typo in comment
27857         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
27858
27859 2008-05-25  Bruno Haible  <bruno@clisp.org>
27860
27861         * lib/set-mode-acl.c: Renamed from lib/acl.c.
27862         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
27863         (Makefile.am): Update lib_SOURCES.
27864
27865 2008-05-25  Bruno Haible  <bruno@clisp.org>
27866
27867         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
27868
27869 2008-05-25  Jim Meyering  <meyering@redhat.com>
27870
27871         useless-if-before-free: freed expr may have white-space differences
27872         * build-aux/useless-if-before-free: Recognize cases in which the
27873         freed expression differs from the tested one in embedded white
27874         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
27875         $1 was used, so we can't make any regexp shy.  Improved tests now
27876         detect this.
27877
27878         useless-if-before-free: accept white space in the expression.
27879         * build-aux/useless-if-before-free: For now, any white space
27880         in the expression must be identical in the free argument.
27881
27882         useless-if-before-free: efficiency tweak
27883         * build-aux/useless-if-before-free: Make the expression-matching
27884         regexp "shy".
27885         Make the *outer* regexp shy, not the expr-matching one.
27886
27887         update code-in-comment to accept cast of free arg
27888         * build-aux/useless-if-before-free: Update regexp.
27889
27890 2008-05-25  Bruno Haible  <bruno@clisp.org>
27891
27892         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
27893         * modules/copy-file-tests (Files, Makefile.am): Update.
27894         * tests/test-copy-file.c (func_test_copy): Update.
27895
27896 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
27897
27898         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
27899
27900 2008-05-23  Bruno Haible  <bruno@clisp.org>
27901
27902         Improve support for ACLs on OSF/1.
27903         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
27904         Remove fallback for unknown flavors of ACLs.
27905
27906 2008-05-22  Bruno Haible  <bruno@clisp.org>
27907
27908         Add support for ACLs on OSF/1.
27909         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
27910         replacements.
27911         (acl_free_text): New macro fallback.
27912         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
27913         acl_free.
27914         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
27915         acl_free_text function. Require AC_C_INLINE.
27916
27917 2008-05-22  Bruno Haible  <bruno@clisp.org>
27918
27919         Make copy_acl work on MacOS X 10.5.
27920         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
27921         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
27922         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
27923         If MODE_INSIDE_ACL, don't assume that every system has the same text
27924         representation for ACLs as FreeBSD.
27925         * lib/copy-acl.c (copy_acl): Add support for platforms with
27926         !MODE_INSIDE_ACL.
27927         * lib/file-has-acl.c (file_has_acl): Likewise.
27928         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
27929         FreeBSD, MacOS X, or IRIX, respectively.
27930
27931 2008-05-22  Bruno Haible  <bruno@clisp.org>
27932
27933         * lib/acl.h: Don't include <sys/acl.h>.
27934         (GETACLCNT): Move fallback to lib/acl-internal.h.
27935         * lib/acl-internal.h: Include <sys/acl.h> here.
27936         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
27937
27938 2008-05-22  Bruno Haible  <bruno@clisp.org>
27939
27940         Split off copy_acl function to separate file.
27941         * lib/copy-acl.c: New file, extracted from lib/acl.c.
27942         * lib/acl.c (copy_acl): Moved function to separate file.
27943         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
27944         * modules/acl (Files): Add lib/copy-acl.c.
27945         (Makefiles.am): Augment lib_SOURCES.
27946
27947 2008-05-22  Bruno Haible  <bruno@clisp.org>
27948
27949         * modules/copy-file-tests: New file.
27950         * tests/test-copy-file.sh: New file.
27951         * tests/test-copy-file.c: New file.
27952         * tests/test-copy-file-sameacls.c: New file.
27953
27954 2008-05-22  Eric Blake  <ebb9@byu.net>
27955
27956         Avoid gcc warning.
27957         * tests/test-memcmp.c (main): Pass NULL indirectly.
27958
27959 2008-05-21  Bruno Haible  <bruno@clisp.org>
27960
27961         Add reference doc about ACLs.
27962         * doc/acl-resources.txt: New file.
27963         * doc/acl-cygwin.txt: New file.
27964
27965 2008-05-21  Bruno Haible  <bruno@clisp.org>
27966
27967         Avoid one more warning from gcc.
27968         * lib/vasnprintf.c (IF_LINT): Update comments.
27969         (VASNPRINTF): Use it also for the 'prefix' array initializer.
27970
27971 2008-05-21  Jim Meyering  <meyering@redhat.com>
27972
27973         avoid a warning from gcc
27974         * lib/vasnprintf.c (IF_LINT): Define.
27975         (scale10_round_decimal_long_double):
27976         Use it to avoid a "may be used uninitialized" warning.
27977         (scale10_round_decimal_double): Likewise.
27978
27979 2008-05-21  Simon Josefsson  <simon@josefsson.org>
27980
27981         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
27982         declared.
27983
27984 2008-05-20  Bruno Haible  <bruno@clisp.org>
27985
27986         * tests/test-memcmp.c (main): Test also the sign of the result. Test
27987         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
27988
27989 2008-05-20  Simon Josefsson  <simon@josefsson.org>
27990
27991         * modules/memcmp-tests: New file.
27992         * tests/test-memcmp.c: New file.
27993
27994 2008-05-19  Bruno Haible  <bruno@clisp.org>
27995
27996         * modules/propername (Notice, configure.ac): Put quoted "..." into
27997         --keyword option.
27998         * lib/propername.h: Update comments accordingly.
27999         Reported by Eric Blake.
28000
28001 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
28002
28003         * modules/getpass-gnu (Depends-on): Add fseeko.
28004
28005 2008-05-19  Simon Josefsson  <simon@josefsson.org>
28006
28007         * modules/base64-tests: New file.
28008
28009 2008-05-19  Bo Borgerson <gigabo@gmail.com>
28010
28011         * lib/base64.c (base64_decode_ctx): If a decode context structure
28012         was passed in use it to ignore newlines.  If a context structure
28013         was _not_ passed in, continue to treat newlines as garbage (this
28014         is the historical behavior).  Formerly base64_decode.
28015         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
28016         takes a decode context structure.
28017         * lib/base64.h (base64_decode): Macro for four-argument calls.
28018         (base64_decode_alloc): Likewise.
28019         * lib/base64.c (base64_decode_ctx): If a decode context structure
28020         was passed in use it to ignore newlines.  If a context structure
28021         was _not_ passed in, continue to treat newlines as garbage (this
28022         is the historical behavior).  Formerly base64_decode.
28023         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
28024         takes a decode context structure.
28025         * lib/base64.h (base64_decode): Macro for four-argument calls.
28026         (base64_decode_alloc): Likewise.
28027
28028 2008-05-19  Jim Meyering  <meyering@redhat.com>
28029
28030         avoid a warning from gcc
28031         * lib/trim.c (IF_LINT): Define.
28032         (trim2): Use it to avoid a "may be used uninitialized" warning.
28033
28034         Fix doc typo.
28035         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
28036
28037 2008-05-19  Bruno Haible  <bruno@clisp.org>
28038
28039         * doc/glibc-functions/getpass.texi: Document limits of other
28040         implementations.
28041
28042 2008-05-19  Simon Josefsson  <simon@josefsson.org>
28043             Bruno Haible <bruno@clisp.org>
28044
28045         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
28046
28047 2008-05-18  Bruno Haible  <bruno@clisp.org>
28048
28049         * modules/propername: New file, from GNU gettext.
28050         * lib/propername.h: New file, from GNU gettext.
28051         * lib/propername.c: New file, from GNU gettext.
28052         * MODULES.html.sh (Internationalization functions): Add propername.
28053
28054 2008-05-16  Jim Meyering  <meyering@redhat.com>
28055             Bruno Haible  <bruno@clisp.org>
28056
28057         Avoid some warnings from "gcc -Wshadow".
28058         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
28059
28060 2008-05-15  Eric Blake  <ebb9@byu.net>
28061
28062         Extend previous patch to cygwin 1.7.0.
28063         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
28064         fast implementation in cygwin >= 1.7.0.
28065         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
28066         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
28067
28068 2008-05-15  Bruno Haible  <bruno@clisp.org>
28069
28070         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
28071         implementation in glibc >= 2.9.
28072         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
28073         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
28074
28075 2008-05-15  Bruno Haible  <bruno@clisp.org>
28076
28077         * MODULES.html.sh (Internationalization functions): Remove linebreak.
28078         (Unicode string functions): Add unilbrk/*.
28079         Reported by Karl Berry.
28080
28081 2008-05-15  Eric Blake  <ebb9@byu.net>
28082
28083         Fix violation of <stdbool.h> replacement in regex.
28084         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
28085         * lib/regexec.c (re_search_internal): Likewise.
28086         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
28087
28088 2008-05-15  Jim Meyering  <meyering@redhat.com>
28089
28090         avoid distracting test output when git or cvs is not found
28091         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
28092         * tests/test-vc-list-files-git.sh: Likewise.
28093
28094 2008-05-15  Eric Blake  <ebb9@byu.net>
28095
28096         Glibc finally accepted the memmem speedup code, bugzilla #5514.
28097         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
28098         glibc version.
28099         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
28100         * doc/posix-functions/strstr.texi (strstr): Likewise.
28101         * lib/str-two-way.h (MAX): Sychronize with glibc.
28102
28103 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
28104
28105         * lib/regcomp.c (optimize_utf8): Add a note on why we test
28106         opr.ctx_type.
28107         (calc_first): Initialize constraint field.
28108         (duplicate_node_closure): Use it instead of special casing ANCHORS.
28109         Fix grammar.
28110         (duplicate_node): Merge constraint field for all node types.
28111         (calc_eclosure_iter): Look at constraint field for all node types.
28112         * lib/regex_internal.c (create_cd_newstate): Don't look at
28113         opr.ctx_type.
28114
28115 2008-05-14  Bruno Haible  <bruno@clisp.org>
28116
28117         Help GCC to do better code generation.
28118         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
28119         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
28120         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
28121         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
28122         Declare with attribute 'malloc' if supported.
28123
28124 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
28125
28126         use "echo STR|wc -c" rather than unportable "expr length STR"
28127         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
28128         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
28129
28130 2008-05-14  Jim Meyering  <meyering@redhat.com>
28131
28132         use dd ibs=$n count=1 ... rather than less-portable head -c$n
28133         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
28134         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
28135         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
28136         via Collin Lasse.
28137
28138 2008-05-14  Eric Blake  <ebb9@byu.net>
28139
28140         Avoid quadratic growth in gl_LIBSOURCES.
28141         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
28142         Suggested by Bruno Haible.
28143
28144         Test xmemdup0.
28145         * modules/xmemdup0-tests: New file.
28146         * tests/test-xmemdup0.c: Likewise.
28147
28148 2008-05-13  Eric Blake  <ebb9@byu.net>
28149
28150         Split xmemdup0 into its own module.
28151         * modules/xmemdup0: New file.
28152         * lib/xmemdup0.h: Likewise.
28153         * lib/xmemdup0.c: Likewise.
28154         * MODULES.html.sh (Memory management functions): Add xmemdup0.
28155         * lib/xalloc.h (xmemdup0): Remove.
28156         * lib/xmalloc.c (xmemdup0): Likewise.
28157
28158 2008-05-13  Eric Blake  <ebb9@byu.net>
28159             Bruno Haible  <bruno@clisp.org>
28160
28161         Reduce number of forks required during autoconf.
28162         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
28163         and gl_LIBSOURCES_DIR.
28164         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
28165         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
28166         m4_syscmd per file.
28167         <m4_foreach_w>: Move...
28168         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
28169
28170 2008-05-13  Eric Blake  <ebb9@byu.net>
28171
28172         * gnulib-tool: Fix various comment typos.
28173
28174 2008-05-12  Bruno Haible  <bruno@clisp.org>
28175
28176         Tailor the linebreaking algorithm.
28177         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
28178
28179 2008-05-12  Bruno Haible  <bruno@clisp.org>
28180
28181         Update to Unicode 5.0.0.
28182         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
28183         LBP_JV, LBP_JT. Redistribute values.
28184         (unilbrk_table): Change size.
28185         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
28186         Unicode TR#14 rev. 22.
28187         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
28188         LBP_JV, LBP_JT. Redistribute values.
28189         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
28190         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
28191         Update.
28192         * lib/unilbrk/lbrkprop1.h: Regenerated.
28193         * lib/unilbrk/lbrkprop2.h: Regenerated.
28194         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
28195         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
28196         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
28197         Likewise.
28198         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
28199         Likewise.
28200         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
28201         result.
28202         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
28203         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
28204         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
28205         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
28206         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
28207         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
28208
28209 2008-05-11  Bruno Haible  <bruno@clisp.org>
28210
28211         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
28212
28213 2008-05-11  Bruno Haible  <bruno@clisp.org>
28214
28215         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
28216         * modules/unilbrk/gen-lbrk: New file.
28217
28218 2008-05-11  Bruno Haible  <bruno@clisp.org>
28219
28220         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
28221         * m4/sha512.m4 (gl_SHA512): Likewise.
28222
28223 2008-05-11  Jim Meyering  <meyering@redhat.com>
28224
28225         New modules: crypto/sha256, crypto/sha512 (from coreutils)
28226         * modules/crypto/sha256: New file.
28227         * modules/crypto/sha512: Likewise.
28228         * lib/sha256.c: Likewise.
28229         * lib/sha256.h: Likewise.
28230         * lib/sha512.c: Likewise.
28231         * lib/sha512.h: Likewise.
28232         * lib/u64.h: Likewise.
28233         * m4/sha256.m4: Likewise.
28234         * m4/sha512.m4: Likewise.
28235         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
28236
28237 2008-05-10  Bruno Haible  <bruno@clisp.org>
28238
28239         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
28240         (Input/Output <stdio.h>): Add xprintf.
28241         (Signal handling <signal.h>): Add strsignal.
28242         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
28243         (Core language properties): Add func.
28244         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
28245         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
28246         strings.
28247         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
28248         (Input/output): New section.
28249         (File system functions): Add openat-die, stat-macros.
28250         (Networking functions): Add sockets.
28251         (Unicode string functions): Add unictype/*.
28252         (Support for building libraries and executables): Add gperf.
28253         (Support for building documentation): Add agpl-3.0.
28254         (Misc): Add nocrash.
28255
28256 2008-05-10  Bruno Haible  <bruno@clisp.org>
28257
28258         * modules/unictype/gen-ctype: New file.
28259
28260 2008-05-10  Jim Meyering  <meyering@redhat.com>
28261
28262         Make chdir-safer.c more efficient on a system with no symlinks.
28263         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
28264         also if ELOOP is zero.  Suggested by Bruno Haible.
28265
28266         Make chdir-safer.c slightly safer.
28267         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
28268         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
28269
28270         Avoid compile failure on systems without ELOOP (like mingw).
28271         * lib/chdir-safer.c (ELOOP): Define if not already defined.
28272         Reported by Bruno Haible.
28273
28274 2008-05-10  Bruno Haible  <bruno@clisp.org>
28275
28276         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
28277         (is_utf8_encoding): Use a case-insensitive comparison.
28278         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
28279         streq.
28280
28281 2008-05-10  Bruno Haible  <bruno@clisp.org>
28282
28283         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
28284         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
28285         * lib/unilbrk/ulc-common.h (iconv_string_length,
28286         iconv_string_keeping_offsets): Remove declarations.
28287         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
28288         Don't include <iconv.h>, streq.h, xsize.h.
28289         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
28290         conversion.
28291         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
28292         <iconv.h>, streq.h, xsize.h.
28293         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
28294         conversion.
28295         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
28296         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
28297         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
28298         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
28299
28300 2008-05-10  Bruno Haible  <bruno@clisp.org>
28301
28302         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
28303         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
28304
28305         * modules/unilbrk/u32-width-linebreaks-tests: New file.
28306         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
28307
28308         * modules/unilbrk/u16-width-linebreaks-tests: New file.
28309         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
28310
28311         * modules/unilbrk/u8-width-linebreaks-tests: New file.
28312         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
28313
28314         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
28315         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
28316
28317         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
28318         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
28319
28320         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
28321         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
28322
28323         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
28324         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
28325
28326 2008-05-10  Bruno Haible  <bruno@clisp.org>
28327
28328         Split up 'linebreak' module.
28329         * lib/unilbrk.h: New file, based on lib/linebreak.h.
28330         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
28331         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
28332         modifications.
28333         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
28334         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
28335         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
28336         lib/linebreak.c.
28337         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
28338         lib/linebreak.c.
28339         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
28340         lib/linebreak.c.
28341         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
28342         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
28343         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
28344         lib/linebreak.c.
28345         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
28346         lib/linebreak.c.
28347         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
28348         lib/linebreak.c.
28349         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
28350         lib/linebreak.c.
28351         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
28352         lib/linebreak.c.
28353         * modules/unilbrk/base: New file.
28354         * modules/unilbrk/tables: New file.
28355         * modules/unilbrk/u8-possible-linebreaks: New file.
28356         * modules/unilbrk/u16-possible-linebreaks: New file.
28357         * modules/unilbrk/u32-possible-linebreaks: New file.
28358         * modules/unilbrk/ulc-common: New file.
28359         * modules/unilbrk/ulc-possible-linebreaks: New file.
28360         * modules/unilbrk/u8-width-linebreaks: New file.
28361         * modules/unilbrk/u16-width-linebreaks: New file.
28362         * modules/unilbrk/u32-width-linebreaks: New file.
28363         * modules/unilbrk/ulc-width-linebreaks: New file.
28364         * lib/linebreak.h: Remove file.
28365         * lib/linebreak.c: Remove file.
28366         * m4/linebreak.m4: Remove file.
28367         * modules/linebreak: Remove file.
28368         * NEWS: Mention the changes.
28369
28370 2008-05-09  Eric Blake  <ebb9@byu.net>
28371
28372         Add xmemdup0.
28373         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
28374         implementation.
28375         * lib/xmalloc.c (xmemdup0): New C implementation.
28376
28377 2008-05-08  Bruno Haible  <bruno@clisp.org>
28378
28379         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
28380
28381 2008-05-07  Eric Blake  <ebb9@byu.net>
28382
28383         Support cross-compilation of <wctype.h>.
28384         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
28385         AC_CACHE_CHECK.
28386
28387 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
28388
28389         * build-aux/vc-list-files: Add support for bzr.
28390
28391 2008-05-03  Jim Meyering  <meyering@redhat.com>
28392
28393         avoid failed assertion with tight malloc
28394         * tests/test-getndelim2.c: Correct an off-by-one assertion.
28395
28396 2008-05-03  Simon Josefsson  <simon@josefsson.org>
28397
28398         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
28399         are needed from arpa/inet.h.
28400         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
28401         Reported by Bruno Haible.
28402
28403 2008-05-02  Jim Meyering  <meyering@redhat.com>
28404
28405         avoid compilation error on FreeBSD 6
28406         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
28407
28408 2008-05-01  Jim Meyering  <meyering@redhat.com>
28409
28410         useless-if-before-free: correct --help's exit status description
28411         * build-aux/useless-if-before-free (usage): Like grep, exit 0
28412         for one or more matches, etc.  Reported by Bruno Haible.
28413
28414         vc-list-files: make the stand-alone gnulib test work
28415         * modules/vc-list-files-tests (configure.ac):
28416         Define and AC_SUBST abs_aux_dir.
28417         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
28418         $(abs_top_srcdir) to each script and having each of them
28419         duplicate the work of setting PATH, set PATH here, using
28420         the new variable, abs_aux_dir instead.
28421         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
28422         * tests/test-vc-list-files-git.sh: Likewise.
28423         Reported by Bruno Haible.
28424
28425 2008-05-01  Bruno Haible  <bruno@clisp.org>
28426
28427         * lib/getndelim2.c (getndelim2): Fix newsize computation during
28428         reallocation. Rename 'done' to 'found_delimiter'.
28429
28430 2008-05-01  Jim Meyering  <meyering@redhat.com>
28431
28432         vc-list-files: accommodate /bin/sh like the one from Solaris 10
28433         * build-aux/vc-list-files: Use `...`, not $(...).
28434
28435 2008-04-30  Jim Meyering  <meyering@redhat.com>
28436
28437         add tests for vc-list-files
28438         * modules/vc-list-files-tests: New module.
28439         * tests/test-vc-list-files-cvs.sh: New file.
28440         * tests/test-vc-list-files-git.sh: New file.
28441
28442         avoid a warning from gcc
28443         * lib/getndelim2.c (IF_LINT): Define.
28444         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
28445
28446         vc-list-files: work properly with build-aux/cvsu, too
28447         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
28448         to all cvs-based clauses.
28449
28450         vc-list-files: work properly in the CVS+awk case, too
28451         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
28452
28453         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
28454         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
28455         take more than one file argument, so .  Add quotes, just in case $dir
28456         ever contains a shell meta-character.  Prompted by Soren Hansen in
28457         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
28458
28459 2008-04-29  Eric Blake  <ebb9@byu.net>
28460
28461         Optimize getndelim2 to use block operations when possible.
28462         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
28463         freadseek, and memchr2.
28464         * lib/getndelim2.c (getndelim2): Use them for block reads.
28465
28466 2008-04-29  Bruno Haible  <bruno@clisp.org>
28467
28468         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
28469         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
28470         * modules/inet_ntop (Depends-on): Add extensions.
28471         * modules/inet_pton (Depends-on): Likewise.
28472         Reported by Simon Josefsson.
28473
28474 2008-04-29  Jim Meyering  <meyering@redhat.com>
28475
28476         When the is more than one match in a block, match all of them.
28477         * build-aux/useless-if-before-free: Iterate through each block
28478         until there are no more matches.
28479
28480         Fix broken useless-if-before-free script.
28481         * build-aux/useless-if-before-free: Fix typo: missing "?" after
28482         the expression to match cast of argument to free-like function.
28483
28484 2008-04-29  Eric Blake  <ebb9@byu.net>
28485
28486         Use new header.
28487         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
28488
28489 2008-04-29  Jim Meyering  <meyering@redhat.com>
28490
28491         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
28492         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
28493         by gnulib to exist and to declare e.g., inet_ntop.
28494         Don't include "inet_ntop.h", now removed.
28495
28496         * m4/arpa_inet_h.m4: Remove trailing blanks.
28497
28498 2008-04-29  Eric Blake  <ebb9@byu.net>
28499
28500         Silence valgrind on safe reads beyond potential array bounds.
28501         * lib/rawmemchr.valgrind: New file.
28502         * lib/strchrnul.valgrind: Likewise.
28503         * modules/rawmemchr (Files): Distribute new file.
28504         * modules/strchrnul (Files): Likewise.
28505         Suggested by Bruno Haible.
28506
28507 2008-04-29  Bruno Haible  <bruno@clisp.org>
28508
28509         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
28510         (inet_ntop, inet_pton): Change portability warning's wording.
28511         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
28512         Invoke gl_CHECK_NEXT_HEADERS.
28513         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
28514         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
28515         set ARPA_INET_H.
28516         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
28517         * modules/arpa_inet (Description): No longer only for systems that
28518         lack it.
28519         (Depends-on): Add include_next.
28520         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
28521         HAVE_ARPA_INET_H.
28522
28523 2008-04-29  Jim Meyering  <meyering@redhat.com>
28524
28525         * modules/mkdir (License): Re-license as LGPLv2+.
28526
28527 2008-04-29  Bruno Haible  <bruno@clisp.org>
28528
28529         * modules/rawmemchr (Maintainer): Set to Eric.
28530         * modules/strchrnul (Maintainer): Likewise.
28531
28532 2008-04-29  Simon Josefsson  <simon@josefsson.org>
28533
28534         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
28535         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
28536
28537         * modules/arpa_inet (arpa/inet.h): Use them.
28538
28539 2008-04-28  Eric Blake  <ebb9@byu.net>
28540
28541         Test getndelim2.
28542         * modules/getndelim2-tests: New file.
28543         * tests/test-getndelim2.c: Likewise.
28544         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
28545         stream.
28546         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
28547
28548         * MODULES.html.sh: Document new module.
28549
28550 2008-04-20  Bruno Haible  <bruno@clisp.org>
28551
28552         * lib/c-stack.c (die): Use raise.
28553         * modules/c-stack (Depends-on): Add raise.
28554
28555 2008-04-28  Bruno Haible  <bruno@clisp.org>
28556
28557         Expect rpmatch to be declared.
28558         * lib/yesno.c (rpmatch): Remove declaration.
28559
28560         Declare rpmatch.
28561         * lib/stdlib.in.h (rpmatch): New declaration.
28562         * lib/rpmatch.c: Include <stdlib.h> first.
28563         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
28564         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
28565         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
28566         HAVE_RPMATCH.
28567         * modules/rpmatch (Depends-on): Add stdlib, extensions.
28568         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
28569         (Include): Set to <stdlib.h>.
28570         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
28571         HAVE_RPMATCH.
28572         * NEWS: Document the change.
28573
28574 2008-04-28  Bruno Haible  <bruno@clisp.org>
28575
28576         Change rpmatch to use nl_langinfo when appropriate.
28577         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
28578         (N_): New macro.
28579         (localized_pattern): New function/macro.
28580         (try): Remove match, nomatch arguments. Copy the pattern into safe
28581         memory before caching it.
28582         (rpmatch): Use localized_pattern. Add translator comments.
28583         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
28584         Suggested by Eric Blake.
28585         * modules/rpmatch (Depends-on): Add stdbool.
28586
28587 2008-04-28  Eric Blake  <ebb9@byu.net>
28588
28589         Add rawmemchr module, matching glibc.
28590         * modules/string (Makefile.am): New indicator.
28591         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
28592         * lib/string.in.h (rawmemchr): Declare when appropriate.
28593         * modules/rawmemchr: New file.
28594         * m4/rawmemchr.m4: Likewise.
28595         * lib/rawmemchr.c: Likewise.
28596         * modules/rawmemchr-tests: Likewise.
28597         * tests/test-rawmemchr.c: Likewise.
28598         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
28599         module.
28600         * modules/strchrnul (Depends-on): Add rawmemchr.
28601         * lib/strchrnul.c (strchrnul): Optimize a corner case.
28602
28603         Whitespace cleanup.
28604         * tests/test-strchrnul.c: Reindent.
28605         * lib/strchrnul.c: Likewise.
28606
28607         Optimize and test strchrnul.
28608         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
28609         * modules/strchrnul-tests: New file.
28610         * tests/test-strchrnul.c: Likewise.
28611
28612         Remove intprops dependency.
28613         * modules/memchr (Depends-on): Remove intprops.
28614         * modules/memrchr (Depends-on): Likewise.
28615         * modules/memchr2 (Depends-on): Likewise.
28616         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
28617         * lib/memrchr.c (__memrchr): Likewise.
28618         * lib/memrchr2.c (memchr2): Likewise.
28619         Reported by Simon Josefsson.
28620
28621 2008-04-28  Simon Josefsson  <simon@josefsson.org>
28622
28623         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
28624         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28625
28626 2008-04-28  Simon Josefsson  <simon@josefsson.org>
28627
28628         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
28629
28630         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
28631
28632         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
28633
28634         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
28635         declarations.
28636         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
28637
28638         * m4/inet_pton.m4: Don't check for header files.
28639
28640         * m4/inet_ntop.m4: Don't check for header files.
28641
28642 2008-04-28  Simon Josefsson  <simon@josefsson.org>
28643
28644         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
28645         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
28646         trigger for cygwin).
28647         Reported by Bruno Haible  <bruno@clisp.org>.
28648
28649 2008-04-28  Bruno Haible  <bruno@clisp.org>
28650
28651         * doc/posix-functions/strdup.texi: Mention mingw problem.
28652
28653 2008-04-27  Bruno Haible  <bruno@clisp.org>
28654
28655         * modules/stat-time-tests (Depends-on): Add sleep.
28656         * tests/test-stat-time.c (force_unlink): New function.
28657         (cleanup): Use it.
28658         (test_mtime): Remove the ctime related tests.
28659         (test_ctime): New function, containing the ctime related tests.
28660         (main): Call test_ctime, except on native Windows platforms.
28661
28662 2008-04-27  Bruno Haible  <bruno@clisp.org>
28663
28664         * lib/rpmatch.c (rpmatch): Add some comments.
28665         Reported by James Youngman <jay@gnu.org>.
28666
28667 2008-04-27  Bruno Haible  <bruno@clisp.org>
28668
28669         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
28670         quiet NaNs.
28671
28672 2008-04-27  Bruno Haible  <bruno@clisp.org>
28673
28674         Make test-yesno.sh work on mingw.
28675         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
28676         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
28677         (main): Set stdin to binary mode.
28678         * modules/yesno-tests (Depends-on): Add binary-io.
28679
28680 2008-04-27  Bruno Haible  <bruno@clisp.org>
28681
28682         Fix 'isfinite' on x86, x86_64, ia64 platforms.
28683         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
28684         argument that lie outside the IEEE 854 domain.
28685         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
28686         (gl_ISFINITE): Use it.
28687         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
28688
28689 2008-04-27  Bruno Haible  <bruno@clisp.org>
28690
28691         Allow local renaming in config.h.
28692         * lib/memrchr.c (memrchr): Don't undefine outside libc.
28693
28694 2008-04-27  Bruno Haible  <bruno@clisp.org>
28695
28696         * lib/memchr.c (__memchr): Change type of 'i'.
28697         * lib/memchr2.c (memchr2): Likewise.
28698
28699 2008-04-26  Eric Blake  <ebb9@byu.net>
28700         and Bruno Haible  <bruno@clisp.org>
28701
28702         Optimize and test memrchr.
28703         * modules/memrchr (Depends-on): Add intprops.
28704         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
28705         * modules/memrchr-tests: New file.
28706         * tests/test-memrchr.c: New file.
28707
28708 2008-04-26  Bruno Haible  <bruno@clisp.org>
28709
28710         Add tentative support for DragonFly BSD.
28711         * lib/stdio-impl.h: Add macros for DragonFly BSD.
28712         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
28713         fp.
28714         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
28715         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
28716         * lib/fpurge.c (fpurge): Likewise.
28717         * lib/freadable.c (freaadable): Likewise.
28718         * lib/freadahead.c (freadahead): Likewise.
28719         * lib/freading.c (freading): Likewise.
28720         * lib/freadptr.c (freadptr): Likewise.
28721         * lib/freadseek.c (freadptrinc): Likewise.
28722         * lib/fseeko.c (fseeko): Likewise.
28723         * lib/fseterr.c (fseterr): Likewise.
28724         * lib/fwritable.c (fwritable): Likewise.
28725         * lib/fwriting.c (fwriting): Likewise.
28726
28727 2008-04-26  Bruno Haible  <bruno@clisp.org>
28728
28729         * lib/stdio-impl.h: New file.
28730         * lib/fbufmode.c: Include stdio-impl.h.
28731         (fbufmode): Use fp_, remove redundant #defines.
28732         * lib/fflush.c: Include stdio-impl.h.
28733         (clear_ungetc_buffer): Remove redundant #defines.
28734         * lib/fpurge.c: Include stdio-impl.h.
28735         (fpurge): Remove redundant #defines.
28736         * lib/freadable.c: Include stdio-impl.h.
28737         (freadable): Remove redundant #defines.
28738         * lib/freadahead.c: Include stdio-impl.h.
28739         (freadahead): Remove redundant #defines.
28740         * lib/freading.c: Include stdio-impl.h.
28741         (freading): Remove redundant #defines.
28742         * lib/freadptr.c: Include stdio-impl.h.
28743         (freadptr): Remove redundant #defines.
28744         * lib/freadseek.c: Include stdio-impl.h.
28745         (freadptrinc): Remove redundant #defines.
28746         * lib/fseeko.c: Include stdio-impl.h.
28747         (rpl_fseeko): Remove redundant #defines.
28748         * lib/fseterr.c: Include stdio-impl.h.
28749         (fseterr): Remove redundant #defines.
28750         * lib/fwritable.c: Include stdio-impl.h.
28751         (fwritable: Remove redundant #defines.
28752         * lib/fwriting.c: Include stdio-impl.h.
28753         (fwriting): Remove redundant #defines.
28754         * modules/fbufmode (Files): Add lib/stdio-impl.h.
28755         * modules/fflush (Files): Likewise.
28756         * modules/fpurge (Files): Likewise.
28757         * modules/freadable (Files): Likewise.
28758         * modules/freadahead (Files): Likewise.
28759         * modules/freading (Files): Likewise.
28760         * modules/freadptr (Files): Likewise.
28761         * modules/freadseek (Files): Likewise.
28762         * modules/fseeko (Files): Likewise.
28763         * modules/fseterr (Files): Likewise.
28764         * modules/fwritable (Files): Likewise.
28765         * modules/fwriting (Files): Likewise.
28766
28767 2008-04-26  Bruno Haible  <bruno@clisp.org>
28768
28769         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
28770         restore_seek_optimization, update_fpos_cache): New functions, extracted
28771         from rpl_fflush.
28772         (rpl_fflush): Use them.
28773         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
28774         (gl_REPLACE_FFLUSH): Use it.
28775
28776 2008-04-26  Bruno Haible  <bruno@clisp.org>
28777
28778         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
28779         on Solaris.
28780         * tests/test-xstrtoimax.sh: Likewise.
28781         * tests/test-xstrtoumax.sh: Likewise.
28782         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28783
28784 2008-04-26  Bruno Haible  <bruno@clisp.org>
28785
28786         * modules/memchr-tests: New file.
28787         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
28788
28789 2008-04-26  Eric Blake  <ebb9@byu.net>
28790             Bruno Haible  <bruno@clisp.org>
28791
28792         * lib/memchr.c: Include intprops.h.
28793         (__memchr): Optimize parallel detection of matching bytes. Rename local
28794         variables. Add explanatory comments.
28795
28796 2008-04-26  Bruno Haible  <bruno@clisp.org>
28797
28798         Fix module 'memchr', broken since 2000-10-28.
28799         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
28800
28801 2008-04-26  Bruno Haible  <bruno@clisp.org>
28802
28803         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
28804         comments.
28805
28806 2008-04-25  Eric Blake  <ebb9@byu.net>
28807
28808         Use native fstatat on cygwin 1.7.0.
28809         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
28810         first.
28811
28812 2008-04-23  Eric Blake  <ebb9@byu.net>
28813
28814         Improve memchr2 performance.
28815         * lib/memchr2.c (memchr2): Further optimize parallel detection of
28816         NUL bytes.
28817         * modules/memchr2 (Depends-on): Use intprops.h.
28818
28819 2008-04-23  Simon Josefsson  <simon@josefsson.org>
28820
28821         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
28822         an inline function instead of a CPP macro.  Patch by Ben Pfaff
28823         <blp@cs.stanford.edu>.
28824
28825 2008-04-23  Simon Josefsson  <simon@josefsson.org>
28826
28827         * lib/arpa_inet.in.h: New file.
28828
28829         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
28830         (Makefile.am): Sed in substitute header file.
28831
28832         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
28833         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
28834
28835         * modules/inet_ntop (configure.ac): Use
28836         gl_ARPA_INET_MODULE_INDICATOR.
28837
28838         * modules/inet_pton (configure.ac): Use
28839         gl_ARPA_INET_MODULE_INDICATOR.
28840
28841 2008-04-22  Jim Meyering  <meyering@redhat.com>
28842
28843         * modules/verify (License): Re-license as LGPLv2+.
28844
28845 2008-04-22  Simon Josefsson  <simon@josefsson.org>
28846
28847         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
28848         parameter to void* as per POSIX standard (MinGW uses char*).
28849
28850 2008-04-21  Bruno Haible  <bruno@clisp.org>
28851
28852         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
28853         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
28854         Define to replacements if REPLACE_ISWCNTRL is 1.
28855         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
28856         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
28857         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
28858         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
28859         what it fixes.
28860         * doc/posix-functions/iswalpha.texi: Likewise.
28861         * doc/posix-functions/iswblank.texi: Likewise.
28862         * doc/posix-functions/iswcntrl.texi: Likewise.
28863         * doc/posix-functions/iswdigit.texi: Likewise.
28864         * doc/posix-functions/iswgraph.texi: Likewise.
28865         * doc/posix-functions/iswlower.texi: Likewise.
28866         * doc/posix-functions/iswprint.texi: Likewise.
28867         * doc/posix-functions/iswpunct.texi: Likewise.
28868         * doc/posix-functions/iswspace.texi: Likewise.
28869         * doc/posix-functions/iswupper.texi: Likewise.
28870         * doc/posix-functions/iswxdigit.texi: Likewise.
28871         Reported by Alain Guibert.
28872
28873 2008-04-21  Bruno Haible  <bruno@clisp.org>
28874
28875         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
28876         Patch by Alain Guibert.
28877
28878 2008-04-21  Bruno Haible  <bruno@clisp.org>
28879
28880         Fix test failures on mingw.
28881         * tests/test-xstrtol.c (print_no_progname): New function.
28882         (main): Install it in error_print_progname hook.
28883         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
28884         * tests/test-xstrtoimax.sh: Likewise.
28885         * tests/test-xstrtoumax.sh: Likewise.
28886
28887 2008-04-21  Bruno Haible  <bruno@clisp.org>
28888
28889         Fix test failure on mingw.
28890         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
28891
28892 2008-04-21  Bruno Haible  <bruno@clisp.org>
28893
28894         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
28895         Actually assign a value.
28896
28897 2008-04-20  Bruno Haible  <bruno@clisp.org>
28898
28899         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
28900         take 2.
28901         * lib/canonicalize.c (canonicalize_file_name): Elide if the
28902         'canonicalize-lgpl' module is also used.
28903         * lib/canonicalize-lgpl.c: Undo last change.
28904         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
28905
28906 2008-04-20  Bruno Haible  <bruno@clisp.org>
28907
28908         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
28909         config.h. Provide _mkdir based fallback for mingw.
28910         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
28911         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
28912         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
28913         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
28914         rather than defining mkdir in config.h.
28915         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
28916         (gl_SYS_STAT_H_DEFAULTS): New macro.
28917         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
28918         HAVE_IO_H any more.
28919         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
28920         HAVE_DECL_MKDIR and HAVE_IO_H.
28921
28922 2008-04-20  Bruno Haible  <bruno@clisp.org>
28923
28924         * lib/isapipe.c: Port to native Windows platforms.
28925
28926 2008-04-20  Bruno Haible  <bruno@clisp.org>
28927
28928         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
28929
28930 2008-04-21  Eric Blake  <ebb9@byu.net>
28931
28932         Work around preprocessors that don't handle UINTMAX_MAX.
28933         * lib/memchr2.c (memchr2): Avoid embedded #if.
28934         Reported by Alain Guibert, fix suggested by Bruno Haible.
28935
28936 2008-04-21  Simon Josefsson  <simon@josefsson.org>
28937
28938         * doc/posix-functions/strftime.texi (strftime): Explain better
28939         Windows incompatibility.  Suggested by Micah Cowan
28940         <micah@cowan.name>.
28941
28942 2008-04-20  Bruno Haible  <bruno@clisp.org>
28943
28944         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
28945         unistr/u8-mblen.
28946
28947 2008-04-20  Bruno Haible  <bruno@clisp.org>
28948
28949         Fix test failure on platforms with non-GNU iconv.
28950         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
28951         (U_TO_U8): Use it, rather than u16_to_u8.
28952         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
28953         units at the end of the input string.
28954         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
28955
28956 2008-04-20  Bruno Haible  <bruno@clisp.org>
28957
28958         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
28959         when the resulting length is 0.
28960         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
28961
28962 2008-04-20  Bruno Haible  <bruno@clisp.org>
28963
28964         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
28965         works.
28966         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
28967
28968 2008-04-20  Bruno Haible  <bruno@clisp.org>
28969
28970         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
28971         * modules/tsearch-tests (configure.ac): Test for initstate function.
28972
28973 2008-04-20  Bruno Haible  <bruno@clisp.org>
28974
28975         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
28976         for nlink_t if missing.
28977         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
28978
28979 2008-04-19  Bruno Haible  <bruno@clisp.org>
28980
28981         Work around snprintf bug on Linux libc5.
28982         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
28983         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
28984         gl_SNPRINTF_SIZE1.
28985         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
28986         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
28987         that test failed.
28988         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
28989         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
28990         * modules/snprintf (Files): Add m4/printf.m4.
28991         * modules/vsnprintf (Files): Likewise.
28992         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
28993         * doc/posix-functions/vsnprintf.texi: Likewise.
28994
28995 2008-04-19  Bruno Haible  <bruno@clisp.org>
28996
28997         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
28998         from 0.0058 to less than 10^-7.
28999
29000 2008-04-19  Bruno Haible  <bruno@clisp.org>
29001
29002         Fix rounding when a precision is given.
29003         * lib/vasnprintf.c (is_borderline): New function.
29004         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
29005         9...9x.
29006         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
29007         %e, %g.
29008         * tests/test-vasprintf-posix.c (test_function): Likewise.
29009         * tests/test-snprintf-posix.h (test_function): Likewise.
29010         * tests/test-sprintf-posix.h (test_function): Likewise.
29011         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
29012         * tests/test-printf-posix.h (test_function): Likewise.
29013         * tests/test-printf-posix.output: Update.
29014         Reported by John Darrington <john@darrington.wattle.id.au> via
29015         Ben Pfaff <blp@cs.stanford.edu>.
29016
29017 2008-04-18  Simon Josefsson  <simon@josefsson.org>
29018
29019         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
29020         Suggested by Bruno Haible <bruno@clisp.org>.
29021
29022 2008-04-17  Bruno Haible  <bruno@clisp.org>
29023
29024         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
29025         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
29026         implementation.
29027         Patch by Bruce Merry <bmerry@gmail.com>.
29028
29029 2008-04-17  Simon Josefsson  <simon@josefsson.org>
29030
29031         * doc/posix-functions/strftime.texi (strftime): Mention that %e
29032         doesn't work under Windows.
29033
29034 2008-04-16  Bruno Haible  <bruno@clisp.org>
29035
29036         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
29037         New macros.
29038         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
29039         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
29040         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
29041         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
29042         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
29043         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
29044         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
29045         macros.
29046         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
29047         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
29048         Northern Sotho, Uighur.
29049
29050 2008-04-16  Bruno Haible  <bruno@clisp.org>
29051
29052         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
29053         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
29054         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
29055         Reported by Daniel Bergström <daniel@octocode.com>.
29056
29057 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
29058             Bruno Haible  <bruno@clisp.org>
29059
29060         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
29061         function.
29062         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
29063         New functions, mostly extracted from gl_locale_name_default.
29064         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
29065
29066 2008-04-16  Eric Blake  <ebb9@byu.net>
29067
29068         Adjust strtod detection to catch glibc 2.7 bug.
29069         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
29070         Reported by John Gatewood Ham.
29071
29072 2008-04-16  Bruno Haible  <bruno@clisp.org>
29073
29074         Add tentative support for Linux libc5.
29075         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
29076         * lib/fpurge.c (fpurge): Likewise.
29077         * lib/freadable.c (freadable): Likewise.
29078         * lib/freadahead.c (freadahead): Likewise.
29079         * lib/freading.c (freading): Likewise.
29080         * lib/freadptr.c (freadptr): Likewise.
29081         * lib/freadseek.c (freadptrinc): Likewise.
29082         * lib/fseeko.c (rpl_fseeko): Likewise.
29083         * lib/fseterr.c (fseterr): Likewise.
29084         * lib/fwritable.c (fwritable): Likewise.
29085         * lib/fwriting.c (fwriting): Likewise.
29086         Reported by Alain Guibert <alguibert+bts@free.fr>.
29087
29088 2008-04-15  Bruno Haible  <bruno@clisp.org>
29089
29090         * modules/mathl (configure.ac): Define module indicator.
29091
29092 2008-04-15  Bruno Haible  <bruno@clisp.org>
29093
29094         * lib/logl.c (logl): Remove unused variables.
29095
29096 2008-04-15  Bruno Haible  <bruno@clisp.org>
29097
29098         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
29099         fails.
29100
29101 2008-04-15  Bruno Haible  <bruno@clisp.org>
29102
29103         * lib/trim.c (trim2): Fix argument of isspace() macro.
29104
29105 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
29106
29107         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
29108         to 0.
29109         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
29110
29111 2008-04-14  Bruno Haible  <bruno@clisp.org>
29112
29113         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
29114         AC_LANG_PROGRAM argument.
29115         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
29116         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
29117         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
29118         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
29119         * m4/math_h.m4 (gl_MATH_H): Likewise.
29120         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
29121         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
29122         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
29123         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
29124         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
29125         * m4/regex.m4 (gl_REGEX): Likewise.
29126         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
29127         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
29128         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
29129         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
29130         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
29131         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
29132         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
29133         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
29134
29135 2008-04-14  Jim Meyering  <meyering@redhat.com>
29136
29137         test-strtod: fix typos: s/abs/fabs/
29138         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
29139
29140 2008-04-13  Bruno Haible  <bruno@clisp.org>
29141
29142         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
29143         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
29144         module is also used and while not building the reloc-wrapper.
29145
29146 2008-04-13  Bruno Haible  <bruno@clisp.org>
29147
29148         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
29149
29150 2008-04-13  Bruno Haible  <bruno@clisp.org>
29151
29152         Fix AIX compilation failure introduced on 2008-04-02.
29153         * tests/test-frexp.c (exp): Undefine before redefining.
29154         * tests/test-frexpl.c (exp): Likewise.
29155
29156 2008-04-13  Bruno Haible  <bruno@clisp.org>
29157
29158         Work around a HP-UX stdio bug.
29159         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
29160         * tests/test-ftello.c (main): Likewise.
29161         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
29162         * doc/posix-functions/ftello.texi: Likewise.
29163
29164 2008-04-13  Bruno Haible  <bruno@clisp.org>
29165
29166         Make test-signbit pass on HP-UX/hppa.
29167         * tests/test-signbit.c (minus_zerol): New variable.
29168         (test_signbitl): Use it.
29169
29170 2008-04-13  Bruno Haible  <bruno@clisp.org>
29171
29172         Make truncl work on OSF/1 4.0.
29173         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
29174         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
29175         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
29176         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
29177         HAVE_DECL_TRUNCL.
29178         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
29179         HAVE_DECL_TRUNCL.
29180         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
29181
29182 2008-04-13  Bruno Haible  <bruno@clisp.org>
29183
29184         * lib/unictype.h: Remove trailing comma from enumeration definitions.
29185
29186 2008-04-13  Bruno Haible  <bruno@clisp.org>
29187
29188         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
29189         expression, so as to avoid HP-UX 11 cc compiler bug.
29190
29191 2008-04-13  Bruno Haible  <bruno@clisp.org>
29192
29193         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
29194
29195 2008-04-13  Bruno Haible  <bruno@clisp.org>
29196
29197         * lib/git-merge-changelog.c: Remove empty declaration outside of
29198         functions.
29199
29200 2008-04-13  Bruno Haible  <bruno@clisp.org>
29201
29202         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
29203
29204 2008-04-13  Bruno Haible  <bruno@clisp.org>
29205
29206         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
29207         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
29208         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
29209         also if it exists but lacks definitions of the SHUT_* macros.
29210         * modules/sys_socket (Description): Update.
29211         Reported by Elbert Pol <e.pol@chello.nl>.
29212
29213 2008-04-13  Bruno Haible  <bruno@clisp.org>
29214
29215         * lib/localcharset.c (OS2): Don't redefine if already defined.
29216         Reported by Elbert Pol <e.pol@chello.nl>.
29217
29218 2008-04-13  Bruno Haible  <bruno@clisp.org>
29219
29220         * lib/binary-io.h [__EMX__]: Include <io.h>.
29221         Reported by Elbert Pol <e.pol@chello.nl>.
29222
29223 2008-04-12  Bruno Haible  <bruno@clisp.org>
29224
29225         * lib/fpucw.h: Enable the definitions also for x86_64.
29226         Needed for NetBSD/x86_64.
29227         Reported by Thomas Klausner <tk@giga.or.at>.
29228
29229 2008-04-12  Bruno Haible  <bruno@clisp.org>
29230
29231         * tests/test-strtod.c: Include isnand.h.
29232         (main): Use isnand instead of isnan.
29233         Reported by Jim Meyering.
29234
29235 2008-04-12  Bruno Haible  <bruno@clisp.org>
29236
29237         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
29238         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
29239
29240 2008-04-12  Jim Meyering  <meyering@redhat.com>
29241
29242         * m4/math_h.m4 (gl_MATH_H): Fix typos.
29243
29244 2008-04-12  Bruno Haible  <bruno@clisp.org>
29245
29246         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
29247         Reported by Elbert Pol <e.pol@chello.nl>.
29248
29249 2008-04-12  Eric Blake  <ebb9@byu.net>
29250
29251         Work around Solaris 10 math.h bug.
29252         * m4/math_h.m4 (gl_MATH_H): Check for bug.
29253         (gl_MATH_H_DEFAULTS): Set up default.
29254         * modules/math (Makefile.am): Replace new indicators.
29255         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
29256         * tests/test-math.c (main): Test this.
29257         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
29258         * doc/posix-headers/math.texi (math.h): Mention bug.
29259         Reported by Nelson H. F. Beebe and Jim Meyering.
29260
29261 2008-04-11  Bruno Haible  <bruno@clisp.org>
29262
29263         Adapt to future versions of Apple GCC.
29264         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
29265         Reported by Peter O'Gorman <peter@pogma.com>.
29266
29267 2008-04-11  Bruno Haible  <bruno@clisp.org>
29268
29269         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
29270
29271 2008-04-11  Bruno Haible  <bruno@clisp.org>
29272
29273         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
29274
29275         * modules/getaddrinfo-tests (Makefile.am): Define
29276         test_getaddrinfo_LDADD.
29277
29278 2008-04-11  Bruno Haible  <bruno@clisp.org>
29279
29280         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
29281         (init): Fix syntax error.
29282         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
29283         is declared.
29284
29285 2008-04-11  Bruno Haible  <bruno@clisp.org>
29286
29287         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
29288         * modules/glob (Depends-on): Add stdbool.
29289
29290 2008-04-11  Bruno Haible  <bruno@clisp.org>
29291
29292         * lib/trim.c: Include <string.h>.
29293
29294 2008-04-11  Eric Blake  <ebb9@byu.net>
29295
29296         Avoid compile failure on OS/2.
29297         * lib/regex_internal.h (internal_function): Disable optimization
29298         on OS/2 (__EMX__), where it caused compiler error.
29299         Reported by Elbert Pol.
29300
29301 2008-04-11  Bruno Haible  <bruno@clisp.org>
29302
29303         Flush the standard error stream before aborting. Needed on mingw.
29304         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
29305         * tests/test-array_list.c (ASSERT): Likewise.
29306         * tests/test-array_oset.c (ASSERT): Likewise.
29307         * tests/test-avltree_list.c (ASSERT): Likewise.
29308         * tests/test-avltree_oset.c (ASSERT): Likewise.
29309         * tests/test-avltreehash_list.c (ASSERT): Likewise.
29310         * tests/test-binary-io.c (ASSERT): Likewise.
29311         * tests/test-byteswap.c (ASSERT): Likewise.
29312         * tests/test-c-ctype.c (ASSERT): Likewise.
29313         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
29314         * tests/test-c-strcasestr.c (ASSERT): Likewise.
29315         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
29316         * tests/test-c-strstr.c (ASSERT): Likewise.
29317         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
29318         * tests/test-canonicalize.c (ASSERT): Likewise.
29319         * tests/test-carray_list.c (ASSERT): Likewise.
29320         * tests/test-ceilf1.c (ASSERT): Likewise.
29321         * tests/test-ceilf2.c (ASSERT): Likewise.
29322         * tests/test-ceill.c (ASSERT): Likewise.
29323         * tests/test-count-one-bits.c (ASSERT): Likewise.
29324         * tests/test-fbufmode.c (ASSERT): Likewise.
29325         * tests/test-fflush2.c (ASSERT): Likewise.
29326         * tests/test-floorf1.c (ASSERT): Likewise.
29327         * tests/test-floorf2.c (ASSERT): Likewise.
29328         * tests/test-floorl.c (ASSERT): Likewise.
29329         * tests/test-fopen.c (ASSERT): Likewise.
29330         * tests/test-fpending.c (ASSERT): Likewise.
29331         * tests/test-fprintf-posix.c (ASSERT): Likewise.
29332         * tests/test-fpurge.c (ASSERT): Likewise.
29333         * tests/test-freadable.c (ASSERT): Likewise.
29334         * tests/test-freadahead.c (ASSERT): Likewise.
29335         * tests/test-freading.c (ASSERT): Likewise.
29336         * tests/test-freadptr.c (ASSERT): Likewise.
29337         * tests/test-freadptr2.c (ASSERT): Likewise.
29338         * tests/test-freadseek.c (ASSERT): Likewise.
29339         * tests/test-freopen.c (ASSERT): Likewise.
29340         * tests/test-frexp.c (ASSERT): Likewise.
29341         * tests/test-frexpl.c (ASSERT): Likewise.
29342         * tests/test-fseek.c (ASSERT): Likewise.
29343         * tests/test-fseeko.c (ASSERT): Likewise.
29344         * tests/test-fstrcmp.c (ASSERT): Likewise.
29345         * tests/test-ftell.c (ASSERT): Likewise.
29346         * tests/test-ftello.c (ASSERT): Likewise.
29347         * tests/test-func.c (ASSERT): Likewise.
29348         * tests/test-fwritable.c (ASSERT): Likewise.
29349         * tests/test-fwriting.c (ASSERT): Likewise.
29350         * tests/test-getdelim.c (ASSERT): Likewise.
29351         * tests/test-getline.c (ASSERT): Likewise.
29352         * tests/test-i-ring.c (ASSERT): Likewise.
29353         * tests/test-iconv-utf.c (ASSERT): Likewise.
29354         * tests/test-iconv.c (ASSERT): Likewise.
29355         * tests/test-isfinite.c (ASSERT): Likewise.
29356         * tests/test-isnand.c (ASSERT): Likewise.
29357         * tests/test-isnanf.c (ASSERT): Likewise.
29358         * tests/test-isnanl.h (ASSERT): Likewise.
29359         * tests/test-ldexpl.c (ASSERT): Likewise.
29360         * tests/test-linked_list.c (ASSERT): Likewise.
29361         * tests/test-linkedhash_list.c (ASSERT): Likewise.
29362         * tests/test-localename.c (ASSERT): Likewise.
29363         * tests/test-lseek.c (ASSERT): Likewise.
29364         * tests/test-mbscasecmp.c (ASSERT): Likewise.
29365         * tests/test-mbscasestr1.c (ASSERT): Likewise.
29366         * tests/test-mbscasestr2.c (ASSERT): Likewise.
29367         * tests/test-mbscasestr3.c (ASSERT): Likewise.
29368         * tests/test-mbscasestr4.c (ASSERT): Likewise.
29369         * tests/test-mbschr.c (ASSERT): Likewise.
29370         * tests/test-mbscspn.c (ASSERT): Likewise.
29371         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
29372         * tests/test-mbspbrk.c (ASSERT): Likewise.
29373         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
29374         * tests/test-mbsrchr.c (ASSERT): Likewise.
29375         * tests/test-mbsspn.c (ASSERT): Likewise.
29376         * tests/test-mbsstr1.c (ASSERT): Likewise.
29377         * tests/test-mbsstr2.c (ASSERT): Likewise.
29378         * tests/test-mbsstr3.c (ASSERT): Likewise.
29379         * tests/test-memchr2.c (ASSERT): Likewise.
29380         * tests/test-memmem.c (ASSERT): Likewise.
29381         * tests/test-open.c (ASSERT): Likewise.
29382         * tests/test-printf-frexp.c (ASSERT): Likewise.
29383         * tests/test-printf-frexpl.c (ASSERT): Likewise.
29384         * tests/test-printf-posix.c (ASSERT): Likewise.
29385         * tests/test-quotearg.c (ASSERT): Likewise.
29386         * tests/test-rbtree_list.c (ASSERT): Likewise.
29387         * tests/test-rbtree_oset.c (ASSERT): Likewise.
29388         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
29389         * tests/test-round1.c (ASSERT): Likewise.
29390         * tests/test-roundf1.c (ASSERT): Likewise.
29391         * tests/test-roundl.c (ASSERT): Likewise.
29392         * tests/test-signbit.c (ASSERT): Likewise.
29393         * tests/test-sleep.c (ASSERT): Likewise.
29394         * tests/test-snprintf-posix.c (ASSERT): Likewise.
29395         * tests/test-snprintf.c (ASSERT): Likewise.
29396         * tests/test-sprintf-posix.c (ASSERT): Likewise.
29397         * tests/test-stat-time.c (ASSERT): Likewise.
29398         * tests/test-strcasestr.c (ASSERT): Likewise.
29399         * tests/test-strerror.c (ASSERT): Likewise.
29400         * tests/test-striconv.c (ASSERT): Likewise.
29401         * tests/test-striconveh.c (ASSERT): Likewise.
29402         * tests/test-striconveha.c (ASSERT): Likewise.
29403         * tests/test-strsignal.c (ASSERT): Likewise.
29404         * tests/test-strstr.c (ASSERT): Likewise.
29405         * tests/test-strtod.c (ASSERT): Likewise.
29406         * tests/test-trunc1.c (ASSERT): Likewise.
29407         * tests/test-trunc2.c (ASSERT): Likewise.
29408         * tests/test-truncf1.c (ASSERT): Likewise.
29409         * tests/test-truncf2.c (ASSERT): Likewise.
29410         * tests/test-truncl.c (ASSERT): Likewise.
29411         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
29412         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
29413         * tests/test-vasnprintf.c (ASSERT): Likewise.
29414         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
29415         * tests/test-vasprintf.c (ASSERT): Likewise.
29416         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
29417         * tests/test-vprintf-posix.c (ASSERT): Likewise.
29418         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
29419         * tests/test-vsnprintf.c (ASSERT): Likewise.
29420         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
29421         * tests/test-wcwidth.c (ASSERT): Likewise.
29422         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
29423         * tests/test-xprintf-posix.c (ASSERT): Likewise.
29424         * tests/test-xvasprintf.c (ASSERT): Likewise.
29425         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
29426         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
29427         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
29428         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
29429         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
29430         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
29431         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
29432         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
29433         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
29434         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
29435         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
29436         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
29437         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
29438         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
29439         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
29440         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
29441         * tests/unictype/test-block_list.c (ASSERT): Likewise.
29442         * tests/unictype/test-block_of.c (ASSERT): Likewise.
29443         * tests/unictype/test-block_test.c (ASSERT): Likewise.
29444         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
29445         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
29446         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
29447         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
29448         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
29449         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
29450         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
29451         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
29452         * tests/unictype/test-combining.c (ASSERT): Likewise.
29453         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
29454         * tests/unictype/test-digit.c (ASSERT): Likewise.
29455         * tests/unictype/test-mirror.c (ASSERT): Likewise.
29456         * tests/unictype/test-numeric.c (ASSERT): Likewise.
29457         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
29458         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
29459         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
29460         * tests/unictype/test-scripts.c (ASSERT): Likewise.
29461         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
29462         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
29463         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
29464         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
29465         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
29466         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
29467         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
29468         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
29469         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
29470         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
29471         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
29472         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
29473         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
29474         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
29475         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
29476         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
29477         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
29478         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
29479         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
29480         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
29481         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
29482         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
29483         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
29484         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
29485         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
29486         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
29487         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
29488         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
29489         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
29490         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
29491         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
29492         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
29493         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
29494         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
29495         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
29496         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
29497         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
29498         Reported by Eric Blake.
29499
29500 2008-04-11  Bruno Haible  <bruno@clisp.org>
29501
29502         * lib/wchar.in.h: Tweak comment.
29503
29504 2008-04-11  Bruno Haible  <bruno@clisp.org>
29505
29506         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
29507         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
29508         gl_COMMON.
29509         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
29510
29511 2008-04-11  Bruno Haible  <bruno@clisp.org>
29512
29513         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
29514
29515 2008-04-11  Simon Josefsson  <simon@josefsson.org>
29516
29517         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
29518         of attempting to use non-existing /dev/*random.  Based on patch
29519         from Adam Strzelecki <ono@java.pl> in
29520         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
29521
29522 2008-04-08  Bruno Haible  <bruno@clisp.org>
29523
29524         Add tentative support for emx+gcc.
29525         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
29526         * lib/fpurge.c (fpurge): Likewise.
29527         * lib/freadable.c (freadable): Likewise.
29528         * lib/freadahead.c (freadahead): Likewise.
29529         * lib/freading.c (freading): Likewise.
29530         * lib/freadptr.c (freadptr): Likewise.
29531         * lib/freadseek.c (freadptrinc): Likewise.
29532         * lib/fseeko.c (rpl_fseeko): Likewise.
29533         * lib/fseterr.c (fseterr): Likewise.
29534         * lib/fwritable.c (fwritable): Likewise.
29535         * lib/fwriting.c (fwriting): Likewise.
29536         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
29537
29538 2008-04-09  Eric Blake  <ebb9@byu.net>
29539
29540         Avoid some autoconf warnings.
29541         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
29542         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
29543         * m4/afs.m4 (gl_AFS): Likewise.
29544         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
29545         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
29546         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
29547         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
29548         (gl_INTEGER_TYPE_SUFFIX): Likewise.
29549         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
29550         (AC_CHECK_DECLS_ONCE): Likewise.
29551         Rename file...
29552         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
29553         gnulib-tool requires autoconf 2.59 or better.
29554         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
29555
29556 2008-04-08  Eric Blake  <ebb9@byu.net>
29557
29558         Use 'git describe --match' if present (added in git 1.5.5).
29559         * build-aux/git-version-gen: Limit result to tags that match 'v*'
29560         if possible.
29561
29562 2008-04-08  Bruno Haible  <bruno@clisp.org>
29563
29564         Add tentative support for OpenServer.
29565         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
29566         _ptr, _cnt.
29567         * lib/fpurge.c (fpurge): Likewise.
29568         * lib/freadable.c (freadable): Likewise.
29569         * lib/freadahead.c (freadahead): Likewise.
29570         * lib/freading.c (freading): Likewise.
29571         * lib/freadptr.c (freadptr): Likewise.
29572         * lib/freadseek.c (freadptrinc): Likewise.
29573         * lib/fseeko.c (rpl_fseeko): Likewise.
29574         * lib/fseterr.c (fseterr): Likewise.
29575         * lib/fwritable.c (fwritable): Likewise.
29576         * lib/fwriting.c (fwriting): Likewise.
29577         Reported by Roger Cornelius <rac@tenzing.org> and
29578         Brian K. White <brian@aljex.com>.
29579
29580 2008-04-06  Jim Meyering  <meyering@redhat.com>
29581
29582         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
29583
29584 2008-04-06  Bruno Haible  <bruno@clisp.org>
29585
29586         Avoid possible error with non-ASCII bytes in UTF-8 locales.
29587         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
29588         * tests/test-printf-posix.sh: Likewise.
29589         * tests/test-vfprintf-posix.sh: Likewise.
29590         * tests/test-vprintf-posix.sh: Likewise.
29591         * tests/test-xprintf-posix.sh: Likewise.
29592
29593 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29594
29595         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
29596         hide error from 'ls', needed on OS/2.
29597         Report by Elbert Pol <elbert.pol@gmail.com>.
29598
29599 2008-04-04  Eric Blake  <ebb9@byu.net>
29600
29601         Make test-fseeko.c failures meaningful.
29602         * tests/test-fseeko.c: Print line number on failure.
29603         * tests/test-fseek.c: Likewise.
29604         Reported by Nelson H. F. Beebe.
29605
29606         Improve strtod bug detection check.
29607         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
29608         required for Solaris 10.
29609         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
29610
29611 2008-04-04  Bruno Haible  <bruno@clisp.org>
29612
29613         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
29614         by m4/setenv.m4.
29615
29616 2008-04-03  Eric Blake  <ebb9@byu.net>
29617
29618         Ensure sane .version contents.
29619         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
29620         version string.
29621         * build-aux/git-version-gen: Improve documentation.
29622
29623         Make GNU make output nicer.
29624         * top/GNUmakefile [!_have-Makefile]: Add dependency on
29625         MAKECMDGOALS to enforce message for all command line targets.  Set
29626         srcdir for use in maint.mk.
29627
29628         Another maintainer tweak.
29629         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
29630         a target that regenerates version.
29631
29632 2008-04-03  Jim Meyering  <meyering@redhat.com>
29633
29634         vc-list-files: don't cause coreutils "make po-check" failure
29635         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
29636
29637 2008-04-03  Eric Blake  <ebb9@byu.net>
29638
29639         Allow VPATH usage of vc-list-files.
29640         * build-aux/vc-list-files (scriptversion): Add timestamp.
29641         (options): Add --help, --version, -C.
29642         (CVS): Support installed cvsu.
29643
29644 2008-04-02  Bruno Haible  <bruno@clisp.org>
29645
29646         Avoid some "statement with no effect" warnings from gcc.
29647         * tests/test-wctype.c (main): Explicitly ignore unused values.
29648         Reported by Jim Meyering.
29649
29650 2008-04-02  Jim Meyering  <meyering@redhat.com>
29651
29652         Avoid some warnings from "gcc -Wshadow".
29653         * tests/test-frexp.c (exp): Define to a different identifier.
29654         * tests/test-frexpl.c (exp): Likewise.
29655
29656 2008-04-03  Jim Meyering  <meyering@redhat.com>
29657
29658         bootstrap: remove dangling *.[ch] symlinks from lib
29659         * build-aux/bootstrap [dangling symlink removal]: Move find's
29660         -depth option to precede all others, to avoid a warning.
29661         Remove *.[ch] files too, and from "$source_base" (usually lib/).
29662
29663 2008-04-02  Bruno Haible  <bruno@clisp.org>
29664
29665         Avoid some warnings from "gcc -Wshadow".
29666         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
29667         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
29668         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
29669         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
29670         Reported by Jim Meyering.
29671
29672 2008-04-01  Bruno Haible  <bruno@clisp.org>
29673
29674         Fix test to work on IRIX 6.5 with cc.
29675         * tests/test-math.c (numeric_equal): New function.
29676         (main): Use it.
29677
29678 2008-04-01  Bruno Haible  <bruno@clisp.org>
29679
29680         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
29681
29682 2008-04-01  Bruno Haible  <bruno@clisp.org>
29683
29684         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
29685         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
29686         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
29687         (Depends-on): Remove math.
29688
29689         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
29690         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
29691         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
29692         (Depends-on): Remove math.
29693
29694         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
29695         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
29696         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
29697         (Depends-on): Remove math.
29698         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
29699         (Depends-on): Remove math.
29700
29701         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
29702         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
29703         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
29704         (Depends-on): Remove math.
29705         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
29706         (Depends-on): Remove math.
29707
29708         * tests/test-round1.c: Include nan.h.
29709         (main): Use NaNd instead of NAN.
29710         * modules/round-tests (Files): Add tests/nan.h.
29711
29712         * tests/test-trunc1.c: Include nan.h.
29713         (main): Use NaNd instead of NAN.
29714         * modules/trunc-tests (Files): Add tests/nan.h.
29715
29716         * tests/test-roundf1.c: Include nan.h.
29717         (main): Use NaNf instead of NAN.
29718         * modules/roundf-tests (Files): Add tests/nan.h.
29719
29720         * tests/test-truncf1.c: Include nan.h.
29721         (main): Use NaNf instead of NAN.
29722         * modules/truncf-tests (Files): Add tests/nan.h.
29723
29724         * tests/test-ceilf1.c: Include nan.h.
29725         (main): Use NaNf instead of NAN.
29726         * modules/ceilf-tests (Files): Add tests/nan.h.
29727
29728         * tests/test-floorf1.c: Include nan.h.
29729         (main): Use NaNf instead of NAN.
29730         * modules/floorf-tests (Files): Add tests/nan.h.
29731
29732         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
29733         (main): Use NaNf instead of NAN.
29734         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
29735
29736         * tests/test-isnand.c: Include nan.h instead of <math.h>.
29737         (main): Use NaNd instead of NAN.
29738         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
29739
29740         * tests/test-frexp.c: Include nan.h.
29741         (main): Use NaNd instead of NAN.
29742         * modules/frexp-tests (Files): Add tests/nan.h.
29743
29744         * lib/isnan.c: Don't include <math.h>.
29745         (FUNC): Don't use NAN macro.
29746         * modules/isnand-nolibm (Depends-on): Remove math.
29747         * modules/isnanf-nolibm (Depends-on): Remove math.
29748         * modules/isnanl (Depends-on): Remove math.
29749         * modules/isnanl-nolibm (Depends-on): Remove math.
29750
29751         * tests/nan.h: New file.
29752
29753 2008-04-01  Eric Blake  <ebb9@byu.net>
29754
29755         Fix typos.
29756         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
29757         values to be the right type.
29758
29759         For now, cater to gnulib strtod inaccuracies.
29760         * tests/test-strtod.c (main): Allow 1-ulp error on expected
29761         fractional results.  While not as nice from a QoI perspective, it
29762         is a quicker patch than correctly implementing decimal to binary
29763         rounding.
29764
29765 2008-03-31  Eric Blake  <ebb9@byu.net>
29766
29767         Guarantee a definition of NAN.
29768         * lib/math.in.h (NAN): Define if missing.
29769         * tests/test-math.c (main): Test it.
29770         * doc/posix-headers/math.texi (math.h): Document this.
29771         * lib/isnan.c (rpl_isnand): Use it.
29772         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
29773         * tests/test-floorf1.c (NaN): Likewise.
29774         * tests/test-frexp.c (NaN): Likewise.
29775         * tests/test-isnand.c (NaN): Likewise.
29776         * tests/test-isnanf.c (NaN): Likewise.
29777         * tests/test-round1.c (NaN): Likewise.
29778         * tests/test-roundf1.c (NaN): Likewise.
29779         * tests/test-snprintf-posix.h (NaN): Likewise.
29780         * tests/test-sprintf-posix.h (NaN): Likewise.
29781         * tests/test-trunc1.c (NaN): Likewise.
29782         * tests/test-truncf1.c (NaN): Likewise.
29783         * tests/test-vasnprintf-posix.c (NaN): Likewise.
29784         * tests/test-vasprintf-posix.c (NaN): Likewise.
29785         * modules/isnand-nolibm (Depends-on): Add math.
29786         * modules/isnanf-nolibm (Depends-on): Likewise.
29787         * modules/isnanl (Depends-on): Likewise.
29788         * modules/isnanl-nolibm (Depends-on): Likewise.
29789         * modules/snprintf-posix-tests (Depends-on): Likewise.
29790         * modules/sprintf-posix-tests (Depends-on): Likewise.
29791         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
29792         * modules/vsprintf-posix-tests (Depends-on): Likewise.
29793         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
29794         * modules/vasprintf-posix-tests (Depends-on): Likewise.
29795
29796 2008-03-31  Bruno Haible  <bruno@clisp.org>
29797
29798         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
29799         * doc/posix-functions/strtod.texi: Likewise.
29800
29801 2008-03-31  Bruno Haible  <bruno@clisp.org>
29802
29803         * tests/test-strtod.c (main): Don't use C99 syntax.
29804
29805 2008-03-31  Bruno Haible  <bruno@clisp.org>
29806
29807         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
29808         Reported by Eric Blake.
29809
29810 2008-03-31  Jim Meyering  <meyering@redhat.com>
29811
29812         Don't compare actual signbit return values.
29813         * tests/test-strtod.c (main): Rather, compare only their
29814         zero/non-zero nature.
29815
29816 2008-03-31  Eric Blake  <ebb9@byu.net>
29817
29818         More strtod documentation.
29819         * doc/posix-functions/strtod.texi (strtod): Interpret more test
29820         failures as distinct bugs.
29821
29822 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
29823
29824         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
29825         Problem reported by Erik Benada in
29826         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
29827
29828 2008-03-30  Bruno Haible  <bruno@clisp.org>
29829
29830         * tests/test-strtod.c: Add comments about which assertion fails on which
29831         platform.
29832         * doc/posix-functions/strtod.texi: Add info about many more platforms.
29833
29834 2008-03-30  Eric Blake  <ebb9@byu.net>
29835
29836         Test signbit behavior on zeros.
29837         * tests/test-signbit.c (test_signbitf): Add tests for zero.
29838         (test_signbitd, test_signbitl): Likewise.
29839
29840         More strtod touchups.
29841         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
29842         sign of negative underflow, for now.  Use .5, not .1.
29843         * doc/posix-functions/strtod.texi (strtod): Mention these
29844         limitations.
29845         Reported by Jim Meyering.
29846
29847 2008-03-30  Bruno Haible  <bruno@clisp.org>
29848
29849         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
29850         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
29851
29852 2008-03-30  Bruno Haible  <bruno@clisp.org>
29853
29854         Avoid failure when attempting to return empty iconv results on some
29855         platforms.
29856         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
29857         allocation, don't report ENOMEM when the resulting string is empty.
29858
29859 2008-03-30  Bruno Haible  <bruno@clisp.org>
29860
29861         Fix buffer overrun.
29862         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
29863         Don't consider the width for tmp_length. Check count against tmp_length
29864         before doing the padding. Ensure enough allocation during padding.
29865
29866 2008-03-30  Eric Blake  <ebb9@byu.net>
29867
29868         strtod touchups.
29869         * lib/strtod.c (strtod): Avoid compiler warnings.
29870         Reported by Jim Meyering.
29871
29872 2008-03-30  Bruno Haible  <bruno@clisp.org>
29873
29874         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
29875         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
29876         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
29877         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
29878         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
29879         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
29880         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
29881         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
29882
29883         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
29884         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
29885         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
29886         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
29887         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
29888         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
29889         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
29890         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
29891
29892         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
29893         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
29894         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
29895         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
29896         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
29897         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
29898         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
29899         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
29900
29901         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
29902         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
29903
29904         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
29905         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
29906
29907         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
29908         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
29909
29910         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
29911         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
29912         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
29913
29914         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
29915         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
29916         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
29917
29918         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
29919         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
29920         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
29921
29922         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
29923         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
29924         * modules/vasprintf (Depends-on): Add EOVERFLOW.
29925
29926         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
29927         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
29928         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
29929         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
29930         (Depends-on): Add EOVERFLOW.
29931         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
29932         (Depends-on): Add EOVERFLOW.
29933         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
29934         (Depends-on): Add EOVERFLOW.
29935         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
29936         (Depends-on): Add EOVERFLOW.
29937         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
29938         (Depends-on): Add EOVERFLOW.
29939         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
29940         (Depends-on): Add EOVERFLOW.
29941         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
29942         (Depends-on): Add EOVERFLOW.
29943         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
29944         (Depends-on): Add EOVERFLOW.
29945
29946         * lib/sprintf.c (EOVERFLOW): Remove fallback.
29947         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
29948         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
29949
29950         * lib/snprintf.c (EOVERFLOW): Remove fallback.
29951         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
29952         * modules/snprintf (Depends-on): Add EOVERFLOW.
29953
29954         * lib/poll.c (EOVERFLOW): Remove fallback.
29955         * modules/poll (Depends-on): Add EOVERFLOW.
29956
29957         * lib/getugroups.c (EOVERFLOW): Remove fallback.
29958         * modules/getugroups (Depends-on): Add EOVERFLOW.
29959
29960         * lib/getdelim.c (EOVERFLOW): Remove fallback.
29961         * modules/getdelim (Depends-on): Add EOVERFLOW.
29962
29963         * lib/ftell.c (EOVERFLOW): Remove fallback.
29964         * modules/ftell (Depends-on): Add EOVERFLOW.
29965
29966         * lib/fprintf.c (EOVERFLOW): Remove fallback.
29967         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
29968         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
29969
29970         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
29971
29972         * modules/EOVERFLOW-tests: New file.
29973         * tests/test-EOVERFLOW.c: New file.
29974
29975         * modules/EOVERFLOW: New file.
29976         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
29977
29978 2008-03-30  Bruno Haible  <bruno@clisp.org>
29979
29980         Fix bug introduced on 2007-06-10.
29981         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
29982         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
29983
29984 2008-03-30  Bruno Haible  <bruno@clisp.org>
29985
29986         Improve freadseek's efficiency after ungetc.
29987         * lib/freadseek.c: Include freadahead.h.
29988         (freadptrinc): New function, extracted from freadseek.
29989         (freadseek): Use it in a loop. Use freadahead to determine the number
29990         of loop iterations.
29991         * modules/freadseek (Depends-on): Add freadahead.
29992         (configure.ac): Require AC_C_INLINE.
29993
29994 2008-03-30  Bruno Haible  <bruno@clisp.org>
29995
29996         * lib/freadseek.c (freadseek): Don't ignore the return value of
29997         freadptr.
29998
29999 2008-03-29  Eric Blake  <ebb9@byu.net>
30000
30001         Add hex float support.
30002         * modules/strtod (Depends-on): Add c-ctype.
30003         (Link): Mention POW_LIB.
30004         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
30005         whitespace between 'e' and exponent.
30006         * tests/test-strtod.c (main): Enable hex float tests.
30007         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
30008         now provides.
30009
30010         Document various strtod bugs, with some fixes.
30011         * doc/posix-functions/strtod.texi (strtod): Document bugs with
30012         "-0x", "inf", "nan", and hex constants.
30013         * doc/posix-functions/atof.texi (atof): Likewise.
30014         * modules/stdlib (Makefile.am): Support strtod.
30015         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
30016         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
30017         detect additional strtod bugs.
30018         * lib/stdlib.in.h (rpl_strtod): Add declarations.
30019         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
30020         bool where appropriate.  Parse 'inf' and 'nan'.
30021         * tests/test-strtod.c: New file.
30022         * modules/strtod (Depends-on): Add stdbool, stdlib.
30023         (configure.ac): Turn on module indicator.
30024         * modules/strtod-tests: New module.
30025
30026 2008-03-29  Eric Blake  <ebb9@byu.net>
30027
30028         Fix ftell on mingw.
30029         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
30030         * modules/ftell-tests (Depends-on): Add binary-io.
30031         * modules/ftello-tests (Depends-on): Likewise.
30032         * tests/test-ftell.c (main): Enhance test to cover behavior after
30033         ungetc.  Enforce binary mode.
30034         * tests/test-ftello.c (main): Likewise.
30035
30036         Pass test-freadseek on cygwin.
30037         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
30038         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
30039         ungetc buffer.
30040
30041         * tests/test-fflush2.c (main): Fix typo.
30042
30043 2008-03-29  Bruno Haible  <bruno@clisp.org>
30044
30045         * tests/test-fflush2.c (main): Temporarily disable the contents of
30046         this test.
30047         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
30048         Reported by Eric Blake.
30049
30050 2008-03-28  Simon Josefsson  <simon@josefsson.org>
30051
30052         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
30053         (GC_SHA224_DIGEST_SIZE): Add.
30054
30055         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
30056         (gc_hash_digest_length): Likewise.
30057         (gc_hash_buffer): Likewise.
30058
30059 2008-03-25  Bruno Haible  <bruno@clisp.org>
30060
30061         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
30062         detail which gettext release to use.
30063         Reported by Simon Josefsson.
30064
30065 2008-03-26  Jim Meyering  <meyering@redhat.com>
30066
30067         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
30068         * modules/gnumakefile (clean-GNUmakefile): Also, use
30069         test ... && ... || : syntax rather than if-then ... fi.
30070
30071         gnumakefile: Don't double-quote-expand $(VPATH) value.
30072         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
30073
30074 2008-03-24  Eric Blake  <ebb9@byu.net>
30075
30076         Alter GNUmakefile to install into top directory.
30077         * modules/maintainer-makefile: Split, and add dependency...
30078         * modules/gnumakefile: to this new module.
30079         * build-aux/GNUmakefile: Move...
30080         * top/GNUmakefile: ...here.
30081         * build-aux/maint.mk: Move...
30082         * top/maint.mk: ...here.
30083         * MODULES.html.sh (Support for maintaining...): Document new
30084         module.
30085
30086 2008-03-23  Bruno Haible  <bruno@clisp.org>
30087
30088         * gnulib-tool: New options --vc-files, --no-vc-files.
30089         (func_usage): Document them.
30090         (vc_files): New variable.
30091         (func_import): Consider vc_files.
30092         (func_create_testdir): Set vc_files to empty.
30093         Suggested by Jim Meyering and Karl Berry.
30094
30095 2008-03-23  Bruno Haible  <bruno@clisp.org>
30096
30097         Fix regex compilation error on HP-UX 11.
30098         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
30099         * modules/regex (Files): Add m4/mbstate_t.m4.
30100         Reported by Ton Voon <ton.voon@altinity.com>.
30101
30102 2008-03-23  Bruno Haible  <bruno@clisp.org>
30103
30104         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
30105
30106 2008-03-23  Eric Blake  <ebb9@byu.net>
30107             Bruno Haible  <bruno@clisp.org>
30108
30109         Install files from top/ in the destination directory.
30110         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
30111         augmentation also for the files from top/.
30112         (func_import, func_create_testdir): Rewrite file names:
30113         top/filename -> filename.
30114
30115 2008-03-23  Bruno Haible  <bruno@clisp.org>
30116
30117         Tweak "gnulib --version" output.
30118         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
30119
30120 2008-03-23  Bruno Haible  <bruno@clisp.org>
30121
30122         Tweak "gnulib --version" output.
30123         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
30124         rather than contents of ChangeLog, when possible.
30125
30126 2008-03-21  Eric Blake  <ebb9@byu.net>
30127
30128         More --version tweaks.
30129         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
30130         date of last ChangeLog entry.
30131
30132 2008-03-21  Jim Meyering  <meyering@redhat.com>
30133
30134         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
30135
30136 2008-03-20  Eric Blake  <ebb9@byu.net>
30137
30138         VPATH fix.
30139         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
30140
30141 2008-03-20  Simon Josefsson  <simon@josefsson.org>
30142
30143         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
30144         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
30145
30146 2008-03-20  Eric Blake  <ebb9@byu.net>
30147
30148         Sync GNUmakefile with coreutils.
30149         * build-aux/GNUmakefile (have-Makefile): Rename...
30150         (_have-Makefile): ...to this, for namespace consideration.
30151         (GNUmakefile.cfg): Include, if present.
30152         (_autoreconf): Define a default.
30153         (_is-dist-target): New rule for rebuilds to pick up intra-release
30154         version.
30155         (maint-cfg.mk): Rename...
30156         (cfg.mk): ...to this.
30157
30158 2008-03-18  Jim Meyering  <meyering@redhat.com>
30159
30160         New script and module: mktempd
30161         * MODULES.html.sh (maint+release support): Add mktempd.
30162         * build-aux/mktempd: New file.
30163         * modules/mktempd: New file.
30164
30165 2008-03-15  Jim Meyering  <meyering@redhat.com>
30166
30167         Undo last change.
30168         * lib/sha1.c, lib/md5.c: 63 != ~63.
30169         Reported by Andreas Schwab.
30170
30171         sha1.c, md5.c: Hoist a redundant expression.
30172         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
30173         "ctx->buflen" only once, before calling *_process_block.
30174         * lib/md5.c (md5_process_bytes): Likewise.
30175
30176 2008-03-14  Eric Blake  <ebb9@byu.net>
30177
30178         Bump copyright year in files generated by gnulib-tool.
30179         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
30180         gnulib-tool, rather than hard-coding it.
30181
30182         Fix 'gnulib-tool --version' output to work with git.
30183         * gnulib-tool (func_gnulib_dir): New function, extracted from...
30184         (startup): ...here.
30185         (func_version): Use it to invoke git-version-gen, rather than
30186         relying on CVS keyword expansion.  Modernize wording.
30187         (cvsdatestamp, last_checkin_date, version): Kill unused
30188         variables.
30189
30190 2008-03-12  Jim Meyering  <meyering@redhat.com>
30191
30192         Recognize optional cast of the argument to free.
30193         * build-aux/useless-if-before-free: Update regexps.
30194
30195         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
30196
30197 2008-03-11  Bruno Haible  <bruno@clisp.org>
30198
30199         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
30200         by a single package.
30201         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
30202         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
30203         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
30204         Reported by Sam Steingold <sds@gnu.org>.
30205
30206 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
30207
30208         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
30209         repositories.
30210
30211 2008-03-11  Bruno Haible  <bruno@clisp.org>
30212
30213         Avoid conflicts between local macro definitions.
30214         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
30215         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
30216
30217 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
30218             Bruno Haible  <bruno@clisp.org>
30219
30220         Make va_copy work with some version of xlc on AIX 5.1.
30221         * lib/stdarg.in.h: New file.
30222         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
30223         On AIX, use a <stdarg.h> file substitute.
30224         * modules/stdarg (Files): Add lib/stdarg.in.h.
30225         (Depends-on): Add include_next.
30226         (Makefile.am): Build a stdarg.h substitute if requested.
30227         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
30228
30229 2008-03-10  Bruno Haible  <bruno@clisp.org>
30230
30231         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
30232         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
30233         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
30234
30235 2008-03-10  Bruno Haible  <bruno@clisp.org>
30236
30237         * modules/stdlib (Depends-on): Add include_next, remove
30238         absolute-header.
30239
30240 2008-03-09  Bruno Haible  <bruno@clisp.org>
30241
30242         * lib/freadahead.h (freadahead): Document more precisely.
30243         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
30244         the sum of both buffer sizes.
30245         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
30246         * NEWS: Document the change.
30247
30248 2008-03-09  Bruno Haible  <bruno@clisp.org>
30249
30250         Extend freadptr to return also the buffer size.
30251         * lib/freadptr.h (freadptr): Add sizep argument.
30252         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
30253         (freadptr): Add sizep argument. Determine buffer size like freadahead
30254         does.
30255         * tests/test-freadptr.c: Don't include freadahead.h.
30256         (main): Adapt for new calling convention of freadptr.
30257         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
30258         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
30259         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
30260         tests/test-freadptr2.sh.
30261         (Depends): Remove freadahead.
30262         (TESTS): Add test-freadptr2.sh.
30263         (check_PROGRAMS): Add test-freadptr2.
30264
30265 2008-03-09  Bruno Haible  <bruno@clisp.org>
30266
30267         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
30268         Report and solution by Simon Josefsson.
30269
30270 2008-03-06  Bruno Haible  <bruno@clisp.org>
30271
30272         Make fflush after ungetc work on BSD platforms.
30273         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
30274         * tests/test-fflush2.c: New file.
30275         * tests/test-fflush2.sh: New file.
30276         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
30277         tests/test-fflush2.c.
30278         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
30279         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
30280
30281 2008-03-06  Eric Blake  <ebb9@byu.net>
30282
30283         Likewise for ftello.
30284         * modules/ftello (Dependencies): Add extensions.
30285         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
30286
30287 2008-03-06  Bruno Haible  <bruno@clisp.org>
30288
30289         * modules/fseeko (Dependencies): Add extensions.
30290         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
30291         Needed on glibc systems.
30292
30293 2008-03-06  Bruno Haible  <bruno@clisp.org>
30294
30295         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
30296         email address.
30297         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
30298
30299 2008-03-06  Bruno Haible  <bruno@clisp.org>
30300
30301         * users.txt: Add libgnupdf.
30302
30303 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
30304
30305         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
30306         (Header File Substitutes, Function Substitutes,
30307         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
30308         (Build robot for gnulib): Fix typo.
30309
30310 2008-03-06  Bruno Haible  <bruno@clisp.org>
30311
30312         * doc/gnulib-tool.texi (VCS Issues): Small updates.
30313         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
30314
30315 2008-03-06  Bruno Haible  <bruno@clisp.org>
30316
30317         * doc/func.texi: New file, extracted from doc/gnulib.texi.
30318         * doc/gnulib.texi: Include it.
30319
30320 2008-03-06  Simon Josefsson  <simon@josefsson.org>
30321
30322         * modules/func (License): Change license to unlimited; there was
30323         no LGPL parts in the module anyway.
30324
30325 2008-03-06  Simon Josefsson  <simon@josefsson.org>
30326
30327         * modules/__func__: Renamed to modules/func.
30328         * modules/__func__-tests: Renamed to modules/func-tests.
30329         * tests/test-__func__.c: Renamed to tests/test-func.c.
30330         * m4/__func__.m4: Renamed to m4/func.m4.
30331         * doc/gnulib.texi (__func__): Section renamed to func.
30332         Suggested by Eric Blake <ebb9@byu.net>.
30333
30334 2008-03-06  Simon Josefsson  <simon@josefsson.org>
30335
30336         * doc/gnulib.texi (__func__): Use C99 terminology when talking
30337         about __func__.  Make example self-contained.  Suggested by Eric
30338         Blake <ebb9@byu.net>.
30339
30340         * tests/test-__func__.c (main): Avoid extraneous () around __func.
30341         Suggested by Eric Blake <ebb9@byu.net>.
30342
30343 2008-03-06  Simon Josefsson  <simon@josefsson.org>
30344
30345         * modules/__func__: New file.
30346         * modules/__func__-tests: New file.
30347         * tests/test-__func__.c: New file.
30348         * m4/__func__.m4: New file.
30349         * doc/gnulib.texi (__func__): Document __func__ module.
30350
30351 2008-03-05  Simon Josefsson  <simon@josefsson.org>
30352
30353         * modules/byteswap (License): Re-license as LGPLv2+.
30354
30355 2008-03-05  Simon Josefsson  <simon@josefsson.org>
30356
30357         * doc/Makefile: Add pdf target.
30358
30359 2008-03-05  Simon Josefsson  <simon@josefsson.org>
30360
30361         * modules/inline (License): Use 'unlimited', since there are only
30362         *.m4 files in this module.
30363
30364 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
30365             Bruno Haible  <bruno@clisp.org>
30366
30367         Add support for HP C 7.1 on OpenVMS 8.3.
30368         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
30369
30370 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
30371
30372         Update VMS specifics.
30373         * lib/getopt.c [VMS]: Remove include of unixlib.h.
30374
30375 2008-03-02  Jim Meyering  <meyering@redhat.com>
30376
30377         Remove the last dependency on the "free" module.
30378         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
30379         Reported by Bob Proulx.
30380
30381         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
30382
30383         Remove useless "if" tests before free.  Deprecate "free" module.
30384         * doc/posix-functions/free.texi: Mention that this
30385         module is no longer useful.
30386         * modules/free (Notice): Say this module is obsolete.
30387         * modules/readutmp (Depends-on): Remove free.
30388         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
30389         * lib/putenv.c (putenv): Likewise.
30390         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
30391         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
30392         * tests/test-c-strcasestr.c (main): Likewise.
30393         * tests/test-c-strstr.c (main): Likewise.
30394         * tests/test-mbscasestr1.c (main): Likewise.
30395         * tests/test-mbscasestr2.c (main): Likewise.
30396         * tests/test-mbsstr1.c (main): Likewise.
30397         * tests/test-mbsstr2.c (main): Likewise.
30398         * tests/test-memmem.c (main): Likewise.
30399         * tests/test-strcasestr.c (main): Likewise.
30400         * tests/test-striconv.c (main): Likewise.
30401         * tests/test-striconveh.c (main): Likewise.
30402         * tests/test-striconveha.c (main): Likewise.
30403         * tests/test-strstr.c (main): Likewise.
30404
30405         * build-aux/git-version-gen: Adjust a comment and the Usage string.
30406
30407         bootstrap: sync from coreutils again
30408         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
30409
30410 2008-03-01  Jim Meyering  <meyering@redhat.com>
30411
30412         bootstrap: sync from coreutils
30413         * build-aux/bootstrap (update_po_files): Copy a .po file into place
30414         also when the target doesn't exist.
30415
30416 2008-03-01  Eric Blake  <ebb9@byu.net>
30417
30418         Fix bugs in last patch.
30419         * lib/memchr2.c (memchr2): Fix typo.
30420         * tests/test-memchr2.c: Test previous bug, and don't use GNU
30421         extension.
30422         Reported by Bruce Korb.
30423
30424         New module 'memchr2'.
30425         * modules/memchr2: New file.
30426         * modules/memchr2-tests: Likewise.
30427         * lib/memchr2.h: Likewise.
30428         * lib/memchr2.c: Likewise, based on memchr.c.
30429         * tests/test-memchr2.c: New test.
30430         * MODULES.html.sh (String handling): Add memchr2.
30431
30432 2008-02-29  Bruno Haible  <bruno@clisp.org>
30433
30434         * modules/freadseek-tests: New file.
30435         * tests/test-freadseek.sh: New file.
30436         * tests/test-freadseek.c: New file.
30437
30438         New module 'freadseek'.
30439         * modules/freadseek: New file.
30440         * lib/freadseek.h: New file.
30441         * lib/freadseek.c: New file.
30442         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
30443
30444 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
30445
30446         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
30447         wydawca.
30448
30449         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
30450         program_invocation_name and program_invocation_short_name are
30451         present.
30452
30453 2008-02-28  Bruno Haible  <bruno@clisp.org>
30454
30455         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
30456         * tests/test-freadptr.sh: Also test non-seekable stdin.
30457
30458 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
30459
30460         * build-aux/bootstrap (source_base, m4_base)
30461         (doc_base, tests_base): New variables.
30462         (gnulib_tool_options): Do not hardcode base directories, use
30463         the above variables instead.
30464
30465 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
30466
30467         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
30468
30469 2008-02-28  Bruno Haible  <bruno@clisp.org>
30470
30471         * modules/freadptr-tests: New file.
30472         * tests/test-freadptr.sh: New file.
30473         * tests/test-freadptr.c: New file.
30474
30475         New module 'freadptr'.
30476         * modules/freadptr: New file.
30477         * lib/freadptr.h: New file.
30478         * lib/freadptr.c: New file.
30479         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
30480
30481 2008-02-26  Karl Berry  <karl@freefriends.org>
30482
30483         Sync from Libtool:
30484         * libltdl/argz.c (argz_add, argz_count): New functions.
30485         * libltdl/argz.in.h: Declare them.
30486         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
30487
30488 2008-02-22  Bruno Haible  <bruno@clisp.org>
30489
30490         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
30491         is a pointer type.  Needed for HP-UX 10.
30492         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
30493         * doc/posix-functions/gmtime_r.texi: Likewise.
30494         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
30495
30496 2008-02-24  Bruno Haible  <bruno@clisp.org>
30497
30498         * modules/environ-tests: New file.
30499         * tests/test-environ.c: New file.
30500
30501         New module 'environ'.
30502         * modules/environ: New file.
30503         * lib/unistd.in.h (environ): New declaration.
30504         * m4/environ.m4: New file.
30505         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
30506         after use.
30507         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
30508         HAVE_DECL_ENVIRON.
30509         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
30510         HAVE_DECL_ENVIRON.
30511         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
30512         wrong claim that 'environ' is missing on some systems.
30513         * modules/execute (Depends-on): Add environ.
30514         * lib/execute.c (environ): Remove fallback declaration.
30515         * modules/pipe (Depends-on): Add environ.
30516         * lib/pipe.c (environ): Remove fallback declaration.
30517         * modules/setenv (Depends-on): Add environ.
30518         * lib/setenv.c (environ): Remove fallback declaration.
30519         * modules/unsetenv (Depends-on): Add environ.
30520         * lib/unsetenv.c (environ): Remove fallback declaration.
30521         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
30522         m4/environ.m4.
30523         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
30524         (gl_PREREQ_UNSETENV): Likewise.
30525
30526 2008-02-24  Bruno Haible  <bruno@clisp.org>
30527
30528         * doc/posix-functions/environ.texi: Document the MacOS X problem.
30529
30530 2008-02-20  Bob Proulx  <bob@proulx.com>
30531
30532         Enable use of older two part flavor 'git describe'.
30533         * build-aux/git-version-gen: If using the older two part flavor of
30534         git version then recreate the third part now present in the
30535         newer three part flavor of git describe.
30536
30537 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
30538
30539         * lib/fts.c (fts_build): Typo correction to comment.
30540
30541 2008-02-17  Bruno Haible  <bruno@clisp.org>
30542
30543         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
30544         generating no-op conflicts.
30545
30546 2008-02-17  Bruno Haible  <bruno@clisp.org>
30547
30548         Speed up by 10%.
30549         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
30550         result_entries, rather than an index-based loop.
30551
30552 2008-02-17  Bruno Haible  <bruno@clisp.org>
30553
30554         Speed up by 25%.
30555         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
30556         'hashcode_cached'.
30557         (entry_create): New function.
30558         (entry_hashcode): Use the cached hashcode if possible.
30559         (read_changelog_file, try_split_merged_entry): Use entry_create.
30560
30561 2008-02-17  Bruno Haible  <bruno@clisp.org>
30562
30563         Speed up from O(n^2) to O(n) for long ChangeLog files.
30564         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
30565         (read_changelog_file): Change implementation of entries_reversed list
30566         to rbtreehash.
30567         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
30568
30569 2008-02-17  Bruno Haible  <bruno@clisp.org>
30570
30571         New option --split-merged-entry.
30572         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
30573         (find_paragraph_end, try_split_merged_entry): New functions.
30574         (long_options): Add option --split-merged-entry.
30575         (usage): Document option --split-merged-entry.
30576         (main): Implement option --split-merged-entry.
30577         Reported by Eric Blake.
30578
30579 2008-02-17  Bruno Haible  <bruno@clisp.org>
30580
30581         * lib/git-merge-changelog.c: Include c-strstr.h.
30582         (main): Support the "git pull --rebase" situation.
30583         * modules/git-merge-changelog (Depends-on): Add c-strstr.
30584         Reported by Eric Blake.
30585
30586 2008-02-16  Eric Blake  <ebb9@byu.net>
30587
30588         Avoid doubling \ in common case of "c-maybe" quoting style.
30589         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
30590         eliding outer quotes.
30591         * lib/quotearg.h: Document this.
30592         * tests/test-quotearg.c (result_strings, inputs, results_g)
30593         (flag_results, locale_results): Test it by adding a new string to
30594         each test group.
30595         (compare_strings): Test new string.
30596
30597 2008-02-13  Eric Blake  <ebb9@byu.net>
30598
30599         Avoid trigraph quoting in default output.
30600         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
30601         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
30602         unless explicitly requested.
30603         * tests/test-quotearg.c (flag_results, main): Add additional tests.
30604
30605 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
30606
30607         Don't rely on signed integer overflowing to negative value.
30608         * lib/getugroups.c (getugroups): Include <limits.h>.
30609         Instead, compare against INT_MAX, and increment only if the test passes.
30610
30611 2008-02-13  Jim Meyering  <meyering@redhat.com>
30612         and Eric Blake  <ebb9@byu.net>
30613
30614         Avoid shadowing warning and compile errors on Linux.
30615         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
30616         forwarding macros on Linux.
30617         (dcgettext): Define a stub, for Linux.
30618         (results_g, main): Avoid warnings.
30619
30620 2008-02-12  Eric Blake  <ebb9@byu.net>
30621
30622         Silence warning in last patch.
30623         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
30624
30625         Quotearg part 4: add tests, fix c-maybe colon quoting.
30626         * lib/quotearg.h: Improve documentation.
30627         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
30628         escapes when adding outer quotes.  When quoting trigraphs, use
30629         valid C notation.  When quoting NUL, omit extra characters if next
30630         character is not digit.  Alter prototype.
30631         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
30632         callers.
30633         * modules/quotearg-tests: New module.
30634         * tests/test-quotearg.c: New test.
30635
30636 2008-02-07  Eric Blake  <ebb9@byu.net>
30637
30638         Quotearg part 3: add flag to control outer quote elision.
30639         * lib/quotearg.h (c_maybe_quoting_style): New style.
30640         (enum quoting_flags): Better documentation of flags.
30641         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
30642         c-maybe style.
30643         (quotearg_buffer_restyled): Handle new flag to elide outer
30644         quotes.
30645
30646         Quotearg part 2: add flag that can control NUL elision.
30647         * lib/quotearg.h (set_quoting_flags): New prototype.
30648         * lib/quotearg.c (struct quoting_options): Add flag field.
30649         (set_quoting_flags): New function.
30650         (quotearg_buffer_restyled): Add flags parameter.
30651         (quotearg_alloc_mem): Set the flag if length cannot be returned.
30652         (quotearg_n_options): Set the flag, since length cannot be
30653         returned.
30654         (quoting_options_from_style): Default flags correctly.
30655
30656         Quotearg part 1: more wrappers, restore quotearg_char state.
30657         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
30658         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
30659         (quotearg_colon_mem): New wrappers.
30660         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
30661         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
30662         functions.
30663         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
30664         (quotearg_colon_mem): New functions.
30665
30666 2008-02-11  Bruno Haible  <bruno@clisp.org>
30667
30668         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
30669         library in the current directory: it does not work with parallel make.
30670         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30671
30672 2008-02-11  Bruno Haible  <bruno@clisp.org>
30673
30674         * .gitattributes: New file.
30675
30676 2008-02-11  Jim Meyering  <meyering@redhat.com>
30677
30678         useless-if-before-free: Fix reversed exit values.
30679         * build-aux/useless-if-before-free: Use correct values
30680         for EXIT_MATCH and EXIT_NO_MATCH.
30681
30682         * build-aux/useless-if-before-free: Close stdout carefully.
30683
30684 2008-02-10  Bruno Haible  <bruno@clisp.org>
30685
30686         New module 'git-merge-changelog'.
30687         * modules/git-merge-changelog: New file.
30688         * lib/git-merge-changelog.c: New file.
30689
30690 2008-02-10  Jim Meyering  <meyering@redhat.com>
30691
30692         useless-if-before-free: New option: --list (-l).
30693
30694         useless-if-before-free: Don't exit immediately upon open failure.
30695         * build-aux/useless-if-before-free: Exit 2 for errors.
30696         Upon failure to open a file, don't exit immediately.
30697         Rather, just warn and continue with any remaining files.
30698
30699 2008-02-10  Bruno Haible  <bruno@clisp.org>
30700
30701         New abstract list operation 'node_set_value'.
30702         * lib/gl_list.h (gl_list_node_set_value): New function.
30703         (struct gl_list_implementation): New field node_set_value.
30704         * lib/gl_list.c (gl_list_node_set_value): New function.
30705         * lib/gl_array_list.c (gl_array_node_set_value): New function.
30706         (gl_array_list_implementation): Update.
30707         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
30708         (gl_carray_list_implementation): Update.
30709         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
30710         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
30711         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
30712         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
30713         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
30714         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
30715         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
30716         Update.
30717         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
30718         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
30719         (gl_sublist_list_implementation): Update.
30720
30721 2008-02-10  Bruno Haible  <bruno@clisp.org>
30722
30723         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
30724         Needed when ELEMENT is #defined to 'some_type *'.
30725
30726 2008-02-10  Jim Meyering  <meyering@redhat.com>
30727
30728         New script and module: useless-if-before-free
30729         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
30730         * build-aux/useless-if-before-free: New file.
30731         * modules/useless-if-before-free: New file.
30732
30733         * build-aux/gitlog-to-changelog: Use committer date, not author date.
30734
30735         xstrtol_error: Fix typo.
30736         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
30737         s/exit_failure/exit_status/.
30738
30739 2008-02-09  Jim Meyering  <meyering@redhat.com>
30740
30741         New script and module: gitlog-to-changelog
30742         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
30743         * modules/gitlog-to-changelog: New file.
30744         * build-aux/gitlog-to-changelog: New file.
30745
30746 2008-02-08  Jim Meyering  <meyering@redhat.com>
30747
30748         Avoid two "parameter unused" warnings.
30749         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
30750         Mark "st" as used.
30751
30752         Use "git COMMAND", not "git-COMMAND".
30753         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
30754         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
30755         * build-aux/git-version-gen: Use "git status", not "git-status".
30756
30757 2008-02-07  Bruno Haible  <bruno@clisp.org>
30758
30759         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
30760         Avoids a crash on Windows Vista.
30761         Reported by Adam Strzelecki <ono@java.pl> via
30762         Simon Josefsson <simon@josefsson.org>.
30763
30764 2008-02-06  Bruno Haible  <bruno@clisp.org>
30765
30766         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
30767         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
30768         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
30769         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
30770         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
30771         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
30772         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
30773         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
30774         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
30775         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
30776         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
30777         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
30778         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
30779         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
30780         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
30781         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
30782         left-adjust flag.
30783         * tests/test-snprintf-posix.h (test_function): Likewise.
30784         * tests/test-sprintf-posix.h (test_function): Likewise.
30785         * tests/test-vasprintf-posix.c (test_function): Likewise.
30786         * doc/posix-functions/fprintf.texi: Update.
30787         * doc/posix-functions/printf.texi: Update.
30788         * doc/posix-functions/snprintf.texi: Update.
30789         * doc/posix-functions/sprintf.texi: Update.
30790         * doc/posix-functions/vfprintf.texi: Update.
30791         * doc/posix-functions/vprintf.texi: Update.
30792         * doc/posix-functions/vsnprintf.texi: Update.
30793         * doc/posix-functions/vsprintf.texi: Update.
30794         Reported by Peter Fales <psfales@alcatel-lucent.com>.
30795
30796 2008-02-06  Bruno Haible  <bruno@clisp.org>
30797
30798         Fix bug introduced on 2008-01-26.
30799         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
30800
30801 2008-02-06  Bruno Haible  <bruno@clisp.org>
30802
30803         Fix bug introduced on 2007-06-10.
30804         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
30805         !NEED_PRINTF_FLAG_ZERO.
30806
30807 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
30808
30809         getloadavg: use libperfstat on AIX5
30810         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
30811
30812 2008-02-03  Bruno Haible  <bruno@clisp.org>
30813
30814         * lib/diffseq.h: Add comments about required #includes.
30815         Reported by Michael Biggs <gnulib@doubleplum.net>.
30816
30817 2008-02-01  Bruno Haible  <bruno@clisp.org>
30818
30819         * users.txt: Add gnuit.
30820
30821 2008-01-31  Bruno Haible  <bruno@clisp.org>
30822
30823         * lib/md4.c (set_uint32): Mark as inline.
30824         * lib/md5.c (set_uint32): Likewise.
30825         * lib/sha1.c (set_uint32): Likewise.
30826         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
30827         * m4/md5.m4 (gl_MD5): Likewise.
30828         * m4/sha1.m4 (gl_SHA1): Likewise.
30829
30830 2008-01-31  Jim Meyering  <meyering@redhat.com>
30831
30832         Use "sizeof VAR", rather than a literal "4".
30833         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
30834         * lib/md4.c (md4_read_ctx): Likewise.
30835         * lib/sha1.c (sha1_read_ctx): Likewise.
30836
30837 2008-01-31  Simon Josefsson  <simon@josefsson.org>
30838
30839         * tests/test-sha1.c: New file, based on test-md5.c.
30840
30841         * modules/crypto/sha1-tests: New file.
30842
30843 2008-01-31  Simon Josefsson  <simon@josefsson.org>
30844
30845         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
30846
30847 2008-01-31  Jim Meyering  <meyering@redhat.com>
30848
30849         Prefer "sizeof v" over the equivalent "4".
30850         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
30851         * lib/md5.c (set_uint32): Likewise.
30852         * lib/sha1.c (set_uint32): Likewise.
30853
30854 2008-01-31  Simon Josefsson  <simon@josefsson.org>
30855
30856         * lib/sha1.c (set_uint32): Mark function as static.
30857
30858 2008-01-31  Simon Josefsson  <simon@josefsson.org>
30859
30860         md2: clarify comments to say that alignment is not required.
30861         * lib/md2.h: Remove warning about alignment in comment.
30862         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
30863         never been required.
30864
30865 2008-01-31  Simon Josefsson  <simon@josefsson.org>
30866
30867         md4: adapt alignment constraint fix from sha1.
30868         * lib/md4.c (set_uint32): New function, from sha1.c
30869         (md4_read_ctx): Use it.
30870         (md4_finish_ctx): Doc fix.
30871         * lib/md4.h: Doc fix.
30872
30873 2008-01-31  Simon Josefsson  <simon@josefsson.org>
30874
30875         md5: adapt alignment constraint fix from sha1.
30876         * lib/md5.c (set_uint32): New function, from sha1.c
30877         (md5_read_ctx): Use it.
30878         (md5_finish_ctx): Doc fix.
30879         * lib/md5.h: Doc fix.
30880
30881 2008-01-30  Peter Palfrader  <weasel@debian.org>
30882
30883         sha1: remove the result buffer alignment constraint
30884         * lib/sha1.c (set_uint32): New function.
30885         (sha1_read_ctx): Rewrite to remove the result buffer alignment
30886         constraint.
30887         (sha1_finish_ctx): Remove comment warning about alignment constraint.
30888         * lib/sha1.h: Likewise.
30889
30890 2008-01-30  Andreas Schwab  <schwab@suse.de>
30891             Bruno Haible  <bruno@clisp.org>
30892
30893         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
30894         correct definition of LDBL_MIN_EXP.
30895
30896 2008-01-30  Karl Berry  <karl@gnu.org>
30897
30898         * config/srclist-update: try to preserve x bit on updates.
30899         * config/srclistvars.sh: update for karl.
30900
30901 2008-01-29  Jim Meyering  <meyering@redhat.com>
30902
30903         vasnprintf.c: Avoid warning about unused label
30904         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
30905         "overflow" label definition and associated code with the
30906         same cpp condition that guards the sole use of that label.
30907
30908 2008-01-26  Bruno Haible  <bruno@clisp.org>
30909
30910         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
30911         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
30912         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
30913         * lib/isnanl-nolibm.h (isnanl): Likewise.
30914         Reported by Paul Eggert <eggert@cs.ucla.edu>.
30915
30916 2008-01-26  Bruno Haible  <bruno@clisp.org>
30917
30918         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
30919         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
30920
30921 2008-01-26  Bruno Haible  <bruno@clisp.org>
30922
30923         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
30924         GCC >= 4.0 built-in.
30925         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
30926
30927 2008-01-26  Bruno Haible  <bruno@clisp.org>
30928
30929         Rename isnan, applicable to 'double' only, to isnand.
30930         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
30931         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
30932         (configure.ac): Update.
30933         (Include): Replace "isnan.h" with "isnand.h".
30934         * m4/isnand.m4: Renamed from m4/isnan.m4.
30935         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
30936         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
30937         instead of isnan.c.
30938         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
30939         instead of HAVE_ISNAN_IN_LIBC.
30940         (isnand): Renamed from isnan.
30941         * lib/isnand.c: New file.
30942         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
30943         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
30944         (Makefile.am): Update.
30945         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
30946         Include isnand.h instead of isnan.h.
30947         (main): Test isnand instead of isnan.
30948         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
30949         isnan-nolibm.
30950         * modules/frexp (Depends-on): Likewise.
30951         * modules/frexp-tests (Depends-on): Likewise.
30952         * modules/frexp-nolibm (Depends-on): Likewise.
30953         * modules/frexp-nolibm-tests (Depends-on): Likewise.
30954         * modules/isfinite (Depends-on): Likewise.
30955         * modules/round-tests (Depends-on): Likewise.
30956         * modules/signbit (Depends-on): Likewise.
30957         * modules/signbit-tests (Depends-on): Likewise.
30958         * modules/snprintf-posix (Depends-on): Likewise.
30959         * modules/sprintf-posix (Depends-on): Likewise.
30960         * modules/trunc-tests (Depends-on): Likewise.
30961         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
30962         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
30963         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
30964         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
30965         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
30966         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
30967         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
30968         * modules/vasnprintf-posix (Depends-on): Likewise.
30969         * modules/vasprintf-posix (Depends-on): Likewise.
30970         * modules/vfprintf-posix (Depends-on): Likewise.
30971         * modules/vsnprintf-posix (Depends-on): Likewise.
30972         * modules/vsprintf-posix (Depends-on): Likewise.
30973         * lib/frexp.c: Include isnand.h instead of isnan.h.
30974         (ISNAN): Set to isnand instead of isnan.
30975         * lib/isfinite.c: Include isnand.h instead of isnan.h.
30976         (gl_isfinited): Use isnand instead of isnan.
30977         * lib/signbitd.c: Include isnand.h instead of isnan.h.
30978         (gl_signbitd): Use isnand instead of isnan.
30979         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
30980         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
30981         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
30982         (main): Use isnand instead of isnan.
30983         * tests/test-round1.c: Include isnand.h.
30984         (main): Use isnand instead of isnan.
30985         * tests/test-round2.c: Include isnand.h instead of isnan.h.
30986         (ISNAN): Set to isnand instead of isnan.
30987         * tests/test-trunc1.c: Include isnand.h.
30988         (main): Use isnand instead of isnan.
30989         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
30990         (equal): Use isnand instead of isnan.
30991         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
30992         isnand-nolibm.
30993         * NEWS: Mention the change.
30994
30995 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
30996             Bruno Haible  <bruno@clisp.org>
30997
30998         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
30999         the GCC builtins for signbits are present and set
31000         REPLACE_SIGNBIT_USING_GCC if so.
31001         * lib/math.in.h (signbit): Define using GCC builtins if
31002         REPLACE_SIGNBIT_USING_GCC is set.
31003         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
31004         REPLACE_SIGNBIT_USING_GCC.
31005         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
31006
31007 2008-01-25  Jim Meyering  <meyering@redhat.com>
31008
31009         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
31010         * lib/poll.c: Include <config.h>, not "config.h".
31011         * tests/test-getaddrinfo.c: Likewise.
31012
31013 2008-01-25  Simon Josefsson  <simon@josefsson.org>
31014
31015         * modules/sockets-tests: New file.
31016
31017 2008-01-24  Simon Josefsson  <simon@josefsson.org>
31018
31019         * modules/sockets: New module, can be used to call WSA_Startup and
31020         WSA_Cleanup when needed.
31021
31022         * lib/sockets.h, lib/sockets.c: New files.
31023
31024         * m4/sockets.m4: New file.
31025
31026         * tests/test-sockets.c: New file.
31027
31028 2008-01-19  Bruno Haible  <bruno@clisp.org>
31029
31030         * doc/posix-headers: Renamed from doc/headers.
31031         * doc/posix-functions: Renamed from doc/functions.
31032         * doc/gnulib.texi: Update.
31033
31034 2008-01-19  Bruno Haible  <bruno@clisp.org>
31035
31036         * doc/glibc-functions/strcasestr.texi: Include contents of
31037         doc/functions/strcasestr.texi, fixing the list of platforms.
31038         * doc/functions/strcasestr.texi: Remove file.
31039
31040 2008-01-19  Bruno Haible  <bruno@clisp.org>
31041
31042         * doc/glibc-functions/memmem.texi: Include contents of
31043         doc/functions/memmem.texi.
31044         * doc/functions/memmem.texi: Remove file.
31045
31046 2008-01-18  Bruno Haible  <bruno@clisp.org>
31047
31048         * doc/glibc-functions/*.texi: New files.
31049         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
31050         to use the new files.
31051
31052 2008-01-17  Bruno Haible  <bruno@clisp.org>
31053
31054         * tests/test-gethostname.c (main): Fix printf statement.
31055
31056 2008-01-17  Simon Josefsson  <simon@josefsson.org>
31057
31058         * modules/gethostname-tests: New file.
31059
31060         * tests/test-gethostname.c: New file.
31061
31062 2008-01-17  Simon Josefsson  <simon@josefsson.org>
31063
31064         * lib/gethostname.c: Include string.h unconditionally, strncpy is
31065         used by the UNAME case.  Reported by Bruno Haible
31066         <bruno@clisp.org>.
31067
31068 2008-01-17  Eric Blake  <ebb9@byu.net>
31069
31070         Convert c-strcasestr to be more efficient.
31071         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
31072         (Depends-on): Add c-strcase, remove malloca, strnlen.
31073         * tests/test-c-strcasestr.c (main): Enhance test.
31074         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
31075
31076 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
31077
31078         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
31079         Use it in creating po/Makevars.
31080
31081 2008-01-15  Simon Josefsson  <simon@josefsson.org>
31082
31083         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
31084         Applications that requires it should initialize libgcrypt
31085         manually.
31086
31087 2008-01-16  Simon Josefsson  <simon@josefsson.org>
31088
31089         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
31090
31091 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
31092
31093         Fix problem with getdate on mingw32 reported by Simon Josefsson
31094         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
31095         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
31096         tzname", when deciding whether to declare tzname.
31097         * lib/strftime.c (tzname): Likewise.
31098
31099 2008-01-15  Bruno Haible  <bruno@clisp.org>
31100
31101         Work around a MacOS X 10.5 bug in frexpl().
31102         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
31103         * doc/functions/frexpl.texi: Document the bug.
31104         Reported by Elias Pipping <pipping@gentoo.org>.
31105
31106 2008-01-14  Eric Blake  <ebb9@byu.net>
31107
31108         Touch up previous patch.
31109         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
31110         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
31111
31112         Convert strcasestr module to use Two-Way algorithm.
31113         * modules/strcasestr-simple: New module, based on the old
31114         strcasestr, but with Two-Way rather than KMP.
31115         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
31116         * lib/string.in.h (rpl_strcasestr): Declare.
31117         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
31118         performance.
31119         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
31120         * modules/string (Makefile.am): Support strcasestr.
31121         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
31122         * modules/strcasestr-tests (Depends-on): Check for alarm.
31123         * tests/test-strcasestr.c: Augment test.
31124         * lib/str-two-way.h: Clean up stray macro.
31125         * NEWS: Document new module.
31126         * MODULES.html.sh (string handling): Likewise.
31127         * doc/functions/strcasestr.texi: New file.
31128         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
31129         here, since it is not a POSIX function.
31130
31131 2008-01-14  Colin Watson  <cjwatson@debian.org>
31132             Bruno Haible  <bruno@clisp.org>
31133
31134         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
31135         works fine; if not, set REPLACE_STRSIGNAL.
31136         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
31137         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
31138         REPLACE_STRSIGNAL.
31139         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
31140         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
31141         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
31142
31143 2008-01-14  Bruno Haible  <bruno@clisp.org>
31144
31145         * modules/strsignal (Include): Change to <string.h>.
31146
31147 2008-01-14  Colin Watson  <cjwatson@debian.org>
31148
31149         * modules/argp (Notice): Add a notice recommending to change
31150         XGETTEXT_OPTIONS.
31151         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
31152
31153 2008-01-13  Colin Watson  <cjwatson@debian.org>
31154
31155         * modules/strsignal-tests: New file.
31156         * tests/test-strsignal.c: New file.
31157
31158         * lib/strsignal.c: New file, from glibc with modifications.
31159         * lib/siglist.h: New file, from glibc with modifications.
31160         * lib/string.in.h (strsignal): New declaration.
31161         * m4/strsignal.m4: New file.
31162         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
31163         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
31164         * modules/strsignal: New file.
31165         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
31166         HAVE_DECL_STRSIGNAL.
31167
31168 2008-01-13  Bruno Haible  <bruno@clisp.org>
31169
31170         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
31171         locale encoding is not ASCII. Needed for OpenBSD 4.0.
31172         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
31173         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
31174
31175 2008-01-13  Bruno Haible  <bruno@clisp.org>
31176
31177         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
31178         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
31179         * lib/argp.h (__attribute__): Likewise.
31180         * lib/c-stack.c (__attribute__): Likewise.
31181         * lib/error.h (__attribute__): Likewise.
31182         * lib/fts.c (__attribute__): Likewise.
31183         * lib/openat.h (__attribute__): Likewise.
31184         * lib/stdio.in.h (__attribute__): Likewise.
31185         * lib/string.in.h (__attribute__): Likewise.
31186         * lib/utimens.c (__attribute__): Likewise.
31187         * lib/vasnprintf.h (__attribute__): Likewise.
31188         * lib/xalloc.h (__attribute__): Likewise.
31189         * lib/xprintf.h (__attribute__): Likewise.
31190         * lib/xstrtol.h (__attribute__): Likewise.
31191         * lib/xvasprintf.h (__attribute__): Likewise.
31192
31193 2008-01-12  Bruno Haible  <bruno@clisp.org>
31194
31195         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
31196         * doc/glibc-headers/a.out.texi: New file.
31197         * doc/glibc-headers/aliases.texi: New file.
31198         * doc/glibc-headers/alloca.texi: New file.
31199         * doc/glibc-headers/ar.texi: New file.
31200         * doc/glibc-headers/argp.texi: New file.
31201         * doc/glibc-headers/argz.texi: New file.
31202         * doc/glibc-headers/byteswap.texi: New file.
31203         * doc/glibc-headers/crypt.texi: New file.
31204         * doc/glibc-headers/endian.texi: New file.
31205         * doc/glibc-headers/envz.texi: New file.
31206         * doc/glibc-headers/err.texi: New file.
31207         * doc/glibc-headers/error.texi: New file.
31208         * doc/glibc-headers/execinfo.texi: New file.
31209         * doc/glibc-headers/fpu_control.texi: New file.
31210         * doc/glibc-headers/fstab.texi: New file.
31211         * doc/glibc-headers/fts.texi: New file.
31212         * doc/glibc-headers/getopt.texi: New file.
31213         * doc/glibc-headers/ieee754.texi: New file.
31214         * doc/glibc-headers/ifaddrs.texi: New file.
31215         * doc/glibc-headers/libintl.texi: New file.
31216         * doc/glibc-headers/mcheck.texi: New file.
31217         * doc/glibc-headers/mntent.texi: New file.
31218         * doc/glibc-headers/obstack.texi: New file.
31219         * doc/glibc-headers/paths.texi: New file.
31220         * doc/glibc-headers/printf.texi: New file.
31221         * doc/glibc-headers/pty.texi: New file.
31222         * doc/glibc-headers/resolv.texi: New file.
31223         * doc/glibc-headers/shadow.texi: New file.
31224         * doc/glibc-headers/sysexits.texi: New file.
31225         * doc/glibc-headers/ttyent.texi: New file.
31226
31227 2008-01-12  Jim Meyering  <meyering@redhat.com>
31228
31229         announce-gen: emit Gnulib's git-based version string.
31230         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
31231         New option --gnulib-version=V, where V is expected to be
31232         the output of running git describe in the gnulib directory.
31233         (get_tool_versions): Request feedback on xdelta.  I suspect it's
31234         not useful, and plan to stop publishing an xdelta file with each
31235         coreutils release.
31236
31237         * build-aux/announce-gen: Also check for lzma-compressed files.
31238
31239 2008-01-11  Bruno Haible  <bruno@clisp.org>
31240
31241         * tests/test-memmem.c (main): Increase maximum allowed time.
31242         * tests/test-strstr.c (main): Likewise.
31243
31244 2008-01-11  Bruno Haible  <bruno@clisp.org>
31245
31246         * doc/functions/memmem.texi: Add more precisions about platforms.
31247         * doc/functions/strstr.texi: Likewise.
31248
31249 2008-01-10  Eric Blake  <ebb9@byu.net>
31250
31251         * m4/strstr.m4: Delete cruft from copy-n-paste.
31252         Reported by Bruno Haible.
31253
31254 2008-01-10  Bruno Haible  <bruno@clisp.org>
31255
31256         Make c-strstr rely on strstr.
31257         * lib/c-strstr.c: Don't include str-kmp.h.
31258         (c_strstr): Define in terms of strstr.
31259         * modules/c-strstr (Files): Remove lib/str-kmp.h.
31260         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
31261
31262 2008-01-10  Bruno Haible  <bruno@clisp.org>
31263
31264         * doc/gnulib.texi (String Functions in C Locale): New section.
31265         * doc/c-ctype.texi: New file.
31266         * doc/c-strcase.texi: New file.
31267         * doc/c-strcaseeq.texi: New file.
31268         * doc/c-strcasestr.texi: New file.
31269         * doc/c-strstr.texi: New file.
31270         * doc/c-strtod.texi: New file.
31271         * doc/c-strtold.texi: New file.
31272
31273 2008-01-10  Eric Blake  <ebb9@byu.net>
31274
31275         * lib/relocatable.h: Fix a comment.
31276
31277 2008-01-10  Eric Blake  <ebb9@byu.net>
31278
31279         Share two-way algorithm.
31280         * lib/str-two-way.h: New file, merged from...
31281         * lib/memmem.c: ...here...
31282         * lib/strstr.c: ...and here.
31283         * modules/memmem (Files): Use it.
31284         * modules/strstr (Files): Likewise.
31285
31286         Avoid quadratic strstr implementations.
31287         * lib/strstr.c: New file.
31288         * m4/strstr.m4: Likewise.
31289         * modules/strstr: Likewise.
31290         * modules/strstr-tests: Likewise.
31291         * tests/test-strstr.c: Likewise.
31292         * lib/string.in.h (rpl_strstr): Declare.
31293         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
31294         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
31295         * modules/string (Makefile.am): Likewise.
31296         * MODULES.html.sh (string handling): Mention new module.
31297         * doc/functions/strstr.texi (strstr): Document the bug.
31298
31299 2008-01-10  Bruno Haible  <bruno@clisp.org>
31300
31301         * lib/relocatable.h (relocate): State whether result is freshly
31302         allocated or not.
31303         * lib/relocatable.c (relocate): Return a freshly allocated string
31304         instead of a pointer to a privately held string.
31305         Reported by Sylvain Beucler <beuc@gnu.org>.
31306
31307 2008-01-10  Colin Watson  <cjwatson@debian.org>
31308
31309         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
31310         s/S_ISNLK/S_ISLNK/.
31311
31312 2008-01-09  Bruno Haible  <bruno@clisp.org>
31313
31314         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
31315         and other files.
31316         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
31317         if it's only a guess.
31318         * modules/memmem: Simplify by depending on memmem-simple.
31319
31320 2008-01-09  Bruno Haible  <bruno@clisp.org>
31321
31322         Work around OpenBSD 4.0 tdelete() bug.
31323         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
31324         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
31325         macros and don't redefine the enum values.
31326         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
31327         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
31328         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
31329
31330 2008-01-09  Bruno Haible  <bruno@clisp.org>
31331
31332         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
31333         (main): Don't perform the tests if setlocale did not install a UTF-8
31334         locale. Needed on OpenBSD 4.0.
31335         * modules/wcwidth-tests (Depends-on): Add localcharset.
31336
31337 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
31338
31339         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
31340         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
31341         * NEWS: announce this.
31342         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
31343
31344 2008-01-09  Simon Josefsson  <simon@josefsson.org>
31345         and Eric Blake  <ebb9@byu.net>
31346
31347         Add memmem-simple module.
31348         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
31349         (gl_FUNC_MEMMEM): Separate performance from presence checks.
31350         * modules/memmem-simple: New file.
31351         * modules/memmem (Description): Tweak.
31352         * MODULES.html.sh (string handling): Mention new module.
31353         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
31354         addressed by memmem-simple.
31355         * NEWS: Document the difference.
31356
31357 2008-01-09  Eric Blake  <ebb9@byu.net>
31358
31359         Give gcc some memmem optimization hints.
31360         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
31361         (strcasestr): Declare as pure.
31362         * modules/memmem (Maintainer): Claim my implementation.
31363
31364 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31365
31366         Support AIX 6.1 and higher.
31367         * build-aux/config.libpath: Likewise.
31368         * build-aux/config.rpath: Likewise.
31369
31370 2008-01-08  Jim Meyering  <meyering@redhat.com>
31371             Bruno Haible  <bruno@clisp.org>
31372
31373         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
31374         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
31375         Reported by Peter Fales in
31376         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
31377
31378 2008-01-08  Bruno Haible  <bruno@clisp.org>
31379
31380         * modules/unictype/category-of (Depends-on): Add
31381         unictype/category-none.
31382         * modules/unictype/category-and-tests (Depends-on): Add
31383         unictype/category-{L,N,Lu,Nd}.
31384         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
31385         * modules/unictype/category-or-tests (Depends-on): Add
31386         unictype/category-{L,N}.
31387         * modules/unictype/category-name-tests (Depends-on): Add
31388         unictype/category-{Z,Nl}.
31389         Reported by Simon Josefsson.
31390
31391 2008-01-08  Bruno Haible  <bruno@clisp.org>
31392
31393         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
31394         convention better.
31395         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
31396         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
31397         Reported by Peter Miller <millerp@canb.auug.org.au>.
31398
31399 2008-01-08  Eric Blake  <ebb9@byu.net>
31400
31401         Rewrite memmem to guarantee linear complexity without malloc.
31402         * lib/memmem.c (memmem): Use Two-Way rather than
31403         Knuth-Morris-Pratt, to allow O(1) space usage.
31404         (critical_factorization, two_way_short_needle)
31405         (two_way_long_needle): New functions.
31406         (knuth_morris_pratt): Delete.
31407         * modules/memmem (Depends-on): No longer need malloca or stdbool.
31408         Add stdint.
31409         * tests/test-memmem.c (main): Add tests for periodic needle and
31410         sublinear performance.
31411         * doc/functions/memmem.texi (memmem): Document other deficiencies
31412         in cygwin and older glibc.
31413
31414 2008-01-08  Bruno Haible  <bruno@clisp.org>
31415
31416         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
31417         augmentation.
31418
31419 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
31420
31421         Add a configure time option: --disable-acl.
31422         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
31423         AC_ARG_ENABLE(acl).
31424
31425 2008-01-06  Simon Josefsson  <simon@josefsson.org>
31426
31427         * tests/test-localename.c: Don't include obsolete "setenv.h".
31428
31429         * modules/localename-tests (Depends-on): Need unsetenv.
31430
31431 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31432
31433         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
31434
31435 2008-01-06  Colin Watson  <cjwatson@debian.org>
31436
31437         * users.txt: Add man-db.
31438
31439 2008-01-07  Bruno Haible  <bruno@clisp.org>
31440
31441         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
31442         previous section name.
31443
31444 2008-01-07  Bruno Haible  <bruno@clisp.org>
31445
31446         * lib/progname.c (set_program_name): Don't strip off a leading
31447         "lt-" prefix outside a .libs directory.
31448         Suggested by Paul Eggert.
31449
31450 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
31451             Bruno Haible  <bruno@clisp.org>
31452
31453         Improve memory cleanup in 'relocatable' module.
31454         * lib/relocatable.h (compute_curr_prefix): Change return type to
31455         'char *'.
31456         * lib/relocatable.c (compute_curr_prefix): Change return type to
31457         'char *'. Free curr_installdir after use.
31458         (relocate): Free curr_prefix_better after use.
31459         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
31460
31461 2008-01-01  Bruno Haible  <bruno@clisp.org>
31462
31463         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
31464         failure on older glibc systems.
31465         Reported by Peter Fales <psfales@alcatel-lucent.com>.
31466
31467 2008-01-05  Eric Blake  <ebb9@byu.net>
31468
31469         Avoid quadratic system memmem.
31470         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
31471         Reported by Ralf Wildenhues.
31472
31473         Fix memmem test for mingw.
31474         * modules/memmem-tests (configure.ac): Check for alarm.
31475         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
31476         it.
31477         * doc/functions/memmem.texi: New file.
31478         * doc/gnulib.texi (Function Substitutes): Add memmem.
31479         Reported by Bruno Haible.
31480
31481 2008-01-04  Bruno Haible  <bruno@clisp.org>
31482
31483         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
31484         Require gl_HEADER_STRINGS_H_DEFAULTS, not
31485         gl_HEADER_STRING_H_DEFAULTS.
31486
31487 2008-01-04  Eric Blake  <ebb9@byu.net>
31488
31489         Shorten duration of memmem test.
31490         * tests/test-memmem.c (main): Use alarm to declare failure if test
31491         is taking too long.
31492         Reported by Ralf Wildenhues.
31493
31494 2007-12-21  Simon Josefsson  <simon@josefsson.org>
31495
31496         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
31497         string, needed by strerror.
31498
31499 2008-01-03  Colin Watson  <cjwatson@debian.org>
31500             Bruno Haible  <bruno@clisp.org>
31501
31502         * doc/gnulib-tool.texi (Localization): New section.
31503
31504 2008-01-02  Bruno Haible  <bruno@clisp.org>
31505
31506         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
31507         variables to 'unsigned char *' type.
31508         Reported by Paul Eggert.
31509
31510 2008-01-02  Jim Meyering  <jim@meyering.net>
31511
31512         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
31513
31514 2007-12-31  Jim Meyering  <jim@meyering.net>
31515
31516         Avoid use of private FTS type name.
31517         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
31518
31519 2007-12-30  Karl Berry  <karl@gnu.org>
31520
31521         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
31522         work around defect in Texinfo and/or the standalone Info browser.
31523
31524 2007-12-30  Bruno Haible  <bruno@clisp.org>
31525
31526         Unify 5 copies of the KMP code.
31527         * lib/str-kmp.h: New file.
31528         * lib/c-strcasestr.c: Include str-kmp.h.
31529         (knuth_morris_pratt): Remove function.
31530         (c_strcasestr): Update.
31531         * lib/c-strstr.c: Include str-kmp.h.
31532         (knuth_morris_pratt): Remove function.
31533         (c_strcasestr): Update.
31534         * lib/mbscasestr.c: Include str-kmp.h.
31535         (knuth_morris_pratt_unibyte): Remove function.
31536         * lib/mbsstr.c: Include str-kmp.h.
31537         (knuth_morris_pratt_unibyte): Remove function.
31538         * lib/strcasestr.c: Include str-kmp.h.
31539         (knuth_morris_pratt): Remove function.
31540         (strcasestr): Update.
31541         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
31542         * modules/c-strstr (Files): Likewise.
31543         * modules/mbscasestr (Files): Likewise.
31544         * modules/mbsstr (Files): Likewise.
31545         * modules/strcasestr (Files): Likewise.
31546         Suggested by Paul Eggert.
31547
31548 2007-12-30  Bruno Haible  <bruno@clisp.org>
31549
31550         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
31551         defined.
31552
31553 2007-12-30  Bruno Haible  <bruno@clisp.org>
31554
31555         * lib/xmalloca.h: Include xalloc.h.
31556         (xnmalloca): New macro.
31557
31558 2007-12-30  Bruno Haible  <bruno@clisp.org>
31559
31560         * lib/malloca.h (nmalloca): New macro.
31561         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
31562         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
31563         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
31564         knuth_morris_pratt_multibyte): Likewise.
31565         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
31566         knuth_morris_pratt_multibyte): Likewise.
31567         * lib/memmem.c (knuth_morris_pratt): Likewise.
31568         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
31569
31570 2007-12-25  Bruno Haible  <bruno@clisp.org>
31571
31572         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
31573         * lib/glob.c: Don't include openat.h.
31574         (link_exists2_p): Add back the code that deals with the
31575         !GLOB_ALTDIRFUNC case.
31576         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
31577         let it do the filename concatenation.
31578         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
31579         * modules/glob (Depends-on): Remove openat.
31580
31581 2007-12-31  Bruno Haible  <bruno@clisp.org>
31582
31583         * modules/dirfd (License): Change to LGPLv2+.
31584         Approved by Jim Meyering.
31585
31586 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
31587
31588         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
31589         when multiplying M by sizeof (size_t).
31590
31591 2007-12-10  Martin Lambers  <marlam@marlam.de>
31592
31593         Override getpagesize on mingw.
31594         * lib/getpagesize.c: New file.
31595         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
31596         * modules/getpagesize (Files): Add lib/getpagesize.c.
31597         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
31598         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
31599         REPLACE_GETPAGESIZE.
31600         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
31601
31602 2007-12-25  Bruno Haible  <bruno@clisp.org>
31603
31604         * modules/localcharset (Notice): New field.
31605         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
31606         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
31607
31608 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
31609             Bruno Haible  <bruno@clisp.org>
31610
31611         Avoid using the syntax symbol() in formatted documentation.
31612         * MODULES.html.sh (func_module): When replacing symbol() with a
31613         hyperlink, remove the parentheses. Show an error if some remain.
31614         Recognize and render the '...' syntax.
31615         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
31616         Rework. Add paragraph about GCC's inlining.
31617         * doc/alloca.texi: Likewise.
31618         * doc/error.texi: Remove parentheses from symbol reference.
31619         * doc/gnulib-intro.texi: Likewise.
31620         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
31621         * modules/fnmatch (Description): Reword to say "the ... function".
31622         * modules/full-read (Description): Likewise.
31623         * modules/full-write (Description): Likewise.
31624         * modules/safe-read (Description): Likewise.
31625         * modules/safe-write (Description): Likewise.
31626         * modules/strchrnul (Description): Likewise.
31627         * modules/trim (Description): Likewise.
31628         * modules/error (Description): Remove parentheses from symbol
31629         references.
31630         * modules/verror (Description): Likewise.
31631         Reported by Karl Berry.
31632
31633 2007-12-25  Bruno Haible  <bruno@clisp.org>
31634
31635         Fixup after 2007-10-16 commit.
31636         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
31637
31638 2007-12-24  Bruno Haible  <bruno@clisp.org>
31639
31640         Make --enable-relocatable work with DESTDIR.
31641         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
31642         to compute installdir from destprog.
31643         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
31644         also set the RELOC_DESTDIR variable.
31645         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
31646
31647 2007-12-24  Bruno Haible  <bruno@clisp.org>
31648
31649         Fix link error due to xalloc_die().
31650         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
31651         of xreadlink.
31652         * lib/relocwrapper.c: Update comments.
31653         * build-aux/install-reloc: Remove xreadlink.c from file list.
31654         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
31655         xreadlink.c.
31656         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
31657
31658 2007-12-24  Bruno Haible  <bruno@clisp.org>
31659
31660         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
31661         * lib/setenv.h: Remove file.
31662         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
31663         lib/setenv.h.
31664         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
31665         (Depends-on): Add stdlib.
31666         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
31667         gl_FUNC_UNSETENV.
31668         (Include): Replace setenv.h with <stdlib.h>.
31669         * modules/unsetenv: New file.
31670         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
31671         * lib/unsetenv.c: Include <stdlib.h> first.
31672         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
31673         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
31674         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
31675         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
31676         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
31677         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
31678         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
31679         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
31680         * doc/functions/unsetenv.texi: Update.
31681         * modules/xsetenv (Depends-on): Add unsetenv.
31682         * modules/getdate (Depends-on): Likewise.
31683         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
31684         * lib/xsetenv.c: Don't include setenv.h.
31685         * lib/getdate.y: Likewise.
31686         * lib/relocwrapper.c: Likewise.
31687         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
31688         (Depends-on): Add stdlib.
31689         * NEWS: Mention the changes.
31690         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
31691
31692 2007-12-23  Bruno Haible  <bruno@clisp.org>
31693
31694         * lib/memmem.c (memmem): Use lowercase variable names. Tab
31695         indentation.
31696
31697 2007-12-23  Bruno Haible  <bruno@clisp.org>
31698
31699         * lib/c-strcasestr.c: Add more comments.
31700         * lib/c-strstr.c: Likewise.
31701         * lib/mbscasestr.c: Likewise.
31702         * lib/mbsstr.c: Likewise.
31703         * lib/strcasestr.c: Likewise.
31704         * lib/memmem.c: Likewise.
31705
31706 2007-12-23  Bruno Haible  <bruno@clisp.org>
31707
31708         * tests/test-memmem.c: Include <string.h> first.
31709
31710 2007-12-22  Bruno Haible  <bruno@clisp.org>
31711
31712         * gnulib-tool (func_create_testdir): Change $auxdir while generating
31713         the contents of $testsbase.
31714         Reported by Ralf Wildenhues.
31715
31716 2007-12-22  Bruno Haible  <bruno@clisp.org>
31717
31718         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
31719         two variables local_ldadd_before, local_ldadd_last.
31720
31721 2007-12-20  Eric Blake  <ebb9@byu.net>
31722
31723         Work around circular library issue when cross-compiling.
31724         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
31725         that progname.o does not need to pull in rpl_memcmp.
31726
31727 2007-12-19  Eric Blake  <ebb9@byu.net>
31728
31729         Fix memmem to avoid O(n^2) worst-case complexity.
31730         * lib/memmem.c (knuth_morris_pratt): New function.
31731         (memmem): Use it if first few naive iterations fail.
31732         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
31733         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
31734         * modules/memchr (License): Likewise.
31735         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
31736         malloca.
31737         * tests/test-memmem.c: Rewrite, borrowing ideas from
31738         test-mbsstr1.c; the old version wouldn't even compile!
31739         * modules/memmem-tests: New file.
31740         * lib/string.in.h (rpl_memmem): Add declaration.
31741         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
31742         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
31743         REPLACE_MEMMEM.
31744
31745 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
31746
31747         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
31748         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
31749         before any system include files, and undef after them all.  This
31750         should fix a problem on VMS reported by John E. Malmberg in
31751         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
31752
31753 2007-12-17  Eric Blake  <ebb9@byu.net>
31754
31755         Revert addition of verify, for BSD/OS.
31756         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
31757         can't handle large files, for the sake of obsolete platforms.
31758         * modules/fseeko (Depends-on): Remove verify.
31759         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
31760         * doc/functions/ftello.texi (ftello): Likewise.
31761         * doc/functions/fgetpos.texi (fgetpos): Likewise.
31762         Reported by Larry Jones.
31763
31764 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
31765
31766         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
31767         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
31768
31769 2007-12-17  Jim Meyering  <meyering@redhat.com>
31770
31771         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
31772         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
31773         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
31774         * modules/getcwd (Depends-on): Add openat.
31775         Reported by Petr Salinger.
31776
31777 2007-12-17  Bruno Haible  <bruno@clisp.org>
31778
31779         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
31780         avoid a segmentation fault of the configure test on x86_64 systems.
31781
31782 2007-12-15  Jim Meyering  <meyering@redhat.com>
31783
31784         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
31785
31786 2007-12-13  Eric Blake  <ebb9@byu.net>
31787
31788         Another fseek test.
31789         * tests/test-fseek.c (main): Also test ungetc handling.
31790         * tests/test-fseeko.c (main): Likewise.
31791         * modules/fseeko (Depends-on): Add verify.
31792         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
31793         large.
31794         Reported by Larry Jones.
31795
31796         Fix fseeko on mingw.
31797         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
31798         seek.
31799
31800         Beef up fseek tests.
31801         * tests/test-fseek.c (main): Also test eof handling.
31802         * tests/test-fseeko.c (main): Likewise.
31803         Reported by Larry Jones.
31804
31805 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
31806
31807         Fix fseeko on BSD-based platforms.
31808         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
31809         successful seek.
31810
31811 2007-12-12  Eric Blake  <ebb9@byu.net>
31812
31813         Allow circular dependency of separate libtests.a
31814         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
31815         when use_libtests.
31816
31817 2007-12-11  Eric Blake  <ebb9@byu.net>
31818
31819         Fix bug with -0.0L in previous patch.
31820         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
31821         * tests/test-isnan.c (main): Also test on zeroes.
31822         * tests/test-isnanf.c (main): Likewise.
31823         * tests/test-isnanl.h (main): Likewise.
31824
31825         Detect pseudo-denormals on x86 even when cross-compiling.
31826         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
31827         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
31828         invalid bit patterns that happen to satisfy ==.
31829
31830         Avoid link failures with separate libtests.a.
31831         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
31832         last, to satisfy circular dependencies.
31833
31834 2007-12-11  Eric Blake  <ebb9@byu.net>
31835         and Bruno Haible  <bruno@clisp.org>
31836
31837         Fix OpenBSD 4.0 <float.h> handling of long double.
31838         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
31839         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
31840         * doc/headers/float.texi (float.h): Document OpenBSD bug.
31841
31842 2007-12-11  Jim Meyering  <meyering@redhat.com>
31843
31844         * users.txt: Add libvirt.
31845
31846         Support versions of autoconf prior to 2.59c.
31847         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
31848         if it is not already defined.
31849
31850 2007-12-09  Bruno Haible  <bruno@clisp.org>
31851
31852         Let 'gnulib-tool --import' collect sources needed for the tests in
31853         tests/ rather than in lib/.
31854         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
31855         argument. If true, add rules to generate libtests.a, and put libtests.a
31856         into $(LDADD). Consider source files in subdirectories and set
31857         uses_subdirs.
31858         (func_emit_initmacro_start, func_emit_initmacro_end,
31859         func_emit_initmacro_done): Pass all arguments explicitly.
31860         (func_import): Determine two module lists main_modules,
31861         testsrelated_modules. Determine use_libtests. Determine two variables
31862         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
31863         instead of just sed_transform_lib_file. Determine two variables
31864         main_files and testsrelated_files. Compute 'files' as the union of
31865         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
31866         func_add_or_update. In the generated gnulib-comp.m4, collect the
31867         object files for tests/ in different variables than those for lib/.
31868         Substitute LIBTESTS_LIBDEPS.
31869         (func_create_testdir): Combine the uses_subdirs results from
31870         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
31871
31872 2007-12-09  Bruno Haible  <bruno@clisp.org>
31873
31874         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
31875         the build-aux directory.
31876
31877 2007-12-09  Bruno Haible  <bruno@clisp.org>
31878
31879         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
31880         introduced on 2006-09-09.
31881
31882 2007-12-07  Jim Meyering  <meyering@redhat.com>
31883
31884         Let these macros work also with autoconf-2.59.
31885         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
31886         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
31887         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
31888
31889 2007-12-06  Jim Meyering  <meyering@redhat.com>
31890
31891         Avoid a configure-time syntax error in gl_FUNC_ACL.
31892         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
31893         function in each branch, before testing the cache variable.
31894
31895 2007-12-04  Eric Blake  <ebb9@byu.net>
31896
31897         Make scripts executable.
31898         * build-aux/config.guess: Add execute permissions.
31899         * build-aux/config.sub: Likewise.
31900         * build-aux/gendocs.sh: Likewise.
31901
31902         Fix frexp on mingw.
31903         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
31904         cross-compiling.
31905         * doc/functions/frexp.texi (frexp): Document the bug.
31906
31907         Make cygwin fseeko check more reliable.
31908         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
31909         version numbers, rather than unrelated feature check.
31910         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
31911         * doc/functions/ftello.texi (ftello): Likewise.
31912         Reported by Bruno Haible.
31913
31914         * m4/strerror.m4: Bump version number.
31915
31916 2007-12-03  Bruno Haible  <bruno@clisp.org>
31917
31918         * doc/functions/mprotect.texi: Mention the mingw problem.
31919
31920 2007-12-03  Eric Blake  <ebb9@byu.net>
31921
31922         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
31923         REPLACE_STRERROR is initialized before this macro.
31924
31925 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
31926
31927         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
31928         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
31929         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
31930         put -lsec in even for programs other than 'ls'.  This fixes a problem
31931         for gettext reported by Bruno Haible in
31932         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
31933         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
31934         Add support for Solaris 10.  This isn't efficient, but should get the
31935         job done for now.
31936
31937 2007-12-03  James Youngman  <jay@gnu.org>
31938
31939         * doc/regexprops-generic.texi: change "an close-group" to "a
31940         close-group" and "illegal" to "not allowed".
31941
31942 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31943
31944         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
31945         pr_byname.h. Needed for the rare case when the maintainer has done
31946         "make maintainer-clean" in the source directory and then attempts a
31947         build outside the source directory.
31948         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
31949         scripts_byname.h.
31950
31951 2007-12-02  Martin Lambers <marlam@marlam.de>
31952             Bruno Haible  <bruno@clisp.org>
31953
31954         * lib/getpagesize.h: Remove file.
31955         * lib/unistd.in.h: Include declaration of getpagesize here.
31956         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
31957         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
31958         HAVE_SYS_PARAM_H.
31959         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
31960         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
31961         * modules/getpagesize (Files): Remove lib/getpagesize.h.
31962         (Depends-on): Add unistd.
31963         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
31964         (Include): Use <unistd.h> instead of getpagesize.h.
31965         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
31966         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
31967         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
31968         gl_GETPAGESIZE invocation, already handled by module dependency.
31969         * lib/pagealign_alloc.c: Don't include getpagesize.h.
31970
31971 2007-12-02  Bruno Haible  <bruno@clisp.org>
31972
31973         * modules/strings-tests: New file.
31974         * tests/test-strings.c: New file.
31975
31976         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
31977         * lib/strings.in.h: New file.
31978         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
31979         * m4/strings_h.m4: New file.
31980         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
31981         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
31982         * modules/strings: New file.
31983         * modules/string (Makefile.am): Update.
31984         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
31985         Reported by Karl Berry.
31986
31987 2007-12-01  Eric Blake  <ebb9@byu.net>
31988
31989         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
31990         accomodate fix in cygwin 1.5.25.
31991
31992 2007-12-01  Jim Meyering  <meyering@redhat.com>
31993
31994         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
31995         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
31996         that would inhibit utf8-optimization of a regexp containing line-
31997         or buffer-anchors, e.g., `^', `$'.
31998
31999 2007-11-30  Bruno Haible  <bruno@clisp.org>
32000
32001         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
32002         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
32003         glthread_recursive_lock_init.
32004         * lib/lock.c (glthread_recursive_lock_init)
32005         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
32006         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
32007
32008 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
32009
32010         New function qset_acl, like set_acl but with syscall semantics.
32011         * lib/acl.h (qset_acl): New decl.
32012         * lib/acl.c (qset_acl): New function.
32013         (set_acl): Use new function.  Use more-consistent diagnostics.
32014
32015 2007-11-28  Jim Meyering  <meyering@redhat.com>
32016
32017         * modules/physmem (License): Change from GPL to LGPLv2+.
32018
32019 2007-11-26  Bruno Haible  <bruno@clisp.org>
32020
32021         * lib/vasnprintf.c (decode_long_double): Don't abort if the
32022         'long double' type has excess precision.
32023         Reported by Jim Meyering in
32024         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
32025
32026 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32027
32028         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
32029         Sync from <http://gnu.org/licenses>.
32030         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
32031         with license text from same location.
32032         * doc/maintain.texi, doc/standards.texi:  Sync from
32033         <http://savannah.gnu.org/projects/gnustandards>.
32034
32035 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
32036         and Jim Meyering  <meyering@redhat.com>
32037
32038         Adjust getdate' grammar to accept a slightly more regular language.
32039         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
32040         Before, the former was rejected.
32041         * lib/getdate.y (digits_to_date_time): New function, factored
32042         out of ...
32043         (number): ...here.  Just call digits_to_date_time.
32044         (hybrid): New non-terminal to handle an <unsigned number,
32045         signed relative offset> sequence consistently.
32046
32047 2007-11-18  Jim Meyering  <meyering@redhat.com>
32048
32049         Pull my changes from coreutils:
32050         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
32051         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
32052         use of $gnulib_tool_option_extras, so that it's separated from the
32053         preceding argument.
32054
32055         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
32056         * build-aux/bootstrap (cp_mark_as_generated): Create any required
32057         parent destination directories before copying a file into place.
32058
32059 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
32060
32061         bootstrap: work also with 4-argument variant of AC_INIT
32062         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
32063
32064 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
32065
32066         Port test-getaddrinfo to Solaris.
32067         Problem reported by Bruno Haible in
32068         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
32069         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
32070         explanation of setting 'hints'.
32071         Don't reject an implementation merely because it returns EAI_SERVICE.
32072         (EAI_SERVICE): Define to 0 if not defined.
32073
32074 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
32075
32076         The license of gnu-make and posix-shell is now "GPLed build tool".
32077         * modules/gnu-make (License): Likewise.
32078         * modules/posix-shell (License): Likewise.
32079
32080         New module posix-shell, for determining a POSIX shell
32081         or perhaps something that is close enough to a POSIX shell.
32082         * m4/posix-shell.m4: New file.
32083         * modules/posix-shell: New file.
32084
32085         * MODULES.html.sh: Mention new module.
32086
32087         New module gnu-make, for determining whether we're using GNU Make.
32088         * m4/gnu-make.m4: New file.
32089         * modules/gnu-make: New file.
32090         * MODULES.html.sh: Mention new module.
32091
32092 2007-11-14  Jim Meyering  <meyering@redhat.com>
32093
32094         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
32095         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
32096         use this macro to create a function _definition_.
32097         Remove useless "#undef ARGMATCH_DIE".
32098
32099 2007-11-14  Bruno Haible  <bruno@clisp.org>
32100
32101         * lib/config.charset: Update for OpenBSD 4.1.
32102         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
32103
32104 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
32105
32106         Document 64-bit #if problems in stdint.texi.
32107         * doc/headers/stdint.texi (stdint.h): Mention problems with
32108         64-bit-#if, and how to work around them.
32109
32110         Don't insist on 'long long int' support in the preprocessor.  It
32111         breaks too many things.  For example, PRIdMAX still uses a 'long
32112         long int' format with the latest Sun compiler, even though
32113         HAVE_LONG_LONG_INT isn't defined due to that compiler's
32114         preprocessor problem.  This causes the latest coreutils to dump
32115         core on Solaris 10 sparc with the Sun C compiler.
32116         Instead, fix the 2007-10-16 problem in a different way, by evaluating
32117         the troublesome expressions at configure-time, not at #if-time.
32118         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
32119         preprocessor.
32120         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
32121         compile-time C checks, done at 'configure'-time.
32122         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
32123         * modules/inttypes (Makefile): Substitute the new symbols that
32124         gl_INTTYPES_H now generates.
32125         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
32126
32127 2007-11-12  Bruno Haible  <bruno@clisp.org>
32128
32129         Tests for Unicode character classification functions.
32130
32131         * modules/unictype/bidicategory-byname-tests: New file.
32132         * modules/unictype/bidicategory-name-tests: New file.
32133         * modules/unictype/bidicategory-of-tests: New file.
32134         * modules/unictype/bidicategory-test-tests: New file.
32135         * modules/unictype/block-list-tests: New file.
32136         * modules/unictype/block-of-tests: New file.
32137         * modules/unictype/block-test-tests: New file.
32138         * modules/unictype/category-C-tests: New file.
32139         * modules/unictype/category-Cc-tests: New file.
32140         * modules/unictype/category-Cf-tests: New file.
32141         * modules/unictype/category-Cn-tests: New file.
32142         * modules/unictype/category-Co-tests: New file.
32143         * modules/unictype/category-Cs-tests: New file.
32144         * modules/unictype/category-L-tests: New file.
32145         * modules/unictype/category-Ll-tests: New file.
32146         * modules/unictype/category-Lm-tests: New file.
32147         * modules/unictype/category-Lo-tests: New file.
32148         * modules/unictype/category-Lt-tests: New file.
32149         * modules/unictype/category-Lu-tests: New file.
32150         * modules/unictype/category-M-tests: New file.
32151         * modules/unictype/category-Mc-tests: New file.
32152         * modules/unictype/category-Me-tests: New file.
32153         * modules/unictype/category-Mn-tests: New file.
32154         * modules/unictype/category-N-tests: New file.
32155         * modules/unictype/category-Nd-tests: New file.
32156         * modules/unictype/category-Nl-tests: New file.
32157         * modules/unictype/category-No-tests: New file.
32158         * modules/unictype/category-P-tests: New file.
32159         * modules/unictype/category-Pc-tests: New file.
32160         * modules/unictype/category-Pd-tests: New file.
32161         * modules/unictype/category-Pe-tests: New file.
32162         * modules/unictype/category-Pf-tests: New file.
32163         * modules/unictype/category-Pi-tests: New file.
32164         * modules/unictype/category-Po-tests: New file.
32165         * modules/unictype/category-Ps-tests: New file.
32166         * modules/unictype/category-S-tests: New file.
32167         * modules/unictype/category-Sc-tests: New file.
32168         * modules/unictype/category-Sk-tests: New file.
32169         * modules/unictype/category-Sm-tests: New file.
32170         * modules/unictype/category-So-tests: New file.
32171         * modules/unictype/category-Z-tests: New file.
32172         * modules/unictype/category-Zl-tests: New file.
32173         * modules/unictype/category-Zp-tests: New file.
32174         * modules/unictype/category-Zs-tests: New file.
32175         * modules/unictype/category-and-not-tests: New file.
32176         * modules/unictype/category-and-tests: New file.
32177         * modules/unictype/category-byname-tests: New file.
32178         * modules/unictype/category-name-tests: New file.
32179         * modules/unictype/category-none-tests: New file.
32180         * modules/unictype/category-of-tests: New file.
32181         * modules/unictype/category-or-tests: New file.
32182         * modules/unictype/category-test-withtable-tests: New file.
32183         * modules/unictype/combining-class-tests: New file.
32184         * modules/unictype/ctype-alnum-tests: New file.
32185         * modules/unictype/ctype-alpha-tests: New file.
32186         * modules/unictype/ctype-blank-tests: New file.
32187         * modules/unictype/ctype-cntrl-tests: New file.
32188         * modules/unictype/ctype-digit-tests: New file.
32189         * modules/unictype/ctype-graph-tests: New file.
32190         * modules/unictype/ctype-lower-tests: New file.
32191         * modules/unictype/ctype-print-tests: New file.
32192         * modules/unictype/ctype-punct-tests: New file.
32193         * modules/unictype/ctype-space-tests: New file.
32194         * modules/unictype/ctype-upper-tests: New file.
32195         * modules/unictype/ctype-xdigit-tests: New file.
32196         * modules/unictype/decimal-digit-tests: New file.
32197         * modules/unictype/digit-tests: New file.
32198         * modules/unictype/mirror-tests: New file.
32199         * modules/unictype/numeric-tests: New file.
32200         * modules/unictype/property-alphabetic-tests: New file.
32201         * modules/unictype/property-ascii-hex-digit-tests: New file.
32202         * modules/unictype/property-bidi-arabic-digit-tests: New file.
32203         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
32204         * modules/unictype/property-bidi-block-separator-tests: New file.
32205         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
32206         * modules/unictype/property-bidi-common-separator-tests: New file.
32207         * modules/unictype/property-bidi-control-tests: New file.
32208         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
32209         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
32210         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
32211         * modules/unictype/property-bidi-european-digit-tests: New file.
32212         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
32213         * modules/unictype/property-bidi-left-to-right-tests: New file.
32214         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
32215         * modules/unictype/property-bidi-other-neutral-tests: New file.
32216         * modules/unictype/property-bidi-pdf-tests: New file.
32217         * modules/unictype/property-bidi-segment-separator-tests: New file.
32218         * modules/unictype/property-bidi-whitespace-tests: New file.
32219         * modules/unictype/property-byname-tests: New file.
32220         * modules/unictype/property-combining-tests: New file.
32221         * modules/unictype/property-composite-tests: New file.
32222         * modules/unictype/property-currency-symbol-tests: New file.
32223         * modules/unictype/property-dash-tests: New file.
32224         * modules/unictype/property-decimal-digit-tests: New file.
32225         * modules/unictype/property-default-ignorable-code-point-tests: New file.
32226         * modules/unictype/property-deprecated-tests: New file.
32227         * modules/unictype/property-diacritic-tests: New file.
32228         * modules/unictype/property-extender-tests: New file.
32229         * modules/unictype/property-format-control-tests: New file.
32230         * modules/unictype/property-grapheme-base-tests: New file.
32231         * modules/unictype/property-grapheme-extend-tests: New file.
32232         * modules/unictype/property-grapheme-link-tests: New file.
32233         * modules/unictype/property-hex-digit-tests: New file.
32234         * modules/unictype/property-hyphen-tests: New file.
32235         * modules/unictype/property-id-continue-tests: New file.
32236         * modules/unictype/property-id-start-tests: New file.
32237         * modules/unictype/property-ideographic-tests: New file.
32238         * modules/unictype/property-ids-binary-operator-tests: New file.
32239         * modules/unictype/property-ids-trinary-operator-tests: New file.
32240         * modules/unictype/property-ignorable-control-tests: New file.
32241         * modules/unictype/property-iso-control-tests: New file.
32242         * modules/unictype/property-join-control-tests: New file.
32243         * modules/unictype/property-left-of-pair-tests: New file.
32244         * modules/unictype/property-line-separator-tests: New file.
32245         * modules/unictype/property-logical-order-exception-tests: New file.
32246         * modules/unictype/property-lowercase-tests: New file.
32247         * modules/unictype/property-math-tests: New file.
32248         * modules/unictype/property-non-break-tests: New file.
32249         * modules/unictype/property-not-a-character-tests: New file.
32250         * modules/unictype/property-numeric-tests: New file.
32251         * modules/unictype/property-other-alphabetic-tests: New file.
32252         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
32253         * modules/unictype/property-other-grapheme-extend-tests: New file.
32254         * modules/unictype/property-other-id-continue-tests: New file.
32255         * modules/unictype/property-other-id-start-tests: New file.
32256         * modules/unictype/property-other-lowercase-tests: New file.
32257         * modules/unictype/property-other-math-tests: New file.
32258         * modules/unictype/property-other-uppercase-tests: New file.
32259         * modules/unictype/property-paired-punctuation-tests: New file.
32260         * modules/unictype/property-paragraph-separator-tests: New file.
32261         * modules/unictype/property-pattern-syntax-tests: New file.
32262         * modules/unictype/property-pattern-white-space-tests: New file.
32263         * modules/unictype/property-private-use-tests: New file.
32264         * modules/unictype/property-punctuation-tests: New file.
32265         * modules/unictype/property-quotation-mark-tests: New file.
32266         * modules/unictype/property-radical-tests: New file.
32267         * modules/unictype/property-sentence-terminal-tests: New file.
32268         * modules/unictype/property-soft-dotted-tests: New file.
32269         * modules/unictype/property-space-tests: New file.
32270         * modules/unictype/property-terminal-punctuation-tests: New file.
32271         * modules/unictype/property-test-tests: New file.
32272         * modules/unictype/property-titlecase-tests: New file.
32273         * modules/unictype/property-unassigned-code-value-tests: New file.
32274         * modules/unictype/property-unified-ideograph-tests: New file.
32275         * modules/unictype/property-uppercase-tests: New file.
32276         * modules/unictype/property-variation-selector-tests: New file.
32277         * modules/unictype/property-white-space-tests: New file.
32278         * modules/unictype/property-xid-continue-tests: New file.
32279         * modules/unictype/property-xid-start-tests: New file.
32280         * modules/unictype/property-zero-width-tests: New file.
32281         * modules/unictype/scripts-tests: New file.
32282         * modules/unictype/syntax-c-ident-tests: New file.
32283         * modules/unictype/syntax-c-whitespace-tests: New file.
32284         * modules/unictype/syntax-java-ident-tests: New file.
32285         * modules/unictype/syntax-java-whitespace-tests: New file.
32286         * tests/unictype/test-bidi_byname.c: New file.
32287         * tests/unictype/test-bidi_name.c: New file.
32288         * tests/unictype/test-bidi_of.c: New file.
32289         * tests/unictype/test-bidi_test.c: New file.
32290         * tests/unictype/test-block_list.c: New file.
32291         * tests/unictype/test-block_of.c: New file.
32292         * tests/unictype/test-block_test.c: New file.
32293         * tests/unictype/test-categ_and.c: New file.
32294         * tests/unictype/test-categ_and_not.c: New file.
32295         * tests/unictype/test-categ_byname.c: New file.
32296         * tests/unictype/test-categ_name.c: New file.
32297         * tests/unictype/test-categ_none.c: New file.
32298         * tests/unictype/test-categ_of.c: New file.
32299         * tests/unictype/test-categ_or.c: New file.
32300         * tests/unictype/test-categ_test_withtable.c: New file.
32301         * tests/unictype/test-combining.c: New file.
32302         * tests/unictype/test-decdigit.c: New file.
32303         * tests/unictype/test-digit.c: New file.
32304         * tests/unictype/test-mirror.c: New file.
32305         * tests/unictype/test-numeric.c: New file.
32306         * tests/unictype/test-pr_byname.c: New file.
32307         * tests/unictype/test-pr_test.c: New file.
32308         * tests/unictype/test-predicate-part1.h: New file.
32309         * tests/unictype/test-predicate-part2.h: New file.
32310         * tests/unictype/test-scripts.c: New file.
32311         * tests/unictype/test-sy_c_ident.c: New file.
32312         * tests/unictype/test-sy_java_ident.c: New file.
32313
32314         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
32315         for Unicode 5.0.0.
32316         * tests/unictype/test-categ_Cc.c: Likewise.
32317         * tests/unictype/test-categ_Cf.c: Likewise.
32318         * tests/unictype/test-categ_Cn.c: Likewise.
32319         * tests/unictype/test-categ_Co.c: Likewise.
32320         * tests/unictype/test-categ_Cs.c: Likewise.
32321         * tests/unictype/test-categ_L.c: Likewise.
32322         * tests/unictype/test-categ_Ll.c: Likewise.
32323         * tests/unictype/test-categ_Lm.c: Likewise.
32324         * tests/unictype/test-categ_Lo.c: Likewise.
32325         * tests/unictype/test-categ_Lt.c: Likewise.
32326         * tests/unictype/test-categ_Lu.c: Likewise.
32327         * tests/unictype/test-categ_M.c: Likewise.
32328         * tests/unictype/test-categ_Mc.c: Likewise.
32329         * tests/unictype/test-categ_Me.c: Likewise.
32330         * tests/unictype/test-categ_Mn.c: Likewise.
32331         * tests/unictype/test-categ_N.c: Likewise.
32332         * tests/unictype/test-categ_Nd.c: Likewise.
32333         * tests/unictype/test-categ_Nl.c: Likewise.
32334         * tests/unictype/test-categ_No.c: Likewise.
32335         * tests/unictype/test-categ_P.c: Likewise.
32336         * tests/unictype/test-categ_Pc.c: Likewise.
32337         * tests/unictype/test-categ_Pd.c: Likewise.
32338         * tests/unictype/test-categ_Pe.c: Likewise.
32339         * tests/unictype/test-categ_Pf.c: Likewise.
32340         * tests/unictype/test-categ_Pi.c: Likewise.
32341         * tests/unictype/test-categ_Po.c: Likewise.
32342         * tests/unictype/test-categ_Ps.c: Likewise.
32343         * tests/unictype/test-categ_S.c: Likewise.
32344         * tests/unictype/test-categ_Sc.c: Likewise.
32345         * tests/unictype/test-categ_Sk.c: Likewise.
32346         * tests/unictype/test-categ_Sm.c: Likewise.
32347         * tests/unictype/test-categ_So.c: Likewise.
32348         * tests/unictype/test-categ_Z.c: Likewise.
32349         * tests/unictype/test-categ_Zl.c: Likewise.
32350         * tests/unictype/test-categ_Zp.c: Likewise.
32351         * tests/unictype/test-categ_Zs.c: Likewise.
32352         * tests/unictype/test-ctype_alnum.c: Likewise.
32353         * tests/unictype/test-ctype_alpha.c: Likewise.
32354         * tests/unictype/test-ctype_blank.c: Likewise.
32355         * tests/unictype/test-ctype_cntrl.c: Likewise.
32356         * tests/unictype/test-ctype_digit.c: Likewise.
32357         * tests/unictype/test-ctype_graph.c: Likewise.
32358         * tests/unictype/test-ctype_lower.c: Likewise.
32359         * tests/unictype/test-ctype_print.c: Likewise.
32360         * tests/unictype/test-ctype_punct.c: Likewise.
32361         * tests/unictype/test-ctype_space.c: Likewise.
32362         * tests/unictype/test-ctype_upper.c: Likewise.
32363         * tests/unictype/test-ctype_xdigit.c: Likewise.
32364         * tests/unictype/test-decdigit.h: Likewise.
32365         * tests/unictype/test-digit.h: Likewise.
32366         * tests/unictype/test-numeric.h: Likewise.
32367         * tests/unictype/test-pr_alphabetic.c: Likewise.
32368         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
32369         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
32370         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
32371         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
32372         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
32373         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
32374         * tests/unictype/test-pr_bidi_control.c: Likewise.
32375         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
32376         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
32377         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
32378         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
32379         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
32380         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
32381         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
32382         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
32383         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
32384         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
32385         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
32386         * tests/unictype/test-pr_combining.c: Likewise.
32387         * tests/unictype/test-pr_composite.c: Likewise.
32388         * tests/unictype/test-pr_currency_symbol.c: Likewise.
32389         * tests/unictype/test-pr_dash.c: Likewise.
32390         * tests/unictype/test-pr_decimal_digit.c: Likewise.
32391         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
32392         * tests/unictype/test-pr_deprecated.c: Likewise.
32393         * tests/unictype/test-pr_diacritic.c: Likewise.
32394         * tests/unictype/test-pr_extender.c: Likewise.
32395         * tests/unictype/test-pr_format_control.c: Likewise.
32396         * tests/unictype/test-pr_grapheme_base.c: Likewise.
32397         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
32398         * tests/unictype/test-pr_grapheme_link.c: Likewise.
32399         * tests/unictype/test-pr_hex_digit.c: Likewise.
32400         * tests/unictype/test-pr_hyphen.c: Likewise.
32401         * tests/unictype/test-pr_id_continue.c: Likewise.
32402         * tests/unictype/test-pr_id_start.c: Likewise.
32403         * tests/unictype/test-pr_ideographic.c: Likewise.
32404         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
32405         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
32406         * tests/unictype/test-pr_ignorable_control.c: Likewise.
32407         * tests/unictype/test-pr_iso_control.c: Likewise.
32408         * tests/unictype/test-pr_join_control.c: Likewise.
32409         * tests/unictype/test-pr_left_of_pair.c: Likewise.
32410         * tests/unictype/test-pr_line_separator.c: Likewise.
32411         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
32412         * tests/unictype/test-pr_lowercase.c: Likewise.
32413         * tests/unictype/test-pr_math.c: Likewise.
32414         * tests/unictype/test-pr_non_break.c: Likewise.
32415         * tests/unictype/test-pr_not_a_character.c: Likewise.
32416         * tests/unictype/test-pr_numeric.c: Likewise.
32417         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
32418         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
32419         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
32420         * tests/unictype/test-pr_other_id_continue.c: Likewise.
32421         * tests/unictype/test-pr_other_id_start.c: Likewise.
32422         * tests/unictype/test-pr_other_lowercase.c: Likewise.
32423         * tests/unictype/test-pr_other_math.c: Likewise.
32424         * tests/unictype/test-pr_other_uppercase.c: Likewise.
32425         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
32426         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
32427         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
32428         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
32429         * tests/unictype/test-pr_private_use.c: Likewise.
32430         * tests/unictype/test-pr_punctuation.c: Likewise.
32431         * tests/unictype/test-pr_quotation_mark.c: Likewise.
32432         * tests/unictype/test-pr_radical.c: Likewise.
32433         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
32434         * tests/unictype/test-pr_soft_dotted.c: Likewise.
32435         * tests/unictype/test-pr_space.c: Likewise.
32436         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
32437         * tests/unictype/test-pr_titlecase.c: Likewise.
32438         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
32439         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
32440         * tests/unictype/test-pr_uppercase.c: Likewise.
32441         * tests/unictype/test-pr_variation_selector.c: Likewise.
32442         * tests/unictype/test-pr_white_space.c: Likewise.
32443         * tests/unictype/test-pr_xid_continue.c: Likewise.
32444         * tests/unictype/test-pr_xid_start.c: Likewise.
32445         * tests/unictype/test-pr_zero_width.c: Likewise.
32446         * tests/unictype/test-sy_c_whitespace.c: Likewise.
32447         * tests/unictype/test-sy_java_whitespace.c: Likewise.
32448
32449 2007-11-12  Bruno Haible  <bruno@clisp.org>
32450
32451         Unicode character classification functions.
32452         * lib/unictype.h: New file.
32453         * modules/unictype/base: New file.
32454         * modules/unictype/category-L: New file.
32455         * modules/unictype/category-Lu: New file.
32456         * modules/unictype/category-Ll: New file.
32457         * modules/unictype/category-Lt: New file.
32458         * modules/unictype/category-Lm: New file.
32459         * modules/unictype/category-Lo: New file.
32460         * modules/unictype/category-M: New file.
32461         * modules/unictype/category-Mn: New file.
32462         * modules/unictype/category-Mc: New file.
32463         * modules/unictype/category-Me: New file.
32464         * modules/unictype/category-N: New file.
32465         * modules/unictype/category-Nd: New file.
32466         * modules/unictype/category-Nl: New file.
32467         * modules/unictype/category-No: New file.
32468         * modules/unictype/category-P: New file.
32469         * modules/unictype/category-Pc: New file.
32470         * modules/unictype/category-Pd: New file.
32471         * modules/unictype/category-Ps: New file.
32472         * modules/unictype/category-Pe: New file.
32473         * modules/unictype/category-Pi: New file.
32474         * modules/unictype/category-Pf: New file.
32475         * modules/unictype/category-Po: New file.
32476         * modules/unictype/category-S: New file.
32477         * modules/unictype/category-Sm: New file.
32478         * modules/unictype/category-Sc: New file.
32479         * modules/unictype/category-Sk: New file.
32480         * modules/unictype/category-So: New file.
32481         * modules/unictype/category-Z: New file.
32482         * modules/unictype/category-Zs: New file.
32483         * modules/unictype/category-Zl: New file.
32484         * modules/unictype/category-Zp: New file.
32485         * modules/unictype/category-C: New file.
32486         * modules/unictype/category-Cc: New file.
32487         * modules/unictype/category-Cf: New file.
32488         * modules/unictype/category-Cs: New file.
32489         * modules/unictype/category-Co: New file.
32490         * modules/unictype/category-Cn: New file.
32491         * modules/unictype/category-or: New file.
32492         * modules/unictype/category-of: New file.
32493         * modules/unictype/category-test: New file.
32494         * modules/unictype/category-test-withtable: New file.
32495         * modules/unictype/category-byname: New file.
32496         * modules/unictype/category-none: New file.
32497         * modules/unictype/category-and: New file.
32498         * modules/unictype/category-and-not: New file.
32499         * modules/unictype/category-name: New file.
32500         * modules/unictype/combining-class: New file.
32501         * modules/unictype/category-all: New file.
32502         * modules/unictype/bidicategory-all: New file.
32503         * modules/unictype/bidicategory-byname: New file.
32504         * modules/unictype/bidicategory-name: New file.
32505         * modules/unictype/bidicategory-of: New file.
32506         * modules/unictype/bidicategory-test: New file.
32507         * modules/unictype/decimal-digit: New file.
32508         * modules/unictype/digit: New file.
32509         * modules/unictype/numeric: New file.
32510         * modules/unictype/mirror: New file.
32511         * modules/unictype/property-white-space: New file.
32512         * modules/unictype/property-alphabetic: New file.
32513         * modules/unictype/property-other-alphabetic: New file.
32514         * modules/unictype/property-not-a-character: New file.
32515         * modules/unictype/property-default-ignorable-code-point: New file.
32516         * modules/unictype/property-other-default-ignorable-code-point: New
32517         file.
32518         * modules/unictype/property-deprecated: New file.
32519         * modules/unictype/property-logical-order-exception: New file.
32520         * modules/unictype/property-variation-selector: New file.
32521         * modules/unictype/property-private-use: New file.
32522         * modules/unictype/property-unassigned-code-value: New file.
32523         * modules/unictype/property-uppercase: New file.
32524         * modules/unictype/property-other-uppercase: New file.
32525         * modules/unictype/property-lowercase: New file.
32526         * modules/unictype/property-other-lowercase: New file.
32527         * modules/unictype/property-titlecase: New file.
32528         * modules/unictype/property-soft-dotted: New file.
32529         * modules/unictype/property-id-start: New file.
32530         * modules/unictype/property-other-id-start: New file.
32531         * modules/unictype/property-id-continue: New file.
32532         * modules/unictype/property-other-id-continue: New file.
32533         * modules/unictype/property-xid-start: New file.
32534         * modules/unictype/property-xid-continue: New file.
32535         * modules/unictype/property-pattern-white-space: New file.
32536         * modules/unictype/property-pattern-syntax: New file.
32537         * modules/unictype/property-join-control: New file.
32538         * modules/unictype/property-grapheme-base: New file.
32539         * modules/unictype/property-grapheme-extend: New file.
32540         * modules/unictype/property-other-grapheme-extend: New file.
32541         * modules/unictype/property-grapheme-link: New file.
32542         * modules/unictype/property-bidi-control: New file.
32543         * modules/unictype/property-bidi-left-to-right: New file.
32544         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
32545         * modules/unictype/property-bidi-arabic-right-to-left: New file.
32546         * modules/unictype/property-bidi-european-digit: New file.
32547         * modules/unictype/property-bidi-eur-num-separator: New file.
32548         * modules/unictype/property-bidi-eur-num-terminator: New file.
32549         * modules/unictype/property-bidi-arabic-digit: New file.
32550         * modules/unictype/property-bidi-common-separator: New file.
32551         * modules/unictype/property-bidi-block-separator: New file.
32552         * modules/unictype/property-bidi-segment-separator: New file.
32553         * modules/unictype/property-bidi-whitespace: New file.
32554         * modules/unictype/property-bidi-non-spacing-mark: New file.
32555         * modules/unictype/property-bidi-boundary-neutral: New file.
32556         * modules/unictype/property-bidi-pdf: New file.
32557         * modules/unictype/property-bidi-embedding-or-override: New file.
32558         * modules/unictype/property-bidi-other-neutral: New file.
32559         * modules/unictype/property-hex-digit: New file.
32560         * modules/unictype/property-ascii-hex-digit: New file.
32561         * modules/unictype/property-ideographic: New file.
32562         * modules/unictype/property-unified-ideograph: New file.
32563         * modules/unictype/property-radical: New file.
32564         * modules/unictype/property-ids-binary-operator: New file.
32565         * modules/unictype/property-ids-trinary-operator: New file.
32566         * modules/unictype/property-zero-width: New file.
32567         * modules/unictype/property-space: New file.
32568         * modules/unictype/property-non-break: New file.
32569         * modules/unictype/property-iso-control: New file.
32570         * modules/unictype/property-format-control: New file.
32571         * modules/unictype/property-dash: New file.
32572         * modules/unictype/property-hyphen: New file.
32573         * modules/unictype/property-punctuation: New file.
32574         * modules/unictype/property-line-separator: New file.
32575         * modules/unictype/property-paragraph-separator: New file.
32576         * modules/unictype/property-quotation-mark: New file.
32577         * modules/unictype/property-sentence-terminal: New file.
32578         * modules/unictype/property-terminal-punctuation: New file.
32579         * modules/unictype/property-currency-symbol: New file.
32580         * modules/unictype/property-math: New file.
32581         * modules/unictype/property-other-math: New file.
32582         * modules/unictype/property-paired-punctuation: New file.
32583         * modules/unictype/property-left-of-pair: New file.
32584         * modules/unictype/property-combining: New file.
32585         * modules/unictype/property-composite: New file.
32586         * modules/unictype/property-decimal-digit: New file.
32587         * modules/unictype/property-numeric: New file.
32588         * modules/unictype/property-diacritic: New file.
32589         * modules/unictype/property-extender: New file.
32590         * modules/unictype/property-ignorable-control: New file.
32591         * modules/unictype/property-test: New file.
32592         * modules/unictype/property-byname: New file.
32593         * modules/unictype/property-all: New file.
32594         * modules/unictype/scripts: New file.
32595         * modules/unictype/scripts-all: New file.
32596         * modules/unictype/block-of: New file.
32597         * modules/unictype/block-test: New file.
32598         * modules/unictype/block-list: New file.
32599         * modules/unictype/block-all: New file.
32600         * modules/unictype/syntax-c-whitespace: New file.
32601         * modules/unictype/syntax-java-whitespace: New file.
32602         * modules/unictype/syntax-c-ident: New file.
32603         * modules/unictype/syntax-java-ident: New file.
32604         * modules/unictype/ctype-alnum: New file.
32605         * modules/unictype/ctype-alpha: New file.
32606         * modules/unictype/ctype-cntrl: New file.
32607         * modules/unictype/ctype-digit: New file.
32608         * modules/unictype/ctype-graph: New file.
32609         * modules/unictype/ctype-lower: New file.
32610         * modules/unictype/ctype-print: New file.
32611         * modules/unictype/ctype-punct: New file.
32612         * modules/unictype/ctype-space: New file.
32613         * modules/unictype/ctype-upper: New file.
32614         * modules/unictype/ctype-xdigit: New file.
32615         * modules/unictype/ctype-blank: New file.
32616         * lib/unictype/bidi_byname.c: New file.
32617         * lib/unictype/bidi_name.c: New file.
32618         * lib/unictype/bidi_of.c: New file.
32619         * lib/unictype/bidi_test.c: New file.
32620         * lib/unictype/bitmap.h: New file.
32621         * lib/unictype/block_test.c: New file.
32622         * lib/unictype/blocks.c: New file.
32623         * lib/unictype/categ_C.c: New file.
32624         * lib/unictype/categ_Cc.c: New file.
32625         * lib/unictype/categ_Cf.c: New file.
32626         * lib/unictype/categ_Cn.c: New file.
32627         * lib/unictype/categ_Co.c: New file.
32628         * lib/unictype/categ_Cs.c: New file.
32629         * lib/unictype/categ_L.c: New file.
32630         * lib/unictype/categ_Ll.c: New file.
32631         * lib/unictype/categ_Lm.c: New file.
32632         * lib/unictype/categ_Lo.c: New file.
32633         * lib/unictype/categ_Lt.c: New file.
32634         * lib/unictype/categ_Lu.c: New file.
32635         * lib/unictype/categ_M.c: New file.
32636         * lib/unictype/categ_Mc.c: New file.
32637         * lib/unictype/categ_Me.c: New file.
32638         * lib/unictype/categ_Mn.c: New file.
32639         * lib/unictype/categ_N.c: New file.
32640         * lib/unictype/categ_Nd.c: New file.
32641         * lib/unictype/categ_Nl.c: New file.
32642         * lib/unictype/categ_No.c: New file.
32643         * lib/unictype/categ_P.c: New file.
32644         * lib/unictype/categ_Pc.c: New file.
32645         * lib/unictype/categ_Pd.c: New file.
32646         * lib/unictype/categ_Pe.c: New file.
32647         * lib/unictype/categ_Pf.c: New file.
32648         * lib/unictype/categ_Pi.c: New file.
32649         * lib/unictype/categ_Po.c: New file.
32650         * lib/unictype/categ_Ps.c: New file.
32651         * lib/unictype/categ_S.c: New file.
32652         * lib/unictype/categ_Sc.c: New file.
32653         * lib/unictype/categ_Sk.c: New file.
32654         * lib/unictype/categ_Sm.c: New file.
32655         * lib/unictype/categ_So.c: New file.
32656         * lib/unictype/categ_Z.c: New file.
32657         * lib/unictype/categ_Zl.c: New file.
32658         * lib/unictype/categ_Zp.c: New file.
32659         * lib/unictype/categ_Zs.c: New file.
32660         * lib/unictype/categ_and.c: New file.
32661         * lib/unictype/categ_and_not.c: New file.
32662         * lib/unictype/categ_byname.c: New file.
32663         * lib/unictype/categ_name.c: New file.
32664         * lib/unictype/categ_none.c: New file.
32665         * lib/unictype/categ_of.c: New file.
32666         * lib/unictype/categ_or.c: New file.
32667         * lib/unictype/categ_test.c: New file.
32668         * lib/unictype/combining.c: New file.
32669         * lib/unictype/ctype_alnum.c: New file.
32670         * lib/unictype/ctype_alpha.c: New file.
32671         * lib/unictype/ctype_blank.c: New file.
32672         * lib/unictype/ctype_cntrl.c: New file.
32673         * lib/unictype/ctype_digit.c: New file.
32674         * lib/unictype/ctype_graph.c: New file.
32675         * lib/unictype/ctype_lower.c: New file.
32676         * lib/unictype/ctype_print.c: New file.
32677         * lib/unictype/ctype_punct.c: New file.
32678         * lib/unictype/ctype_space.c: New file.
32679         * lib/unictype/ctype_upper.c: New file.
32680         * lib/unictype/ctype_xdigit.c: New file.
32681         * lib/unictype/decdigit.c: New file.
32682         * lib/unictype/digit.c: New file.
32683         * lib/unictype/identsyntaxmap.h: New file.
32684         * lib/unictype/mirror.c: New file.
32685         * lib/unictype/numeric.c: New file.
32686         * lib/unictype/pr_alphabetic.c: New file.
32687         * lib/unictype/pr_ascii_hex_digit.c: New file.
32688         * lib/unictype/pr_bidi_arabic_digit.c: New file.
32689         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
32690         * lib/unictype/pr_bidi_block_separator.c: New file.
32691         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
32692         * lib/unictype/pr_bidi_common_separator.c: New file.
32693         * lib/unictype/pr_bidi_control.c: New file.
32694         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
32695         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
32696         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
32697         * lib/unictype/pr_bidi_european_digit.c: New file.
32698         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
32699         * lib/unictype/pr_bidi_left_to_right.c: New file.
32700         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
32701         * lib/unictype/pr_bidi_other_neutral.c: New file.
32702         * lib/unictype/pr_bidi_pdf.c: New file.
32703         * lib/unictype/pr_bidi_segment_separator.c: New file.
32704         * lib/unictype/pr_bidi_whitespace.c: New file.
32705         * lib/unictype/pr_byname.c: New file.
32706         * lib/unictype/pr_byname.gperf: New file.
32707         * lib/unictype/pr_combining.c: New file.
32708         * lib/unictype/pr_composite.c: New file.
32709         * lib/unictype/pr_currency_symbol.c: New file.
32710         * lib/unictype/pr_dash.c: New file.
32711         * lib/unictype/pr_decimal_digit.c: New file.
32712         * lib/unictype/pr_default_ignorable_code_point.c: New file.
32713         * lib/unictype/pr_deprecated.c: New file.
32714         * lib/unictype/pr_diacritic.c: New file.
32715         * lib/unictype/pr_extender.c: New file.
32716         * lib/unictype/pr_format_control.c: New file.
32717         * lib/unictype/pr_grapheme_base.c: New file.
32718         * lib/unictype/pr_grapheme_extend.c: New file.
32719         * lib/unictype/pr_grapheme_link.c: New file.
32720         * lib/unictype/pr_hex_digit.c: New file.
32721         * lib/unictype/pr_hyphen.c: New file.
32722         * lib/unictype/pr_id_continue.c: New file.
32723         * lib/unictype/pr_id_start.c: New file.
32724         * lib/unictype/pr_ideographic.c: New file.
32725         * lib/unictype/pr_ids_binary_operator.c: New file.
32726         * lib/unictype/pr_ids_trinary_operator.c: New file.
32727         * lib/unictype/pr_ignorable_control.c: New file.
32728         * lib/unictype/pr_iso_control.c: New file.
32729         * lib/unictype/pr_join_control.c: New file.
32730         * lib/unictype/pr_left_of_pair.c: New file.
32731         * lib/unictype/pr_line_separator.c: New file.
32732         * lib/unictype/pr_logical_order_exception.c: New file.
32733         * lib/unictype/pr_lowercase.c: New file.
32734         * lib/unictype/pr_math.c: New file.
32735         * lib/unictype/pr_non_break.c: New file.
32736         * lib/unictype/pr_not_a_character.c: New file.
32737         * lib/unictype/pr_numeric.c: New file.
32738         * lib/unictype/pr_other_alphabetic.c: New file.
32739         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
32740         * lib/unictype/pr_other_grapheme_extend.c: New file.
32741         * lib/unictype/pr_other_id_continue.c: New file.
32742         * lib/unictype/pr_other_id_start.c: New file.
32743         * lib/unictype/pr_other_lowercase.c: New file.
32744         * lib/unictype/pr_other_math.c: New file.
32745         * lib/unictype/pr_other_uppercase.c: New file.
32746         * lib/unictype/pr_paired_punctuation.c: New file.
32747         * lib/unictype/pr_paragraph_separator.c: New file.
32748         * lib/unictype/pr_pattern_syntax.c: New file.
32749         * lib/unictype/pr_pattern_white_space.c: New file.
32750         * lib/unictype/pr_private_use.c: New file.
32751         * lib/unictype/pr_punctuation.c: New file.
32752         * lib/unictype/pr_quotation_mark.c: New file.
32753         * lib/unictype/pr_radical.c: New file.
32754         * lib/unictype/pr_sentence_terminal.c: New file.
32755         * lib/unictype/pr_soft_dotted.c: New file.
32756         * lib/unictype/pr_space.c: New file.
32757         * lib/unictype/pr_terminal_punctuation.c: New file.
32758         * lib/unictype/pr_test.c: New file.
32759         * lib/unictype/pr_titlecase.c: New file.
32760         * lib/unictype/pr_unassigned_code_value.c: New file.
32761         * lib/unictype/pr_unified_ideograph.c: New file.
32762         * lib/unictype/pr_uppercase.c: New file.
32763         * lib/unictype/pr_variation_selector.c: New file.
32764         * lib/unictype/pr_white_space.c: New file.
32765         * lib/unictype/pr_xid_continue.c: New file.
32766         * lib/unictype/pr_xid_start.c: New file.
32767         * lib/unictype/pr_zero_width.c: New file.
32768         * lib/unictype/scripts.c: New file.
32769         * lib/unictype/sy_c_ident.c: New file.
32770         * lib/unictype/sy_c_whitespace.c: New file.
32771         * lib/unictype/sy_java_ident.c: New file.
32772         * lib/unictype/sy_java_whitespace.c: New file.
32773
32774         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
32775         Unicode 5.0.0.
32776         * lib/unictype/blocks.h: Likewise.
32777         * lib/unictype/categ_C.h: Likewise.
32778         * lib/unictype/categ_Cc.h: Likewise.
32779         * lib/unictype/categ_Cf.h: Likewise.
32780         * lib/unictype/categ_Cn.h: Likewise.
32781         * lib/unictype/categ_Co.h: Likewise.
32782         * lib/unictype/categ_Cs.h: Likewise.
32783         * lib/unictype/categ_L.h: Likewise.
32784         * lib/unictype/categ_Ll.h: Likewise.
32785         * lib/unictype/categ_Lm.h: Likewise.
32786         * lib/unictype/categ_Lo.h: Likewise.
32787         * lib/unictype/categ_Lt.h: Likewise.
32788         * lib/unictype/categ_Lu.h: Likewise.
32789         * lib/unictype/categ_M.h: Likewise.
32790         * lib/unictype/categ_Mc.h: Likewise.
32791         * lib/unictype/categ_Me.h: Likewise.
32792         * lib/unictype/categ_Mn.h: Likewise.
32793         * lib/unictype/categ_N.h: Likewise.
32794         * lib/unictype/categ_Nd.h: Likewise.
32795         * lib/unictype/categ_Nl.h: Likewise.
32796         * lib/unictype/categ_No.h: Likewise.
32797         * lib/unictype/categ_P.h: Likewise.
32798         * lib/unictype/categ_Pc.h: Likewise.
32799         * lib/unictype/categ_Pd.h: Likewise.
32800         * lib/unictype/categ_Pe.h: Likewise.
32801         * lib/unictype/categ_Pf.h: Likewise.
32802         * lib/unictype/categ_Pi.h: Likewise.
32803         * lib/unictype/categ_Po.h: Likewise.
32804         * lib/unictype/categ_Ps.h: Likewise.
32805         * lib/unictype/categ_S.h: Likewise.
32806         * lib/unictype/categ_Sc.h: Likewise.
32807         * lib/unictype/categ_Sk.h: Likewise.
32808         * lib/unictype/categ_Sm.h: Likewise.
32809         * lib/unictype/categ_So.h: Likewise.
32810         * lib/unictype/categ_Z.h: Likewise.
32811         * lib/unictype/categ_Zl.h: Likewise.
32812         * lib/unictype/categ_Zp.h: Likewise.
32813         * lib/unictype/categ_Zs.h: Likewise.
32814         * lib/unictype/categ_of.h: Likewise.
32815         * lib/unictype/combining.h: Likewise.
32816         * lib/unictype/ctype_alnum.h: Likewise.
32817         * lib/unictype/ctype_alpha.h: Likewise.
32818         * lib/unictype/ctype_blank.h: Likewise.
32819         * lib/unictype/ctype_cntrl.h: Likewise.
32820         * lib/unictype/ctype_digit.h: Likewise.
32821         * lib/unictype/ctype_graph.h: Likewise.
32822         * lib/unictype/ctype_lower.h: Likewise.
32823         * lib/unictype/ctype_print.h: Likewise.
32824         * lib/unictype/ctype_punct.h: Likewise.
32825         * lib/unictype/ctype_space.h: Likewise.
32826         * lib/unictype/ctype_upper.h: Likewise.
32827         * lib/unictype/ctype_xdigit.h: Likewise.
32828         * lib/unictype/decdigit.h: Likewise.
32829         * lib/unictype/digit.h: Likewise.
32830         * lib/unictype/mirror.h: Likewise.
32831         * lib/unictype/numeric.h: Likewise.
32832         * lib/unictype/pr_alphabetic.h: Likewise.
32833         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
32834         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
32835         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
32836         * lib/unictype/pr_bidi_block_separator.h: Likewise.
32837         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
32838         * lib/unictype/pr_bidi_common_separator.h: Likewise.
32839         * lib/unictype/pr_bidi_control.h: Likewise.
32840         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
32841         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
32842         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
32843         * lib/unictype/pr_bidi_european_digit.h: Likewise.
32844         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
32845         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
32846         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
32847         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
32848         * lib/unictype/pr_bidi_pdf.h: Likewise.
32849         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
32850         * lib/unictype/pr_bidi_whitespace.h: Likewise.
32851         * lib/unictype/pr_combining.h: Likewise.
32852         * lib/unictype/pr_composite.h: Likewise.
32853         * lib/unictype/pr_currency_symbol.h: Likewise.
32854         * lib/unictype/pr_dash.h: Likewise.
32855         * lib/unictype/pr_decimal_digit.h: Likewise.
32856         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
32857         * lib/unictype/pr_deprecated.h: Likewise.
32858         * lib/unictype/pr_diacritic.h: Likewise.
32859         * lib/unictype/pr_extender.h: Likewise.
32860         * lib/unictype/pr_format_control.h: Likewise.
32861         * lib/unictype/pr_grapheme_base.h: Likewise.
32862         * lib/unictype/pr_grapheme_extend.h: Likewise.
32863         * lib/unictype/pr_grapheme_link.h: Likewise.
32864         * lib/unictype/pr_hex_digit.h: Likewise.
32865         * lib/unictype/pr_hyphen.h: Likewise.
32866         * lib/unictype/pr_id_continue.h: Likewise.
32867         * lib/unictype/pr_id_start.h: Likewise.
32868         * lib/unictype/pr_ideographic.h: Likewise.
32869         * lib/unictype/pr_ids_binary_operator.h: Likewise.
32870         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
32871         * lib/unictype/pr_ignorable_control.h: Likewise.
32872         * lib/unictype/pr_iso_control.h: Likewise.
32873         * lib/unictype/pr_join_control.h: Likewise.
32874         * lib/unictype/pr_left_of_pair.h: Likewise.
32875         * lib/unictype/pr_line_separator.h: Likewise.
32876         * lib/unictype/pr_logical_order_exception.h: Likewise.
32877         * lib/unictype/pr_lowercase.h: Likewise.
32878         * lib/unictype/pr_math.h: Likewise.
32879         * lib/unictype/pr_non_break.h: Likewise.
32880         * lib/unictype/pr_not_a_character.h: Likewise.
32881         * lib/unictype/pr_numeric.h: Likewise.
32882         * lib/unictype/pr_other_alphabetic.h: Likewise.
32883         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
32884         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
32885         * lib/unictype/pr_other_id_continue.h: Likewise.
32886         * lib/unictype/pr_other_id_start.h: Likewise.
32887         * lib/unictype/pr_other_lowercase.h: Likewise.
32888         * lib/unictype/pr_other_math.h: Likewise.
32889         * lib/unictype/pr_other_uppercase.h: Likewise.
32890         * lib/unictype/pr_paired_punctuation.h: Likewise.
32891         * lib/unictype/pr_paragraph_separator.h: Likewise.
32892         * lib/unictype/pr_pattern_syntax.h: Likewise.
32893         * lib/unictype/pr_pattern_white_space.h: Likewise.
32894         * lib/unictype/pr_private_use.h: Likewise.
32895         * lib/unictype/pr_punctuation.h: Likewise.
32896         * lib/unictype/pr_quotation_mark.h: Likewise.
32897         * lib/unictype/pr_radical.h: Likewise.
32898         * lib/unictype/pr_sentence_terminal.h: Likewise.
32899         * lib/unictype/pr_soft_dotted.h: Likewise.
32900         * lib/unictype/pr_space.h: Likewise.
32901         * lib/unictype/pr_terminal_punctuation.h: Likewise.
32902         * lib/unictype/pr_titlecase.h: Likewise.
32903         * lib/unictype/pr_unassigned_code_value.h: Likewise.
32904         * lib/unictype/pr_unified_ideograph.h: Likewise.
32905         * lib/unictype/pr_uppercase.h: Likewise.
32906         * lib/unictype/pr_variation_selector.h: Likewise.
32907         * lib/unictype/pr_white_space.h: Likewise.
32908         * lib/unictype/pr_xid_continue.h: Likewise.
32909         * lib/unictype/pr_xid_start.h: Likewise.
32910         * lib/unictype/pr_zero_width.h: Likewise.
32911         * lib/unictype/scripts.h: Likewise.
32912         * lib/unictype/scripts_byname.gperf: Likewise.
32913         * lib/unictype/sy_c_ident.h: Likewise.
32914         * lib/unictype/sy_c_whitespace.h: Likewise.
32915         * lib/unictype/sy_java_ident.h: Likewise.
32916         * lib/unictype/sy_java_whitespace.h: Likewise.
32917
32918         * lib/unictype/Makefile: New file.
32919         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
32920         glibc.
32921         * lib/unictype/3level.h: New file, copied from glibc.
32922         * lib/unictype/3levelbit.h: New file.
32923
32924 2007-11-11  Bruno Haible  <bruno@clisp.org>
32925
32926         * modules/gperf: New file.
32927         * modules/iconv_open (Depends-on): Add it.
32928         (Makefile.am): Remove the GPERF definition.
32929
32930 2007-11-11  Bruno Haible  <bruno@clisp.org>
32931
32932         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
32933         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
32934
32935 2007-11-11  Bruno Haible  <bruno@clisp.org>
32936
32937         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
32938         (usage): Remove function.
32939
32940 2007-11-11  Bruno Haible  <bruno@clisp.org>
32941
32942         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
32943         gl_FUNC_CEILF_LIBS.
32944         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
32945         gl_FUNC_CEIL_LIBS.
32946         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
32947         gl_FUNC_CEILL_LIBS.
32948         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
32949         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
32950         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
32951
32952 2007-11-11  Bruno Haible  <bruno@clisp.org>
32953
32954         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
32955         roundf were declared but do not exist on functions.
32956         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
32957         roundl were declared but do not exist on functions.
32958         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
32959         HAVE_FLOORL_AND_CEILL, respectively.
32960         Needed for Sun C on Solaris 10.
32961
32962 2007-11-11  Bruno Haible  <bruno@clisp.org>
32963
32964         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
32965         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
32966         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
32967         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
32968         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
32969         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
32970         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
32971         HAVE_DECL_ROUNDF.
32972         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
32973         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
32974         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
32975         of HAVE_DECL_ROUND*.
32976         * modules/math (Makefile.am): Update.
32977
32978 2007-11-10  Bruno Haible  <bruno@clisp.org>
32979
32980         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
32981         ptrdiff_t as m4/intl.m4.
32982
32983 2007-11-10  Jim Meyering  <meyering@redhat.com>
32984
32985         Avoid link failure for the argmatch test.
32986         * tests/test-argmatch.c (usage): Define function to avoid a link
32987         failure: argmatch_die requires a usage function.
32988
32989 2007-11-09  Bruno Haible  <bruno@clisp.org>
32990
32991         * doc/functions/snprintf.texi: Mention BeOS deficiency.
32992         * doc/functions/vsnprintf.texi: Likewise.
32993         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
32994         with a size argument < 2.
32995
32996 2007-11-09  Bruno Haible  <bruno@clisp.org>
32997
32998         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
32999         buffer. Fixes an inefficiency introduced on 2007-11-03.
33000
33001 2007-11-09  Bruno Haible  <bruno@clisp.org>
33002
33003         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
33004         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
33005
33006 2007-11-08  Jim Meyering  <meyering@redhat.com>
33007
33008         Change cache variable name prefix "jm_" to "gl_" everywhere.
33009         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
33010         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
33011         * m4/uptime.m4: s/gl_/jm_/
33012
33013 2007-11-07  Bruno Haible  <bruno@clisp.org>
33014
33015         Update to GNU gettext 0.17.
33016         * m4/intl.m4: Update to GNU gettext 0.17.
33017         * m4/po.m4: Likewise.
33018         * modules/gettext (Files): Remove m4/ulonglong.m4.
33019         (configure.ac): Require gettext infrastructure from version 0.17.
33020
33021 2007-11-06  Bruno Haible  <bruno@clisp.org>
33022
33023         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
33024         symbolic values are not defined in a public header.
33025         * lib/freadable.c (freadable) [QNX]: Likewise.
33026         * lib/freadahead.c (freadahead) [QNX]: Likewise.
33027         * lib/freading.c (freading) [QNX]: Likewise.
33028         * lib/fseterr.c (fseterr) [QNX]: Likewise.
33029         * lib/fwritable.c (fwritable) [QNX]: Likewise.
33030         * lib/fwriting.c (fwriting) [QNX]: Likewise.
33031         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
33032         Reported by Alain Magloire.
33033
33034         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
33035
33036 2007-11-05  Bruno Haible  <bruno@clisp.org>
33037
33038         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
33039         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
33040         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
33041         Reported by Eric Blake.
33042
33043 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33044             Bruno Haible  <bruno@clisp.org>
33045
33046         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
33047         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
33048         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
33049         (malloc): Undefine also before including <stdlib.h>.
33050         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
33051         Needed on OSF/1 4.0.
33052
33053 2007-11-05  Jim Meyering  <meyering@redhat.com>
33054
33055         git-version-gen: sync from coreutils.
33056         * build-aux/git-version-gen: Add comments.
33057         Change the first '-' to '.' in the snapshot version string,
33058         e.g., 6.9-377-08144 -> 6.9.377-08144
33059         Remove first parameter.
33060         Don't declare a version "-dirty" merely because a time
33061         stamp has changed.
33062
33063 2007-11-04  Bruno Haible  <bruno@clisp.org>
33064
33065         * lib/lock.h: Protect all macro definitions containing an 'if'
33066         statement through a "do { ... } while (0)".
33067         * lib/tls.h: Likewise.
33068
33069 2007-11-04  Bruno Haible  <bruno@clisp.org>
33070
33071         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
33072
33073 2007-11-04  Bruno Haible  <bruno@clisp.org>
33074
33075         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
33076         * modules/fprintf-posix (Depends-on): Add nocrash.
33077         * modules/snprintf-posix (Depends-on): Likewise.
33078         * modules/sprintf-posix (Depends-on): Likewise.
33079         * modules/vasnprintf-posix (Depends-on): Likewise.
33080         * modules/vasprintf-posix (Depends-on): Likewise.
33081         * modules/vfprintf-posix (Depends-on): Likewise.
33082         * modules/vsnprintf-posix (Depends-on): Likewise.
33083         * modules/vsprintf-posix (Depends-on): Likewise.
33084         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
33085         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
33086         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
33087         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
33088         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
33089         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
33090         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
33091
33092 2007-11-04  Bruno Haible  <bruno@clisp.org>
33093
33094         * modules/nocrash: New file.
33095         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
33096         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
33097
33098 2007-11-04  Bruno Haible  <bruno@clisp.org>
33099
33100         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
33101         precision handling.
33102         * tests/test-vasprintf-posix.c (test_function): Likewise.
33103         * tests/test-snprintf-posix.h (test_function): Likewise.
33104         * tests/test-sprintf-posix.h (test_function): Likewise.
33105
33106         Fix *printf behaviour for large precisions on mingw and BeOS.
33107         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
33108         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
33109         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
33110         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
33111         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
33112         gl_PRINTF_PRECISION and test its result. Invoke
33113         gl_PREREQ_VASNPRINTF_PRECISION.
33114         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
33115         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
33116         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
33117         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
33118         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
33119         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
33120         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
33121         * doc/functions/fprintf.texi: Update.
33122         * doc/functions/printf.texi: Update.
33123         * doc/functions/snprintf.texi: Update.
33124         * doc/functions/sprintf.texi: Update.
33125         * doc/functions/vfprintf.texi: Update.
33126         * doc/functions/vprintf.texi: Update.
33127         * doc/functions/vsnprintf.texi: Update.
33128         * doc/functions/vsprintf.texi: Update.
33129
33130 2007-11-04  Bruno Haible  <bruno@clisp.org>
33131
33132         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
33133
33134 2007-11-04  Bruno Haible  <bruno@clisp.org>
33135
33136         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
33137         Reported by Sylvain Beucler <beuc@gnu.org>.
33138
33139 2007-11-03  Bruno Haible  <bruno@clisp.org>
33140
33141         * tests/test-fprintf-posix2.sh: New file.
33142         * tests/test-fprintf-posix2.c: New file.
33143         * modules/fprintf-posix-tests (Files): Add them.
33144         (TESTS): Add test-fprintf-posix2.sh.
33145         (configure.ac): Check for getrlimit and setrlimit.
33146         (check_PROGRAMS): Add test-fprintf-posix2.
33147
33148         * tests/test-printf-posix2.sh: New file.
33149         * tests/test-printf-posix2.c: New file.
33150         * modules/printf-posix-tests (Files): Add them.
33151         (TESTS): Add test-printf-posix2.sh.
33152         (configure.ac): Check for getrlimit and setrlimit.
33153         (check_PROGRAMS): Add test-printf-posix2.
33154
33155         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
33156         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
33157         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
33158         (decode_double): New function, copied from decode_long_double.
33159         (scale10_round_decimal_decoded): New function, extracted from
33160         scale10_round_decimal_long_double.
33161         (scale10_round_decimal_long_double): Use it.
33162         (scale10_round_decimal_double): New function.
33163         (floorlog10): New function.
33164         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
33165         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
33166         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
33167         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
33168         gl_PRINTF_ENOMEM and test its result. Invoke
33169         gl_PREREQ_VASNPRINTF_ENOMEM.
33170         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
33171         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
33172         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
33173         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
33174         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
33175         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
33176         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
33177         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
33178         * modules/snprintf-posix (Depends-on): Likewise.
33179         * modules/sprintf-posix (Depends-on): Likewise.
33180         * modules/vasnprintf-posix (Depends-on): Likewise.
33181         * modules/vasprintf-posix (Depends-on): Likewise.
33182         * modules/vfprintf-posix (Depends-on): Likewise.
33183         * modules/vsnprintf-posix (Depends-on): Likewise.
33184         * modules/vsprintf-posix (Depends-on): Likewise.
33185         * doc/functions/fprintf.texi: Update.
33186         * doc/functions/printf.texi: Update.
33187         * doc/functions/snprintf.texi: Update.
33188         * doc/functions/sprintf.texi: Update.
33189         * doc/functions/vfprintf.texi: Update.
33190         * doc/functions/vprintf.texi: Update.
33191         * doc/functions/vsnprintf.texi: Update.
33192         * doc/functions/vsprintf.texi: Update.
33193
33194 2007-11-03  Bruno Haible  <bruno@clisp.org>
33195
33196         * modules/frexp-nolibm-tests: New file.
33197
33198         * modules/frexp-nolibm: New file.
33199         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
33200
33201 2007-11-03  Bruno Haible  <bruno@clisp.org>
33202
33203         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
33204         value is C99 compliant.
33205         Needed for OSF/1 5.1.
33206
33207 2007-11-03  Bruno Haible  <bruno@clisp.org>
33208
33209         Fix out-of-memory handling of vasnprintf.
33210         * lib/printf-parse.c: Include <errno.h>.
33211         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
33212         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
33213         is already set.
33214
33215 2007-11-02  Eric Blake  <ebb9@byu.net>
33216
33217         Fix tests on cygwin.
33218         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
33219
33220 2007-11-01  Bruno Haible  <bruno@clisp.org>
33221
33222         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
33223         warning.
33224         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
33225         needed for POSIX compatibility.
33226
33227 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
33228
33229         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
33230         for compatibility with GNU.
33231
33232 2007-11-01  Bruno Haible  <bruno@clisp.org>
33233
33234         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
33235         (putenv): Renamed from rpl_putenv. Change argument type from
33236         'const char *' to 'char *'.
33237         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
33238         of defining putenv in config.h, just set REPLACE_PUTENV.
33239         * modules/putenv (Depends-on): Add stdlib.
33240         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
33241         (Include): Use <stdlib.h>.
33242         * lib/stdlib.in.h (putenv): New declaration.
33243         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
33244         REPLACE_PUTENV.
33245         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
33246         REPLACE_PUTENV.
33247         Needed for MacOS X 10.5.0.
33248         Reported by Peter O'Gorman <peter@pogma.com>.
33249
33250 2007-11-01  Jim Meyering  <meyering@redhat.com>
33251
33252         Treat an empty date string exactly like "0".
33253         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
33254         if the remaining date string (to be parsed) is empty, use "0".
33255         Reported by Mischa Molhoek and discussed in this thread:
33256         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
33257
33258 2007-10-31  Bruno Haible  <bruno@clisp.org>
33259
33260         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
33261         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
33262         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
33263         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
33264         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
33265         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
33266
33267 2007-10-31  Bruno Haible  <bruno@clisp.org>
33268
33269         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
33270         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
33271         (AC_TYPE_LONG_LONG_INT): Use it.
33272         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
33273         it as well.
33274         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
33275         to m4/longlong.m4.
33276         * modules/stdint (Files): Remove m4/ulonglong.m4.
33277         * modules/strtoull (Files): Use m4/longlong.m4 instead of
33278         m4/ulonglong.m4.
33279         * modules/strtoumax (Files): Likewise.
33280
33281 2007-10-30  Bruno Haible  <bruno@clisp.org>
33282
33283         * modules/xvasprintf-posix: New file.
33284         Suggested by Eric Blake.
33285
33286 2007-10-30  Bruno Haible  <bruno@clisp.org>
33287
33288         * modules/xprintf-posix-tests: New file.
33289         * tests/test-xprintf-posix.sh: New file.
33290         * tests/test-xprintf-posix.c: New file.
33291         * tests/test-xfprintf-posix.c: New file.
33292
33293         * modules/xprintf-posix: New file.
33294
33295 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33296
33297         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
33298         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
33299         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
33300
33301 2007-10-29  Bruno Haible  <bruno@clisp.org>
33302
33303         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
33304         contain the special marker '_cv_'.
33305         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
33306         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
33307         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
33308         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
33309         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
33310         Reported by Ralf Wildenhues.
33311
33312 2007-10-29  Bruno Haible  <bruno@clisp.org>
33313
33314         * gnulib-tool (func_import): When --lgpl is not specified, set
33315         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
33316         GPLv3.
33317         Reported by Simon Josefsson.
33318
33319 2007-10-28  Bruno Haible  <bruno@clisp.org>
33320
33321         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
33322         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
33323         HAVE_DECL_ISFINITE.
33324         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
33325         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
33326         HAVE_DECL_ISFINITE.
33327
33328 2007-10-28  Bruno Haible  <bruno@clisp.org>
33329
33330         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
33331         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
33332
33333 2007-10-28  Bruno Haible  <bruno@clisp.org>
33334
33335         Fix link errors with Sun C 5.0 on Solaris 10.
33336         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
33337         function is declared but not present in the compiler's libm.
33338         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
33339         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
33340         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
33341         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
33342         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
33343         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
33344         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
33345         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
33346         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
33347         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
33348         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
33349         HAVE_DECL_FLOORL.
33350
33351 2007-10-28  Bruno Haible  <bruno@clisp.org>
33352
33353         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
33354         gl_FUNC_FLOORL. Cache the result.
33355         (gl_FUNC_FLOORL): Use it.
33356         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
33357         gl_FUNC_CEILL. Cache the result.
33358         (gl_FUNC_CEILL): Use it.
33359
33360         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
33361         gl_FUNC_FLOOR. Cache the result.
33362         (gl_FUNC_FLOOR): Use it.
33363         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
33364         gl_FUNC_CEIL. Cache the result.
33365         (gl_FUNC_CEIL): Use it.
33366
33367         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
33368         gl_FUNC_FLOORF. Cache the result.
33369         (gl_FUNC_FLOORF): Use it.
33370         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
33371         gl_FUNC_CEILF. Cache the result.
33372         (gl_FUNC_CEILF): Use it.
33373
33374 2007-10-28  Bruno Haible  <bruno@clisp.org>
33375
33376         * gnulib-tool: Allow specifying the LGPL version number through
33377         --lgpl=2 or --lgpl=3.
33378         (func_usage): Document --lgpl with argument.
33379         Handle --lgpl=... arguments.
33380         (func_import): Recognize also gl_LGPL calls with an argument. When
33381         --lgpl=2 is used and the module's license is just LGPL, report an
33382         error. Set sed_transform_lib_file according to the lgpl variable. In
33383         the generated files, use --lgpl or gl_LGPL invocations with argument,
33384         if necessary.
33385         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
33386         an LGPv2+ license.
33387         * doc/gnulib-tool.texi (Modified imports): Update explanation of
33388         gl_LGPL macro.
33389
33390 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33391             Bruno Haible  <bruno@clisp.org>
33392
33393         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
33394         (u16_uctomb_aux): Likewise.
33395         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
33396         !HAVE_INLINE.
33397         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
33398
33399 2007-10-28  Bruno Haible  <bruno@clisp.org>
33400
33401         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
33402         Invoke AM_GETTEXT_OPTION if it exists.
33403         * modules/vasprintf: Likewise.
33404         * modules/verror: Likewise.
33405         * modules/xprintf: Likewise.
33406         * modules/xvasprintf: Likewise.
33407
33408 2007-10-27  Ben Pfaff  <blp@gnu.org>
33409
33410         * lib/math.in.h: Define isfinite macro and prototypes for
33411         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
33412         implementations.
33413         * m4/math_h.m4: New substitutions for isfinite module.
33414         * lib/isfinite.c: New file.
33415         * m4/isfinite.m4: New file.
33416         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
33417         * modules/isfinite: New file.
33418         * modules/isfinite-tests: New file.
33419         * tests/tests-isfinite.c: New file.
33420         * doc/functions/isfinite.texi: Mention isfinite module.
33421         * MODULES.html.sh: Mention new module.
33422
33423 2007-10-27  Ben Pfaff  <blp@gnu.org>
33424
33425         Ralf Wildenhues reported that Tru64 4.0D declares the round
33426         functions but does not have definitions.
33427         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
33428         cannot be found in any library, set the output variable to
33429         "missing" instead of "".
33430         * m4/round.m4: Also use our substitute if we cannot find round in
33431         any library, even if it is declared.
33432         * m4/roundf.m4: Likewise for roundf.
33433         * m4/roundl.m4: Likewise for roundl.
33434         * lib/math.in.h: Undefine roundf, round, roundl before defining
33435         their replacements, to allow for hypothetical systems where these
33436         may be defined as macros but not available in libraries.
33437
33438 2007-10-27  Bruno Haible  <bruno@clisp.org>
33439
33440         * doc/gnulib.texi: Invoke @firstparagraphindent.
33441         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
33442         changes in gnulib.
33443         (Source changes): New section.
33444
33445 2007-10-26  Bruno Haible  <bruno@clisp.org>
33446
33447         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
33448         borrowed from autoconf.
33449
33450 2007-10-26  Bruno Haible  <bruno@clisp.org>
33451
33452         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
33453         strerror returned the empty string. Needed on HP-UX 11.00.
33454
33455 2007-10-24  Micah Cowan  <micah@cowan.name>
33456
33457         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
33458         * build-aux/bootstrap: Remove support for now-unnecessary option,
33459         --cvs-user, and envvars CVS_USER, CVS_RSH.
33460
33461 2007-10-24  Jim Meyering  <meyering@redhat.com>
33462
33463         Avoid diagnostics from sha1sum when there is no cached checksum.
33464         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
33465         if the po.s1 file hasn't been created yet.
33466
33467         * build-aux/bootstrap: Sync from coreutils:
33468         2007-10-24  Jim Meyering  <meyering@redhat.com>
33469         Get gnulib from the git repository, not from an obsolete cvs one.
33470         * build-aux/bootstrap: Suggestion from Micah Cowan.
33471         2007-10-04  Jim Meyering  <jim@meyering.net>
33472         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
33473         (update_po_files): Work also when there are no .po files in po/.
33474
33475 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
33476
33477         * README: Append ".git" to git and cg examples.
33478         Problem reported by Benoit Sigoure.
33479
33480 2007-10-23  Micah Cowan  <micah@cowan.name>
33481
33482         * users.txt: Add wget.
33483
33484 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33485
33486         Fix linking of some unistdio tests on FreeBSD.
33487         * modules/unistdio/u16-vsnprintf-tests
33488         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
33489         * modules/unistdio/u16-vsprintf-tests
33490         (test_u16_vsnprintf1_LDADD): Likewise.
33491         * modules/unistdio/u32-vsnprintf-tests
33492         (test_u32_vsnprintf1_LDADD): Likewise.
33493         * modules/unistdio/u32-vsprintf-tests
33494         (test_u32_vsprintf1_LDADD): Likewise.
33495         * modules/unistdio/u8-vsnprintf-tests
33496         (test_u8_vsnprintf1_LDADD): Likewise.
33497         * modules/unistdio/u8-vsprintf-tests
33498         (test_u8_vsprintf1_LDADD): Likewise.
33499         * modules/unistdio/ulc-vsnprintf-tests
33500         (test_ulc_vsnprintf1_LDADD): Likewise.
33501         * modules/unistdio/ulc-vsprintf-tests
33502         (test_ulc_vsprintf1_LDADD): Likewise.
33503
33504         Fix linking of some uniconv tests on FreeBSD.
33505         * modules/uniconv/u16-conv-from-enc-tests
33506         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
33507         * modules/uniconv/u16-conv-to-enc-tests
33508         (test_u16_conv_to_enc_LDADD): Likewise.
33509         * modules/uniconv/u16-strconv-from-enc-tests
33510         (test_u16_strconv_from_enc_LDADD): Likewise.
33511         * modules/uniconv/u16-strconv-to-enc-tests
33512         (test_u16_strconv_to_enc_LDADD): Likewise.
33513         * modules/uniconv/u32-conv-from-enc-tests
33514         (test_u32_conv_from_enc_LDADD): Likewise.
33515         * modules/uniconv/u32-conv-to-enc-tests
33516         (test_u32_conv_to_enc_LDADD): Likewise.
33517         * modules/uniconv/u32-strconv-from-enc-tests
33518         (test_u32_strconv_from_enc_LDADD): Likewise.
33519         * modules/uniconv/u32-strconv-to-enc-tests
33520         (test_u32_strconv_to_enc_LDADD): Likewise.
33521         * modules/uniconv/u8-conv-from-enc-tests
33522         (test_u8_conv_from_enc_LDADD): Likewise.
33523         * modules/uniconv/u8-conv-to-enc-tests
33524         (test_u8_conv_to_enc_LDADD): Likewise.
33525         * modules/uniconv/u8-strconv-from-enc-tests
33526         (test_u8_strconv_from_enc_LDADD): Likewise.
33527         * modules/uniconv/u8-strconv-to-enc-tests
33528         (test_u8_strconv_to_enc_LDADD): Likewise.
33529
33530 2007-10-22  Bruno Haible  <bruno@clisp.org>
33531
33532         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
33533         size.
33534
33535 2007-10-22  Eric Blake  <ebb9@byu.net>
33536
33537         Tweak x*printf documentation.
33538         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
33539         variable name and comments.
33540         Suggested by Bruno Haible.
33541
33542 2007-10-22  Bruno Haible  <bruno@clisp.org>
33543
33544         * lib/acl.c (copy_acl): Fix file name in comment.
33545
33546 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
33547
33548         Fix Tru64 problem with stdbool.h.
33549         * lib/stdbool.in.h (false, true):
33550         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
33551         Don't declare as an enum in this situation; it runs afoul of Tru64.
33552         Problem reported by Steven M. Schweda in
33553         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
33554
33555 2007-10-22  Eric Blake  <ebb9@byu.net>
33556
33557         Also wrap vf?printf.
33558         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
33559         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
33560         (xvprintf, xvfprintf): New functions.
33561
33562 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33563
33564         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
33565         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
33566
33567         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
33568         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
33569
33570 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
33571
33572         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
33573         by Bruno Haible.
33574
33575 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33576
33577         * lib/getloadavg.c
33578         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
33579         Undef `sys' after including sys/table.h, for Tru64 4.0D.
33580
33581         * tests/test-i-ring.c: Work for C89.
33582
33583 2007-10-22  Bruno Haible  <bruno@clisp.org>
33584
33585         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
33586         -1u, in preprocessor expression, so that we don't test for the bug
33587         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
33588         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
33589
33590 2007-10-22  Eric Blake  <ebb9@byu.net>
33591
33592         * tests/test-yesno.sh: Silence stderr during test.
33593
33594 2007-10-22  Simon Josefsson  <simon@josefsson.org>
33595
33596         * modules/crypto/gc-camellia: New file.
33597
33598         * m4/gc-camellia.m4: New file.
33599
33600         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
33601
33602         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
33603
33604 2007-10-22  Simon Josefsson  <simon@josefsson.org>
33605
33606         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
33607         --help to stdout.  Reported by sms@antinode.org (Steven
33608         M. Schweda).
33609
33610 2007-10-22  Simon Josefsson  <simon@josefsson.org>
33611
33612         * users.txt: Fix link to libksba.
33613
33614 2007-10-21  Ben Pfaff  <blp@gnu.org>
33615
33616         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
33617         round.c roundf implementation that depends on floorf and ceilf to
33618         be tested unconditionally.
33619
33620 2007-10-21  Ben Pfaff  <blp@gnu.org>
33621
33622         * m4/check-libm-func.m4: Removed.
33623         * m4/check-math-lib.m4: New file.
33624         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
33625         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
33626         definition and lack of AC_LIBOBJ([roundf]).
33627         * m4/roundl.m4: Ditto, and similarly for roundl.
33628         * modules/round: Reference new m4 file.
33629         * modules/roundf: Ditto.
33630         * modules/roundl: Ditto.
33631         * tests/test-round2.c (main): Use ROUND instead of round.
33632         Bug report from Bruno Haible.
33633
33634 2007-10-21  Bruno Haible  <bruno@clisp.org>
33635
33636         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
33637         context.
33638
33639 2007-10-21  Bruno Haible  <bruno@clisp.org>
33640
33641         * tests/test-wcwidth.c (main): Allow negative result for some control
33642         characters.
33643
33644         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
33645         Needed on OSF/1 5.1.
33646
33647 2007-10-21  Bruno Haible  <bruno@clisp.org>
33648
33649         * tests/test-floorf1.c: Include isnanf.h.
33650         (main): Use isnanf() instead of isnan().
33651         * tests/test-ceilf1.c: Include isnanf.h.
33652         (main): Use isnanf() instead of isnan().
33653         * tests/test-truncf1.c: Include isnanf.h.
33654         (main): Use isnanf() instead of isnan().
33655         * tests/test-roundf1.c: Include isnanf.h.
33656         (main): Use isnanf() instead of isnan().
33657
33658 2007-10-21  Eric Blake  <ebb9@byu.net>
33659
33660         * users.txt: Update URL for m4.
33661
33662 2007-10-21  Bruno Haible  <bruno@clisp.org>
33663
33664         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
33665
33666 2007-10-21  Bruno Haible  <bruno@clisp.org>
33667
33668         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
33669         Git's management files if the CVS files are not present.
33670
33671 2007-10-20  Bruno Haible  <bruno@clisp.org>
33672
33673         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
33674         gcc-3.4.x.
33675
33676 2007-10-20  Ben Pfaff  <blp@gnu.org>
33677
33678         * lib/math.in.h: Declare round, roundf, roundl if we are providing
33679         implementations.
33680         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
33681         * lib/round.c: New file.
33682         * lib/roundf.c: New file.
33683         * lib/roundl.c: New file.
33684         * m4/round.m4: New file.
33685         * m4/roundf.m4: New file.
33686         * m4/roundl.m4: New file.
33687         * m4/check-libm-func-m4: New file.
33688         * modules/math: Replace round, roundf, roundl related @VARS@ in
33689         math.in.h.
33690         * modules/round: New file.
33691         * modules/round-tests: New file.
33692         * modules/roundf: New file.
33693         * modules/roundf-tests: New file.
33694         * modules/roundl: New file.
33695         * modules/roundl-tests: New file.
33696         * tests/test-round1.c: New file.
33697         * tests/test-round2.c: New file.
33698         * tests/test-roundf1.c: New file.
33699         * tests/test-roundf2.c: New file.
33700         * tests/test-roundl.c: New file.
33701         * doc/functions/round.texi: Mention round module.
33702         * doc/functions/roundf.texi: Mention roundf module.
33703         * doc/functions/roundl.texi: Mention roundl module.
33704         * MODULES.html.sh: Mention new modules.
33705         Thanks to Bruno Haible for suggestions.
33706
33707 2007-10-20  Jim Meyering  <meyering@redhat.com>
33708
33709         * lib/xprintf.c: Include <config.h> unconditionally.
33710
33711         Change xprintf's license to GPL.
33712         * modules/xprintf (License): s/LGPL/GPL/, since this module
33713         depends on modules (exit and exitfail) which are GPL.
33714         Suggestion from Bruno Haible.
33715
33716         xprintf fixes.
33717         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
33718         Use a clearer diagnostic.
33719         Patch from Bruno Haible.
33720
33721 2007-10-20  Bruno Haible  <bruno@clisp.org>
33722
33723         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
33724         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
33725         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33726
33727 2007-10-20  Bruno Haible  <bruno@clisp.org>
33728
33729         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
33730         precision in the comparison result > x - 1 or similar.
33731         * tests/test-ceilf2.c (correct_result_p): Likewise.
33732         * tests/test-truncf2.c (correct_result_p): Likewise.
33733         * tests/test-trunc2.c (correct_result_p): Likewise.
33734         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33735
33736 2007-10-20  Bruno Haible  <bruno@clisp.org>
33737
33738         * modules/ceil: New file.
33739         * m4/ceil.m4: New file.
33740         * doc/functions/ceil.texi: Mention the 'ceil' module.
33741
33742 2007-10-20  Bruno Haible  <bruno@clisp.org>
33743
33744         * modules/floor: New file.
33745         * m4/floor.m4: New file.
33746         * doc/functions/floor.texi: Mention the 'floor' module.
33747
33748 2007-10-20  Bruno Haible  <bruno@clisp.org>
33749
33750         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
33751         of %a.
33752         * modules/floorf-tests (Depends-on): Likewise.
33753         * modules/truncf-tests (Depends-on): Likewise.
33754         * modules/trunc-tests (Depends-on): Likewise.
33755         Reported by Ben Pfaff.
33756
33757 2007-10-19  Jim Meyering  <meyering@redhat.com>
33758
33759         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
33760         Don't bother testing specific errno values.  Just test ferror.
33761
33762         New module: xprintf
33763         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
33764
33765 2007-10-19  Bruno Haible  <bruno@clisp.org>
33766
33767         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
33768         syntax.
33769         * modules/javaexec (Makefile.am): Likewise.
33770         * modules/relocatable-prog (Makefile.am): Likewise.
33771         Suggested by Jim Meyering.
33772
33773 2007-10-18  Bruno Haible  <bruno@clisp.org>
33774
33775         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
33776         Reported by Jim Meyering.
33777
33778 2007-10-18  Eric Blake  <ebb9@byu.net>
33779
33780         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
33781
33782 2007-10-18  Bruno Haible  <bruno@clisp.org>
33783
33784         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
33785         the format string into writable memory. Needed in Fortify conditions.
33786
33787 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
33788             Bruno Haible  <bruno@clisp.org>
33789
33790         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
33791         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
33792         * modules/trim (Depends-on): Add mbchar.
33793         (configure.ac): Add gl_FUNC_MBRTOWC.
33794         (Makefile.am): Augment lib_SOURCES.
33795
33796 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
33797
33798         Modify glob.c to use fstatat and dirfd, to simplify it.
33799         Suggested by Eric Blake.
33800         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
33801         Don't include <stdbool.h>; not used.
33802         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
33803         (link_exists_p): Simplify implementation, since we can now assume
33804         dirfd and fstatat.
33805         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
33806
33807 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33808
33809         * gnulib-tool (func_get_dependencies): Fix sed script to
33810         match only tests.
33811
33812 2007-10-17  Bruno Haible  <bruno@clisp.org>
33813
33814         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
33815         allow locale names without encoding suffix.
33816         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
33817         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
33818
33819 2007-10-16  Bruno Haible  <bruno@clisp.org>
33820
33821         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
33822         * lib/getgroups.c (getgroups): Likewise.
33823         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
33824
33825 2007-10-16  Bruno Haible  <bruno@clisp.org>
33826
33827         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
33828         * modules/malloc-posix (License): Likewise.
33829         * modules/realloc-posix (License): Likewise.
33830         * modules/calloc-posix (License): Likewise.
33831         * modules/intprops (License): Change from GPL to LGPL, with
33832         Paul Eggert's approval.
33833
33834 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
33835
33836         Merge glibc changes into lib/glob.c.
33837
33838         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
33839         2007-10-15 04:59:03 UTC.  Here are the changes:
33840
33841         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
33842
33843         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
33844
33845         * lib/glob.c: Add some branch prediction throughout.
33846
33847         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
33848
33849         [BZ #5103]
33850         * lib/glob.c (glob): Recognize patterns starting \/.
33851
33852         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
33853
33854         [BZ #3996]
33855         * lib/glob.c (attribute_hidden): Define if not defined.
33856         (glob): Unescape dirname, filename or username when needed and not
33857         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
33858         is NULL.  Handle unescaped [ in pattern without closing ].
33859         Don't pass GLOB_CHECK down to recursive glob for directories.
33860         (__glob_pattern_type): New function.
33861         (__glob_pattern_p): Implement using __glob_pattern_type.
33862         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
33863         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
33864         Remove unreachable code.
33865
33866         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
33867
33868         * lib/glob.c (glob_in_dir): Add some comments and asserts to
33869         explain why there are no leaks.
33870
33871         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
33872
33873         [BZ #3253]
33874         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
33875         time, rather allocate increasingly bigger arrays of pointers, if
33876         possible with alloca, if too large with malloc.
33877
33878 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
33879
33880         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
33881         Problem reported by H.Merijn Brand in
33882         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
33883         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
33884         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
33885
33886 2007-10-15  Bruno Haible  <bruno@clisp.org>
33887
33888         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
33889         with explicit rpl_ prefix.
33890         * lib/fopen.c (fopen): Likewise.
33891         * lib/freopen.c (freopen): Likewise.
33892         * lib/iconv.c (iconv): Likewise.
33893         * lib/iconv_close.c (iconv_close): Likewise.
33894
33895 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33896
33897         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
33898
33899 2007-10-15  Bruno Haible  <bruno@clisp.org>
33900
33901         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
33902         <stddef.h> instead of <stdlib.h> since we only need NULL.
33903         Reported by Ben Pfaff <blp@cs.stanford.edu>.
33904
33905 2007-10-15  Bruno Haible  <bruno@clisp.org>
33906
33907         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
33908         Replace paragraph talking about LIBOBJS.
33909         Reported by Colin Watson <cjwatson@debian.org>.
33910
33911 2007-10-15  Bruno Haible  <bruno@clisp.org>
33912
33913         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
33914         <stdlib.h> before using NULL.
33915
33916 2007-10-15  Simon Josefsson  <simon@josefsson.org>
33917
33918         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
33919         Reported by Albert Chin <china@thewrittenword.com>.
33920
33921 2007-10-14  Bruno Haible  <bruno@clisp.org>
33922
33923         * modules/iconv_open-utf-tests: New file.
33924         * tests/test-iconv-utf.c: New file.
33925
33926         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
33927         * modules/iconv_open-utf: New file.
33928         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
33929         (iconv, iconv_close): New declarations.
33930         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
33931         be defined.
33932         (iconv_open): Add special handling of conversion between UTF-8 and
33933         UTF-{16,32}{BE,LE}.
33934         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
33935         * lib/iconv_close.c: New file.
33936         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
33937         gl_FUNC_ICONV_OPEN.
33938         (gl_FUNC_ICONV_OPEN): Use it.
33939         (gl_FUNC_ICONV_OPEN_UTF): New macro.
33940         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
33941         and REPLACE_ICONV_UTF.
33942         * modules/iconv_open (Depends-on): Add c-strcase.
33943         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
33944         ICONV_CONST.
33945         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
33946
33947 2007-10-13  Albert Chin  <china@thewrittenword.com>
33948             Bruno Haible  <bruno@clisp.org>
33949
33950         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
33951         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
33952
33953 2007-10-13  Bruno Haible  <bruno@clisp.org>
33954
33955         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
33956         defined, use the ISO C99 inline semantics.
33957         * lib/argp.h (ARGP_EI): Likewise.
33958
33959 2007-10-13  Bruno Haible  <bruno@clisp.org>
33960
33961         Handle 'inline' change in gcc 4.3.0.
33962         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
33963         argp_fmtstream_write, argp_fmtstream_set_lmargin,
33964         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
33965         argp_fmtstream_point): Disable 'extern' declaration if the function
33966         definition is going to be provided inline.
33967         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
33968         semantics, not the ISO C99 inline semantics.
33969         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
33970         'extern' declaration if the function definition is going to be provided
33971         inline.
33972         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
33973         the GNU C inline semantics, not the ISO C99 inline semantics. With
33974         GCC 4.2, avoid a warning.
33975
33976 2007-10-13  Bruno Haible  <bruno@clisp.org>
33977
33978         * lib/freading.h (freading): Enable the use of __freading for
33979         glibc >= 2.7.
33980         * lib/freading.c (freading): Likewise.
33981
33982 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
33983
33984         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
33985         "warning: C99 inline functions are not supported; using GNU89".
33986
33987 2007-10-12  Bruno Haible  <bruno@clisp.org>
33988
33989         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
33990         of 2.
33991         * tests/test-ceilf2.c: New file.
33992         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
33993
33994         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
33995         * modules/ceilf-tests: Update.
33996
33997 2007-10-12  Bruno Haible  <bruno@clisp.org>
33998
33999         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
34000         of 2.
34001         * tests/test-floorf2.c: New file.
34002         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
34003
34004         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
34005         * modules/floorf-tests: Update.
34006
34007 2007-10-12  Bruno Haible  <bruno@clisp.org>
34008
34009         * tests/test-trunc2.c: New file.
34010         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
34011
34012         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
34013         * modules/trunc-tests: Update.
34014
34015 2007-10-12  Bruno Haible  <bruno@clisp.org>
34016
34017         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
34018         of 2.
34019         * tests/test-truncf2.c: New file.
34020         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
34021
34022         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
34023         * modules/truncf-tests: Update.
34024
34025 2007-10-11  Eric Blake  <ebb9@byu.net>
34026
34027         Don't claim strerror is broken on Interix.
34028         * doc/functions/strerror.texi (strerror): Known broken systems are
34029         now Solaris 8, and not Interix.
34030         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
34031         Interix on cross-compile.
34032         Reported by Martin Koeppe in
34033         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
34034
34035 2007-10-11  Bruno Haible  <bruno@clisp.org>
34036
34037         * modules/i-ring-tests: New file.
34038         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
34039         instead of assert.
34040
34041 2007-10-11  Bruno Haible  <bruno@clisp.org>
34042
34043         * modules/filenamecat-tests: New file.
34044         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
34045         * lib/filenamecat.c: Remove test code.
34046
34047 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
34048
34049         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
34050
34051         * lib/strerror.c: Include <string.h> always, to test interface,
34052         and to remove the need for the dummy.
34053         Include intprops.h to compute width instead of doing it ourselves
34054         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
34055         (strerror): Define it to return NULL if there's no system strerror.
34056         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
34057         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
34058         ancient pre-strerror Unix systems well any more.  Saying "unknown
34059         system error" is enough.
34060         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
34061         simpler strerror.c implementation.
34062         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
34063         Simplify the tests to reflect the simpler strerror implementation.
34064         * modules/strerror (Depends-on): Add intprops.
34065
34066 2007-10-09  Eric Blake  <ebb9@byu.net>
34067
34068         Silence test-fpending.
34069         * modules/fpending-tests (Files): Add wrapper script.
34070         * tests/test-fpending.sh: New file.
34071
34072 2007-10-09  Bruno Haible  <bruno@clisp.org>
34073
34074         * MODULES.html.sh (func_module): Don't create a hyperlink for
34075         function names like 'printf_frexp'.
34076         (Misc): Add crc, memxor.
34077         (Characteristics of floating types): New section.
34078         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
34079         isnanf-nolibm, signbit, trunc, truncf, truncl.
34080         (Enhancements for ISO C 99 functions): New subsection Input/output.
34081         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
34082         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
34083         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
34084         (Compatibility checks for POSIX:2001 functions): Add clock-time.
34085         (Enhancements for POSIX:2001 functions): Add chdir-long.
34086         (File system functions): Add areadlink, chdir-safer, read-file.
34087         Remove cycle-check.
34088         (File system as inode set): New section.
34089         (Date and time): Add gethrxtime.
34090         (Multithreading): Add openmp.
34091         (Internationalization functions): Add localename.
34092         (Unicode string functions): Add unistr/u*-mbsnlen.
34093         (Support for maintaining and releasing projects): Add git-version-gen.
34094         (Lone files): Remove directories.
34095
34096 2007-10-08  Ben Pfaff  <blp@gnu.org>
34097
34098         * lib/xmalloca.h: Fix typo in comment.
34099
34100 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
34101
34102         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
34103         when avoiding problems with integer overflow.  Use a portable test
34104         instead.
34105
34106 2007-10-08  Simon Josefsson  <simon@josefsson.org>
34107
34108         * modules/dummy (License): Change to LGPLv2+.
34109         * modules/float (License): Likewise
34110         * modules/realloc (License): Likewise
34111         * modules/stdlib (License): Likewise
34112
34113 2007-10-07  Bruno Haible  <bruno@clisp.org>
34114
34115         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
34116         * floor.c (TWO_MANT_DIG): Likewise.
34117         * ceil.c (TWO_MANT_DIG): Likewise.
34118         Reported by Ben Pfaff.
34119
34120 2007-10-07  Bruno Haible  <bruno@clisp.org>
34121
34122         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
34123         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
34124         * lib/frexp.c (FUNC): Likewise.
34125         * lib/printf-frexp.h (printf_frexp): Likewise.
34126         * lib/printf-frexpl.h (printf_frexpl): Likewise.
34127         * lib/printf-frexp.c (FUNC): Likewise.
34128         Suggested by Jim Meyering.
34129
34130 2007-10-07  Jim Meyering  <meyering@redhat.com>
34131
34132         Make xnanosleep's integer overflow test more robust.
34133         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
34134         so that gcc-4.3.0 doesn't optimize away this test for overflow.
34135
34136 2007-10-07  Bruno Haible  <bruno@clisp.org>
34137
34138         * NEWS: Mention the license change.
34139
34140         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
34141         abbreviations in the modules files.
34142
34143         Change copyright notice from GPLv2+ to GPLv3+.
34144         * README: Change copyright notice.
34145         * MODULES.html.sh: Likewise.
34146         * build-aux/bootstrap.conf: Likewise.
34147         * build-aux/config.libpath: Likewise.
34148         * build-aux/csharpcomp.sh.in: Likewise.
34149         * build-aux/csharpexec.sh.in: Likewise.
34150         * build-aux/install-reloc: Likewise.
34151         * build-aux/javacomp.sh.in: Likewise.
34152         * build-aux/javaexec.sh.in: Likewise.
34153         * build-aux/ldd.sh.in: Likewise.
34154         * build-aux/reloc-ldflags: Likewise.
34155         * build-aux/relocatable.sh.in: Likewise.
34156         * build-aux/x-to-1.in: Likewise.
34157         * check-module: Likewise.
34158         * config/srclistvars.sh: Likewise.
34159         * gnulib-tool: Likewise.
34160         * lib/acl-internal.h: Likewise.
34161         * lib/acl.c: Likewise.
34162         * lib/acl.h: Likewise.
34163         * lib/acl_entries.c: Likewise.
34164         * lib/areadlink-with-size.c: Likewise.
34165         * lib/areadlink.c: Likewise.
34166         * lib/areadlink.h: Likewise.
34167         * lib/argmatch.c: Likewise.
34168         * lib/argmatch.h: Likewise.
34169         * lib/argp-ba.c: Likewise.
34170         * lib/argp-eexst.c: Likewise.
34171         * lib/argp-fmtstream.c: Likewise.
34172         * lib/argp-fmtstream.h: Likewise.
34173         * lib/argp-fs-xinl.c: Likewise.
34174         * lib/argp-help.c: Likewise.
34175         * lib/argp-namefrob.h: Likewise.
34176         * lib/argp-parse.c: Likewise.
34177         * lib/argp-pin.c: Likewise.
34178         * lib/argp-pv.c: Likewise.
34179         * lib/argp-pvh.c: Likewise.
34180         * lib/argp-xinl.c: Likewise.
34181         * lib/argp.h: Likewise.
34182         * lib/at-func.c: Likewise.
34183         * lib/atanl.c: Likewise.
34184         * lib/backupfile.c: Likewise.
34185         * lib/backupfile.h: Likewise.
34186         * lib/basename.c: Likewise.
34187         * lib/binary-io.h: Likewise.
34188         * lib/byteswap.in.h: Likewise.
34189         * lib/c-stack.c: Likewise.
34190         * lib/c-stack.h: Likewise.
34191         * lib/c-strcasestr.c: Likewise.
34192         * lib/c-strcasestr.h: Likewise.
34193         * lib/c-strstr.c: Likewise.
34194         * lib/c-strstr.h: Likewise.
34195         * lib/c-strtod.c: Likewise.
34196         * lib/calloc.c: Likewise.
34197         * lib/canon-host.c: Likewise.
34198         * lib/canon-host.h: Likewise.
34199         * lib/canonicalize-lgpl.c: Likewise.
34200         * lib/canonicalize.c: Likewise.
34201         * lib/canonicalize.h: Likewise.
34202         * lib/ceil.c: Likewise.
34203         * lib/ceilf.c: Likewise.
34204         * lib/ceill.c: Likewise.
34205         * lib/chdir-long.c: Likewise.
34206         * lib/chdir-long.h: Likewise.
34207         * lib/chdir-safer.c: Likewise.
34208         * lib/chdir-safer.h: Likewise.
34209         * lib/chown.c: Likewise.
34210         * lib/classpath.c: Likewise.
34211         * lib/classpath.h: Likewise.
34212         * lib/clean-temp.c: Likewise.
34213         * lib/clean-temp.h: Likewise.
34214         * lib/cloexec.c: Likewise.
34215         * lib/close-stream.c: Likewise.
34216         * lib/closein.c: Likewise.
34217         * lib/closein.h: Likewise.
34218         * lib/closeout.c: Likewise.
34219         * lib/closeout.h: Likewise.
34220         * lib/concat-filename.c: Likewise.
34221         * lib/copy-file.c: Likewise.
34222         * lib/copy-file.h: Likewise.
34223         * lib/count-one-bits.h: Likewise.
34224         * lib/crc.c: Likewise.
34225         * lib/crc.h: Likewise.
34226         * lib/creat-safer.c: Likewise.
34227         * lib/csharpcomp.c: Likewise.
34228         * lib/csharpcomp.h: Likewise.
34229         * lib/csharpexec.c: Likewise.
34230         * lib/csharpexec.h: Likewise.
34231         * lib/cycle-check.c: Likewise.
34232         * lib/cycle-check.h: Likewise.
34233         * lib/diacrit.c: Likewise.
34234         * lib/diacrit.h: Likewise.
34235         * lib/diffseq.h: Likewise.
34236         * lib/dirchownmod.c: Likewise.
34237         * lib/dirent.in.h: Likewise.
34238         * lib/dirfd.c: Likewise.
34239         * lib/dirfd.h: Likewise.
34240         * lib/dirname.c: Likewise.
34241         * lib/dirname.h: Likewise.
34242         * lib/dummy.c: Likewise.
34243         * lib/dup-safer.c: Likewise.
34244         * lib/dup2.c: Likewise.
34245         * lib/eealloc.h: Likewise.
34246         * lib/error.c: Likewise.
34247         * lib/error.h: Likewise.
34248         * lib/euidaccess.c: Likewise.
34249         * lib/exclude.c: Likewise.
34250         * lib/exclude.h: Likewise.
34251         * lib/execute.c: Likewise.
34252         * lib/execute.h: Likewise.
34253         * lib/exitfail.c: Likewise.
34254         * lib/exitfail.h: Likewise.
34255         * lib/expl.c: Likewise.
34256         * lib/fatal-signal.c: Likewise.
34257         * lib/fatal-signal.h: Likewise.
34258         * lib/fbufmode.c: Likewise.
34259         * lib/fbufmode.h: Likewise.
34260         * lib/fchdir.c: Likewise.
34261         * lib/fchmodat.c: Likewise.
34262         * lib/fchownat.c: Likewise.
34263         * lib/fcntl--.h: Likewise.
34264         * lib/fcntl-safer.h: Likewise.
34265         * lib/fcntl.in.h: Likewise.
34266         * lib/fd-safer.c: Likewise.
34267         * lib/fflush.c: Likewise.
34268         * lib/file-has-acl.c: Likewise.
34269         * lib/file-set.c: Likewise.
34270         * lib/file-type.c: Likewise.
34271         * lib/file-type.h: Likewise.
34272         * lib/fileblocks.c: Likewise.
34273         * lib/filemode.c: Likewise.
34274         * lib/filemode.h: Likewise.
34275         * lib/filename.h: Likewise.
34276         * lib/filenamecat.c: Likewise.
34277         * lib/filenamecat.h: Likewise.
34278         * lib/findprog.c: Likewise.
34279         * lib/findprog.h: Likewise.
34280         * lib/float.in.h: Likewise.
34281         * lib/floor.c: Likewise.
34282         * lib/floorf.c: Likewise.
34283         * lib/floorl.c: Likewise.
34284         * lib/fopen-safer.c: Likewise.
34285         * lib/fopen.c: Likewise.
34286         * lib/fpending.c: Likewise.
34287         * lib/fpending.h: Likewise.
34288         * lib/fprintf.c: Likewise.
34289         * lib/fprintftime.h: Likewise.
34290         * lib/fpucw.h: Likewise.
34291         * lib/fpurge.c: Likewise.
34292         * lib/fpurge.h: Likewise.
34293         * lib/freadable.c: Likewise.
34294         * lib/freadable.h: Likewise.
34295         * lib/freadahead.c: Likewise.
34296         * lib/freadahead.h: Likewise.
34297         * lib/freading.c: Likewise.
34298         * lib/freading.h: Likewise.
34299         * lib/free.c: Likewise.
34300         * lib/freopen.c: Likewise.
34301         * lib/frexp.c: Likewise.
34302         * lib/frexpl.c: Likewise.
34303         * lib/fseek.c: Likewise.
34304         * lib/fseterr.c: Likewise.
34305         * lib/fseterr.h: Likewise.
34306         * lib/fstatat.c: Likewise.
34307         * lib/fstrcmp.c: Likewise.
34308         * lib/fstrcmp.h: Likewise.
34309         * lib/fsusage.c: Likewise.
34310         * lib/fsusage.h: Likewise.
34311         * lib/ftell.c: Likewise.
34312         * lib/ftello.c: Likewise.
34313         * lib/fts-cycle.c: Likewise.
34314         * lib/fts.c: Likewise.
34315         * lib/fts_.h: Likewise.
34316         * lib/full-read.c: Likewise.
34317         * lib/full-read.h: Likewise.
34318         * lib/full-write.c: Likewise.
34319         * lib/full-write.h: Likewise.
34320         * lib/fwritable.c: Likewise.
34321         * lib/fwritable.h: Likewise.
34322         * lib/fwriteerror.c: Likewise.
34323         * lib/fwriteerror.h: Likewise.
34324         * lib/fwriting.c: Likewise.
34325         * lib/fwriting.h: Likewise.
34326         * lib/gcd.c: Likewise.
34327         * lib/gcd.h: Likewise.
34328         * lib/getcwd.c: Likewise.
34329         * lib/getdate.h: Likewise.
34330         * lib/getdate.y: Likewise.
34331         * lib/getdomainname.c: Likewise.
34332         * lib/getdomainname.h: Likewise.
34333         * lib/getgroups.c: Likewise.
34334         * lib/gethostname.c: Likewise.
34335         * lib/gethrxtime.c: Likewise.
34336         * lib/gethrxtime.h: Likewise.
34337         * lib/getloadavg.c: Likewise.
34338         * lib/getndelim2.c: Likewise.
34339         * lib/getndelim2.h: Likewise.
34340         * lib/getnline.c: Likewise.
34341         * lib/getnline.h: Likewise.
34342         * lib/getopt.c: Likewise.
34343         * lib/getopt.in.h: Likewise.
34344         * lib/getopt1.c: Likewise.
34345         * lib/getopt_int.h: Likewise.
34346         * lib/getpagesize.h: Likewise.
34347         * lib/getsubopt.c: Likewise.
34348         * lib/gettime.c: Likewise.
34349         * lib/getugroups.c: Likewise.
34350         * lib/getugroups.h: Likewise.
34351         * lib/getusershell.c: Likewise.
34352         * lib/gl_anyavltree_list1.h: Likewise.
34353         * lib/gl_anyavltree_list2.h: Likewise.
34354         * lib/gl_anyhash_list1.h: Likewise.
34355         * lib/gl_anyhash_list2.h: Likewise.
34356         * lib/gl_anylinked_list1.h: Likewise.
34357         * lib/gl_anylinked_list2.h: Likewise.
34358         * lib/gl_anyrbtree_list1.h: Likewise.
34359         * lib/gl_anyrbtree_list2.h: Likewise.
34360         * lib/gl_anytree_list1.h: Likewise.
34361         * lib/gl_anytree_list2.h: Likewise.
34362         * lib/gl_anytree_oset.h: Likewise.
34363         * lib/gl_anytreehash_list1.h: Likewise.
34364         * lib/gl_anytreehash_list2.h: Likewise.
34365         * lib/gl_array_list.c: Likewise.
34366         * lib/gl_array_list.h: Likewise.
34367         * lib/gl_array_oset.c: Likewise.
34368         * lib/gl_array_oset.h: Likewise.
34369         * lib/gl_avltree_list.c: Likewise.
34370         * lib/gl_avltree_list.h: Likewise.
34371         * lib/gl_avltree_oset.c: Likewise.
34372         * lib/gl_avltree_oset.h: Likewise.
34373         * lib/gl_avltreehash_list.c: Likewise.
34374         * lib/gl_avltreehash_list.h: Likewise.
34375         * lib/gl_carray_list.c: Likewise.
34376         * lib/gl_carray_list.h: Likewise.
34377         * lib/gl_linked_list.c: Likewise.
34378         * lib/gl_linked_list.h: Likewise.
34379         * lib/gl_linkedhash_list.c: Likewise.
34380         * lib/gl_linkedhash_list.h: Likewise.
34381         * lib/gl_list.c: Likewise.
34382         * lib/gl_list.h: Likewise.
34383         * lib/gl_oset.c: Likewise.
34384         * lib/gl_oset.h: Likewise.
34385         * lib/gl_rbtree_list.c: Likewise.
34386         * lib/gl_rbtree_list.h: Likewise.
34387         * lib/gl_rbtree_oset.c: Likewise.
34388         * lib/gl_rbtree_oset.h: Likewise.
34389         * lib/gl_rbtreehash_list.c: Likewise.
34390         * lib/gl_rbtreehash_list.h: Likewise.
34391         * lib/gl_sublist.c: Likewise.
34392         * lib/gl_sublist.h: Likewise.
34393         * lib/group-member.c: Likewise.
34394         * lib/group-member.h: Likewise.
34395         * lib/hard-locale.c: Likewise.
34396         * lib/hard-locale.h: Likewise.
34397         * lib/hash-pjw.c: Likewise.
34398         * lib/hash-pjw.h: Likewise.
34399         * lib/hash-triple.c: Likewise.
34400         * lib/hash.c: Likewise.
34401         * lib/hash.h: Likewise.
34402         * lib/human.c: Likewise.
34403         * lib/human.h: Likewise.
34404         * lib/i-ring.c: Likewise.
34405         * lib/i-ring.h: Likewise.
34406         * lib/idcache.c: Likewise.
34407         * lib/imaxabs.c: Likewise.
34408         * lib/imaxdiv.c: Likewise.
34409         * lib/inet_pton.c: Likewise.
34410         * lib/inet_pton.h: Likewise.
34411         * lib/intprops.h: Likewise.
34412         * lib/inttostr.c: Likewise.
34413         * lib/inttostr.h: Likewise.
34414         * lib/inttypes.in.h: Likewise.
34415         * lib/isapipe.c: Likewise.
34416         * lib/isdir.c: Likewise.
34417         * lib/isnan.c: Likewise.
34418         * lib/isnan.h: Likewise.
34419         * lib/isnanf.c: Likewise.
34420         * lib/isnanf.h: Likewise.
34421         * lib/isnanl-nolibm.h: Likewise.
34422         * lib/isnanl.c: Likewise.
34423         * lib/isnanl.h: Likewise.
34424         * lib/javacomp.c: Likewise.
34425         * lib/javacomp.h: Likewise.
34426         * lib/javaexec.c: Likewise.
34427         * lib/javaexec.h: Likewise.
34428         * lib/javaversion.c: Likewise.
34429         * lib/javaversion.h: Likewise.
34430         * lib/javaversion.java: Likewise.
34431         * lib/lbrkprop.h: Likewise.
34432         * lib/lchmod.h: Likewise.
34433         * lib/lchown.c: Likewise.
34434         * lib/ldexpl.c: Likewise.
34435         * lib/linebreak.c: Likewise.
34436         * lib/linebreak.h: Likewise.
34437         * lib/linebuffer.c: Likewise.
34438         * lib/linebuffer.h: Likewise.
34439         * lib/locale.in.h: Likewise.
34440         * lib/logl.c: Likewise.
34441         * lib/long-options.c: Likewise.
34442         * lib/long-options.h: Likewise.
34443         * lib/lstat.c: Likewise.
34444         * lib/lstat.h: Likewise.
34445         * lib/math.in.h: Likewise.
34446         * lib/mbchar.c: Likewise.
34447         * lib/mbchar.h: Likewise.
34448         * lib/mbfile.h: Likewise.
34449         * lib/mbiter.h: Likewise.
34450         * lib/mbscasecmp.c: Likewise.
34451         * lib/mbscasestr.c: Likewise.
34452         * lib/mbschr.c: Likewise.
34453         * lib/mbscspn.c: Likewise.
34454         * lib/mbslen.c: Likewise.
34455         * lib/mbsncasecmp.c: Likewise.
34456         * lib/mbsnlen.c: Likewise.
34457         * lib/mbspbrk.c: Likewise.
34458         * lib/mbspcasecmp.c: Likewise.
34459         * lib/mbsrchr.c: Likewise.
34460         * lib/mbssep.c: Likewise.
34461         * lib/mbsspn.c: Likewise.
34462         * lib/mbsstr.c: Likewise.
34463         * lib/mbstok_r.c: Likewise.
34464         * lib/mbswidth.c: Likewise.
34465         * lib/mbswidth.h: Likewise.
34466         * lib/mbuiter.h: Likewise.
34467         * lib/memcasecmp.c: Likewise.
34468         * lib/memcasecmp.h: Likewise.
34469         * lib/memchr.c: Likewise.
34470         * lib/memcmp.c: Likewise.
34471         * lib/memcoll.c: Likewise.
34472         * lib/memcoll.h: Likewise.
34473         * lib/memcpy.c: Likewise.
34474         * lib/memrchr.c: Likewise.
34475         * lib/mkancesdirs.c: Likewise.
34476         * lib/mkdir-p.c: Likewise.
34477         * lib/mkdir-p.h: Likewise.
34478         * lib/mkdir.c: Likewise.
34479         * lib/mkdirat.c: Likewise.
34480         * lib/mkdtemp.c: Likewise.
34481         * lib/mkstemp-safer.c: Likewise.
34482         * lib/mkstemp.c: Likewise.
34483         * lib/modechange.c: Likewise.
34484         * lib/modechange.h: Likewise.
34485         * lib/mountlist.c: Likewise.
34486         * lib/mountlist.h: Likewise.
34487         * lib/mpsort.c: Likewise.
34488         * lib/nanosleep.c: Likewise.
34489         * lib/obstack.c: Likewise.
34490         * lib/obstack.h: Likewise.
34491         * lib/open-safer.c: Likewise.
34492         * lib/open.c: Likewise.
34493         * lib/openat-die.c: Likewise.
34494         * lib/openat-priv.h: Likewise.
34495         * lib/openat-proc.c: Likewise.
34496         * lib/openat.c: Likewise.
34497         * lib/openat.h: Likewise.
34498         * lib/pagealign_alloc.c: Likewise.
34499         * lib/pagealign_alloc.h: Likewise.
34500         * lib/physmem.c: Likewise.
34501         * lib/physmem.h: Likewise.
34502         * lib/pipe-safer.c: Likewise.
34503         * lib/pipe.c: Likewise.
34504         * lib/pipe.h: Likewise.
34505         * lib/posixtm.c: Likewise.
34506         * lib/posixtm.h: Likewise.
34507         * lib/posixver.c: Likewise.
34508         * lib/printf-frexp.c: Likewise.
34509         * lib/printf-frexp.h: Likewise.
34510         * lib/printf-frexpl.c: Likewise.
34511         * lib/printf-frexpl.h: Likewise.
34512         * lib/printf.c: Likewise.
34513         * lib/progname.c: Likewise.
34514         * lib/progname.h: Likewise.
34515         * lib/progreloc.c: Likewise.
34516         * lib/putenv.c: Likewise.
34517         * lib/quote.c: Likewise.
34518         * lib/quote.h: Likewise.
34519         * lib/quotearg.c: Likewise.
34520         * lib/quotearg.h: Likewise.
34521         * lib/raise.c: Likewise.
34522         * lib/readline.c: Likewise.
34523         * lib/readline.h: Likewise.
34524         * lib/readlink.c: Likewise.
34525         * lib/readtokens.c: Likewise.
34526         * lib/readtokens.h: Likewise.
34527         * lib/readtokens0.c: Likewise.
34528         * lib/readtokens0.h: Likewise.
34529         * lib/readutmp.c: Likewise.
34530         * lib/readutmp.h: Likewise.
34531         * lib/realloc.c: Likewise.
34532         * lib/relocwrapper.c: Likewise.
34533         * lib/rename-dest-slash.c: Likewise.
34534         * lib/rename.c: Likewise.
34535         * lib/rmdir.c: Likewise.
34536         * lib/rpmatch.c: Likewise.
34537         * lib/safe-read.c: Likewise.
34538         * lib/safe-read.h: Likewise.
34539         * lib/safe-write.c: Likewise.
34540         * lib/safe-write.h: Likewise.
34541         * lib/same-inode.h: Likewise.
34542         * lib/same.c: Likewise.
34543         * lib/same.h: Likewise.
34544         * lib/save-cwd.c: Likewise.
34545         * lib/save-cwd.h: Likewise.
34546         * lib/savedir.c: Likewise.
34547         * lib/savedir.h: Likewise.
34548         * lib/savewd.c: Likewise.
34549         * lib/savewd.h: Likewise.
34550         * lib/search.in.h: Likewise.
34551         * lib/setenv.c: Likewise.
34552         * lib/setenv.h: Likewise.
34553         * lib/settime.c: Likewise.
34554         * lib/sh-quote.c: Likewise.
34555         * lib/sh-quote.h: Likewise.
34556         * lib/sig2str.c: Likewise.
34557         * lib/sig2str.h: Likewise.
34558         * lib/signal.in.h: Likewise.
34559         * lib/signbitd.c: Likewise.
34560         * lib/signbitf.c: Likewise.
34561         * lib/signbitl.c: Likewise.
34562         * lib/sigprocmask.c: Likewise.
34563         * lib/sincosl.c: Likewise.
34564         * lib/sleep.c: Likewise.
34565         * lib/sprintf.c: Likewise.
34566         * lib/sqrtl.c: Likewise.
34567         * lib/stat-time.h: Likewise.
34568         * lib/stdio--.h: Likewise.
34569         * lib/stdio-safer.h: Likewise.
34570         * lib/stdlib--.h: Likewise.
34571         * lib/stdlib-safer.h: Likewise.
34572         * lib/stdlib.in.h: Likewise.
34573         * lib/stpcpy.c: Likewise.
34574         * lib/stpncpy.c: Likewise.
34575         * lib/strchrnul.c: Likewise.
34576         * lib/strcspn.c: Likewise.
34577         * lib/strerror.c: Likewise.
34578         * lib/strftime.c: Likewise.
34579         * lib/strftime.h: Likewise.
34580         * lib/striconveh.c: Likewise.
34581         * lib/striconveh.h: Likewise.
34582         * lib/striconveha.c: Likewise.
34583         * lib/striconveha.h: Likewise.
34584         * lib/stripslash.c: Likewise.
34585         * lib/strnlen1.c: Likewise.
34586         * lib/strnlen1.h: Likewise.
34587         * lib/strtod.c: Likewise.
34588         * lib/strtoimax.c: Likewise.
34589         * lib/strtok_r.c: Likewise.
34590         * lib/strtol.c: Likewise.
34591         * lib/strtoll.c: Likewise.
34592         * lib/strtoul.c: Likewise.
34593         * lib/strtoull.c: Likewise.
34594         * lib/sysexits.in.h: Likewise.
34595         * lib/tempname.c: Likewise.
34596         * lib/tempname.h: Likewise.
34597         * lib/timespec.h: Likewise.
34598         * lib/tls.c: Likewise.
34599         * lib/tls.h: Likewise.
34600         * lib/tmpdir.c: Likewise.
34601         * lib/tmpdir.h: Likewise.
34602         * lib/tmpfile-safer.c: Likewise.
34603         * lib/tmpfile.c: Likewise.
34604         * lib/trigl.c: Likewise.
34605         * lib/trigl.h: Likewise.
34606         * lib/trim.c: Likewise.
34607         * lib/trim.h: Likewise.
34608         * lib/trunc.c: Likewise.
34609         * lib/truncf.c: Likewise.
34610         * lib/truncl.c: Likewise.
34611         * lib/tsearch.c: Likewise.
34612         * lib/unicodeio.c: Likewise.
34613         * lib/unicodeio.h: Likewise.
34614         * lib/unistd--.h: Likewise.
34615         * lib/unistd-safer.h: Likewise.
34616         * lib/unistdio/ulc-fprintf.c: Likewise.
34617         * lib/unistdio/ulc-vfprintf.c: Likewise.
34618         * lib/unlinkdir.c: Likewise.
34619         * lib/unlinkdir.h: Likewise.
34620         * lib/unlocked-io.h: Likewise.
34621         * lib/unsetenv.c: Likewise.
34622         * lib/userspec.c: Likewise.
34623         * lib/utime.c: Likewise.
34624         * lib/utimecmp.c: Likewise.
34625         * lib/utimecmp.h: Likewise.
34626         * lib/utimens.c: Likewise.
34627         * lib/verify.h: Likewise.
34628         * lib/verror.c: Likewise.
34629         * lib/verror.h: Likewise.
34630         * lib/version-etc-fsf.c: Likewise.
34631         * lib/version-etc.c: Likewise.
34632         * lib/version-etc.h: Likewise.
34633         * lib/vfprintf.c: Likewise.
34634         * lib/vprintf.c: Likewise.
34635         * lib/vsprintf.c: Likewise.
34636         * lib/w32spawn.h: Likewise.
34637         * lib/wait-process.c: Likewise.
34638         * lib/wait-process.h: Likewise.
34639         * lib/wcwidth.c: Likewise.
34640         * lib/write-any-file.c: Likewise.
34641         * lib/xalloc-die.c: Likewise.
34642         * lib/xalloc.h: Likewise.
34643         * lib/xasprintf.c: Likewise.
34644         * lib/xgetcwd.c: Likewise.
34645         * lib/xgetcwd.h: Likewise.
34646         * lib/xgetdomainname.c: Likewise.
34647         * lib/xgetdomainname.h: Likewise.
34648         * lib/xgethostname.c: Likewise.
34649         * lib/xmalloc.c: Likewise.
34650         * lib/xmalloca.c: Likewise.
34651         * lib/xmalloca.h: Likewise.
34652         * lib/xmemcoll.c: Likewise.
34653         * lib/xnanosleep.c: Likewise.
34654         * lib/xreadlink.c: Likewise.
34655         * lib/xreadlink.h: Likewise.
34656         * lib/xsetenv.c: Likewise.
34657         * lib/xsetenv.h: Likewise.
34658         * lib/xstriconv.c: Likewise.
34659         * lib/xstriconv.h: Likewise.
34660         * lib/xstrndup.c: Likewise.
34661         * lib/xstrndup.h: Likewise.
34662         * lib/xstrtod.c: Likewise.
34663         * lib/xstrtod.h: Likewise.
34664         * lib/xstrtol-error.c: Likewise.
34665         * lib/xstrtol.c: Likewise.
34666         * lib/xstrtol.h: Likewise.
34667         * lib/xtime.h: Likewise.
34668         * lib/xvasprintf.c: Likewise.
34669         * lib/xvasprintf.h: Likewise.
34670         * lib/yesno.c: Likewise.
34671         * lib/yesno.h: Likewise.
34672         * posix-modules: Likewise.
34673         * tests/test-alloca-opt.c: Likewise.
34674         * tests/test-arcfour.c: Likewise.
34675         * tests/test-arctwo.c: Likewise.
34676         * tests/test-argmatch.c: Likewise.
34677         * tests/test-argp-2.sh: Likewise.
34678         * tests/test-argp.c: Likewise.
34679         * tests/test-arpa_inet.c: Likewise.
34680         * tests/test-array_list.c: Likewise.
34681         * tests/test-array_oset.c: Likewise.
34682         * tests/test-atexit.c: Likewise.
34683         * tests/test-avltree_list.c: Likewise.
34684         * tests/test-avltree_oset.c: Likewise.
34685         * tests/test-avltreehash_list.c: Likewise.
34686         * tests/test-base64.c: Likewise.
34687         * tests/test-binary-io.c: Likewise.
34688         * tests/test-byteswap.c: Likewise.
34689         * tests/test-c-ctype.c: Likewise.
34690         * tests/test-c-strcasecmp.c: Likewise.
34691         * tests/test-c-strcasestr.c: Likewise.
34692         * tests/test-c-strncasecmp.c: Likewise.
34693         * tests/test-c-strstr.c: Likewise.
34694         * tests/test-canonicalize-lgpl.c: Likewise.
34695         * tests/test-canonicalize.c: Likewise.
34696         * tests/test-carray_list.c: Likewise.
34697         * tests/test-ceilf.c: Likewise.
34698         * tests/test-ceill.c: Likewise.
34699         * tests/test-count-one-bits.c: Likewise.
34700         * tests/test-crc.c: Likewise.
34701         * tests/test-dirname.c: Likewise.
34702         * tests/test-fbufmode.c: Likewise.
34703         * tests/test-fcntl.c: Likewise.
34704         * tests/test-fflush.c: Likewise.
34705         * tests/test-floorf.c: Likewise.
34706         * tests/test-floorl.c: Likewise.
34707         * tests/test-fopen.c: Likewise.
34708         * tests/test-fprintf-posix.c: Likewise.
34709         * tests/test-fprintf-posix.h: Likewise.
34710         * tests/test-fpurge.c: Likewise.
34711         * tests/test-freadable.c: Likewise.
34712         * tests/test-freadahead.c: Likewise.
34713         * tests/test-freading.c: Likewise.
34714         * tests/test-freopen.c: Likewise.
34715         * tests/test-frexp.c: Likewise.
34716         * tests/test-frexpl.c: Likewise.
34717         * tests/test-fseek.c: Likewise.
34718         * tests/test-fseeko.c: Likewise.
34719         * tests/test-fseterr.c: Likewise.
34720         * tests/test-fstrcmp.c: Likewise.
34721         * tests/test-ftell.c: Likewise.
34722         * tests/test-ftello.c: Likewise.
34723         * tests/test-fwritable.c: Likewise.
34724         * tests/test-fwriting.c: Likewise.
34725         * tests/test-getaddrinfo.c: Likewise.
34726         * tests/test-getpass.c: Likewise.
34727         * tests/test-gettimeofday.c: Likewise.
34728         * tests/test-hmac-md5.c: Likewise.
34729         * tests/test-hmac-sha1.c: Likewise.
34730         * tests/test-iconv.c: Likewise.
34731         * tests/test-iconvme.c: Likewise.
34732         * tests/test-inttypes.c: Likewise.
34733         * tests/test-isnan.c: Likewise.
34734         * tests/test-isnanf.c: Likewise.
34735         * tests/test-isnanl-nolibm.c: Likewise.
34736         * tests/test-isnanl.c: Likewise.
34737         * tests/test-isnanl.h: Likewise.
34738         * tests/test-ldexpl.c: Likewise.
34739         * tests/test-linked_list.c: Likewise.
34740         * tests/test-linkedhash_list.c: Likewise.
34741         * tests/test-locale.c: Likewise.
34742         * tests/test-localename.c: Likewise.
34743         * tests/test-lock.c: Likewise.
34744         * tests/test-lseek.c: Likewise.
34745         * tests/test-malloca.c: Likewise.
34746         * tests/test-math.c: Likewise.
34747         * tests/test-mbscasecmp.c: Likewise.
34748         * tests/test-mbscasestr1.c: Likewise.
34749         * tests/test-mbscasestr2.c: Likewise.
34750         * tests/test-mbscasestr3.c: Likewise.
34751         * tests/test-mbscasestr4.c: Likewise.
34752         * tests/test-mbschr.c: Likewise.
34753         * tests/test-mbscspn.c: Likewise.
34754         * tests/test-mbsncasecmp.c: Likewise.
34755         * tests/test-mbspbrk.c: Likewise.
34756         * tests/test-mbspcasecmp.c: Likewise.
34757         * tests/test-mbsrchr.c: Likewise.
34758         * tests/test-mbsspn.c: Likewise.
34759         * tests/test-mbsstr1.c: Likewise.
34760         * tests/test-mbsstr2.c: Likewise.
34761         * tests/test-mbsstr3.c: Likewise.
34762         * tests/test-md5.c: Likewise.
34763         * tests/test-memmem.c: Likewise.
34764         * tests/test-netinet_in.c: Likewise.
34765         * tests/test-open.c: Likewise.
34766         * tests/test-printf-frexp.c: Likewise.
34767         * tests/test-printf-frexpl.c: Likewise.
34768         * tests/test-printf-posix.c: Likewise.
34769         * tests/test-printf-posix.h: Likewise.
34770         * tests/test-rbtree_list.c: Likewise.
34771         * tests/test-rbtree_oset.c: Likewise.
34772         * tests/test-rbtreehash_list.c: Likewise.
34773         * tests/test-read-file.c: Likewise.
34774         * tests/test-rijndael.c: Likewise.
34775         * tests/test-search.c: Likewise.
34776         * tests/test-signbit.c: Likewise.
34777         * tests/test-sleep.c: Likewise.
34778         * tests/test-snprintf-posix.c: Likewise.
34779         * tests/test-snprintf-posix.h: Likewise.
34780         * tests/test-snprintf.c: Likewise.
34781         * tests/test-sprintf-posix.c: Likewise.
34782         * tests/test-sprintf-posix.h: Likewise.
34783         * tests/test-stat-time.c: Likewise.
34784         * tests/test-stdbool.c: Likewise.
34785         * tests/test-stdint.c: Likewise.
34786         * tests/test-stdio.c: Likewise.
34787         * tests/test-stdlib.c: Likewise.
34788         * tests/test-stpncpy.c: Likewise.
34789         * tests/test-strcasestr.c: Likewise.
34790         * tests/test-striconv.c: Likewise.
34791         * tests/test-striconveh.c: Likewise.
34792         * tests/test-striconveha.c: Likewise.
34793         * tests/test-string.c: Likewise.
34794         * tests/test-sys_select.c: Likewise.
34795         * tests/test-sys_socket.c: Likewise.
34796         * tests/test-sys_stat.c: Likewise.
34797         * tests/test-sys_time.c: Likewise.
34798         * tests/test-sysexits.c: Likewise.
34799         * tests/test-time.c: Likewise.
34800         * tests/test-tls.c: Likewise.
34801         * tests/test-trunc.c: Likewise.
34802         * tests/test-truncf.c: Likewise.
34803         * tests/test-truncl.c: Likewise.
34804         * tests/test-unistd.c: Likewise.
34805         * tests/test-vasnprintf-posix.c: Likewise.
34806         * tests/test-vasnprintf-posix2.c: Likewise.
34807         * tests/test-vasnprintf.c: Likewise.
34808         * tests/test-vasprintf-posix.c: Likewise.
34809         * tests/test-vasprintf.c: Likewise.
34810         * tests/test-verify.c: Likewise.
34811         * tests/test-vfprintf-posix.c: Likewise.
34812         * tests/test-vprintf-posix.c: Likewise.
34813         * tests/test-vsnprintf-posix.c: Likewise.
34814         * tests/test-vsnprintf.c: Likewise.
34815         * tests/test-vsprintf-posix.c: Likewise.
34816         * tests/test-wchar.c: Likewise.
34817         * tests/test-wctype.c: Likewise.
34818         * tests/test-wcwidth.c: Likewise.
34819         * tests/test-xstrtol.c: Likewise.
34820         * tests/test-xvasprintf.c: Likewise.
34821         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
34822         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
34823         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
34824         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
34825         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
34826         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
34827         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
34828         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
34829         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
34830         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
34831         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
34832         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
34833         * tests/uniname/test-uninames.c: Likewise.
34834         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
34835         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
34836         * tests/unistdio/test-u16-printf1.h: Likewise.
34837         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
34838         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
34839         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
34840         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
34841         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
34842         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
34843         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
34844         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
34845         * tests/unistdio/test-u32-printf1.h: Likewise.
34846         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
34847         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
34848         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
34849         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
34850         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
34851         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
34852         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
34853         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
34854         * tests/unistdio/test-u8-printf1.h: Likewise.
34855         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
34856         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
34857         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
34858         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
34859         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
34860         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
34861         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
34862         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
34863         * tests/unistdio/test-ulc-printf1.h: Likewise.
34864         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
34865         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
34866         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
34867         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
34868         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
34869         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
34870         * tests/uniwidth/test-u16-strwidth.c: Likewise.
34871         * tests/uniwidth/test-u16-width.c: Likewise.
34872         * tests/uniwidth/test-u32-strwidth.c: Likewise.
34873         * tests/uniwidth/test-u32-width.c: Likewise.
34874         * tests/uniwidth/test-u8-strwidth.c: Likewise.
34875         * tests/uniwidth/test-u8-width.c: Likewise.
34876         * tests/uniwidth/test-uc_width.c: Likewise.
34877         * config/srclist-update: Likewise.
34878         (fixlicense): Update to GPLv3+.
34879
34880         Change copyright notice from LGPLv2.1+ to LGPLv3+.
34881         * tests/test-tsearch.c: Change copyright notice.
34882
34883         Change copyright notice from LGPLv2.0+ to LGPLv3+.
34884         * lib/c-strcaseeq.h: Change copyright notice.
34885         * lib/streq.h: Likewise.
34886         * lib/uniconv.h: Likewise.
34887         * lib/uniconv/u-conv-from-enc.h: Likewise.
34888         * lib/uniconv/u-conv-to-enc.h: Likewise.
34889         * lib/uniconv/u-strconv-from-enc.h: Likewise.
34890         * lib/uniconv/u-strconv-to-enc.h: Likewise.
34891         * lib/uniconv/u16-conv-from-enc.c: Likewise.
34892         * lib/uniconv/u16-conv-to-enc.c: Likewise.
34893         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
34894         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
34895         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
34896         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
34897         * lib/uniconv/u32-conv-from-enc.c: Likewise.
34898         * lib/uniconv/u32-conv-to-enc.c: Likewise.
34899         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
34900         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
34901         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
34902         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
34903         * lib/uniconv/u8-conv-from-enc.c: Likewise.
34904         * lib/uniconv/u8-conv-to-enc.c: Likewise.
34905         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
34906         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
34907         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
34908         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
34909         * lib/uniname.h: Likewise.
34910         * lib/uniname/uniname.c: Likewise.
34911         * lib/unistdio.h: Likewise.
34912         * lib/unistdio/u-asnprintf.h: Likewise.
34913         * lib/unistdio/u-asprintf.h: Likewise.
34914         * lib/unistdio/u-printf-args.c: Likewise.
34915         * lib/unistdio/u-printf-args.h: Likewise.
34916         * lib/unistdio/u-printf-parse.h: Likewise.
34917         * lib/unistdio/u-snprintf.h: Likewise.
34918         * lib/unistdio/u-sprintf.h: Likewise.
34919         * lib/unistdio/u-vasprintf.h: Likewise.
34920         * lib/unistdio/u-vsnprintf.h: Likewise.
34921         * lib/unistdio/u-vsprintf.h: Likewise.
34922         * lib/unistdio/u16-asnprintf.c: Likewise.
34923         * lib/unistdio/u16-asprintf.c: Likewise.
34924         * lib/unistdio/u16-printf-parse.c: Likewise.
34925         * lib/unistdio/u16-snprintf.c: Likewise.
34926         * lib/unistdio/u16-sprintf.c: Likewise.
34927         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
34928         * lib/unistdio/u16-u16-asprintf.c: Likewise.
34929         * lib/unistdio/u16-u16-snprintf.c: Likewise.
34930         * lib/unistdio/u16-u16-sprintf.c: Likewise.
34931         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
34932         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
34933         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
34934         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
34935         * lib/unistdio/u16-vasnprintf.c: Likewise.
34936         * lib/unistdio/u16-vasprintf.c: Likewise.
34937         * lib/unistdio/u16-vsnprintf.c: Likewise.
34938         * lib/unistdio/u16-vsprintf.c: Likewise.
34939         * lib/unistdio/u32-asnprintf.c: Likewise.
34940         * lib/unistdio/u32-asprintf.c: Likewise.
34941         * lib/unistdio/u32-printf-parse.c: Likewise.
34942         * lib/unistdio/u32-snprintf.c: Likewise.
34943         * lib/unistdio/u32-sprintf.c: Likewise.
34944         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
34945         * lib/unistdio/u32-u32-asprintf.c: Likewise.
34946         * lib/unistdio/u32-u32-snprintf.c: Likewise.
34947         * lib/unistdio/u32-u32-sprintf.c: Likewise.
34948         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
34949         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
34950         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
34951         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
34952         * lib/unistdio/u32-vasnprintf.c: Likewise.
34953         * lib/unistdio/u32-vasprintf.c: Likewise.
34954         * lib/unistdio/u32-vsnprintf.c: Likewise.
34955         * lib/unistdio/u32-vsprintf.c: Likewise.
34956         * lib/unistdio/u8-asnprintf.c: Likewise.
34957         * lib/unistdio/u8-asprintf.c: Likewise.
34958         * lib/unistdio/u8-printf-parse.c: Likewise.
34959         * lib/unistdio/u8-snprintf.c: Likewise.
34960         * lib/unistdio/u8-sprintf.c: Likewise.
34961         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
34962         * lib/unistdio/u8-u8-asprintf.c: Likewise.
34963         * lib/unistdio/u8-u8-snprintf.c: Likewise.
34964         * lib/unistdio/u8-u8-sprintf.c: Likewise.
34965         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
34966         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
34967         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
34968         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
34969         * lib/unistdio/u8-vasnprintf.c: Likewise.
34970         * lib/unistdio/u8-vasprintf.c: Likewise.
34971         * lib/unistdio/u8-vsnprintf.c: Likewise.
34972         * lib/unistdio/u8-vsprintf.c: Likewise.
34973         * lib/unistdio/ulc-asnprintf.c: Likewise.
34974         * lib/unistdio/ulc-asprintf.c: Likewise.
34975         * lib/unistdio/ulc-printf-parse.c: Likewise.
34976         * lib/unistdio/ulc-snprintf.c: Likewise.
34977         * lib/unistdio/ulc-sprintf.c: Likewise.
34978         * lib/unistdio/ulc-vasnprintf.c: Likewise.
34979         * lib/unistdio/ulc-vasprintf.c: Likewise.
34980         * lib/unistdio/ulc-vsnprintf.c: Likewise.
34981         * lib/unistdio/ulc-vsprintf.c: Likewise.
34982         * lib/unistr.h: Likewise.
34983         * lib/unistr/u-cpy-alloc.h: Likewise.
34984         * lib/unistr/u-cpy.h: Likewise.
34985         * lib/unistr/u-endswith.h: Likewise.
34986         * lib/unistr/u-move.h: Likewise.
34987         * lib/unistr/u-set.h: Likewise.
34988         * lib/unistr/u-startswith.h: Likewise.
34989         * lib/unistr/u-stpcpy.h: Likewise.
34990         * lib/unistr/u-stpncpy.h: Likewise.
34991         * lib/unistr/u-strcat.h: Likewise.
34992         * lib/unistr/u-strcpy.h: Likewise.
34993         * lib/unistr/u-strcspn.h: Likewise.
34994         * lib/unistr/u-strdup.h: Likewise.
34995         * lib/unistr/u-strlen.h: Likewise.
34996         * lib/unistr/u-strncat.h: Likewise.
34997         * lib/unistr/u-strncpy.h: Likewise.
34998         * lib/unistr/u-strnlen.h: Likewise.
34999         * lib/unistr/u-strpbrk.h: Likewise.
35000         * lib/unistr/u-strspn.h: Likewise.
35001         * lib/unistr/u-strstr.h: Likewise.
35002         * lib/unistr/u-strtok.h: Likewise.
35003         * lib/unistr/u16-check.c: Likewise.
35004         * lib/unistr/u16-chr.c: Likewise.
35005         * lib/unistr/u16-cmp.c: Likewise.
35006         * lib/unistr/u16-cpy-alloc.c: Likewise.
35007         * lib/unistr/u16-cpy.c: Likewise.
35008         * lib/unistr/u16-endswith.c: Likewise.
35009         * lib/unistr/u16-mblen.c: Likewise.
35010         * lib/unistr/u16-mbsnlen.c: Likewise.
35011         * lib/unistr/u16-mbtouc-aux.c: Likewise.
35012         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
35013         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
35014         * lib/unistr/u16-mbtouc.c: Likewise.
35015         * lib/unistr/u16-mbtoucr.c: Likewise.
35016         * lib/unistr/u16-move.c: Likewise.
35017         * lib/unistr/u16-next.c: Likewise.
35018         * lib/unistr/u16-prev.c: Likewise.
35019         * lib/unistr/u16-set.c: Likewise.
35020         * lib/unistr/u16-startswith.c: Likewise.
35021         * lib/unistr/u16-stpcpy.c: Likewise.
35022         * lib/unistr/u16-stpncpy.c: Likewise.
35023         * lib/unistr/u16-strcat.c: Likewise.
35024         * lib/unistr/u16-strchr.c: Likewise.
35025         * lib/unistr/u16-strcmp.c: Likewise.
35026         * lib/unistr/u16-strcpy.c: Likewise.
35027         * lib/unistr/u16-strcspn.c: Likewise.
35028         * lib/unistr/u16-strdup.c: Likewise.
35029         * lib/unistr/u16-strlen.c: Likewise.
35030         * lib/unistr/u16-strmblen.c: Likewise.
35031         * lib/unistr/u16-strmbtouc.c: Likewise.
35032         * lib/unistr/u16-strncat.c: Likewise.
35033         * lib/unistr/u16-strncmp.c: Likewise.
35034         * lib/unistr/u16-strncpy.c: Likewise.
35035         * lib/unistr/u16-strnlen.c: Likewise.
35036         * lib/unistr/u16-strpbrk.c: Likewise.
35037         * lib/unistr/u16-strrchr.c: Likewise.
35038         * lib/unistr/u16-strspn.c: Likewise.
35039         * lib/unistr/u16-strstr.c: Likewise.
35040         * lib/unistr/u16-strtok.c: Likewise.
35041         * lib/unistr/u16-to-u32.c: Likewise.
35042         * lib/unistr/u16-to-u8.c: Likewise.
35043         * lib/unistr/u16-uctomb-aux.c: Likewise.
35044         * lib/unistr/u16-uctomb.c: Likewise.
35045         * lib/unistr/u32-check.c: Likewise.
35046         * lib/unistr/u32-chr.c: Likewise.
35047         * lib/unistr/u32-cmp.c: Likewise.
35048         * lib/unistr/u32-cpy-alloc.c: Likewise.
35049         * lib/unistr/u32-cpy.c: Likewise.
35050         * lib/unistr/u32-endswith.c: Likewise.
35051         * lib/unistr/u32-mblen.c: Likewise.
35052         * lib/unistr/u32-mbsnlen.c: Likewise.
35053         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
35054         * lib/unistr/u32-mbtouc.c: Likewise.
35055         * lib/unistr/u32-mbtoucr.c: Likewise.
35056         * lib/unistr/u32-move.c: Likewise.
35057         * lib/unistr/u32-next.c: Likewise.
35058         * lib/unistr/u32-prev.c: Likewise.
35059         * lib/unistr/u32-set.c: Likewise.
35060         * lib/unistr/u32-startswith.c: Likewise.
35061         * lib/unistr/u32-stpcpy.c: Likewise.
35062         * lib/unistr/u32-stpncpy.c: Likewise.
35063         * lib/unistr/u32-strcat.c: Likewise.
35064         * lib/unistr/u32-strchr.c: Likewise.
35065         * lib/unistr/u32-strcmp.c: Likewise.
35066         * lib/unistr/u32-strcpy.c: Likewise.
35067         * lib/unistr/u32-strcspn.c: Likewise.
35068         * lib/unistr/u32-strdup.c: Likewise.
35069         * lib/unistr/u32-strlen.c: Likewise.
35070         * lib/unistr/u32-strmblen.c: Likewise.
35071         * lib/unistr/u32-strmbtouc.c: Likewise.
35072         * lib/unistr/u32-strncat.c: Likewise.
35073         * lib/unistr/u32-strncmp.c: Likewise.
35074         * lib/unistr/u32-strncpy.c: Likewise.
35075         * lib/unistr/u32-strnlen.c: Likewise.
35076         * lib/unistr/u32-strpbrk.c: Likewise.
35077         * lib/unistr/u32-strrchr.c: Likewise.
35078         * lib/unistr/u32-strspn.c: Likewise.
35079         * lib/unistr/u32-strstr.c: Likewise.
35080         * lib/unistr/u32-strtok.c: Likewise.
35081         * lib/unistr/u32-to-u16.c: Likewise.
35082         * lib/unistr/u32-to-u8.c: Likewise.
35083         * lib/unistr/u32-uctomb.c: Likewise.
35084         * lib/unistr/u8-check.c: Likewise.
35085         * lib/unistr/u8-chr.c: Likewise.
35086         * lib/unistr/u8-cmp.c: Likewise.
35087         * lib/unistr/u8-cpy-alloc.c: Likewise.
35088         * lib/unistr/u8-cpy.c: Likewise.
35089         * lib/unistr/u8-endswith.c: Likewise.
35090         * lib/unistr/u8-mblen.c: Likewise.
35091         * lib/unistr/u8-mbsnlen.c: Likewise.
35092         * lib/unistr/u8-mbtouc-aux.c: Likewise.
35093         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
35094         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
35095         * lib/unistr/u8-mbtouc.c: Likewise.
35096         * lib/unistr/u8-mbtoucr.c: Likewise.
35097         * lib/unistr/u8-move.c: Likewise.
35098         * lib/unistr/u8-next.c: Likewise.
35099         * lib/unistr/u8-prev.c: Likewise.
35100         * lib/unistr/u8-set.c: Likewise.
35101         * lib/unistr/u8-startswith.c: Likewise.
35102         * lib/unistr/u8-stpcpy.c: Likewise.
35103         * lib/unistr/u8-stpncpy.c: Likewise.
35104         * lib/unistr/u8-strcat.c: Likewise.
35105         * lib/unistr/u8-strchr.c: Likewise.
35106         * lib/unistr/u8-strcmp.c: Likewise.
35107         * lib/unistr/u8-strcpy.c: Likewise.
35108         * lib/unistr/u8-strcspn.c: Likewise.
35109         * lib/unistr/u8-strdup.c: Likewise.
35110         * lib/unistr/u8-strlen.c: Likewise.
35111         * lib/unistr/u8-strmblen.c: Likewise.
35112         * lib/unistr/u8-strmbtouc.c: Likewise.
35113         * lib/unistr/u8-strncat.c: Likewise.
35114         * lib/unistr/u8-strncmp.c: Likewise.
35115         * lib/unistr/u8-strncpy.c: Likewise.
35116         * lib/unistr/u8-strnlen.c: Likewise.
35117         * lib/unistr/u8-strpbrk.c: Likewise.
35118         * lib/unistr/u8-strrchr.c: Likewise.
35119         * lib/unistr/u8-strspn.c: Likewise.
35120         * lib/unistr/u8-strstr.c: Likewise.
35121         * lib/unistr/u8-strtok.c: Likewise.
35122         * lib/unistr/u8-to-u16.c: Likewise.
35123         * lib/unistr/u8-to-u32.c: Likewise.
35124         * lib/unistr/u8-uctomb-aux.c: Likewise.
35125         * lib/unistr/u8-uctomb.c: Likewise.
35126         * lib/unitypes.h: Likewise.
35127         * lib/uniwidth.h: Likewise.
35128         * lib/uniwidth/cjk.h: Likewise.
35129         * lib/uniwidth/u16-strwidth.c: Likewise.
35130         * lib/uniwidth/u16-width.c: Likewise.
35131         * lib/uniwidth/u32-strwidth.c: Likewise.
35132         * lib/uniwidth/u32-width.c: Likewise.
35133         * lib/uniwidth/u8-strwidth.c: Likewise.
35134         * lib/uniwidth/u8-width.c: Likewise.
35135         * lib/uniwidth/width.c: Likewise.
35136
35137 2007-10-07  Bruno Haible  <bruno@clisp.org>
35138
35139         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
35140         The file is still under LGPL (see modules/inttypes).
35141
35142 2007-10-06  Bruno Haible  <bruno@clisp.org>
35143
35144         * modules/trunc (Dependencies): Add 'extensions'.
35145         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
35146         Reported by Ben Pfaff <blp@gnu.org>.
35147
35148 2007-10-06  Bruno Haible  <bruno@clisp.org>
35149
35150         * modules/freopen-tests: New file.
35151         * tests/test-freopen.c: New file.
35152
35153         * modules/fopen-tests: New file.
35154         * tests/test-fopen.c: New file.
35155
35156         * modules/fopen: New file.
35157         * lib/fopen.c: New file.
35158         * m4/fopen.m4: New file.
35159         * modules/freopen: New file.
35160         * lib/freopen.c: New file.
35161         * m4/freopen.m4: New file.
35162         * lib/stdio.in.h (fopen, freopen): New declarations.
35163         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
35164         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
35165         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
35166         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
35167         * doc/functions/fopen.texi: Mention the 'fopen' module.
35168         * doc/functions/freopen.texi: Mention the 'freopen' module.
35169
35170 2007-10-06  Bruno Haible  <bruno@clisp.org>
35171
35172         * modules/open-tests: New file.
35173         * tests/test-open.c: New file.
35174
35175         * modules/open: New file.
35176         * lib/open.c: New file.
35177         * m4/open.m4: New file.
35178         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
35179         lib/open.c does.
35180         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
35181         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
35182         macros.
35183         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
35184         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
35185         REPLACE_OPEN.
35186         * doc/functions/open.texi: Mention the 'open' module.
35187
35188 2007-10-04  Bruno Haible  <bruno@clisp.org>
35189
35190         * modules/ceill-tests: New file.
35191         * tests/test-ceill.c: New file.
35192
35193         * modules/ceill: New file.
35194         * lib/ceill.c: Replace entire file.
35195         * m4/ceill.m4: New file.
35196         * lib/math.in.h (ceill): Replace declaration.
35197         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
35198         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
35199         * doc/functions/ceill.texi: Mention the 'ceill' module.
35200         * modules/mathl (Files): Remove lib/ceill.c.
35201         (Depends-on): Add ceill.
35202
35203 2007-10-04  Bruno Haible  <bruno@clisp.org>
35204
35205         * modules/ceilf-tests: New file.
35206         * tests/test-ceilf.c: New file.
35207
35208         * modules/ceilf: New file.
35209         * lib/ceil.c: New file.
35210         * lib/ceilf.c: New file.
35211         * m4/ceilf.m4: New file.
35212         * lib/math.in.h (ceilf): New declaration.
35213         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
35214         HAVE_DECL_CEILF.
35215         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
35216         HAVE_DECL_CEILF.
35217         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
35218
35219 2007-10-04  Bruno Haible  <bruno@clisp.org>
35220
35221         * modules/floorl-tests: New file.
35222         * tests/test-floorl.c: New file.
35223
35224         * modules/floorl: New file.
35225         * lib/floorl.c: Replace entire file.
35226         * m4/floorl.m4: New file.
35227         * lib/math.in.h (floorl): Replace declaration.
35228         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
35229         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
35230         * doc/functions/floorl.texi: Mention the 'floorl' module.
35231         * modules/mathl (Files): Remove lib/floorl.c.
35232         (Depends-on): Add floorl.
35233
35234 2007-10-04  Bruno Haible  <bruno@clisp.org>
35235
35236         * modules/floorf-tests: New file.
35237         * tests/test-floorf.c: New file.
35238
35239         * modules/floorf: New file.
35240         * lib/floor.c: New file.
35241         * lib/floorf.c: New file.
35242         * m4/floorf.m4: New file.
35243         * lib/math.in.h (floorf): New declaration.
35244         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
35245         HAVE_DECL_FLOORF.
35246         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
35247         HAVE_DECL_FLOORF.
35248         * doc/functions/floorf.texi: Mention the 'floorf' module.
35249
35250 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
35251             Bruno Haible  <bruno@clisp.org>
35252
35253         Advertise for the Git server instead of the CVS server.
35254         * doc/gnulib-intro.texi (Steady Development): Mention the Git
35255         repository instead of the CVS one.
35256         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
35257         about all VCS systems generically.
35258         * doc/gnulib.texi (Introduction): Capitalize `Git'.
35259
35260 2007-10-04  Bruno Haible  <bruno@clisp.org>
35261
35262         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
35263         means.
35264         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
35265
35266 2007-10-04  Bruno Haible  <bruno@clisp.org>
35267
35268         * modules/truncl-tests: New file.
35269         * tests/test-truncl.c: New file.
35270
35271         * modules/truncl: New file.
35272         * lib/truncl.c: New file.
35273         * m4/truncl.m4: New file.
35274         * lib/math.in.h (truncl): New declaration.
35275         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
35276         HAVE_DECL_TRUNCL.
35277         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
35278         HAVE_DECL_TRUNCL.
35279         * doc/functions/truncl.texi: Mention the 'truncl' module.
35280
35281 2007-10-04  Bruno Haible  <bruno@clisp.org>
35282
35283         * modules/truncf-tests: New file.
35284         * tests/test-truncf.c: New file.
35285
35286         * modules/truncf: New file.
35287         * lib/trunc.c: Make paramerizable through USE_* macros.
35288         * lib/truncf.c: New file.
35289         * m4/truncf.m4: New file.
35290         * lib/math.in.h (truncf): New declaration.
35291         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
35292         HAVE_DECL_TRUNCF.
35293         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
35294         HAVE_DECL_TRUNCF.
35295         * doc/functions/truncf.texi: Mention the 'truncf' module.
35296
35297 2007-10-03  Bruno Haible  <bruno@clisp.org>
35298
35299         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
35300         augmentation also for tests modules.
35301         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
35302         * modules/atexit-tests (Makefile.am): Likewise.
35303         * modules/binary-io-tests (Makefile.am): Likewise.
35304         * modules/c-strcase-tests (Makefile.am): Likewise.
35305         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
35306         * modules/canonicalize-tests (Makefile.am): Likewise.
35307         * modules/closein-tests (Makefile.am): Likewise.
35308         * modules/fprintf-posix-tests (Makefile.am): Likewise.
35309         * modules/freadahead-tests (Makefile.am): Likewise.
35310         * modules/fseek-tests (Makefile.am): Likewise.
35311         * modules/fseeko-tests (Makefile.am): Likewise.
35312         * modules/ftell-tests (Makefile.am): Likewise.
35313         * modules/ftello-tests (Makefile.am): Likewise.
35314         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
35315         * modules/isnanl-tests (Makefile.am): Likewise.
35316         * modules/lseek-tests (Makefile.am): Likewise.
35317         * modules/mbscasecmp-tests (Makefile.am): Likewise.
35318         * modules/mbscasestr-tests (Makefile.am): Likewise.
35319         * modules/mbschr-tests (Makefile.am): Likewise.
35320         * modules/mbscspn-tests (Makefile.am): Likewise.
35321         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
35322         * modules/mbspbrk-tests (Makefile.am): Likewise.
35323         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
35324         * modules/mbsrchr-tests (Makefile.am): Likewise.
35325         * modules/mbsspn-tests (Makefile.am): Likewise.
35326         * modules/mbsstr-tests (Makefile.am): Likewise.
35327         * modules/printf-posix-tests (Makefile.am): Likewise.
35328         * modules/snprintf-posix-tests (Makefile.am): Likewise.
35329         * modules/sprintf-posix-tests (Makefile.am): Likewise.
35330         * modules/tsearch-tests (Makefile.am): Likewise.
35331         * modules/uniname/uniname-tests (Makefile.am): Likewise.
35332         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
35333         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
35334         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
35335         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
35336         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
35337         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
35338         * modules/vprintf-posix-tests (Makefile.am): Likewise.
35339         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
35340         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
35341         * modules/xstrtoimax-tests (Makefile.am): Likewise.
35342         * modules/xstrtol-tests (Makefile.am): Likewise.
35343         * modules/xstrtoumax-tests (Makefile.am): Likewise.
35344         * modules/yesno-tests (Makefile.am): Likewise.
35345
35346 2007-10-03  Bruno Haible  <bruno@clisp.org>
35347
35348         * modules/trunc-tests: New file.
35349         * tests/test-trunc.c: New file.
35350
35351         * modules/trunc: New file.
35352         * lib/trunc.c: New file.
35353         * m4/trunc.m4: New file.
35354         * lib/math.in.h (trunc): New declaration.
35355         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
35356         HAVE_DECL_TRUNC.
35357         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
35358         HAVE_DECL_TRUNC.
35359         * doc/functions/trunc.texi: Mention the 'trunc' module.
35360
35361 2007-10-03  Bruno Haible  <bruno@clisp.org>
35362
35363         * tests/test-fpending.c: New file, mostly copied
35364         from coreutils/lib/t-fpending.c.
35365         * modules/fpending-tests: New file.
35366
35367 2007-10-03  Bruno Haible  <bruno@clisp.org>
35368
35369         Port the stdio extensions to QNX (untested).
35370         * lib/fseterr.c (fseterr): Add support for QNX.
35371         * lib/fbufmode.c (fbufmode): Likewise.
35372         * lib/freadable.c (freadable): Likewise.
35373         * lib/fwritable.c (fwritable): Likewise.
35374         * lib/freading.c (freading): Likewise.
35375         * lib/fwriting.c (fwriting): Likewise.
35376         * lib/freadahead.c (freadahed): Likewise.
35377         * lib/fpurge.c (fpurge): Likewise.
35378         * lib/fseeko.c (rpl_fseeko): Likewise.
35379
35380 2007-10-03  Bruno Haible  <bruno@clisp.org>
35381             Jim Meyering  <jim@meyering.net>
35382             Eric Blake  <ebb9@byu.net>
35383
35384         * doc/relocatable.texi: Use @command instead of @program.
35385
35386 2007-10-02  Jim Meyering  <jim@meyering.net>
35387
35388         Perform one more "_.h" -> ".in.h" substitution.
35389         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
35390         instead of unistd_.h here, too.
35391
35392 2007-10-01  Bruno Haible  <bruno@clisp.org>
35393
35394         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
35395         Needed for the alloca-opt module.
35396
35397 2007-09-30  Bruno Haible  <bruno@clisp.org>
35398
35399         * lib/alloca.in.h: Renamed from lib/alloca_.h.
35400         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
35401         alloca_.h.
35402         * lib/argz.in.h: Renamed from lib/argz_.h.
35403         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
35404         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
35405         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
35406         byteswap_.h.
35407         * lib/dirent.in.h: Renamed from lib/dirent_.h.
35408         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
35409         dirent_.h.
35410         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
35411         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
35412         fcntl_.h.
35413         * lib/float.in.h: Renamed from lib/float_.h.
35414         * modules/float (Files, Makefile.am): Use float.in.h instead of
35415         float_.h.
35416         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
35417         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
35418         fnmatch_.h.
35419         * lib/getopt.in.h: Renamed from lib/getopt_.h.
35420         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
35421         getopt_.h.
35422         * lib/glob.in.h: Renamed from lib/glob_.h.
35423         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
35424         * lib/iconv.in.h: Renamed from lib/iconv_.h.
35425         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
35426         iconv_.h.
35427         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
35428         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
35429         inttypes_.h.
35430         * lib/locale.in.h: Renamed from lib/locale_.h.
35431         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
35432         locale_.h.
35433         * lib/math.in.h: Renamed from lib/math_.h.
35434         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
35435         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
35436         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
35437         of netinet_in_.h. Add dependency.
35438         * lib/poll.in.h: Renamed from lib/poll_.h.
35439         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
35440         * lib/search.in.h: Renamed from lib/search_.h.
35441         * modules/search (Files, Makefile.am): Use search.in.h instead of
35442         search_.h.
35443         * lib/signal.in.h: Renamed from lib/signal_.h.
35444         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
35445         _signal.h.
35446         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
35447         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
35448         stdbool_.h.
35449         * lib/stdint.in.h: Renamed from lib/stdint_.h.
35450         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
35451         stdint_.h.
35452         * lib/stdio.in.h: Renamed from lib/stdio_.h.
35453         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
35454         stdio_.h.
35455         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
35456         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
35457         stdlib_.h.
35458         * lib/string.in.h: Renamed from lib/string_.h.
35459         * modules/string (Files, Makefile.am): Use string.in.h instead of
35460         string_.h.
35461         * doc/gnulib-tool.texi (Initial import): Update.
35462         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
35463         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
35464         of sys_select_.h. Add dependency.
35465         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
35466         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
35467         of sys_socket_.h.
35468         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
35469         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
35470         sys_stat_.h.
35471         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
35472         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
35473         sys_time_.h.
35474         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
35475         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
35476         sysexits_.h.
35477         * lib/time.in.h: Renamed from lib/time_.h.
35478         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
35479         * lib/unistd.in.h: Renamed from lib/unistd_.h.
35480         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
35481         unistd_.h.
35482         * lib/wchar.in.h: Renamed from lib/wchar_.h.
35483         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
35484         wchar_.h.
35485         * lib/wctype.in.h: Renamed from lib/wctype_.h.
35486         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
35487         wctype_.h.
35488         * build-aux/bootstrap (slurp): Update.
35489         * lib/.cppi-disable: Update.
35490
35491 2007-09-30  Bruno Haible  <bruno@clisp.org>
35492
35493         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
35494         Needed on BeOS.
35495
35496 2007-09-30  Bruno Haible  <bruno@clisp.org>
35497
35498         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
35499
35500 2007-09-29  Bruno Haible  <bruno@clisp.org>
35501
35502         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
35503
35504 2007-09-29  Bruno Haible  <bruno@clisp.org>
35505
35506         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
35507         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
35508         * build-aux/install-reloc: Compile also areadlink.c.
35509         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
35510
35511 2007-09-29  Bruno Haible  <bruno@clisp.org>
35512
35513         * gnulib-tool (func_emit_initmacro_done): Indentation.
35514
35515 2007-09-29  Bruno Haible  <bruno@clisp.org>
35516
35517         * README: Add CVS checkout update instructions.
35518         Info from Bob Proulx <bob@proulx.com>.
35519
35520 2007-09-28  Eric Blake  <ebb9@byu.net>
35521
35522         Provide move-if-change.
35523         * build-aux/move-if-change: New file, based on best practice
35524         rather than any canonical upstream location.
35525
35526 2007-09-28  Jim Meyering  <jim@meyering.net>
35527
35528         Fix canonicalize loop-detection corner case.
35529         Do not attempt to stat the symlink values stored via seen_triple.
35530         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
35531         on linux-2.6.18, (but not 2.6.22).
35532         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
35533         triple_compare.  The former compares dev,ino,filename, while the latter
35534         would actually stat dirname(filename) when dev and ino were equal.
35535         * lib/hash-triple.c: Install <string.h>.
35536         (STREQ): Define.
35537         (triple_compare_ino_str): New function.
35538         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
35539
35540 2007-09-28  Eric Blake  <ebb9@byu.net>
35541
35542         Enforce that AC_REPLACE_FUNCS files exist.
35543         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
35544         override check for typos.
35545
35546         Fix test-closein on Solaris 10.
35547         * tests/test-closein.c (main): Don't assume stdin can be inherited
35548         closed on all systems.
35549         * tests/test-closein.sh: Likewise.
35550         Reported by Piotr Tarnowski.
35551
35552 2007-09-28  Jim Meyering  <jim@meyering.net>
35553
35554         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
35555
35556 2007-09-27  Jim Meyering  <jim@meyering.net>
35557
35558         canonicalize: Avoid a false-positive cycle failure.
35559         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
35560         Sort.  Remove cycle-check.
35561         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
35562         not cycle-check.h.
35563         (seen_triple): New function.
35564         (canonicalize_filename_mode): Use it instead of cycle-check.
35565         * tests/test-canonicalize.c: Add a test for this bug.
35566         * tests/test-canonicalize.sh: Set up and run the test.
35567
35568         New module, file-set, from coreutils.
35569         * modules/file-set: Define it.
35570         * lib/file-set.c, lib/file-set.h: Implement.
35571
35572         New module, hash-triple, from coreutils.
35573         * modules/hash-triple: Define it.
35574         * lib/hash-triple.c, lib/hash-triple.h: Implement.
35575
35576 2007-09-25  Eric Blake  <ebb9@byu.net>
35577
35578         Fix strerror on Interix.
35579         * lib/string_.h (strerror): Declare replacement.
35580         * doc/functions/strerror.texi (strerror): Document the Interix
35581         shortcoming.
35582         * modules/string (Makefile.am): Support new hooks.
35583         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
35584         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
35585         gl_FUNC_STRERROR_SEPARATE.
35586         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
35587         * lib/strerror.c (rpl_strerror): Provide replacement.
35588         * modules/strerror (Depends-on): Add string.
35589         (configure.ac): Detect use of module.
35590         * tests/test-strerror.c: New file.
35591         * modules/strerror-tests: New test module.
35592         * modules/argp (Depends-on): Add strerror.
35593         * modules/error (Depends-on): Likewise.
35594         Reported by Martin Koeppe.
35595
35596 2007-09-24  Bruno Haible  <bruno@clisp.org>
35597
35598         * README: Update git instructions.
35599
35600 2007-09-24  Eric Blake  <ebb9@byu.net>
35601
35602         Revert fpending breakage from 2007-09-08.
35603         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
35604         __fpending.c.
35605
35606 2007-09-24  Jim Meyering  <jim@meyering.net>
35607
35608         filenamecat.c: Add a test.
35609         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
35610         showing how the function works when DIR is the empty string.
35611
35612 2007-09-21  Simon Josefsson  <simon@josefsson.org>
35613
35614         * tests/test-canonicalize.sh: Turn on executable bit.
35615
35616 2007-09-19  Eric Blake  <ebb9@byu.net>
35617
35618         * README: Update CVS instructions.
35619
35620 2007-09-18  Bruno Haible  <bruno@clisp.org>
35621
35622         * modules/areadlink: New file.
35623         * lib/areadlink.h (areadlink): New declaration.
35624         * lib/areadlink.c: New file, based on lib/xreadlink.c.
35625
35626 2007-09-17  Jim Meyering  <jim@meyering.net>
35627
35628         * lib/savewd.c (ESTALE) [!defined]: Define.
35629         Reported to be required on Interix by Martin Koeppe.
35630
35631 2007-09-17  Bruno Haible  <bruno@clisp.org>
35632
35633         * gnulib-tool (func_version): Use $version.
35634
35635 2007-09-16  Bruno Haible  <bruno@clisp.org>
35636
35637         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
35638         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
35639         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
35640         Reported by Greg Schafer <gschafer@zip.com.au>.
35641
35642 2007-09-15  Bruno Haible  <bruno@clisp.org>
35643
35644         * gnulib-tool (sed): Try a little harder to make bash understand the
35645         alias.
35646         Reported by Bruce Korb <bruce.korb@gmail.com>.
35647
35648 2007-09-13  Eric Blake  <ebb9@byu.net>
35649
35650         * ChangeLog: Remove conflict markers.
35651
35652 2007-09-13  Simon Josefsson  <simon@josefsson.org>
35653
35654         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
35655         Reported by Bruno Haible <bruno@clisp.org>.
35656
35657 2007-09-12  Bruno Haible  <bruno@clisp.org>
35658
35659         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
35660         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
35661         is not defined.
35662
35663 2007-09-12  Eric Blake  <ebb9@byu.net>
35664
35665         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
35666         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
35667         Autoconf definition.
35668         * modules/euidaccess (Depends-on): Add extensions, for
35669         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
35670         * modules/fnmatch (Depends-on): Likewise.
35671         * modules/getaddrinfo (Depends-on): Likewise.
35672         * modules/getdelim (Depends-on): Likewise.
35673         * modules/getline (Depends-on): Likewise.
35674         * modules/getsubopt (Depends-on): Likewise.
35675         * modules/gettext (Depends-on): Likewise.
35676         * modules/group-member (Depends-on): Likewise.
35677         * modules/mbchar (Depends-on): Likewise.
35678         * modules/memmem (Depends-on): Likewise.
35679         * modules/mempcpy (Depends-on): Likewise.
35680         * modules/memrchr (Depends-on): Likewise.
35681         * modules/pagealign_alloc (Depends-on): Likewise.
35682         * modules/readutmp (Depends-on): Likewise.
35683         * modules/stpcpy (Depends-on): Likewise.
35684         * modules/stpncpy (Depends-on): Likewise.
35685         * modules/strchrnul (Depends-on): Likewise.
35686         * modules/strndup (Depends-on): Likewise.
35687         * modules/strsep (Depends-on): Likewise.
35688         * modules/strverscmp (Depends-on): Likewise.
35689         * modules/vasprintf (Depends-on): Likewise.
35690         * modules/wcwidth (Depends-on): Likewise.
35691         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
35692         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
35693         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
35694         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
35695         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
35696         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
35697         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
35698         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
35699         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
35700         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
35701         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
35702         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
35703         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
35704         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
35705         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
35706         * m4/readutmp.m4 (gl_READUTMP): Likewise.
35707         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
35708         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
35709         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
35710         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
35711         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
35712         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
35713         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
35714         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
35715         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
35716         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
35717         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
35718         so that lock.m4 can be used in gettext without extensions module.
35719
35720 2007-09-11  Bruno Haible  <bruno@clisp.org>
35721
35722         * m4/isc-posix.m4: Remove file.
35723         Suggested by Eric Blake.
35724
35725 2007-09-11  Eric Blake  <ebb9@byu.net>
35726
35727         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
35728
35729 2007-09-10  Bruno Haible  <bruno@clisp.org>
35730
35731         * posix-modules: Fix typo in error message.
35732         Reported by Matt <mkraai@beckman.com>.
35733
35734 2007-09-09  Bruno Haible  <bruno@clisp.org>
35735
35736         * doc/functions/getdelim.texi: Update list of platforms lacking the
35737         function.
35738         * doc/functions/getline.texi: Likewise.
35739
35740 2007-09-09  Jim Meyering  <jim@meyering.net>
35741
35742         * lib/hash.c (hash_initialize): Detect calloc failure.
35743         Reported by Bruno Haible.
35744
35745 2007-09-09  Bruno Haible  <bruno@clisp.org>
35746
35747         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
35748         malloc or realloc fails.
35749
35750 2007-09-09  Bruno Haible  <bruno@clisp.org>
35751
35752         * modules/getcwd (Depends-on): Add malloc-posix.
35753         * modules/glob (Depends-on): Likewise.
35754         * modules/putenv (Depends-on): Likewise.
35755         * modules/strdup (Depends-on): Likewise.
35756         * modules/getdelim (Depends-on): Add realloc-posix.
35757         * modules/read-file (Depends-on): Likewise.
35758
35759 2007-09-09  Bruno Haible  <bruno@clisp.org>
35760
35761         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
35762         (gl_FUNC_MALLOC_POSIX): Require it.
35763         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
35764         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
35765         * modules/realloc (Files): Add m4/malloc.m4.
35766         * modules/calloc (Files): Likewise.
35767
35768 2007-09-09  Bruno Haible  <bruno@clisp.org>
35769
35770         * modules/malloc-posix: New file.
35771         * modules/malloc (Depends-on): Add malloc-posix.
35772         * lib/malloc.c: Include errno.h.
35773         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
35774         and a POSIX-compatible malloc into a single function. Set ENOMEM
35775         when returning NULL.
35776         * m4/malloc.m4: New file.
35777         * doc/functions/malloc.texi: Mention the malloc-posix module.
35778         * lib/stdlib_.h (malloc): New declaration.
35779         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
35780         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
35781         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
35782         and HAVE_MALLOC_POSIX.
35783
35784 2007-09-09  Bruno Haible  <bruno@clisp.org>
35785
35786         * modules/realloc-posix: New file.
35787         * modules/realloc (Depends-on): Add realloc-posix.
35788         * lib/realloc.c: Include errno.h.
35789         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
35790         and a POSIX-compatible realloc into a single function. Set ENOMEM
35791         when returning NULL.
35792         * m4/realloc.m4: New file.
35793         * doc/functions/realloc.texi: Mention the realloc-posix module.
35794         * lib/stdlib_.h (realloc): New declaration.
35795         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
35796         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
35797         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
35798         and HAVE_REALLOC_POSIX.
35799
35800 2007-09-09  Bruno Haible  <bruno@clisp.org>
35801
35802         * modules/calloc-posix: New file.
35803         * modules/calloc (Depends-on): Add calloc-posix.
35804         * lib/calloc.c: Include errno.h.
35805         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
35806         and a POSIX-compatible calloc into a single function. Set ENOMEM
35807         when returning NULL.
35808         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
35809         * doc/functions/calloc.texi: Mention the calloc-posix module.
35810         * lib/stdlib_.h (calloc): New declaration.
35811         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
35812         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
35813         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
35814         and HAVE_CALLOC_POSIX.
35815
35816 2007-09-09  Bruno Haible  <bruno@clisp.org>
35817
35818         Allow for modules to show an arbitrary notice.
35819         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
35820         * gnulib-tool: New option --extract-notice.
35821         (func_usage): Document it.
35822         (sed_extract_prog): Update.
35823         (func_get_notice): New function.
35824         (func_modules_notice): New function.
35825         (func_import, func_create_testdir): Invoke it.
35826         Suggested by Jim Meyering.
35827
35828 2007-09-09  Bruno Haible  <bruno@clisp.org>
35829
35830         * gnulib-tool: New options --verbose, --quiet.
35831         (func_usage): Document them.
35832         (verbose): New variable.
35833         (func_execute_command): New function.
35834         (func_import): Don't show the module list and the file list if
35835         $verbose < 0.
35836         (func_create_testdir): Likewise. Use func_execute_command.
35837         (func_create_megatestdir): Use func_execute_command.
35838
35839 2007-09-08  Bruno Haible  <bruno@clisp.org>
35840
35841         * gnulib-tool (func_import): Prefer rsync over wget when available,
35842         for fetching the PO files.
35843
35844 2007-09-08  Bruno Haible  <bruno@clisp.org>
35845
35846         * posix-modules: New file. Portions copied from gnulib-tool.
35847         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
35848
35849 2007-09-08  Jim Meyering  <jim@meyering.net>
35850
35851         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
35852         * lib/fpending.h: Rename from __fpending.h.
35853         * lib/fpending.c: Rename from __fpending.c.
35854         Include "fpending.h", not "__fpending.h".
35855         * lib/__fpending.h, lib/__fpending.c: Remove files.
35856         * modules/fpending (Files): Reflect new file names.
35857         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
35858
35859 2007-09-08  Bruno Haible  <bruno@clisp.org>
35860
35861         * m4/inttypes-h.m4: Remove stub file.
35862
35863 2007-09-07  Simon Josefsson  <simon@josefsson.org>
35864
35865         * doc/headers/stdint.texi: Discuss #include_next issue.
35866
35867 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
35868
35869         * build-aux/bootstrap: Remove obsolete comment about wget --help.
35870
35871 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35872
35873         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
35874         in variable name.
35875
35876 2007-09-03  Jim Meyering  <jim@meyering.net>
35877
35878         New module: git-version-gen.
35879         * modules/git-version-gen: New file.
35880
35881         Import changes from coreutils for bootstrap script.
35882
35883         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
35884
35885         bootstrap: uses rsync to download the .po files
35886         * build-aux/bootstrap (po_download_command_format): New global.
35887         (download_po_files): Use rsync.
35888         (update_po_files): Don't remove .po files after download,
35889         so future rsync runs can take advantage of the copies.
35890
35891         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
35892
35893         Solve the unnecessary-.po-file-regeneration problem once and for all.
35894         * build-aux/bootstrap (download_po_files): New function, renamed from
35895         get_translations.  Now, downloads, but doesn't update LINGUAS.
35896         (update_po_files): New function.
35897
35898         bootstrap: Ignore more.
35899         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
35900         uniwidth to e.g., lib/.gitignore.
35901         (slurp): Handle the sys_stat_.h -> sys mapping, too.
35902
35903         * build-aux/bootstrap: New setting: vc_ignore.
35904         (insert_sorted_if_absent): Create $file if absent.
35905         Adapt to new, possibly empty, list: $vc_ignore.
35906
35907         bootstrap: generate more ignorable names
35908         * build-aux/bootstrap (slurp): When generating ignorable names,
35909         also map .sin to .sed, .gperf to .c, and .y to .c.
35910
35911 2007-09-03  Jim Meyering  <jim@meyering.net>
35912
35913         * build-aux/git-version-gen: New file, from coreutils.  For details, see
35914         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
35915
35916 2007-09-02  Bruno Haible  <bruno@clisp.org>
35917
35918         Fix mis-recognition of 'mcs' on QNX 6.
35919         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
35920         output contains the string "Mono".
35921         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
35922         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
35923
35924 2007-09-01  Bruno Haible  <bruno@clisp.org>
35925
35926         Fix collision between uniwidth/* and linebreak modules.
35927         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
35928         u32_width): Remove declarations.
35929         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
35930         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
35931         streq3, streq2, streq1, streq0): Remove functions.
35932         (STREQ): Remove macro.
35933         (is_cjk_encoding): Remove function.
35934         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
35935         (uc_width, u8_width, u16_width, u32_width): Remove functions.
35936         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
35937         * NEWS: Document the change.
35938
35939 2007-09-01  Bruno Haible  <bruno@clisp.org>
35940
35941         * lib/streq.h: Add double-inclusion guard.
35942
35943 2007-09-01  Karl Berry  <karl@gnu.org>
35944
35945         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
35946
35947 2007-08-28  Jim Meyering  <jim@meyering.net>
35948
35949         Rename mreadlink_with_size to areadlink_with_size.
35950         * NEWS: Document the change.
35951         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
35952         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
35953         * lib/mreadlink.h: Rename this to...
35954         * lib/areadlink.h: ...this.
35955         * modules/mreadlink-with-size: Rename this to...
35956         * modules/areadlink-with-size: ...this.
35957         * lib/canonicalize.c: Reflect the renaming.
35958         * modules/canonicalize: Likewise.
35959
35960 2007-08-26  Bruno Haible  <bruno@clisp.org>
35961
35962         * gnulib-tool (func_import): When deciding which files to remove,
35963         consider also dangling symbolic links.
35964         Reported by Eric Blake.
35965
35966 2007-08-26  Bruno Haible  <bruno@clisp.org>
35967
35968         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
35969
35970 2007-08-23  Simon Josefsson  <simon@josefsson.org>
35971
35972         * lib/readline.c: Don't include getline.h, the prototype is now
35973         found in stdio.h.
35974
35975 2007-08-23  Jim Meyering  <jim@meyering.net>
35976
35977         Getdelim touchup.
35978         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
35979         around the funlockfile call, since funlockfile never sets errno.
35980         Don't set errno upon failed realloc.
35981
35982 2007-08-22  Eric Blake  <ebb9@byu.net>
35983
35984         Getline touchups.
35985         * lib/getdelim.c (getdelim): Revert regression that required *n to
35986         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
35987         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
35988         getdelim, rather than whether implementation is missing.
35989         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
35990         * lib/stdio_.h (getline): Also declare if replacement is
35991         required.
35992         * doc/functions/getdelim.texi: New file.
35993         * doc/functions/getline.texi: Likewise.
35994         * doc/gnulib.texi (Function Substitutes): Add new files.
35995         Reported by Bruno Haible.
35996
35997 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
35998
35999         * users.txt: Add Guile.
36000
36001 2007-08-22  Eric Blake  <ebb9@byu.net>
36002
36003         * tests/test-getdelim.c (main): Use remove, not unlink.
36004         * tests/test-getline.c (main): Likewise.
36005
36006         Move getline and getdelim into stdio.h, per POSIX 200x.
36007         * modules/getline (Files): Remove getline.h.
36008         (Depends-on): Add stdio.
36009         (configure.ac): Add module indicator.
36010         * modules/getdelim (Files): Remove getdelim.h.
36011         (Depends-on): Add stdio.
36012         (configure.ac): Add module indicator.
36013         * modules/stdio (Makefile.am): Work with new indicators.
36014         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
36015         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
36016         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
36017         * lib/getdelim.h: Delete.
36018         * lib/getline.h: Delete.
36019         * lib/stdio_.h (getdelim, getline): Declare.
36020         * modules/getdelim-tests: New module.
36021         * modules/getline-tests: Likewise.
36022         * tests/test-getdelim.c: New file.
36023         * tests/test-getline.c: Likewise.
36024         * NEWS: Document the change.
36025         * lib/getline.c: Update choice of header.
36026         * lib/csharpcomp.c: Likewise.
36027         * lib/getpass.c: Likewise.
36028         * lib/javacomp.c: Likewise.
36029         * lib/javaversion.c: Likewise.
36030         * lib/yesno.c: Likewise.
36031         * lib/getdelim.c: Likewise.
36032         (getdelim): Set errno on failure, and avoid memory leak.
36033
36034 2007-08-19  Bruno Haible  <bruno@clisp.org>
36035
36036         * modules/closein (Depends-on): Add freadahead.
36037         * lib/closein.c: Include freadahead.h.
36038         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
36039         is zero.
36040
36041 2007-08-19  Bruno Haible  <bruno@clisp.org>
36042
36043         * modules/freadahead-tests: New file.
36044         * tests/test-freadahead.sh: New file.
36045         * tests/test-freadahead.c: New file.
36046
36047         * modules/freadahead: New file.
36048         * lib/freadahead.h: New file.
36049         * lib/freadahead.c: New file.
36050         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
36051         fbufmode, fpurge, freadable, fwritable.
36052
36053 2007-08-19  Eric Blake  <ebb9@byu.net>
36054
36055         Test yesno in combination with closein.
36056         * lib/yesno.c (yesno): Document use of stdin.
36057         * modules/yesno-tests (Files): New module.
36058         * tests/test-yesno.c (main): New file.
36059         * tests/test-yesno.sh: Likewise.
36060
36061 2007-08-19  Bruno Haible  <bruno@clisp.org>
36062
36063         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
36064         * lib/fseeko.c (rpl_fseeko): Likewise.
36065         * lib/fseterr.c (fseterr): Likewise.
36066
36067 2007-08-19  Bruno Haible  <bruno@clisp.org>
36068
36069         * tests/test-lseek.c (main): Disable a test for BeOS.
36070         * doc/functions/lseek.texi: Document the BeOS bug.
36071
36072 2007-08-19  Bruno Haible  <bruno@clisp.org>
36073             Eric Blake  <ebb9@byu.net>
36074
36075         * lib/lseek.c: Include <sys/stat.h>.
36076         (rpl_lseek): Add workaround code also for Unix platforms.
36077         Needed for BeOS.
36078         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
36079         * doc/functions/lseek.texi: Document BeOS definiency.
36080
36081 2007-08-18  Bruno Haible  <bruno@clisp.org>
36082
36083         * modules/fstrcmp-tests: New file.
36084         * tests/test-fstrcmp.c: New file.
36085
36086 2007-08-18  Bruno Haible  <bruno@clisp.org>
36087
36088         * modules/fstrcmp: New file, from GNU gettext with modifications.
36089         * lib/fstrcmp.h: New file, from GNU gettext.
36090         * lib/fstrcmp.c: New file, from GNU gettext.
36091         * MODULES.html.sh (String handling): Add fstrcmp.
36092
36093 2007-08-18  Bruno Haible  <bruno@clisp.org>
36094
36095         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
36096         'bool'.
36097         (diag, compareseq): Remove const from the ctxt argument.
36098         (USE_HEURISTIC): Undefine at the end.
36099
36100 2007-08-18  Jim Meyering  <jim@meyering.net>
36101
36102         New file: lib/idcache.h
36103         * NEWS: Mention the addition.
36104         * modules/idcache (Files): Add lib/idcache.h
36105         * lib/idcache.c: Include "idcache.h".
36106         Don't include <sys/types.h>.
36107         Add a FIXME comment.
36108         Move file-scoped "static" declarations to the top.
36109         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
36110
36111 2007-08-17  Bruno Haible  <bruno@clisp.org>
36112         and Paul Eggert  <eggert@cs.ucla.edu>
36113
36114         * MODULES.html.sh: Add diffseq.
36115         * modules/diffseq: New file.
36116         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
36117         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
36118
36119 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
36120
36121         Import changes from coreutils for bootstrap script.
36122
36123         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
36124
36125         * build-aux/bootstrap (slurp): Work even in environments where
36126         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
36127         current code does not slurp files whose names start with ".", and
36128         this looks like it might be a troublesome area.
36129
36130         2007-07-11  Jim Meyering  <jim@meyering.net>
36131
36132         If there's a GPL vN copyright comment, require that N == 3.
36133
36134         2007-07-08  Jim Meyering  <jim@meyering.net>
36135
36136         Run the coreutils-specific code only if tests/Makefile.am.in exists.
36137         * build-aux/bootstrap (mam_template): Move definition out of loop.
36138
36139         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
36140
36141         * build-aux/bootstrap (symlink_to_dir): Rename function from
36142         symlink_to_gnulib.  Add a directory parameter.  Update all
36143         callers.
36144         (cp_mark_as_generated): Also check for -- and link to -- files in
36145         gl/.
36146
36147         2007-07-08  Jim Meyering  <jim@meyering.net>
36148
36149         Adapt to deeper hierarchy in gnulib.
36150         * build-aux/bootstrap (symlink_to_dir): If the destination
36151         directory doesn't exist, create it. This is required at least for
36152         "lib/uniwidth/cjk.h".
36153
36154         2007-05-15  Jim Meyering  <jim@meyering.net>
36155
36156         * build-aux/bootstrap: Now that generated Makefile.am files
36157         are no longer under version control, they must be created at
36158         bootstrap time.
36159
36160 2007-08-14  Ben Pfaff  <blp@gnu.org>
36161
36162         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
36163
36164 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
36165
36166         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
36167         given the changes below.
36168         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
36169         even on hosts that have padding bits beyond the supported 64.
36170
36171 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
36172
36173         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
36174         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
36175         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
36176         depends on it.
36177         (xstrtol_error): Remove.
36178         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
36179         but with a different signature.
36180         (ATTRIBUTE_NORETURN, __attribute__): New macros.
36181         * lib/xstrtol-error.c: Include exitfail.h.
36182         (xstrtol_fatal): New function, with a different signature from the
36183         old xstrtol_error, so that the caller need not worry about passing
36184         in an exit status, or about storage management of the option argument.
36185         (xstrtol_error): Now a static function.  Redo signature to
36186         implement xstrtol_fatal.  Output the correct number of hyphens in
36187         front of the option so that the caller need not worry about
36188         storage management.
36189         (N_): New macro.
36190         (_): Remove; not used now.
36191         * modules/xstrtol: Depend on getopt.
36192         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
36193         of old STRTOL_FATAL_ERROR macro.
36194         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
36195         of test program.
36196         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
36197         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
36198
36199 2007-08-08  Eric Blake  <ebb9@byu.net>
36200
36201         * lib/xstrtol-error.c: Add missing include.
36202
36203         Move xstrtol messages into gnulib domain, when --pobase is used.
36204         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
36205         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
36206         * modules/xstrtol (Files): Distribute new file.
36207         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
36208         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
36209         * tests/test-xstrtol.c: ...into new file.
36210         * tests/test-xstrtoul.c: Also test xstrtoul.
36211         * tests/test-xstrtoimax.c: Also test xstrtoimax.
36212         * tests/test-xstrtoumax.c: Also test xstrtoumax.
36213         * tests/test-xstrtol.sh: Drive the tests.
36214         * tests/test-xstrtoimax.sh: Likewise.
36215         * tests/test-xstrtoumax.sh: Likewise.
36216         * modules/xstrtol-tests: New module.
36217         * modules/xstrtoimax-tests: Likewise.
36218         * modules/xstrtoumax-tests: Likewise.
36219
36220 2007-08-08  Jim Meyering  <jim@meyering.net>
36221
36222         New function: mfile_name_concat.
36223         * lib/filenamecat.c (mfile_name_concat): New function, just like
36224         file_name_concat, but return NULL upon failure rather than exiting
36225         with a diagnostic.
36226         * lib/filenamecat.h: Declare it.
36227
36228 2007-08-07  Bruno Haible  <bruno@clisp.org>
36229
36230         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
36231         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
36232         warning from gcc.
36233         Reported by Eric Blake.
36234
36235 2007-08-07  Simon Josefsson  <simon@josefsson.org>
36236
36237         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
36238         * modules/crypto/arcfour (License): Likewise.
36239         * modules/crypto/des-tests (License): Likewise.
36240         * modules/crypto/gc-arctwo-tests (License): Likewise.
36241         * modules/crypto/gc-des-tests (License): Likewise.
36242         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
36243         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
36244         * modules/crypto/gc-md2-tests (License): Likewise.
36245         * modules/crypto/gc-md4-tests (License): Likewise.
36246         * modules/crypto/gc-md5-tests (License): Likewise.
36247         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
36248         * modules/crypto/gc-rijndael-tests (License): Likewise.
36249         * modules/crypto/gc-sha1-tests (License): Likewise.
36250         * modules/crypto/gc-tests (License): Likewise.
36251         * modules/crypto/hmac-md5 (License): Likewise.
36252         * modules/crypto/hmac-sha1 (License): Likewise.
36253         * modules/crypto/md2-tests (License): Likewise.
36254         * modules/crypto/md4-tests (License): Likewise.
36255         * modules/crypto/md5 (License): Likewise.
36256         * modules/crypto/rijndael (License): Likewise.
36257         * modules/crypto/sha1 (License): Likewise.
36258         * modules/memxor (License): Likewise.
36259
36260 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
36261         and Bruno Haible  <bruno@clisp.org>
36262
36263         * NEWS: Describe interface changes to human, xstrtol.
36264         * lib/human.h: Include <xstrtol.h>.
36265         (human_options): Return enum strtol_error, not int.  Remove
36266         bool arg; take int * instead.
36267         * lib/human.c: Don't include "gettext.h".
36268         (_): Remove; no longer used.
36269         Don't include <xstrtol.h>, since human.h does it.
36270         (human_options): Adjust to abovementioned interface changes.
36271         Do not report error to stderr; that's now the caller's
36272         responsibility.
36273         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
36274         interface change.
36275         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
36276         Str, Argument_type_string.  All uses changed.  Put " argument"
36277         in diagnostics to make them clearer.  Change wording of suffix
36278         message for clarity.
36279         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
36280         Argument_type_string.
36281         (STRTOL_FATAL_WARN): Remove; no longer used.
36282         * modules/human (Depends-on): Remove gettext-h.
36283
36284 2007-08-06  Simon Josefsson  <simon@josefsson.org>
36285
36286         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
36287
36288 2007-07-31  Bruno Haible  <bruno@clisp.org>
36289
36290         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
36291         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
36292         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
36293
36294 2007-07-31  Bruno Haible  <bruno@clisp.org>
36295
36296         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
36297         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
36298
36299 2007-07-30  Bruno Haible  <bruno@clisp.org>
36300
36301         * modules/base64 (License): Use the synonymous term "LGPLv2+".
36302         * modules/c-ctype (License): Likewise.
36303         * modules/c-strcase (License): Likewise.
36304         * modules/check-version (License): Likewise.
36305         * modules/iconv (License): Likewise.
36306         * modules/iconv_open (License): Likewise.
36307         * modules/read-file (License): Likewise.
36308         * modules/striconv (License): Likewise.
36309         * modules/strverscmp (License): Likewise.
36310         * modules/vasprintf (License): Likewise.
36311         * modules/crypto/des (License): Likewise.
36312         * modules/crypto/gc (License): Likewise.
36313         * modules/crypto/gc-arcfour (License): Likewise.
36314         * modules/crypto/gc-arctwo (License): Likewise.
36315         * modules/crypto/gc-des (License): Likewise.
36316         * modules/crypto/gc-hmac-md5 (License): Likewise.
36317         * modules/crypto/gc-hmac-sha1 (License): Likewise.
36318         * modules/crypto/gc-md2 (License): Likewise.
36319         * modules/crypto/gc-md4 (License): Likewise.
36320         * modules/crypto/gc-md5 (License): Likewise.
36321         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
36322         * modules/crypto/gc-random (License): Likewise.
36323         * modules/crypto/gc-rijndael (License): Likewise.
36324         * modules/crypto/gc-sha1 (License): Likewise.
36325         * modules/crypto/md2 (License): Likewise.
36326         * modules/crypto/md4 (License): Likewise.
36327
36328 2007-07-30  Jim Meyering  <jim@meyering.net>
36329
36330         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
36331         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
36332         it has valid stat data.  This bug would cause du not to count the
36333         sizes of inaccessible directories.
36334         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
36335         in <http://bugzilla.redhat.com/250077>.
36336
36337 2007-07-25  Peter O'Gorman  <peter@pogma.com>
36338             Bruno Haible  <bruno@clisp.org>
36339
36340         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
36341         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
36342         #include_next, gives a diagnostic about it, but reports no error in
36343         the exit code.
36344         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
36345
36346 2007-07-24  Ben Pfaff  <blp@gnu.org>
36347
36348         Improve name: "count-one-bits" is better than "popcount".
36349         * MODULES.html.sh: Update name.
36350         * lib/popcount.h: Renamed lib/count-one-bits.h.
36351         (popcount): Renamed count_one_bits.
36352         (popcountl): Renamed count_one_bits_l.
36353         (popcountll): Renamed count_one_bits_ll.
36354         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
36355         * modules/popcount: Renamed module/count-one-bits.
36356         * modules/popcount-tests: Renamed module/count-one-bits-tests.
36357         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
36358
36359 2007-07-23  Ben Pfaff  <blp@gnu.org>
36360
36361         * lib/popcount.h (popcount32): Reduce size of constants, to allow
36362         better code generation, and add U to large constants to avoid
36363         warnings, in non-GCC case.
36364         Suggested by Bruno Haible.
36365
36366 2007-07-23  Ben Pfaff  <blp@gnu.org>
36367
36368         * lib/popcount.h: Use verify_true instead of if...abort.
36369         * modules/popcount: Depend on verify module.
36370         Suggested by Jim Meyering.
36371
36372 2007-07-23  Bruno Haible  <bruno@clisp.org>
36373
36374         * gnulib-tool (func_import): Create a .cvsignore file also when the
36375         directory is not yet in CVS but the toplevel directory is. When
36376         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
36377         Reported by Karl Berry.
36378
36379 2007-07-22  Ben Pfaff  <blp@gnu.org>
36380
36381         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
36382         case.
36383         Suggested by Eric Blake.
36384
36385 2007-07-22  Ben Pfaff  <blp@gnu.org>
36386
36387         New module: popcount.
36388         * MODULES.html.sh: Add popcount.
36389         * modules/popcount: New file.
36390         * modules/popcount-tests: New file.
36391         * tests/test-popcount.c: New file.
36392         * lib/popcount.h: New file.
36393         * m4/popcount.m4: New file.
36394
36395 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
36396
36397         * build-aux/announce-gen: Update to GPLv3.
36398
36399         * build-aux/config.guess: Update from config.
36400
36401 2007-07-21  Bruno Haible  <bruno@clisp.org>
36402
36403         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
36404         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
36405
36406 2007-07-20  Jim Meyering  <jim@meyering.net>
36407
36408         * check-module: Diagnose a self-dependency.
36409
36410 2007-07-19  Bruno Haible  <bruno@clisp.org>
36411
36412         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
36413         empty.
36414         Reported by Eric Blake.
36415
36416 2007-07-18  Bruno Haible  <bruno@clisp.org>
36417
36418         * gnulib-tool: New options --po-base, --po-domain.
36419         (func_usage): Document them.
36420         (pobase, po_domain): New variables.
36421         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
36422         DEFAULT_TEXT_DOMAIN.
36423         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
36424         (func_import): Consider pobase and po_domain. Create a po/ directory.
36425         (func_create_testdir): Set pobase and po_domain to empty.
36426         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
36427         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
36428
36429 2007-07-18  Bruno Haible  <bruno@clisp.org>
36430
36431         * gnulib-tool (func_get_automake_snippet): Synthesize also an
36432         EXTRA_DIST augmentation for files in build-aux/.
36433
36434 2007-07-16  Bruno Haible  <bruno@clisp.org>
36435
36436         * modules/lseek (License): Use the synonymous term "LGPLv2+".
36437         * modules/getdelim (License): Likewise.
36438
36439 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36440
36441         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
36442         * modules/d-type (License): Likewise.
36443         * modules/extensions (License): Likewise.
36444         * modules/fnmatch (License): Likewise.
36445         * modules/fseeko (License): Likewise.
36446         * modules/getaddrinfo (License): Likewise.
36447         * modules/getline (License): Likewise.
36448         * modules/getlogin_r (License): Likewise.
36449         * modules/getpass (License): Likewise.
36450         * modules/gettimeofday (License): Likewise.
36451         * modules/glob (License): Likewise.
36452         * modules/inet_ntop (License): Likewise.
36453         * modules/malloc (License): Likewise.
36454         * modules/malloca (License): Likewise.
36455         * modules/memmem (License): Likewise.
36456         * modules/mempcpy (License): Likewise.
36457         * modules/memset (License): Likewise.
36458         * modules/minmax (License): Likewise.
36459         * modules/mktime (License): Likewise.
36460         * modules/netinet_in (License): Likewise.
36461         * modules/pathmax (License): Likewise.
36462         * modules/poll (License): Likewise.
36463         * modules/regex (License): Likewise.
36464         * modules/snprintf (License): Likewise.
36465         * modules/stdbool (License): Likewise.
36466         * modules/stdint (License): Likewise.
36467         * modules/stdio (License): Likewise.
36468         * modules/strcase (License): Likewise.
36469         * modules/strcasestr (License): Likewise.
36470         * modules/strdup (License): Likewise.
36471         * modules/string (License): Likewise.
36472         * modules/strndup (License): Likewise.
36473         * modules/strnlen (License): Likewise.
36474         * modules/strpbrk (License): Likewise.
36475         * modules/strptime (License): Likewise.
36476         * modules/strsep (License): Likewise.
36477         * modules/sys_select (License): Likewise.
36478         * modules/sys_socket (License): Likewise.
36479         * modules/sys_stat (License): Likewise.
36480         * modules/sys_time (License): Likewise.
36481         * modules/time (License): Likewise.
36482         * modules/time_r (License): Likewise.
36483         * modules/timegm (License): Likewise.
36484         * modules/unistd (License): Likewise.
36485         * modules/vsnprintf (License): Likewise.
36486         * modules/wctype (License): Likewise.
36487
36488 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36489
36490         * modules/argz (License): LGPLv2+.
36491
36492 2007-07-15  Karl Berry  <karl@gnu.org>
36493
36494         * doc/gnulib.texi: revise node structure per new fdl.texi.
36495
36496 2007-07-14  Bruno Haible  <bruno@clisp.org>
36497
36498         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
36499         the output file.
36500         * lib/uniname/uninames.h: Regenerated.
36501
36502 2007-07-14  Karl Berry  <karl@gnu.org>
36503
36504         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
36505         omitting sectioning and index commands.
36506
36507 2007-07-13  Bruno Haible  <bruno@clisp.org>
36508
36509         New gnulib-tool option --more-symlinks.
36510         * gnulib-tool (func_usage): Document --more-symlinks.
36511         (do_copyrights): New variable.
36512         Recognize option --more-symlinks.
36513         (func_import): Don't add a copyright notice transform to
36514         sed_transform_lib_file if do_copyrights is empty.
36515
36516 2007-07-13  Bruno Haible  <bruno@clisp.org>
36517
36518         * lib/vasnprintf.c (decimal_point_char): Define also if
36519         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
36520         && !NEED_PRINTF_DIRECTIVE_A.
36521         Reported by Clemens Koller <clemens.koller@anagramm.de> via
36522         Gary V. Vaughan <gary@gnu.org>.
36523
36524 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
36525
36526         * lib/inttypes_.h: Undo previous change, since it was fixed
36527         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
36528
36529 2007-07-13  Bruno Haible  <bruno@clisp.org>
36530
36531         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
36532         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
36533
36534 2007-07-13  Jim Meyering  <jim@meyering.net>
36535
36536         df: Don't fail for Tru64's "file-on-file mount".
36537         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
36538         so we fall through and use statfs instead.  Details here:
36539         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
36540         Reported by Albert Chin.
36541
36542 2007-07-13  Bruno Haible  <bruno@clisp.org>
36543
36544         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
36545         * modules/configmake (License): Likewise.
36546         * modules/gettext (License): Likewise.
36547         * modules/gettext-h (License): Likewise.
36548         * modules/include_next (License): Likewise.
36549         * modules/link-warning (License): Likewise.
36550         * modules/localcharset (License): Likewise.
36551         * modules/localename (License): Likewise.
36552         * modules/lock (License): Likewise.
36553         * modules/relocatable-lib-lgpl (License): Likewise.
36554         * modules/size_max (License): Likewise.
36555         * modules/vasnprintf (License): Likewise.
36556         * modules/wchar (License): Likewise.
36557         * modules/xsize (License): Likewise.
36558
36559 2007-07-13  Bruno Haible  <bruno@clisp.org>
36560
36561         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
36562         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
36563
36564 2007-07-12  Bruno Haible  <bruno@clisp.org>
36565
36566         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
36567         in the modules files.
36568
36569 2007-07-11  Karl Berry  <karl@gnu.org>
36570
36571         * MODULES.html.sh (func_module): use
36572          sed -e '\|^'"${includefile}"'$|d'
36573          instead of /.../d, to avoid errors on $includefile's containing /.
36574
36575 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
36576
36577         * gnulib-tool (func_import): Avoid duplication of --avoid
36578         statements
36579         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
36580         names to `_' in variable names.
36581
36582 2007-07-10  Eric Blake  <ebb9@byu.net>
36583
36584         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
36585         * NEWS: Document this change.
36586
36587 2007-07-08  Bruno Haible  <bruno@clisp.org>
36588
36589         Update to Unicode 5.0.
36590         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
36591         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
36592         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
36593         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
36594         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
36595         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
36596         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
36597         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
36598         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
36599         U+10A3F, U+1D242..U+1D244.
36600         (nonspacing_table_ind): Update.
36601         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
36602         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
36603
36604 2007-07-08  Bruno Haible  <bruno@clisp.org>
36605
36606         Update to Unicode 5.0.
36607         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
36608         code transform. Extend the name index field of unicode_name_to_code and
36609         unicode_code_to_name from 16 to 24 bits.
36610         * lib/uniname/uniname.c (unicode_character_name,
36611         unicode_name_character): Add the range 0x12xxx to the code transform.
36612         * lib/uniname/uninames.h: Regenerated.
36613         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
36614
36615 2007-07-07  Bruno Haible  <bruno@clisp.org>
36616
36617         * modules/wcwidth-tests: New file.
36618         * tests/test-wcwidth.c: New file.
36619
36620         Work around MacOS X wcwidth() bug.
36621         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
36622         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
36623         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
36624         original wcwidth in non-UTF-8 locales.
36625         * modules/wcwidth (Depends-on): Add localcharset, streq,
36626         uniwidth/width.
36627         * doc/functions/wcwidth.texi: Update.
36628
36629 2007-07-07  Bruno Haible  <bruno@clisp.org>
36630
36631         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
36632         (wcwidth): New declaration.
36633         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
36634         macros.
36635         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
36636         here. Prepare for creating <wchar.h> unconditionally.
36637         * modules/wchar (Depends-on): Add link-warning.
36638         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
36639         REPLACE_WCWIDTH, and GL_LINK_WARNING.
36640         * lib/wcwidth.h: Remove file.
36641         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
36642         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
36643         * modules/wcwidth (Files): Remove lib/wcwidth.h.
36644         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
36645         (Include): Replace wcwidth.h with <wchar.h>.
36646         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
36647         * lib/mbchar.h: Don't include wcwidth.h.
36648         * lib/mbswidth.c: Likewise.
36649         * NEWS: Mention the change.
36650
36651 2007-07-07  Bruno Haible  <bruno@clisp.org>
36652
36653         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
36654         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
36655         definition with an external declaration.
36656         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
36657         defined as a function. Remove AC_C_INLINE requirement.
36658         * modules/wcwidth (Files): Add lib/wcwidth.c.
36659         (Makefile.am): Remove redundant statement.
36660
36661 2007-07-07  Bruno Haible  <bruno@clisp.org>
36662
36663         * MODULES.html.sh (Unicode string functions): Add the new modules.
36664
36665         * tests/uniwidth/test-u32-strwidth.c: New file.
36666         * modules/uniwidth/u32-strwidth-tests: New file.
36667
36668         * lib/uniwidth/u32-strwidth.c: New file.
36669         * modules/uniwidth/u32-strwidth: New file.
36670
36671         * tests/uniwidth/test-u16-strwidth.c: New file.
36672         * modules/uniwidth/u16-strwidth-tests: New file.
36673
36674         * lib/uniwidth/u16-strwidth.c: New file.
36675         * modules/uniwidth/u16-strwidth: New file.
36676
36677         * tests/uniwidth/test-u8-strwidth.c: New file.
36678         * modules/uniwidth/u8-strwidth-tests: New file.
36679
36680         * lib/uniwidth/u8-strwidth.c: New file.
36681         * modules/uniwidth/u8-strwidth: New file.
36682
36683         * tests/uniwidth/test-u32-width.c: New file.
36684         * modules/uniwidth/u32-width-tests: New file.
36685
36686         * lib/uniwidth/u32-width.c: New file.
36687         * modules/uniwidth/u32-width: New file.
36688
36689         * tests/uniwidth/test-u16-width.c: New file.
36690         * modules/uniwidth/u16-width-tests: New file.
36691
36692         * lib/uniwidth/u16-width.c: New file.
36693         * modules/uniwidth/u16-width: New file.
36694
36695         * tests/uniwidth/test-u8-width.c: New file.
36696         * modules/uniwidth/u8-width-tests: New file.
36697
36698         * lib/uniwidth/u8-width.c: New file.
36699         * modules/uniwidth/u8-width: New file.
36700
36701         * tests/uniwidth/test-uc_width.c: New file.
36702         * modules/uniwidth/width-tests: New file.
36703
36704         * lib/uniwidth/width.c: New file, from GNU libiconv.
36705         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
36706         * modules/uniwidth/width: New file.
36707
36708         * lib/uniwidth.h: New file, from GNU libiconv.
36709         * modules/uniwidth/base: New file.
36710
36711 2007-07-07  Bruno Haible  <bruno@clisp.org>
36712
36713         * lib/uniname.h: New file, from GNU gettext.
36714         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
36715         * lib/uniname/uninames.h: New file, from GNU gettext.
36716         * lib/uniname/uniname.c: New file, from GNU gettext.
36717         * tests/uniname/test-uninames.sh: New file.
36718         * tests/uniname/test-uninames.c: New file, from GNU gettext.
36719         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
36720         * modules/uniname/base: New file.
36721         * modules/uniname/uniname: New file.
36722         * modules/uniname/uniname-tests: New file.
36723         * MODULES.html.sh (Unicode string functions): Add the new modules.
36724
36725 2007-07-06  Bruno Haible  <bruno@clisp.org>
36726
36727         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
36728
36729 2007-07-06  Bruno Haible  <bruno@clisp.org>
36730
36731         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
36732         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
36733         includes <cygwin/sys_time.h> which includes <sys/select.h> which
36734         include <sys/time.h>.
36735         Reported by Eric Blake.
36736
36737 2007-07-06  Eric Blake  <ebb9@byu.net>
36738
36739         Fix testing canonicalize on cygwin.
36740         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
36741         Revert patch from 2007-06-19.
36742         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
36743         canonicalize module is also in use.
36744         * tests/test-canonicalize.c: New file.
36745         * tests/test-canonicalize.sh: Likewise.
36746         * modules/canonicalize-tests: Likewise.
36747
36748 2007-07-06  Jim Meyering  <jim@meyering.net>
36749
36750         * lib/getugroups.c (getugroups): Detect getgrent failure.
36751         Adjust comment to reflect reality: this function may return -1.
36752
36753 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
36754
36755         * build-aux/bootstrap (TP_URL,get_translations): Update to use
36756         the new TP address.
36757         (usage): Fix typo
36758         (gnulib_mk): New variable.
36759
36760 2007-07-05  Jim Meyering  <jim@meyering.net>
36761
36762         Don't let endgrent clobber errno, no matter how improbable.
36763         * lib/getugroups.c (getugroups): Save and restore errno around
36764         endgrent call.
36765
36766         Close the group DB even when failing with 2^31 or more members.
36767         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
36768
36769 2007-07-04  Jim Meyering  <jim@meyering.net>
36770
36771         * lib/getugroups.h: New file.
36772         * lib/getugroups.c: Include "getugroups.h".
36773         Remove uses of "register" keyword.
36774         Move local variable, "cp", down into scope where used.
36775         Give "username" parameter the "const" attribute.
36776         * modules/getugroups (Files): Add lib/getugroups.h
36777
36778 2007-07-04  Karl Berry  <karl@gnu.org>
36779
36780         * MODULES.html.sh (func_all_modules): Complete rename of
36781         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
36782
36783 2007-07-02  Bruno Haible  <bruno@clisp.org>
36784
36785         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
36786         mode, when inttypes.h comes from gnulib.
36787         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
36788
36789 2007-07-02  Simon Josefsson  <simon@josefsson.org>
36790
36791         * NEWS: Mention lgpl module name change.
36792
36793         * modules/lgpl-2.1: Renamed from lgpl.
36794
36795         * NEWS: Mention gpl module name change.
36796
36797         * modules/gpl-3.0: New file, based on gpl-2.0.
36798
36799         * modules/gpl-2.0: Renamed from gpl.
36800
36801         * modules/gpl: Fix filename, doc/gpl.texi is now found at
36802         doc/gpl-2.0.texi.
36803
36804 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
36805
36806         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
36807         #define __STDC_LIMIT_MACROS temporarily while including
36808         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
36809         Problem reported by Joel E. Denny in
36810         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
36811
36812 2007-07-01  Bruno Haible  <bruno@clisp.org>
36813
36814         * lib/unistdio.h: New file.
36815         * lib/unistdio/u-asnprintf.h: New file.
36816         * lib/unistdio/u-asprintf.h: New file.
36817         * lib/unistdio/u-printf-args.c: New file.
36818         * lib/unistdio/u-printf-args.h: New file.
36819         * lib/unistdio/u-printf-parse.h: New file.
36820         * lib/unistdio/u-snprintf.h: New file.
36821         * lib/unistdio/u-sprintf.h: New file.
36822         * lib/unistdio/u-vasprintf.h: New file.
36823         * lib/unistdio/u-vsnprintf.h: New file.
36824         * lib/unistdio/u-vsprintf.h: New file.
36825         * lib/unistdio/ulc-asnprintf.c: New file.
36826         * lib/unistdio/ulc-asprintf.c: New file.
36827         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
36828         * lib/unistdio/ulc-printf-parse.c: New file.
36829         * lib/unistdio/ulc-snprintf.c: New file.
36830         * lib/unistdio/ulc-sprintf.c: New file.
36831         * lib/unistdio/ulc-vasnprintf.c: New file.
36832         * lib/unistdio/ulc-vasprintf.c: New file.
36833         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
36834         * lib/unistdio/ulc-vsnprintf.c: New file.
36835         * lib/unistdio/ulc-vsprintf.c: New file.
36836         * lib/unistdio/u8-asnprintf.c: New file.
36837         * lib/unistdio/u8-asprintf.c: New file.
36838         * lib/unistdio/u8-printf-parse.c: New file.
36839         * lib/unistdio/u8-snprintf.c: New file.
36840         * lib/unistdio/u8-sprintf.c: New file.
36841         * lib/unistdio/u8-vasnprintf.c: New file.
36842         * lib/unistdio/u8-vasprintf.c: New file.
36843         * lib/unistdio/u8-vsnprintf.c: New file.
36844         * lib/unistdio/u8-vsprintf.c: New file.
36845         * lib/unistdio/u8-u8-asnprintf.c: New file.
36846         * lib/unistdio/u8-u8-asprintf.c: New file.
36847         * lib/unistdio/u8-u8-snprintf.c: New file.
36848         * lib/unistdio/u8-u8-sprintf.c: New file.
36849         * lib/unistdio/u8-u8-vasnprintf.c: New file.
36850         * lib/unistdio/u8-u8-vasprintf.c: New file.
36851         * lib/unistdio/u8-u8-vsnprintf.c: New file.
36852         * lib/unistdio/u8-u8-vsprintf.c: New file.
36853         * lib/unistdio/u16-asnprintf.c: New file.
36854         * lib/unistdio/u16-asprintf.c: New file.
36855         * lib/unistdio/u16-printf-parse.c: New file.
36856         * lib/unistdio/u16-snprintf.c: New file.
36857         * lib/unistdio/u16-sprintf.c: New file.
36858         * lib/unistdio/u16-vasnprintf.c: New file.
36859         * lib/unistdio/u16-vasprintf.c: New file.
36860         * lib/unistdio/u16-vsnprintf.c: New file.
36861         * lib/unistdio/u16-vsprintf.c: New file.
36862         * lib/unistdio/u16-u16-asnprintf.c: New file.
36863         * lib/unistdio/u16-u16-asprintf.c: New file.
36864         * lib/unistdio/u16-u16-snprintf.c: New file.
36865         * lib/unistdio/u16-u16-sprintf.c: New file.
36866         * lib/unistdio/u16-u16-vasnprintf.c: New file.
36867         * lib/unistdio/u16-u16-vasprintf.c: New file.
36868         * lib/unistdio/u16-u16-vsnprintf.c: New file.
36869         * lib/unistdio/u16-u16-vsprintf.c: New file.
36870         * lib/unistdio/u32-asnprintf.c: New file.
36871         * lib/unistdio/u32-asprintf.c: New file.
36872         * lib/unistdio/u32-printf-parse.c: New file.
36873         * lib/unistdio/u32-snprintf.c: New file.
36874         * lib/unistdio/u32-sprintf.c: New file.
36875         * lib/unistdio/u32-vasnprintf.c: New file.
36876         * lib/unistdio/u32-vasprintf.c: New file.
36877         * lib/unistdio/u32-vsnprintf.c: New file.
36878         * lib/unistdio/u32-vsprintf.c: New file.
36879         * lib/unistdio/u32-u32-asnprintf.c: New file.
36880         * lib/unistdio/u32-u32-asprintf.c: New file.
36881         * lib/unistdio/u32-u32-snprintf.c: New file.
36882         * lib/unistdio/u32-u32-sprintf.c: New file.
36883         * lib/unistdio/u32-u32-vasnprintf.c: New file.
36884         * lib/unistdio/u32-u32-vasprintf.c: New file.
36885         * lib/unistdio/u32-u32-vsnprintf.c: New file.
36886         * lib/unistdio/u32-u32-vsprintf.c: New file.
36887         * tests/unistdio/test-ulc-asnprintf1.c: New file.
36888         * tests/unistdio/test-ulc-asnprintf1.h: New file.
36889         * tests/unistdio/test-ulc-printf1.h: New file.
36890         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
36891         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
36892         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
36893         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
36894         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
36895         * tests/unistdio/test-ulc-vasprintf1.c: New file.
36896         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
36897         * tests/unistdio/test-ulc-vsprintf1.c: New file.
36898         * tests/unistdio/test-u8-asnprintf1.c: New file.
36899         * tests/unistdio/test-u8-asnprintf1.h: New file.
36900         * tests/unistdio/test-u8-printf1.h: New file.
36901         * tests/unistdio/test-u8-vasnprintf1.c: New file.
36902         * tests/unistdio/test-u8-vasnprintf2.c: New file.
36903         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
36904         * tests/unistdio/test-u8-vasnprintf3.c: New file.
36905         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
36906         * tests/unistdio/test-u8-vasprintf1.c: New file.
36907         * tests/unistdio/test-u8-vsnprintf1.c: New file.
36908         * tests/unistdio/test-u8-vsprintf1.c: New file.
36909         * tests/unistdio/test-u16-asnprintf1.c: New file.
36910         * tests/unistdio/test-u16-asnprintf1.h: New file.
36911         * tests/unistdio/test-u16-printf1.h: New file.
36912         * tests/unistdio/test-u16-vasnprintf1.c: New file.
36913         * tests/unistdio/test-u16-vasnprintf2.c: New file.
36914         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
36915         * tests/unistdio/test-u16-vasnprintf3.c: New file.
36916         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
36917         * tests/unistdio/test-u16-vasprintf1.c: New file.
36918         * tests/unistdio/test-u16-vsnprintf1.c: New file.
36919         * tests/unistdio/test-u16-vsprintf1.c: New file.
36920         * tests/unistdio/test-u32-asnprintf1.c: New file.
36921         * tests/unistdio/test-u32-asnprintf1.h: New file.
36922         * tests/unistdio/test-u32-printf1.h: New file.
36923         * tests/unistdio/test-u32-vasnprintf1.c: New file.
36924         * tests/unistdio/test-u32-vasnprintf2.c: New file.
36925         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
36926         * tests/unistdio/test-u32-vasnprintf3.c: New file.
36927         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
36928         * tests/unistdio/test-u32-vasprintf1.c: New file.
36929         * tests/unistdio/test-u32-vsnprintf1.c: New file.
36930         * tests/unistdio/test-u32-vsprintf1.c: New file.
36931         * modules/unistdio/base: New file.
36932         * modules/unistdio/u-printf-args: New file.
36933         * modules/unistdio/ulc-asnprintf: New file.
36934         * modules/unistdio/ulc-asprintf: New file.
36935         * modules/unistdio/ulc-fprintf: New file.
36936         * modules/unistdio/ulc-printf-parse: New file.
36937         * modules/unistdio/ulc-snprintf: New file.
36938         * modules/unistdio/ulc-sprintf: New file.
36939         * modules/unistdio/ulc-vasnprintf: New file.
36940         * modules/unistdio/ulc-vasprintf: New file.
36941         * modules/unistdio/ulc-vfprintf: New file.
36942         * modules/unistdio/ulc-vsnprintf: New file.
36943         * modules/unistdio/ulc-vsprintf: New file.
36944         * modules/unistdio/u8-asnprintf: New file.
36945         * modules/unistdio/u8-asprintf: New file.
36946         * modules/unistdio/u8-printf-parse: New file.
36947         * modules/unistdio/u8-snprintf: New file.
36948         * modules/unistdio/u8-sprintf: New file.
36949         * modules/unistdio/u8-vasnprintf: New file.
36950         * modules/unistdio/u8-vasprintf: New file.
36951         * modules/unistdio/u8-vsnprintf: New file.
36952         * modules/unistdio/u8-vsprintf: New file.
36953         * modules/unistdio/u8-u8-asnprintf: New file.
36954         * modules/unistdio/u8-u8-asprintf: New file.
36955         * modules/unistdio/u8-u8-snprintf: New file.
36956         * modules/unistdio/u8-u8-sprintf: New file.
36957         * modules/unistdio/u8-u8-vasnprintf: New file.
36958         * modules/unistdio/u8-u8-vasprintf: New file.
36959         * modules/unistdio/u8-u8-vsnprintf: New file.
36960         * modules/unistdio/u8-u8-vsprintf: New file.
36961         * modules/unistdio/u16-asnprintf: New file.
36962         * modules/unistdio/u16-asprintf: New file.
36963         * modules/unistdio/u16-printf-parse: New file.
36964         * modules/unistdio/u16-snprintf: New file.
36965         * modules/unistdio/u16-sprintf: New file.
36966         * modules/unistdio/u16-vasnprintf: New file.
36967         * modules/unistdio/u16-vasprintf: New file.
36968         * modules/unistdio/u16-vsnprintf: New file.
36969         * modules/unistdio/u16-vsprintf: New file.
36970         * modules/unistdio/u16-u16-asnprintf: New file.
36971         * modules/unistdio/u16-u16-asprintf: New file.
36972         * modules/unistdio/u16-u16-snprintf: New file.
36973         * modules/unistdio/u16-u16-sprintf: New file.
36974         * modules/unistdio/u16-u16-vasnprintf: New file.
36975         * modules/unistdio/u16-u16-vasprintf: New file.
36976         * modules/unistdio/u16-u16-vsnprintf: New file.
36977         * modules/unistdio/u16-u16-vsprintf: New file.
36978         * modules/unistdio/u32-asnprintf: New file.
36979         * modules/unistdio/u32-asprintf: New file.
36980         * modules/unistdio/u32-printf-parse: New file.
36981         * modules/unistdio/u32-snprintf: New file.
36982         * modules/unistdio/u32-sprintf: New file.
36983         * modules/unistdio/u32-vasnprintf: New file.
36984         * modules/unistdio/u32-vasprintf: New file.
36985         * modules/unistdio/u32-vsnprintf: New file.
36986         * modules/unistdio/u32-vsprintf: New file.
36987         * modules/unistdio/u32-u32-asnprintf: New file.
36988         * modules/unistdio/u32-u32-asprintf: New file.
36989         * modules/unistdio/u32-u32-snprintf: New file.
36990         * modules/unistdio/u32-u32-sprintf: New file.
36991         * modules/unistdio/u32-u32-vasnprintf: New file.
36992         * modules/unistdio/u32-u32-vasprintf: New file.
36993         * modules/unistdio/u32-u32-vsnprintf: New file.
36994         * modules/unistdio/u32-u32-vsprintf: New file.
36995         * modules/unistdio/ulc-asnprintf-tests: New file.
36996         * modules/unistdio/ulc-vasnprintf-tests: New file.
36997         * modules/unistdio/ulc-vasprintf-tests: New file.
36998         * modules/unistdio/ulc-vsnprintf-tests: New file.
36999         * modules/unistdio/ulc-vsprintf-tests: New file.
37000         * modules/unistdio/u8-asnprintf-tests: New file.
37001         * modules/unistdio/u8-vasnprintf-tests: New file.
37002         * modules/unistdio/u8-vasprintf-tests: New file.
37003         * modules/unistdio/u8-vsnprintf-tests: New file.
37004         * modules/unistdio/u8-vsprintf-tests: New file.
37005         * modules/unistdio/u16-asnprintf-tests: New file.
37006         * modules/unistdio/u16-vasnprintf-tests: New file.
37007         * modules/unistdio/u16-vasprintf-tests: New file.
37008         * modules/unistdio/u16-vsnprintf-tests: New file.
37009         * modules/unistdio/u16-vsprintf-tests: New file.
37010         * modules/unistdio/u32-asnprintf-tests: New file.
37011         * modules/unistdio/u32-vasnprintf-tests: New file.
37012         * modules/unistdio/u32-vasprintf-tests: New file.
37013         * modules/unistdio/u32-vsnprintf-tests: New file.
37014         * modules/unistdio/u32-vsprintf-tests: New file.
37015         * MODULES.html.sh (Unicode string functions): Add the new modules.
37016
37017 2007-07-01  Bruno Haible  <bruno@clisp.org>
37018
37019         * lib/sprintf.c (sprintf): Limit the available length estimation,
37020         to avoid address wraparound.
37021         * lib/vsprintf.c (vsprintf): Likewise.
37022         * modules/sprintf-posix (Dependencies): Add stdint.
37023         * modules/vsprintf-posix (Dependencies): Likewise.
37024
37025 2007-07-01  Bruno Haible  <bruno@clisp.org>
37026
37027         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
37028         Windows PATH as well. Conservative double-quoting. Comments.
37029
37030 2007-07-01  Bruno Haible  <bruno@clisp.org>
37031             Eric Blake  <ebb9@byu.net>
37032             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37033
37034         * gnulib-tool (self_abspathname): Fix algorithm to cope with
37035         empty components in $PATH, denoting '.'.
37036
37037 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37038
37039         * gnulib-tool: Fix indentation.
37040         (func_create_megatestdir): Likewise.
37041         Report by Bruno Haible.
37042
37043 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37044
37045         Sync from Automake.
37046         * build-aux/gnupload: Fix shell portability issues with for loops.
37047         Report by Karl Berry.
37048
37049 2007-06-29  Simon Josefsson  <simon@josefsson.org>
37050
37051         * build-aux/maint.mk (POURL): Use translationproject.org.
37052
37053 2007-06-27  Simon Josefsson  <simon@josefsson.org>
37054             Bruno Haible  <bruno@clisp.org>
37055
37056         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
37057         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
37058         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
37059         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
37060         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
37061
37062 2007-06-27  Bruno Haible  <bruno@clisp.org>
37063
37064         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
37065         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
37066
37067 2007-06-26  Karl Berry  <karl@gnu.org>
37068
37069         * MODULES.html.sh: remove xreadlink-with-size.
37070
37071 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
37072
37073         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
37074         method that I hope also handles the double-include problem noted
37075         by Bruno Haible in
37076         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
37077
37078 2007-06-23  Bruno Haible  <bruno@clisp.org>
37079
37080         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
37081         Don't let the 'mostlyclean' target fail if the last subdirectory could
37082         not be removed.
37083         Reported by Karl Berry.
37084
37085 2007-06-23  Bruno Haible  <bruno@clisp.org>
37086
37087         * gnulib-tool (echo): Add a speedier workaround for ksh.
37088         * tests/test-echo.sh: Likewise.
37089
37090 2007-06-23  Bruno Haible  <bruno@clisp.org>
37091
37092         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
37093         * tests/test-echo.sh: Likewise.
37094
37095 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37096
37097         * gnulib-tool (IFS): Initialize early, so we don't set it to
37098         empty later.
37099         (self_abspathname): Rewrite algorithm to set it, reindent.
37100         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
37101         (func_create_megatestdir): Merge some sed scripts.
37102
37103 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
37104
37105         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
37106         exposed by Sun Studio 11 cc on Solaris 8.
37107
37108 2007-06-22  Bruno Haible  <bruno@clisp.org>
37109
37110         * gnulib-tool (echo): Ensure the echo primitive does not interpret
37111         backslashes.
37112         * tests/test-echo.sh: New file.
37113
37114 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37115
37116         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
37117         simplify `sed_replace_build_aux' scripts, they are portable but
37118         echoing them with `echo' is not.
37119         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
37120
37121 2007-06-21  Karl Berry  <karl@gnu.org>
37122
37123         * config/srclist.txt: guess we can't handle the licenses via
37124         srclist at the moment.
37125
37126 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
37127
37128         * MODULES.html.sh: Add include_next.
37129         * modules/include_next: New file.
37130
37131 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
37132
37133         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
37134         INCLUDE_NEXT.
37135         (gl_CHECK_NEXT_HEADERS): New macro.
37136         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
37137         the obsolescent gl_ABSOLUTE_HEADER.
37138         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
37139         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
37140         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
37141         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
37142         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
37143         * m4/math_h.m4 (gl_MATH_H): Likewise.
37144         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
37145         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
37146         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
37147         * m4/stdint.m4 (gl_STDINT_H): Likewise.
37148         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
37149         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
37150         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
37151         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
37152         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
37153         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
37154         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
37155         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
37156         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
37157         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
37158         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
37159         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
37160         * m4/inttypes.m4 (gl_INTTYPES_H): Define
37161         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
37162         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
37163         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
37164         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
37165         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
37166         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
37167         * lib/float_.h: Likewise.
37168         * lib/inttypes_.h: Likewise.
37169         * lib/math_.h: Likewise.
37170         * lib/search_.h: Likewise.
37171         * lib/signal_.h: Likewise.
37172         * lib/stdint_.h: Likewise.
37173         * lib/stdio_.h: Likewise.
37174         * lib/stdlib_.h: Likewise.
37175         * lib/string_.h: Likewise.
37176         * lib/sys_stat_.h: Likewise.
37177         * lib/sys_time_.h: Likewise.
37178         * lib/time_.h: Likewise.
37179         * lib/unistd_.h: Likewise.
37180         * lib/wchar_.h: Likewise.
37181         * lib/wctype_.h: Likewise.
37182         * lib/dirent_.h: Likewise.
37183         * lib/iconv_.h: Likewise.
37184         * lib/locale_.h: Likewise.
37185         * lib/netinet_in_.h: Likewise.
37186         * lib/sys_select_.h: Likewise.
37187         * lib/sys_socket_.h: Likewise.
37188         * lib/sysexits_.h: Likewise.
37189         * modules/fcntl (Depends-on): Depend on include_next, not
37190         absolute_header.
37191         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
37192         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
37193         * modules/fchdir: Likewise.
37194         * modules/float: Likewise.
37195         * modules/iconv_open: Likewise.
37196         * modules/inttypes: Likewise.
37197         * modules/locale: Likewise.
37198         * modules/math: Likewise.
37199         * modules/netinet_in: Likewise.
37200         * modules/search: Likewise.
37201         * modules/signal: Likewise.
37202         * modules/stdint: Likewise.
37203         * modules/stdio: Likewise.
37204         * modules/stdlib: Likewise.
37205         * modules/string: Likewise.
37206         * modules/sys_select: Likewise.
37207         * modules/sys_socket: Likewise.
37208         * modules/sys_stat: Likewise.
37209         * modules/sys_time: Likewise.
37210         * modules/sysexits: Likewise.
37211         * modules/time: Likewise.
37212         * modules/unistd: Likewise.
37213         * modules/wchar: Likewise.
37214         * modules/wctype: Likewise.
37215         * modules/sys_stat: Change maintainer to "all".
37216         * modules/unistd: Likewise.
37217
37218 2007-06-20  Karl Berry  <karl@gnu.org>
37219
37220         * config/srclist.txt: track www changes in license files.
37221
37222 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
37223
37224         * build-aux/bootstrap: Remove stray dot.
37225         Make sure build_aux settings are honored when linking
37226         gnulib_extra_files.
37227
37228 2007-06-19  Eric Blake  <ebb9@byu.net>
37229
37230         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
37231         Allow compilation on cygwin.
37232
37233 2007-06-19  Jim Meyering  <jim@meyering.net>
37234
37235         xreadlink-with-size: Remove module.  No longer used.
37236         Ex-callers now use xreadlink or mreadlink-with-size.
37237         * modules/xreadlink-with-size: Remove module.
37238         * lib/xreadlink-with-size.c: Remove file.
37239         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
37240         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
37241         just before the function definition *is* accurate.
37242
37243         Eliminate one way canonicalize_filename_mode could exit.
37244         * lib/canonicalize.c (canonicalize_filename_mode):
37245         Use mreadlink_with_size, not xreadlink_with_size.
37246
37247 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
37248
37249         Detect porting problems to FreeBSD/arm, which has time_t wider than
37250         long int.  Original problem reported for GNU diff by Xin Li in
37251         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
37252         * modules/getdate (Depends-on): Add intprops, verify.
37253         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
37254         is an integer type no wider than long int.
37255
37256 2007-06-18  Jim Meyering  <jim@meyering.net>
37257
37258         New module: mreadlink-with-size.
37259         * MODULES.html.sh: Add mreadlink-with-size.
37260         * modules/mreadlink-with-size: New module
37261         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
37262         not xreadlink-with-size.
37263         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
37264
37265 2007-06-16  Bruno Haible  <bruno@clisp.org>
37266
37267         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
37268         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
37269         Reported by Gary V. Vaughan <gary@gnu.org>.
37270
37271 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
37272
37273         Revamp lchown so that it lives in unistd.h where it belongs.
37274         * lib/lchown.h: Remove.
37275         * lib/dirchownmod.c: Don't include lib/lchown.h.
37276         * lib/fchownat.c: Likewise.
37277         * lib/openat.c: Likewise.
37278         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
37279         does not follow symlinks.
37280         (EOPNOTSUPP): Define if not defined.
37281         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
37282         is defined to 0.
37283         (lchown): New decl.
37284         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
37285         Do not check for lchown decl.
37286         Set REPLACE_LCHOWN.
37287         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
37288         REPLACE_LCHOWN.
37289         * modules/chown: Make it clear it follows symlinks.
37290         * modules/lchown: Make it clear it doesn't follow symlinks.
37291         (Files): Remove lib/lchown.h
37292         (Depends-on): Add unistd.
37293         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
37294         (Include): Include <unistd.h>, not "lchown.h".
37295         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
37296         REPLACE_LCHOWN.
37297
37298 2007-06-15  Jim Meyering  <jim@meyering.net>
37299
37300         Change license (GPL to LGPL) of fsusage and dependents.
37301         * modules/fsusage (License): Change to LGPL.
37302         * modules/full-read (License): Likewise.
37303         * modules/full-write (License): Likewise.
37304         * modules/safe-read (License): Likewise.
37305         * modules/safe-write (License): Likewise.
37306
37307 2007-06-14  Ben Pfaff  <blp@gnu.org>
37308
37309         Missing part of allocsa -> malloca transition.
37310         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
37311         gl_MALLOCA.
37312
37313 2007-06-12  Bruno Haible  <bruno@clisp.org>
37314
37315         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
37316         to ia64, x86_64, i386.
37317         Reported by Eric Blake.
37318
37319 2007-06-12  Bruno Haible  <bruno@clisp.org>
37320
37321         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
37322         cross-compiling to x86_64.
37323
37324 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
37325
37326         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
37327         glitch reported by Ralf Wildenhues in
37328         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
37329
37330         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
37331         Vin Shelton.
37332
37333 2007-06-11  Bruno Haible  <bruno@clisp.org>
37334
37335         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
37336         replacement string.
37337         Reported by Eric Blake.
37338
37339 2007-06-10  Bruno Haible  <bruno@clisp.org>
37340
37341         Prepare vasnprintf code for use with Unicode strings.
37342         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
37343         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
37344         TYPE_U32_STRING.
37345         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
37346         a_u32_string variants.
37347         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
37348         * lib/printf-args.c: Don't include config.h and the specification
37349         header if PRINTF_FETCHARGS is already defined.
37350         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
37351         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
37352         TYPE_U16_STRING, TYPE_U32_STRING.
37353         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
37354         u16_directive, u16_directives, u32_directive, u32_directives): New
37355         types.
37356         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
37357         New declarations.
37358         * lib/printf-parse.c: Don't include config.h and the specification
37359         header if PRINTF_PARSE is already defined. Eliminate the set of
37360         parameters for WIDE_CHAR_VERSION; the user of this file must provide
37361         them now. Include c-ctype.h.
37362         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
37363         directive and CHAR_T_ONLY_ASCII.
37364         * lib/vasnprintf.c: Don't include config.h and the specification header
37365         if VASNPRINTF is already defined.
37366         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
37367         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
37368         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
37369         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
37370         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
37371         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
37372         code accordingly.
37373         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
37374         pad_ourselves also in this case, with the 'c' and 's' directives, and
37375         with a different notion of "width".
37376         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
37377
37378 2007-06-10  Bruno Haible  <bruno@clisp.org>
37379
37380         * modules/unistr/u32-mbsnlen: New file.
37381         * lib/unistr/u32-mbsnlen.c: New file.
37382
37383         * modules/unistr/u16-mbsnlen: New file.
37384         * lib/unistr/u16-mbsnlen.c: New file.
37385
37386         * modules/unistr/u8-mbsnlen: New file.
37387         * lib/unistr/u8-mbsnlen.c: New file.
37388
37389         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
37390         declarations.
37391
37392 2007-06-10  Bruno Haible  <bruno@clisp.org>
37393
37394         * lib/string_.h (mbsnlen): New declaration.
37395         * lib/mbsnlen.c: New file.
37396         * m4/mbsnlen.m4: New file.
37397         * modules/mbsnlen: New file.
37398         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
37399         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
37400         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
37401
37402 2007-06-10  Bruno Haible  <bruno@clisp.org>
37403
37404         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
37405
37406 2007-06-10  Bruno Haible  <bruno@clisp.org>
37407
37408         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
37409         * lib/mbuiter.h: Likewise.
37410
37411 2007-06-10  Bruno Haible  <bruno@clisp.org>
37412
37413         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
37414         declaration.
37415
37416 2007-06-10  Karl Berry  <karl@gnu.org>
37417
37418         * config/srclist.txt: remove gettext entries, Bruno prefers
37419         to update individually.
37420
37421 2007-06-10  Bruno Haible  <bruno@clisp.org>
37422
37423         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
37424         'maxlen'. Ensure only length + width bytes are allocated, not
37425         length + 1 + width.
37426
37427 2007-06-09  Bruno Haible  <bruno@clisp.org>
37428
37429         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
37430         (CHAR_T): Remove macro.
37431         (VASNPRINTF): Update.
37432
37433 2007-06-09  Bruno Haible  <bruno@clisp.org>
37434
37435         * MODULES.html.sh (Unicode string functions): Add the new modules.
37436
37437         * modules/uniconv/u32-conv-to-enc: New file.
37438         * lib/uniconv/u32-conv-to-enc.c: New file.
37439         * modules/uniconv/u32-conv-to-enc-tests: New file.
37440         * tests/uniconv/test-u32-conv-to-enc.c: New file.
37441
37442         * modules/uniconv/u16-conv-to-enc: New file.
37443         * lib/uniconv/u16-conv-to-enc.c: New file.
37444         * lib/uniconv/u-conv-to-enc.h: New file.
37445         * modules/uniconv/u16-conv-to-enc-tests: New file.
37446         * tests/uniconv/test-u16-conv-to-enc.c: New file.
37447
37448         * modules/uniconv/u8-conv-to-enc: New file.
37449         * lib/uniconv/u8-conv-to-enc.c: New file.
37450         * modules/uniconv/u8-conv-to-enc-tests: New file.
37451         * tests/uniconv/test-u8-conv-to-enc.c: New file.
37452
37453         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
37454         u32_conv_to_encoding): New declarations.
37455
37456 2007-06-09  Bruno Haible  <bruno@clisp.org>
37457
37458         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
37459
37460 2007-06-09  Bruno Haible  <bruno@clisp.org>
37461
37462         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
37463         * modules/malloca: Renamed from modules/allocsa, updated.
37464         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
37465         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
37466         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
37467         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
37468         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
37469         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
37470         * modules/xmalloca: Renamed from modules/xallocsa, updated.
37471         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
37472         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
37473         * modules/c-strcasestr (Depends-on): Update.
37474         * lib/c-strcasestr.c: Update.
37475         * modules/c-strstr (Depends-on): Update.
37476         * lib/c-strstr.c: Update.
37477         * modules/canonicalize-lgpl (Depends-on): Update.
37478         * lib/canonicalize-lgpl.c: Update.
37479         * modules/clean-temp (Depends-on): Update.
37480         * lib/clean-temp.c: Update.
37481         * modules/csharpcomp (Depends-on): Update.
37482         * lib/csharpcomp.c: Update.
37483         * modules/csharpexec (Depends-on): Update.
37484         * lib/csharpexec.c: Update.
37485         * modules/javacomp (Depends-on): Update.
37486         * lib/javacomp.c: Update.
37487         * modules/javaexec (Depends-on): Update.
37488         * lib/javaexec.c: Update.
37489         * modules/mbscasestr (Depends-on): Update.
37490         * lib/mbscasestr.c: Update.
37491         * modules/mbsstr (Depends-on): Update.
37492         * lib/mbsstr.c: Update.
37493         * modules/setenv (Depends-on): Update.
37494         * lib/setenv.c: Update.
37495         * modules/strcasestr (Depends-on): Update.
37496         * lib/strcasestr.c: Update.
37497         * modules/striconveha (Depends-on): Update.
37498         * lib/striconveha.c: Update.
37499         * modules/relocatable-prog-wrapper (Files): Update.
37500         * lib/relocwrapper.c: Update.
37501         * build-aux/install-reloc: Update.
37502         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
37503
37504 2007-06-08  Bruno Haible  <bruno@clisp.org>
37505
37506         Port to uClibc.
37507         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
37508         * lib/fpurge.c (fpurge): Likewise.
37509         * lib/freading.c (freading): Likewise.
37510         * lib/fseeko.c (rpl_fseeko): Likewise.
37511         * lib/fseterr.c (fseterr): Likewise.
37512         * lib/fwriting.c (fwriting): Likewise.
37513         * tests/test-fflush.c (main): Avoid a failure on uClibc.
37514
37515 2007-06-08  Bruno Haible  <bruno@clisp.org>
37516
37517         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
37518         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
37519         * modules/gettext (Files): Add m4/intlmacosx.m4.
37520
37521 2007-06-07  Bruno Haible  <bruno@clisp.org>
37522
37523         * modules/localename-tests: New file.
37524         * tests/test-localename.c: New file.
37525
37526         New module 'localename'.
37527         * lib/localename.h: New file.
37528         * lib/localename.c: New file, from GNU gettext.
37529         * m4/localename.m4: New file.
37530         * modules/localename: New file.
37531
37532 2007-06-07  Bruno Haible  <bruno@clisp.org>
37533
37534         Work around the lack of <wchar.h> on some builds of uClibc.
37535         * doc/headers/wchar.texi: Update.
37536         * lib/wchar_.h: Include <wchar.h> only if it exists.
37537         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
37538         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
37539         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
37540         doesn't exist.
37541         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
37542         * modules/mbfile (Depends-on): Add wchar.
37543         * modules/mbiter (Depends-on): Likewise.
37544         * modules/mbuiter (Depends-on): Likewise.
37545         Reported by Simon Josefsson.
37546
37547 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
37548
37549         Work around problem reported by Steven M. Schweda in
37550         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
37551         Tru64 5.1B with the Compaq compiler environment installed declares
37552         an 'isblank' function but does not define it in the C library.
37553         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
37554         * lib/regex_internal.h (isblank): Likewise.
37555         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
37556         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
37557
37558 2007-06-05  Bruno Haible  <bruno@clisp.org>
37559
37560         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
37561         ia64.
37562         * modules/printf-safe: New file.
37563         * modules/fprintf-posix (Depends-on): Add printf-safe.
37564         * modules/printf-posix (Depends-on): Likewise.
37565         * modules/snprintf-posix (Depends-on): Likewise.
37566         * modules/sprintf-posix (Depends-on): Likewise.
37567         * modules/vasnprintf-posix (Depends-on): Likewise.
37568         * modules/vasprintf-posix (Depends-on): Likewise.
37569         * modules/vfprintf-posix (Depends-on): Likewise.
37570         * modules/vprintf-posix (Depends-on): Likewise.
37571         * modules/vsnprintf-posix (Depends-on): Likewise.
37572         * modules/vsprintf-posix (Depends-on): Likewise.
37573         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
37574         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
37575         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
37576         "no" on i386, x86_64, ia64.
37577         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
37578         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
37579         on i386, x86_64, ia64.
37580         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
37581         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
37582         on i386, x86_64, ia64.
37583         * tests/test-vasnprintf-posix.c: Include float.h.
37584         (LDBL80_WORDS): New macro.
37585         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
37586         on i386, x86_64, ia64.
37587         * tests/test-vasprintf-posix.c: Include float.h.
37588         (LDBL80_WORDS): New macro.
37589         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
37590         on i386, x86_64, ia64.
37591         * tests/test-snprintf-posix.c: Include float.h.
37592         * tests/test-sprintf-posix.c: Likewise.
37593         * tests/test-vsnprintf-posix.c: Likewise.
37594         * tests/test-vsprintf-posix.c: Likewise.
37595
37596 2007-06-05  Bruno Haible  <bruno@clisp.org>
37597
37598         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
37599         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
37600         non-IEEE numbers on i386, x86_64, ia64.
37601         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
37602         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
37603         * tests/test-isnanl.h: Include float.h.
37604         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
37605
37606 2007-06-05  Bruno Haible  <bruno@clisp.org>
37607
37608         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
37609         also the %a / %A. Handle the %a / %A code before this extra handling.
37610
37611 2007-06-05  Bruno Haible  <bruno@clisp.org>
37612
37613         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
37614         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
37615
37616 2007-06-05  Bruno Haible  <bruno@clisp.org>
37617
37618         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
37619         typo in variable name.
37620
37621 2007-06-05  Eric Blake  <ebb9@byu.net>
37622
37623         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
37624         Reported by Simon Josefsson.
37625
37626 2007-06-04  Bruno Haible  <bruno@clisp.org>
37627
37628         Avoid test failures on some PowerPC platforms.
37629         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
37630         Define differently for PowerPC.
37631         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
37632         Reported by Gary V. Vaughan <gary@gnu.org>.
37633
37634 2007-06-02  Bruno Haible  <bruno@clisp.org>
37635
37636         Fix test-stdint failure on FreeBSD/ia64.
37637         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
37638         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
37639         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
37640         * doc/headers/stdint.texi: Update.
37641
37642 2007-06-01  Bruno Haible  <bruno@clisp.org>
37643
37644         * tests/test-binary-io.c (main): Pass a third argument to open().
37645         Reported by Gary V. Vaughan <gary@gnu.org>.
37646
37647 2007-06-01  Bruno Haible  <bruno@clisp.org>
37648
37649         * doc/functions/frexpl.texi: Update for mingw.
37650
37651 2007-06-01  Bruno Haible  <bruno@clisp.org>
37652
37653         * tests/test-lseek.c (main): Disable test of errno for invalid third
37654         argument.
37655         * doc/functions/lseek.texi: Update.
37656         Reported by Gary V. Vaughan <gary@gnu.org>.
37657
37658 2007-05-28  Bruno Haible  <bruno@clisp.org>
37659
37660         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
37661
37662 2007-05-31  Eric Blake  <ebb9@byu.net>
37663
37664         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
37665         cross compiling.
37666
37667 2007-05-30  Eric Blake  <ebb9@byu.net>
37668         and Bruno Haible  <bruno@clisp.org>
37669
37670         Work around mingw test failures exposed by m4-1.4.9b.
37671         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
37672         * tests/test-unistd.c: Disable uid_t and git_t tests for the
37673         moment.
37674
37675 2007-05-30  Bruno Haible  <bruno@clisp.org>
37676
37677         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
37678         assuming that they are closed. Needed on HP-UX 11.
37679
37680 2007-05-29  Bruno Haible  <bruno@clisp.org>
37681
37682         Fix a problem with #include_next.
37683         * lib/dirent_.h: Split the double-inclusion guard.
37684         * lib/fcntl_.h: Likewise.
37685         * lib/float_.h: Likewise.
37686         * lib/iconv_.h: Likewise.
37687         * lib/inttypes_.h: Likewise.
37688         * lib/locale_.h: Likewise.
37689         * lib/math_.h: Likewise.
37690         * lib/netinet_in_.h: Likewise.
37691         * lib/search_.h: Likewise.
37692         * lib/signal_.h: Likewise.
37693         * lib/stdint_.h: Likewise.
37694         * lib/stdio_.h: Likewise.
37695         * lib/stdlib_.h: Likewise.
37696         * lib/string_.h: Likewise.
37697         * lib/sys_select_.h: Likewise.
37698         * lib/sys_socket_.h: Likewise.
37699         * lib/sys_stat_.h: Likewise.
37700         * lib/sys_time_.h: Likewise.
37701         * lib/sysexits_.h: Likewise.
37702         * lib/time_.h: Likewise.
37703         * lib/unistd_.h: Likewise.
37704         * lib/wchar_.h: Likewise.
37705         * lib/wctype_.h: Likewise.
37706
37707 2007-05-29  Bruno Haible  <bruno@clisp.org>
37708
37709         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
37710         for the moment.
37711
37712 2007-05-29  Bruno Haible  <bruno@clisp.org>
37713
37714         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
37715         invocation.
37716         Reported by Eric Blake.
37717
37718 2007-05-29  Bruno Haible  <bruno@clisp.org>
37719
37720         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
37721         compiling case.
37722
37723 2007-05-29  Eric Blake  <ebb9@byu.net>
37724             Bruno Haible  <bruno@clisp.org>
37725
37726         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
37727         cross compiles.
37728
37729 2007-05-28  Eric Blake  <ebb9@byu.net>
37730
37731         * modules/closein-tests (test_closein_LDADD): Support test on
37732         cygwin with libtool.
37733
37734 2007-05-28  Bruno Haible  <bruno@clisp.org>
37735
37736         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
37737         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
37738         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
37739         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
37740         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
37741         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
37742         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
37743         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
37744         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
37745
37746 2007-05-28  Eric Blake  <ebb9@byu.net>
37747
37748         Unconditionally include <config.h> in unit tests.
37749         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
37750         * tests/test-allocsa.c, tests/test-arcfour.c,
37751         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
37752         tests/test-array_list.c, tests/test-array_oset.c,
37753         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
37754         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
37755         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
37756         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
37757         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
37758         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
37759         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
37760         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
37761         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
37762         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
37763         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
37764         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
37765         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
37766         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
37767         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
37768         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
37769         test-md5.c, test-memmem.c, test-printf-posix.c,
37770         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
37771         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
37772         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
37773         test-strcasestr.c, test-striconv.c, test-striconveh.c,
37774         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
37775         test-vasnprintf-posix2.c, test-vasnprintf.c,
37776         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
37777         test-vfprintf-posix.c, test-vprintf-posix.c,
37778         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
37779         test-xvasprintf.c: Likewise.
37780
37781 2007-05-28  Bruno Haible  <bruno@clisp.org>
37782
37783         * gnulib-tool (func_import): Remember the --with-tests command-line
37784         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
37785         Reported by Eric Blake.
37786
37787 2007-05-28  Bruno Haible  <bruno@clisp.org>
37788
37789         * modules/ftell-tests: New file.
37790         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
37791         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
37792
37793         * lib/ftell.c: New file.
37794         * modules/ftell: New file.
37795         * m4/ftell.m4: New file.
37796         * doc/functions/ftell.texi: Update.
37797         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
37798         REPLACE_FTELL.
37799         * lib/stdio_.h (rpl_ftell): New declaration.
37800         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
37801         REPLACE_FTELL.
37802
37803 2007-05-28  Eric Blake  <ebb9@byu.net>
37804
37805         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
37806
37807 2007-05-28  Bruno Haible  <bruno@clisp.org>
37808
37809         * modules/fseek-tests: New file.
37810         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
37811         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
37812
37813         * lib/fseek.c: New file.
37814         * modules/fseek: New file.
37815         * m4/fseek.m4: New file.
37816         * doc/functions/fseek.texi: Update.
37817         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
37818         REPLACE_FSEEK.
37819         * lib/stdio_.h (rpl_fseek): New declaration.
37820         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
37821         REPLACE_FSEEK.
37822
37823 2007-05-28  Bruno Haible  <bruno@clisp.org>
37824
37825         * lib/stdio_.h (fflush): More comments.
37826
37827 2007-05-28  Bruno Haible  <bruno@clisp.org>
37828
37829         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
37830         runtime test.
37831
37832 2007-05-28  Eric Blake  <ebb9@byu.net>
37833
37834         Improve lseek module.
37835         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
37836         * lib/unistd_.h (lseek): Scale back link warning message.
37837         * tests/test-lseek.c: Beef up test.
37838         * tests/test-lseek.sh: Exercise more facets of lseek.
37839         Reported by Bruno Haible.
37840
37841 2007-05-28  Bruno Haible  <bruno@clisp.org>
37842
37843         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
37844         to define.
37845
37846 2007-05-27  Bruno Haible  <bruno@clisp.org>
37847
37848         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
37849
37850 2007-05-27  Bruno Haible  <bruno@clisp.org>
37851
37852         * modules/openmp: New file.
37853         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
37854         Noah Misch.
37855
37856 2007-05-26  Bruno Haible  <bruno@clisp.org>
37857
37858         * modules/chdir-long (Depends-on): Add fchdir.
37859         * modules/chdir-safer (Depends-on): Likewise.
37860         * modules/fts (Depends-on): Likewise.
37861         * modules/fts-lgpl (Depends-on): Likewise.
37862         * modules/openat (Depends-on): Likewise.
37863         * modules/savewd (Depends-on): Likewise.
37864
37865 2007-05-24  Eric Blake  <ebb9@byu.net>
37866
37867         Fix lseek on mingw.
37868         * modules/lseek: New module.
37869         * m4/lseek.m4: New file.
37870         * lib/lseek.c: New file.
37871         * modules/lseek-tests: New file.
37872         * tests/test-lseek.c: New file.
37873         * tests/test-lseek.sh: New file.
37874         * MODULES.html.sh: Document lseek module.
37875         * modules/fflush (Depends-on): Add lseek, fseeko.
37876         * modules/fseeko (Depends-on): Likewise.
37877         * modules/ftello (Depends-on): Likewise.
37878         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
37879         broken.
37880         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
37881         broken.
37882         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
37883         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
37884         * lib/ftello.c (rpl_ftello): Likewise.
37885         * tests/test-fseeko.c (main): Test this.
37886         * tests/test-fseeko.sh: Likewise.
37887         * tests/test-ftello.c (main): Likewise.
37888         * tests/test-ftello.sh: Likewise.
37889         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
37890         implies replacing fseek.
37891         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
37892         HAVE_FTELLO.
37893         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
37894         * modules/unistd (Makefile.am): Likewise.
37895         * lib/unistd_.h (lseek): Declare a replacement.
37896         * doc/functions/lseek.texi (lseek): Document this fix.
37897         * doc/functions/fseek.texi (fseek): Likewise.
37898         * doc/functions/ftell.texi (ftell): Likewise.
37899
37900 2007-05-24  Bruno Haible  <bruno@clisp.org>
37901
37902         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
37903         in the printed representation of a NaN.
37904         * tests/test-vasprintf-posix.c (test_function): Likewise.
37905         * tests/test-snprintf-posix.h (test_function): Likewise.
37906         * tests/test-sprintf-posix.h (test_function): Likewise.
37907         Reported by Eric Blake.
37908
37909 2007-05-23  Eric Blake  <ebb9@byu.net>
37910
37911         Fix fseeko/ftello on cygwin 1.5.24.
37912         * doc/functions/fseeko.texi (fseeko): Document the fix.
37913         * doc/functions/ftello.texi (ftello): Document the fix.
37914         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
37915         * doc/functions/stdout.text (stdout): New file.
37916         * doc/functions/stderr.text (stderr): New file.
37917         * doc/gnulib.texi (Function Substitutes): Use new files.
37918         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
37919         prior to 1.7.0.
37920         * tests/test-ftello.c (main): Likewise for ftello.
37921         * tests/test-fseeko.sh: New file.
37922         * tests/test-ftello.sh: New file.
37923         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
37924         with seekable stdin.
37925         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
37926         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
37927         (gl_REPLACE_FSEEKO): New macro.
37928         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
37929         * modules/fseeko (Files): Distribute fseeko.c.
37930         * modules/ftello (Files): Distribute ftello.c.
37931         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
37932         mode.
37933         * lib/ftello.c (rpl_ftello): New file.
37934         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
37935         fseeko, ftello.
37936         (gl_STDIN_LARGE_OFFSET): New macro.
37937         * modules/stdio (Makefile.am): Perform the replacement.
37938         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
37939
37940 2007-05-23  Bruno Haible  <bruno@clisp.org>
37941
37942         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
37943         GNULIB_POSIXCHECK is defined.
37944
37945 2007-05-21  Bruno Haible  <bruno@clisp.org>
37946
37947         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
37948         Check also the output for NaN arguments. When cross-compiling, guess
37949         no on IRIX.
37950         * lib/vasnprintf.c: Update comments.
37951         * tests/test-vasnprintf-posix.c (strisnan): New function.
37952         (test_function): Use it.
37953         * tests/test-vasprintf-posix.c (strisnan): New function.
37954         (test_function): Use it.
37955         * tests/test-snprintf-posix.h (strisnan): New function.
37956         (test_function): Use it.
37957         * tests/test-sprintf-posix.h (strisnan): New function.
37958         (test_function): Use it.
37959         Reported by Eric Blake.
37960
37961 2007-05-20  Bruno Haible  <bruno@clisp.org>
37962
37963         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
37964         numbers that fails on BeOS.
37965         * doc/functions/frexpl.texi: Update.
37966
37967 2007-05-20  Jim Meyering  <jim@meyering.net>
37968
37969         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
37970         forced upon us by glibc-2.6.
37971
37972 2007-05-20  Bruno Haible  <bruno@clisp.org>
37973
37974         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
37975         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
37976         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
37977         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
37978         NEED_PRINTF_INFINITE.
37979         (is_infinitel): New function.
37980         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
37981         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
37982         gl_PREREQ_VASNPRINTF_INFINITE.
37983         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
37984         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
37985         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
37986         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
37987         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
37988         gl_PREREQ_VASNPRINTF_INFINITE.
37989         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
37990         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
37991         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
37992         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
37993         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
37994         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
37995         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
37996         * doc/functions/fprintf.texi: Update.
37997         * doc/functions/printf.texi: Update.
37998         * doc/functions/snprintf.texi: Update.
37999         * doc/functions/sprintf.texi: Update.
38000         * doc/functions/vfprintf.texi: Update.
38001         * doc/functions/vprintf.texi: Update.
38002         * doc/functions/vsnprintf.texi: Update.
38003         * doc/functions/vsprintf.texi: Update.
38004
38005 2007-05-20  Bruno Haible  <bruno@clisp.org>
38006
38007         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
38008         was not found in libc.
38009         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
38010
38011 2007-05-20  Bruno Haible  <bruno@clisp.org>
38012
38013         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
38014         printed as "-nan" instead of "nan".
38015         * tests/test-vasprintf-posix.c (test_function): Likewise.
38016         * tests/test-snprintf-posix.h (test_function): Likewise.
38017         * tests/test-sprintf-posix.h (test_function): Likewise.
38018         Needed for HP-UX 11.
38019
38020 2007-05-20  Jim Meyering  <jim@meyering.net>
38021
38022         Fix buggy test for the fchownat-deref bug.
38023         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
38024         symlink required for the run-test.  Without it, this test would
38025         always declare that fchownat doesn't work, and client code would
38026         unnecessarily use the replacement function with fixed libc.
38027         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
38028         Reported by Greg Schafer.
38029
38030 2007-05-19  Bruno Haible  <bruno@clisp.org>
38031
38032         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
38033         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
38034         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
38035         Needed for IRIX 6.5 and Solaris 2.5.1.
38036
38037 2007-05-19  Bruno Haible  <bruno@clisp.org>
38038
38039         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
38040         (test_function): Skip tests involving -0.0 on platforms where
38041         -0.0 = 0.0.
38042         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
38043         (test_function): Skip tests involving -0.0 on platforms where
38044         -0.0 = 0.0.
38045         * tests/test-snprintf-posix.h (have_minus_zero): New function.
38046         (test_function): Skip tests involving -0.0 on platforms where
38047         -0.0 = 0.0.
38048         * tests/test-sprintf-posix.h (have_minus_zero): New function.
38049         (test_function): Skip tests involving -0.0 on platforms where
38050         -0.0 = 0.0.
38051         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
38052         tests.
38053         * tests/test-printf-posix.h (test_function): Likewise.
38054         * tests/test-printf-posix.output: Remove all -0.0 related results.
38055         Needed for IRIX 6.5.
38056
38057 2007-05-19  Bruno Haible  <bruno@clisp.org>
38058
38059         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
38060         printed as "nan0x7fffffff" instead of "nan".
38061         * tests/test-vasprintf-posix.c (test_function): Likewise.
38062         * tests/test-snprintf-posix.h (test_function): Likewise.
38063         * tests/test-sprintf-posix.h (test_function): Likewise.
38064         * tests/test-fprintf-posix.h (NaN): Remove macro.
38065         (test_function): Remove all NaN related tests.
38066         * tests/test-printf-posix.h (NaN): Remove macro.
38067         (test_function): Remove all NaN related tests.
38068         * tests/test-printf-posix.output: Remove all NaN related results.
38069         Needed for IRIX 6.5.
38070
38071 2007-05-19  Bruno Haible  <bruno@clisp.org>
38072
38073         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
38074         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
38075
38076 2007-05-19  Bruno Haible  <bruno@clisp.org>
38077
38078         * lib/float_.h: New file.
38079         * m4/float_h.m4: New file.
38080         * modules/float: New file.
38081         * modules/isnanl (Dependencies): Add float.
38082         * modules/isnanl-nolibm (Dependencies): Likewise.
38083         * modules/mathl (Dependencies): Likewise.
38084         * modules/printf-frexpl (Dependencies): Likewise.
38085         * modules/signbit (Dependencies): Likewise.
38086         * modules/vasnprintf (Dependencies): Likewise.
38087         * doc/headers/float.texi: Update.
38088
38089 2007-05-19  Jim Meyering  <jim@meyering.net>
38090
38091         * lib/utimens.c (gl_futimens): Rename from futimens,
38092         now that glibc-2.6 declares futimens.
38093         * lib/utimens.h: Likewise.
38094
38095 2007-05-19  Bruno Haible  <bruno@clisp.org>
38096
38097         Avoid test failures on mingw.
38098         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
38099         * tests/test-printf-posix.sh: Likewise.
38100         * tests/test-vfprintf-posix.sh: Likewise.
38101         * tests/test-vprintf-posix.sh: Likewise.
38102
38103 2007-05-19  Bruno Haible  <bruno@clisp.org>
38104
38105         Fix *printf result for NaN, Inf, -0.0 on mingw.
38106         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
38107         * lib/vasnprintf.c: Include math.h and isnan.h.
38108         (is_infinite_or_zero): New function.
38109         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
38110         values in the %f, %F, %e, %E, %g, %G directives.
38111         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
38112         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
38113         gl_PRINTF_INFINITE and test its result. Invoke
38114         gl_PREREQ_VASNPRINTF_INFINITE.
38115         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
38116         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
38117         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
38118         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
38119         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
38120         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38121         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
38122         * doc/functions/fprintf.texi: Update.
38123         * doc/functions/printf.texi: Update.
38124         * doc/functions/snprintf.texi: Update.
38125         * doc/functions/sprintf.texi: Update.
38126         * doc/functions/vfprintf.texi: Update.
38127         * doc/functions/vprintf.texi: Update.
38128         * doc/functions/vsnprintf.texi: Update.
38129         * doc/functions/vsprintf.texi: Update.
38130
38131 2007-05-19  Bruno Haible  <bruno@clisp.org>
38132
38133         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
38134         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
38135         Instead of multiplying with 10^k, set extra_zeroes to k.
38136         (scale10_round_long_double): Remove function.
38137
38138 2007-05-18  Bruno Haible  <bruno@clisp.org>
38139
38140         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
38141         introduced on 2007-05-06.
38142
38143 2007-05-18  Bruno Haible  <bruno@clisp.org>
38144
38145         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
38146         %g directives.
38147         * tests/test-vasprintf-posix.c (test_function): Likewise.
38148         * tests/test-snprintf-posix.h (test_function): Likewise.
38149         * tests/test-sprintf-posix.h (test_function): Likewise.
38150
38151 2007-05-18  Bruno Haible  <bruno@clisp.org>
38152
38153         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
38154         (strmatch): New function.
38155         (test_function): Test the %f directive on numbers of various exponents.
38156         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
38157         (strmatch): New function.
38158         (test_function): Test the %f directive on numbers of various exponents.
38159         * tests/test-snprintf-posix.h (strmatch): New function.
38160         (test_function): Test the %f directive on numbers of various exponents.
38161         * tests/test-sprintf-posix.h (strmatch): New function.
38162         (test_function): Test the %f directive on numbers of various exponents.
38163         * tests/test-snprintf-posix.c (SIZEOF): New macro.
38164         * tests/test-sprintf-posix.c (SIZEOF): New macro.
38165         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
38166         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
38167
38168 2007-05-18  Bruno Haible  <bruno@clisp.org>
38169
38170         Add support for 'long double' number output.
38171         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
38172         * lib/vasnprintf.c: Include math.h and float+.h.
38173         (mp_limb_t): New type.
38174         (GMP_LIMB_BITS): New macro.
38175         (mp_twolimb_t): New type.
38176         (GMP_TWOLIMB_BITS): New macro.
38177         (mpn_t): New type.
38178         (multiply, divide, convert_to_decimal, decode_long_double,
38179         scale10_round_long_double, scale10_round_decimal_long_double,
38180         floorlog10l): New functions.
38181         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
38182         for the %f, %F, %e, %E, %g, %G directives.
38183         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
38184         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
38185         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
38186         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
38187         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
38188         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
38189         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
38190         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
38191         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
38192         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38193         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
38194         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
38195         * modules/snprintf-posix (Depends-on): Likewise.
38196         * modules/sprintf-posix (Depends-on): Likewise.
38197         * modules/vasnprintf-posix (Depends-on): Likewise.
38198         * modules/vasprintf-posix (Depends-on): Likewise.
38199         * modules/vfprintf-posix (Depends-on): Likewise.
38200         * modules/vsnprintf-posix (Depends-on): Likewise.
38201         * modules/vsprintf-posix (Depends-on): Likewise.
38202         * modules/vasnprintf (Files): Add lib/float+.h.
38203         * doc/functions/fprintf.texi: Update.
38204         * doc/functions/printf.texi: Update.
38205         * doc/functions/snprintf.texi: Update.
38206         * doc/functions/sprintf.texi: Update.
38207         * doc/functions/vfprintf.texi: Update.
38208         * doc/functions/vprintf.texi: Update.
38209         * doc/functions/vsnprintf.texi: Update.
38210         * doc/functions/vsprintf.texi: Update.
38211
38212 2007-05-18  Bruno Haible  <bruno@clisp.org>
38213
38214         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
38215
38216 2007-05-18  Bruno Haible  <bruno@clisp.org>
38217
38218         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
38219         for printing 64-bit integers. Needed for mingw.
38220
38221 2007-05-18  Bruno Haible  <bruno@clisp.org>
38222
38223         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
38224         gl_FUNC_FREXPL_WORKS.
38225         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
38226
38227 2007-05-18  Bruno Haible  <bruno@clisp.org>
38228
38229         * modules/frexpl-nolibm-tests: New file.
38230
38231         * modules/frexpl-nolibm: New file.
38232         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
38233
38234 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
38235
38236         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
38237         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
38238         GCC 4.2, which otherwise issues a lot of warnings.
38239         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
38240         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
38241         Likewise.
38242         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
38243         * modules/iconv_open (iconv.h): Likewise.
38244         * modules/locale (locale.h): Likewise.
38245         * modules/netinet_in (netinet/in.h): Likewise.
38246         * modules/sys_select (sys_select.h): Likewise.
38247         * modules/sys_socket (sys/socket.h): Likewise.
38248         * modules/sys_stat (sys/stat.h): Likewise.
38249         * modules/sysexits (sysexits.h): Likewise.
38250         * modules/unistd (unistd.h): Likewise.
38251
38252 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38253
38254         * modules/closein-tests (Makefile.am): Distribute
38255         `test-closein.sh'.
38256
38257 2007-05-17  Bruno Haible  <bruno@clisp.org>
38258
38259         * tests/test-printf-posix.output: Renamed from
38260         tests/test-fprintf-posix.out.
38261         * modules/fprintf-posix-tests: Update.
38262         * modules/printf-posix-tests: Update.
38263         * modules/vfprintf-posix-tests: Update.
38264         * modules/vprintf-posix-tests: Update.
38265         * tests/test-fprintf-posix.sh: Update.
38266         * tests/test-printf-posix.sh: Update.
38267         * tests/test-vfprintf-posix.sh: Update.
38268         * tests/test-vprintf-posix.sh: Update.
38269         Reported by Ralf Wildenhues.
38270
38271 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
38272
38273         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
38274         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
38275         GCC 4.2, which otherwise issues a lot of warnings.
38276         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
38277         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
38278         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
38279         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
38280         it should no longer be needed.
38281         * lib/string_.h: Likewise.
38282         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
38283         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
38284         * modules/inttypes (inttypes.h): Likewise.
38285         * modules/math (math.h): Likewise.
38286         * modules/search (search.h): Likewise.
38287         * modules/signal (signal.h): Likewise.
38288         * modules/stdint (stdint.h): Likewise.
38289         * modules/stdio (stdio.h): Likewise.
38290         * modules/stdlib (stdlib.h): Likewise.
38291         * modules/string (string.h): Likewise.
38292         * modules/sys_time (sys/time.h): Likewise.
38293         * modules/time (time.h): Likewise.
38294         * modules/wchar (wchar.h): Likewise.
38295         * modules/wctype (wtype.h): Likewise.
38296
38297 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
38298
38299         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
38300
38301 2007-05-13  Bruno Haible  <bruno@clisp.org>
38302
38303         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
38304         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
38305         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
38306         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
38307         (gl_PREREQ_STRTOK_R): Don't require it here.
38308
38309 2007-05-13  Bruno Haible  <bruno@clisp.org>
38310
38311         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
38312         when used in C++ mode.
38313
38314 2007-05-12  Bruno Haible  <bruno@clisp.org>
38315
38316         * lib/linebuffer.h: Tweak doc.
38317         * lib/linebuffer.c: Likewise.
38318
38319 2007-05-12  James Youngman  <jay@gnu.org>
38320
38321         * lib/linebuffer.c (readlinebuffer_delim): New function,
38322         like readlinebuffer, but use a caller-specified delimiter.
38323         (readlinebuffer): Just call readlinebuffer_delim with '\n'
38324         as the delimiter.
38325         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
38326
38327 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
38328
38329         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
38330         * modules/openat (Files): Remove openat-die.c.
38331         (Depends-on): Add openat-die.
38332         * modules/openat-die: New module.
38333
38334 2007-05-06  Bruno Haible  <bruno@clisp.org>
38335
38336         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
38337         Update with info about Cygwin.
38338         * doc/functions/fprintf.texi: Update.
38339         * doc/functions/printf.texi: Update.
38340         * doc/functions/snprintf.texi: Update.
38341         * doc/functions/sprintf.texi: Update.
38342         * doc/functions/vfprintf.texi: Update.
38343         * doc/functions/vprintf.texi: Update.
38344         * doc/functions/vsnprintf.texi: Update.
38345         * doc/functions/vsprintf.texi: Update.
38346         Reported by Eric Blake.
38347
38348 2007-05-06  Bruno Haible  <bruno@clisp.org>
38349
38350         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
38351         padding ourselves for the floating-point directives.
38352         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
38353         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
38354         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
38355         gl_PRINTF_FLAG_ZERO and test its result. Invoke
38356         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
38357         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
38358         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
38359         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
38360         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
38361         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
38362         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38363         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
38364         * tests/test-snprintf-posix.h (test_function): Also check the width
38365         and some flags in the %f directive.
38366         * tests/test-sprintf-posix.h (test_function): Likewise.
38367         * tests/test-vasnprintf-posix.c (test_function): Likewise.
38368         * tests/test-vasprintf-posix.c (test_function): Likewise.
38369         * doc/functions/fprintf.texi: Update.
38370         * doc/functions/printf.texi: Update.
38371         * doc/functions/snprintf.texi: Update.
38372         * doc/functions/sprintf.texi: Update.
38373         * doc/functions/vfprintf.texi: Update.
38374         * doc/functions/vprintf.texi: Update.
38375         * doc/functions/vsnprintf.texi: Update.
38376         * doc/functions/vsprintf.texi: Update.
38377
38378 2007-05-06  Bruno Haible  <bruno@clisp.org>
38379
38380         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
38381         pass the ' flag character to sprintf or snprintf.
38382         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
38383         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
38384         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
38385         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
38386         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
38387         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
38388         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
38389         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
38390         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
38391         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
38392         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38393         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
38394         * tests/test-snprintf-posix.h (test_function): Also check the grouping
38395         flag.
38396         * tests/test-sprintf-posix.h (test_function): Likewise.
38397         * tests/test-vasnprintf-posix.c (test_function): Likewise.
38398         * tests/test-vasprintf-posix.c (test_function): Likewise.
38399         * doc/functions/fprintf.texi: Update.
38400         * doc/functions/printf.texi: Update.
38401         * doc/functions/snprintf.texi: Update.
38402         * doc/functions/sprintf.texi: Update.
38403         * doc/functions/vfprintf.texi: Update.
38404         * doc/functions/vprintf.texi: Update.
38405         * doc/functions/vsnprintf.texi: Update.
38406         * doc/functions/vsprintf.texi: Update.
38407
38408 2007-05-01  Bruno Haible  <bruno@clisp.org>
38409
38410         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
38411
38412 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
38413
38414         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
38415         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
38416
38417 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
38418
38419         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
38420         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
38421         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
38422
38423 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
38424
38425         * lib/argp-help.c (struct hol_entry): New member `ord'.
38426         (HOL_ENTRY_PTRCMP): Use ord for comparison
38427         (hol_sort): Initialize ord.
38428
38429 2007-05-01  Bruno Haible  <bruno@clisp.org>
38430
38431         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
38432         Reported by Eric Blake.
38433         * doc/gnulib.texi (Function Substitutes): Update.
38434
38435 2007-05-01  Bruno Haible  <bruno@clisp.org>
38436
38437         * doc/functions.texi: Remove file, now redundant through
38438         doc/functions/*.texi.
38439
38440 2007-05-01  Bruno Haible  <bruno@clisp.org>
38441
38442         * modules/argp (Depends-on): Add sleep.
38443
38444 2007-05-01  Bruno Haible  <bruno@clisp.org>
38445
38446         * modules/sleep-tests: New file.
38447         * tests/test-sleep.c: New file.
38448
38449         * modules/sleep: New file.
38450         * lib/sleep.c: New file.
38451         * m4/sleep.m4: New file.
38452         * lib/unistd_.h (sleep): New declaration.
38453         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
38454         HAVE_SLEEP.
38455         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
38456         * doc/functions/sleep.texi: Document the sleep module.
38457
38458 2007-05-01  Bruno Haible  <bruno@clisp.org>
38459
38460         * lib/sigprocmask.h: Remove file.
38461         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
38462         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
38463         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
38464         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
38465         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
38466         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
38467         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
38468         HAVE_SIGSET_T as a shell variable.
38469         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
38470         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
38471         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
38472         (Depends-on): Add signal. Remove verify.
38473         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
38474         (Include): Mention <signal.h> instead of sigprocmask.h.
38475         * NEWS: Mention the change.
38476         * lib/fatal-signal.c: Don't include sigprocmask.h.
38477
38478 2007-05-01  Bruno Haible  <bruno@clisp.org>
38479
38480         * modules/signal: New file.
38481         * lib/signal_.h: New file.
38482         * m4/signal_h.m4: New file.
38483
38484 2007-05-01  Bruno Haible  <bruno@clisp.org>
38485
38486         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
38487         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
38488         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
38489         HAVE_WCTYPE_CTMP_BUG into wctype.h.
38490
38491 2007-05-01  Bruno Haible  <bruno@clisp.org>
38492
38493         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
38494         configure time.
38495         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
38496         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
38497         * modules/sys_stat (Makefile.am): Substitute their values into
38498         sys/stat.h.
38499
38500 2007-05-01  Bruno Haible  <bruno@clisp.org>
38501
38502         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
38503         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
38504         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
38505
38506 2007-05-01  Bruno Haible  <bruno@clisp.org>
38507
38508         * doc/header/assert.texi: Undo last change: don't mention the gnulib
38509         'assert' module here.
38510
38511 2007-05-01  Bruno Haible  <bruno@clisp.org>
38512
38513         * doc/functions/*.texi: New files.
38514         * doc/functions/google-ranking.txt: New file.
38515         * doc/gnulib.texi (Function Substitutes): New chapter.
38516         (ctime, inet_ntoa): Remove sections.
38517         * doc/ctime.texi: Remove file.
38518         * doc/inet_ntoa.texi: Remove file.
38519         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
38520         dependencies.
38521         (%.info): New rule, specifying a --reference-limit.
38522
38523 2007-05-01  Bruno Haible  <bruno@clisp.org>
38524
38525         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
38526
38527 2007-05-01  Bruno Haible  <bruno@clisp.org>
38528
38529         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
38530         the portability of 'mkdir' to mingw systems.
38531
38532 2007-05-01  Bruno Haible  <bruno@clisp.org>
38533
38534         * doc/headers/google-ranking.txt: New file.
38535
38536 2007-04-30  Eric Blake  <ebb9@byu.net>
38537
38538         Prefer fseeko to fseek.
38539         * modules/getpass (Depends-on): Add fseeko.
38540         * lib/getpass.c (getpass): Use fseeko, not fseek.
38541
38542 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
38543
38544         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
38545         assumes the sorting is stable, while most qsort implementations
38546         are not.  Use argument addresses to ensure they never compare as
38547         equal.
38548
38549         * tests/test-argp-2.sh (usage-indent test): Fix output
38550         (func_compare): Restore diff options
38551         * tests/test-argp.c: Restore #include "progname.h"
38552
38553 2007-04-29  Bruno Haible  <bruno@clisp.org>
38554
38555         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
38556         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
38557         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
38558         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38559         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
38560         (configure.ac): Define CHECK_SNPRINTF_POSIX.
38561         (TESTS, check_PROGRAMS): Add test-snprintf.
38562         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
38563         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
38564         (TESTS, check_PROGRAMS): Add test-vsnprintf.
38565         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
38566         assertions that fail on HP-UX, OSF/1, or IRIX.
38567         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
38568
38569 2007-04-29  Bruno Haible  <bruno@clisp.org>
38570
38571         * MODULES.html.sh (posix_functions): Remove 'contents'.
38572
38573 2007-04-29  Karl Berry  <karl@gnu.org>
38574
38575         * config/srclist.txt (gendocs_template_min): new entry.
38576
38577 2007-04-29  Bruno Haible  <bruno@clisp.org>
38578
38579         Work around fpurge bug on BSD systems.
38580         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
38581         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
38582         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
38583         fpurge to rpl_fpurge if the system already has this function.
38584         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
38585         the case where the system already has this function. Correct invariants
38586         on BSD systems.
38587         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
38588         BSD systems.
38589
38590 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
38591
38592         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
38593         proposed by Sven Verdoolaege.
38594
38595         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
38596         options.
38597         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
38598         (usage and help tests): Update
38599
38600 2007-04-29  Bruno Haible  <bruno@clisp.org>
38601
38602         * tests/test-fflush.c (main): Use a file of size 17, not 10.
38603         Print more information in case of failure. Disable a test on BeOS.
38604
38605 2007-04-29  Bruno Haible  <bruno@clisp.org>
38606
38607         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
38608         This helps debugging on systems on which no gdb is available.
38609
38610 2007-04-29  Bruno Haible  <bruno@clisp.org>
38611
38612         * lib/freading.h: Improve comments.
38613         * lib/fwriting.h: Likewise.
38614         * tests/test-freading.c (main): Don't check freading immediately after
38615         repositioning. Needed for glibc.
38616
38617 2007-04-29  Bruno Haible  <bruno@clisp.org>
38618
38619         * lib/freading.c (freading): Trivial simplification.
38620
38621 2007-04-28  Bruno Haible  <bruno@clisp.org>
38622
38623         * tests/test-fwriting.c (main): Also test the interaction between
38624         fflush and fwriting.
38625         * modules/fwriting-tests (Depends-on): Add fflush.
38626
38627         * tests/test-freading.c (main): Also test the interaction between
38628         fflush and freading.
38629         * modules/freading-tests (Depends-on): Add fflush.
38630
38631 2007-04-28  Bruno Haible  <bruno@clisp.org>
38632
38633         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
38634         fseeko and ftello.
38635         Suggested by Eric Blake.
38636
38637 2007-04-28  Jim Meyering  <jim@meyering.net>
38638
38639         Avoid false-negative in gl_STDINT_H's C99 conformance test.
38640         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
38641         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
38642
38643 2007-04-27  Eric Blake  <ebb9@byu.net>
38644
38645         * doc/headers/assert.texi (assert.h): Document assert module use.
38646
38647 2007-04-27  Bruno Haible  <bruno@clisp.org>
38648
38649         * doc/headers/*.texi: New files.
38650         * doc/gnulib.texi (Header File Substitutes): New chapter.
38651         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
38652         dependencies.
38653         (standards.info ,standards.html, standards.dvi): Update dependencies.
38654         (mostlyclean, clean): New targets.
38655
38656 2007-04-27  Bruno Haible  <bruno@clisp.org>
38657
38658         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
38659         * modules/sysexits (Files, Makefile.am): Update.
38660
38661         * lib/sys_socket_.h: Renamed from lib/socket_.h.
38662         * modules/sys_socket (Files, Makefile.am): Update.
38663
38664         * lib/sys_stat_.h: Renamed from lib/stat_.h.
38665         * modules/sys_stat (Files, Makefile.am): Update.
38666
38667 2007-04-27  Eric Blake  <ebb9@byu.net>
38668
38669         * lib/freading.h: Improve comments.
38670         * lib/fwriting.h: Likewise.
38671         * lib/fflush.c: Likewise.
38672
38673         Fix closein for mingw.
38674         * modules/closein-tests: Add tests for closein.
38675         * tests/test-closein.c: New file.
38676         * tests/test-closein.sh: Likewise.
38677         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
38678         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
38679
38680 2007-04-27  Bruno Haible  <bruno@clisp.org>
38681
38682         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
38683         version is < 6.
38684         * lib/math_.h [__DECC]: Likewise.
38685         * lib/stdio_.h [__DECC]: Likewise.
38686         * lib/stdlib_.h [__DECC]: Likewise.
38687         * lib/string_.h [__DECC]: Likewise.
38688         * lib/time_.h [__DECC]: Likewise.
38689         * lib/wchar_.h [__DECC]: Likewise.
38690         * lib/wctype_.h [__DECC]: Likewise.
38691
38692 2007-04-27  Bruno Haible  <bruno@clisp.org>
38693
38694         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
38695
38696 2007-04-27  Bruno Haible  <bruno@clisp.org>
38697
38698         * lib/fflush.c: Add comments.
38699         * modules/fpurge-tests (Depends-on): Add fflush.
38700         * modules/freadable-tests (Depends-on): Likewise.
38701         * modules/fwritable-tests (Depends-on): Likewise.
38702
38703 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
38704
38705         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
38706         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
38707         Report by Bruno Haible <bruno@clisp.org>.
38708
38709 2007-04-26  Eric Blake  <ebb9@byu.net>
38710
38711         Fix fflush on mingw.
38712         * modules/fflush (Depends-on): Add freading.
38713         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
38714         but unread data.
38715
38716 2007-04-26  Eric Blake  <ebb9@byu.net>
38717         and Bruno Haible  <bruno@clisp.org>
38718
38719         Implement freading and fwriting.
38720         * lib/freading.c: New file.
38721         * lib/freading.h: Likewise.
38722         * m4/freading.m4: Likewise.
38723         * modules/freading: Likewise.
38724         * modules/freading-tests: Likewise.
38725         * tests/test-freading.c: Likewise.
38726         * lib/fwriting.c: New file.
38727         * lib/fwriting.h: Likewise.
38728         * m4/fwriting.m4: Likewise.
38729         * modules/fwriting: Likewise.
38730         * modules/fwriting-tests: Likewise.
38731         * tests/test-fwriting.c: Likewise.
38732         * MODULES.html.sh (File stream based Input/Output): Mention them.
38733
38734 2007-04-26  Bruno Haible  <bruno@clisp.org>
38735
38736         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
38737         'long' when we assume it.
38738         Suggested by Eric Blake.
38739
38740 2007-04-26  Bruno Haible  <bruno@clisp.org>
38741
38742         Ensure fseeko, ftello are declared on glibc systems.
38743         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
38744         * modules/fseeko (configure.ac-early): Likewise.
38745         * modules/ftello (configure.ac-early): Likewise.
38746         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
38747         AC_FUNC_FSEEKO for this.
38748         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
38749         (gl_CHECK_FSEEKO): Remove macro.
38750
38751 2007-04-26  Bruno Haible  <bruno@clisp.org>
38752
38753         * tests/test-fflush.c (main): Also check the ftell result after
38754         fflush and fseek/fseeko.
38755         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
38756         file descriptor position cache in the stream.
38757         * lib/fseeko.c (rpl_fseeko): Likewise.
38758
38759 2007-04-26  Bruno Haible  <bruno@clisp.org>
38760
38761         * modules/fflush-tests (Depends-on): Add fseeko.
38762
38763 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
38764             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38765
38766         * lib/argz_.h: ensure error_t definition is obtained in same
38767         mechanism system argz.h would have.
38768         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
38769         argz facilities are known bad.  Err on the side of caution if
38770         cross-compiling.
38771
38772 2007-04-25  Eric Blake  <ebb9@byu.net>
38773
38774         * lib/fpurge.c (includes): Use stdlib.h for free.
38775         * tests/test-fflush.c (main): Also test fflush-fseeko.
38776
38777 2007-04-25  Bruno Haible  <bruno@clisp.org>
38778
38779         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
38780         * lib/fseeko.c: New file.
38781         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
38782         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
38783         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
38784         gl_FUNC_FSEEKO.
38785         (gl_FUNC_FSEEKO): Invoke it.
38786         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
38787         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
38788         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
38789
38790 2007-04-25  Bruno Haible  <bruno@clisp.org>
38791
38792         * modules/fflush (Depends-on): Add ftello.
38793
38794 2007-04-25  Bruno Haible  <bruno@clisp.org>
38795
38796         * modules/ftello-tests: New file.
38797         * tests/test-ftello.c: New file.
38798
38799         * modules/ftello: New file.
38800         * m4/ftello.m4: New file.
38801         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
38802         HAVE_FTELLO.
38803         * lib/stdio_.h (ftello): New declaration.
38804         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
38805         HAVE_FTELLO.
38806
38807 2007-04-25  Bruno Haible  <bruno@clisp.org>
38808
38809         * modules/fseeko-tests: New file.
38810         * tests/test-fseeko.c: New file.
38811
38812         * modules/fseeko: New file.
38813         * m4/fseeko.m4: New file.
38814         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
38815         HAVE_FSEEKO.
38816         * lib/stdio_.h (fseeko): New declaration.
38817         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
38818         HAVE_FSEEKO.
38819
38820 2007-04-25  Bruno Haible  <bruno@clisp.org>
38821
38822         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
38823
38824 2007-04-25  Bruno Haible  <bruno@clisp.org>
38825
38826         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
38827         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
38828         * tests/test-unistd.c: Likewise.
38829         * tests/test-fcntl.c: Likewise.
38830
38831 2007-04-23  Eric Blake  <ebb9@byu.net>
38832
38833         * lib/fflush.c: Fix missing include.
38834         Reported by Bruno Haible.
38835
38836 2007-04-23  Bruno Haible  <bruno@clisp.org>
38837
38838         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
38839         Reported by Eric Blake.
38840
38841 2007-04-23  Bruno Haible  <bruno@clisp.org>
38842
38843         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
38844
38845 2007-04-23  Bruno Haible  <bruno@clisp.org>
38846
38847         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
38848
38849 2007-04-23  Bruno Haible  <bruno@clisp.org>
38850
38851         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
38852         Needed on HP-UX 11.
38853
38854 2007-04-16  Eric Blake  <ebb9@byu.net>
38855
38856         Make fflush rely on fpurge.
38857         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
38858         open coding all variants.
38859         * modules/fflush (Depends-on): Add fpurge and unistd.
38860         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
38861         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
38862
38863         Fix --with-tests compilation on cygwin.
38864         * modules/argmatch-tests (Makefile.am): List gnulib library first
38865         in LDADD.
38866         * modules/argp-tests (Makefile.am): Likewise.
38867         * modules/array-list-tests (Makefile.am): Likewise.
38868         * modules/array-oset-tests (Makefile.am): Likewise.
38869         * modules/avltree-list-tests (Makefile.am): Likewise.
38870         * modules/avltree-oset-tests (Makefile.am): Likewise.
38871         * modules/avltreehash-list-tests (Makefile.am): Likewise.
38872         * modules/carray-list-tests (Makefile.am): Likewise.
38873         * modules/dirname-tests (Makefile.am): Likewise.
38874         * modules/frexp-tests (Makefile.am): Likewise.
38875         * modules/isnanl-tests (Makefile.am): Likewise.
38876         * modules/linked-list-tests (Makefile.am): Likewise.
38877         * modules/linkedhash-list-tests (Makefile.am): Likewise.
38878         * modules/lock-tests (Makefile.am): Likewise.
38879         * modules/rbtree-list-tests (Makefile.am): Likewise.
38880         * modules/rbtree-oset-tests (Makefile.am): Likewise.
38881         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
38882         * modules/tls-tests (Makefile.am): Likewise.
38883         * modules/tsearch-tests (Makefile.am): Likewise.
38884         * modules/xvasprintf-tests (Makefile.am): Likewise.
38885
38886         Fix fpurge for cygwin.
38887         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
38888         value.
38889         * modules/fpurge-tests (Depends-on): Clean up trash.
38890
38891 2007-04-16  Simon Josefsson  <simon@josefsson.org>
38892
38893         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
38894
38895         * m4/autobuild.m4: Re-indent.
38896
38897 2007-04-13  Bruno Haible  <bruno@clisp.org>
38898
38899         * modules/fpurge-tests: New file.
38900         * tests/test-fpurge.c: New file.
38901
38902         * modules/fpurge: New file.
38903         * lib/fpurge.h: New file.
38904         * lib/fpurge.c: New file.
38905         * m4/fpurge.m4: New file.
38906
38907 2007-04-13  Bruno Haible  <bruno@clisp.org>
38908
38909         * modules/fbufmode-tests: New file.
38910         * tests/test-fbufmode.c: New file.
38911
38912         * modules/fbufmode: New file.
38913         * lib/fbufmode.h: New file.
38914         * lib/fbufmode.c: New file.
38915         * m4/fbufmode.m4: New file.
38916
38917 2007-04-13  Bruno Haible  <bruno@clisp.org>
38918
38919         * modules/fwritable-tests: New file.
38920         * tests/test-fwritable.c: New file.
38921
38922         * modules/fwritable: New file.
38923         * lib/fwritable.h: New file.
38924         * lib/fwritable.c: New file.
38925         * m4/fwritable.m4: New file.
38926
38927 2007-04-13  Bruno Haible  <bruno@clisp.org>
38928
38929         * modules/freadable-tests: New file.
38930         * tests/test-freadable.c: New file.
38931
38932         * modules/freadable: New file.
38933         * lib/freadable.h: New file.
38934         * lib/freadable.c: New file.
38935         * m4/freadable.m4: New file.
38936
38937 2007-04-13  Bruno Haible  <bruno@clisp.org>
38938
38939         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
38940         MOSTLYCLEANFILES.
38941
38942 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
38943
38944         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
38945         gzip bootstrap.conf to avoid dragging in i18n machinery.
38946         (gnulib_tool_option): Use it.
38947
38948 2007-04-13  Bruno Haible  <bruno@clisp.org>
38949
38950         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
38951         %F directives.
38952         * tests/test-vasprintf-posix.c (test_function): Likewise.
38953         * tests/test-snprintf-posix.h (test_function): Likewise.
38954         * tests/test-sprintf-posix.h (test_function): Likewise.
38955         * tests/test-fprintf-posix.h (test_function): Likewise.
38956         * tests/test-printf-posix.h (test_function): Likewise.
38957         * tests/test-fprintf-posix.out: Likewise.
38958
38959 2007-04-13  Bruno Haible  <bruno@clisp.org>
38960
38961         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
38962         * modules/tls-tests (configure.ac): Likewise.
38963         Reported by Arto C. Nirkko <anirkko@insel.ch>.
38964
38965 2007-04-13  Bruno Haible  <bruno@clisp.org>
38966
38967         * lib/tls.c (glthread_tls_get): Fix return type.
38968         Patch by Arto C. Nirkko <anirkko@insel.ch>.
38969
38970 2007-04-12  Eric Blake  <ebb9@byu.net>
38971
38972         * modules/gettime (Depends-on): Remove gettime.
38973         Reported by Dmitry V. Levin.
38974
38975 2007-04-12  Bruno Haible  <bruno@clisp.org>
38976
38977         * modules/fflush (Include): Mention <stdio.h>.
38978         * modules/strtoimax (Include): Mention <inttypes.h>.
38979         * modules/strtoumax (Include): Likewise.
38980
38981 2007-04-12  Eric Blake  <ebb9@byu.net>
38982
38983         * .cvsignore: New file.
38984         * .gitignore: Likewise.
38985
38986 2007-04-12  Bruno Haible  <bruno@clisp.org>
38987
38988         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
38989         not before, since $(LDADD) often contains libgnu.a.
38990         * modules/striconv-tests (test_striconv_LDADD): Likewise.
38991         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
38992         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
38993         Needed on Cygwin.
38994
38995 2007-04-12  Eric Blake  <ebb9@byu.net>
38996
38997         Work around glibc's failure to flush stdin on fclose.
38998         * lib/closein.c (close_stdin): Flush stdin before closing.
38999
39000         Work around glibc's failure to reset seekable stdin on exit.
39001         * modules/closein: New module.
39002         * lib/closein.c: New file.
39003         * lib/closein.h: Likewise.
39004         * m4/closein.m4: Likewise.
39005         * MODULES.html.sh (File stream based Input/Output): Document it.
39006
39007 2007-04-12  Simon Josefsson  <simon@josefsson.org>
39008
39009         * gnulib-tool: Rename generated 'autobuild' script to
39010         'do-autobuild' in --create-megatestdir output.
39011
39012         * doc/gnulib.texi (Build robot for gnulib): Fix.
39013
39014 2007-04-12  Simon Josefsson  <simon@josefsson.org>
39015
39016         * modules/sysexits (Depends-on): Add absolute-header.
39017
39018 2007-04-12  Eric Blake  <ebb9@byu.net>
39019
39020         No need to preserve errno on success.
39021         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
39022         Reported by Bruno Haible.
39023
39024 2007-04-12  Simon Josefsson  <simon@josefsson.org>
39025
39026         * MODULES.html.sh (Support for maintaining and releasing
39027         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
39028
39029 2007-04-12  Simon Josefsson  <simon@josefsson.org>
39030
39031         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
39032
39033 2007-04-12  Simon Josefsson  <simon@josefsson.org>
39034
39035         * modules/autobuild: New module.
39036
39037         * m4/autobuild.m4: New file.
39038
39039 2007-04-11  Bruno Haible  <bruno@clisp.org>
39040
39041         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
39042         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
39043         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
39044         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
39045         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
39046         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
39047         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
39048         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
39049         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
39050         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
39051         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
39052         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
39053         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
39054         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
39055         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
39056         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
39057         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
39058         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
39059         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
39060         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
39061         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
39062         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
39063         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
39064         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
39065         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
39066         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
39067         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
39068         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
39069         Reported by Eric Blake.
39070
39071 2007-04-11  Bruno Haible  <bruno@clisp.org>
39072
39073         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
39074
39075 2007-04-10  Bruno Haible  <bruno@clisp.org>
39076
39077         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
39078         for NaN and Infinity. Needed on FreeBSD 6.1.
39079         * tests/test-vasnprintf-posix.c (test_function): Undo last change
39080         regarding results for "%010a" of Infinity and NaN.
39081         * tests/test-vasprintf-posix.c (test_function): Likewise.
39082         * tests/test-snprintf-posix.h (test_function): Likewise.
39083         * tests/test-sprintf-posix.h (test_function): Likewise.
39084         * tests/test-fprintf-posix.h (test_function): Likewise.
39085         * tests/test-printf-posix.h (test_function): Likewise.
39086         * tests/test-fprintf-posix.out: Likewise.
39087
39088 2007-04-10  Bruno Haible  <bruno@clisp.org>
39089
39090         * modules/locale-tests: New file.
39091         * tests/test-locale.c: New file.
39092
39093         * modules/locale: New file.
39094         * lib/locale_.h: New file.
39095         * m4/locale_h.m4: New file.
39096
39097 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
39098             Bruno Haible  <bruno@clisp.org>
39099
39100         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
39101         be determined, test for availability of the copysignf, copysign,
39102         copysignl functions.
39103         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
39104         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
39105         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
39106
39107 2007-04-09  Eric Blake  <ebb9@byu.net>
39108
39109         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
39110         * modules/stdio (Makefile.am): Support fflush.
39111         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
39112         * modules/fflush: New file.
39113         * lib/fflush.c: Likewise.
39114         * m4/fflush.m4: Likewise.
39115         * modules/fflush-tests: New test.
39116         * tests/test-fflush.c: Likewise.
39117         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
39118
39119 2007-04-06  Bruno Haible  <bruno@clisp.org>
39120
39121         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
39122         (VASNPRINTF): Use signbit for faster determination whether to print a
39123         minus sign.
39124         * modules/vasnprintf (Files): Remove lib/float+.h.
39125         * modules/fprintf-posix (Depends-on): Add signbit.
39126         * modules/snprintf-posix (Depends-on): Likewise.
39127         * modules/sprintf-posix (Depends-on): Likewise.
39128         * modules/vasnprintf-posix (Depends-on): Likewise.
39129         * modules/vasprintf-posix (Depends-on): Likewise.
39130         * modules/vfprintf-posix (Depends-on): Likewise.
39131         * modules/vsnprintf-posix (Depends-on): Likewise.
39132         * modules/vsprintf-posix (Depends-on): Likewise.
39133
39134 2007-04-06  Bruno Haible  <bruno@clisp.org>
39135
39136         * tests/test-frexp.c (main): Test also the sign bit of zero results.
39137         * tests/test-frexpl.c (main): Likewise.
39138         * tests/test-ldexpl.c (main): Likewise.
39139         * modules/frexp-tests (Depends-on): Add signbit.
39140         * modules/frexpl-tests (Depdends-on): Likewise.
39141         * modules/ldexpl-tests (Depdends-on): Likewise.
39142
39143 2007-04-06  Bruno Haible  <bruno@clisp.org>
39144
39145         * modules/signbit-tests: New file.
39146         * tests/test-signbit.c: New file.
39147
39148         * modules/signbit: New file.
39149         * lib/signbitf.c: New file.
39150         * lib/signbitd.c: New file.
39151         * lib/signbitl.c: New file.
39152         * m4/signbit.m4: New file.
39153         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
39154         (signbit): New macro.
39155         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
39156         REPLACE_SIGNBIT.
39157         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
39158         REPLACE_FREXPL into math.h.
39159
39160 2007-04-06  Bruno Haible  <bruno@clisp.org>
39161
39162         * modules/isnanf-nolibm-tests: New file.
39163         * tests/test-isnanf.c: New file.
39164
39165         * modules/isnanf-nolibm: New file.
39166         * lib/isnanf.h: New file.
39167         * lib/isnanf.c: New file.
39168         * lib/isnan.c: Consider the USE_FLOAT macro.
39169         * m4/isnanf.m4: New file.
39170
39171 2007-04-06  Bruno Haible  <bruno@clisp.org>
39172
39173         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
39174         (Link): New section.
39175
39176         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
39177
39178 2007-04-06  Bruno Haible  <bruno@clisp.org>
39179
39180         Assume the 'long double' type.
39181         * m4/longdouble.m4: Remove file.
39182         * config/srclist.txt: Don't mention longdouble.m4.
39183         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
39184         * lib/float+.h: Likewise.
39185         * lib/frexp.c: Likewise.
39186         * lib/printf-args.h: Likewise.
39187         * lib/printf-args.c: Likewise.
39188         * lib/printf-frexp.c: Likewise.
39189         * lib/printf-parse.c: Likewise.
39190         * lib/vasnprintf.c: Likewise.
39191         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
39192         * m4/intl.m4: Likewise.
39193         * m4/isnanl.m4: Likewise.
39194         * m4/printf.m4: Likewise.
39195         * m4/printf-frexpl.m4: Likewise.
39196         * m4/vasnprintf.m4: Likewise.
39197         * modules/allocsa (Files): Remove m4/longdouble.m4.
39198         * modules/gettext (Files): Likewise.
39199         * modules/relocatable-prog-wrapper (Files): Likewise.
39200         * modules/vasnprintf (Files): Likewise.
39201         * modules/isnanl (Files): Likewise.
39202         (Include): Simplify.
39203         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
39204         (Include): Simplify.
39205         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
39206         (Include): Simplify.
39207         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
39208         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
39209         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
39210         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
39211         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
39212         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
39213         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
39214         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
39215         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
39216         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
39217         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
39218         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
39219         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
39220         * tests/test-isnanl.c: Likewise.
39221         * tests/test-snprintf-posix.h: Likewise.
39222         * tests/test-sprintf-posix.h: Likewise.
39223         * tests/test-vasnprintf-posix.c: Likewise.
39224         * tests/test-vasnprintf-posix2.c: Likewise.
39225         * tests/test-vasprintf-posix.c: Likewise.
39226
39227 2007-04-06  Bruno Haible  <bruno@clisp.org>
39228
39229         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
39230         * lib/math_.h [__DECC]: Include the overridden include file through
39231         #include_next, outside the double-inclusion guard.
39232         * lib/stdio_.h [__DECC]: Likewise.
39233         * lib/stdlib_.h [__DECC]: Likewise.
39234         * lib/string_.h [__DECC]: Likewise.
39235         * lib/time_.h [__DECC]: Likewise.
39236         * lib/wchar_.h [__DECC]: Likewise.
39237         * lib/wctype_.h [__DECC]: Likewise.
39238         * lib/inttypes_.h [__DECC]: Likewise.
39239         Reported by Albert Chin <china@thewrittenword.com> in
39240         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
39241
39242 2007-04-04  Eric Blake  <ebb9@byu.net>
39243
39244         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
39245         1.5.x.
39246
39247 2007-04-04  Bruno Haible  <bruno@clisp.org>
39248
39249         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
39250         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
39251
39252 2007-04-04  Bruno Haible  <bruno@clisp.org>
39253
39254         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
39255         results for "%010a" of Infinity and NaN.
39256         * tests/test-vasprintf-posix.c (test_function): Likewise.
39257         * tests/test-snprintf-posix.h (test_function): Likewise.
39258         * tests/test-sprintf-posix.h (test_function): Likewise.
39259         * tests/test-fprintf-posix.h (test_function): Remove these tests.
39260         * tests/test-printf-posix.h (test_function): Likewise.
39261         * tests/test-fprintf-posix.out: Update.
39262         Needed for FreeBSD 6.1.
39263
39264 2007-04-04  Bruno Haible  <bruno@clisp.org>
39265
39266         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
39267         directly used by the gnulib modules nor by gnulib-tool.
39268
39269 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
39270
39271         * DEPENDENCIES: Give overall description of version dependency
39272         desirability.  Use more-typical names for apps.
39273         Add shell, coreutils, diffutils, grep, tar, gzip.
39274
39275 2007-04-04  Simon Josefsson  <simon@josefsson.org>
39276
39277         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
39278
39279 2007-04-04  Karl Berry  <karl@gnu.org>
39280
39281         * MODULES.html.sh (func_module): missing '.
39282
39283 2007-04-03  Bruno Haible  <bruno@clisp.org>
39284
39285         * modules/argmatch-tests (Makefile.am): New variable
39286         test_argmatch_LDADD.
39287         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
39288         * modules/array-list-tests (Makefile.am): New variable
39289         test_array_list_LDADD.
39290         * modules/array-oset-tests (Makefile.am): New variable
39291         test_array_oset_LDADD.
39292         * modules/avltree-list-tests (Makefile.am): New variable
39293         test_avltree_list_LDADD.
39294         * modules/avltree-oset-tests (Makefile.am): New variable
39295         test_avltree_oset_LDADD.
39296         * modules/avltreehash-list-tests (Makefile.am): New variable
39297         test_avltreehash_list_LDADD.
39298         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
39299         test_canonicalize_lgpl_LDADD.
39300         * modules/carray-list-tests (Makefile.am): New variable
39301         test_carray_list_LDADD.
39302         * modules/dirname-tests (Makefile.am): New variable
39303         test_dirname_LDADD.
39304         * modules/linked-list-tests (Makefile.am): New variable
39305         test_linked_list_LDADD.
39306         * modules/linkedhash-list-tests (Makefile.am): New variable
39307         test_linkedhash_list_LDADD.
39308         * modules/rbtree-list-tests (Makefile.am): New variable
39309         test_rbtree_list_LDADD.
39310         * modules/rbtree-oset-tests (Makefile.am): New variable
39311         test_rbtree_oset_LDADD.
39312         * modules/rbtreehash-list-tests (Makefile.am): New variable
39313         test_rbtreehash_list_LDADD.
39314         * modules/xvasprintf-tests (Makefile.am): New variable
39315         test_xvasprintf_LDADD.
39316         Reported by Eric Blake.
39317
39318 2007-04-03  Eric Blake  <ebb9@byu.net>
39319
39320         * DEPENDENCIES: Weaken m4 requirements.
39321
39322 2007-04-03  Bruno Haible  <bruno@clisp.org>
39323
39324         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
39325         * modules/isnanl-tests (configure.ac): Likewise.
39326
39327 2007-04-03  Ben Pfaff  <blp@gnu.org>
39328
39329         * modules/iconv_open: Add $(srcdir)/ to source directory
39330         references in Makefile fragments that call gperf, to fix VPATH
39331         builds.
39332
39333 2007-04-03  Bruno Haible  <bruno@clisp.org>
39334
39335         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
39336         * lib/ldexpl.c: Undo last change.
39337
39338 2007-04-03  Bruno Haible  <bruno@clisp.org>
39339
39340         * modules/printf-frexpl (Depends-on): Undo last change.
39341         (Files): Add m4/ldexpl.m4.
39342
39343 2007-04-03  Bruno Haible  <bruno@clisp.org>
39344
39345         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
39346         * modules/isnanl (Link): New section.
39347
39348         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
39349         * modules/frexp (Link): New section.
39350
39351         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
39352         * modules/frexpl (Link): New section.
39353
39354         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
39355         * modules/ldexpl (Link): New section.
39356
39357 2007-04-03  Bruno Haible  <bruno@clisp.org>
39358
39359         * modules/TEMPLATE-EXTENDED: New file.
39360         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
39361
39362 2007-04-03  Bruno Haible  <bruno@clisp.org>
39363
39364         * DEPENDENCIES: New file.
39365         Suggested by Simon Josefsson.
39366
39367 2007-04-03  Bruno Haible  <bruno@clisp.org>
39368
39369         * doc/gnulib.texi: Escape @.
39370
39371 2007-04-03  James Youngman  <jay@gnu.org>
39372         and Paul Eggert  <eggert@cs.ucla.edu>
39373
39374         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
39375         birthtime on all systems that have birthtime, not just those which
39376         use st_birthtimensec rather than st_birthtim.  Putting zero in
39377         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
39378         that the birth time is not available for files on an NFS mount.
39379
39380 2007-04-03  Simon Josefsson  <simon@josefsson.org>
39381
39382         * modules/memxor: Move back from crypto/, suggested by Bruno.
39383         * modules/crypto/hmac-sha1: Fix memxor dependency.
39384
39385         * modules/crypto/gc: Moved from ../.
39386
39387 2007-04-02  Eric Blake  <ebb9@byu.net>
39388
39389         * lib/ldexpl.c (includes): Avoid libm.
39390
39391         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
39392
39393 2007-04-02  Bruno Haible  <bruno@clisp.org>
39394
39395         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
39396         on IRIX.
39397
39398 2007-04-02  Bruno Haible  <bruno@clisp.org>
39399
39400         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
39401         x86 or x86_64 platforms running MacOS X.
39402         Reported by Ryan Schmidt <@ryandesign.com>.
39403
39404 2007-04-02  Bruno Haible  <bruno@clisp.org>
39405
39406         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
39407         i386.
39408
39409 2007-04-01  Simon Josefsson  <simon@josefsson.org>
39410
39411         * modules/crypto/arcfour: Moved from ../.
39412         * modules/crypto/arcfour-tests: Moved from ../.
39413         * modules/crypto/arctwo: Moved from ../.
39414         * modules/crypto/arctwo-tests: Moved from ../.
39415         * modules/crypto/des: Moved from ../.
39416         * modules/crypto/des-tests: Moved from ../.
39417         * modules/crypto/gc-arcfour: Moved from ../.
39418         * modules/crypto/gc-arcfour-tests: Moved from ../.
39419         * modules/crypto/gc-arctwo: Moved from ../.
39420         * modules/crypto/gc-arctwo-tests: Moved from ../.
39421         * modules/crypto/gc-des: Moved from ../.
39422         * modules/crypto/gc-des-tests: Moved from ../.
39423         * modules/crypto/gc-hmac-md5: Moved from ../.
39424         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
39425         * modules/crypto/gc-hmac-sha1: Moved from ../.
39426         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
39427         * modules/crypto/gc-md2: Moved from ../.
39428         * modules/crypto/gc-md2-tests: Moved from ../.
39429         * modules/crypto/gc-md4: Moved from ../.
39430         * modules/crypto/gc-md4-tests: Moved from ../.
39431         * modules/crypto/gc-md5: Moved from ../.
39432         * modules/crypto/gc-md5-tests: Moved from ../.
39433         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
39434         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
39435         * modules/crypto/gc-random: Moved from ../.
39436         * modules/crypto/gc-rijndael: Moved from ../.
39437         * modules/crypto/gc-rijndael-tests: Moved from ../.
39438         * modules/crypto/gc-sha1: Moved from ../.
39439         * modules/crypto/gc-sha1-tests: Moved from ../.
39440         * modules/crypto/gc-tests: Moved from ../.
39441         * modules/crypto/hmac-md5: Moved from ../.
39442         * modules/crypto/hmac-md5-tests: Moved from ../.
39443         * modules/crypto/hmac-sha1: Moved from ../.
39444         * modules/crypto/hmac-sha1-tests: Moved from ../.
39445         * modules/crypto/md2: Moved from ../.
39446         * modules/crypto/md2-tests: Moved from ../.
39447         * modules/crypto/md4: Moved from ../.
39448         * modules/crypto/md4-tests: Moved from ../.
39449         * modules/crypto/md5: Moved from ../.
39450         * modules/crypto/md5-tests: Moved from ../.
39451         * modules/crypto/memxor: Moved from ../.
39452         * modules/crypto/rijndael: Moved from ../.
39453         * modules/crypto/rijndael-tests: Moved from ../.
39454         * modules/crypto/sha1: Moved from ../.
39455
39456 2007-03-30  James Youngman  <jay@gnu.org>
39457
39458         * tests/test-stat-time.c (prepare_test): use chmod() rather than
39459         rename() to change the ctime of a file (because ctime is unaffected
39460         by rename on jfs2 on AIX 5.1).
39461         (main): Start by doing cleanup, in case a previous run failed leaving
39462         test files behind.
39463
39464 2007-03-31  Bruno Haible  <bruno@clisp.org>
39465
39466         Support old proprietary implementations of iconv.
39467         * modules/iconv_open: New file.
39468         * lib/iconv_.h: New file.
39469         * m4/iconv_h.m4: New file.
39470         * lib/iconv_open.c: New file.
39471         * lib/iconv_open-aix.gperf: New file.
39472         * lib/iconv_open-hpux.gperf: New file.
39473         * lib/iconv_open-irix.gperf: New file.
39474         * lib/iconv_open-osf.gperf: New file.
39475         * m4/iconv_open.m4: New file.
39476         * modules/linebreak (Depends-on): Add iconv_open.
39477         * modules/striconv (Depends-on): Likewise.
39478         * modules/striconveh (Depends-on): Likewise.
39479         * modules/unicodeio (Depends-on): Likewise.
39480         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
39481         (iconv_t)(-1).
39482         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
39483         conversion if cd is (iconv_t)(-1).
39484         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
39485         is not possible.
39486
39487 2007-03-31  Bruno Haible  <bruno@clisp.org>
39488
39489         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
39490         work on Solaris either. Protect also second use of "autodetect_jp".
39491
39492 2007-03-31  Bruno Haible  <bruno@clisp.org>
39493
39494         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
39495         the function is not present.
39496
39497 2007-03-31  Bruno Haible  <bruno@clisp.org>
39498
39499         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
39500         the function is not present.
39501
39502 2007-03-31  Bruno Haible  <bruno@clisp.org>
39503
39504         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
39505         a bug in HP-UX iconv_open().
39506
39507 2007-03-31  Bruno Haible  <bruno@clisp.org>
39508
39509         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
39510         (Mathematics <math.h>): New section, add fpieee.
39511         (Input/output <stdio.h>): Add fseterr.
39512         (Mathematics <math.h>): New section, add printf-frexp.
39513         (Container data structures): Add sublist.
39514         (Core language properties): Add fpucw, inline.
39515         (Functions for greatest-width integer types <inttypes.h>): Add
39516         imaxabs, imaxdiv, inttypes.
39517         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
39518         isnanl-nolibm, ldexp.
39519         (Mathematics <math.h>): New section, add printf-frexpl.
39520         (Support for systems lacking POSIX:2001): Add fprintf-posix,
39521         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
39522         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
39523         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
39524         (Unicode string functions): Add unistr/u*-mbtoucr.
39525         (Java): Add javacomp-script, javaexec-script.
39526         (C#): Add csharpcomp-script, csharpexec-script.
39527         (Support for building libraries and executables): Add havelib,
39528         relocatable-*.
39529         (Support for maintaining and releasing projects): Renamed from
39530         'Support for maintaining and release projects'. Add announce-gen.
39531
39532 2007-03-31  Bruno Haible  <bruno@clisp.org>
39533
39534         * README: Talk primarily about git.
39535         (git and CVS): Renamed from CVS.
39536         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
39537         gnulib is available through git.
39538         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
39539
39540 2007-03-30  Bruno Haible  <bruno@clisp.org>
39541
39542         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
39543         * lib/poll_.h: Likewise.
39544         * lib/stat_.h: Likewise.
39545         * lib/sys_time_.h: Likewise.
39546         * lib/sysexit_.h: Likewise.
39547         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
39548         * lib/stdbool_.h: Likewise.
39549         * lib/byteswap_.h: Add double-inclusion guard.
39550
39551 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
39552
39553         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
39554
39555 2007-03-30  Karl Berry  <karl@gnu.org>
39556
39557         * config/srclist-update: double space after USA in the license
39558         substitution, since that's how it's usually (?) written.
39559
39560 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
39561
39562         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
39563         reported by Bruno Haible.
39564
39565 2007-03-29  Bruno Haible  <bruno@clisp.org>
39566
39567         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
39568         a bug in AIX iconv().
39569
39570 2007-03-29  Bruno Haible  <bruno@clisp.org>
39571
39572         * modules/ldexpl-tests: New file.
39573         * tests/test-ldexpl.c: New file.
39574
39575 2007-03-29  Bruno Haible  <bruno@clisp.org>
39576
39577         * lib/ldexpl.c: Include fpucw.h.
39578         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
39579         multiplication.
39580         * modules/ldexpl (Depends-on): Add fpucw.
39581
39582 2007-03-29  Bruno Haible  <bruno@clisp.org>
39583
39584         * modules/ldexpl: New file.
39585         * m4/ldexpl.m4: New file.
39586         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
39587         set.
39588         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
39589         REPLACE_LDEXPL.
39590         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
39591         REPLACE_LDEXPL.
39592         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
39593         gl_FUNC_LDEXPL_WORKS.
39594         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
39595         * modules/mathl (Files): Remove lib/ldexpl.c.
39596         (Depends-on): Add ldexpl.
39597
39598 2007-03-29  Bruno Haible  <bruno@clisp.org>
39599
39600         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
39601
39602 2007-03-29  Bruno Haible  <bruno@clisp.org>
39603
39604         * tests/test-striconveh.c (main): Don't assume that a direct conversion
39605         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
39606         and possibly also HP-UX.
39607         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
39608         work on AIX, IRIX, HP-UX, OSF/1.
39609         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
39610         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
39611         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
39612         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
39613         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
39614         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
39615
39616 2007-03-29  Bruno Haible  <bruno@clisp.org>
39617
39618         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
39619
39620 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
39621
39622         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
39623         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
39624
39625 2007-03-29  Eric Blake  <ebb9@byu.net>
39626
39627         * lib/acl-internal.h: Remove redundant include.
39628         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
39629         Cygwin when a file is locked.
39630
39631 2007-03-29  Bruno Haible  <bruno@clisp.org>
39632
39633         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
39634         file.
39635         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
39636
39637 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
39638
39639         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
39640         try to remove a parent directory if the child couldn't be removed
39641         (except for the first rmdir, which could fail because the child
39642         doesn't exist).  Problem reported by Jeff Blaine in
39643         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
39644
39645 2007-03-28  Bruno Haible  <bruno@clisp.org>
39646
39647         * lib/striconveh.c (utf8conv_carefully): New function.
39648         (mem_cd_iconveh_internal): Invoke it.
39649
39650 2007-03-28  Bruno Haible  <bruno@clisp.org>
39651
39652         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
39653         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
39654         input.
39655         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
39656         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
39657         unistr/u8-uctomb.
39658
39659 2007-03-28  Bruno Haible  <bruno@clisp.org>
39660
39661         * modules/unistr/u8-mbtoucr: New file.
39662         * lib/unistr/u8-mbtoucr.c: New file.
39663         * modules/unistr/u16-mbtoucr: New file.
39664         * lib/unistr/u16-mbtoucr.c: New file.
39665         * modules/unistr/u16-mbtoucr: New file.
39666         * lib/unistr/u16-mbtoucr.c: New file.
39667         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
39668
39669 2007-03-27  Simon Josefsson  <simon@josefsson.org>
39670             Bruno Haible  <bruno@clisp.org>
39671
39672         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
39673         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
39674         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
39675
39676         * m4/stdio_h.m4: Add stubs for vasprintf too.
39677
39678         * modules/stdio: Support vasprintf in sed command.
39679
39680         * modules/vasprintf: Depend on stdio for prototypes.  Remove
39681         vasprintf.h.  Add stdio module indicator.
39682
39683         * lib/stdio_.h: Declare asprintf and vasprintf, based on
39684         vasprintf.h.
39685
39686         * lib/vasprintf.h: File removed.
39687
39688         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
39689         * lib/vasprintf.c: Ditto.
39690         * lib/xvasprintf.c: Ditto.
39691         * tests/test-vasprintf-posix.c: Ditto.
39692         * tests/test-vasprintf.c: Ditto.
39693
39694 2007-03-27  Bruno Haible  <bruno@clisp.org>
39695
39696         Make vasnprintf multithread-safe.
39697         * lib/vasnprintf.c (decimal_point_char): New function.
39698         (VASNPRINTF): Use it.
39699         Suggested by Simon Josefsson.
39700
39701 2007-03-27  Eric Blake  <ebb9@byu.net>
39702
39703         Support sub-second birthtime on cygwin.
39704         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
39705         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
39706         (get_stat_birthtime): Also work with st_birthtim.
39707
39708 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
39709
39710         * lib/stat-time.h (USE_BIRTHTIME): Remove.
39711         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
39712         (get_stat_birthtime_ns): Do not try to use "spare" fields.
39713         (get_stat_birthtime_ns): Simplify compile-time tests.
39714         (get_stat_birthtime): Change the API to look like
39715         get_stat_mtime etc., except return a negative tv_nsec on error.
39716         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
39717         Don't check for "spare" fields.
39718         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
39719         or for struct stat.st_birthtime, as these tests aren't used.
39720         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
39721
39722 2007-03-27  Bruno Haible  <bruno@clisp.org>
39723
39724         * lib/stat-time.h: Include <sys/stat.h>.
39725
39726 2007-03-27  James Youngman  <jay@gnu.org>
39727
39728         * lib/stat-time.h (get_stat_birthtime): New function for
39729           retrieving st_birthtime as provided by UFS2 (hence *BSD).
39730         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
39731           and its variants.
39732         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
39733         * modules/stat-time-test: New file.
39734         * tests/test-stat-time.c: New test, devised by Bruno Haible.
39735
39736 2007-03-26  Bruno Haible  <bruno@clisp.org>
39737
39738         Better support of signalling NaNs.
39739         * lib/atanl.c: Include isnanl.h.
39740         (atanl): Perform test for NaN at the beginning of the function and
39741         through a call to isnanl.
39742         * lib/cosl.c: Include isnanl.h.
39743         (cosl): Perform test for NaN at the beginning of the function and
39744         through a call to isnanl.
39745         * lib/ldexpl.c: Include isnanl.h.
39746         (ldexpl): Perform test for NaN through a call to isnanl.
39747         * lib/logl.c: Include isnanl.h.
39748         (logl): Perform test for NaN at the beginning of the function and
39749         through a call to isnanl.
39750         * lib/sinl.c: Include isnanl.h.
39751         (sinl): Perform test for NaN at the beginning of the function and
39752         through a call to isnanl.
39753         * lib/sqrtl.c: Include isnanl.h.
39754         (sqrtl): Perform test for NaN at the beginning of the function and
39755         through a call to isnanl.
39756         * lib/tanl.c: Include isnanl.h.
39757         (tanl): Perform test for NaN at the beginning of the function and
39758         through a call to isnanl.
39759         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
39760         * modules/mathl (Depends-on): Add isnanl.
39761
39762 2007-03-26  Eric Blake  <ebb9@byu.net>
39763
39764         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
39765         regression in logic sense of previous patch.
39766
39767 2007-03-26  Bruno Haible  <bruno@clisp.org>
39768
39769         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
39770         unportable shell command "if ! ...".
39771         Reported by Ralf Wildenhues.
39772
39773 2007-03-25  Bruno Haible  <bruno@clisp.org>
39774
39775         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
39776         <sysexits.h> file, and only add EX_CONFIG.
39777         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
39778         absolute file name and whether it is sufficient. Substitute also
39779         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
39780         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
39781         ABSOLUTE_SYSEXITS_H into sysexits.h.
39782
39783 2007-03-25  Bruno Haible  <bruno@clisp.org>
39784
39785         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
39786         hints is NULL.
39787
39788 2007-03-25  Bruno Haible  <bruno@clisp.org>
39789
39790         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
39791         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
39792
39793 2007-03-25  Bruno Haible  <bruno@clisp.org>
39794
39795         * lib/vasnprintf.c: Include langinfo.h.
39796         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
39797         multithread-safe.
39798         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
39799         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
39800         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
39801         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
39802         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
39803         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
39804         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
39805         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
39806         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
39807         Reported by Simon Josefsson.
39808
39809 2007-03-25  Bruno Haible  <bruno@clisp.org>
39810
39811         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
39812         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
39813         * modules/vasnprintf (Depends-on): Add stdint.
39814
39815 2007-03-25  Bruno Haible  <bruno@clisp.org>
39816
39817         * modules/fpieee: New file.
39818         * m4/fpieee.m4: New file.
39819         * modules/isnan-nolibm (Depends-on): Add fpieee.
39820         * modules/isnanl-nolibm (Depends-on): Add fpieee.
39821         * modules/isnanl (Depends-on): Add fpieee.
39822
39823 2007-03-25  Bruno Haible  <bruno@clisp.org>
39824
39825         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
39826
39827 2007-03-25  Bruno Haible  <bruno@clisp.org>
39828
39829         Avoid test failures on IRIX 6.5.
39830         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
39831         (main): Use it.
39832         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
39833         macros.
39834         (main): Use them.
39835
39836 2007-03-25  Bruno Haible  <bruno@clisp.org>
39837
39838         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
39839         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
39840         exists but doesn't work.
39841         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
39842         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
39843         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
39844         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
39845
39846 2007-03-25  Bruno Haible  <bruno@clisp.org>
39847
39848         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
39849         returns inf. Needed on IRIX 6.5.
39850
39851 2007-03-25  Bruno Haible  <bruno@clisp.org>
39852
39853         * tests/test-frexpl.c: Include isnanl-nolibm.h.
39854         (main): Use isnanl instead of x != x idiom.
39855         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
39856
39857         * tests/test-frexp.c: Include isnan.h.
39858         (main): Use isnan instead of x != x idiom.
39859         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
39860
39861 2007-03-25  Bruno Haible  <bruno@clisp.org>
39862
39863         * tests/test-frexp.c (NaN): New function/macro.
39864         (main): Use it instead of 0.0 / 0.0.
39865         * tests/test-isnan.c (NaN): New function/macro.
39866         (main): Use it instead of 0.0 / 0.0.
39867         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
39868         (test_function): Use it instead of 0.0 / 0.0.
39869         * tests/test-vasprintf-posix.c (NaN): New function/macro.
39870         (test_function): Use it instead of 0.0 / 0.0.
39871         * tests/test-snprintf-posix.h (NaN): New function/macro.
39872         (test_function): Use it instead of 0.0 / 0.0.
39873         * tests/test-sprintf-posix.h (NaN): New function/macro.
39874         (test_function): Use it instead of 0.0 / 0.0.
39875         * tests/test-fprintf-posix.h (NaN): New function/macro.
39876         (test_function): Use it instead of 0.0 / 0.0.
39877         * tests/test-printf-posix.h (NaN): New function/macro.
39878         (test_function): Use it instead of 0.0 / 0.0.
39879
39880         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
39881
39882 2007-03-25  Bruno Haible  <bruno@clisp.org>
39883
39884         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
39885
39886 2007-03-25  Bruno Haible  <bruno@clisp.org>
39887
39888         * lib/regexec.c (merge_state_with_log): Make static.
39889
39890 2007-03-25  Bruno Haible  <bruno@clisp.org>
39891
39892         * lib/trigl.c (kernel_rem_pio2): Make static.
39893
39894 2007-03-25  Bruno Haible  <bruno@clisp.org>
39895
39896         * lib/sincosl.c (sincosl_table): Make static.
39897
39898 2007-03-25  Bruno Haible  <bruno@clisp.org>
39899
39900         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
39901         if the compiler does not support C99.
39902
39903 2007-03-25  Bruno Haible  <bruno@clisp.org>
39904
39905         * modules/time (Makefile.am): Ensure all rule action lines start with a
39906         tab.
39907
39908 2007-03-24  Bruno Haible  <bruno@clisp.org>
39909
39910         * modules/tsearch-tests: New file.
39911         * tests/test-tsearch.sh: New file.
39912         * tests/test-tsearch.c: New file, mostly copied from glibc.
39913
39914         * modules/search-tests: New file.
39915         * tests/test-search.c: New file.
39916
39917         * modules/search: New file.
39918         * lib/search_.h: New file, incorporating lib/tsearch.h.
39919         * m4/search_h.m4: New file.
39920         * lib/tsearch.h: Remove file.
39921         * lib/tsearch.c: Include search.h instead of tsearch.h.
39922         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
39923         HAVE_TSEARCH.
39924         * modules/tsearch (Files): Remove lib/tsearch.h.
39925         (Depends-on): Add search.
39926         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
39927         (Include): Change tsearch.h into search.h.
39928
39929 2007-03-24  Bruno Haible  <bruno@clisp.org>
39930
39931         * modules/fpucw: New file.
39932         * lib/fpucw.h: New file.
39933         * lib/frexp.c: Include fpucw.h.
39934         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
39935         (FUNC): Use them.
39936         * lib/printf-frexp.c: Include fpucw.h.
39937         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
39938         (FUNC): Use them.
39939         * lib/vasnprintf.c: Include fpucw.h.
39940         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
39941         'long double' calculations.
39942         * tests/test-frexpl.c: Include fpucw.h.
39943         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
39944         * tests/test-printf-frexpl.c: Include fpucw.h.
39945         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
39946         * modules/frexpl (Depends-on): Add fpucw.
39947         * modules/printf-frexpl (Depends-on): Likewise.
39948         * modules/fprintf-posix (Depends-on): Likewise.
39949         * modules/snprintf-posix (Depends-on): Likewise.
39950         * modules/sprintf-posix (Depends-on): Likewise.
39951         * modules/vasnprintf-posix (Depends-on): Likewise.
39952         * modules/vasprintf-posix (Depends-on): Likewise.
39953         * modules/vfprintf-posix (Depends-on): Likewise.
39954         * modules/vsnprintf-posix (Depends-on): Likewise.
39955         * modules/vsprintf-posix (Depends-on): Likewise.
39956         * modules/frexpl-tests (Depends-on): Likewise.
39957         * modules/printf-frexpl-tests (Depends-on): Likewise.
39958
39959 2007-03-24  Bruno Haible  <bruno@clisp.org>
39960
39961         * lib/float+.h: New file.
39962         * lib/isnan.c: Include float+.h.
39963         (SIZE): New macro.
39964         (FUNC): Compare only SIZE bytes of the value.
39965         * lib/vasnprintf.c: Include float+.h.
39966         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
39967         SIZEOF_LDBL or SIZEOF_DBL bytes.
39968         * modules/isnan-nolibm (Files): Add lib/float+.h.
39969         * modules/isnanl-nolibm (Files): Add lib/float+.h.
39970         * modules/isnanl (Files): Add lib/float+.h.
39971         * modules/vasnprintf (Files): Add lib/float+.h.
39972
39973 2007-03-24  Bruno Haible  <bruno@clisp.org>
39974
39975         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
39976         include isnanl-nolibm.h.
39977
39978 2007-03-24  Bruno Haible  <bruno@clisp.org>
39979
39980         * tests/test-read-file.c (main): Don't produce spurious output for
39981         expected situations. Make the test fail if it encountered unexpected
39982         results.
39983
39984 2007-03-24  Bruno Haible  <bruno@clisp.org>
39985
39986         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
39987         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
39988
39989 2007-03-24  Bruno Haible  <bruno@clisp.org>
39990
39991         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
39992
39993 2007-03-24  Bruno Haible  <bruno@clisp.org>
39994
39995         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
39996         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
39997
39998         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
39999         * modules/utf8-ucs4: Turn into a symbolic link to module
40000         unistr/u8-mbtouc.
40001
40002         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
40003         utf8-ucs4-unsafe.
40004         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
40005         unistr/u8-mbtouc-unsafe.
40006
40007         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
40008         * modules/utf16-ucs4: Turn into a symbolic link to module
40009         unistr/u16-mbtouc.
40010
40011         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
40012         utf16-ucs4-unsafe.
40013         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
40014         unistr/u16-mbtouc-unsafe.
40015
40016         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
40017         * modules/ucs4-utf8: Turn into a symbolic link to module
40018         unistr/u8-ubtomb.
40019
40020         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
40021         * modules/ucs4-utf16: Turn into a symbolic link to module
40022         unistr/u16-ubtomb.
40023
40024 2007-03-24  Bruno Haible  <bruno@clisp.org>
40025
40026         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
40027         Enable the function only if HAVE_INLINE.
40028         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
40029         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
40030         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
40031         Enable the function only if HAVE_INLINE.
40032         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
40033         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
40034         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
40035         Enable the function only if HAVE_INLINE.
40036         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
40037         Enable the function only if HAVE_INLINE.
40038         * modules/utf8-ucs4: Update.
40039         * modules/utf8-ucs4-unsafe: Update.
40040         * modules/utf16-ucs4: Update.
40041         * modules/utf16-ucs4-unsafe: Update.
40042         * modules/ucs4-utf8: Update.
40043         * modules/ucs4-utf16: Update.
40044
40045 2007-03-24  Bruno Haible  <bruno@clisp.org>
40046
40047         * lib/utf8-ucs4.h: Remove file.
40048         * lib/utf8-ucs4-unsafe.h: Remove file.
40049         * lib/utf16-ucs4.h: Remove file.
40050         * lib/utf16-ucs4-unsafe.h: Remove file.
40051         * lib/ucs4-utf8.h: Remove file.
40052         * lib/ucs4-utf16.h: Remove file.
40053         * lib/unistr.h: Include their previous contents.
40054         * m4/utf-ucs4.m4: Remove file.
40055         * m4/ucs4-utf.m4: Remove file.
40056         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
40057         (Depends-on): Add unistr/base.
40058         (configure.ac): Remove gl_UTF_UCS4.
40059         (Makefile.am): Update.
40060         (Include): Change to unistr.h.
40061         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
40062         (Depends-on): Add unistr/base.
40063         (configure.ac): Remove gl_UTF_UCS4.
40064         (Makefile.am): Update.
40065         (Include): Change to unistr.h.
40066         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
40067         (Depends-on): Add unistr/base.
40068         (configure.ac): Remove gl_UTF_UCS4.
40069         (Makefile.am): Update.
40070         (Include): Change to unistr.h.
40071         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
40072         (Depends-on): Add unistr/base.
40073         (configure.ac): Remove gl_UTF_UCS4.
40074         (Makefile.am): Update.
40075         (Include): Change to unistr.h.
40076         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
40077         (Depends-on): Add unistr/base.
40078         (configure.ac): Remove gl_UCS4_UTF.
40079         (Makefile.am): Update.
40080         (Include): Change to unistr.h.
40081         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
40082         (Depends-on): Add unistr/base.
40083         (configure.ac): Remove gl_UCS4_UTF.
40084         (Makefile.am): Update.
40085         (Include): Change to unistr.h.
40086         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
40087         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
40088         utf8-ucs4-unsafe.h.
40089         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
40090         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
40091         utf16-ucs4-unsafe.h.
40092         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
40093         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
40094         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
40095         * lib/unistr/u8-strchr.c: Likewise.
40096         * lib/unistr/u8-strrchr.c: Likewise.
40097         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
40098         * lib/unistr/u16-strchr.c: Likewise.
40099         * lib/unistr/u16-strrchr.c: Likewise.
40100         * lib/striconveh.c: Update.
40101         * lib/linebreak.c: Update.
40102
40103 2007-03-24  Bruno Haible  <bruno@clisp.org>
40104
40105         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
40106         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
40107
40108 2007-03-22  Bruno Haible  <bruno@clisp.org>
40109
40110         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
40111
40112 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
40113
40114         * MODULES.html.sh (File system functions): New module write-any-file.
40115         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
40116         * m4/write-any-file.m4: New files.
40117
40118 2007-03-23  Eric Blake  <ebb9@byu.net>
40119
40120         * gnulib-tool: Rearrange space-tab sequences, since some editors
40121         like to eat them.
40122
40123 2007-03-23  Eric Blake  <ebb9@byu.net>
40124
40125         * lib/version-etc.c (version_etc_va): Update license wording to
40126         be more concise.  Recommended by Richard Stallman.
40127
40128 2007-03-22  Bruno Haible  <bruno@clisp.org>
40129
40130         * lib/poll.c (MSG_PEEK): New fallback definition.
40131
40132 2007-03-22  Bruno Haible  <bruno@clisp.org>
40133
40134         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
40135         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
40136         (main): Update.
40137         Fixes a compilation error on BeOS.
40138
40139 2007-03-22  Bruno Haible  <bruno@clisp.org>
40140
40141         * modules/frexpl-tests: New file.
40142         * tests/test-frexpl.c: New file.
40143
40144         * modules/frexpl: New file.
40145         * m4/frexpl.m4: New file.
40146         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
40147         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
40148         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
40149         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
40150         (Depends-on): Add frexpl. Remove isnanl-nolibm.
40151         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
40152
40153 2007-03-22  Bruno Haible  <bruno@clisp.org>
40154
40155         * lib/frexpl.c: Share code with lib/frexp.c.
40156         * modules/mathl (Files): Add lib/frexp.c.
40157         (Depends-on): Add isnanl-nolibm.
40158
40159 2007-03-22  Bruno Haible  <bruno@clisp.org>
40160
40161         * modules/printf-frexp (Files): Add m4/frexp.m4.
40162         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
40163         only if the found frexp function actually works.
40164
40165 2007-03-22  Bruno Haible  <bruno@clisp.org>
40166
40167         * lib/frexp.c: Remove older implementation that uses divisions.
40168
40169 2007-03-21  Bruno Haible  <bruno@clisp.org>
40170
40171         * modules/frexp-tests: New file.
40172         * tests/test-frexp.c: New file.
40173
40174         * modules/frexp: New file.
40175         * lib/frexp.c: New file.
40176         * m4/frexp.m4: New file.
40177         * lib/math_.h (frexp): New declaration.
40178         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
40179         REPLACE_FREXP.
40180         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
40181
40182 2007-03-21  Bruno Haible  <bruno@clisp.org>
40183
40184         * modules/isnanl-tests: New file.
40185         * tests/test-isnanl.c: New file.
40186
40187         * modules/isnanl: New file.
40188         * lib/isnanl.h: New file.
40189         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
40190         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
40191         gl_FUNC_ISNANL_WORKS.
40192         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
40193         New macros.
40194
40195 2007-03-21  Bruno Haible  <bruno@clisp.org>
40196
40197         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
40198         lib/isnanl.h.
40199         (Include): Update.
40200         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
40201         * lib/vasnprintf.c: Update.
40202         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
40203         tests/test-isnanl.h, remove tests/test-isnanl.c.
40204         (Makefile.am): Update.
40205         * tests/test-isnanl-nolibm.c: New file.
40206         * tests/test-isnanl.h: New file.
40207         * tests/test-isnanl.c: Remove file.
40208
40209 2007-03-21  Jim Meyering  <jim@meyering.net>
40210
40211         When trying to open ".", treat ESTALE like EACCES.
40212         * lib/savewd.c (savewd_save): Resort to forking not just upon
40213         failure with EACCES, but also when errno is ESTALE.
40214
40215 2007-03-20  Bruno Haible  <bruno@clisp.org>
40216
40217         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
40218         Needed on AIX 5.1. Reported by Matthew Woehlke.
40219
40220 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
40221
40222         Suggestions by Bruno Haible:
40223         * lib/acl-internal.h: Include "gettext.h" rather than rolling
40224         our own.
40225         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
40226         * modules/acl (Depends-on): Add gettext.
40227
40228 2007-03-19  Bruno Haible  <bruno@clisp.org>
40229
40230         * modules/iconvme: Remove file.
40231         * lib/iconvme.h: Remove file.
40232         * lib/iconvme.c: Remove file.
40233         * m4/iconvme.m4: Remove file.
40234
40235 2007-03-19  Bruno Haible  <bruno@clisp.org>
40236
40237         * doc/relocatable-maint.texi: Break long shell script line.
40238         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
40239
40240 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
40241
40242         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
40243         handle file_has_acl.
40244         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
40245         * lib/acl.c: Move header inclusions and related macro defns into
40246         lib/acl-internal.h.
40247         (S_ISLNK): Remove defn, since that's now done for us.
40248         (file_has_acl): Move to lib/file-has-acl.c.
40249         Call acl_trivial if available.  This is the crucial part of the fix.
40250         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
40251         shared within the library.  Rewrite a bit, partly to make it compatible
40252         with the GNU coding style.
40253         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
40254         Remove unnecessary double-quotes.
40255         Don't test for acl_to_text; the build will catch that.
40256         Replace acl_entries if it doesn't exist and it is needed.
40257         Check for -lsec and acl_trivial (as used on Solaris 10).
40258         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
40259         lib/file-has-acl.c.
40260         (Depends-on): Add sys_stat, for S_ISLNK.
40261
40262 2007-03-19  Ben Pfaff  <blp@gnu.org>
40263
40264         * doc/gnulib.texi: Fix typos.
40265         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
40266
40267 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
40268
40269         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
40270         If size is zero here, buf must be zero.
40271
40272 2007-03-19  Simon Josefsson  <simon@josefsson.org>
40273
40274         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
40275         <bruno@clisp.org>.
40276
40277 2007-03-18  Bruno Haible  <bruno@clisp.org>
40278
40279         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
40280         Suggested by Eric Blake.
40281
40282 2007-03-18  Ben Pfaff  <blp@gnu.org>
40283
40284         * doc/relocatable.texi: Recommend using as prefix a directory
40285         that does not exist and will never be created.  Based on
40286         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
40287         and others.
40288
40289 2007-03-17  Bruno Haible  <bruno@clisp.org>
40290
40291         * lib/fchownat.c: Include lchown.h.
40292
40293 2007-03-17  Bruno Haible  <bruno@clisp.org>
40294
40295         Fix endless loop when the given allocated size was > INT_MAX.
40296         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
40297         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
40298         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
40299         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
40300         * lib/sprintf.c (sprintf): Likewise.
40301
40302 2007-03-17  Bruno Haible  <bruno@clisp.org>
40303
40304         * tests/test-argp-2.sh (func_compare): Output a context diff.
40305
40306 2007-03-17  Bruno Haible  <bruno@clisp.org>
40307
40308         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
40309         locale's decimal-point character.
40310
40311 2007-03-17  Bruno Haible  <bruno@clisp.org>
40312
40313         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
40314         before comparing it. Needed because on some platforms (e.g. x86) a
40315         'long double' occupies less bytes than sizeof (long double).
40316
40317 2007-03-17  Bruno Haible  <bruno@clisp.org>
40318
40319         * tests/test-crc.c (main): Make printf statements 64-bit clean.
40320         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
40321         * tests/test-getaddrinfo.c (simple): Likewise.
40322         * tests/test-read-file.c (main): Likewise.
40323
40324 2007-03-17  Bruno Haible  <bruno@clisp.org>
40325
40326         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
40327
40328 2007-03-17  Bruno Haible  <bruno@clisp.org>
40329
40330         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
40331         unused variable.
40332
40333 2007-03-17  Bruno Haible  <bruno@clisp.org>
40334
40335         * tests/test-c-strcasecmp.c: Include c-strcase.h.
40336         * tests/test-c-strncasecmp.c: Likewise.
40337
40338 2007-03-17  Bruno Haible  <bruno@clisp.org>
40339
40340         * modules/stdlib (Depends-on): Add unistd.
40341         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
40342         Needed for MacOS X 10.3.
40343
40344 2007-03-17  Bruno Haible  <bruno@clisp.org>
40345
40346         * lib/unistr/u-strdup.h: Include <stdlib.h>.
40347
40348 2007-03-17  Bruno Haible  <bruno@clisp.org>
40349
40350         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
40351
40352 2007-03-17  Bruno Haible  <bruno@clisp.org>
40353
40354         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
40355         to reflect files copied from gnulib (with or without modifications).
40356         Suggested by Jim Meyering.
40357
40358 2007-03-17  Eric Blake  <ebb9@byu.net>
40359
40360         * NEWS: Document stdlib change from 2007-02-18.
40361
40362 2007-03-17  Jim Meyering  <jim@meyering.net>
40363
40364         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
40365         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
40366         someone uses a name containing shell meta-characters.
40367         Reported by Alfred M. Szmidt.
40368
40369         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
40370
40371 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
40372
40373         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
40374         and copy gettext configuration files only if configure.ac contains
40375         a use of AM_GNU_GETTEXT_VERSION.
40376
40377 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
40378
40379         * build-aux/bootstrap (gnulib_name): New variable.
40380         (gnulib_tool_options): Use it.
40381
40382 2007-03-13  Simon Josefsson  <simon@josefsson.org>
40383
40384         * tests/test-des.c: Use new namespace.
40385
40386 2007-03-15  Bruno Haible  <bruno@clisp.org>
40387
40388         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
40389         Reported by James Youngman <jay@gnu.org>.
40390
40391 2007-03-15  Bruno Haible  <bruno@clisp.org>
40392
40393         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
40394         declared prototype. Needed with cc on OSF/1 5.1.
40395
40396 2007-03-15  Bruno Haible  <bruno@clisp.org>
40397
40398         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
40399         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
40400         (struct gl_list_implementation): Add dispose_fn argument to the
40401         'create_empty', 'create' methods.
40402         (struct gl_list_impl_base): Add field 'dispose_fn'.
40403         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
40404         argument.
40405         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
40406         dispose_fn argument.
40407         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
40408         dispose_fn on the dropped values.
40409         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
40410         dispose_fn argument.
40411         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
40412         dropped values.
40413         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
40414         (gl_tree_remove_node): Call dispose_fn on the dropped value.
40415         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
40416         (gl_tree_remove_node): Call dispose_fn on the dropped value.
40417         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
40418         argument.
40419         (gl_tree_list_free): Call dispose_fn on the dropped values.
40420         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
40421         the dropped values.
40422         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
40423         Add dispose_fn argument.
40424         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
40425         Call dispose_fn on the dropped values.
40426         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
40427         Add dispose_fn argument.
40428         (gl_sublist_create): Initialize the 'dispose_fn' field.
40429         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
40430         * tests/test-array_list.c (main): Update.
40431         * tests/test-carray_list.c (main): Update.
40432         * tests/test-avltree_list.c (main): Update.
40433         * tests/test-rbtree_list.c (main): Update.
40434         * tests/test-avltreehash_list.c (main): Update.
40435         * tests/test-rbtreehash_list.c (main): Update.
40436         * tests/test-linked_list.c (main): Update.
40437         * tests/test-linkedhash_list.c (main): Update.
40438         * tests/test-array_oset.c (main): Update.
40439
40440 2007-03-15  Bruno Haible  <bruno@clisp.org>
40441
40442         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
40443         (gl_oset_create_empty): Add dispose_fn argument.
40444         (struct gl_oset_implementation): Add dispose_fn argument to
40445         'create_empty' method.
40446         (struct gl_oset_impl_base): Add dispose_fn field.
40447         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
40448         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
40449         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
40450         values.
40451         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
40452         (gl_tree_oset_free): Call dispose_fn on the dropped values.
40453         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
40454         dropped value.
40455         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
40456         dropped value.
40457         * tests/test-array_oset.c (main): Update.
40458         * tests/test-avltree_oset.c (main): Update.
40459         * tests/test-rbtree_oset.c (main): Update.
40460         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
40461
40462 2007-03-13  Bruno Haible  <bruno@clisp.org>
40463
40464         * tests/test-stdbool.c (i): Update after last patch.
40465
40466 2007-03-12  Bruno Haible  <bruno@clisp.org>
40467
40468         * lib/quotearg.c: Include <wctype.h> early, before the definition of
40469         the iswprint macro. Needed on Solaris 2.5.1.
40470
40471 2007-03-12  Bruno Haible  <bruno@clisp.org>
40472
40473         * tests/test-printf-frexp.c (main): Declare x as volatile.
40474
40475 2007-03-12  Simon Josefsson  <simon@josefsson.org>
40476
40477         * doc/gnulib.texi (Build robot for gnulib): New section.
40478
40479 2007-03-12  Jim Meyering  <jim@meyering.net>
40480
40481         * build-aux/bootstrap: New file.
40482         * build-aux/bootstrap.conf: New file, from coreutils.
40483
40484 2007-03-11  Bruno Haible  <bruno@clisp.org>
40485
40486         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
40487
40488 2007-03-12  Simon Josefsson  <simon@josefsson.org>
40489
40490         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
40491         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
40492         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
40493
40494 2007-03-11  Bruno Haible  <bruno@clisp.org>
40495
40496         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
40497         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
40498
40499 2007-03-11  Bruno Haible  <bruno@clisp.org>
40500
40501         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
40502         formula. Needed for SunPRO C 5.0.
40503
40504 2007-03-11  Bruno Haible  <bruno@clisp.org>
40505
40506         * modules/long-options (Depends-on): Add getopt.
40507
40508 2007-03-11  Bruno Haible  <bruno@clisp.org>
40509
40510         * modules/modechange (Depends-on): Add stdbool.
40511
40512 2007-03-11  Bruno Haible  <bruno@clisp.org>
40513
40514         * modules/i-ring (Depends-on): Add stdbool.
40515
40516 2007-03-11  Bruno Haible  <bruno@clisp.org>
40517
40518         * modules/gc-des (Depends-on): Add stdbool.
40519
40520 2007-03-11  Bruno Haible  <bruno@clisp.org>
40521
40522         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
40523
40524 2007-03-11  Bruno Haible  <bruno@clisp.org>
40525
40526         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
40527
40528 2007-03-11  Bruno Haible  <bruno@clisp.org>
40529
40530         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
40531
40532 2007-03-11  Bruno Haible  <bruno@clisp.org>
40533
40534         * lib/vasnprintf.c (sprintf): Undefine.
40535
40536 2007-03-11  Bruno Haible  <bruno@clisp.org>
40537
40538         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
40539         initializers in SunPRO C and Compaq C compilers.
40540
40541 2007-03-11  Bruno Haible  <bruno@clisp.org>
40542
40543         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
40544         decrementing code ANSI C compliant.
40545
40546 2007-03-11  Bruno Haible  <bruno@clisp.org>
40547
40548         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
40549         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
40550
40551 2007-03-11  Bruno Haible  <bruno@clisp.org>
40552
40553         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
40554         <stdbool.h> substitute doesn't pass.
40555
40556 2007-03-11  Bruno Haible  <bruno@clisp.org>
40557
40558         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
40559
40560 2007-03-11  Bruno Haible  <bruno@clisp.org>
40561
40562         * gnulib-tool (func_create_megatestdir): Create also an autobuild
40563         script, for submission to autobuild.josefsson.org.
40564
40565 2007-03-10  Bruno Haible  <bruno@clisp.org>
40566
40567         * modules/canonicalize-lgpl-tests: New file.
40568         * tests/test-canonicalize-lgpl.sh: New file.
40569         * tests/test-canonicalize-lgpl.c: New file.
40570
40571         * modules/c-strcase-tests: New file.
40572         * tests/test-c-strcase.sh: New file.
40573         * tests/test-c-strcasecmp.c: New file.
40574         * tests/test-c-strncasecmp.c: New file.
40575
40576         * modules/atexit-tests: New file.
40577         * tests/test-atexit.sh: New file.
40578         * tests/test-atexit.c: New file.
40579
40580 2007-03-10  Bruno Haible  <bruno@clisp.org>
40581
40582         * tests/test-binary-io.sh: Use temporary filenames that are not so
40583         likely to clash with those of other tests (in a parallel make).
40584         * tests/test-binary-io.c: Likewise.
40585
40586 2007-03-10  Bruno Haible  <bruno@clisp.org>
40587
40588         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
40589         fallback; use #error instead.
40590         Suggested by Simon Josefsson.
40591
40592 2007-03-10  Bruno Haible  <bruno@clisp.org>
40593
40594         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
40595         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
40596         first and the last.
40597
40598 2007-03-10  Bruno Haible  <bruno@clisp.org>
40599
40600         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
40601
40602 2007-03-10  Bruno Haible  <bruno@clisp.org>
40603
40604         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
40605         "make distcheck".
40606         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
40607         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
40608         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
40609
40610 2007-03-10  Bruno Haible  <bruno@clisp.org>
40611
40612         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
40613         variable.
40614         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
40615         variable.
40616
40617 2007-03-09  Eric Blake  <ebb9@byu.net>
40618         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
40619
40620         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
40621         types are not being provided by gnulib.
40622         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
40623         types are supported.
40624
40625 2007-03-10  Bruno Haible  <bruno@clisp.org>
40626
40627         * lib/stdio_.h (__attribute__): New macro.
40628         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
40629         vsprintf): Specify __attribute__ __format__ for GCC.
40630         Suggested by Eric Blake.
40631
40632 2007-03-09  Bruno Haible  <bruno@clisp.org>
40633
40634         * modules/printf-posix-tests: New file.
40635         * tests/test-printf-posix.sh: New file.
40636         * tests/test-printf-posix.c: New file.
40637
40638         * modules/printf-posix: New file.
40639         * lib/printf.c: New file.
40640         * m4/printf-posix-rpl.m4: New file.
40641         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
40642         REPLACE_PRINTF.
40643         * lib/stdio_.h (printf): New declaration.
40644         (format, __format__, ____printf____, ____scanf____, ____strftime____,
40645         ____strfmon____): New macros.
40646         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
40647         REPLACE_PRINTF.
40648
40649 2007-03-09  Bruno Haible  <bruno@clisp.org>
40650
40651         * tests/test-vasnprintf-posix2.sh: New file.
40652         * tests/test-vasnprintf-posix2.c: New file.
40653         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
40654         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
40655         (Makefile.am): Activate test-vasnprintf-posix2.sh.
40656
40657         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
40658         a locale dependent decimal point, rather than always '.'.
40659
40660 2007-03-09  Eric Blake  <ebb9@byu.net>
40661
40662         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
40663         spite of platforms like Tandem/NSK that define it to -1.
40664
40665 2007-03-08  Bruno Haible  <bruno@clisp.org>
40666
40667         * modules/vprintf-posix-tests: New file.
40668         * tests/test-vprintf-posix.sh: New file.
40669         * tests/test-vprintf-posix.c: New file.
40670         * tests/test-printf-posix.h: New file.
40671
40672         * modules/vprintf-posix: New file.
40673         * lib/vprintf.c: New file.
40674         * m4/vprintf-posix.m4: New file.
40675         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
40676         REPLACE_VPRINTF.
40677         * lib/stdio_.h (vprintf): New declaration.
40678         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
40679         REPLACE_VPRINTF.
40680
40681 2007-03-08  Bruno Haible  <bruno@clisp.org>
40682
40683         * modules/fprintf-posix-tests: New file.
40684         * tests/test-fprintf-posix.sh: New file.
40685         * tests/test-fprintf-posix.c: New file.
40686
40687         * modules/fprintf-posix: New file.
40688         * lib/fprintf.c: New file.
40689         * m4/fprintf-posix.m4: New file.
40690         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
40691         REPLACE_FPRINTF.
40692         * lib/stdio_.h (fprintf): New declaration.
40693         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
40694         REPLACE_FPRINTF.
40695
40696 2007-03-08  Bruno Haible  <bruno@clisp.org>
40697
40698         * modules/vfprintf-posix-tests: New file.
40699         * tests/test-vfprintf-posix.sh: New file.
40700         * tests/test-vfprintf-posix.c: New file.
40701         * tests/test-fprintf-posix.h: New file.
40702         * tests/test-fprintf-posix.out: New file.
40703
40704         * modules/vfprintf-posix: New file.
40705         * lib/vfprintf.c: New file.
40706         * m4/vfprintf-posix.m4: New file.
40707         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
40708         REPLACE_VFPRINTF.
40709         * lib/stdio_.h (vfprintf): New declaration.
40710         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
40711         REPLACE_VFPRINTF.
40712
40713 2007-03-08  Bruno Haible  <bruno@clisp.org>
40714
40715         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
40716
40717 2007-03-08  Bruno Haible  <bruno@clisp.org>
40718
40719         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
40720         instead of 'expr' invocations.
40721         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40722         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40723         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40724         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40725         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40726         Suggested by Paul Eggert.
40727
40728 2007-03-08  Bruno Haible  <bruno@clisp.org>
40729
40730         * modules/fseterr-tests: New file.
40731         * tests/test-fseterr.c: New file.
40732
40733         * modules/fseterr: New file.
40734         * lib/fseterr.h: New file.
40735         * lib/fseterr.c: New file.
40736
40737 2007-03-08  Bruno Haible  <bruno@clisp.org>
40738
40739         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
40740         * lib/getopt_.h: Likewise.
40741         * lib/mbswidth.h: Likewise.
40742         * lib/setenv.h: Likewise.
40743         * lib/vasnprintf.h: Likewise.
40744         * lib/vasprintf.h: Likewise.
40745         * lib/verror.h: Likewise.
40746         * lib/xsetenv.h: Likewise.
40747         * lib/xvasprintf.h: Likewise.
40748
40749 2007-03-08  Jim Meyering  <jim@meyering.net>
40750
40751         * users.txt: Add parted.
40752
40753         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
40754
40755 2007-03-07  Bruno Haible  <bruno@clisp.org>
40756
40757         * m4/printf.m4: Make the shell script snippets copy&pastable.
40758
40759 2007-03-02  Bruno Haible  <bruno@clisp.org>
40760
40761         * lib/netinet_in_.h: New file.
40762         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
40763         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
40764         * modules/netinet_in (Files): Add lib/netinet_in_.h.
40765         (Depends-on): Add absolute-header.
40766         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
40767         into netinet/in.h.
40768
40769 2007-03-03  Bruno Haible  <bruno@clisp.org>
40770
40771         * lib/sys_select_.h: New file.
40772         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
40773         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
40774         * modules/sys_select (Files): Add lib/sys_select_.h.
40775         (Depends-on): Add absolute-header.
40776         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
40777         into sys/select.h.
40778
40779 2007-03-02  Bruno Haible  <bruno@clisp.org>
40780
40781         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
40782         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
40783         values.
40784         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
40785         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
40786         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
40787         * modules/sys_socket (Depends-on): Add absolute-header.
40788         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
40789         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
40790         (Include): Remove requirement of inclusion of <sys/types.h>.
40791
40792 2007-03-02  Bruno Haible  <bruno@clisp.org>
40793
40794         * lib/byteswap_.h (bswap_32): Fix formula.
40795
40796 2007-03-06  Bruno Haible  <bruno@clisp.org>
40797
40798         * modules/sprintf-posix-tests: New file.
40799         * tests/test-sprintf-posix.c: New file.
40800
40801         * modules/sprintf-posix: New file.
40802         * lib/sprintf.c: New file.
40803         * m4/sprintf-posix.m4: New file.
40804         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
40805         REPLACE_SPRINTF.
40806         * lib/stdio_.h (sprintf): New declaration.
40807         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
40808         REPLACE_SPRINTF.
40809
40810 2007-03-06  Bruno Haible  <bruno@clisp.org>
40811
40812         * modules/vsprintf-posix-tests: New file.
40813         * tests/test-vsprintf-posix.c: New file.
40814         * tests/test-sprintf-posix.h: New file.
40815
40816         * modules/vsprintf-posix: New file.
40817         * lib/vsprintf.c: New file.
40818         * m4/vsprintf-posix.m4: New file.
40819         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
40820         REPLACE_VSPRINTF.
40821         * lib/stdio_.h (vsprintf): New declaration.
40822         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
40823         REPLACE_VSPRINTF.
40824
40825 2007-03-06  Bruno Haible  <bruno@clisp.org>
40826
40827         * modules/vsnprintf (Depend-on): Remove minmax.
40828
40829 2007-03-06  Bruno Haible  <bruno@clisp.org>
40830
40831         * modules/snprintf-posix-tests: New file.
40832         * tests/test-snprintf-posix.c: New file.
40833
40834         * modules/snprintf-posix: New file.
40835         * m4/snprintf-posix.m4: New file.
40836         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
40837         gl_FUNC_SNPRINTF.
40838         (gl_FUNC_SNPRINTF): Invoke it.
40839         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
40840         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
40841         is set.
40842         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
40843
40844 2007-03-06  Bruno Haible  <bruno@clisp.org>
40845
40846         * modules/vsnprintf-posix-tests: New file.
40847         * tests/test-vsnprintf-posix.c: New file.
40848         * tests/test-snprintf-posix.h: New file.
40849
40850         * modules/vsnprintf-posix: New file.
40851         * m4/vsnprintf-posix.m4: New file.
40852         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
40853         gl_FUNC_VSNPRINTF.
40854         (gl_FUNC_VSNPRINTF): Invoke it.
40855         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
40856         * lib/stdio_.h (vsnprintf): Define as a replacement if
40857         REPLACE_VSNPRINTF is set.
40858         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
40859
40860 2007-03-06  Bruno Haible  <bruno@clisp.org>
40861
40862         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
40863         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
40864
40865 2007-03-06  Bruno Haible  <bruno@clisp.org>
40866
40867         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
40868         (asinl): Declare also if HAVE_DECL_ASINL is set.
40869         (atanl): Declare also if HAVE_DECL_ATANL is set.
40870         (ceill): Declare also if HAVE_DECL_CEILL is set.
40871         (cosl): Declare also if HAVE_DECL_COSL is set.
40872         (expl): Declare also if HAVE_DECL_EXPL is set.
40873         (floorl): Declare also if HAVE_DECL_FLOORL is set.
40874         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
40875         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
40876         (logl): Declare also if HAVE_DECL_LOGL is set.
40877         (sinl): Declare also if HAVE_DECL_SINL is set.
40878         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
40879         (tanl): Declare also if HAVE_DECL_TANL is set.
40880         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
40881         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
40882         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
40883         declaration of frexpl, ldexpl.
40884         * modules/printf-frexpl (Depends-on): Add math.
40885         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
40886
40887 2007-03-05  Bruno Haible  <bruno@clisp.org>
40888
40889         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
40890         frexpl and ldexpl are declared.
40891         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
40892
40893 2007-03-05  Bruno Haible  <bruno@clisp.org>
40894
40895         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
40896         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
40897
40898 2007-03-05  Bruno Haible  <bruno@clisp.org>
40899
40900         * lib/stdio_.h: Include <stddef.h>.
40901
40902 2007-03-05  Bruno Haible  <bruno@clisp.org>
40903
40904         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
40905
40906 2007-03-05  Bruno Haible  <bruno@clisp.org>
40907
40908         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
40909         NetBSD 4, from Ralf Wildenhues.
40910
40911 2007-03-04  Bruno Haible  <bruno@clisp.org>
40912
40913         * lib/vasprintf.h: Update #if logic for the case when the functions
40914         exist but are overridden.
40915
40916 2007-03-04  Bruno Haible  <bruno@clisp.org>
40917
40918         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
40919         implementations: glibc-2.4 and MacOS X 10.3.
40920         * tests/test-vasnprintf-posix.c (test_function): Test also the case
40921         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
40922         * tests/test-vasprintf-posix.c (test_function): Likewise.
40923
40924 2007-03-04  Bruno Haible  <bruno@clisp.org>
40925
40926         * modules/vasprintf-posix-tests: New file.
40927         * tests/test-vasprintf-posix.c: New file.
40928
40929         * modules/vasprintf-posix: New file.
40930         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
40931         defined.
40932         * m4/vasprintf-posix.m4: New file.
40933         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
40934         gl_FUNC_VASPRINTF.
40935         (gl_FUNC_VASPRINTF): Invoke it.
40936         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
40937         here.
40938         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
40939
40940 2007-03-04  Bruno Haible  <bruno@clisp.org>
40941
40942         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
40943         REPLACE_GETTIMEOFDAY.
40944         * modules/sys_time (Makefile.am): Likewise.
40945         * m4/sys_time_h.m4: Likewise.
40946         * m4/gettimeofday.m4: Likewise.
40947
40948 2007-03-04  Bruno Haible  <bruno@clisp.org>
40949
40950         * modules/vasnprintf-posix-tests: New file.
40951         * tests/test-vasnprintf-posix.c: New file.
40952
40953         * modules/vasnprintf-posix: New file.
40954         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
40955         printf-frexpl.h.
40956         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
40957         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
40958         REPLACE_VASNPRINTF is defined.
40959         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
40960         gl_FUNC_VASNPRINTF.
40961         (gl_FUNC_VASNPRINTF): Invoke it.
40962         * m4/vasnprintf-posix.m4: New file.
40963         * m4/printf.m4: New file.
40964
40965 2007-03-04  Bruno Haible  <bruno@clisp.org>
40966
40967         Compile progreloc.c only if --enable-relocatable is specified.
40968         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
40969         if --enable-relocatable was specified.
40970         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
40971         lib_SOURCES.
40972
40973 2007-03-04  Jim Meyering  <jim@meyering.net>
40974
40975         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
40976         Use it consistently, rather than enumerating errno constants.
40977
40978 2007-03-04  Bruno Haible  <bruno@clisp.org>
40979
40980         * modules/xvasprintf-tests: New file.
40981         * tests/test-xvasprintf.c: New file.
40982
40983         * modules/vasprintf-tests: New file.
40984         * tests/test-vasprintf.c: New file.
40985
40986         * modules/vasnprintf-tests: New file.
40987         * tests/test-vasnprintf.c: New file.
40988
40989         * modules/vsnprintf-tests: New file.
40990         * tests/test-vsnprintf.c: New file.
40991
40992         * modules/snprintf-tests: New file.
40993         * tests/test-snprintf.c: New file.
40994
40995 2007-03-04  Bruno Haible  <bruno@clisp.org>
40996
40997         Compile relocatable.c only if --enable-relocatable is specified.
40998         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
40999         gl_RELOCATABLE_LIBRARY.
41000         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
41001         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
41002         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
41003         gl_RELOCATABLE_LIBRARY.
41004         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
41005         (Makefile.am): Remove lib_SOURCES.
41006         * modules/relocatable-lib-lgpl (configure.ac): Invoke
41007         gl_RELOCATABLE_LIBRARY.
41008         (Makefile.am): Remove lib_SOURCES.
41009         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
41010         always.
41011         * modules/relocatable-prog-wrapper (configure.ac): Invoke
41012         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
41013
41014 2007-03-04  Bruno Haible  <bruno@clisp.org>
41015
41016         * modules/argmatch-tests: New file.
41017         * tests/test-argmatch.c: New file.
41018
41019         * tests/test-allocsa.c (main): Halve the number of loop runs.
41020
41021         * modules/alloca-opt-tests: New file.
41022         * tests/test-alloca-opt.c: New file.
41023
41024 2007-03-04  Jim Meyering  <jim@meyering.net>
41025
41026         Work around difference between Linux ACLs and Solaris 10 ZFS.
41027         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
41028         for EINVAL.
41029
41030 2007-03-03  Bruno Haible  <bruno@clisp.org>
41031
41032         * modules/relocatable-prog (Depends-on): Add back progreloc's
41033         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
41034
41035 2007-03-03  Bruno Haible  <bruno@clisp.org>
41036
41037         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
41038         * modules/relocatable-lib: New file.
41039
41040 2007-03-03  Bruno Haible  <bruno@clisp.org>
41041
41042         * modules/relocatable-prog: Renamed from modules/relocatable.
41043         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
41044
41045 2007-03-03  Bruno Haible  <bruno@clisp.org>
41046
41047         * modules/relocatable-script (Files): Add doc/relocatable.texi,
41048         m4/relocatable-lib.m4.
41049         (Depends-on): Remove 'relocatable'.
41050         (configure.ac): Add gl_RELOCATABLE_NOP.
41051
41052 2007-03-03  Bruno Haible  <bruno@clisp.org>
41053
41054         * modules/relocatable-prog-wrapper: New file.
41055         * modules/relocatable (Depends-on): Add it. Remove all other
41056         dependencies except progname.
41057         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
41058
41059         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
41060         (gl_FUNC_STRERROR): Nop.
41061         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
41062
41063         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
41064         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
41065
41066         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
41067         (gl_FUNC_READLINK): Update.
41068
41069         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
41070
41071 2007-03-03  Bruno Haible  <bruno@clisp.org>
41072
41073         * lib/xreadlink.c: Include <unistd.h> unconditionally.
41074         * modules/xreadlink (Depends-on): Add unistd.
41075         * modules/xreadlink-with-size (Depends-on): Likewise.
41076
41077 2007-03-03  Bruno Haible  <bruno@clisp.org>
41078
41079         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
41080         extracted from gt_FUNC_SETENV.
41081         (gt_FUNC_SETENV): Remove macro.
41082         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
41083         remove gt_FUNC_SETENV.
41084
41085 2007-03-03  Bruno Haible  <bruno@clisp.org>
41086
41087         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
41088         ENABLE_RELOCATABLE here.
41089         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
41090
41091 2007-03-03  Bruno Haible  <bruno@clisp.org>
41092
41093         * modules/rbtreehash-list-tests (Depends-on): Add progname.
41094         * tests/test-rbtreehash_list.c: Include progname.h.
41095         (main): Call set_program_name.
41096
41097         * modules/rbtree-oset-tests (Depends-on): Add progname.
41098         * tests/test-rbtree_oset.c: Include progname.h.
41099         (main): Call set_program_name.
41100
41101         * modules/rbtree-list-tests (Depends-on): Add progname.
41102         * tests/test-rbtree_list.c: Include progname.h.
41103         (main): Call set_program_name.
41104
41105         * modules/linked-list-tests (Depends-on): Add progname.
41106         * tests/test-linked_list.c: Include progname.h.
41107         (main): Call set_program_name.
41108
41109 2007-03-03  Bruno Haible  <bruno@clisp.org>
41110
41111         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
41112         All uses of __restrict changed to _Restrict_.
41113         * lib/glob_.h (__restrict): Remove macro.
41114
41115 2007-03-02  Bruno Haible  <bruno@clisp.org>
41116
41117         * modules/gettext (configure.ac): Require gettext infrastructure
41118         from version 0.16.1.
41119
41120 2007-03-02  Bruno Haible  <bruno@clisp.org>
41121
41122         * modules/linkedhash-list-tests (Depends-on): Add progname.
41123         * tests/test-linkedhash_list.c: Include progname.h.
41124         (main): Call set_program_name.
41125
41126         * modules/carray-list-tests (Depends-on): Add progname.
41127         * tests/test-carray_list.c: Include progname.h.
41128         (main): Call set_program_name.
41129
41130         * modules/avltreehash-list-tests (Depends-on): Add progname.
41131         * tests/test-avltreehash_list.c: Include progname.h.
41132         (main): Call set_program_name.
41133
41134         * modules/avltree-oset-tests (Depends-on): Add progname.
41135         * tests/test-avltree_oset.c: Include progname.h.
41136         (main): Call set_program_name.
41137
41138         * modules/avltree-list-tests (Depends-on): Add progname.
41139         * tests/test-avltree_list.c: Include progname.h.
41140         (main): Call set_program_name.
41141
41142         * modules/array-oset-tests (Depends-on): Add progname.
41143         * tests/test-array_oset.c: Include progname.h.
41144         (main): Call set_program_name.
41145
41146         * modules/array-list-tests (Depends-on): Add progname.
41147         * tests/test-array_list.c: Include progname.h.
41148         (main): Call set_program_name.
41149
41150         * modules/argp-tests (Depends-on): Add progname.
41151         * tests/test-argp.c: Include argp.h first. Include progname.h.
41152         (main): Call set_program_name.
41153
41154 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
41155
41156         * doc/gnulib-tool.texi (Initial import): Reword description of
41157         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
41158         limited effect even if defined after the first system include.
41159
41160 2007-03-01  Bruno Haible  <bruno@clisp.org>
41161
41162         * build-aux/config.libpath: Update to libtool-1.5.22.
41163         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
41164
41165 2007-03-01  Bruno Haible  <bruno@clisp.org>
41166
41167         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
41168         foo_CFLAGS.
41169         Reported by Ralf Wildenhues.
41170
41171 2007-03-01  Bruno Haible  <bruno@clisp.org>
41172
41173         * build-aux/install-reloc: Remove object files left over by some
41174         compilers.
41175         Reported by Ralf Wildenhues.
41176
41177 2007-03-01  Bruno Haible  <bruno@clisp.org>
41178
41179         * build-aux/install-reloc: Break long lines.
41180
41181 2007-03-01  Bruno Haible  <bruno@clisp.org>
41182
41183         * doc/relocatable.texi: Document that it may not work on OpenBSD.
41184         Reported by Ralf Wildenhues.
41185
41186 2007-03-01  Bruno Haible  <bruno@clisp.org>
41187
41188         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
41189         include ordering constraints.
41190
41191 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
41192
41193         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
41194         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
41195         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
41196         as another example.
41197         * lib/time_.h: Fix misspelling.
41198         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
41199         Require gl_HEADER_TIME_H_DEFAULTS.
41200         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
41201         * m4/time_r.m4 (gl_TIME_R): Likewise.
41202         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
41203
41204 2007-03-01  Bruno Haible  <bruno@clisp.org>
41205
41206         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
41207         * m4/utimens.m4 (gl_UTIMENS): Likewise.
41208
41209 2007-03-01  Jim Meyering  <jim@meyering.net>
41210
41211         * modules/xreadlink (Maintainer): Add my name.
41212         * modules/xreadlink-with-size (Depends-on): Alphabetize.
41213
41214 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
41215             Bruno Haible  <bruno@clisp.org>
41216
41217         * build-aux/install-reloc: Compile also c-ctype.c.
41218         * build-aux/relocatable.sh.in: New file.
41219         * doc/relocatable.texi: New file.
41220         * doc/relocatable-maint.texi: New file.
41221         * doc/gnulib.texi: Include relocatable-maint.texi.
41222         * lib/progreloc.c: Include unistd.h unconditionally.
41223         * lib/relocwrapper.c: Include unistd.h unconditionally.
41224         Include c-ctype.h.
41225         (add_dotbin): Use c_tolower.
41226         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
41227         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
41228         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
41229         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
41230         to m4/relocatable-lib.m4.
41231         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
41232         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
41233         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
41234         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
41235         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
41236         * modules/relocatable: New file.
41237         * modules/relocatable-lib: New file.
41238         * modules/relocatable-script: New file.
41239
41240 2007-02-28  Bruno Haible  <bruno@clisp.org>
41241
41242         Import --enable-relocatable infrastructure.
41243         * build-aux/config.libpath: New file, from GNU gettext.
41244         * build-aux/install-reloc: New file, from GNU gettext.
41245         * build-aux/reloc-ldflags: New file, from GNU gettext.
41246         * lib/relocatable.h: New file, from GNU gettext.
41247         * lib/relocatable.c: New file, from GNU gettext.
41248         * lib/relocwrapper.c: New file, from GNU gettext.
41249         * m4/relocatable.m4: New file, from GNU gettext.
41250
41251 2007-02-28  Bruno Haible  <bruno@clisp.org>
41252
41253         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
41254
41255         * modules/xreadlink: New file, from GNU gettext with modifications.
41256         * lib/xreadlink.c: New file, from GNU gettext.
41257         * lib/xreadlink.h: Add comments.
41258         (xreadlink): New declaration.
41259
41260         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
41261         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
41262         lib/xreadlink-with-size.c.
41263         (configure.ac): Remove gl_XREADLINK invocation.
41264         (Makefile.am): Augment lib_SOURCES.
41265         * m4/xreadlink.m4: Remove file.
41266         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
41267         (xreadlink_with_size): Renamed from xreadink.
41268         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
41269         * modules/canonicalize (Depends-on): Replace xreadlink with
41270         xreadlink-with-size.
41271         * lib/canonicalize.c (canonicalize_filename_mode): Update.
41272
41273 2007-02-25  Jim Meyering  <jim@meyering.net>
41274
41275         * build-aux/announce-gen: When complaining about excess arguments,
41276         list them.
41277
41278 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
41279
41280         * README: Document signed integer overflow situation more
41281         accurately.
41282
41283 2007-02-25  Bruno Haible  <bruno@clisp.org>
41284
41285         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
41286         'a' or 'A' conversion.
41287
41288 2007-02-25  Bruno Haible  <bruno@clisp.org>
41289
41290         * modules/filename: Renamed from modules/pathname.
41291         (Files): Replace lib/pathname.h with lib/filename.h. Replace
41292         lib/concatpath.c with lib/concat-filename.c.
41293         (Makefile.am): Update.
41294         (Include): Replace pathname.h with filename.h.
41295         * lib/filename.h: Renamed from lib/pathname.h.
41296         (concatenated_filename): Renamed from concatenated_pathname.
41297         * lib/concat-filename.c: Renamed from lib/concatpath.c.
41298         (concatenated_filename): Renamed from concatenated_pathname.
41299         * lib/findprog.c: Include filename.h instead of pathname.h.
41300         (find_in_path): Update.
41301         * lib/javacomp.c: Include filename.h instead of pathname.h.
41302         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
41303         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
41304         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
41305         is_oldgcj_14_13_usable, is_javac_usable): Update.
41306         * lib/javaexec.c: Include filename.h instead of pathname.h.
41307         (execute_java_class): Update.
41308         * modules/findprog: Update.
41309         * modules/javacomp: Update.
41310         * modules/javaexec: Update.
41311         * MODULES.html.sh (File system functions): Add 'filename', remove
41312         'pathname'.
41313
41314 2007-02-25  Bruno Haible  <bruno@clisp.org>
41315
41316         * modules/printf-frexpl-tests: New file.
41317         * tests/test-printf-frexpl.c: New file.
41318
41319         * modules/printf-frexpl: New file.
41320         * lib/printf-frexpl.h: New file.
41321         * lib/printf-frexpl.c: New file.
41322         * m4/printf-frexpl.m4: New file.
41323
41324 2007-02-25  Bruno Haible  <bruno@clisp.org>
41325
41326         * modules/printf-frexp-tests: New file.
41327         * tests/test-printf-frexp.c: New file.
41328
41329         * modules/printf-frexp: New file.
41330         * lib/printf-frexp.h: New file.
41331         * lib/printf-frexp.c: New file.
41332         * m4/printf-frexp.m4: New file.
41333
41334 2007-02-25  Bruno Haible  <bruno@clisp.org>
41335
41336         Assume automake >= 1.10 for the tests.
41337         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
41338         * modules/arctwo-tests: Likewise.
41339         * modules/argp-tests: Likewise.
41340         * modules/avltree-list-tests: Likewise.
41341         * modules/avltree-oset-tests: Likewise.
41342         * modules/avltreehash-list-tests: Likewise.
41343         * modules/carray-list-tests: Likewise.
41344         * modules/crc-tests: Likewise.
41345         * modules/des-tests: Likewise.
41346         * modules/gc-arcfour-tests: Likewise.
41347         * modules/gc-arctwo-tests: Likewise.
41348         * modules/gc-des-tests: Likewise.
41349         * modules/gc-hmac-md5-tests: Likewise.
41350         * modules/gc-hmac-sha1-tests: Likewise.
41351         * modules/gc-md2-tests: Likewise.
41352         * modules/gc-md4-tests: Likewise.
41353         * modules/gc-md5-tests: Likewise.
41354         * modules/gc-pbkdf2-sha1-tests: Likewise.
41355         * modules/gc-rijndael-tests: Likewise.
41356         * modules/gc-sha1-tests: Likewise.
41357         * modules/gc-tests: Likewise.
41358         * modules/getaddrinfo-tests: Likewise.
41359         * modules/hmac-md5-tests: Likewise.
41360         * modules/hmac-sha1-tests: Likewise.
41361         * modules/linked-list-tests: Likewise.
41362         * modules/linkedhash-list-tests: Likewise.
41363         * modules/lock-tests: Likewise.
41364         * modules/md2-tests: Likewise.
41365         * modules/md4-tests: Likewise.
41366         * modules/md5-tests: Likewise.
41367         * modules/rbtree-list-tests: Likewise.
41368         * modules/rbtree-oset-tests: Likewise.
41369         * modules/rbtreehash-list-tests: Likewise.
41370         * modules/read-file-tests: Likewise.
41371         * modules/rijndael-tests: Likewise.
41372         * modules/stdint-tests: Likewise.
41373         * modules/tls-tests: Likewise.
41374
41375 2007-02-24  Bruno Haible  <bruno@clisp.org>
41376
41377         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
41378         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
41379         function; instead check whether isnan with a double argument links.
41380         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
41381         function; instead check whether isnan with a 'long double' argument
41382         links.
41383         Reported by Eric Blake <ebb9@byu.net>.
41384
41385 2007-02-24  Bruno Haible  <bruno@clisp.org>
41386
41387         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
41388         defined.
41389         * lib/isnanl.c: Remove all code. Just include isnan.c.
41390         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
41391
41392 2007-02-25  Jim Meyering  <jim@meyering.net>
41393
41394         Avoid conflicting types for 'unsetenv' on FreeBSD.
41395         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
41396         conflicting with FreeBSD's (5.0 and 6.1) function declaration
41397         in stdlib.h.
41398
41399 2007-02-24  Bruno Haible  <bruno@clisp.org>
41400
41401         * modules/isnanl-nolibm-tests: New file.
41402         * tests/test-isnanl.c: New file.
41403
41404         * modules/isnanl-nolibm: New file.
41405         * lib/isnanl.h: New file.
41406         * lib/isnanl.c: New file.
41407         * m4/isnanl.m4: New file.
41408
41409 2007-02-24  Bruno Haible  <bruno@clisp.org>
41410
41411         * modules/isnan-nolibm-tests: New file.
41412         * tests/test-isnan.c: New file.
41413
41414         * modules/isnan-nolibm: New file.
41415         * lib/isnan.h: New file.
41416         * lib/isnan.c: New file.
41417         * m4/isnan.m4: New file.
41418
41419 2007-02-24  Bruno Haible  <bruno@clisp.org>
41420
41421         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
41422         assume that an exponent fits in 20 bits.
41423
41424 2007-02-24  Jim Meyering  <jim@meyering.net>
41425
41426         * m4/regex.m4: Update the description of the configure-time option,
41427         --without-included-regex, to state accurately what the defaults are,
41428         and perhaps to give people an idea why using this option is risky.
41429
41430 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
41431
41432         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
41433         loops on small arguments.  This attempts to avoid the problem
41434         Bruno Haible reported for AIX 4.3.2 in
41435         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
41436
41437 2007-02-23  Bruno Haible  <bruno@clisp.org>
41438
41439         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
41440         Needed for help2man.
41441
41442 2007-02-23  Karl Berry  <karl@gnu.org>
41443
41444         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
41445         exists, foo.h should be cvs-ignored, not committed.
41446
41447 2007-02-23  Eric Blake  <ebb9@byu.net>
41448
41449         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
41450         * lib/stat-time.h (includes): Likewise.
41451         * lib/utimecmp.c (includes): Likewise.
41452         * lib/utimens.h (includes): Likewise.
41453         * lib/getdate.y (includes): Also include "timespec.h" for use
41454         internal to the module.
41455         * modules/utimens (Depends-on): Revert yesterday's patch.
41456         * modules/nanosleep (Depends-on): Add missing dependency.
41457
41458 2007-02-22  Bruno Haible  <bruno@clisp.org>
41459
41460         * lib/glob.c: Don't include getlogin_r.h.
41461
41462 2007-02-22  Jim Meyering  <jim@meyering.net>
41463
41464         * modules/utimens (Depends-on): Add timespec, required for
41465         utimens.h's inclusion of timespec.h.
41466
41467 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
41468
41469         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
41470         long unreadable paths in GNU/Linux.  Problem reported by Andreas
41471         Schwab in
41472         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
41473         I'll try to think of a better way to fix the Solaris problem.
41474
41475         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
41476         like glibc; on Solaris 10, it fails with errno == EINVAL.
41477         POSIX says the behavior is unspecified if the first argument is NULL,
41478         so play it safe and never pass NULL to the system getcwd.
41479
41480 2007-02-21  Jim Meyering  <jim@meyering.net>
41481
41482         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
41483         of gettimeofday.  It would conflict with the one now always
41484         provided via sys_time_.h.  Reported by Matthew Woehlke, as
41485         an IRIX 6.5 build failure.
41486
41487 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
41488
41489         Minor fixups to port to Solaris 10 with Sun C 5.8.
41490         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
41491         * modules/getcwd (Depends-on): Add dirfd.
41492         * lib/putenv.c (putenv): #undef it.
41493         (rpl_putenv): New decl.
41494         (malloc, free): Include <stdlib.h> rather than prototyping separately.
41495
41496 2007-02-20  Bruno Haible  <bruno@clisp.org>
41497
41498         * modules/stdio-tests: New file.
41499         * tests/test-stdio.c: New file.
41500
41501         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
41502         (Depends-on): Add stdio.
41503         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
41504         (Include): Use <stdio.h> instead of vsnprintf.h.
41505         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
41506         HAVE_DECL_VSNPRINTF.
41507         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
41508
41509         * modules/snprintf (Files): Remove lib/snprintf.h.
41510         (Depends-on): Add stdio.
41511         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
41512         (Include): Use <stdio.h> instead of snprintf.h.
41513         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
41514         HAVE_DECL_SNPRINTF.
41515         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
41516         * lib/getaddrinfo.c: Likewise.
41517
41518         * modules/stdio: New file.
41519         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
41520         * lib/snprintf.h: Remove file.
41521         * lib/vsnprintf.h: Remove file.
41522         * lib/.cppi-disable: Remove snprintf.h.
41523         * m4/stdio_h.m4: New file.
41524         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
41525
41526 2007-02-20  Jim Meyering  <jim@meyering.net>
41527
41528         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
41529         used by e.g., mingw.  From Bruno Haible.
41530
41531 2007-02-19  Bruno Haible  <bruno@clisp.org>
41532
41533         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
41534         warnings.
41535         Reported by Ben Pfaff <blp@cs.stanford.edu>.
41536
41537 2007-02-19  Bruno Haible  <bruno@clisp.org>
41538
41539         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
41540         from mingw users.
41541
41542 2007-02-19  Bruno Haible  <bruno@clisp.org>
41543
41544         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
41545         warnings.
41546         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
41547
41548 2007-02-19  Jim Meyering  <jim@meyering.net>
41549
41550         Don't use FD after a successful "fdopendir (fd)".
41551         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
41552         Reset it by calling dirfd on the just-obtained DIR*.
41553
41554         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
41555         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
41556
41557 2007-02-18  Bruno Haible  <bruno@clisp.org>
41558
41559         * lib/readlink.c: Include <unistd.h>.
41560         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
41561         HAVE_READLINK.
41562         * modules/readlink (Depends-on): Add unistd.
41563         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41564         (Include): Add <unistd.h>.
41565
41566         * lib/getlogin_r.h: Remove file.
41567         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
41568         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
41569         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
41570         HAVE_DECL_GETLOGIN_R.
41571         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
41572         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41573         (Include): Use <unistd.h> instead of getlogin_r.h.
41574
41575         * lib/getcwd.h: Remove file.
41576         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
41577         * lib/xgetcwd.c: Likewise.
41578         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
41579         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
41580         * modules/getcwd (Files): Remove lib/getcwd.h.
41581         (Depends-on): Add unistd.
41582         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41583         (Include): Use <unistd.h> instad of getcwd.h.
41584
41585         * lib/ftruncate.c: Include <unistd.h> first.
41586         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
41587         Set HAVE_FTRUNCATE.
41588         * modules/ftruncate (Depends-on): Add unistd.
41589         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41590
41591         * lib/fchdir.c: Include <unistd.h> first.
41592         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
41593         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
41594         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
41595         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41596         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
41597
41598         * lib/dup2.c: Include <unistd.h> first.
41599         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
41600         HAVE_DUP2.
41601         * modules/dup2 (Depends-on): Add unistd.
41602         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41603
41604         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
41605         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
41606         REPLACE_CHOWN. Don't define chown as a macro here.
41607         * modules/chown (Depends-on): Add unistd.
41608         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41609
41610         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
41611         Add definition for GL_LINK_WARNING.
41612         (chown, dup2): New declarations.
41613         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
41614         link warning.
41615         (ftruncate): New declaration.
41616         (getcwd): New declaration, taken from old getcwd.h.
41617         (getlogin_r): New declaration, taken from old getlogin_r.h.
41618         (readlink): New declaration.
41619         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
41620         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
41621         (gl_PREREQ_UNISTD): Remove macro.
41622         (gl_UNISTD_MODULE_INDICATOR): New macro.
41623         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
41624         many new variables. Don't set UNISTD_H.
41625         * modules/unistd (Description): Change.
41626         (Depends-on): Add link-warning.
41627         (configure.ac): Update.
41628         (Makefile.am): Create unistd.h always. Substitute many new variables
41629         into it.
41630
41631 2007-02-18  Bruno Haible  <bruno@clisp.org>
41632
41633         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
41634         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
41635         HAVE_GETSUBOPT.
41636         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
41637         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
41638         * lib/getsubopt.h: Remove file.
41639         * modules/getsubopt (Files): Remove lib/getsubopt.h.
41640         (Depends-on): Add stdlib.
41641         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
41642         (Includes): Use <stdlib.h> instead of getsubopt.h.
41643         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
41644         Set HAVE_GETSUBOPT.
41645         * lib/getsubopt.c: Don't include getsubopt.h.
41646
41647 2007-02-18  Bruno Haible  <bruno@clisp.org>
41648
41649         * modules/fchdir (Depends-on): Add dup2.
41650
41651 2007-02-18  Bruno Haible  <bruno@clisp.org>
41652
41653         * lib/stdlib_.h: Handle glibc's special invocation convention
41654         specially.
41655
41656 2007-02-18  Bruno Haible  <bruno@clisp.org>
41657
41658         * modules/stdlib-tests: New file.
41659         * tests/test-stdlib.c: New file.
41660
41661         * modules/mkstemp (Files): Remove lib/mkstemp.h.
41662         (Depends-on): Add stdlib.
41663         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
41664         (Includes): Use <stdlib.h> instead of mkstemp.h.
41665         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
41666         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
41667         * lib/mkstemp.c: Don't include mkstemp.h.
41668         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
41669         * lib/stdlib--.h: Don't include mkstemp.h.
41670
41671         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
41672         (Depends-on): Add stdlib.
41673         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
41674         (Includes): Use <stdlib.h> instead of mkdtemp.h.
41675         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
41676         HAVE_MKDTEMP.
41677         * lib/mkdtemp.c: Don't include mkdtemp.h.
41678         * lib/clean-temp.c: Don't include mkdtemp.h.
41679
41680         * modules/exit (Files): Remove lib/exit.h.
41681         (Depends-on): Add stdlib.
41682         (Makefile.am): Remove lib_SOURCES.
41683         (Include): Use <stdlib.h> instead of exit.h.
41684         * lib/argmatch.c: Don't include exit.h.
41685         * lib/execute.c: Likewise.
41686         * lib/pagealign_alloc.c: Likewise.
41687         * lib/pipe.c: Likewise.
41688         * lib/wait-process.c: Likewise.
41689         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
41690         * lib/exitfail.c: Likewise.
41691         * lib/savewd.c: Likewise.
41692         * lib/xsetenv.c: Likewise.
41693
41694         * modules/stdlib: New file.
41695         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
41696         and extra comments about mkstemp().
41697         * lib/exit.h: Remove file.
41698         * lib/mkdtemp.h: Remove file.
41699         * lib/mkstemp.h: Remove file.
41700         * m4/stdlib_h.m4: New file.
41701         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
41702
41703 2007-02-18  Bruno Haible  <bruno@clisp.org>
41704
41705         * modules/math-tests: New file.
41706         * tests/test-math.c: New file.
41707
41708         * modules/math: New file.
41709         * modules/mathl (Files): Remove lib/mathl.h.
41710         (Depends-on): Add math.
41711         (Makefile.am): Don't mention mathl.h.
41712         (Include): Use <math.h> instead of mathl.h.
41713         * lib/math_.h: New file.
41714         * lib/mathl.h: Remove file.
41715         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
41716         mathl.h.
41717         * lib/asinl.c: Likewise.
41718         * lib/atanl.c: Likewise.
41719         * lib/ceill.c: Likewise.
41720         * lib/cosl.c: Likewise.
41721         * lib/expl.c: Likewise.
41722         * lib/floorl.c: Likewise.
41723         * lib/frexpl.c: Likewise.
41724         * lib/ldexpl.c: Likewise.
41725         * lib/logl.c: Likewise.
41726         * lib/sincosl.c: Likewise.
41727         * lib/sinl.c: Likewise.
41728         * lib/sqrtl.c: Likewise.
41729         * lib/tanl.c: Likewise.
41730         * lib/trigl.c: Likewise.
41731         * m4/math_h.m4: New file.
41732         * MODULES.html.sh (Mathematics): Add math.
41733
41734 2007-02-17  Bruno Haible  <bruno@clisp.org>
41735
41736         * modules/wctype-tests: New file.
41737         * tests/test-wctype.c: New file.
41738
41739         * modules/wchar-tests: New file.
41740         * tests/test-wchar.c: New file.
41741
41742         * modules/unistd-tests: New file.
41743         * tests/test-unistd.c: New file.
41744
41745         * modules/time-tests: New file.
41746         * tests/test-time.c: New file.
41747
41748         * modules/sysexits-tests: New file.
41749         * tests/test-sysexits.c: New file.
41750
41751         * modules/sys_time-tests: New file.
41752         * tests/test-sys_time.c: New file.
41753
41754         * modules/sys_stat-tests: New file.
41755         * tests/test-sys_stat.c: New file.
41756
41757         * modules/sys_socket-tests: New file.
41758         * tests/test-sys_socket.c: New file.
41759
41760         * modules/sys_select-tests: New file.
41761         * tests/test-sys_select.c: New file.
41762
41763         * modules/string-tests: New file.
41764         * tests/test-string.c: New file.
41765
41766         * modules/stdbool-tests: New file.
41767         * tests/test-stdbool.c: New file.
41768
41769         * modules/netinet_in-tests: New file.
41770         * tests/test-netinet_in.c: New file.
41771
41772         * modules/inttypes-tests: New file.
41773         * tests/test-inttypes.c: New file.
41774
41775         * modules/fcntl-tests: New file.
41776         * tests/test-fcntl.c: New file.
41777
41778         * modules/byteswap-tests: New file.
41779         * tests/test-byteswap.c: New file.
41780
41781         * modules/arpa_inet-tests: New file.
41782         * tests/test-arpa_inet.c: New file.
41783
41784 2007-02-17  Bruno Haible  <bruno@clisp.org>
41785
41786         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
41787         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
41788         if the corresponding module is not enabled. Emit link warnings if
41789         the function is used nevertheless.
41790         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
41791         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
41792         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
41793         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
41794         * modules/inttypes (Depends-on): Add link-warning.
41795         (Makefile.am): Copy the contents of build-aux/link-warning.h into
41796         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
41797         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
41798         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
41799         * modules/imaxdiv (configure.ac): Likewise.
41800         * modules/strtoimax (configure.ac): Likewise.
41801         * modules/strtoumax (configure.ac): Likewise.
41802
41803 2007-02-17  Bruno Haible  <bruno@clisp.org>
41804
41805         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
41806         gl_STRING_MODULE_INDICATOR_DEFAULTS.
41807         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
41808         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
41809
41810 2007-02-17  Bruno Haible  <bruno@clisp.org>
41811
41812         * modules/link-warning: New file.
41813         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
41814         * lib/string_.h (GL_LINK_WARNING): Remove definition.
41815         * modules/string (Depends-on): Add link-warning.
41816         (Makefile.am): Copy the contents of build-aux/link-warning.h into
41817         string.h.
41818         * MODULES.html.sh (Support for building libraries and executables): Add
41819         link-warning.
41820
41821 2007-02-17  Bruno Haible  <bruno@clisp.org>
41822
41823         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
41824         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
41825         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
41826         long lines.
41827
41828 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
41829             Bruno Haible  <bruno@clisp.org>
41830
41831         * modules/tmpfile: New file.
41832         * lib/tmpfile.c: New file.
41833         * m4/tmpfile.m4: New file.
41834         * MODULES.html.sh (func_all_modules): New section "Input/output".
41835
41836 2007-02-15  Bruno Haible  <bruno@clisp.org>
41837
41838         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
41839         (supports_delete_on_close): New function.
41840         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
41841
41842 2007-02-14  Bruno Haible  <bruno@clisp.org>
41843
41844         * modules/mbspcasecmp-tests: New file.
41845         * tests/test-mbspcasecmp.sh: New file.
41846         * tests/test-mbspcasecmp.c: New file.
41847
41848         New module mbspcasecmp.
41849         * modules/mbspcasecmp: New file.
41850         * lib/mbspcasecmp.c: New file.
41851         * lib/string_.h (strncasecmp): Change warning message.
41852         (mbspcasecmp): New declaration.
41853         * m4/mbspcasecmp.m4: New file.
41854         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
41855         GNULIB_MBSPCASECMP.
41856         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
41857         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
41858
41859 2007-02-14  Bruno Haible  <bruno@clisp.org>
41860
41861         * modules/mbsncasecmp-tests: New file.
41862         * tests/test-mbsncasecmp.sh: New file.
41863         * tests/test-mbsncasecmp.c: New file.
41864
41865         New module mbsncasecmp.
41866         * modules/mbsncasecmp: New file.
41867         * lib/mbsncasecmp.c: New file.
41868         * lib/string_.h (mbsncasecmp): New declaration.
41869         * m4/mbsncasecmp.m4: New file.
41870         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
41871         GNULIB_MBSNCASECMP.
41872         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
41873         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
41874
41875 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
41876
41877         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
41878         Verify that it doesn't overlap with our flags.
41879         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
41880         do not have the desired effect in multibyte locales; instead, use
41881         mbscasecmp.
41882         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
41883         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
41884         we don't require GNU fnmatch ourselves (if our users require it, they
41885         should do so explicitly).
41886
41887         Fix regex code so it doesn't rely on strcasecmp.
41888         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
41889         Otherwise, include gnulib's langinfo.h.
41890         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
41891         undesirable behavior in non-C locales.  Instead, rely on localecharset.
41892         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
41893         * modules/regex (FILES): Remove m4/codeset.m4.
41894         (Depends-on): Add localcharset.  Remove strcase.
41895
41896 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41897
41898         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
41899         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
41900
41901 2007-02-13  Bruno Haible  <bruno@clisp.org>
41902
41903         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
41904         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
41905
41906 2007-02-12  Bruno Haible  <bruno@clisp.org>
41907
41908         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
41909         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
41910         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
41911         time warning rather than a link error.
41912
41913 2007-02-12  Bruno Haible  <bruno@clisp.org>
41914
41915         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
41916         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
41917         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
41918
41919 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
41920
41921         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
41922         args, not 2.
41923
41924 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
41925
41926         New module 'time', so that apps can include <time.h> as per
41927         POSIX and GNU instead of separate include files like time_r.h
41928         and timegm.h.  This implementation tries out a simpler approach
41929         for replacing decls in standard include files (as compared to
41930         the string module), somewhat as an experiment.
41931
41932         * config/srclist.txt: Comment out mktime.c for now.
41933         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
41934         since it doesn't apply any more.  Use generic wording instead.
41935         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
41936         'time'.
41937         * lib/time_.h, m4/time_h.m4, modules/time: New files.
41938         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
41939         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
41940         Don't include <sys/types.h>; no longer needed since we assume C89.
41941         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
41942         * lib/strftime.c: Likewise.
41943         * lib/time_r.c: Likewise.
41944         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
41945         * lib/nanosleep.c: Include <time.h> first, to check interface.
41946         * lib/strptime.c: Likewise.
41947         * lib/time_r.c: Likewise.
41948         * lib/timegm.c: Likewise.
41949         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
41950         needed.
41951         * lib/timegm.c: Don't include timegm.h; no longer needed.
41952         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
41953         time.h now handles any problems in that area.
41954         (struct timespec, nanosleep): Remove; time.h now arranges for these.
41955         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
41956         that time.h defines struct timespec.
41957         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
41958         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
41959         handles that.
41960         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
41961         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
41962         needed.  Set REPLACE_LOCALTIME.
41963         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
41964         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
41965         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
41966         nanosleep; time_h.m4 now does that.  Don't require
41967         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
41968         module handles this now.
41969         * modules/getdate (Depends-on): Remove timespec.  Add time.
41970         * modules/nanosleep (Depends-on): Likewise.
41971         * modules/stat-time (Depends-on): Likewise.
41972         * modules/nanosleep (Include): Include time.h, not timespec.h.
41973         * modules/strptime (Files): Remove lib/strptime.h.
41974         (Depends-on): Add extensions, time.
41975         (Include): Include time.h, not strptime.h.
41976         * modules/time_r (Files): Remove lib/time_r.h.
41977         (Depends-on): Add time.
41978         (Include): Include time.h, not time_r.h.
41979         * modules/timegm: Likewise.
41980         * modules/timespec (Description): Now does timespec-related decls
41981         of our own, instead of struct timespec itself.
41982         (Depends-on): Add time; remove extensions.
41983         (Maintainer): Add self.
41984         * modules/utimecmp (Depends-on): Add time; remove timespec.
41985         * modules/utimens (Depends-on): Likewise.
41986         * modules/xnanosleep (Depends-on): Likewise.
41987
41988 2007-02-11  Bruno Haible  <bruno@clisp.org>
41989
41990         * lib/c-strstr.c: Include allocsa.h.
41991         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
41992         * lib/c-strcasestr.c: Include allocsa.h.
41993         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
41994         * lib/strcasestr.c: Include allocsa.h.
41995         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
41996         * lib/mbsstr.c: Include allocsa.h.
41997         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
41998         allocsa/freesa instead of malloc/free.
41999         * lib/mbscasestr.c: Include allocsa.h.
42000         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
42001         allocsa/freesa instead of malloc/free.
42002         * modules/c-strstr (Depends-on): Add allocsa.
42003         * modules/c-strcasestr (Depends-on): Likewise.
42004         * modules/strcasestr (Depends-on): Likewise.
42005         * modules/mbsstr (Depends-on): Likewise.
42006         * modules/mbscasestr (Depends-on): Likewise.
42007
42008 2007-02-11  Bruno Haible  <bruno@clisp.org>
42009
42010         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
42011
42012         * modules/mbsspn-tests: New file.
42013         * tests/test-mbsspn.sh: New file.
42014         * tests/test-mbsspn.c: New file.
42015
42016 2007-02-11  Bruno Haible  <bruno@clisp.org>
42017
42018         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
42019
42020         * modules/mbspbrk-tests: New file.
42021         * tests/test-mbspbrk.sh: New file.
42022         * tests/test-mbspbrk.c: New file.
42023
42024 2007-02-11  Bruno Haible  <bruno@clisp.org>
42025
42026         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
42027         unneeded cast.
42028
42029         * modules/mbscspn-tests: New file.
42030         * tests/test-mbscspn.sh: New file.
42031         * tests/test-mbscspn.c: New file.
42032
42033 2007-02-11  Bruno Haible  <bruno@clisp.org>
42034
42035         * modules/mbscasecmp-tests: New file.
42036         * tests/test-mbscasecmp.sh: New file.
42037         * tests/test-mbscasecmp.c: New file.
42038
42039 2007-02-11  Bruno Haible  <bruno@clisp.org>
42040
42041         Ensure O(n) worst-case complexity of mbscasestr.
42042         * lib/mbscasestr.c: Include stdbool.h.
42043         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
42044         functions.
42045         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
42046         the bookkeeping indicates that it's worth it.
42047         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
42048
42049         * modules/mbscasestr-tests: New file.
42050         * tests/test-mbscasestr1.c: New file.
42051         * tests/test-mbscasestr2.sh: New file.
42052         * tests/test-mbscasestr2.c: New file.
42053         * tests/test-mbscasestr3.sh: New file.
42054         * tests/test-mbscasestr3.c: New file.
42055         * tests/test-mbscasestr4.sh: New file.
42056         * tests/test-mbscasestr4.c: New file.
42057         * m4/locale-tr.m4: New file.
42058
42059 2007-02-11  Bruno Haible  <bruno@clisp.org>
42060
42061         Ensure O(n) worst-case complexity of mbsstr.
42062         * lib/mbsstr.c: Include stdbool.h.
42063         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
42064         functions.
42065         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
42066         bookkeeping indicates that it's worth it.
42067         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
42068
42069         * modules/mbsstr-tests: New file.
42070         * tests/test-mbsstr1.c: New file.
42071         * tests/test-mbsstr2.sh: New file.
42072         * tests/test-mbsstr2.c: New file.
42073         * tests/test-mbsstr3.sh: New file.
42074         * tests/test-mbsstr3.c: New file.
42075         * m4/locale-fr.m4: New file.
42076
42077 2007-02-11  Bruno Haible  <bruno@clisp.org>
42078
42079         * lib/mbsrchr.c (mbsrchr): Fix bug.
42080
42081         * modules/mbsrchr-tests: New file.
42082         * tests/test-mbsrchr.sh: New file.
42083         * tests/test-mbsrchr.c: New file.
42084
42085 2007-02-11  Bruno Haible  <bruno@clisp.org>
42086
42087         * lib/mbschr.c (mbschr): Fix bug.
42088
42089         * modules/mbschr-tests: New file.
42090         * tests/test-mbschr.sh: New file.
42091         * tests/test-mbschr.c: New file.
42092         * m4/locale-zh.m4: New file.
42093
42094 2007-02-11  Bruno Haible  <bruno@clisp.org>
42095
42096         Support for copying multibyte string iterators.
42097         * lib/mbiter.h: Include <string.h>.
42098         (mbiter_multi_copy): New function.
42099         (mbi_copy): New macro.
42100         * lib/mbuiter.h: Include <string.h>.
42101         (mbuiter_multi_copy): New function.
42102         (mbui_copy): New macro.
42103
42104 2007-02-11  Bruno Haible  <bruno@clisp.org>
42105
42106         New module mbslen.
42107         * modules/mbslen: New file.
42108         * lib/mbslen.c: New file.
42109         * lib/string_.h (mbslen): New declaration.
42110         * m4/mbslen.m4: New file.
42111         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42112         GNULIB_MBSLEN.
42113         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
42114         * MODULES.html.sh (Internationalization functions): Add mbslen.
42115
42116 2007-02-11  Bruno Haible  <bruno@clisp.org>
42117
42118         Ensure O(n) worst-case complexity of strcasestr substitute.
42119         * lib/strcasestr.c: Include stdbool.h.
42120         (knuth_morris_pratt): New function.
42121         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
42122         bookkeeping indicates that it's worth it.
42123         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
42124
42125         * modules/strcasestr-tests: New file.
42126         * tests/test-strcasestr.c: New file.
42127
42128 2007-02-11  Bruno Haible  <bruno@clisp.org>
42129
42130         Ensure O(n) worst-case complexity of c_strcasestr.
42131         * lib/c-strcasestr.c: Include stdbool.h, string.h.
42132         (knuth_morris_pratt): New function.
42133         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
42134         the bookkeeping indicates that it's worth it.
42135         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
42136
42137         * modules/c-strcasestr-tests: New file.
42138         * tests/test-c-strcasestr.c: New file.
42139
42140 2007-02-11  Bruno Haible  <bruno@clisp.org>
42141
42142         Ensure O(n) worst-case complexity of c_strstr.
42143         * lib/c-strstr.c: Include stdbool.h, string.h.
42144         (knuth_morris_pratt): New function.
42145         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
42146         bookkeeping indicates that it's worth it.
42147         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
42148
42149         * lib/c-strstr.c: Complete rewrite for maintainability.
42150
42151         * modules/c-strstr-tests: New file.
42152         * tests/test-c-strstr.c: New file.
42153
42154 2007-02-11  Bruno Haible  <bruno@clisp.org>
42155
42156         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
42157         5.2.1 and earlier, whereby \055 was treated just like the range
42158         delimiter '-'.
42159         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
42160
42161 2007-02-08  Bruno Haible  <bruno@clisp.org>
42162
42163         * modules/regex (Depends-on): Add stdbool.
42164         Reported by Dalibor Topic <robilad@kaffe.org>.
42165
42166 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
42167
42168         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
42169         Prefer returning from main to exiting from it.
42170         Remove unnecessary parens after sizeof.
42171
42172 2007-02-05  Bruno Haible  <bruno@clisp.org>
42173
42174         New module mbssep.
42175         * modules/mbssep: New file.
42176         * lib/mbssep.c: New file.
42177         * lib/string_.h (strsep): Add a conditional link warning.
42178         (mbssep): New declaration.
42179         * m4/mbssep.m4: New file.
42180         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42181         GNULIB_MBSSEP.
42182         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
42183         * MODULES.html.sh (Internationalization functions): Add mbssep.
42184
42185 2007-02-05  Bruno Haible  <bruno@clisp.org>
42186
42187         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
42188         Optimize search in case of 1 delimiter.
42189
42190 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
42191
42192         * lib/acl.h: Include sys/types.h before sys/acl.h.
42193
42194 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
42195
42196         Merge upstream fix for glibc bugzilla #3957:
42197
42198         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
42199
42200         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
42201         bit for RE_HAT_LISTS_NOT_NEWLINE.
42202         (build_charclass_op): Remove bogus comment.
42203
42204 2007-02-05  Simon Josefsson  <simon@josefsson.org>
42205
42206         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
42207
42208 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
42209
42210         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
42211         * lib/memmem.c [!defined _LIBC]: Include config.h.
42212
42213 2007-02-04  Bruno Haible  <bruno@clisp.org>
42214
42215         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
42216         warning message.
42217
42218 2007-02-04  Bruno Haible  <bruno@clisp.org>
42219
42220         New module mbstok_r.
42221         * modules/mbstok_r: New file.
42222         * lib/mbstok_r.c: New file.
42223         * lib/string_.h (strtok_r): Change argument names to match the
42224         comments. Add a conditional link warning.
42225         (mbstok_r): New declaration.
42226         * m4/mbstok_r.m4: New file.
42227         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42228         GNULIB_MBSTOK_R.
42229         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
42230         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
42231
42232 2007-02-04  Bruno Haible  <bruno@clisp.org>
42233
42234         New module mbsspn.
42235         * modules/mbsspn: New file.
42236         * lib/mbsspn.c: New file.
42237         * lib/string_.h (strspn): Add a conditional link warning.
42238         (mbsspn): New declaration.
42239         * m4/mbsspn.m4: New file.
42240         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42241         GNULIB_MBSSPN.
42242         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
42243         * MODULES.html.sh (Internationalization functions): Add mbsspn.
42244
42245 2007-02-04  Bruno Haible  <bruno@clisp.org>
42246
42247         New module mbspbrk.
42248         * modules/mbspbrk: New file.
42249         * lib/mbspbrk.c: New file.
42250         * lib/string_.h (strpbrk): Add a conditional link warning.
42251         (mbspbrk): New declaration.
42252         * m4/mbspbrk.m4: New file.
42253         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42254         GNULIB_MBSPBRK.
42255         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
42256         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
42257
42258 2007-02-04  Bruno Haible  <bruno@clisp.org>
42259
42260         New module mbscspn.
42261         * modules/mbscspn: New file.
42262         * lib/mbscspn.c: New file.
42263         * lib/string_.h (strcspn): Add a conditional link warning.
42264         (mbscspn): New declaration.
42265         * m4/mbscspn.m4: New file.
42266         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42267         GNULIB_MBSCSPN.
42268         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
42269         * MODULES.html.sh (Internationalization functions): Add mbscspn.
42270
42271 2007-02-04  Bruno Haible  <bruno@clisp.org>
42272
42273         New module mbscasestr, reduced goal of strcasestr.
42274         * modules/mbscasestr: New file.
42275         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
42276         (mbscasestr): Renamed from strcasestr.
42277         * lib/strcasestr.c: Don't include mbuiter.h.
42278         (strcasestr): Remove support for multibyte locales.
42279         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
42280         Change the conditional link warning.
42281         (mbscasestr): New declaration.
42282         * m4/mbscasestr.m4: New file.
42283         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
42284         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
42285         REPLACE_STRCASESTR.
42286         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
42287         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
42288         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
42289         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
42290         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
42291         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
42292         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
42293         (Depends-on): Remove mbuiter.
42294         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
42295
42296 2007-02-04  Bruno Haible  <bruno@clisp.org>
42297
42298         Simplify handling of strncasecmp.
42299         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
42300         the conditional link warning.
42301         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
42302         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
42303         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
42304         * modules/strcase (configure.ac): Don't invoke
42305         gl_STRING_MODULE_INDICATOR.
42306         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
42307
42308 2007-02-04  Bruno Haible  <bruno@clisp.org>
42309
42310         New module mbscasecmp, reduced goal of strcasecmp.
42311         * modules/mbscasecmp: New file.
42312         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
42313         (mbscasecmp): Renamed from strcasecmp.
42314         * lib/strcasecmp.c: Don't include mbuiter.h.
42315         (strcasecmp): Remove support for multibyte locales.
42316         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
42317         Change the conditional link warning.
42318         (mbscasecmp): New declaration.
42319         * m4/mbscasecmp.m4: New file.
42320         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
42321         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
42322         REPLACE_STRCASECMP.
42323         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
42324         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42325         GNULIB_MBSCASECMP.
42326         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
42327         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
42328         * modules/strcase (Files): Remove m4/mbrtowc.m4.
42329         (Depends-on): Remove mbuiter.
42330         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
42331
42332 2007-02-04  Bruno Haible  <bruno@clisp.org>
42333
42334         New module mbsstr. Remove module strstr.
42335         * modules/mbsstr: New file.
42336         * modules/strstr: Remove file.
42337         * lib/mbsstr.c: Renamed from lib/strstr.c.
42338         (mbsstr): Renamed from strstr.
42339         * lib/string_.h (strstr): Remove declaration. Change the conditional
42340         link warning.
42341         (mbsstr): New declaration.
42342         * m4/mbsstr.m4: New file.
42343         * m4/strstr.m4: Remove file.
42344         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
42345         REPLACE_STRSTR.
42346         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
42347         Don't initialize GNULIB_STRSTR.
42348         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
42349         substitute GNULIB_STRSTR and REPLACE_STRSTR.
42350         * MODULES.html.sh (Internationalization functions): Add mbsstr.
42351         (Support for systems lacking ANSI C 89): Remove strstr.
42352
42353 2007-02-04  Bruno Haible  <bruno@clisp.org>
42354
42355         New module mbsrchr.
42356         * modules/mbsrchr: New file.
42357         * lib/mbsrchr.c: New file.
42358         * lib/string_.h (strrchr): Add a conditional link warning.
42359         (mbsrchr): New declaration.
42360         * m4/mbsrchr.m4: New file.
42361         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42362         GNULIB_MBSRCHR.
42363         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
42364         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
42365
42366 2007-02-04  Bruno Haible  <bruno@clisp.org>
42367
42368         New module mbschr.
42369         * modules/mbschr: New file.
42370         * lib/mbschr.c: New file.
42371         * lib/string_.h (strchr): Add a conditional link warning.
42372         (mbschr): New declaration.
42373         * m4/mbschr.m4: New file.
42374         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42375         GNULIB_MBSCHR.
42376         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
42377         * MODULES.html.sh (Internationalization functions): Add mbschr.
42378
42379 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
42380
42381         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
42382
42383         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
42384
42385 2007-02-04  Bruno Haible  <bruno@clisp.org>
42386
42387         New module description section 'configure.ac-early'.
42388         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
42389         (func_get_autoconf_early_snippet): New function.
42390         (func_import, func_create_testdir): Use it. Remove special cases for
42391         modules 'extensions' and 'lock'.
42392         * modules/extensions (configure.ac-early): Require
42393         gl_USE_SYSTEM_EXTENSIONS.
42394         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
42395
42396 2007-02-04  Bruno Haible  <bruno@clisp.org>
42397
42398         Make use of gcj-4.3's -fsource and -ftarget option.
42399         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
42400         and if so try the options -fsource and -ftarget.
42401         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
42402         source_version, ftarget_option, target_version arguments.
42403         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
42404         (is_envjavac_oldgcj_14_14_usable): Renamed from
42405         is_envjavac_gcj_14_14_usable.
42406         (is_envjavac_oldgcj_14_13_usable): Renamed from
42407         is_envjavac_gcj_14_13_usable.
42408         (is_gcj_present): Update.
42409         (is_gcj_43, is_gcj43_usable): New functions.
42410         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
42411         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
42412         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
42413         try the options -fsource and -ftarget.
42414
42415 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
42416
42417         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
42418         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
42419         larger value.
42420
42421 2007-02-03  Jim Meyering  <jim@meyering.net>
42422
42423         Give tools a better chance to allocate space for very large buffers.
42424         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
42425
42426         Make pwd and readlink work also when run with an unreadable parent dir
42427         on systems with openat support.
42428         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
42429         provided getcwd function, even when we have openat support.
42430         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
42431
42432 2007-02-02  Bruno Haible  <bruno@clisp.org>
42433
42434         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
42435         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
42436         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
42437         portability problems if one of these functions is only used on specific
42438         platforms.
42439         Reported by Paul Eggert.
42440
42441 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
42442
42443         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
42444         is causing more trouble than it's curing.
42445         * lib/regex_internal.h (__mempcpy): Remove.
42446         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
42447         (and make the code a tad smaller to boot).
42448         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
42449
42450 2007-02-02  Jim Meyering  <jim@meyering.net>
42451
42452         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
42453         section, not in the Makefile.am: one.
42454
42455 2007-02-02  Eric Blake  <ebb9@byu.net>
42456
42457         * lib/strchrnul.c: Always include config.h first.
42458
42459         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
42460         gnulib strstr is not necessary here.
42461
42462 2007-02-02  Simon Josefsson  <simon@josefsson.org>
42463
42464         * m4/socklen.m4: Fix typo.
42465
42466 2007-02-02  Eric Blake  <ebb9@byu.net>
42467
42468         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
42469         * modules/netinet_in (Makefile.am): Likewise.
42470
42471 2007-02-01  Bruno Haible  <bruno@clisp.org>
42472
42473         * lib/string_.h (GL_LINK_WARNING): New macro.
42474         (strcasecmp, strstr, strcasestr): If provided by the system,
42475         conditionally define as a macro that leads to a warning instead of to
42476         an error.
42477         (strncasecmp): Conditionally define as a macro that leads to a warning.
42478
42479 2007-02-01  Karl Berry  <karl@gnu.org>
42480
42481         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
42482
42483 2007-02-01  Bruno Haible  <bruno@clisp.org>
42484
42485         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
42486         renamings.
42487
42488 2007-02-01  Eric Blake  <ebb9@byu.net>
42489
42490         * modules/regex (Depends-on): Revert dependence on mempcpy.
42491         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
42492         module's definition of mempcpy.
42493         Reported by Paul Eggert.
42494
42495 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
42496
42497         * lib/string_.h: If the gnulib module XYZ is not present, undefine
42498         the symbol XYZ before redefining it.  This fixes a problem with
42499         programs that don't use XYZ, when compiled on systems that define
42500         XYZ to something else.
42501
42502 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
42503
42504         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
42505         occurs when "mkdir -m foo" creates a setgid directory that is (1)
42506         writeable to group or other and (2) is intended to have a special
42507         mode bit that is set or cleared.  In such a case, the directory
42508         should be neither group- nor other-writeable until the special
42509         mode bits are right.
42510
42511 2007-01-31  Eric Blake  <ebb9@byu.net>
42512
42513         * modules/mountlist (Depends-on): Add strstr.
42514
42515         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
42516         bug.
42517         * modules/string (Makefile.am): Remove redundant replacement.
42518         * modules/regex (Depends-on): Add mempcpy.
42519
42520 2007-01-31  Bruno Haible  <bruno@clisp.org>
42521
42522         New module description field 'Link'.
42523         * gnulib-tool (func_usage): Document --extract-link-directive.
42524         (sed_extract_prog): Recognize 'Link' directive.
42525         (func_get_link_directive): New function.
42526         (func_import): Show summary of link directives.
42527         Handle --extract-link-directive option.
42528         * modules/acl (Link): New section.
42529         * modules/clock-time (Link): New section.
42530         * modules/euidaccess (Link): New section.
42531         * modules/gettext (Link): New section.
42532         * modules/iconv (Link): New section.
42533         * modules/lock (Link): New section.
42534         * modules/nanosleep (Link): New section.
42535         * modules/readline (Link): New section.
42536
42537 2007-01-27  Bruno Haible  <bruno@clisp.org>
42538
42539         Enforce the use of gnulib modules for unportable <string.h> functions.
42540         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
42541         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
42542         (gl_HEADER_STRING_H_BODY): Require it.
42543         * lib/string_.h: If the gnulib module XYZ is not present, redefine
42544         the symbol XYZ to one that gives a link error.
42545         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
42546         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
42547         * modules/mempcpy (configure.ac): Likewise.
42548         * modules/memrchr (configure.ac): Likewise.
42549         * modules/stpcpy (configure.ac): Likewise.
42550         * modules/stpncpy (configure.ac): Likewise.
42551         * modules/strcase (configure.ac): Likewise.
42552         * modules/strcasestr (configure.ac): Likewise.
42553         * modules/strchrnul (configure.ac): Likewise.
42554         * modules/strdup (configure.ac): Likewise.
42555         * modules/strndup (configure.ac): Likewise.
42556         * modules/strnlen (configure.ac): Likewise.
42557         * modules/strpbrk (configure.ac): Likewise.
42558         * modules/strsep (configure.ac): Likewise.
42559         * modules/strstr (configure.ac): Likewise.
42560         * modules/strtok_r (configure.ac): Likewise.
42561
42562 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
42563
42564         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
42565
42566 2007-01-30  Jim Meyering  <jim@meyering.net>
42567
42568         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
42569
42570 2007-01-29  Bruno Haible  <bruno@clisp.org>
42571
42572         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
42573         * lib/execute.c: Likewise.
42574         * lib/pipe.c: Likewise.
42575         * lib/printf-args.h: Likewise.
42576         * lib/printf-args.c: Likewise.
42577         * lib/printf-parse.c: Likewise.
42578         * lib/vasnprintf.c: Likewise.
42579
42580 2007-01-29  Eric Blake  <ebb9@byu.net>
42581
42582         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
42583         declaration.
42584
42585 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
42586
42587         * lib/strptime.h (strptime): Use 'restrict' for args where
42588         POSIX requires this.
42589         * lib/strptime.c (strptime): Likewise.
42590         Change license notice from LGPL to GPL, since gnulib-tool will
42591         change this as needed.
42592         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
42593         defined.
42594         Include "strptime.h" first, to check interface.
42595         Do not #undef _LIBC and _NL_CURRENT.
42596         Do not include <stdlib.h>; no longer needed.
42597         Include "time_r.h" and declare ptime_locale_status
42598         only if _LIBC is not defined.
42599         (__P): Remove unused macro.
42600         (match_string): Bring back glibc version, but use it only if _LIBC
42601         is defined.
42602         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
42603         Remove unnecessary assertion and abort() call.
42604         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
42605         * m4/strptime.m4: Fix serial number comment.
42606         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
42607         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
42608         (Depends-on): Add time_r.
42609
42610 2007-01-29  Bruno Haible  <bruno@clisp.org>
42611
42612         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
42613         strptime.
42614         * modules/strptime (Depends-on): Add stdbool.
42615         * lib/strptime.h: Include <time.h> always. Add comments.
42616
42617 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
42618
42619         * modules/strptime: New file.
42620         * lib/strptime.h: New file.
42621         * lib/strptime.c: New file.
42622         * m4/strptime.m4: New file.
42623
42624 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
42625
42626         * MODULES.html.sh: New module mpsort.
42627         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
42628
42629         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
42630         a circularity problem with HP-UX ia64 reported by Bob Proulx in
42631         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
42632         All uses changed.
42633         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
42634         All uses changed.
42635         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
42636         to _Restrict_.
42637         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
42638         the parameter matches the prototype.
42639
42640 2007-01-28  Jim Meyering  <jim@meyering.net>
42641
42642         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
42643         sys/time.h here, reverting that part of the previous patch:
42644         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
42645
42646 2007-01-28  Bruno Haible  <bruno@clisp.org>
42647
42648         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
42649         value of $(SYS_TIME_H).
42650         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
42651         remove it conditionally, too. [added by Jim Meyering]
42652         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
42653         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
42654         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
42655         GETTIMEOFDAY_REPLACEMENT to 1.
42656
42657 2007-01-28  Bruno Haible  <bruno@clisp.org>
42658
42659         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
42660         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
42661         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
42662         Set UNISTD_H instead of UNISTD_H2.
42663         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
42664
42665 2007-01-28  Bruno Haible  <bruno@clisp.org>
42666
42667         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
42668         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
42669
42670 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42671
42672         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
42673         (func_create_testdir): Ensure C locale for `grep' and `tr'
42674         character ranges.
42675         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
42676         ACLOCAL_AMFLAGS parsing state machine.
42677
42678 2007-01-27  Bruno Haible  <bruno@clisp.org>
42679
42680         * modules/unistr/base: Update.
42681
42682 2007-01-27  Bruno Haible  <bruno@clisp.org>
42683
42684         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
42685         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
42686         * modules/unistr/u32-mbtouc-unsafe: Renamed from
42687         modules/unistr/u32-mbtouc.
42688         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
42689         * lib/unistr.h: Update.
42690         * lib/linebreak.c: Update.
42691         * modules/unistr/u32-mbtouc: Renamed from
42692         modules/unistr/u32-mbtouc-safe.
42693         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
42694         * lib/unistr.h: Update.
42695         * lib/unistr/u32-to-u8.c: Update.
42696         * lib/unistr/u32-to-u16.c: Update.
42697
42698 2007-01-27  Bruno Haible  <bruno@clisp.org>
42699
42700         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
42701         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
42702         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
42703         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
42704         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
42705         * modules/unistr/u16-mbtouc-unsafe: Renamed from
42706         modules/unistr/u16-mbtouc.
42707         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
42708         * lib/unistr.h: Update.
42709         * lib/linebreak.c: Update.
42710         * modules/linebreak: Update.
42711         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
42712         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
42713         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
42714         * modules/unistr/u16-mbtouc: Renamed from
42715         modules/unistr/u16-mbtouc-safe.
42716         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
42717         * lib/unistr.h: Update.
42718         * lib/unistr/u16-to-u8.c: Update.
42719         * modules/unistr/u16-to-u8: Update.
42720         * lib/unistr/u16-to-u32.c: Update.
42721         * modules/unistr/u16-to-u32: Update.
42722
42723 2007-01-27  Bruno Haible  <bruno@clisp.org>
42724
42725         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
42726         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
42727         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
42728         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
42729         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
42730         * modules/unistr/u8-mbtouc-unsafe: Renamed from
42731         modules/unistr/u8-mbtouc.
42732         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
42733         * lib/unistr.h: Update.
42734         * lib/striconveh.c: Update.
42735         * modules/striconveh: Update.
42736         * lib/linebreak.c: Update.
42737         * modules/linebreak: Update.
42738         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
42739         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
42740         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
42741         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
42742         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
42743         * lib/unistr.h: Update.
42744         * lib/striconveh.c: Update.
42745         * modules/striconveh: Update.
42746         * lib/unistr/u8-to-u16.c: Update.
42747         * modules/unistr/u8-to-u16: Update.
42748         * lib/unistr/u8-to-u32.c: Update.
42749         * modules/unistr/u8-to-u32: Update.
42750
42751 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42752
42753         Sync from Libtool.
42754         * lib/argz.c: Do not include strings.h nor memory.h, include
42755         string.h unconditionally.  Patch by Simon Josefsson.
42756
42757 2007-01-27  Bruno Haible  <bruno@clisp.org>
42758
42759         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
42760         from gl_HEADER_STRING_H_BODY.
42761         (gl_HEADER_STRING_H_BODY): Require it.
42762         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
42763         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
42764         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
42765         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
42766         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
42767         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
42768         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
42769         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
42770         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
42771         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
42772         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
42773         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
42774         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
42775         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
42776         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
42777
42778 2007-01-27  Bruno Haible  <bruno@clisp.org>
42779
42780         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
42781         check_PROGRAMS into noinst_PROGRAMS.
42782         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
42783         check_PROGRAMS in this case.
42784         (func_import): Set for_test to false.
42785         (func_create_testdir): Set for_test to true.
42786
42787 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
42788             Bruno Haible  <bruno@clisp.org>
42789
42790         * modules/strcasestr (Files): Remove lib/strcasestr.h.
42791         (Depends-on): Add string.
42792         (Includes): Use <string.h> instead of strcasestr.h.
42793         * modules/string (Makefile.am): Also substitute the value of
42794         REPLACE_STRCASESTR.
42795         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
42796         assume strcasestr is declared in <string.h> not <strings.h>. Also
42797         set REPLACE_STRCASESTR.
42798         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
42799         REPLACE_STRCASESTR.
42800         * lib/strcasestr.h: Remove file.
42801         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
42802         * lib/string_.h (strcasestr): New declaration.
42803
42804 2007-01-27  Bruno Haible  <bruno@clisp.org>
42805
42806         * lib/string_.h: Use 'extern'.
42807
42808 2007-01-27  Jim Meyering  <jim@meyering.net>
42809
42810         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
42811         of set-but-not-used local, "q".
42812
42813         * lib/mempcpy.c: Include <config.h> before <string.h>.
42814         This fixes a compilation error on HP-UX, due to the system's
42815         "restrict"-using mempcpy prototype.
42816
42817 2007-01-26  Bruno Haible  <bruno@clisp.org>
42818
42819         Small optimization.
42820         * lib/javacomp.c: Include c-strstr.h.
42821          (is_envjavac_gcj): Use c_strstr instead of strstr.
42822         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
42823
42824 2007-01-26  Bruno Haible  <bruno@clisp.org>
42825
42826         * MODULES.html.sh (Unicode string functions): Add the new modules.
42827
42828         * modules/uniconv/u32-strconv-to-locale: New file.
42829         * lib/uniconv/u32-strconv-to-locale.c: New file.
42830
42831         * modules/uniconv/u16-strconv-to-locale: New file.
42832         * lib/uniconv/u16-strconv-to-locale.c: New file.
42833
42834         * modules/uniconv/u8-strconv-to-locale: New file.
42835         * lib/uniconv/u8-strconv-to-locale.c: New file.
42836
42837         * modules/uniconv/u32-strconv-from-locale: New file.
42838         * lib/uniconv/u32-strconv-from-locale.c: New file.
42839
42840         * modules/uniconv/u16-strconv-from-locale: New file.
42841         * lib/uniconv/u16-strconv-from-locale.c: New file.
42842
42843         * modules/uniconv/u8-strconv-from-locale: New file.
42844         * lib/uniconv/u8-strconv-from-locale.c: New file.
42845
42846         * modules/uniconv/u32-strconv-to-enc: New file.
42847         * lib/uniconv/u32-strconv-to-enc.c: New file.
42848         * modules/uniconv/u32-strconv-to-enc-tests: New file.
42849         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
42850
42851         * modules/uniconv/u16-strconv-to-enc: New file.
42852         * lib/uniconv/u16-strconv-to-enc.c: New file.
42853         * lib/uniconv/u-strconv-to-enc.h: New file.
42854         * modules/uniconv/u16-strconv-to-enc-tests: New file.
42855         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
42856
42857         * modules/uniconv/u8-strconv-to-enc: New file.
42858         * lib/uniconv/u8-strconv-to-enc.c: New file.
42859         * modules/uniconv/u8-strconv-to-enc-tests: New file.
42860         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
42861
42862         * modules/uniconv/u32-strconv-from-enc: New file.
42863         * lib/uniconv/u32-strconv-from-enc.c: New file.
42864         * modules/uniconv/u32-strconv-from-enc-tests: New file.
42865         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
42866
42867         * modules/uniconv/u16-strconv-from-enc: New file.
42868         * lib/uniconv/u16-strconv-from-enc.c: New file.
42869         * modules/uniconv/u16-strconv-from-enc-tests: New file.
42870         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
42871
42872         * modules/uniconv/u8-strconv-from-enc: New file.
42873         * lib/uniconv/u8-strconv-from-enc.c: New file.
42874         * lib/uniconv/u-strconv-from-enc.h: New file.
42875         * modules/uniconv/u8-strconv-from-enc-tests: New file.
42876         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
42877
42878         * modules/uniconv/u32-conv-from-enc: New file.
42879         * lib/uniconv/u32-conv-from-enc.c: New file.
42880         * modules/uniconv/u32-conv-from-enc-tests: New file.
42881         * tests/uniconv/test-u32-conv-from-enc.c: New file.
42882
42883         * modules/uniconv/u16-conv-from-enc: New file.
42884         * lib/uniconv/u16-conv-from-enc.c: New file.
42885         * lib/uniconv/u-conv-from-enc.h: New file.
42886         * modules/uniconv/u16-conv-from-enc-tests: New file.
42887         * tests/uniconv/test-u16-conv-from-enc.c: New file.
42888
42889         * modules/uniconv/u8-conv-from-enc: New file.
42890         * lib/uniconv/u8-conv-from-enc.c: New file.
42891         * modules/uniconv/u8-conv-from-enc-tests: New file.
42892         * tests/uniconv/test-u8-conv-from-enc.c: New file.
42893
42894         * modules/uniconv/base: New file.
42895         * lib/uniconv.h: New file.
42896
42897 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
42898
42899         * doc/gnulib-tool.texi (Initial import): Update to match current
42900         behavior with strdup module.
42901         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
42902         * lib/memmem.h: Remove; all uses removed.  This is now done
42903         by <string.h>.
42904         * lib/mempcpy.h: Likewise.
42905         * lib/memrchr.h: Likewise.
42906         * lib/stpcpy.h: Likewise.
42907         * lib/stpncpy.h: Likewise.
42908         * lib/strcase.h: Likewise.
42909         * lib/strchrnul.h: Likewise.
42910         * lib/strdup.h: Likewise.
42911         * lib/strndup.h: Likewise.
42912         * lib/strnlen.h: Likewise.
42913         * lib/strpbrk.h: Likewise.
42914         * lib/strsep.h: Likewise.
42915         * lib/strstr.h: Likewise.
42916         * lib/strtok_r.h: Likewise.
42917         * lib/string_.h: New file.
42918         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
42919         Rely on <string.h> instead.
42920         * lib/canon-host.c: Likewise.
42921         * lib/chdir-long.c: Likewise.
42922         * lib/concatpath.c: Likewise.
42923         * lib/exclude.c: Likewise.
42924         * lib/fchdir.c: Likewise.
42925         * lib/getaddrinfo.c: Likewise.
42926         * lib/getcwd.c: Likewise.
42927         * lib/getsubopt.c: Likewise.
42928         * lib/glob.c: Likewise.
42929         * lib/hard-locale.c: Likewise.
42930         * lib/iconvme.c: Likewise.
42931         * lib/javacomp.c: Likewise.
42932         * lib/mempcpy.c: Likewise.
42933         * lib/memrchr.c: Likewise.
42934         * lib/regex_internal.h: Likewise.
42935         * lib/stpncpy.c: Likewise.
42936         * lib/strcasecmp.c: Likewise.
42937         * lib/strchrnul.c: Likewise.
42938         * lib/strdup.c: Likewise.
42939         * lib/striconv.c: Likewise.
42940         * lib/striconveh.c: Likewise.
42941         * lib/striconveha.c: Likewise.
42942         * lib/strncasecmp.c: Likewise.
42943         * lib/strndup.c: Likewise.
42944         * lib/strnlen.c: Likewise.
42945         * lib/strsep.c: Likewise.
42946         * lib/strstr.c: Likewise.
42947         * lib/strtok_r.c: Likewise.
42948         * lib/userspec.c: Likewise.
42949         * lib/w32spawn.h: Likewise.
42950         * lib/xstrndup.c: Likewise.
42951         * lib/mountlist.c (strstr): Remove decl.
42952         * m4/string_h.m4: New file.
42953         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
42954         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
42955         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
42956         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
42957         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
42958         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
42959         Set REPLACE_STRCASECMP if necessary.
42960         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
42961         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
42962         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
42963         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
42964         HAVE_DECL_STRDUP if necessary.
42965         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
42966         since gl_FUNC_STRNDUP does that now.
42967         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
42968         Check for decl here...
42969         (gl_PREREQ_STRNLEN): ... not here.
42970         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
42971         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
42972         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
42973         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
42974         necessary.
42975         * modules/string: New file.
42976         * modules/memmem (Files): Remove special-purpose include file.
42977         (Depends-on): Add string.
42978         (Include): Include <string.h>, not the removed file.
42979         * modules/mempcpy: Likewise.
42980         * modules/memrchr: Likewise.
42981         * modules/stpcpy: Likewise.
42982         * modules/stpncpy: Likewise.
42983         * modules/strcase: Likewise.
42984         * modules/strchrnul: Likewise.
42985         * modules/strdup: Likewise.
42986         * modules/strndup: Likewise.
42987         * modules/strnlen: Likewise.
42988         * modules/strpbrk: Likewise.
42989         * modules/strsep: Likewise.
42990         * modules/strstr: Likewise.
42991         * modules/strtok_r: Likewise.
42992         * tests/test-dirname.c: Don't include "strdup.h", since
42993         <string.h> now suffices.
42994         * tests/test-memmem.c: Don't include "memmem.h", since
42995         <string.h> now suffices.
42996
42997 2007-01-25  Bruno Haible  <bruno@clisp.org>
42998
42999         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
43000         *resultp is 0.
43001
43002         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
43003         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
43004         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
43005         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
43006
43007         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
43008         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
43009         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
43010         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
43011         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
43012         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
43013
43014 2007-01-24  Bruno Haible  <bruno@clisp.org>
43015
43016         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
43017         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
43018         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
43019         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
43020         gl_FUNC_FTS_CORE.
43021         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
43022         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
43023         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
43024         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
43025         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
43026         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
43027         gl_FUNC_FCHOWNAT.
43028         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
43029         gl_FUNC_STRFTIME.
43030         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
43031         Reported by Ralf Wildenhues.
43032
43033 2007-01-24  Bruno Haible  <bruno@clisp.org>
43034
43035         Drop AC_REQUIRE calls that are redundant with the module dependencies.
43036         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
43037         gl_GETADDRINFO.
43038         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
43039         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
43040         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
43041
43042 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
43043
43044         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
43045         Don't use 'exit'; just return from 'main'.
43046         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
43047
43048         * lib/fnmatch_.h: Readjust white space and comments to match
43049         glibc, to avoid spurious diffs.
43050
43051 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
43052
43053         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
43054         2004-12-01 change by Jakub Jelinek, since this code won't compile
43055         if !LIBC.  Problem reported by Bob Proulx.
43056
43057 2007-01-23  Bruno Haible  <bruno@clisp.org>
43058
43059         * lib/striconveh.c: Include c-strcaseeq.h.
43060         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
43061         * modules/striconveh (Depends-on): Add c-strcaseeq.
43062
43063 2007-01-23  Bruno Haible  <bruno@clisp.org>
43064
43065         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
43066
43067         * modules/c-strcaseeq: New file.
43068         * lib/c-strcaseeq.h: New file.
43069
43070         * modules/streq: New file.
43071         * lib/streq.h: New file.
43072
43073 2007-01-23  Bruno Haible  <bruno@clisp.org>
43074
43075         * modules/striconveha-tests: New file.
43076         * tests/test-striconveha.c: New file.
43077
43078         * lib/striconveha.h: Include <stdbool.h>.
43079         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
43080         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
43081         (mem_iconveha_notranslit): Renamed from mem_iconveha.
43082         (mem_iconveha): New function.
43083         (str_iconveha_notranslit): Renamed from str_iconveha.
43084         (str_iconveha): New function.
43085         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
43086         c-strcase.
43087
43088 2007-01-23  Bruno Haible  <bruno@clisp.org>
43089
43090         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
43091         encodings without forgiving before trying any encoding with handler.
43092         (str_iconveha): Try all encodings without forgiving before trying any
43093         encoding with handler.
43094
43095 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
43096
43097         Import the following changes from libc.
43098
43099         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
43100
43101         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
43102
43103         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
43104
43105         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
43106         normal_bracket label.
43107
43108         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
43109
43110         [BZ #361]
43111         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
43112         to normal_bracket after fetching the next character.
43113
43114 2007-01-22  Bruno Haible  <bruno@clisp.org>
43115
43116         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
43117         argument.
43118         * lib/striconveh.c (iconv_carefully_1): New function.
43119         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
43120         argument.
43121         (str_cd_iconveh): Update.
43122         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
43123         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
43124         * tests/test-striconveh.c (MAGIC): New macro.
43125         (new_offsets): New function.
43126         (main): Test call with and without offsets.
43127
43128 2007-01-22  Bruno Haible  <bruno@clisp.org>
43129
43130         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
43131         * modules/sys_select (Makefile.am): Likewise.
43132         * modules/sys_socket (Makefile.am): Likewise.
43133         * modules/sys_time (Makefile.am): Likewise.
43134
43135 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
43136
43137         * modules/gettimeofday (License): Change from GPL to LGPL, since
43138         gettimeofday is a library function.
43139
43140 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43141
43142         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
43143
43144 2007-01-21  Bruno Haible  <bruno@clisp.org>
43145
43146         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
43147
43148 2007-01-21  Bruno Haible  <bruno@clisp.org>
43149
43150         * modules/striconveha: New file.
43151         * lib/striconveha.h: New file.
43152         * lib/striconveha.c: New file.
43153         * MODULES.html.sh (Internationalization functions): Add striconveha.
43154         * lib/striconv.c (str_iconv): Optimize the case of an empty input
43155         string.
43156         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
43157
43158 2007-01-21  Bruno Haible  <bruno@clisp.org>
43159
43160         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
43161         * lib/striconveh.c (str_iconveh): Likewise.
43162
43163 2007-01-21  Bruno Haible  <bruno@clisp.org>
43164
43165         * lib/striconveh.h (mem_iconveh): New declaration.
43166         * lib/striconveh.c (mem_iconveh): New function.
43167         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
43168
43169 2007-01-21  Bruno Haible  <bruno@clisp.org>
43170
43171         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
43172
43173         * lib/striconveh.h (mem_cd_iconveh): Change specification.
43174         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
43175         original result buffer.
43176         (str_cd_iconveh): Update.
43177         * tests/test-striconveh.c (main): Update.
43178
43179         * lib/striconv.h (mem_cd_iconv): Change specification.
43180         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
43181         result buffer.
43182         (str_cd_iconv): Update.
43183         * tests/test-striconv.c (main): Update.
43184
43185 2007-01-21  Bruno Haible  <bruno@clisp.org>
43186
43187         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
43188
43189 2007-01-20  Jim Meyering  <jim@meyering.net>
43190
43191         * lib/userspec.c (parse_with_separator): If a user or group string
43192         starts with "+", skip the corresponding name-to-ID look-up, since
43193         such a look-up must fail: user and group names may not include "+".
43194
43195 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
43196
43197         * lib/poll.c: Include sys/time.h and time.h unconditionally,
43198         since we now assume the sys_time module.
43199         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
43200         check for sys/time.h; no longer needed.
43201         * modules/poll (Depends-on): Depend on sys_time.
43202
43203 2007-01-18  Bruno Haible  <bruno@clisp.org>
43204
43205         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
43206         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
43207
43208         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
43209         gettimeofday.
43210
43211         * tests/test-gettimeofday.c: Include <time.h>.
43212         (dummy): Remove variable.
43213
43214         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
43215         gl_HEADER_SYS_TIME_H.
43216         (gl_HEADER_SYS_TIME_H): New macro.
43217
43218         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
43219         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
43220         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
43221         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
43222         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
43223         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
43224         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
43225         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
43226         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
43227         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
43228         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
43229
43230         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
43231         last change; it caused a compilation error when cross-compiling to
43232         Cygwin.
43233
43234 2007-01-18  Jim Meyering  <jim@meyering.net>
43235
43236         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
43237         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
43238         than the race-prone "test -d sys || mkdir sys".
43239         (configure.ac): Use AC_PROG_MKDIR_P.
43240         * modules/sys_select: Likewise.
43241         * modules/sys_socket: Likewise.
43242         * modules/sys_time: Likewise.
43243
43244 2007-01-18  Eric Blake  <ebb9@byu.net>
43245
43246         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
43247         replace gettimeofday.
43248         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
43249         name, to avoid infinite recursion.
43250
43251 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
43252
43253         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
43254         module sys_time.
43255         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
43256         assume timespec.h defines struct timeval.
43257         * lib/settime.c: Likewise.
43258         * lib/utimens.c: Likewise.
43259         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
43260         since we now assume the gettimeofday module.
43261         * lib/tempname.c (__gen_tempname): Likewise.
43262         * lib/gettimeofday.h: Remove.
43263         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
43264         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
43265         Include <time.h>, for 'time()'.
43266         (localtime_buffer_addr): Also use this workaround if
43267         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
43268         to simplify the uses.  All uses changed.
43269         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
43270         that #undef is inside {}, and 'const' follows type name consistently.
43271         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
43272         (gettimeofday): Do not use the maximum possible value for
43273         tv->tv_usec, since that might break usages other than ls.c.
43274         Instead, we'll leave ls.c alone.  This undoes today's patch
43275         by Bruno.  Add a compile-time warning for 1s-clock resolution;
43276         we've never observed the problem but might as well keep the
43277         canary.
43278         * lib/nanosleep.c: Include timespec.h first, for interface check.
43279         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
43280         now assume the sys_time module.
43281         * lib/tempname.c: Likewise.
43282         * lib/timespec.h: Likewise.
43283         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
43284         needed.
43285         * lib/strftime.c: Likewise.
43286         * lib/timespec.h: Likewise.
43287         * lib/posixtm.c: Include posixtm.h first, for interface check.
43288         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
43289         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
43290         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
43291         * lib/sys_time_.h: New file.
43292         * lib/timespec.h (struct timespec): Use long int, not long.
43293         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
43294         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
43295         Remove obsolescent call to AC_HEADER_TIME.
43296         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
43297         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
43298         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
43299         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
43300         Likewise.
43301         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
43302         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
43303         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
43304         into the sys_time module.  Check for gettimeofday just once.
43305         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
43306         for gettimeofday signature to just check the signature.  Merely
43307         compile it, since linking doesn't test signature.  Improve test for
43308         whether gettimeofday.o is actually needed.
43309         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
43310         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
43311         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
43312         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
43313         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
43314         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
43315         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
43316         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
43317         than worrying about sys/time.h.
43318         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
43319         Don't bother worrying about TIME_WITH_SYS_TIME.
43320         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
43321         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
43322         * m4/sys_time_h.m4: New file.
43323         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
43324         Don't include sys/time.h.  Return from main rather than exiting.
43325         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
43326         all uses changed.
43327         * modules/gethrxtime (Depends-on): Add sys_time.
43328         * modules/gettime (Depends-on): Likewise.
43329         * modules/gettimeofday (Depends-on): Likewise.
43330         * modules/nanosleep (Depends-on): Likewise.
43331         * modules/settime (Depends-on): Likewise.
43332         * modules/tempname (Depends-on): Likewise.
43333         * modules/utimens (Depends-on): Likewise.
43334         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
43335         (Include:) Change back to <sys/time.h>.
43336         (Maintainer:) Add self.
43337         * modules/sys_time: New file.
43338         * modules/tempname (Depends-on): Add gettimeofday.
43339         * tests/test-gettimeofday.c: Include <sys/time.h>
43340         rather than gettimeofday.h.
43341
43342 2007-01-17  Bruno Haible  <bruno@clisp.org>
43343
43344         * gnulib-tool (func_get_license): Revert last patch. Instead, let
43345         the license default to GPL.
43346         (func_create_testdir): Don't complain if a module is LGPL and its
43347         tests module depends on GPLed modules.
43348
43349 2007-01-17  Bruno Haible  <bruno@clisp.org>
43350
43351         * lib/gettimeofday.c (gettimeofday): Add code for the case
43352         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
43353         maximum possible value for tv->tv_usec, rather than the minimum one.
43354
43355 2005-10-08  Martin Lambers  <marlam@marlam.de>
43356 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
43357 2007-01-16  Bruno Haible  <bruno@clisp.org>
43358
43359         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
43360         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
43361         gl_FUNC_GETTIMEOFDAY.
43362         (Include): Add gettimeofday.h.
43363         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
43364         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
43365         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
43366         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
43367         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
43368         * lib/gettimeofday.h: New file.
43369         * lib/gettimeofday.c: Include <sys/timeb.h>.
43370         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
43371         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
43372         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
43373         fall back on time().
43374
43375         * tests/test-gettimeofday.c: New file.
43376         * modules/gettimeofday-tests: New file.
43377
43378 2007-01-16  Eric Blake  <ebb9@byu.net>
43379
43380         * modules/fnmatch (Depends-on): Depend on wchar.
43381         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
43382         * m4/fnmatch.m4: Likewise.
43383         * modules/mbchar (Makefile.am): Assume <wchar.h>.
43384         * m4/mbchar.m4: Likewise.
43385         * modules/mbswidth (Depends-on): Depend on wchar.
43386         * lib/mbswidth.c: Assume <wchar.h>.
43387         * m4/mbswidth.m4: Likewise.
43388         * modules/quotearg (Depends-on): Depend on wchar.
43389         * lib/quotearg.c: Assume <wchar.h>.
43390         * m4/quotearg.m4: Likewise.
43391         * modules/regex (Depends-on): Depend on wchar.
43392         * lib/regex_internal.h: Assume <wchar.h>.
43393         * m4/regex.m4: Likewise.
43394         * modules/stdint (Depends-on): Depend on wchar.
43395         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
43396         * m4/stdint.m4: Likewise.
43397         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
43398         * modules/strftime (Depends-on): Depend on wchar.
43399         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
43400         * modules/strtol (Depends-on): Depend on wchar.
43401         * lib/strtol.c: Assume <wchar.h>.
43402         * modules/wcwidth (Depends-on): Depend on wchar.
43403         * lib/wcwidth.h: Assume <wchar.h>.
43404         * m4/wcwidth.m4: Likewise.
43405
43406 2007-01-16  Bruno Haible  <bruno@clisp.org>
43407
43408         * modules/csharpexec-script: New, created from...
43409         * modules/csharpexec: ... this.
43410
43411 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
43412
43413         * modules/javaexec-script: New, created from...
43414         * modules/javaexec: ... this.
43415
43416 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43417
43418         * modules/poll (Dependencies): Add sys_select.
43419
43420 2007-01-15  Jim Meyering  <jim@meyering.net>
43421
43422         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
43423         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
43424         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
43425         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
43426
43427 2007-01-15  Bruno Haible  <bruno@clisp.org>
43428
43429         * modules/striconveh: New file.
43430         * lib/striconveh.h: New file.
43431         * lib/striconveh.c: New file.
43432         * MODULES.html.sh (Internationalization functions): Add striconveh.
43433
43434         * modules/striconveh-tests: New file.
43435         * tests/test-striconveh.c: New file.
43436
43437 2007-01-15  Bruno Haible  <bruno@clisp.org>
43438
43439         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
43440         not from GNU libiconv or GNU libc.
43441
43442 2007-01-15  Bruno Haible  <bruno@clisp.org>
43443
43444         * doc/gnulib-intro.texi (Copyright): Explain the different license
43445         terms for module descriptions, autoconf macros, tests, documentation.
43446
43447 2007-01-14  Bruno Haible  <bruno@clisp.org>
43448
43449         * modules/striconv-tests: New file.
43450         * tests/test-striconv.c: New file.
43451
43452 2007-01-14  Bruno Haible  <bruno@clisp.org>
43453
43454         * modules/iconv-tests: New file.
43455         * tests/test-iconv.c: New file.
43456
43457 2007-01-14  Bruno Haible  <bruno@clisp.org>
43458
43459         * gnulib-tool (func_get_license): For test modules, use the license of
43460         the main module.
43461
43462 2007-01-14  Bruno Haible  <bruno@clisp.org>
43463
43464         * modules/iconv (Include): Clarify that <iconv.h> can only be included
43465         if iconv is found to exist.
43466
43467 2007-01-14  Bruno Haible  <bruno@clisp.org>
43468
43469         * modules/c-ctype-tests: New file.
43470         * tests/test-c-ctype.c: New file.
43471
43472 2007-01-14  Bruno Haible  <bruno@clisp.org>
43473
43474         * modules/binary-io-tests: New file.
43475         * tests/test-binary-io.sh: New file.
43476         * tests/test-binary-io.c: New file.
43477
43478 2007-01-14  Bruno Haible  <bruno@clisp.org>
43479
43480         * modules/array-oset-tests: New file.
43481         * tests/test-array_oset.c: New file.
43482
43483 2007-01-14  Bruno Haible  <bruno@clisp.org>
43484
43485         * modules/array-list-tests: New file.
43486         * tests/test-array_list.c: New file.
43487
43488 2007-01-14  Bruno Haible  <bruno@clisp.org>
43489
43490         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
43491         and make.
43492         Reported by Simon Josefsson in
43493         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
43494
43495 2007-01-14  Bruno Haible  <bruno@clisp.org>
43496
43497         * modules/allocsa-tests: New file.
43498         * tests/test-allocsa.c: New file.
43499
43500 2007-01-14  Bruno Haible  <bruno@clisp.org>
43501
43502         * modules/fchdir (Depends-on): Add absolute-header.
43503         * modules/unistd (Depends-on): Likewise.
43504
43505 2006-12-30  Bruno Haible  <bruno@clisp.org>
43506
43507         * modules/fchdir: New file.
43508         * modules/unistd (Files): Add lib/unistd_.h.
43509         (Makefile.am): Generate unistd.h from unistd_.h.
43510         * lib/fchdir.c: New file.
43511         * lib/dirent_.h: New file.
43512         * lib/unistd_.h: New file.
43513         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
43514         * m4/fchdir.m4: New file.
43515         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
43516         (gl_HEADER_UNISTD): Invoke it.
43517         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
43518         function.
43519         * lib/backupfile.c (opendir, closedir): Undefine.
43520         * lib/chown.c (open, close): Undefine.
43521         * lib/clean-temp.c (open, close): Undefine.
43522         * lib/copy-file.c (open, close): Undefine.
43523         * lib/execute.c (open, close): Undefine.
43524         * lib/fsusage.c (open, close): Undefine.
43525         * lib/gc-gnulib.c (open, close): Undefine.
43526         * lib/getcwd.c (opendir, closedir): Undefine.
43527         * lib/glob.c (opendir, closedir): Undefine.
43528         * lib/javacomp.c (open, close): Undefine.
43529         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
43530         * lib/openat-proc.c (open, close): Undefine.
43531         * lib/pagealign_alloc.c (open, close): Undefine.
43532         * lib/pipe.c (open, close): Undefine.
43533         * lib/progreloc.c (open, close): Undefine.
43534         * lib/savedir.c (opendir, closedir): Undefine.
43535         * lib/utime.c (open, close): Undefine.
43536         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
43537
43538 2007-01-10  Bruno Haible  <bruno@clisp.org>
43539
43540         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
43541
43542 2007-01-12  Eric Blake  <ebb9@byu.net>
43543
43544         Provide a robust <wchar.h>.  Further simplifications are now
43545         possible in other modules, but not included here.
43546         * modules/wchar: New module.
43547         * m4/wchar.m4: New file.
43548         * lib/wchar_.h: Likewise.
43549         * modules/mbchar (Depends-on): Depend on wchar, as the first use
43550         of the new module.
43551         * MODULES.html.sh (Extended multibyte and wide character utilities):
43552         New section.
43553
43554 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
43555
43556         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
43557         to a reasonable default for memory allocation.
43558         (xreadlink): Don't allocate a huge buffer, to work around a buggy
43559         file system that reports garbage st_size values for symlinks.
43560         Problem reported by Liyang Hu.
43561
43562 2007-01-11  Simon Josefsson  <simon@josefsson.org>
43563
43564         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
43565         Emacs .#* auto-save files).
43566
43567 2007-01-11  Bruno Haible  <bruno@clisp.org>
43568
43569         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
43570         directory.
43571
43572 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
43573
43574         Use @...@ consistently in lib/wctype_.h.
43575         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
43576         on it being set to 1 or 0.
43577         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
43578         go back to AC_SUBSTing it.
43579         * modules/wctype (Makefile.am): Undo previous change.
43580
43581 2007-01-10  Eric Blake  <ebb9@byu.net>
43582
43583         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
43584         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
43585         * modules/wctype (Makefile.am): Likewise.
43586         Reported by Chris McGuire.
43587
43588 2007-01-10  Jim Meyering  <jim@meyering.net>
43589
43590         fts.c: a small readability/maintainability improvement
43591         * lib/fts.c (fts_read): Make this code slightly more readable and
43592         maintainable by hoisting the "sp->fts_cur = p" assignments to
43593         immediately follow the statements that set P.  Derived from
43594         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
43595
43596 2007-01-10  Eric Blake  <ebb9@byu.net>
43597
43598         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
43599         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
43600         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
43601         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
43602         Reported by Chris McGuire.
43603
43604 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43605
43606         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
43607         in sed script.
43608
43609 2007-01-09  Bruno Haible  <bruno@clisp.org>
43610
43611         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
43612         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
43613         variables.
43614         (func_module): Use them.
43615
43616 2007-01-09  Bruno Haible  <bruno@clisp.org>
43617
43618         * modules/unistr/base: New file.
43619         * lib/unistr.h: New file.
43620
43621         * modules/unistr/u8-to-u16: New file.
43622         * lib/unistr/u8-to-u16.c: New file.
43623
43624         * modules/unistr/u8-to-u32: New file.
43625         * lib/unistr/u8-to-u32.c: New file.
43626
43627         * modules/unistr/u16-to-u8: New file.
43628         * lib/unistr/u16-to-u8.c: New file.
43629
43630         * modules/unistr/u16-to-u32: New file.
43631         * lib/unistr/u16-to-u32.c: New file.
43632
43633         * modules/unistr/u32-to-u8: New file.
43634         * lib/unistr/u32-to-u8.c: New file.
43635
43636         * modules/unistr/u32-to-u16: New file.
43637         * lib/unistr/u32-to-u16.c: New file.
43638
43639         * modules/unistr/u8-check: New file.
43640         * modules/unistr/u16-check: New file.
43641         * modules/unistr/u32-check: New file.
43642         * lib/unistr/u8-check.c: New file.
43643         * lib/unistr/u16-check.c: New file.
43644         * lib/unistr/u32-check.c: New file.
43645
43646         * modules/unistr/u8-chr: New file.
43647         * modules/unistr/u16-chr: New file.
43648         * modules/unistr/u32-chr: New file.
43649         * lib/unistr/u8-chr.c: New file.
43650         * lib/unistr/u16-chr.c: New file.
43651         * lib/unistr/u32-chr.c: New file.
43652
43653         * modules/unistr/u8-cmp: New file.
43654         * modules/unistr/u16-cmp: New file.
43655         * modules/unistr/u32-cmp: New file.
43656         * lib/unistr/u8-cmp.c: New file.
43657         * lib/unistr/u16-cmp.c: New file.
43658         * lib/unistr/u32-cmp.c: New file.
43659
43660         * modules/unistr/u8-cpy: New file.
43661         * modules/unistr/u16-cpy: New file.
43662         * modules/unistr/u32-cpy: New file.
43663         * lib/unistr/u8-cpy.c: New file.
43664         * lib/unistr/u16-cpy.c: New file.
43665         * lib/unistr/u32-cpy.c: New file.
43666         * lib/unistr/u-cpy.h: New file.
43667
43668         * modules/unistr/u8-cpy-alloc: New file.
43669         * modules/unistr/u16-cpy-alloc: New file.
43670         * modules/unistr/u32-cpy-alloc: New file.
43671         * lib/unistr/u8-cpy-alloc.c: New file.
43672         * lib/unistr/u16-cpy-alloc.c: New file.
43673         * lib/unistr/u32-cpy-alloc.c: New file.
43674         * lib/unistr/u-cpy-alloc.h: New file.
43675
43676         * modules/unistr/u8-endswith: New file.
43677         * modules/unistr/u16-endswith: New file.
43678         * modules/unistr/u32-endswith: New file.
43679         * lib/unistr/u8-endswith.c: New file.
43680         * lib/unistr/u16-endswith.c: New file.
43681         * lib/unistr/u32-endswith.c: New file.
43682         * lib/unistr/u-endswith.h: New file.
43683
43684         * modules/unistr/u8-mblen: New file.
43685         * modules/unistr/u16-mblen: New file.
43686         * modules/unistr/u32-mblen: New file.
43687         * lib/unistr/u8-mblen.c: New file.
43688         * lib/unistr/u16-mblen.c: New file.
43689         * lib/unistr/u32-mblen.c: New file.
43690
43691         * modules/unistr/u8-mbtouc: New file.
43692         * modules/unistr/u16-mbtouc: New file.
43693         * modules/unistr/u32-mbtouc: New file.
43694         * lib/unistr/u8-mbtouc.c: New file.
43695         * lib/unistr/u16-mbtouc.c: New file.
43696         * lib/unistr/u32-mbtouc.c: New file.
43697
43698         * modules/unistr/u8-mbtouc-safe: New file.
43699         * modules/unistr/u16-mbtouc-safe: New file.
43700         * modules/unistr/u32-mbtouc-safe: New file.
43701         * lib/unistr/u8-mbtouc-safe.c: New file.
43702         * lib/unistr/u16-mbtouc-safe.c: New file.
43703         * lib/unistr/u32-mbtouc-safe.c: New file.
43704
43705         * modules/unistr/u8-move: New file.
43706         * modules/unistr/u16-move: New file.
43707         * modules/unistr/u32-move: New file.
43708         * lib/unistr/u8-move.c: New file.
43709         * lib/unistr/u16-move.c: New file.
43710         * lib/unistr/u32-move.c: New file.
43711         * lib/unistr/u-move.h: New file.
43712
43713         * modules/unistr/u8-next: New file.
43714         * modules/unistr/u16-next: New file.
43715         * modules/unistr/u32-next: New file.
43716         * lib/unistr/u8-next.c: New file.
43717         * lib/unistr/u16-next.c: New file.
43718         * lib/unistr/u32-next.c: New file.
43719
43720         * modules/unistr/u8-prev: New file.
43721         * modules/unistr/u16-prev: New file.
43722         * modules/unistr/u32-prev: New file.
43723         * lib/unistr/u8-prev.c: New file.
43724         * lib/unistr/u16-prev.c: New file.
43725         * lib/unistr/u32-prev.c: New file.
43726
43727         * modules/unistr/u8-set: New file.
43728         * modules/unistr/u16-set: New file.
43729         * modules/unistr/u32-set: New file.
43730         * lib/unistr/u8-set.c: New file.
43731         * lib/unistr/u16-set.c: New file.
43732         * lib/unistr/u32-set.c: New file.
43733         * lib/unistr/u-set.h: New file.
43734
43735         * modules/unistr/u8-startswith: New file.
43736         * modules/unistr/u16-startswith: New file.
43737         * modules/unistr/u32-startswith: New file.
43738         * lib/unistr/u8-startswith.c: New file.
43739         * lib/unistr/u16-startswith.c: New file.
43740         * lib/unistr/u32-startswith.c: New file.
43741         * lib/unistr/u-startswith.h: New file.
43742
43743         * modules/unistr/u8-stpcpy: New file.
43744         * modules/unistr/u16-stpcpy: New file.
43745         * modules/unistr/u32-stpcpy: New file.
43746         * lib/unistr/u8-stpcpy.c: New file.
43747         * lib/unistr/u16-stpcpy.c: New file.
43748         * lib/unistr/u32-stpcpy.c: New file.
43749         * lib/unistr/u-stpcpy.h: New file.
43750
43751         * modules/unistr/u8-stpncpy: New file.
43752         * modules/unistr/u16-stpncpy: New file.
43753         * modules/unistr/u32-stpncpy: New file.
43754         * lib/unistr/u8-stpncpy.c: New file.
43755         * lib/unistr/u16-stpncpy.c: New file.
43756         * lib/unistr/u32-stpncpy.c: New file.
43757         * lib/unistr/u-stpncpy.h: New file.
43758
43759         * modules/unistr/u8-strcat: New file.
43760         * modules/unistr/u16-strcat: New file.
43761         * modules/unistr/u32-strcat: New file.
43762         * lib/unistr/u8-strcat.c: New file.
43763         * lib/unistr/u16-strcat.c: New file.
43764         * lib/unistr/u32-strcat.c: New file.
43765         * lib/unistr/u-strcat.h: New file.
43766
43767         * modules/unistr/u8-strchr: New file.
43768         * modules/unistr/u16-strchr: New file.
43769         * modules/unistr/u32-strchr: New file.
43770         * lib/unistr/u8-strchr.c: New file.
43771         * lib/unistr/u16-strchr.c: New file.
43772         * lib/unistr/u32-strchr.c: New file.
43773
43774         * modules/unistr/u8-strcmp: New file.
43775         * modules/unistr/u16-strcmp: New file.
43776         * modules/unistr/u32-strcmp: New file.
43777         * lib/unistr/u8-strcmp.c: New file.
43778         * lib/unistr/u16-strcmp.c: New file.
43779         * lib/unistr/u32-strcmp.c: New file.
43780
43781         * modules/unistr/u8-strcpy: New file.
43782         * modules/unistr/u16-strcpy: New file.
43783         * modules/unistr/u32-strcpy: New file.
43784         * lib/unistr/u8-strcpy.c: New file.
43785         * lib/unistr/u16-strcpy.c: New file.
43786         * lib/unistr/u32-strcpy.c: New file.
43787         * lib/unistr/u-strcpy.h: New file.
43788
43789         * modules/unistr/u8-strcspn: New file.
43790         * modules/unistr/u16-strcspn: New file.
43791         * modules/unistr/u32-strcspn: New file.
43792         * lib/unistr/u8-strcspn.c: New file.
43793         * lib/unistr/u16-strcspn.c: New file.
43794         * lib/unistr/u32-strcspn.c: New file.
43795         * lib/unistr/u-strcspn.h: New file.
43796
43797         * modules/unistr/u8-strdup: New file.
43798         * modules/unistr/u16-strdup: New file.
43799         * modules/unistr/u32-strdup: New file.
43800         * lib/unistr/u8-strdup.c: New file.
43801         * lib/unistr/u16-strdup.c: New file.
43802         * lib/unistr/u32-strdup.c: New file.
43803         * lib/unistr/u-strdup.h: New file.
43804
43805         * modules/unistr/u8-strlen: New file.
43806         * modules/unistr/u16-strlen: New file.
43807         * modules/unistr/u32-strlen: New file.
43808         * lib/unistr/u8-strlen.c: New file.
43809         * lib/unistr/u16-strlen.c: New file.
43810         * lib/unistr/u32-strlen.c: New file.
43811         * lib/unistr/u-strlen.h: New file.
43812
43813         * modules/unistr/u8-strmblen: New file.
43814         * modules/unistr/u16-strmblen: New file.
43815         * modules/unistr/u32-strmblen: New file.
43816         * lib/unistr/u8-strmblen.c: New file.
43817         * lib/unistr/u16-strmblen.c: New file.
43818         * lib/unistr/u32-strmblen.c: New file.
43819
43820         * modules/unistr/u8-strmbtouc: New file.
43821         * modules/unistr/u16-strmbtouc: New file.
43822         * modules/unistr/u32-strmbtouc: New file.
43823         * lib/unistr/u8-strmbtouc.c: New file.
43824         * lib/unistr/u16-strmbtouc.c: New file.
43825         * lib/unistr/u32-strmbtouc.c: New file.
43826
43827         * modules/unistr/u8-strncat: New file.
43828         * modules/unistr/u16-strncat: New file.
43829         * modules/unistr/u32-strncat: New file.
43830         * lib/unistr/u8-strncat.c: New file.
43831         * lib/unistr/u16-strncat.c: New file.
43832         * lib/unistr/u32-strncat.c: New file.
43833         * lib/unistr/u-strncat.h: New file.
43834
43835         * modules/unistr/u8-strncmp: New file.
43836         * modules/unistr/u16-strncmp: New file.
43837         * modules/unistr/u32-strncmp: New file.
43838         * lib/unistr/u8-strncmp.c: New file.
43839         * lib/unistr/u16-strncmp.c: New file.
43840         * lib/unistr/u32-strncmp.c: New file.
43841
43842         * modules/unistr/u8-strncpy: New file.
43843         * modules/unistr/u16-strncpy: New file.
43844         * modules/unistr/u32-strncpy: New file.
43845         * lib/unistr/u8-strncpy.c: New file.
43846         * lib/unistr/u16-strncpy.c: New file.
43847         * lib/unistr/u32-strncpy.c: New file.
43848         * lib/unistr/u-strncpy.h: New file.
43849
43850         * modules/unistr/u8-strnlen: New file.
43851         * modules/unistr/u16-strnlen: New file.
43852         * modules/unistr/u32-strnlen: New file.
43853         * lib/unistr/u8-strnlen.c: New file.
43854         * lib/unistr/u16-strnlen.c: New file.
43855         * lib/unistr/u32-strnlen.c: New file.
43856         * lib/unistr/u-strnlen.h: New file.
43857
43858         * modules/unistr/u8-strpbrk: New file.
43859         * modules/unistr/u16-strpbrk: New file.
43860         * modules/unistr/u32-strpbrk: New file.
43861         * lib/unistr/u8-strpbrk.c: New file.
43862         * lib/unistr/u16-strpbrk.c: New file.
43863         * lib/unistr/u32-strpbrk.c: New file.
43864         * lib/unistr/u-strpbrk.h: New file.
43865
43866         * modules/unistr/u8-strrchr: New file.
43867         * modules/unistr/u16-strrchr: New file.
43868         * modules/unistr/u32-strrchr: New file.
43869         * lib/unistr/u8-strrchr.c: New file.
43870         * lib/unistr/u16-strrchr.c: New file.
43871         * lib/unistr/u32-strrchr.c: New file.
43872
43873         * modules/unistr/u8-strspn: New file.
43874         * modules/unistr/u16-strspn: New file.
43875         * modules/unistr/u32-strspn: New file.
43876         * lib/unistr/u8-strspn.c: New file.
43877         * lib/unistr/u16-strspn.c: New file.
43878         * lib/unistr/u32-strspn.c: New file.
43879         * lib/unistr/u-strspn.h: New file.
43880
43881         * modules/unistr/u8-strstr: New file.
43882         * modules/unistr/u16-strstr: New file.
43883         * modules/unistr/u32-strstr: New file.
43884         * lib/unistr/u8-strstr.c: New file.
43885         * lib/unistr/u16-strstr.c: New file.
43886         * lib/unistr/u32-strstr.c: New file.
43887         * lib/unistr/u-strstr.h: New file.
43888
43889         * modules/unistr/u8-strtok: New file.
43890         * modules/unistr/u16-strtok: New file.
43891         * modules/unistr/u32-strtok: New file.
43892         * lib/unistr/u8-strtok.c: New file.
43893         * lib/unistr/u16-strtok.c: New file.
43894         * lib/unistr/u32-strtok.c: New file.
43895         * lib/unistr/u-strtok.h: New file.
43896
43897         * modules/unistr/u8-uctomb: New file.
43898         * modules/unistr/u16-uctomb: New file.
43899         * modules/unistr/u32-uctomb: New file.
43900         * lib/unistr/u8-uctomb.c: New file.
43901         * lib/unistr/u16-uctomb.c: New file.
43902         * lib/unistr/u32-uctomb.c: New file.
43903
43904         * MODULES.html.sh (Unicode string functions): Add the new modules.
43905
43906 2007-01-08  Bruno Haible  <bruno@clisp.org>
43907
43908         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
43909         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
43910         subdirectories.
43911
43912 2007-01-08  Karl Berry  <karl@gnu.org>
43913
43914         * doc/error.texi: mention that main() fns must set program_name
43915         when progname is used.
43916
43917 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
43918
43919         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
43920         WCTYPE_H is empty, for the benefit of builds from non-distclean
43921         directories.  Problem reported by Eric Blake in
43922         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
43923
43924 2007-01-08  Bruno Haible  <bruno@clisp.org>
43925
43926         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
43927         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
43928         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
43929         PROVIDE_CANONICALIZE_FILENAME_MODE.
43930         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
43931
43932 2007-01-08  Bruno Haible  <bruno@clisp.org>
43933
43934         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
43935         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
43936         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
43937         * lib/fts.c: Likewise.
43938         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
43939
43940 2006-12-25  Bruno Haible  <bruno@clisp.org>
43941
43942         * modules/utf8-ucs4-safe: New file.
43943         * lib/utf8-ucs4-safe.h: New file.
43944         * lib/unistr/utf8-ucs4-safe.c: New file.
43945
43946         * modules/utf16-ucs4-safe: New file.
43947         * lib/utf16-ucs4-safe.h: New file.
43948         * lib/unistr/utf16-ucs4-safe.c: New file.
43949
43950         * MODULES.html.sh (Unicode string functions): Add the new modules.
43951
43952 2007-01-08  Bruno Haible  <bruno@clisp.org>
43953
43954         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
43955         (Depends-on): Add unitypes.
43956         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
43957         (u8_mbtouc_aux): Move out to separate file.
43958         (u8_mbtouc): Use ucs4_t, uint8_t types.
43959         * lib/unistr/utf8-ucs4.c: New file.
43960
43961         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
43962         (Depends-on): Add unitypes.
43963         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
43964         (u16_mbtouc_aux): Move out to separate file.
43965         (u16_mbtouc): Use ucs4_t, uint16_t types.
43966         * lib/unistr/utf16-ucs4.c: New file.
43967
43968         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
43969         (Depends-on): Add unitypes.
43970         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
43971         (u8_uctomb_aux): Move out to separate file.
43972         (u8_uctomb): Use ucs4_t, uint8_t types.
43973         * lib/unistr/ucs4-utf8.c: New file.
43974
43975         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
43976         (Depends-on): Add unitypes.
43977         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
43978         (u16_uctomb_aux): Move out to separate file.
43979         (u16_uctomb): Use ucs4_t, uint16_t types.
43980         * lib/unistr/ucs4-utf16.c: New file.
43981
43982 2006-12-25  Bruno Haible  <bruno@clisp.org>
43983
43984         * modules/unitypes: New file.
43985         * lib/unitypes.h: New file.
43986         * MODULES.html.sh (func_all_modules): New section "Unicode string
43987         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
43988         this section. Add unitypes.
43989
43990 2007-01-08  Bruno Haible  <bruno@clisp.org>
43991
43992         Avoid variable names that conflict with those from libtool.
43993         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
43994         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
43995         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
43996         library_names_spec to acl_library_names_spec, hardcode_* to
43997         acl_hardcode_*.
43998         Reported by Ralf Wildenhues.
43999
44000 2007-01-08  Bruno Haible  <bruno@clisp.org>
44001
44002         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
44003         definition.
44004         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
44005         definition.
44006         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
44007         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
44008         definition.
44009         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
44010         definition.
44011         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
44012         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
44013         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
44014         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
44015         definition.
44016         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
44017         definition.
44018         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
44019         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
44020         GC_USE_<algorithm>.
44021         * lib/gc-libgcrypt.c: Likewise.
44022         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
44023         * modules/gc-arctwo (configure.ac): Likewise.
44024         * modules/gc-des (configure.ac): Likewise.
44025         * modules/gc-hmac-md5 (configure.ac): Likewise.
44026         * modules/gc-hmac-sha1 (configure.ac): Likewise.
44027         * modules/gc-md2 (configure.ac): Likewise.
44028         * modules/gc-md4 (configure.ac): Likewise.
44029         * modules/gc-md5 (configure.ac): Likewise.
44030         * modules/gc-random (configure.ac): Likewise.
44031         * modules/gc-rijndael (configure.ac): Likewise.
44032         * modules/gc-sha1 (configure.ac): Likewise.
44033
44034 2007-01-08  Bruno Haible  <bruno@clisp.org>
44035
44036         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
44037         macro definition.
44038         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
44039         definition.
44040         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
44041         definition.
44042         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
44043         * modules/fcntl-safer (configure.ac): Likewise.
44044         * modules/fopen-safer (configure.ac): Likewise.
44045         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
44046         GNULIB_FWRITEERROR macro definition.
44047
44048 2007-01-08  Bruno Haible  <bruno@clisp.org>
44049
44050         * m4/gnulib-common.m4: New file.
44051         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
44052         (func_get_filelist): Add m4/gnulib-common.m4.
44053
44054 2007-01-08  Bruno Haible  <bruno@clisp.org>
44055
44056         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
44057         command.
44058
44059 2007-01-08  Jim Meyering  <jim@meyering.net>
44060
44061         Use a more robust test for a "can't happen" condition.
44062         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
44063         narrowed the st_size value.  Presuming the "can't happen" condition
44064         is true, that narrowing could conceivably convert an invalid st_size
44065         value into a valid one.  Instead, use a change based on Matthew
44066         Woehlke's original patch.
44067
44068         Slight readability improvement: use an assert-like macro
44069         in place of literal "abort ()" uses.
44070         * lib/fts.c (fts_assert): Define.
44071         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
44072         Use this macro instead of a bare 'abort'.
44073
44074 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
44075
44076         Don't worry about using IRIX 5.3's wctype.h broken definitions;
44077         simply work around them.
44078         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
44079         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
44080         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
44081         declaring.
44082         Don't bother to define as macros, since the standard doesn't require it.
44083         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
44084         longer worry about IRIX 5.3.
44085         (HAVE_WCTYPE_CTMP_BUG): Remove.
44086
44087 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
44088
44089         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
44090         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
44091         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
44092         Problems reported by Georg Schwarz for IRIX 5.3.
44093
44094         * gnulib-tool (autoconf_minversion): Take the maximum version number
44095         found, not the minimum.  Problem reported by James Youngman.
44096
44097 2007-01-03  Karl Berry  <karl@gnu.org>
44098
44099         * doc/error.texi: new file, explaining interaction with progname.
44100         * doc/gnulib.texi: include it.  Update copyright.
44101
44102 2007-01-03  Simon Josefsson  <simon@josefsson.org>
44103
44104         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
44105         AC_CANONICAL_HOST, to improve autobuild outputs.
44106
44107 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
44108             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
44109
44110         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
44111         sockets, server sockets, and other file descriptors.  Count errors
44112         to compute the return value.  Reorder the code a bit to be easier
44113         to follow.  Don't set event bits that were not requested (except
44114         POLLERR and POLLHUP).
44115
44116 2007-01-01  Bruno Haible  <bruno@clisp.org>
44117
44118         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
44119
44120 2007-01-03  Jim Meyering  <jim@meyering.net>
44121
44122         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
44123
44124 2007-01-02  Bruno Haible  <bruno@clisp.org>
44125
44126         * modules/settime (Include): Require timespec.h.
44127         * modules/nanosleep (Include): Likewise.
44128
44129 2007-01-01  Bruno Haible  <bruno@clisp.org>
44130
44131         * gnulib-tool (func_emit_copyright_notice): Bump year.
44132         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
44133
44134 2007-01-01  Bruno Haible  <bruno@clisp.org>
44135
44136         Improve support for OpenBSD.
44137         * build-aux/config.rpath (libname_spec): Export.
44138         (library_names_spec): New variable. Export.
44139         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
44140         library_names_spec from the config.rpath output. Locate shared library
44141         through the name pattern in library_names_spec.
44142
44143 2007-01-01  Eric Blake  <ebb9@byu.net>
44144
44145         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
44146
44147 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
44148
44149         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
44150         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
44151         assume the C locale, and avoid an "eval" that could cause trouble.
44152         Problem with SORT reported by Bob Proulx.
44153
44154         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
44155         Define.  Trivial patch from Henning Nielsen Lund, originally
44156         sent to bug-grep@gnu.org today.
44157
44158 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
44159
44160         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
44161         struct stat.  Problem reported by Henning Nielsen Lund.
44162         * lib/acl.c: Include acl.h first, to check interface.  Don't
44163         bother to include sys/types.h and sys/stat.h again.
44164
44165 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
44166
44167         Import the following change from libc; problem reported by
44168         Sven Verdoolaege.
44169
44170         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
44171
44172         [BZ #1373]
44173         * lib/argp.h: Remove __NTH for __argp_usage inline function.
44174
44175 2006-12-28  Jim Meyering  <jim@meyering.net>
44176
44177         * build-aux/announce-gen: Do not assume that the package
44178         builds any of tar.gz, tar.bz2, and .xdelta files.
44179         Suggestion from Simon Josefsson.
44180
44181 2006-12-28  Simon Josefsson  <simon@josefsson.org>
44182
44183         * modules/announce-gen: New file.
44184
44185 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
44186
44187         * lib/mbchar.h: Just include <wctype.h>; the wctype module
44188         handles its gotchas now.
44189         * lib/mbswidth.c: Likewise.
44190         * lib/wcwidth.h: Likewise.
44191         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
44192         and iswcntrl; the wctype module does this stuff now.
44193         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
44194         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
44195         * modules/mbchar (Depends-on): Add wctype.
44196         * modules/mbswidth (Depends-on): Likewise.
44197         * modules/wcwidth (Depends-on): Likewise.
44198
44199 2006-12-27  Eric Blake  <ebb9@byu.net>
44200
44201         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
44202         module uses more than what <wctype.h> is required to provide.
44203
44204 2006-12-26  Eric Blake  <ebb9@byu.net>
44205
44206         * gnulib-tool (sed_extract_prog): Avoid space-tab.
44207
44208 2006-12-26  Eric Blake  <ebb9@byu.net>
44209
44210         * modules/absolute-header: New module.
44211         * modules/fcntl (Depends-on): Depend on it.
44212         * modules/inttypes (Depends-on): Likewise.
44213         * modules/stdint (Depends-on): Likewise.
44214         * modules/sys_stat (Depends-on): Likewise.
44215         * modules/wctype (Depends-on): Likewise.
44216         * MODULES.html.sh (Support for building libraries and
44217         executables): Document it.
44218
44219 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
44220
44221         * gnulib-tool (SED): Remove, undoing previous change.
44222         The problem was that it broke coreutils on Solaris, because
44223         "sed --posix" leaked into a makefile.
44224         (sed): New alias, if 'alias' and GNU sed.
44225
44226 2006-12-24  Jim Meyering  <jim@meyering.net>
44227
44228         Work around an fchownat bug in glibc-2.4:
44229         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
44230         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
44231         in spite of the -P option.
44232         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
44233         New macros.
44234         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
44235         * modules/openat (Files): Add lib/fchownat.c.
44236         * lib/openat.c (fchownat): Don't define here.  Move to...
44237         * lib/fchownat.c: ...this new file.
44238
44239 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
44240
44241         Fix bug reported by Bruno Haible in
44242         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
44243         where quotearg.c didn't compile on Mac OS X 10.2 because it
44244         lacks <wchar.h> and wint_t.
44245         * lib/wctype_.h (__wctype_wint_t): New type.
44246         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
44247         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
44248         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
44249         Arg is now of type __wctype_wint_t, not wint_t.
44250         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
44251         substitute HAVE_WINT_T.
44252         * modules/wctype (Files): Add m4/wint_t.m4.
44253         (wctype.h): Substitute HAVE_WINT_T.
44254
44255 2006-12-23  Bruno Haible  <bruno@clisp.org>
44256
44257         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
44258
44259 2006-12-23  Bruno Haible  <bruno@clisp.org>
44260
44261         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
44262         S_ISLNK.
44263         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
44264         mingw.
44265
44266 2006-12-22  Bruno Haible  <bruno@clisp.org>
44267
44268         * lib/copy-file.c: Include acl.h.
44269         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
44270         Close the file descriptors only after being done with copy_acl.
44271         * modules/copy-file (Depends-on): Add acl.
44272
44273 2006-12-22  Bruno Haible  <bruno@clisp.org>
44274
44275         * gnulib-tool (SED): New variable.
44276         Use $SED instead of sed everywhere.
44277
44278 2006-12-22  Bruno Haible  <bruno@clisp.org>
44279
44280         * modules/no-c++: New file.
44281         * m4/no-c++.m4: New file.
44282         * MODULES.html.sh (Support for building libraries and executables):
44283         Add no-c++.
44284
44285 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
44286
44287         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
44288         Include <limits.h>, and use its INT_MAX to rewrite the
44289         j loop so that it does not overflow 'int'.  Problem reported by
44290         Ralf Wildenhues in
44291         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
44292         Play it safe by shifting left by 1 rather than multiplying by 2,
44293         as GCC is less likely to optimize this away when the value
44294         is signed (when it assumes overflow leads to undefined behavior).
44295         Also, don't assume time_t uses two's complement.
44296
44297 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
44298
44299         * MODULES.html.sh: New module wctype.
44300         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
44301         * lib/fnmatch.c: Don't bother to include <wchar.h> before
44302         <wctype.h>, since the new wctype module should fix this.
44303         * lib/quotearg.c: Include <wctype.h> unconditionally, since
44304         the wctype module should arrange for it.
44305         * lib/regex_internal.h: Likewise.
44306         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
44307         since the wctype module should handle this now.
44308         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
44309         * modules/fnmatch (Depends-on): Add wctype.
44310         * modules/quotearg (Depends-on): Likewise.
44311         * modules/regex (Depends-on): Likewise.
44312
44313 2006-12-19  Bruno Haible  <bruno@clisp.org>
44314
44315         * lib/strdup.h [C++]: Wrap definitions in extern "C".
44316         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
44317
44318 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44319
44320         * modules/savewd (Depends-on): Fix dependency on fcntl.
44321
44322 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
44323
44324         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
44325         conforms to C99, rather than relying on the user's environment
44326         setting of STDINT_H.
44327
44328 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
44329         and Eric Blake  <ebb9@byu.net>
44330
44331         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
44332         This is more consistent with the other defines here.
44333         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
44334         Port to z/OS.  Problem reported by Paul Gilmartin.
44335         Change local vars to use gl_ prefix rather than ac_.
44336         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
44337         with other defines.
44338         * modules/double-slash-root: New module.
44339         * modules/dirname (Files): Remove m4/double-slash-root.m4.
44340         (Depends-on): Add double-slash-root.
44341         * MODULES.html.sh (File system functions): Mention new module.
44342
44343 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
44344
44345         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
44346         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
44347         This is for the benefit of gzip, which doesn't do i18n.
44348
44349 2006-12-12  Jim Meyering  <jim@meyering.net>
44350
44351         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
44352         Reported by Andreas Schwab <schwab@suse.de>.
44353
44354 2006-12-12  Bruno Haible  <bruno@clisp.org>
44355
44356         Merge these changes.
44357         2006-09-05  Bruno Haible  <bruno@clisp.org>
44358         * lib/iconvme.c (iconv_string): No need to save and restore errno when
44359         iconv_alloc succeeded.
44360         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
44361         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
44362         test for " && dest " at the end - dest is always != NULL there. Call
44363         iconv with 4xNULL arguments initially, to reset the state. Call iconv
44364         with 2xNULL arguments, also to flush the state storage. Handle the
44365         IRIX iconv behaviour. Realloc the final result, to throw away unused
44366         memory.
44367
44368 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
44369
44370         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
44371         and fchmodat unconditionally, since glibc 2.4 has them.
44372         Problem reported by Arkadiusz Miskiewicz.
44373
44374 2006-12-10  Bruno Haible  <bruno@clisp.org>
44375
44376         * gnulib-tool (func_import): Show the include files only for those
44377         modules that are copied and specified.
44378         Reported by Karl Berry.
44379
44380 2006-12-08  Jim Meyering  <jim@meyering.net>
44381
44382         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
44383         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
44384
44385         * build-aux/announce-gen: Add two new options, both optional:
44386         --bootstrap-tools=TOOL_LIST
44387               a comma-separated list of tools, e.g.,
44388               autoconf,automake,bison,gnulib
44389         --gnulib-snapshot-date=DATE
44390               if gnulib is in the bootstrap tool list,
44391               then report this as the snapshot date.
44392               If not specified, use the current date/time.
44393               If you specify a date here, be sure it's UTC.
44394
44395 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44396
44397         * tests/test-argp-2.sh: Fix test to match actual output.
44398         (func_compare): Fix sed script to be portable.
44399
44400 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
44401
44402         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
44403         workaround for this case.  It is not autoconfigured now; offhand
44404         it's hard to see how to autoconfigure it.
44405
44406 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
44407
44408         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
44409         a directory that is about to be chowned.  Such a directory's
44410         initial file permissions should permit the owner only and this
44411         should not be changed until after the chown, since the group and
44412         other bits would be incorrect if they granted permission before
44413         the chown.
44414
44415         Fix porting problem for iswctype reported by Georg Schwarz in:
44416         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
44417         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
44418         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
44419         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
44420         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
44421
44422 2006-12-03  Jim Meyering  <jim@meyering.net>
44423
44424         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
44425         p->fts_statp may not yet be defined.
44426         (fts_read): Instead, set it in the caller, once p->fts_statp is
44427         sure to be defined, and corresponds to a top-level directory.
44428         This bug made du -x fail.  Here's the coreutils test case:
44429         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
44430         Reported by Mike Frysinger.
44431
44432 2006-12-01  Jim Meyering  <jim@meyering.net>
44433
44434         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
44435         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
44436         Reported by Simon Josefsson.
44437
44438 2006-11-30  Jim Meyering  <jim@meyering.net>
44439
44440         * m4/warning.m4: Use the all-permissive copyright notice
44441         recommended by RMS (rather than LGPL).
44442         * m4/vararrays.m4: Likewise.
44443         * m4/flexmember.m4: Likewise.
44444
44445 2006-11-29  Bruno Haible  <bruno@clisp.org>
44446
44447         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
44448         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
44449         using +=.
44450         Reported by Simon Josefsson <simon@josefsson.org>.
44451
44452 2006-11-28  James Youngman <jay@gnu.org>
44453
44454         * README: Advise users that they might find the bug-gnulib@gnu.org
44455         and autotools-announce@gnu.org mailing lists useful.
44456
44457 2006-11-28  Bruno Haible  <bruno@clisp.org>
44458
44459         * m4/ptrdiff_max.m4: Remove file.
44460
44461 2006-11-21  Bruno Haible  <bruno@clisp.org>
44462
44463         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
44464         _AC_COMPUTE_INT.
44465         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
44466         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
44467         _AC_COMPUTE_INT.
44468         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
44469         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
44470         _AC_COMPUTE_INT.
44471         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
44472
44473 2006-11-28  Jim Meyering  <jim@meyering.net>
44474
44475         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
44476         warning from "gcc -Wshadow" about shadowing the builtin.
44477
44478 2006-11-27  Bruno Haible  <bruno@clisp.org>
44479
44480         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
44481         _AC_COMPUTE_INT.
44482         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
44483
44484 2006-11-27  Bruno Haible  <bruno@clisp.org>
44485             Paul Eggert  <eggert@cs.ucla.edu>
44486
44487         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
44488
44489 2006-11-26  Bruno Haible  <bruno@clisp.org>
44490
44491         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
44492         noinst_LTLIBRARIES.
44493
44494 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
44495             Bruno Haible  <bruno@clisp.org>
44496
44497         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
44498         if compiling with "gcc -ansi".
44499
44500 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
44501
44502         Fix some incompatibilities with gcc -ansi -pedantic.
44503         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
44504         if compiling pedantically with GCC, unless it's C99 or later.
44505         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
44506         it mishandles gcc -ansi -pedantic as well.
44507         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
44508         if gcc -pedantic.
44509         * lib/regexec.c (check_node_accept_bytes): Don't use auto
44510         initializers for struct if -pedantic, unless it's C99 or later.
44511
44512 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
44513
44514         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
44515         Don't close an fd more than once. Identical atimes indicate
44516         success, not failure.
44517
44518 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
44519
44520         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
44521
44522 2006-11-23  Jim Meyering  <jim@meyering.net>
44523
44524         * build-aux/announce-gen: New file.  From coreutils.
44525
44526 2006-11-22  Jim Meyering  <jim@meyering.net>
44527
44528         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
44529         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
44530         (fts_read): Use a temporary to narrow the overused st_size member
44531         before using it in a switch statement.  Reported by Matthew Woehlke.
44532
44533         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
44534         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
44535
44536 2006-11-20  Bruno Haible  <bruno@clisp.org>
44537
44538         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
44539         changequote instead of pairs of brackets.
44540         Reported by Andreas Schwab <schwab@suse.de>.
44541
44542 2006-11-21  Jim Meyering  <jim@meyering.net>
44543
44544         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
44545         so as to remain compatible with older compilers.
44546         Patch from Michael Deutschmann.
44547
44548 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
44549
44550         * MODULES.html.sh (File system functions): Add openat.
44551
44552         * lib/openat.h (rpl_fstatat): New macro, if
44553         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
44554         (fstatat): Define to rpl_fstatat under the same conditions,
44555         unless COMPILING_FSTATAT.
44556         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
44557         seems to have the bug.
44558         * lib/fstatat.c: New file.
44559         * modules/openat (Files): Add it.
44560
44561 2006-11-20  Bruno Haible  <bruno@clisp.org>
44562
44563         * Makefile: New file.
44564
44565 2006-11-20  Jim Meyering  <jim@meyering.net>
44566
44567         The beginnings of syntax-related checks for gnulib.
44568         * lib/Makefile: New file.
44569         * lib/t-idcache: New script.  Ensure that the two halves of
44570         idcache.c stay in sync.
44571
44572         * lib/idcache.c: Adjust comments in user- and group- portions to
44573         be more accurate, and to be consistent with one another.
44574
44575 2006-11-20  Jim Meyering  <jim@meyering.net>
44576
44577         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
44578         continue using the flexible array member (thus, this module performs
44579         half as many malloc calls), with the addition that...
44580         (getgroup, getuser): Consistently record a non-match via an empty
44581         "name" string, and map an empty string match to a NULL return value.
44582         * modules/idcache (Depends-on): Re-add flexmember.
44583
44584         * lib/idcache.c (getuser): Remove all uses of the register keyword.
44585         (getuidbyname, getgroup, getgidbyname): Likewise.
44586
44587         Use cleaner syntax: NULL rather than 0.
44588         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
44589
44590 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
44591
44592         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
44593         It mishandled the case where the group was missing.
44594         Problem reported by Greg Schafer.
44595         * modules/idcache: Likewise.
44596
44597 2006-11-18  Jim Meyering  <jim@meyering.net>
44598
44599         * check-module (%exempt_header): Add exception for some
44600         conditionally-included headers.
44601
44602         * modules/i-ring (Depends-on): Add verify.
44603         (License): Change to LGPL.
44604
44605 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
44606
44607         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
44608         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
44609         and inttostr.h.  Use snprintf rather than uinttostr, so that
44610         LGPLed code doesn't depend on GPLed.
44611
44612 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
44613
44614         * modules/inline (License): Change from GPL to LGPL.
44615
44616 2006-11-17  Jim Meyering  <jim@meyering.net>
44617
44618         * modules/d-type (License): Switch to LGPL.
44619
44620 2006-11-15  Bruno Haible  <bruno@clisp.org>
44621
44622         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
44623
44624 2006-11-15  Eric Blake  <ebb9@byu.net>
44625
44626         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
44627         the module dependency.
44628
44629 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44630             Bruno Haible  <bruno@clisp.org>
44631
44632         * gnulib-tool (func_create_testdir): Add license consistency check.
44633
44634 2006-11-15  Eric Blake  <ebb9@byu.net>
44635
44636         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
44637         random "(cached)" in configure output.
44638
44639 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44640
44641         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
44642         test for conforming inttypes.h is both announced and cached.
44643
44644         * MODULES.html.sh (seen_modules, seen_files): New variables.
44645         (func_module): Rewrite to use a few less gnulib-tool and sed
44646         invocations.  Avoid a couple of quadratic algorithms for ...
44647         (missed_modules, missed_files): ... these, with ...
44648         (func_append, func_tmpdir): ... these new functions, from
44649         gnulib-tool.  Analogously, install traps for cleanup.
44650
44651         * tests/test-gc.c (main): Remove unused variables.
44652         * tests/test-read-file.c: Include stdlib.h, for 'free'.
44653
44654 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
44655
44656         * modules/inttostr (License): Change to LGPL.
44657
44658 2006-11-14  Eric Blake  <ebb9@byu.net>
44659
44660         * modules/tempname (License): Change to LGPL.
44661
44662 2006-11-14  Eric Blake  <ebb9@byu.net>
44663
44664         * doc/functions.texi (Function Portability): *printf functions on
44665         Cygwin now understand all POSIX size specifiers.
44666
44667 2006-11-14  Bruno Haible  <bruno@clisp.org>
44668
44669         * modules/c-ctype (License): Change to LGPL.
44670
44671 2006-11-12  Bruno Haible  <bruno@clisp.org>
44672
44673         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
44674         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
44675         for GNOME libraries, for which the include files are installed in
44676         subdirectories of $prefix/include.
44677
44678 2006-11-12  Bruno Haible  <bruno@clisp.org>
44679
44680         * m4/lib-link.m4: Require at least autoconf-2.54.
44681         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
44682         name to underscores for the --with option.
44683
44684 2006-11-13  Bruno Haible  <bruno@clisp.org>
44685
44686         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
44687         the tests directory.
44688         Reported by Ralf Wildenhues.
44689
44690 2006-11-13  Bruno Haible  <bruno@clisp.org>
44691
44692         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
44693         (func_emit_initmacro_end): Undo the override here.
44694         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
44695         Works around the famous automake error in coreutils.
44696
44697 2006-11-13  Eric Blake  <ebb9@byu.net>
44698
44699         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
44700         element, not its node.
44701
44702 2006-11-12  Bruno Haible  <bruno@clisp.org>
44703
44704         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
44705         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
44706
44707 2006-11-12  Bruno Haible  <bruno@clisp.org>
44708
44709         * gnulib-tool: New option --local-symlink.
44710         (func_usage): Document it.
44711         (lsymbolic): New variable.
44712         (func_import, func_create_testdir): If --symlink was not specified,
44713         test whether --local-symlink was specified and the file comes from
44714         the local_gnulib_dir.
44715
44716 2006-11-12  Bruno Haible  <bruno@clisp.org>
44717
44718         * gnulib-tool (func_ln): New function.
44719         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
44720
44721 2006-11-12  Bruno Haible  <bruno@clisp.org>
44722
44723         Finish support for source files in subdirectories.
44724         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
44725         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
44726         AUTOMAKE_OPTIONS.
44727         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
44728
44729 2006-11-12  Bruno Haible  <bruno@clisp.org>
44730
44731         * gnulib-tool (func_get_automake_snippet): Synthesize also an
44732         EXTRA_lib_SOURCES augmentation.
44733         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
44734
44735 2006-11-12  Jim Meyering  <jim@meyering.net>
44736
44737         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
44738         file descriptors.  This also averts a failure on systems with
44739         native openat support when a traversed directory lacks "x" access.
44740         * lib/fts_.h: Include "i-ring.h"
44741         (struct FTS) [fts_fd_ring]: New member.
44742         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
44743         (FCHDIR): Add parentheses.
44744         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
44745         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
44746         When descending, rather than simply closing the previous
44747         fts_cwd_fd value, push that file descriptor onto the ring.
44748         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
44749         (fts_open): Initialize the new fd_ring member.
44750         (fts_close): Clear the ring.
44751         (fts_safe_changedir): When possible, use our new fd_ring to skip
44752         the diropen and fstat and dev/ino comparison that would normally
44753         accompany a virtual `chdir ("..")'.
44754
44755         * modules/fts (Depends-on): Add i-ring.
44756         * modules/i-ring: New module.
44757         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
44758         * m4/i-ring.m4: New file.
44759
44760 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44761
44762         * gnulib-tool (func_create_testdir): Fix replacement of
44763         `build-aux' in configure.ac.  Run autotools in gltests
44764         subdirectory.
44765         (func_create_testdir, func_create_megatestdir, test): There is
44766         no need for '--force' in most autotool invocations in a new
44767         tree.  Actually fail the whole test if any of the tools, or the
44768         configure or make stages fail.
44769
44770         Sync from Automake.
44771         * build-aux/gnupload: Revert last change.  Add pointer to upload
44772         instructions of the GNU Maintenance Instructions.
44773         Suggestion by Karl Berry.
44774
44775 2006-11-10  Jim Meyering  <jim@meyering.net>
44776
44777         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
44778
44779 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
44780
44781         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
44782         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
44783         (bind_textdomain_codeset) [! ENABLE_NLS]:
44784         Evaluate all the arguments.  That way, callers get compatible behavior
44785         if the arguments have side effects.  Also, it avoids some GCC
44786         diagnostics in some cases; Joel E. Denny reported problems when Bison
44787         was configured with --enable-gcc-warnigs.
44788
44789 2006-11-10  Jim Meyering  <jim@meyering.net>
44790
44791         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
44792         relevant options in CFLAGS (like -O, -fno-inline) are taken into
44793         account.
44794
44795 2006-11-10  Jim Meyering  <jim@meyering.net>
44796
44797         * modules/inline: New file/module.
44798         * modules/xalloc (Files): Remove m4/inline.m4.
44799         (Depends-on): Add inline, instead.
44800         * modules/oset: Likewise.
44801         * modules/list: Likewise.
44802
44803 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
44804
44805         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
44806         Problem reported by Matthew Woehlke.
44807
44808 2006-11-09  Bruno Haible  <bruno@clisp.org>
44809
44810         * lib/tempname.c (gen_tempname): Remove variant that invokes
44811         __gen_tempname.
44812         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
44813         __gen_tempname.
44814
44815 2006-11-08  Bruno Haible  <bruno@clisp.org>
44816
44817         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
44818         to 'yes' instead of 'cross-compiling'.
44819
44820 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
44821
44822         * lib/quotearg.h (quotearg_free): New decl.
44823         * lib/quotearg.c (quotearg_free): New function.
44824         (slot0, nslots, slotvec0, slotvec):
44825         Now file-scope so that quotearg_free can get at them.
44826
44827 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44828
44829         Sync from Automake.
44830         * build-aux/gnupload: Add missing 'gnu' to example URL.
44831         Report by Karl Berry.
44832
44833 2006-11-08  Bruno Haible  <bruno@clisp.org>
44834
44835         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
44836         Suggested by Paul Eggert.
44837
44838 2006-11-08  Jim Meyering  <jim@meyering.net>
44839
44840         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
44841         It's already included if !_LIBC.
44842         (fts_safe_changedir): Add a comment.
44843
44844 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
44845
44846         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
44847         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
44848         Matthew Woehlke.
44849
44850         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
44851         definitions up, to avoid colliding with change below.
44852         (static_inline) [HAVE_INLINE]: New macro.
44853         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
44854         Provide extern decls when !HAVE_INLINE.  Do not define unless
44855         static_inline is defined, either by us or by xmalloc.c.  Use
44856         static_inline rather than static inline.
44857         (XCALLOC): Optimize sizeof(T) = 1 case.
44858         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
44859
44860 2006-11-07  Bruno Haible  <bruno@clisp.org>
44861
44862         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
44863         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
44864         AC_C_INLINE.
44865         * modules/xalloc (Files): Add m4/inline.m4.
44866
44867 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44868
44869         * README: Fix typo.
44870         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
44871         (Miscellanous Notes): ...from this.
44872
44873 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
44874
44875         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
44876         Mention that offsetof should be used instead of sizeof.
44877         From Bruno Haible.
44878
44879 2006-11-07  Bruno Haible  <bruno@clisp.org>
44880
44881         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
44882
44883 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
44884
44885         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
44886         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
44887         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
44888         (gl_tree_add_before, gl_tree_add_after):
44889         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
44890         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
44891         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
44892         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
44893         (gl_linked_add_after, gl_linked_add_at): Likewise.
44894         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
44895         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
44896         (gl_tree_add_before, gl_tree_add_after): Likewise.
44897         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
44898         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
44899         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
44900
44901 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44902
44903         * lib/gl_oset.h: Use C comment style, not C++ comment style.
44904
44905 2006-11-06  Bruno Haible  <bruno@clisp.org>
44906
44907         * m4/inline.m4: New file.
44908         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
44909         * modules/list (Files): Add m4/inline.m4.
44910         * modules/oset (Files): Likewise.
44911
44912 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
44913
44914         * lib/idcache.c: Include <stddef.h>, for offsetof.
44915         (struct userid.name): Change from char * to a flexible array member.
44916         All uses changed.
44917         * modules/idcache (Depends-on): Add flexmember.
44918
44919         * MODULES.html.sh (Core language properties): New module flexmember.
44920         * modules/flexmember, m4/flexmember.m4: New files.
44921
44922         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
44923         inline functions that are identical with the old xnmalloc_inline,
44924         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
44925         that we can avoid some unnecessary integer multiplications and
44926         divisions in the common case where the element size is known at
44927         compile time.
44928         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
44929         needed.
44930         (xnboundedmalloc): Remove.
44931         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
44932         arguments, for consistency with rest of this header.
44933         (xcharalloc): Rewrite using XNMALLOC.
44934         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
44935         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
44936         versions have been moved to lib/xalloc.h and renamed to be the
44937         non-*_inline versions.
44938         (xmalloc, xrealloc): Implement without reference to the xnmalloc
44939         and xnrealloc functions, since those functions are now inline and
44940         now call us.
44941         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
44942         renaming described above.
44943         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
44944         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
44945         captures the dependency in AC_C_INLINE.
44946
44947         New module canonicalize-lgpl, proposed by Charles Wilson in
44948         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
44949         with a few small changes afterwards.
44950         * MODULES.html.sh (File system functions): New module
44951         canonicalize-lgpl.
44952         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
44953         and canonicalize_file_name.
44954         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
44955         * modules/canonicalize-lgpl: New files.
44956
44957 2006-11-05  Bruno Haible  <bruno@clisp.org>
44958
44959         * gnulib-tool (func_import, func_create_testdir): Create directories
44960         also for files in subdirectories of lib/.
44961
44962 2006-11-05  Bruno Haible  <bruno@clisp.org>
44963
44964         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
44965         ANSI C compliant.
44966
44967 2006-11-03  Bruno Haible  <bruno@clisp.org>
44968
44969         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
44970         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
44971         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
44972         (xnboundedmalloc): New inline function.
44973         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
44974         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
44975         xmalloc.
44976         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
44977         xmalloc.
44978         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
44979         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
44980         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
44981         xmalloc.
44982         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
44983         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
44984         xmalloc.
44985         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
44986         gl_tree_add_after): Use XMALLOC instead of xmalloc.
44987         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
44988         xmalloc.
44989         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
44990         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
44991         gl_tree_add_after): Use XMALLOC instead of xmalloc.
44992         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
44993         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
44994         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
44995         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
44996
44997 2006-11-03  Bruno Haible  <bruno@clisp.org>
44998
44999         * lib/c-ctype.h [C++]: Define functions without name mangling.
45000         * lib/fwriteerror.h [C++]: Likewise.
45001         * lib/gcd.h [C++]: Likewise.
45002         * lib/linebreak.h [C++]: Likewise.
45003
45004 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
45005
45006         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
45007         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
45008         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
45009         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
45010         Check for functions and headers just once.
45011         Check for declaration of canonicalize_file_name.
45012         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
45013
45014 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
45015
45016         * gnulib-tool (func_import): Fix typo in actioncmd.
45017
45018 2006-11-02  Bruno Haible  <bruno@clisp.org>
45019
45020         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
45021         newline sequence in the Makefile.am snippet as a space, like "make"
45022         does.
45023         Reported by Roger Persson <perrog@gmail.com>.
45024
45025 2006-11-01  Bruno Haible  <bruno@clisp.org>
45026
45027         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
45028         already declared in <string.h>.
45029         * lib/strcase.h (strncasecmp): Don't declare it if yes.
45030
45031 2006-11-01  Bruno Haible  <bruno@clisp.org>
45032
45033         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
45034         * lib/strcase.h: Include <string.h>.
45035         (strcasecmp): Define to rpl_strcasecmp here.
45036
45037 2006-11-01  Bruno Haible  <bruno@clisp.org>
45038
45039         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
45040
45041 2006-11-01  Eric Blake  <ebb9@byu.net>
45042
45043         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
45044
45045         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
45046
45047 2006-10-29  Bruno Haible  <bruno@clisp.org>
45048
45049         Make it compile in C++ mode.
45050         * lib/full-write.c (full_rw): Add a cast.
45051
45052 2006-11-01  Bruno Haible  <bruno@clisp.org>
45053
45054         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
45055         be POSIX compliant.
45056         Reported by Roger Persson <perrog@gmail.com>.
45057
45058 2006-11-01  Eric Blake  <ebb9@byu.net>
45059
45060         * lib/getopt_.h: Fix comments.
45061
45062 2006-10-31  Eric Blake  <ebb9@byu.net>
45063
45064         * modules/tmpdir (Depends-on): Add sys_stat.
45065         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
45066         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
45067         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
45068         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
45069         tempname.
45070
45071 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
45072
45073         Avoid some C++ diagnostics reported by Bruno Haible.
45074         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
45075         xmalloc.
45076         (quotearg_alloc): Use xcharalloc rather than xmalloc.
45077         (struct slotvec): Move to top level.
45078         (quotearg_n_options): Rewrite to avoid xmalloc.
45079         * lib/xalloc.h (xcharalloc): New function.
45080         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
45081         [defined __cplusplus]: Add function template that provides result
45082         type propagation.  This part of the change is from Bruno Haible.
45083
45084 2006-10-29  Bruno Haible  <bruno@clisp.org>
45085
45086         Make it compile in C++ mode.
45087         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
45088         * lib/strnlen1.c (strnlen1): Cast memchr result.
45089         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
45090         * lib/clean-temp.c (string_equals, string_hash): Add casts.
45091         (create_temp_dir): Rename local variable 'template'.
45092         (compile_csharp_using_sscli): Add cast.
45093         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
45094         * lib/findprog.c (find_in_path): Likewise.
45095         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
45096         * lib/wait-process.c (register_slave_subprocess): Likewise.
45097
45098 2006-10-22  Bruno Haible  <bruno@clisp.org>
45099
45100         * modules/tsearch: New file.
45101         * lib/tsearch.h: New file.
45102         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
45103         * m4/tsearch.m4: New file.
45104         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
45105
45106 2006-10-29  Eric Blake  <ebb9@byu.net>
45107
45108         * lib/arcfour.c: Assume config.h.
45109         * lib/arctwo.c: Likewise.
45110         * lib/base64.c: Likewise.
45111         * lib/check-version.c: Likewise.
45112         * lib/crc.c: Likewise.
45113         * lib/des.c: Likewise.
45114         * lib/gc-gnulib.c: Likewise.
45115         * lib/gc-libgcrypt.c: Likewise.
45116         * lib/gc-pbkdf2-sha1.c: Likewise.
45117         * lib/getaddrinfo.c: Likewise.
45118         * lib/getdelim.c: Likewise.
45119         * lib/getline.c: Likewise.
45120         * lib/hmac-md5.c: Likewise.
45121         * lib/hmac-sha1.c: Likewise.
45122         * lib/iconvme.c: Likewise.
45123         * lib/md2.c: Likewise.
45124         * lib/md4.c: Likewise.
45125         * lib/memxor.c: Likewise.
45126         * lib/read-file.c: Likewise.
45127         * lib/readline.c: Likewise.
45128         * lib/rijndael-alg-fst.c: Likewise.
45129         * lib/rijndael-api-fst.c: Likewise.
45130         * lib/xgetdomainname.c: Likewise.
45131
45132 2006-10-28  Eric Blake  <ebb9@byu.net>
45133
45134         * lib/xstrndup.c: Assume config.h.
45135
45136 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
45137
45138         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
45139         stat-macros.h is now for our own macros, whereas stat_h is for
45140         macros in the <sys/stat.h> name space.
45141         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
45142         (STAT_MACROS_H): Remove.
45143         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
45144         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
45145         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
45146         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
45147         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
45148         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
45149         Move these macros to ...
45150         * lib/stat_.h: here.  Don't include stat-macros.h.
45151         * lib/canonicalize.c: Don't include stat-macros.h.
45152         * lib/chown.c: Likewise.
45153         * lib/euidaccess.c: Likewise.
45154         * lib/file-type.c: Likewise.
45155         * lib/filemode.c: Likewise.
45156         * lib/glob.c: Likewise.
45157         * lib/isapipe.c: Likewise.
45158         * lib/lchown.c: Likewise.
45159         * lib/lstat.c: Likewise.
45160         * lib/mkdir-p.c: Likewise.
45161         * lib/rmdir.c: Likewise.
45162         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
45163         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
45164         unless mkdir isn't declared, to speed up 'configure'.
45165         Always create sys/stat.h, since it's unlikely any real sys/stat.h
45166         would define all the S_* symbols.
45167         * modules/canonicalize (Depends-on):
45168         Depend on sys_stat, not stat-macros.
45169         * modules/chown: Likewise.
45170         * modules/euidaccess: Likewise.
45171         * modules/filemode: Likewise.
45172         * modules/file-type: Likewise.
45173         * modules/glob: Likewise.
45174         * modules/isapipe: Likewise.
45175         * modules/lchown: Likewise.
45176         * modules/lstat: Likewise.
45177         * modules/mkancesdirs: Likewise.
45178         * modules/rmdir: Likewise.
45179         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
45180         * modules/modechange: Likewise.
45181         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
45182         (configure.ac): Remove gl_STAT_MACROS.
45183         * modules/sys_stat (Depends-on): Remove stat-macros.
45184
45185 2006-10-27  Bruno Haible  <bruno@clisp.org>
45186
45187         * m4/signed.m4: Remove file.
45188         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
45189         invocation.
45190         * modules/vasnprintf (Files): Remove m4/signed.m4.
45191
45192 2006-10-27  Bruno Haible  <bruno@clisp.org>
45193
45194         Update to GNU gettext 0.16.
45195         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
45196         m4/inttypes-h.m4, m4/signed.m4.
45197         * m4/gettext.m4: Update to GNU gettext 0.16.
45198         * m4/intl.m4: New file, from GNU gettext.
45199         * m4/intldir.m4: New file, from GNU gettext.
45200         * config/srclist.txt: Update
45201
45202 2006-10-27  Eric Blake  <ebb9@byu.net>
45203
45204         * MODULES.html.sh: Document tempname.
45205         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
45206         dependencies.
45207         (Files): Move lib/tempname.c...
45208         * modules/tempname: ...to this new module.
45209         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
45210         (gl_PREREQ_TEMPNAME): Move...
45211         * m4/tempname.m4: ...to this new file.
45212         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
45213         * modules/sys_stat (Depends-on): Add stat-macros.
45214         * lib/stat_.h (includes): Pick up stat macros.
45215         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
45216         if stat macros are broken.
45217         * lib/tempname.c (includes): No need to include "stat-macros.h".
45218         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
45219         (direxists, __path_search) [!_LIBC]: Don't compile these in
45220         gnulib; the tmpdir module covers that.
45221         * lib/tempname.h: New file.
45222
45223 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
45224
45225         * COPYING: Explain how gnulib-tool converts licence headers.
45226         Almost all wording by Eric Blake.
45227
45228 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
45229
45230         * lib/mbchar.h (is_basic_table): Make read-only.
45231         * lib/mbchar.c (is_basic_table): Likewise.
45232         Reported by John Darrington.
45233
45234 2006-10-25  Bruno Haible  <bruno@clisp.org>
45235
45236         * lib/progname.h (set_program_name): Undefine before defining.
45237
45238 2006-10-25  Bruno Haible  <bruno@clisp.org>
45239
45240         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
45241         false for non-gcc C++ compilers.
45242         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
45243
45244 2006-10-24  Bruno Haible  <bruno@clisp.org>
45245
45246         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
45247         iconv implementations like Irix iconv.
45248
45249 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
45250
45251         * modules/vararrays: New file.
45252         * m4/vararrays.m4: New file, taken from diffutils.
45253         * MODULES.html.sh: New module vararrays.
45254
45255 2006-10-24  Karl Berry  <karl@gnu.org>
45256
45257         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
45258         Don't call GNU Unix.
45259
45260 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45261
45262         * users.txt: Add Libtool.
45263
45264         Sync from Libtool:
45265
45266         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
45267
45268         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
45269         to gnulib's policy of including config.h unconditionally.
45270
45271 2006-10-24  Bruno Haible  <bruno@clisp.org>
45272
45273         * modules/wcwidth (Files): Add m4/wint_t.m4.
45274         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
45275         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
45276
45277 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
45278
45279         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
45280         to pacify GCC with some -W flags enabled.  Problem reported by
45281         Bruno Haible.
45282
45283 2006-10-24  Jim Meyering  <jim@meyering.net>
45284
45285         * MODULES.html.sh: Remove uinttostr.  It's not a module.
45286         Reported by Karl Berry.
45287
45288 2006-10-23  Bruno Haible  <bruno@clisp.org>
45289
45290         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
45291
45292 2006-10-24  Bruno Haible  <bruno@clisp.org>
45293
45294         * lib/gl_list.h: Use C comment style, not C++ comment style.
45295
45296 2006-10-23  Eric Blake  <ebb9@byu.net>
45297
45298         * lib/getaddrinfo.c (includes): Add missing include.
45299
45300 2006-10-23  Bruno Haible  <bruno@clisp.org>
45301             Paul Eggert  <eggert@cs.ucla.edu>
45302
45303         Ability to rename obstack_free.
45304         * lib/obstack.h (__obstack_free): New macro. Declare instead of
45305         obstack_free.
45306         (obstack_free): Invoke the __obstack_free macro.
45307         * lib/obstack.c (obstack_free): Use __obstack_free macro.
45308
45309 2006-10-23  Bruno Haible  <bruno@clisp.org>
45310             Paul Eggert  <eggert@cs.ucla.edu>
45311
45312         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
45313         __argc, __argv from the declaration. (They are defined as macros on
45314         mingw.)
45315
45316 2006-10-22  Bruno Haible  <bruno@clisp.org>
45317
45318         * doc/gnulib-intro.texi: New file.
45319         * doc/gnulib.texi: Include it.
45320
45321 2006-10-21  Bruno Haible  <bruno@clisp.org>
45322
45323         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
45324         "Introduction", "Miscellanous Notes", "Particular Modules".
45325
45326 2006-10-21  Bruno Haible  <bruno@clisp.org>
45327
45328         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
45329         Change mostlyclean-local rule to avoid sh syntax error from bash
45330         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
45331
45332 2006-10-23  Jim Meyering  <jim@meyering.net>
45333
45334         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
45335         in place of snprintf.
45336
45337         * modules/inttostr (Files): Add lib/uinttostr.c.
45338         * lib/uinttostr.c (inttostr): New file/function.
45339         * lib/inttostr.h (uinttostr): Declare.
45340         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
45341         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
45342         Add uinttostr.
45343         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
45344
45345 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
45346
45347         * lib/canonicalize.c (ELOOP): Define if not already defined.
45348         Problem reported by Bruno Haible in
45349         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
45350
45351 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
45352
45353         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
45354         Problem reported by Perry Smith and Ville Laurikari.
45355
45356         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
45357         uses.
45358
45359 2006-10-19  Bruno Haible  <bruno@clisp.org>
45360
45361         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
45362         for mingw.
45363
45364 2006-10-19  Bruno Haible  <bruno@clisp.org>
45365
45366         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
45367         Needed for mingw.
45368
45369 2006-10-19  Bruno Haible  <bruno@clisp.org>
45370
45371         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
45372
45373 2006-10-19  Bruno Haible  <bruno@clisp.org>
45374
45375         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
45376         it.
45377
45378 2006-10-19  Bruno Haible  <bruno@clisp.org>
45379
45380         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
45381         invocation.
45382
45383 2006-10-19  Bruno Haible  <bruno@clisp.org>
45384
45385         * gnulib-tool (func_create_testdir): Don't include ftruncate and
45386         mountlist by default.
45387
45388 2006-10-16  Bruno Haible  <bruno@clisp.org>
45389
45390         * lib/c-strstr.c: Include c-strstr.h.
45391
45392 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
45393
45394         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
45395         in a slash.
45396
45397 2006-10-18  Bruno Haible  <bruno@clisp.org>
45398
45399         * lib/lock.h [C++]: Wrap definitions in extern "C".
45400
45401 2006-10-18  Bruno Haible  <bruno@clisp.org>
45402
45403         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
45404         gl_LIBOBJS list.
45405
45406 2006-10-18  Bruno Haible  <bruno@clisp.org>
45407
45408         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
45409
45410 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
45411
45412         * lib/xstrtol.h: Include gettext.h.
45413         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
45414         Problem reported by Eric Blake.
45415         * modules/xstrtol (Depends-on): Add gettext-h.
45416
45417 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
45418
45419         * lib/strftime.c (advance): New macro.
45420         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
45421         incomplete type, so you can't add 0 to it.  Problem and patch
45422         reported by Eelco Dolstra for dietlibc.
45423
45424 2006-10-18  Jim Meyering  <jim@meyering.net>
45425
45426         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
45427         type for a local, and rename it: s/up/user_proc/.
45428
45429 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
45430
45431         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
45432         READ_UTMP_USER_PROCESS.
45433         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
45434
45435 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
45436
45437         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
45438         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
45439
45440 2006-10-17  Eric Blake  <ebb9@byu.net>
45441
45442         * lib/sigprocmask.c (sigprocmask): Fix typo.
45443
45444         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
45445
45446         * modules/clean-temp (Makefile.am): Don't add to make output...
45447         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
45448         config.h.
45449
45450 2006-10-17  Bruno Haible  <bruno@clisp.org>
45451
45452         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
45453         differently if DEFAULT_TEXT_DOMAIN is set.
45454
45455 2006-10-16  Bruno Haible  <bruno@clisp.org>
45456
45457         * lib/clean-temp.c: Include fwriteerror.h.
45458
45459 2006-10-16  Bruno Haible  <bruno@clisp.org>
45460
45461         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
45462
45463 2006-10-16  Bruno Haible  <bruno@clisp.org>
45464
45465         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
45466         * lib/sigprocmask.h: Include <sys/types.h>.
45467         (sigset_t): Use the system's definition if present.
45468
45469 2006-10-17  Eric Blake  <ebb9@byu.net>
45470
45471         * lib/xvasprintf.c (includes): Assume config.h.
45472         * lib/xasprintf.c (includes): Likewise.
45473
45474 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
45475
45476         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
45477         at least as wide as intmax_t.
45478
45479 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
45480
45481         (Imported from Automake.)
45482         * build-aux/gnupload: Update to version 1.1 of directive file.
45483
45484 2006-10-16  Eric Blake  <ebb9@byu.net>
45485
45486         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
45487         match Automake 1.10a.
45488
45489 2006-10-14  Bruno Haible  <bruno@clisp.org>
45490
45491         * modules/sigprocmask: New file.
45492         * lib/sigprocmask.h: New file.
45493         * lib/sigprocmask.c: New file.
45494         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
45495         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
45496         request sigprocmask.o.
45497         (gl_PREREQ_SIGPROCMASK): New macro.
45498         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
45499         (Depends-on): Add sigprocmask.
45500         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
45501         gt_SIGNALBLOCKING. Test for 'raise' only once.
45502         * lib/fatal-signal.c: Include sigprocmask.h.
45503         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
45504         unblock_fatal_signals): Define always.
45505         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
45506         sigprocmask.
45507
45508 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
45509
45510         Sync from Automake.
45511         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
45512         which incorrectly sets the mode of an existing destination
45513         directory.  In some cases the unpatched install-sh could do the
45514         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
45515         system.  We hope this is rare in practice, but it's clearly worth
45516         fixing.  Problem reported by Alex Unleashed in
45517         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
45518         Also, don't bother to check for -m bugs unless we're using -m;
45519         suggested by Stepan Kasal.
45520
45521 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45522
45523         Sync from Automake.
45524         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
45525         `-c' flag, so they appear at the same position as in %FASTDEP%
45526         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
45527         which ignores unknown options only after the first non-option.
45528         Bug report against M4 by Nelson H. F. Beebe.
45529
45530 2006-10-13  Jim Meyering  <jim@meyering.net>
45531
45532         Fix a bug in yesterday's change.
45533         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
45534         p->fts_statp->st_dev would be used uninitialized.
45535         Ensures that we always call fts_stat on the very first entry.
45536         Miklos Szeredi reported that find -xdev stopped working.
45537
45538 2006-10-12  Bruno Haible  <bruno@clisp.org>
45539
45540         * gnulib-tool (func_get_automake_snippet): Append an automatically
45541         computed EXTRA_DIST augmentation.
45542         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
45543         * modules/alloca-opt (Makefile.am): Likewise.
45544         * modules/allocsa (Makefile.am): Likewise.
45545         * modules/arcfour (Makefile.am): Likewise.
45546         * modules/arctwo (Makefile.am): Likewise.
45547         * modules/argmatch (Makefile.am): Likewise.
45548         * modules/argz (Makefile.am): Likewise.
45549         * modules/atexit (Makefile.am): Likewise.
45550         * modules/backupfile (Makefile.am): Likewise.
45551         * modules/byteswap (Makefile.am): Likewise.
45552         * modules/c-strtod (Makefile.am): Likewise.
45553         * modules/c-strtold (Makefile.am): Likewise.
45554         * modules/calloc (Makefile.am): Likewise.
45555         * modules/canon-host (Makefile.am): Likewise.
45556         * modules/canonicalize (Makefile.am): Likewise.
45557         * modules/chdir-long (Makefile.am): Likewise.
45558         * modules/chdir-safer (Makefile.am): Likewise.
45559         * modules/check-version (Makefile.am): Likewise.
45560         * modules/chown (Makefile.am): Likewise.
45561         * modules/cloexec (Makefile.am): Likewise.
45562         * modules/close-stream (Makefile.am): Likewise.
45563         * modules/closeout (Makefile.am): Likewise.
45564         * modules/crc (Makefile.am): Likewise.
45565         * modules/csharpexec (Makefile.am): Likewise.
45566         * modules/cycle-check (Makefile.am): Likewise.
45567         * modules/des (Makefile.am): Likewise.
45568         * modules/dev-ino (Makefile.am): Likewise.
45569         * modules/dirfd (Makefile.am): Likewise.
45570         * modules/dirname (Makefile.am): Likewise.
45571         * modules/dup2 (Makefile.am): Likewise.
45572         * modules/eealloc (Makefile.am): Likewise.
45573         * modules/error (Makefile.am): Likewise.
45574         * modules/euidaccess (Makefile.am): Likewise.
45575         * modules/exclude (Makefile.am): Likewise.
45576         * modules/exitfail (Makefile.am): Likewise.
45577         * modules/fcntl-safer (Makefile.am): Likewise.
45578         * modules/fcntl (Makefile.am): Likewise.
45579         * modules/file-type (Makefile.am): Likewise.
45580         * modules/fileblocks (Makefile.am): Likewise.
45581         * modules/filemode (Makefile.am): Likewise.
45582         * modules/filenamecat (Makefile.am): Likewise.
45583         * modules/fnmatch (Makefile.am): Likewise.
45584         * modules/fopen-safer (Makefile.am): Likewise.
45585         * modules/fpending (Makefile.am): Likewise.
45586         * modules/fprintftime (Makefile.am): Likewise.
45587         * modules/free (Makefile.am): Likewise.
45588         * modules/fsusage (Makefile.am): Likewise.
45589         * modules/ftruncate (Makefile.am): Likewise.
45590         * modules/fts (Makefile.am): Likewise.
45591         * modules/gc-arcfour (Makefile.am): Likewise.
45592         * modules/gc-des (Makefile.am): Likewise.
45593         * modules/gc-hmac-md5 (Makefile.am): Likewise.
45594         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
45595         * modules/gc-md4 (Makefile.am): Likewise.
45596         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
45597         * modules/gc-sha1 (Makefile.am): Likewise.
45598         * modules/gc (Makefile.am): Likewise.
45599         * modules/getaddrinfo (Makefile.am): Likewise.
45600         * modules/getcwd (Makefile.am): Likewise.
45601         * modules/getdelim (Makefile.am): Likewise.
45602         * modules/getdomainname (Makefile.am): Likewise.
45603         * modules/getgroups (Makefile.am): Likewise.
45604         * modules/gethostname (Makefile.am): Likewise.
45605         * modules/gethrxtime (Makefile.am): Likewise.
45606         * modules/getline (Makefile.am): Likewise.
45607         * modules/getloadavg (Makefile.am): Likewise.
45608         * modules/getlogin_r (Makefile.am): Likewise.
45609         * modules/getndelim2 (Makefile.am): Likewise.
45610         * modules/getopt (Makefile.am): Likewise.
45611         * modules/getpagesize (Makefile.am): Likewise.
45612         * modules/getpass-gnu (Makefile.am): Likewise.
45613         * modules/getpass (Makefile.am): Likewise.
45614         * modules/getsubopt (Makefile.am): Likewise.
45615         * modules/gettime (Makefile.am): Likewise.
45616         * modules/gettimeofday (Makefile.am): Likewise.
45617         * modules/getugroups (Makefile.am): Likewise.
45618         * modules/getusershell (Makefile.am): Likewise.
45619         * modules/glob (Makefile.am): Likewise.
45620         * modules/group-member (Makefile.am): Likewise.
45621         * modules/hard-locale (Makefile.am): Likewise.
45622         * modules/hash (Makefile.am): Likewise.
45623         * modules/hmac-md5 (Makefile.am): Likewise.
45624         * modules/hmac-sha1 (Makefile.am): Likewise.
45625         * modules/human (Makefile.am): Likewise.
45626         * modules/idcache (Makefile.am): Likewise.
45627         * modules/imaxabs (Makefile.am): Likewise.
45628         * modules/imaxdiv (Makefile.am): Likewise.
45629         * modules/inet_ntop (Makefile.am): Likewise.
45630         * modules/inet_pton (Makefile.am): Likewise.
45631         * modules/intprops (Makefile.am): Likewise.
45632         * modules/inttostr (Makefile.am): Likewise.
45633         * modules/inttypes (Makefile.am): Likewise.
45634         * modules/isapipe (Makefile.am): Likewise.
45635         * modules/javaversion (Makefile.am): Likewise.
45636         * modules/lchmod (Makefile.am): Likewise.
45637         * modules/lchown (Makefile.am): Likewise.
45638         * modules/localcharset (Makefile.am): Likewise.
45639         * modules/long-options (Makefile.am): Likewise.
45640         * modules/lstat (Makefile.am): Likewise.
45641         * modules/malloc (Makefile.am): Likewise.
45642         * modules/mathl (Makefile.am): Likewise.
45643         * modules/mbchar (Makefile.am): Likewise.
45644         * modules/md2 (Makefile.am): Likewise.
45645         * modules/md4 (Makefile.am): Likewise.
45646         * modules/md5 (Makefile.am): Likewise.
45647         * modules/memcasecmp (Makefile.am): Likewise.
45648         * modules/memchr (Makefile.am): Likewise.
45649         * modules/memcmp (Makefile.am): Likewise.
45650         * modules/memcoll (Makefile.am): Likewise.
45651         * modules/memcpy (Makefile.am): Likewise.
45652         * modules/memmem (Makefile.am): Likewise.
45653         * modules/memmove (Makefile.am): Likewise.
45654         * modules/mempcpy (Makefile.am): Likewise.
45655         * modules/memrchr (Makefile.am): Likewise.
45656         * modules/memset (Makefile.am): Likewise.
45657         * modules/memxor (Makefile.am): Likewise.
45658         * modules/mkancesdirs (Makefile.am): Likewise.
45659         * modules/mkdir-p (Makefile.am): Likewise.
45660         * modules/mkdir (Makefile.am): Likewise.
45661         * modules/mkdtemp (Makefile.am): Likewise.
45662         * modules/mkstemp (Makefile.am): Likewise.
45663         * modules/mktime (Makefile.am): Likewise.
45664         * modules/modechange (Makefile.am): Likewise.
45665         * modules/mountlist (Makefile.am): Likewise.
45666         * modules/nanosleep (Makefile.am): Likewise.
45667         * modules/obstack (Makefile.am): Likewise.
45668         * modules/openat (Makefile.am): Likewise.
45669         * modules/pagealign_alloc (Makefile.am): Likewise.
45670         * modules/pathmax (Makefile.am): Likewise.
45671         * modules/physmem (Makefile.am): Likewise.
45672         * modules/poll (Makefile.am): Likewise.
45673         * modules/posixtm (Makefile.am): Likewise.
45674         * modules/posixver (Makefile.am): Likewise.
45675         * modules/putenv (Makefile.am): Likewise.
45676         * modules/quote (Makefile.am): Likewise.
45677         * modules/quotearg (Makefile.am): Likewise.
45678         * modules/raise (Makefile.am): Likewise.
45679         * modules/read-file (Makefile.am): Likewise.
45680         * modules/readline (Makefile.am): Likewise.
45681         * modules/readlink (Makefile.am): Likewise.
45682         * modules/readtokens (Makefile.am): Likewise.
45683         * modules/readutmp (Makefile.am): Likewise.
45684         * modules/realloc (Makefile.am): Likewise.
45685         * modules/regex (Makefile.am): Likewise.
45686         * modules/rename-dest-slash (Makefile.am): Likewise.
45687         * modules/rename (Makefile.am): Likewise.
45688         * modules/rijndael (Makefile.am): Likewise.
45689         * modules/rmdir (Makefile.am): Likewise.
45690         * modules/rpmatch (Makefile.am): Likewise.
45691         * modules/safe-read (Makefile.am): Likewise.
45692         * modules/safe-write (Makefile.am): Likewise.
45693         * modules/same-inode (Makefile.am): Likewise.
45694         * modules/same (Makefile.am): Likewise.
45695         * modules/save-cwd (Makefile.am): Likewise.
45696         * modules/savedir (Makefile.am): Likewise.
45697         * modules/setenv (Makefile.am): Likewise.
45698         * modules/settime (Makefile.am): Likewise.
45699         * modules/sha1 (Makefile.am): Likewise.
45700         * modules/sig2str (Makefile.am): Likewise.
45701         * modules/snprintf (Makefile.am): Likewise.
45702         * modules/stat-macros (Makefile.am): Likewise.
45703         * modules/stat-time (Makefile.am): Likewise.
45704         * modules/stdbool (Makefile.am): Likewise.
45705         * modules/stdint (Makefile.am): Likewise.
45706         * modules/stdlib-safer (Makefile.am): Likewise.
45707         * modules/stpcpy (Makefile.am): Likewise.
45708         * modules/stpncpy (Makefile.am): Likewise.
45709         * modules/strcase (Makefile.am): Likewise.
45710         * modules/strcasestr (Makefile.am): Likewise.
45711         * modules/strchrnul (Makefile.am): Likewise.
45712         * modules/strcspn (Makefile.am): Likewise.
45713         * modules/strdup (Makefile.am): Likewise.
45714         * modules/strerror (Makefile.am): Likewise.
45715         * modules/strftime (Makefile.am): Likewise.
45716         * modules/strndup (Makefile.am): Likewise.
45717         * modules/strnlen (Makefile.am): Likewise.
45718         * modules/strpbrk (Makefile.am): Likewise.
45719         * modules/strsep (Makefile.am): Likewise.
45720         * modules/strstr (Makefile.am): Likewise.
45721         * modules/strtod (Makefile.am): Likewise.
45722         * modules/strtoimax (Makefile.am): Likewise.
45723         * modules/strtok_r (Makefile.am): Likewise.
45724         * modules/strtol (Makefile.am): Likewise.
45725         * modules/strtoll (Makefile.am): Likewise.
45726         * modules/strtoul (Makefile.am): Likewise.
45727         * modules/strtoull (Makefile.am): Likewise.
45728         * modules/strtoumax (Makefile.am): Likewise.
45729         * modules/strverscmp (Makefile.am): Likewise.
45730         * modules/sys_socket (Makefile.am): Likewise.
45731         * modules/sys_stat (Makefile.am): Likewise.
45732         * modules/sysexits (Makefile.am): Likewise.
45733         * modules/time_r (Makefile.am): Likewise.
45734         * modules/timegm (Makefile.am): Likewise.
45735         * modules/timespec (Makefile.am): Likewise.
45736         * modules/tmpfile-safer (Makefile.am): Likewise.
45737         * modules/trim (Makefile.am): Likewise.
45738         * modules/unistd-safer (Makefile.am): Likewise.
45739         * modules/unlinkdir (Makefile.am): Likewise.
45740         * modules/unlocked-io (Makefile.am): Likewise.
45741         * modules/userspec (Makefile.am): Likewise.
45742         * modules/utime (Makefile.am): Likewise.
45743         * modules/utimecmp (Makefile.am): Likewise.
45744         * modules/utimens (Makefile.am): Likewise.
45745         * modules/vasnprintf (Makefile.am): Likewise.
45746         * modules/vasprintf (Makefile.am): Likewise.
45747         * modules/vsnprintf (Makefile.am): Likewise.
45748         * modules/xalloc (Makefile.am): Likewise.
45749         * modules/xgetcwd (Makefile.am): Likewise.
45750         * modules/xnanosleep (Makefile.am): Likewise.
45751         * modules/xreadlink (Makefile.am): Likewise.
45752         * modules/xstrtod (Makefile.am): Likewise.
45753         * modules/xstrtol (Makefile.am): Likewise.
45754         * modules/xstrtold (Makefile.am): Likewise.
45755         * modules/yesno (Makefile.am): Likewise.
45756         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
45757
45758 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
45759
45760         * modules/error (Makefile.am): Distribute files through
45761         EXTRA_DIST, not lib_SOURCES.
45762
45763 2006-10-12  Eric Blake  <ebb9@byu.net>
45764
45765         * modules/error (Makefile.am): Distribute files in /lib.
45766         * modules/obstack (Makefile.am): Likewise.
45767
45768 2006-10-12  Bruno Haible  <bruno@clisp.org>
45769
45770         * modules/acl (Makefile.am): Distribute all files in lib/ through
45771         EXTRA_DIST.
45772         * modules/arcfour (Makefile.am): Likewise.
45773         * modules/arctwo (Makefile.am): Likewise.
45774         * modules/argmatch (Makefile.am): Likewise.
45775         * modules/argz (Makefile.am): Likewise.
45776         * modules/atexit (Makefile.am): Likewise.
45777         * modules/backupfile (Makefile.am): Likewise.
45778         * modules/c-strtod (Makefile.am): Likewise.
45779         * modules/c-strtold (Makefile.am): Likewise.
45780         * modules/calloc (Makefile.am): Likewise.
45781         * modules/canon-host (Makefile.am): Likewise.
45782         * modules/canonicalize (Makefile.am): Likewise.
45783         * modules/chdir-long (Makefile.am): Likewise.
45784         * modules/chdir-safer (Makefile.am): Likewise.
45785         * modules/check-version (Makefile.am): Likewise.
45786         * modules/chown (Makefile.am): Likewise.
45787         * modules/cloexec (Makefile.am): Likewise.
45788         * modules/close-stream (Makefile.am): Likewise.
45789         * modules/closeout (Makefile.am): Likewise.
45790         * modules/crc (Makefile.am): Likewise.
45791         * modules/cycle-check (Makefile.am): Likewise.
45792         * modules/des (Makefile.am): Likewise.
45793         * modules/dirfd (Makefile.am): Likewise.
45794         * modules/dirname (Makefile.am): Likewise.
45795         * modules/dup2 (Makefile.am): Likewise.
45796         * modules/euidaccess (Makefile.am): Likewise.
45797         * modules/exclude (Makefile.am): Likewise.
45798         * modules/exitfail (Makefile.am): Likewise.
45799         * modules/fcntl-safer (Makefile.am): Likewise.
45800         * modules/file-type (Makefile.am): Likewise.
45801         * modules/fileblocks (Makefile.am): Likewise.
45802         * modules/filemode (Makefile.am): Likewise.
45803         * modules/filenamecat (Makefile.am): Likewise.
45804         * modules/fnmatch (Makefile.am): Likewise.
45805         * modules/fopen-safer (Makefile.am): Likewise.
45806         * modules/fpending (Makefile.am): Likewise.
45807         * modules/fprintftime (Makefile.am): Likewise.
45808         * modules/free (Makefile.am): Likewise.
45809         * modules/fsusage (Makefile.am): Likewise.
45810         * modules/ftruncate (Makefile.am): Likewise.
45811         * modules/fts (Makefile.am): Likewise.
45812         * modules/gc (Makefile.am): Likewise.
45813         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
45814         * modules/getaddrinfo (Makefile.am): Likewise.
45815         * modules/getcwd (Makefile.am): Likewise.
45816         * modules/getdelim (Makefile.am): Likewise.
45817         * modules/getdomainname (Makefile.am): Likewise.
45818         * modules/getgroups (Makefile.am): Likewise.
45819         * modules/gethostname (Makefile.am): Likewise.
45820         * modules/gethrxtime (Makefile.am): Likewise.
45821         * modules/getline (Makefile.am): Likewise.
45822         * modules/getloadavg (Makefile.am): Likewise.
45823         * modules/getlogin_r (Makefile.am): Likewise.
45824         * modules/getopt (Makefile.am): Likewise.
45825         * modules/getpass (Makefile.am): Likewise.
45826         * modules/getpass-gnu (Makefile.am): Likewise.
45827         * modules/getsubopt (Makefile.am): Likewise.
45828         * modules/gettime (Makefile.am): Likewise.
45829         * modules/gettimeofday (Makefile.am): Likewise.
45830         * modules/getugroups (Makefile.am): Likewise.
45831         * modules/getusershell (Makefile.am): Likewise.
45832         * modules/glob (Makefile.am): Likewise.
45833         * modules/group-member (Makefile.am): Likewise.
45834         * modules/hard-locale (Makefile.am): Likewise.
45835         * modules/hash (Makefile.am): Likewise.
45836         * modules/hmac-md5 (Makefile.am): Likewise.
45837         * modules/hmac-sha1 (Makefile.am): Likewise.
45838         * modules/human (Makefile.am): Likewise.
45839         * modules/idcache (Makefile.am): Likewise.
45840         * modules/imaxabs (Makefile.am): Likewise.
45841         * modules/imaxdiv (Makefile.am): Likewise.
45842         * modules/inet_ntop (Makefile.am): Likewise.
45843         * modules/inet_pton (Makefile.am): Likewise.
45844         * modules/inttostr (Makefile.am): Likewise.
45845         * modules/isapipe (Makefile.am): Likewise.
45846         * modules/lchown (Makefile.am): Likewise.
45847         * modules/long-options (Makefile.am): Likewise.
45848         * modules/lstat (Makefile.am): Likewise.
45849         * modules/malloc (Makefile.am): Likewise.
45850         * modules/mathl (Makefile.am): Likewise.
45851         * modules/mbchar (Makefile.am): Likewise.
45852         * modules/md2 (Makefile.am): Likewise.
45853         * modules/md4 (Makefile.am): Likewise.
45854         * modules/md5 (Makefile.am): Likewise.
45855         * modules/memcasecmp (Makefile.am): Likewise.
45856         * modules/memchr (Makefile.am): Likewise.
45857         * modules/memcmp (Makefile.am): Likewise.
45858         * modules/memcoll (Makefile.am): Likewise.
45859         * modules/memcpy (Makefile.am): Likewise.
45860         * modules/memmem (Makefile.am): Likewise.
45861         * modules/memmove (Makefile.am): Likewise.
45862         * modules/mempcpy (Makefile.am): Likewise.
45863         * modules/memrchr (Makefile.am): Likewise.
45864         * modules/memset (Makefile.am): Likewise.
45865         * modules/memxor (Makefile.am): Likewise.
45866         * modules/mkancesdirs (Makefile.am): Likewise.
45867         * modules/mkdir (Makefile.am): Likewise.
45868         * modules/mkdir-p (Makefile.am): Likewise.
45869         * modules/mkdtemp (Makefile.am): Likewise.
45870         * modules/mkstemp (Makefile.am): Likewise.
45871         * modules/mktime (Makefile.am): Likewise.
45872         * modules/modechange (Makefile.am): Likewise.
45873         * modules/mountlist (Makefile.am): Likewise.
45874         * modules/nanosleep (Makefile.am): Likewise.
45875         * modules/openat (Makefile.am): Likewise.
45876         * modules/pagealign_alloc (Makefile.am): Likewise.
45877         * modules/physmem (Makefile.am): Likewise.
45878         * modules/poll (Makefile.am): Likewise.
45879         * modules/posixtm (Makefile.am): Likewise.
45880         * modules/posixver (Makefile.am): Likewise.
45881         * modules/putenv (Makefile.am): Likewise.
45882         * modules/quote (Makefile.am): Likewise.
45883         * modules/quotearg (Makefile.am): Likewise.
45884         * modules/raise (Makefile.am): Likewise.
45885         * modules/read-file (Makefile.am): Likewise.
45886         * modules/readline (Makefile.am): Likewise.
45887         * modules/readlink (Makefile.am): Likewise.
45888         * modules/readtokens (Makefile.am): Likewise.
45889         * modules/readutmp (Makefile.am): Likewise.
45890         * modules/realloc (Makefile.am): Likewise.
45891         * modules/regex (Makefile.am): Likewise.
45892         * modules/rename (Makefile.am): Likewise.
45893         * modules/rename-dest-slash (Makefile.am): Likewise.
45894         * modules/rijndael (Makefile.am): Likewise.
45895         * modules/rmdir (Makefile.am): Likewise.
45896         * modules/rpmatch (Makefile.am): Likewise.
45897         * modules/safe-read (Makefile.am): Likewise.
45898         * modules/safe-write (Makefile.am): Likewise.
45899         * modules/same (Makefile.am): Likewise.
45900         * modules/save-cwd (Makefile.am): Likewise.
45901         * modules/savedir (Makefile.am): Likewise.
45902         * modules/setenv (Makefile.am): Likewise.
45903         * modules/settime (Makefile.am): Likewise.
45904         * modules/sha1 (Makefile.am): Likewise.
45905         * modules/sig2str (Makefile.am): Likewise.
45906         * modules/snprintf (Makefile.am): Likewise.
45907         * modules/stdlib-safer (Makefile.am): Likewise.
45908         * modules/stpcpy (Makefile.am): Likewise.
45909         * modules/stpncpy (Makefile.am): Likewise.
45910         * modules/strcase (Makefile.am): Likewise.
45911         * modules/strcasestr (Makefile.am): Likewise.
45912         * modules/strchrnul (Makefile.am): Likewise.
45913         * modules/strcspn (Makefile.am): Likewise.
45914         * modules/strdup (Makefile.am): Likewise.
45915         * modules/strerror (Makefile.am): Likewise.
45916         * modules/strftime (Makefile.am): Likewise.
45917         * modules/strndup (Makefile.am): Likewise.
45918         * modules/strnlen (Makefile.am): Likewise.
45919         * modules/strpbrk (Makefile.am): Likewise.
45920         * modules/strsep (Makefile.am): Likewise.
45921         * modules/strstr (Makefile.am): Likewise.
45922         * modules/strtod (Makefile.am): Likewise.
45923         * modules/strtoimax (Makefile.am): Likewise.
45924         * modules/strtok_r (Makefile.am): Likewise.
45925         * modules/strtol (Makefile.am): Likewise.
45926         * modules/strtoll (Makefile.am): Likewise.
45927         * modules/strtoul (Makefile.am): Likewise.
45928         * modules/strtoull (Makefile.am): Likewise.
45929         * modules/strtoumax (Makefile.am): Likewise.
45930         * modules/strverscmp (Makefile.am): Likewise.
45931         * modules/time_r (Makefile.am): Likewise.
45932         * modules/timegm (Makefile.am): Likewise.
45933         * modules/tmpfile-safer (Makefile.am): Likewise.
45934         * modules/unistd-safer (Makefile.am): Likewise.
45935         * modules/unlinkdir (Makefile.am): Likewise.
45936         * modules/userspec (Makefile.am): Likewise.
45937         * modules/utime (Makefile.am): Likewise.
45938         * modules/utimecmp (Makefile.am): Likewise.
45939         * modules/utimens (Makefile.am): Likewise.
45940         * modules/vasnprintf (Makefile.am): Likewise.
45941         * modules/vasprintf (Makefile.am): Likewise.
45942         * modules/vsnprintf (Makefile.am): Likewise.
45943         * modules/xalloc (Makefile.am): Likewise.
45944         * modules/xgetcwd (Makefile.am): Likewise.
45945         * modules/xnanosleep (Makefile.am): Likewise.
45946         * modules/xreadlink (Makefile.am): Likewise.
45947         * modules/xstrtod (Makefile.am): Likewise.
45948         * modules/xstrtol (Makefile.am): Likewise.
45949         * modules/xstrtold (Makefile.am): Likewise.
45950         * modules/yesno (Makefile.am): Likewise.
45951
45952 2006-10-12  Jim Meyering  <jim@meyering.net>
45953
45954         * m4/getloadavg.m4: Revert the change below.
45955
45956         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
45957         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
45958         fail with a symlink, which is what coreutils' ./bootstrap now
45959         creates by default.
45960
45961 2006-10-12  Bruno Haible  <bruno@clisp.org>
45962
45963         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
45964         mingw.
45965         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
45966         MSVC and mingw explicitly.
45967
45968 2006-10-11  Simon Josefsson  <jas@extundo.com>
45969             Bruno Haible  <bruno@clisp.org>
45970
45971         Add support for multiple gnulib-tool invocations in the scope of a
45972         single configure.ac file.
45973         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
45974         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
45975         with the same contents as the _LIBADD variable.
45976         (func_emit_initmacro_start, func_emit_initmacro_end,
45977         func_emit_initmacro_done): New functions.
45978         (func_import, func_create_testdir): Invoke them. Allow the identifiers
45979         gl_LIBOBJS and gl_LTLIBOBJS.
45980
45981 2006-10-11  Bruno Haible  <bruno@clisp.org>
45982
45983         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
45984         (func_create_testdir): Don't create po/Makefile.am, don't invoke
45985         autoreconf. Instead, invoke autopoint explicitly but move back the
45986         *.m4 files from gnulib.
45987
45988 2006-10-11  Bruno Haible  <bruno@clisp.org>
45989
45990         * gnulib-tool (func_usage): Make module names after --create-testdir
45991         optional.
45992         (func_create_testdir): If no module was specified, use nearly all
45993         modules.
45994
45995 2006-10-12  Jim Meyering  <jim@meyering.net>
45996
45997         Big performance improvement for fts-based tools that use FTS_NOSTAT.
45998         Avoid spurious inode-mismatch problems on non-POSIX file systems.
45999         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
46000         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
46001         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
46002         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
46003         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
46004         (fts_set_stat_required): New function.
46005         (fts_open): Defer the calls to fts_stat, if possible or requested.
46006         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
46007         into fts_stat itself.
46008         (fts_read): Perform any required (deferred) fts_stat call.
46009         (fts_build): Likewise, for the directory we're about to open and read.
46010         In the readdir loop, carefully decide whether each entry will require
46011         an eventual call to fts_stat, using dirent.d_type info if available.
46012         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
46013         a command line argument into this function.  Update all callers.
46014         Map a return value of FTS_DOT to FTS_D for a command line argument.
46015         * modules/fts (Depends-on): Add d-type.  Alphabetize.
46016         Thanks to Miklos Szeredi for his tenacity and for the initial
46017         bug report about "find" failing on a FUSE-based file system.
46018
46019         * lib/fts.c (fts_open): Use consistent indentation.
46020
46021 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
46022
46023         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
46024         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
46025         reported by Jim Meyering.  All uses of cache variables renamed
46026         to match Autoconf's.
46027         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
46028         the other one.
46029
46030         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
46031         Fix misspelling in diagnostic.
46032
46033 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
46034
46035         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
46036         defined.  Problem reported by Matthew Woehlke.
46037
46038         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
46039         Add support for Tandem NonStop R series.
46040         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
46041         Use new macro.
46042
46043         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
46044         (has_trailing_slash): Omit size arg; all callers changed.
46045         Omit 'inline', since it doesn't help performance and we'd
46046         need to configure it.
46047         Don't count //, ///, etc. as having a trailing slash.
46048         As a side effect, this removes a C99ism reported by Matthew Woehlke.
46049         (rpl_rename_dest_slash): On failure, use rename's errno rather
46050         than (in some cases) an incorrect or junk errno.
46051         Simplify code by removing need to compute length; this does
46052         cause it to make two passes instead of one over the file name,
46053         but it's worth it.
46054
46055         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
46056         change, since Autoconf's version may no longer be appropriate now
46057         that we are using CVS Autoconf's version.  Add support for Tandem.
46058
46059 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
46060             Bruno Haible  <bruno@clisp.org>
46061
46062         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
46063         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
46064         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
46065         gl_AC_TYPE_LONG_LONG.
46066
46067         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
46068         instead of HAVE_LONG_LONG.
46069         * lib/printf-args.c (printf_fetchargs): Likewise.
46070         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
46071         * lib/vasnprintf.c (VASNPRINTF): Likewise.
46072         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
46073         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
46074         gl_AC_TYPE_LONG_LONG.
46075
46076 2006-10-11  Bruno Haible  <bruno@clisp.org>
46077
46078         * m4/longlong.m4: Add comments.
46079         * m4/ulonglong.m4: Likewise.
46080
46081 2006-10-10  Bruno Haible  <bruno@clisp.org>
46082
46083         Make it possible to #define stpcpy, strdup to aliases.
46084         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
46085         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
46086
46087 2006-10-10  Bruno Haible  <bruno@clisp.org>
46088
46089         Make it possible to #define gcd to an alias.
46090         * lib/gcd.c: Include config.h.
46091
46092 2006-10-10  Bruno Haible  <bruno@clisp.org>
46093
46094         Make it possible to #define c_isascii to an alias.
46095         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
46096         defined. Undefine the macros before defining them, to avoid gcc
46097         warnings.
46098         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
46099         define NO_C_CTYPE_MACROS early.
46100
46101 2006-10-10  Bruno Haible  <bruno@clisp.org>
46102
46103         Make it possible to #define set_program_name to an alias.
46104         * lib/progname.c: Don't undefine set_program_name; instead, undefine
46105         ENABLE_RELOCATABLE early.
46106
46107 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
46108
46109         Port to Tandem NSK OSS, which has 64-bit signed int but at most
46110         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
46111         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
46112         More generally, don't assume that 64-bit signed int is available
46113         if unsigned int is, and vice versa.
46114         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
46115         unsigned symbols, not on their signed counterparts.
46116         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
46117         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
46118         (UINT64_C, UINTMAX_C):
46119         Likewise.
46120         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
46121         unsigned counterparts.
46122         (Have_long_long, Unsigned): New macros.
46123         (Int): Renamed from INT.
46124         (strtoimax): Use the new macros.
46125         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
46126         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
46127         * modules/inttypes (inttypes.h): Substitute
46128         HAVE_UNSIGNED_LONG_LONG_INT.
46129         * modules/stdint (stdint.h): Likewise.
46130         (Files): Add m4/ulonglong.m4.
46131
46132 2006-10-10  Bruno Haible  <bruno@clisp.org>
46133
46134         Fix a gcc -Wshadow warning.
46135         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
46136         to 'bucket'.
46137         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
46138         gl_linked_indexof_from_to): Likewise.
46139         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
46140         Likewise.
46141         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
46142         Likewise.
46143         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
46144         Reported by Eric Blake.
46145
46146 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
46147
46148         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
46149         for NetBSD.  Problem reported by Bruno Haible.
46150
46151 2006-10-09  Jim Meyering  <jim@meyering.net>
46152
46153         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
46154         Patch from Bruno Haible.
46155
46156 2006-10-09  Jim Meyering  <jim@meyering.net>
46157
46158         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
46159         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
46160         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
46161
46162 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
46163
46164         Don't include <config.h> twice; this doesn't work in some cases,
46165         e.g., when config.h has "#define intmax_t long long int" and
46166         we include <config.h>, <inttypes.h>, <config.h> in that order.
46167         Problem reported by Matthew Woehlke in:
46168         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
46169         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
46170         * lib/fts-cycle.c: Don't include config.h.
46171         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
46172         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
46173         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
46174         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
46175         inttypes.h.
46176         * lib/xstrtoumax.c: Likewise.
46177         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
46178         __strtol and the like, so that this module is more like its siblings.
46179         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
46180         Remove; no longer needed now that we assume gnulib inttypes.h.
46181
46182 2006-10-08  Bruno Haible  <bruno@clisp.org>
46183
46184         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
46185         option.
46186
46187 2006-10-07  Jim Meyering  <jim@meyering.net>
46188
46189         * modules/inttypes (inttypes.h): Revert what seems to have been
46190         an inadvertent part of today's change: use "|", not "/" in the
46191         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
46192
46193 2006-10-07  Bruno Haible  <bruno@clisp.org>
46194
46195         * modules/sublist: New file.
46196
46197 2006-10-07  Bruno Haible  <bruno@clisp.org>
46198
46199         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
46200         * modules/argz (argz.h): Likewise.
46201         * modules/arpa_inet (arpa/inet.h): Likewise.
46202         * modules/byteswap (byteswap.h): Likewise.
46203         * modules/configmake (configmake.h): Likewise.
46204         * modules/fcntl (fcntl.h): Likewise.
46205         * modules/fnmatch (fnmatch.h): Likewise.
46206         * modules/getopt (getopt.h): Likewise.
46207         * modules/glob (glob.h): Likewise.
46208         * modules/inttypes (inttypes.h): Likewise.
46209         * modules/netinet_in (netinet/in.h): Likewise.
46210         * modules/poll (poll.h): Likewise.
46211         * modules/stdbool (stdbool.h): Likewise.
46212         * modules/stdint (stdint.h): Likewise.
46213         * modules/sys_select (sys/select.h): Likewise.
46214         * modules/sys_socket (sys/socket.h): Likewise.
46215         * modules/sys_stat (sys/stat.h): Likewise.
46216         * modules/sysexits (sysexits.h): Likewise.
46217         * modules/unistd (unistd.h): Likewise.
46218         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
46219         Add a "DO NOT EDIT" comment to the generated file.
46220         (func_import): Likewise for gnulib-comp.m4.
46221
46222 2006-10-07  Bruno Haible  <bruno@clisp.org>
46223
46224         * lib/gl_sublist.h: New file.
46225         * lib/gl_sublist.c: New file.
46226
46227 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
46228
46229         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
46230         name (relative to the original working directory) and the file
46231         name component (relative to the temporary working directory).  All
46232         callers changed.
46233         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
46234         * lib/mkdir-p.c (make_dir_parents): Likewise.
46235         * lib/mkdir-p.h (make_dir_parents): Likewise.
46236
46237 2006-10-06  Eric Blake  <ebb9@byu.net>
46238
46239         Define several macros for use by the clean-temp module.
46240         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
46241         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
46242         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
46243
46244         * lib/clean-temp.h (close_stream_temp): New declaration.
46245         * lib/clean-temp.c (includes): Pull in headers according to what
46246         other modules are in use.
46247         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
46248
46249 2006-10-06  Bruno Haible  <bruno@clisp.org>
46250
46251         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
46252         instead of fopen, fwriteerror.
46253
46254 2006-10-06  Bruno Haible  <bruno@clisp.org>
46255
46256         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
46257         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
46258         int.
46259         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
46260         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
46261         Return an error indicator.
46262         Suggested by Eric Blake.
46263
46264 2006-10-06  Bruno Haible  <bruno@clisp.org>
46265
46266         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
46267         Reported by Eric Blake.
46268
46269 2006-10-06  Bruno Haible  <bruno@clisp.org>
46270
46271         * modules/closeout (Description): Mention stderr too.
46272
46273 2006-10-06  Bruno Haible  <bruno@clisp.org>
46274         and Paul Eggert  <eggert@cs.ucla.edu>
46275
46276         * lib/closeout.c (close_stdout): Also close stderr.
46277         * lib/closeout.h: Update comment.
46278
46279 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
46280
46281         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
46282         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
46283         * lib/dirchownmod.c: Include lchown.h.
46284         * lib/lchown.c: Don't include files that lchown.h now includes.
46285         Don't declare chown, since lchown.h now does that.
46286         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
46287         (lchown): Define to rpl_chown if lchown is declared but
46288         does not exist.  Declare using a prototype if lchown is not
46289         declared.  Add a copyright notice.
46290         * lib/mkstemp.h: Include <unistd.h>.
46291         * lib/openat.c: Include lchown.h.
46292
46293         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
46294         we now test for that separately.
46295         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
46296         rather than O_NOFOLLOW, when testing whether it's possible to
46297         avoid a race condition reliably.
46298         * lib/savewd.c (savewd_chdir): Likewise.
46299
46300         Remove macros that are no longer needed now that stdint.h is
46301         reliable.
46302         * lib/fsusage.c (UINTMAX_MAX): Remove.
46303         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
46304         * lib/utimecmp.c (SIZE_MAX): Remove.
46305
46306         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
46307
46308         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
46309         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
46310         O_NOATIME works.
46311
46312 2006-10-05  Bruno Haible  <bruno@clisp.org>
46313
46314         * lib/gl_list.h (gl_sortedlist_search_from_to,
46315         gl_sortedlist_indexof_from_to): New declarations.
46316         (gl_list_implementation): New fields sortedlist_search_from_to,
46317         sortedlist_indexof_from_to.
46318         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
46319         inline functions.
46320         * lib/gl_list.c (gl_sortedlist_search_from_to,
46321         gl_sortedlist_indexof_from_to): New functions.
46322         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
46323         function.
46324         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
46325         (gl_array_sortedlist_search_from_to): New function.
46326         (gl_array_list_implementation): Update.
46327         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
46328         function.
46329         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
46330         (gl_carray_sortedlist_search_from_to): New function.
46331         (gl_carray_list_implementation): Update.
46332         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
46333         gl_linked_sortedlist_indexof_from_to): New functions.
46334         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
46335         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
46336         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
46337         gl_tree_sortedlist_indexof_from_to): New functions.
46338         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
46339         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
46340         Update.
46341         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
46342         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
46343         Update.
46344
46345 2006-10-05  Bruno Haible  <bruno@clisp.org>
46346
46347         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
46348         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
46349         (struct gl_list_implementation): Add fields search_from_to,
46350         indexof_from_to. Remove fields search, indexof.
46351         (gl_list_search): Use the search_from_to method.
46352         (gl_list_search_from, gl_list_search_from_to): New functions.
46353         (gl_list_indexof): Use the indexof_from_to method.
46354         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
46355         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
46356         (gl_list_search_from, gl_list_search_from_to): New functions.
46357         (gl_list_indexof): Use the indexof_from_to method.
46358         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
46359         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
46360         gl_array_indexof. Add start_index, end_index arguments.
46361         (gl_array_search_from_to): Renamed from gl_array_search. Add
46362         start_index, end_index arguments.
46363         (gl_array_remove, gl_array_list_implementation): Update.
46364         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
46365         gl_carray_indexof. Add start_index, end_index arguments.
46366         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
46367         start_index, end_index arguments.
46368         (gl_carray_remove, gl_carray_list_implementation): Update.
46369         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
46370         gl_linked_search. Add start_index, end_index arguments.
46371         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
46372         start_index, end_index arguments.
46373         (gl_linked_remove): Update.
46374         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
46375         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
46376         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
46377         field to 'size_t'.
46378         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
46379         gl_tree_search. Add start_index, end_index arguments.
46380         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
46381         start_index, end_index arguments.
46382         (gl_tree_remove): Update.
46383         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
46384         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
46385         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
46386         function.
46387         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
46388         gl_tree_search. Add start_index, end_index arguments.
46389         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
46390         start_index, end_index arguments.
46391         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
46392         Update.
46393         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
46394
46395 2006-10-05  Bruno Haible  <bruno@clisp.org>
46396
46397         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
46398
46399         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
46400         fwriteerror_temp): New declarations.
46401         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
46402         (descriptors): New variable.
46403         (cleanup): First, close the descriptors.
46404         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
46405         fclose_temp, fwriteerror_temp): New functions.
46406
46407 2006-10-04  Jim Meyering  <jim@meyering.net>
46408
46409         * lib/fts.c (fts_open): Tiny comment change.
46410
46411 2006-10-04  Bruno Haible  <bruno@clisp.org>
46412
46413         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
46414         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
46415         gl_LOCK_BODY.
46416         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
46417         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
46418         gl_LOCK_EARLY_BODY.
46419         (gl_LOCK): Require gl_LOCK_BODY.
46420
46421 2006-10-04  Bruno Haible  <bruno@clisp.org>
46422
46423         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
46424         (gl_oset_search_atleast): New declaration.
46425         (struct gl_oset_implementation): Add field 'search_atleast'.
46426         (gl_oset_search_atleast): New inline function.
46427         * lib/gl_oset.c (gl_oset_search_atleast): New function.
46428         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
46429         (gl_array_oset_implementation): Update.
46430         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
46431         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
46432         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
46433
46434 2006-10-04  Bruno Haible  <bruno@clisp.org>
46435
46436         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
46437
46438 2006-10-03  Bruno Haible  <bruno@clisp.org>
46439
46440         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
46441         from gl_avltreehash_list_implementation.
46442
46443 2006-10-03  Bruno Haible  <bruno@clisp.org>
46444
46445         * lib/gl_oset.c (gl_oset_add): Fix return type.
46446
46447 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
46448
46449         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
46450
46451 2006-10-02  Eric Blake  <ebb9@byu.net>
46452
46453         * modules/strnlen (Depends-on): Add extensions.
46454
46455 2006-10-02  Eric Blake  <ebb9@byu.net>
46456
46457         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
46458         definition in 2.60+.
46459
46460 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
46461
46462         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
46463         checks.
46464
46465 2006-10-02  Bruno Haible  <bruno@clisp.org>
46466
46467         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
46468         to the AUTOMAKE_OPTIONS.
46469         Reported by Jim Meyering.
46470
46471 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
46472
46473         Work around bug in Solaris 10 /proc file system:
46474         /proc/self/fd/NNN/.. isn't the parent directory of
46475         the directory whose file descriptor is NNN.  This needs to
46476         be worked around at run time, not compile time, since a
46477         program might be built on Solaris 8, where things work, and
46478         run on Solaris 10.
46479         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
46480         to use the following interface instead:
46481         (OPENAT_BUFFER_SIZE): New macro.
46482         (openat_proc_name): New function.
46483         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
46484         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
46485         Likewise.
46486         * lib/openat-proc.c: New file.
46487         * modules/openat (Files): Add lib/openat-proc.c.
46488         (Depends-on): Add same-inode, stdbool.
46489         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
46490
46491 2006-09-29  Bruno Haible  <bruno@clisp.org>
46492
46493         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
46494         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
46495         argument. Set stdout_closed before testing for ferror, not after.
46496         (fwriteerror, fwriteerror_no_ebadf): New functions.
46497
46498 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46499
46500         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
46501
46502 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
46503
46504         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
46505         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
46506
46507 2006-09-28  Jim Meyering  <jim@meyering.net>
46508
46509         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
46510         Include <unistd.h>.
46511
46512 2006-09-28  Bruno Haible  <bruno@clisp.org>
46513
46514         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
46515         * modules/linkedhash-list (Depends-on): Likewise.
46516         * modules/rbtreehash-list (Depends-on): Likewise.
46517
46518 2006-09-28  Bruno Haible  <bruno@clisp.org>
46519
46520         * lib/strndup.h: Simplify the redefinition of strndup.
46521         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
46522         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
46523
46524 2006-09-28  Bruno Haible  <bruno@clisp.org>
46525
46526         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
46527         * lib/gl_linkedhash_list.c: Likewise.
46528         * lib/gl_rbtreehash_list.c: Likewise.
46529
46530 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
46531
46532         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
46533         getaddrinfo.
46534
46535         * lib/__fpending.h: Don't include <stdio_ext.h> unless
46536         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
46537         it causes <stdio_ext.h> to cause a compile-time error.
46538         Problem reported by Nelson H. F. Beebe.
46539         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
46540         of HAVE_DECL___PENDING.
46541
46542         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
46543         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
46544         declaration.
46545
46546 2006-09-27  Jim Meyering  <jim@meyering.net>
46547
46548         This file could end up with a definition for a function
46549         named __strndup, rather than rpl_strndup on a system with
46550         incomplete weak_alias support.
46551         * lib/strndup.c (strndup): Rename from __strndup.
46552         Remove #defines that used to map __strndup to strndup.
46553         Don't use K&R prototypes.
46554         Remove LIBC-related code, since this file is not sync'd with glibc.
46555         * lib/strndup.h: Revamp, accordingly.
46556         * m4/strndup.m4: Modernize.
46557
46558 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
46559
46560         * modules/savewd (Depends-on): Add 'raise'.
46561         * lib/savewd.c: Include <signal.h>, for 'raise'.
46562
46563 2006-09-26  Jim Meyering  <jim@meyering.net>
46564
46565         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
46566         when we detect Darwin 8.7.0's acl_get_file bug.
46567         Rearrange to perform the new (below) run-test while $LIBS
46568         contains any acl-related library.  Set USE_ACL at the end.
46569         (gl_ACL_GET_FILE): New function.
46570
46571 2006-09-26  Eric Blake  <ebb9@byu.net>
46572
46573         * lib/verror.c: Include <config.h> unconditionally.
46574
46575 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
46576
46577         * modules/clock-time (Maintainer): Add self.
46578         * modules/getlogin_r (Depends-on): Add extensions.
46579
46580 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46581
46582         * modules/clock-time: New module.
46583         * modules/nanosleep (Depends-on): Add clock-time.
46584         * modules/gethrxtime (Depends-on): Likewise.
46585         * modules/gettime (Depends-on): Likewise.
46586         * modules/settime (Depends-on): Likewise.
46587
46588         * modules/fts-lgpl: Depend on openat.
46589         * modules/mkancesdirs: Depend on savewd.
46590         * modules/mkdir-p: Likewise.
46591
46592 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46593
46594         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
46595
46596         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
46597         `gl_have_arbitrary_file_name_length_limit' to
46598         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
46599         actually works between configure runs.
46600
46601 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46602             Bruno Haible  <bruno@clisp.org>
46603
46604         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
46605
46606 2006-09-25  Jim Meyering  <jim@meyering.net>
46607
46608         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
46609         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
46610
46611 2006-09-25  Eric Blake  <ebb9@byu.net>
46612
46613         * gnulib-tool (func_import, func_create_testdir): Fix typos in
46614         exec's in 2006-09-18 patch when shuffling fds.
46615
46616 2006-09-25  Bruno Haible  <bruno@clisp.org>
46617
46618         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
46619         Reported by Jim Meyering.
46620
46621 2006-09-24  Jim Meyering  <jim@meyering.net>
46622
46623         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
46624         compare a pointer against a literal "0".  That caused failures with
46625         at least HP-UX's hpcc.
46626
46627 2006-09-22  Simon Josefsson  <jas@extundo.com>
46628
46629         * modules/gc-sha1:
46630         * modules/gc-md4:
46631         * modules/gc-hmac-sha1:
46632         * modules/gc-hmac-md5:
46633         * modules/gc-des:
46634         * modules/gc-arcfour: Distribute more files.
46635
46636 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46637
46638         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
46639         (gl_linked_iterator_from_to): Initialize struct completely.
46640         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
46641         (gl_tree_iterator_from_to): Likewise
46642         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
46643         * lib/gl_array_list.c [lint] (gl_array_iterator)
46644         (gl_array_iterator_from_to): Likewise.
46645         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
46646         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
46647         (gl_carray_iterator_from_to): Likewise.
46648
46649         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
46650         * lib/md4.c (md4_process_block): Remove unused variable.
46651         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
46652         parentheses for clarity.
46653
46654 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46655
46656         * modules/bison-i18n (Depends-on): Add gettext.
46657
46658 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46659
46660         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
46661         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
46662         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
46663         also add missing comma that caused broken test.
46664         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
46665         stdlib.h, for `abort'.
46666         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
46667         variables.
46668         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
46669         include unistd.h if present, for `rmdir'.
46670         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
46671         variables.
46672         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
46673         in the process include standard headers for prototypes.
46674         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
46675         gets declared on GNU/Linux.
46676         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
46677         unistd.h, for `rmdir'.
46678         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
46679
46680         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
46681         always true.
46682         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
46683
46684         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
46685
46686 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46687
46688         * gnulib-tool (func_version): Create output all at once.  This
46689         may help avoid triggering unnecessary SIGPIPEs, and at any
46690         rate it doesn't hurt.
46691
46692 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46693             Bruno Haible  <bruno@clisp.org>
46694
46695         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
46696         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
46697         * m4/signed.m4 (bh_C_SIGNED): Likewise.
46698
46699         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
46700         (gl_FUNC_VASPRINTF): Invoke it.
46701
46702 2006-09-22  Bruno Haible  <bruno@clisp.org>
46703
46704         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
46705         getloadavg.c as first argument.
46706
46707 2006-09-22  Bruno Haible  <bruno@clisp.org>
46708
46709         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
46710         at the beginning of the gl_INIT macro.
46711         * modules/getloadavg (configure.ac): Pass $gl_source_base to
46712         gl_GETLOADAVG.
46713
46714 2006-09-22  Bruno Haible  <bruno@clisp.org>
46715
46716         * gnulib-tool (func_create_megatestdir): Don't include the config-h
46717         module.
46718         Suggested by Ralf Wildenhues.
46719
46720 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
46721
46722         Import this patch from libc:
46723
46724         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
46725
46726         * lib/regex_internal.c (re_string_reconstruct): Handle
46727         offset < pstr->valid_raw_len && pstr->offsets_needed case.
46728         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
46729         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
46730         re_string_context_at.
46731
46732         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
46733         now requires it.
46734         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
46735         gl_REGEX now does it for us.
46736         (gl_REGEX): Add test taken from
46737         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
46738
46739         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
46740         Check that large offsets work.  Modernize Autoconf usages.
46741         Prefer "yes" to mean a good thing rather than a bad.
46742         Don't put "#define mkstemp" in config.h, as this might interfere
46743         with standard system headers that "#define mkstemp mkstemp64".
46744
46745         * modules/mkstemp (Depends-on): Add extensions, so that
46746         mkstemp is visible on some platforms.
46747         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
46748         (Include): Change to "mkstemp.h" from <stdlib.h>.
46749         (Files): Add mkstemp.h.
46750
46751         * lib/mkstemp.h: New file, since some standard headers
46752         #define mkstemp.
46753         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
46754         Include "mkstemp.h".
46755         Make the _LIBC code resemble glibc original more,
46756         e.g., use K&R style.
46757         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
46758         (mkstemp): Remove, since mkstemp.h does this for us.
46759         * lib/stdlib--.h: Include mkstemp.h.
46760
46761         Import this patch from libc:
46762
46763         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
46764
46765         * lib/tempname.c (__gen_tempname): Change attempts_min
46766         into a macro.  Use preprocessor to decide how to initialize
46767         attempts [Coverity CID 67].
46768
46769 2006-09-20  Bruno Haible  <bruno@clisp.org>
46770
46771         * lib/mkdtemp.c: Import from libc.
46772         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
46773                 * sysdeps/posix/tempname.c (__gen_tempname): Change
46774                 attempts_min into a macro.  Use preprocessor to decide how to
46775                 initialize attempts [Coverity CID 67].
46776         2001-11-27  Paul Eggert  <eggert@twinsun.com>
46777                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
46778                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
46779
46780 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46781
46782         * gnulib-tool (func_exit): New function, to allow to pass the
46783         exit status portably through the trap.  Use everywhere.
46784         (--help, --version): Signal a write error.
46785         (trap): catch SIGPIPE, for write errors.
46786         Exit at the end of the trap, with the correct exit status.
46787
46788 2006-09-19  Karl Berry  <karl@gnu.org>
46789
46790         * doc/gnulib.texi: note about the license texinfo files.
46791
46792 2006-09-19  Eric Blake  <ebb9@byu.net>
46793
46794         * gnulib-tool: Avoid space-tab.
46795
46796 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
46797
46798         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
46799         that prevented coreutils 6.1 from building.  Problem reported
46800         by Petter Reinholdtsen.
46801
46802 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
46803
46804         * gnulib-tool (avoidlist): Fix typo that broke options like
46805         --avoid=lock that are used by coreutils bootstrap.
46806
46807 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
46808
46809         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
46810         more systematically.
46811
46812 2006-09-18  Jim Meyering  <jim@meyering.net>
46813
46814         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
46815
46816 2006-09-18  Bruno Haible  <bruno@clisp.org>
46817
46818         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
46819
46820 2006-09-18  Bruno Haible  <bruno@clisp.org>
46821
46822         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
46823         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
46824         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
46825         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
46826         * m4/gettext.m4: Require autoconf >= 2.52.
46827         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
46828         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
46829         of gl_cv_header_inttypes_h.
46830
46831 2006-09-18  Bruno Haible  <bruno@clisp.org>
46832
46833         * lib/javaversion.c: Include configmake.h.
46834
46835 2006-09-18  Bruno Haible  <bruno@clisp.org>
46836
46837         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
46838         avoid that the while loops be executed in a subshell.
46839
46840 2006-09-18  Bruno Haible  <bruno@clisp.org>
46841
46842         * MODULES.html.sh (func_module): Break long lines.
46843         Suggested by Bruce Korb <bkorb@gnu.org>.
46844
46845 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46846
46847         Speed up by a factor of 1.12.
46848         * gnulib-tool (nl): New variable.
46849         (func_import): Rewrite include directive extraction to only read each
46850         directive once.
46851
46852 2006-09-17  Bruno Haible  <bruno@clisp.org>
46853
46854         * modules/javaversion (Makefile.am): Remove DEFS setting.
46855         (Depends-on): Add configmake, for PKGDATADIR definition.
46856
46857 2006-09-17  Bruno Haible  <bruno@clisp.org>
46858
46859         * gnulib-tool (func_create_testdir): Rewrite all files at once.
46860
46861 2006-09-17  Bruno Haible  <bruno@clisp.org>
46862
46863         * gnulib-tool (func_append): New function, stolen from libtool.m4.
46864         (func_modules_transitive_closure, func_modules_add_dummy,
46865         func_modules_to_filelist, func_import, func_create_testdir,
46866         func_create_megatestdir, ...): Use it wherever possible.
46867         Suggested by Ralf Wildenhues.
46868
46869 2006-09-16  Karl Berry  <karl@gnu.org>
46870
46871         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
46872         to avoid sectioning errors.
46873         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
46874         [ifinfo]: blank line after @center-ed titles.
46875         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
46876         Spell FSF address consistently with others.
46877         (These changes approved by rms.)
46878
46879 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46880
46881         Speed up by a factor of 1.61.
46882         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
46883         already checked module names again.
46884
46885 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46886
46887         Speed up by a factor of 1.13.
46888         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
46889         for new_files, and the input to func_add_or_update.
46890
46891 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46892
46893         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
46894         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
46895
46896 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
46897
46898         * modules/mkancesdirs (Depends-on): Add fcntl.
46899         * modules/savewd: New file.
46900         * MODULES.html.sh (File system functions): Add savewd.
46901
46902         * modules/configmake (Makefile.am): Add support for the
46903         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
46904
46905 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
46906
46907         * m4/savewd.m4: New file.
46908
46909 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
46910
46911         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
46912         (dirchownmod): New arg FD.  All callers changed.
46913         Use FD rather than opening the directory ourself, as opening is
46914         now the caller's responsibility.
46915         * lib/dirchownmod.h: Likewise.
46916         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
46917         hosts that require <sys/types.h> before <sys/stat.h>.  Include
46918         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
46919         (test_dir): Remove.
46920         (mkancesdirs): Return length of prefix of FILE that has already
46921         been made, or -2 if there is a child doing the work.  Redo
46922         algorithm so that it is O(N) rather than O(N**2).  Optimize away
46923         ".", and treat ".." specially since it might stray back into
46924         already-created areas.  Use a subprocess if necessary.  New arg
46925         WD; all users changed.  MAKE_DIR function should now return 1
46926         if it creates a directory that is not readable.  Return -2 if
46927         a child process is spun off.
46928         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
46929         Adjust signature to match code.
46930         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
46931         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
46932         all users changed.
46933         * lib/savewd.c, lib/savewd.h: New files.
46934
46935 2006-09-15  Jim Meyering  <jim@meyering.net>
46936
46937         * modules/rename-dest-slash: New module.
46938         * MODULES.html.sh (posix_compat): Add it here.
46939
46940         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
46941
46942 2006-09-15  Jim Meyering  <jim@meyering.net>
46943
46944         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
46945         file.
46946
46947         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
46948
46949 2006-09-15  Jim Meyering  <jim@meyering.net>
46950
46951         * lib/rename-dest-slash.c (has_trailing_slash): Use
46952         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
46953         (rpl_rename_dest_slash): Perform the cheaper trailing slash
46954         test before testing whether SRC is a directory.
46955         Suggestions from Bruno Haible.
46956
46957         Avoid a warning about an unused variable.
46958         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
46959         into the #ifdef block where it's used.
46960
46961         * lib/rename-dest-slash.c: New file.
46962
46963 2006-09-14  Bruno Haible  <bruno@clisp.org>
46964
46965         * lib/allocsa.c: Include <config.h> unconditionally.
46966         * lib/asnprintf.c: Likewise.
46967         * lib/asprintf.c: Likewise.
46968         * lib/c-strcasecmp.c: Likewise.
46969         * lib/c-strcasestr.c: Likewise.
46970         * lib/c-strncasecmp.c: Likewise.
46971         * lib/c-strstr.c: Likewise.
46972         * lib/classpath.c: Likewise.
46973         * lib/clean-temp.c: Likewise.
46974         * lib/concatpath.c: Likewise.
46975         * lib/copy-file.c: Likewise.
46976         * lib/csharpcomp.c: Likewise.
46977         * lib/csharpexec.c: Likewise.
46978         * lib/execute.c: Likewise.
46979         * lib/fatal-signal.c: Likewise.
46980         * lib/findprog.c: Likewise.
46981         * lib/fwriteerror.c: Likewise.
46982         * lib/gl_array_list.c: Likewise.
46983         * lib/gl_array_oset.c: Likewise.
46984         * lib/gl_avltree_list.c: Likewise.
46985         * lib/gl_avltree_oset.c: Likewise.
46986         * lib/gl_avltreehash_list.c: Likewise.
46987         * lib/gl_carray_list.c: Likewise.
46988         * lib/gl_linked_list.c: Likewise.
46989         * lib/gl_linkedhash_list.c: Likewise.
46990         * lib/gl_list.c: Likewise.
46991         * lib/gl_oset.c: Likewise.
46992         * lib/gl_rbtree_list.c: Likewise.
46993         * lib/gl_rbtree_oset.c: Likewise.
46994         * lib/gl_rbtreehash_list.c: Likewise.
46995         * lib/imaxabs.c: Likewise.
46996         * lib/imaxdiv.c: Likewise.
46997         * lib/javacomp.c: Likewise.
46998         * lib/javaexec.c: Likewise.
46999         * lib/javaversion.c: Likewise.
47000         * lib/linebreak.c: Likewise.
47001         * lib/localcharset.c: Likewise.
47002         * lib/lock.c: Likewise.
47003         * lib/mbchar.c: Likewise.
47004         * lib/mbswidth.c: Likewise.
47005         * lib/mkdtemp.c: Likewise.
47006         * lib/pipe.c: Likewise.
47007         * lib/printf-args.c: Likewise.
47008         * lib/printf-parse.c: Likewise.
47009         * lib/progname.c: Likewise.
47010         * lib/progreloc.c: Likewise.
47011         * lib/readlink.c: Likewise.
47012         * lib/sh-quote.c: Likewise.
47013         * lib/stpcpy.c: Likewise.
47014         * lib/stpncpy.c: Likewise.
47015         * lib/strcasecmp.c: Likewise.
47016         * lib/strcasestr.c: Likewise.
47017         * lib/strcspn.c: Likewise.
47018         * lib/striconv.c: Likewise.
47019         * lib/strncasecmp.c: Likewise.
47020         * lib/strnlen1.c: Likewise.
47021         * lib/strstr.c: Likewise.
47022         * lib/strtok_r.c: Likewise.
47023         * lib/tls.c: Likewise.
47024         * lib/tmpdir.c: Likewise.
47025         * lib/unicodeio.c: Likewise.
47026         * lib/unsetenv.c: Likewise.
47027         * lib/vasnprintf.c: Likewise.
47028         * lib/vasprintf.c: Likewise.
47029         * lib/wait-process.c: Likewise.
47030         * lib/xallocsa.c: Likewise.
47031         * lib/xsetenv.c: Likewise.
47032         * lib/xstriconv.c: Likewise.
47033
47034 2006-09-13  Simon Josefsson  <jas@extundo.com>
47035
47036         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
47037         that internally, suggested by Ralf Wildenhues
47038         <Ralf.Wildenhues@gmx.de>.
47039
47040 2006-09-13  Simon Josefsson  <jas@extundo.com>
47041
47042         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
47043         @LIBOBJS@.
47044         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
47045
47046 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
47047
47048         * lib/_fpending.c: Include <config.h> unconditionally, since we no
47049         longer worry about uses that don't define HAVE_CONFIG_H.
47050         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
47051         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
47052         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
47053         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
47054         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
47055         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
47056         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
47057         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
47058         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
47059         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
47060         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
47061         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
47062         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
47063         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
47064         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
47065         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
47066         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
47067         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
47068         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
47069         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
47070         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
47071         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
47072         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
47073         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
47074         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
47075         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
47076         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
47077         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
47078         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
47079         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
47080         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
47081         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
47082         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
47083         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
47084         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
47085         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
47086         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
47087         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
47088         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
47089         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
47090         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
47091         Likewise.
47092
47093 2006-09-13  Eric Blake  <ebb9@byu.net>
47094
47095         * lib/getopt.c: Fix typo in last commit.
47096
47097 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
47098
47099         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
47100         dgettext.
47101
47102 2006-09-12  Jim Meyering  <jim@meyering.net>
47103
47104         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
47105         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
47106         Reported by Nelson H. F. Beebe.
47107
47108 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
47109
47110         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
47111         program_invocation_name and program_invocation_short_name are
47112         initialized.
47113         * lib/argp-namefrob.h: Move declarations of program_invocation_name
47114         and program_invocation_short_name to argp.h, so they are visible
47115         to user programs.
47116         * lib/argp.h: Likewise
47117
47118 2006-09-10  Bruno Haible  <bruno@clisp.org>
47119
47120         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
47121         m4/inttypes_h.m4, m4/uintmax_t.m4.
47122
47123 2006-09-10  Bruno Haible  <bruno@clisp.org>
47124
47125         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
47126         gl_AC_TYPE_UINTMAX_T.
47127
47128 2006-09-10  Bruno Haible  <bruno@clisp.org>
47129
47130         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
47131
47132 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
47133
47134         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
47135         convention.  Text proposed by Bruno Haible.
47136         (struct argp_option): Document the use of N_() wrappers.
47137
47138         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
47139         '\v', and translate the two parts separately, instead of feeding
47140         the whole string to gettext.  This allows to exclude
47141         '\v' from the strings visible to the translator by writing doc
47142         strings as N_("..") "\v" N_("..").
47143
47144 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
47145
47146         * config/srclist.txt: Undo latest change; the bug was fixed.
47147
47148 2006-09-09  Bruno Haible  <bruno@clisp.org>
47149
47150         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
47151         assignments if building a library without libtool.
47152         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
47153         in func_emit_lib_Makefile_am.
47154         (func_import): When building a static library libfoo.a, arrange to
47155         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
47156         (func_create_testdir): Likewise.
47157         * modules/gc (configure.ac, Makefile.am): If building statically,
47158         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
47159         * modules/iconvme (configure.ac, Makefile.am): Likewise.
47160         * modules/striconv (configure.ac, Makefile.am): Likewise.
47161         Based on a suggestion by Ralf Wildenhues.
47162
47163 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
47164
47165         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
47166         Check for unistd.h too, since Autoconf doesn't assume POSIX.
47167         Also:
47168
47169         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
47170         Add year_2050_test to catch glibc bug 2821
47171         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
47172
47173         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
47174         Prefer #ifdef to #if.
47175
47176         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
47177         Return from 'main' instead of calling 'exit'.
47178
47179 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
47180
47181         * lib/mktime.c (guess_time_tm): Fix bug where mktime
47182         returned the maximum time_t value rather than (time_t) -1.
47183         Problem originally reported by William Bardwell
47184         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
47185
47186         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
47187         Moved to here ...
47188         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
47189         ... from here.
47190
47191 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
47192
47193         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
47194         2821 is fixed.
47195
47196 2006-09-08  Jim Meyering  <jim@meyering.net>
47197
47198         Don't make generated files read-only.  That would bother too many
47199         people.  However, do retain the ability to work when targets are
47200         read-only: remove the destination and temporary files before writing
47201         them (when generated via sed or echo), or by using the -f option for
47202         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
47203         * modules/alloca-opt, modules/argz, modules/arpa_inet:
47204         * modules/byteswap, modules/configmake, modules/fcntl:
47205         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
47206         * modules/localcharset, modules/netinet_in, modules/poll:
47207         * modules/stdbool, modules/stdint, modules/sys_select:
47208         * modules/sys_socket, modules/sys_stat, modules/sysexits:
47209
47210 2006-09-08  Jim Meyering  <jim@meyering.net>
47211
47212         Avoid new build failure on FreeBSD 6.0.
47213         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
47214         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
47215         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
47216
47217 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47218
47219         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
47220
47221 2006-09-07  Jim Meyering  <jim@meyering.net>
47222
47223         Fix global typo in last change: use chmod u-w, not chmod u-x.
47224         Spotted by Paul Eggert and Bruce Korb.
47225         * modules/alloca-opt, modules/argz, modules/arpa_inet:
47226         * modules/byteswap, modules/configmake, modules/fcntl:
47227         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
47228         * modules/localcharset, modules/netinet_in, modules/poll:
47229         * modules/stdbool, modules/stdint, modules/sys_select:
47230         * modules/sys_socket, modules/sys_stat, modules/sysexits:
47231
47232 2006-09-06  Jim Meyering  <jim@meyering.net>
47233
47234         Make generated files be read-only.
47235         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
47236         Ensure that each generated file is now read-only.
47237         * modules/argz: Likewise.
47238         * modules/arpa_inet: Likewise.
47239         * modules/byteswap: Likewise.
47240         * modules/configmake: Likewise.
47241         * modules/fcntl: Likewise.
47242         * modules/fnmatch: Likewise.
47243         * modules/getopt: Likewise.
47244         * modules/glob: Likewise.
47245         * modules/inttypes: Likewise.
47246         * modules/netinet_in: Likewise.
47247         * modules/poll: Likewise.
47248         * modules/stdbool: Likewise.
47249         * modules/stdint: Likewise.
47250         * modules/sys_select: Likewise.
47251         * modules/sys_socket: Likewise.
47252         * modules/sys_stat: Likewise.
47253         * modules/sysexits: Likewise.
47254         * modules/localcharset: Same as above, but continue using temporary
47255         file named "t-$@" (why different?) rather than the "$@-t" used
47256         everywhere else.
47257
47258         * modules/sysexits (Makefile.am): Replace literal occurrences
47259         of "sysexit.h" more readable, and more consistent, "$@".
47260
47261 2006-09-06  Bruno Haible  <bruno@clisp.org>
47262
47263         * modules/striconv: New file.
47264         * modules/xstriconv: New file.
47265         * MODULES.html.sh (Internationalization functions): Add striconv,
47266         xstriconv.
47267
47268 2006-09-06  Bruno Haible  <bruno@clisp.org>
47269
47270         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
47271         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
47272         not using libtool correctly.
47273
47274 2006-09-06  Bruno Haible  <bruno@clisp.org>
47275
47276         * lib/striconv.h: New file.
47277         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
47278         iconvstring.c.
47279         * lib/xstriconv.h: New file.
47280         * lib/xstriconv.c: New file.
47281
47282 2006-09-06  Bruno Haible  <bruno@clisp.org>
47283
47284         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
47285         lib_..._LDFLAGS.
47286
47287 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47288
47289         * lib/argz_.h: Sync from Libtool.
47290
47291         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
47292                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
47293
47294         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
47295
47296 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
47297
47298         * modules/trim: New file.
47299
47300 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
47301
47302         * lib/trim.h: New file.
47303         * lib/trim.c: New file.
47304
47305 2006-09-05  Bruno Haible  <bruno@clisp.org>
47306
47307         * MODULES.html.sh (String handling): Add trim.
47308
47309 2006-09-04  Karl Berry  <karl@gnu.org>
47310
47311         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
47312         until next release.
47313
47314 2006-09-03  Bruno Haible  <bruno@clisp.org>
47315
47316         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
47317         correctly.
47318
47319 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
47320
47321         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
47322         not gl_GETLOADAVG.  Omit unneeded semicolons.
47323         Problems reported by Ralf Wildenhues in
47324         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
47325         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
47326         at the end, which is the usual gnulib style.
47327
47328         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
47329         of doing all the work ourselves.
47330         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
47331         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
47332
47333 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
47334
47335         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
47336         Problem reported by Ralf Wildenhues in
47337         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
47338
47339         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
47340         HAVE_STRUCT_STATFS_F_FSTYPENAME.
47341
47342 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
47343
47344         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
47345         yesterday's patch by changing test -n to test -z.
47346
47347 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
47348
47349         * modules/getloadavg (Files): Add m4/getloadavg.m4.
47350         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
47351         the former is now obsolescent.
47352
47353         * modules/chdir-long (Depends-on): Add fcntl.
47354
47355 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
47356
47357         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
47358         obsolescent, and programs should use gnulib instead.
47359         * m4/getloadavg.m4: New file, with contents taken from Autoconf
47360         but with prefixes changed.
47361
47362 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
47363
47364         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
47365         or stdbool.h, because they might not exist while configuring.
47366
47367         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
47368         Don't include unistd.h or limits.h; not needed, since chdir-long.h
47369         does that for us.
47370         (O_DIRECTORY): Remove.
47371
47372 2006-08-31  Eric Blake  <ebb9@byu.net>
47373
47374         * gnulib-tool: Don't let emacs change spaces to TAB.
47375
47376 2006-08-31  Bruno Haible  <bruno@clisp.org>
47377
47378         * gnulib-tool: When calling func_import more than once, do it in a
47379         subshell.
47380         Reported by Eric Blake <ebb9@byu.net>.
47381
47382 2006-08-31  Bruno Haible  <bruno@clisp.org>
47383
47384         * gnulib-tool (nl): Remove variable.
47385         (sed_transform_lib_file): Use more robust test for config-h module.
47386         (func_import): Fix typo in 2006-08-25 patch.
47387
47388 2006-08-31  Bruno Haible  <bruno@clisp.org>
47389
47390         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
47391         specified, augment Makefile.am variables instead of assigning them.
47392
47393 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
47394
47395         Work around a bug in both the Linux and SunOS 64-bit kernels:
47396         nanosleep mishandles sleeps for longer than 2**31 seconds.
47397         Problem reported by Frank v Waveren in
47398         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
47399         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
47400         Check for nanosleep bug.
47401         (LIB_NANOSLEEP): Append clock_gettime library if needed.
47402
47403 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
47404
47405         Work around a bug in both the Linux and SunOS 64-bit kernels:
47406         nanosleep mishandles sleeps for longer than 2**31 seconds.
47407         Problem reported by Frank v Waveren in
47408         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
47409         * lib/nanosleep.c (BILLION): New constant.
47410         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
47411         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
47412         implementation.
47413
47414 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
47415
47416         * modules/nanosleep (Depends-on): Add gettime.
47417
47418 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
47419         and Simon Josefsson  <jas@extundo.com>
47420         and Oskar Liljeblad  <oskar@osk.mine.nu>
47421
47422         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
47423         * gnulib-tool (func_import): New license type 'unmodifiable license
47424         text'.
47425         * modules/fdl: Use it.  Longer description.
47426         * module/gpl, module/lgpl: New files.
47427
47428 2006-08-30  Jim Meyering  <jim@meyering.net>
47429
47430         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
47431         shadowing the parameter.
47432
47433 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47434
47435         Sync from Libtool:
47436
47437         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47438
47439         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
47440         sharing with gnulib.  Report by Eric Blake.
47441
47442 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
47443
47444         * modules/isapipe: New file.
47445         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
47446
47447 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
47448
47449         * modules/configmake (Makefile.am): Add a comment, and omit
47450         the CONFIGMAKE_ prefix from generated macro names.  Suggested
47451         by Bruno Haible.
47452
47453 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
47454
47455         * m4/isapipe.m4: New file.
47456
47457 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
47458
47459         * lib/isapipe.c, lib/isapipe.h: New files.
47460
47461 2006-08-29  Jim Meyering  <jim@meyering.net>
47462
47463         * modules/configmake (Makefile.am): Make configmake.h depend on
47464         Makefile.  Otherwise, a stale configmake.h could hang around.
47465
47466 2006-08-29  Eric Blake  <ebb9@byu.net>
47467
47468         * lib/error.c (error_at_line, print_errno_message): Match libc, after
47469         resolution of upstream bug 3044.
47470
47471 2006-08-29  Bruno Haible  <bruno@clisp.org>
47472
47473         * modules/localcharset (Depends-on): Add configmake.
47474         (Makefile.am): Remove setting of LIBDIR through DEFS.
47475
47476 2006-08-29  Bruno Haible  <bruno@clisp.org>
47477
47478         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
47479         defined.
47480
47481 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
47482
47483         * modules/fcntl: New file.
47484         * modules/chdir-safer (Depends-on): Add fcntl.
47485         * modules/fts: Likewise.
47486         * modules/mkdir-p: Likewise.
47487
47488         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
47489         This undoes the most recent change, since we're now addressing the
47490         problem in a different way.
47491
47492         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
47493         into output, since the output might be called Makefile.am even
47494         if $makefile_name is something different.
47495         (func_import): Use $makefile_am rather than
47496         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
47497         empty.
47498
47499         * modules/inttypes (Files): Add m4/inttypes-h.m4.
47500
47501 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
47502
47503         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
47504         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
47505         recent change to stdint.m4, since we're now addressing the problem in a
47506         different way.
47507
47508 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
47509
47510         * m4/fcntl_h.m4: New file.
47511
47512 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
47513
47514         * lib/fcntl_.h: New file.
47515         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
47516         the fcntl module.
47517         * lib/dirchownmod.c: Likewise.
47518         * lib/fts.c: Likewise.
47519
47520         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
47521         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
47522         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
47523         just before including <inttypes.h>, to avoid circular inclusion.
47524
47525 2006-08-28  Jim Meyering  <jim@meyering.net>
47526
47527         * doc/visibility.texi: Actually read and correct the grammar of the
47528         sentence affected by yesterday's change.
47529
47530 2006-08-28  Eric Blake  <ebb9@byu.net>
47531
47532         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
47533         needs wrapper.
47534
47535 2006-08-28  Eric Blake  <ebb9@byu.net>
47536
47537         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
47538
47539 2006-08-28  Eric Blake  <ebb9@byu.net>
47540
47541         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
47542
47543 2006-08-28  Bruno Haible  <bruno@clisp.org>
47544
47545         * modules/c-strstr: New file, from GNU gettext.
47546         * MODULES.html.sh (String handling): Add c-strstr.
47547
47548 2006-08-28  Bruno Haible  <bruno@clisp.org>
47549
47550         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
47551         macros.
47552         Reported by Eric Blake.
47553
47554 2006-08-28  Bruno Haible  <bruno@clisp.org>
47555
47556         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
47557         (VASNPRINTF): Return a string of length > INT_MAX without failing.
47558         * lib/vasprintf.c: Include errno.h, limits.h.
47559         (EOVERFLOW): New fallback definition.
47560         (vasprintf): Test here whether the string length is > INT_MAX.
47561         * lib/vsnprintf.c: Include errno.h, limits.h.
47562         (EOVERFLOW): New fallback definition.
47563         (vsnprintf): Fix bug when generated string was too long for the buffer.
47564         Test here whether the string length is > INT_MAX.
47565
47566 2006-08-28  Bruno Haible  <bruno@clisp.org>
47567
47568         * lib/inttypes_.h (SCNX*): Remove definitions.
47569         Reported by Eric Blake.
47570
47571 2006-08-28  Bruno Haible  <bruno@clisp.org>
47572
47573         * lib/c-strstr.h: New file, from GNU gettext.
47574         * lib/c-strstr.c: New file, from GNU gettext.
47575
47576 2006-08-28  Bruno Haible  <bruno@clisp.org>
47577
47578         * gnulib-tool: Reorder some statements.
47579
47580 2006-08-28  Bruno Haible  <bruno@clisp.org>
47581
47582         * gnulib-tool: New option --makefile-name.
47583         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
47584         $makefile_name.
47585         (func_import): Write $makefile_name to the cache file, and read it from
47586         there unless explicitly specified. Use $makefile_name as file name
47587         instead of Makefile.am. Adjust the recommendations accordingly.
47588
47589 2006-08-28  Bruno Haible  <bruno@clisp.org>
47590
47591         * gnulib-tool (func_verify_module): Check against misapplying patch.
47592
47593 2006-08-28  Bruno Haible  <bruno@clisp.org>
47594
47595         * gnulib-tool (func_relativize, func_relconcat): New functions.
47596         Give an error if --local-dir is given with --update.
47597         Remove trailing slashes from $local_gnulib_dir.
47598         (func_import): Store the relativized $local_gnulib_dir in
47599         gnulib-cache.m4, and read it from there if not specified explicitly.
47600
47601 2006-08-28  Bruno Haible  <bruno@clisp.org>
47602
47603         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
47604         is the current directory. Respect also $local_gnulib_dir.
47605
47606 2006-08-28  Bruno Haible  <bruno@clisp.org>
47607             Simon Josefsson  <jas@extundo.com>
47608
47609         BeOS portability.
47610         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
47611
47612 2006-08-27  Jim Meyering  <jim@meyering.net>
47613
47614         * doc/visibility.texi: Remove duplicate word: "pointer".
47615
47616 2006-08-26  Bruno Haible  <bruno@clisp.org>
47617
47618         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
47619         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
47620         (Makefile.am): Create inttypes.h from inttypes_.h.
47621         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
47622
47623         * modules/imaxabs: New file.
47624
47625         * modules/imaxdiv: New file.
47626
47627 2006-08-26  Bruno Haible  <bruno@clisp.org>
47628
47629         * m4/inttypes.m4: New file.
47630         * m4/_inttypes_h.m4: Remove file.
47631         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
47632         PRI_MACROS_BROKEN.
47633         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
47634
47635         * m4/imaxabs.m4: New file.
47636
47637         * m4/imaxdiv.m4: New file.
47638
47639 2006-08-26  Bruno Haible  <bruno@clisp.org>
47640
47641         * lib/inttypes_.h: New file.
47642         * lib/inttypes.h: Remove file.
47643         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
47644
47645         * lib/imaxabs.c: New file.
47646
47647         * lib/imaxdiv.c: New file.
47648
47649 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
47650
47651         New config-h module, so that "make" output needn't be cluttered
47652         by -DHAVE_CONFIG_H.
47653         * MODULES.html.sh (Support for building libraries and executables):
47654         Add config-h.
47655         * modules/config-h: New file.
47656         * gnulib-tool (nl, sed_transform_lib_file): New vars.
47657         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
47658         the config-h module is used.
47659
47660         New configmake module, so that "make" output needn't be cluttered
47661         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
47662         * MODULES.html.sh (Support for building libraries and executables):
47663         Add configmake.
47664         * modules/configmake: New file.
47665
47666 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
47667
47668         * m4/config-h.m4: New file.
47669
47670 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
47671
47672         * config/srclist.txt: Add elisp-comp.
47673
47674 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
47675
47676         * MODULES.html.sh (Support for building libraries and executables):
47677         Add elisp-comp.
47678         * build-aux/elisp-comp: New file.
47679         * modules/elisp-comp: New file.
47680
47681 2006-08-24  Bruno Haible  <bruno@clisp.org>
47682
47683         * gnulib-tool (func_create_testdir): Use non-default values of
47684         sourcebase and m4base.
47685
47686 2006-08-24  Bruno Haible  <bruno@clisp.org>
47687
47688         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
47689         HTML structure.
47690
47691 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
47692
47693         * modules/openat (Depends-on): Add lchown.
47694
47695 2006-08-23  Bruno Haible  <bruno@clisp.org>
47696
47697         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
47698         of gl_LOCK_EARLY instead of gl_LOCK.
47699
47700 2006-08-23  Bruno Haible  <bruno@clisp.org>
47701
47702         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
47703         on OSF/1 to no.
47704         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
47705
47706 2006-08-23  Bruno Haible  <bruno@clisp.org>
47707
47708         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
47709         as unusable.
47710
47711         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
47712         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
47713         (gl_LOCK): New macro.
47714
47715 2006-08-22  Simon Josefsson  <jas@extundo.com>
47716
47717         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
47718         to md5 module.
47719
47720 2006-08-22  Simon Josefsson  <jas@extundo.com>
47721
47722         * MODULES.html.sh: Add "Support for maintaining and release
47723         projects".
47724
47725         * build-aux/gnupload: New file, from coreutils.
47726
47727 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
47728
47729         Avoid the need for AC_LIBSOURCES in m4 macros.
47730         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
47731         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
47732         * modules/check-version (EXTRA_DIST): Add check-version.h.
47733         * modules/crc (EXTRA_DIST): Add crc.h.
47734         * modules/des (EXTRA_DIST): Add des.h.
47735         * modules/gc (EXTRA_DIST): Add gc.h.
47736         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
47737         * modules/getline (EXTRA_DIST): Add getline.h.
47738         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
47739         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
47740         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
47741         * modules/md2 (EXTRA_DIST): Add md2.h.
47742         * modules/md4 (EXTRA_DIST): Add md4.h.
47743         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
47744         * modules/read-file (EXTRA_DIST): Add read-file.h.
47745         * modules/readline (EXTRA_DIST): Add readline.h.
47746         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
47747         rijndael-api-fst.h.
47748
47749 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
47750
47751         * m4/rijndael.m4 (gl_ARCFOUR):
47752         * m4/arctwo.m4 (gl_ARCTWO):
47753         * m4/check-version.m4 (gl_CHECK_VERSION):
47754         * m4/crc.m4 (gl_CRC):
47755         * m4/des.m4 (gl_DES):
47756         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
47757         * m4/gc.m4 (gl_GC):
47758         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
47759         * m4/getline.m4 (gl_FUNC_GETLINE):
47760         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
47761         * m4/hmac-md5.m4 (gl_HMAC_MD5):
47762         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
47763         * m4/md2.m4 (gl_MD2):
47764         * m4/md4.m4 (gl_MD4):
47765         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
47766         * m4/read-file.m4 (gl_FUNC_READ_FILE):
47767         * m4/readline.m4 (gl_FUNC_READLINE):
47768         * m4/rijndael.m4 (gl_RIJNDAEL):
47769         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
47770         to get the necessary .h files and whatnot.
47771
47772 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
47773
47774         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
47775         gnulib rather than the other way around.
47776         * config/srclistvars.sh (COREUTILS): Remove.
47777
47778 2006-08-22  Jim Meyering  <jim@meyering.net>
47779
47780         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
47781
47782         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
47783
47784 2006-08-22  Eric Blake  <ebb9@byu.net>
47785
47786         * modules/regexprops-generic: New file.
47787         * MODULES.html.sh (Support for building documentation): List it.
47788
47789 2006-08-22  Eric Blake  <ebb9@byu.net>
47790
47791         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
47792         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
47793         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
47794         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
47795
47796 2006-08-22  Bruno Haible  <bruno@clisp.org>
47797
47798         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
47799         and lib_LTLIBRARIES like the other lib_* variables.
47800
47801 2006-08-22  Bruno Haible  <bruno@clisp.org>
47802
47803         * build-aux/x-to-1.in: New file, from GNU gettext.
47804
47805 2006-08-22  Bruno Haible  <bruno@clisp.org>
47806
47807         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
47808         <utmpx.h> exists.
47809
47810 2006-08-22  Bruno Haible  <bruno@clisp.org>
47811
47812         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
47813         <utmpx.h> exists.
47814
47815 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
47816
47817         BeOS portability.
47818         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
47819         exist.
47820         Problem reported by Bruno Haible.
47821
47822 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
47823
47824         Avoid the need for AC_LIBSOURCES in m4 macros.
47825         * modules/acl (EXTRA_DIST): Add acl.h.
47826         * modules/argmatch (Files): Add m4/argmatch.m4.
47827         (configure.ac): Add gl_ARGMATCH.
47828         (EXTRA_DIST): Renamed from lib_SOURCES, for
47829         consistency with the other modules.  Remove argmatch.c.
47830         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
47831         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
47832         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
47833         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
47834         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
47835         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
47836         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
47837         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
47838         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
47839         * modules/closeout (EXTRA_DIST): Add closeout.h.
47840         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
47841         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
47842         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
47843         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
47844         dirname.h; remove basename.c and stripslash.c.
47845         * modules/exclude (EXTRA_DIST): Add exclude.h.
47846         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
47847         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
47848         * modules/file-type (EXTRA_DIST): Add file-type.h.
47849         * modules/filemode (EXTRA_DIST): Add filemode.h.
47850         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
47851         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
47852         * modules/fpending (EXTRA_DIST): Add __fpending.h.
47853         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
47854         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
47855         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
47856         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
47857         * modules/getdate (EXTRA_DIST): Add getdate.c.
47858         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
47859         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
47860         * modules/getpass (EXTRA_DIST): Add getpass.h.
47861         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
47862         * modules/group-member (EXTRA_DIST): Add group-member.h.
47863         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
47864         * modules/hash (EXTRA_DIST): Add hash.h.
47865         * modules/human (EXTRA_DIST): Add human.h.
47866         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
47867         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
47868         * modules/lchown (EXTRA_DIST): Add lchown.h.
47869         * modules/long-options (EXTRA_DIST): Add long-options.h.
47870         * modules/lstat (EXTRA_DIST): Add lstat.h.
47871         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
47872         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
47873         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
47874         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
47875         * modules/memxor (EXTRA_DIST): Add memxor.h.
47876         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
47877         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
47878         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
47879         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
47880         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
47881         * modules/physmem (EXTRA_DIST): Add physmem.h.
47882         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
47883         * modules/posixver (EXTRA_DIST): Add posixver.h.
47884         * modules/quote (EXTRA_DIST): Add quote.h.
47885         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
47886         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
47887         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
47888         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
47889         regex_internal.h regexec.c.
47890         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
47891         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
47892         * modules/same (EXTRA_DIST): Add same.h.
47893         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
47894         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
47895         * modules/savedir (EXTRA_DIST): Add savedir.h.
47896         * modules/sha1 (EXTRA_DIST): Add sha1.h.
47897         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
47898         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
47899         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
47900         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
47901         * modules/strdup (EXTRA_DIST): Add strdup.h.
47902         * modules/strftime (EXTRA_DIST): Add strftime.h.
47903         * modules/strndup (EXTRA_DIST): Add strndup.h.
47904         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
47905         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
47906         * modules/time_r (EXTRA_DIST): Add time_r.h.
47907         * modules/timespec (EXTRA_DIST): Add timespec.h.
47908         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
47909         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
47910         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
47911         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
47912         * modules/userspec (EXTRA_DIST): Add userspec.h.
47913         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
47914         * modules/utimens (EXTRA_DIST): Add utimens.h.
47915         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
47916         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
47917         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
47918         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
47919         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
47920         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
47921         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
47922         * modules/yesno (EXTRA_DIST): Add yesno.h.
47923
47924 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
47925
47926         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
47927
47928         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
47929         * m4/dev-ino.m4, same-inode.m4: Remove.
47930
47931         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
47932         * m4/acl.m4 (AC_FUNC_ACL):
47933         * m4/backupfile.m4 (gl_BACKUPFILE):
47934         * m4/c-strtod.m4 (gl_C99_STRTOLD):
47935         * m4/canon-host.m4 (gl_CANON_HOST):
47936         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
47937         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
47938         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
47939         * m4/cloexec.m4 (gl_CLOEXEC):
47940         * m4/close-stream.m4 (gl_CLOSE_STREAM):
47941         * m4/closeout.m4 (gl_CLOSEOUT):
47942         * m4/dirfd.m4 (gl_FUNC_DIRFD):
47943         * m4/dirname.m4 (gl_DIRNAME):
47944         * m4/exclude.m4 (gl_EXCLUDE):
47945         * m4/exitfail.m4 (gl_EXITFAIL):
47946         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
47947         * m4/file-type.m4 (gl_FILE_TYPE):
47948         * m4/filemode.m4 (gl_FILEMODE):
47949         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
47950         * m4/fpending.m4 (gl_FUNC_FPENDING):
47951         * m4/fprintftime.m4 (gl_FPRINTFTIME):
47952         * m4/fts.m4 (gl_FUNC_FTS):
47953         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
47954         * m4/getdate.m4 (gl_GETDATE):
47955         * m4/gethrxtime.m4 (gl_GETHRXTIME):
47956         * m4/getpagesize.m4 (gl_GETPAGESIZE):
47957         * m4/getpass.m4 (gl_FUNC_GETPASS):
47958         * m4/gettime.m4 (gl_GETTIME):
47959         * m4/getugroups.m4 (gl_GETUGROUPS):
47960         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
47961         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
47962         * m4/hard-locale.m4 (gl_HARD_LOCALE):
47963         * m4/hash.m4 (gl_HASH):
47964         * m4/idcache.m4 (gl_IDCACHE):
47965         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
47966         * m4/lchown.m4 (gl_FUNC_LCHOWN):
47967         * m4/long-options.m4 (gl_LONG_OPTIONS):
47968         * m4/lstat.m4 (gl_FUNC_LSTAT):
47969         * m4/md5.m4 (gl_MD5):
47970         * m4/memcasecmp.m4 (gl_MEMCASECMP):
47971         * m4/memcoll.m4 (gl_MEMCOLL):
47972         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
47973         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
47974         * m4/memxor.m4 (gl_MEMXOR):
47975         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
47976         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
47977         * m4/modechange.m4 (gl_MODECHANGE):
47978         * m4/mountlist.m4 (gl_MOUNTLIST):
47979         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
47980         * m4/openat.m4 (gl_FUNC_OPENAT):
47981         * m4/pathmax.m4 (gl_PATHMAX):
47982         * m4/physmem.m4 (gl_PHYSMEM):
47983         * m4/posixtm.m4 (gl_POSIXTM):
47984         * m4/posixver.m4 (gl_POSIXVER):
47985         * m4/quote.m4 (gl_QUOTE):
47986         * m4/quotearg.m4 (gl_QUOTEARG):
47987         * m4/readtokens.m4 (gl_READTOKENS):
47988         * m4/readutmp.m4 (gl_READUTMP):
47989         * m4/regex.m4 (gl_REGEX):
47990         * m4/safe-read.m4 (gl_SAFE_READ):
47991         * m4/safe-write.m4 (gl_SAFE_WRITE):
47992         * m4/same.m4 (gl_SAME):
47993         * m4/save-cwd.m4 (gl_SAVE_CWD):
47994         * m4/savedir.m4 (gl_SAVEDIR):
47995         * m4/settime.m4 (gl_SETTIME):
47996         * m4/sha1.m4 (gl_SHA1):
47997         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
47998         * m4/stat-macros.m4 (gl_STAT_MACROS):
47999         * m4/stat-time.m4 (gl_STAT_TIME):
48000         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
48001         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
48002         * m4/strdup.m4 (gl_FUNC_STRDUP):
48003         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
48004         * m4/strndup.m4 (gl_FUNC_STRNDUP):
48005         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
48006         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
48007         * m4/time_r.m4 (gl_TIME_R):
48008         * m4/timespec.m4 (gl_TIMESPEC):
48009         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
48010         * m4/unlinkdir.m4 (gl_UNLINKDIR):
48011         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
48012         * m4/userspec.m4 (gl_USERSPEC):
48013         * m4/utimecmp.m4 (gl_UTIMECMP):
48014         * m4/utimens.m4 (gl_UTIMENS):
48015         * m4/xalloc.m4 (gl_XALLOC):
48016         * m4/xgetcwd.m4 (gl_XGETCWD):
48017         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
48018         * m4/xreadlink.m4 (gl_XREADLINK):
48019         * m4/xstrtod.m4 (gl_XSTRTOD):
48020         * m4/yesno.m4 (gl_YESNO):
48021         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
48022         to get the necessary .h files and whatnot.
48023
48024 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
48025             Bruno Haible  <bruno@clisp.org>
48026
48027         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
48028         /bin/sh understanding of '!' conditional negation.
48029
48030 2006-08-21  Jim Meyering  <jim@meyering.net>
48031
48032         * modules/openat (Depends-on): Really alphabetize.
48033
48034         * modules/acl (Depends-on): Add error and quote.
48035
48036         * check-module (find_included_lib_files): Add at-func.c to the
48037         ok-to-include-more-than-once white list.
48038
48039         * modules/openat (Depends-on): Add lstat.  Alphabetize.
48040
48041 2006-08-21  Bruno Haible  <bruno@clisp.org>
48042
48043         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
48044         Emit a pkgdata_DATA variable only if some snippets add contents to it.
48045         Reported by Martin Lambers <marlam@marlam.de>.
48046
48047 2006-08-21  Bruno Haible  <bruno@clisp.org>
48048
48049         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
48050         specify an installation location, don't emit a noinst_LIBRARIES or
48051         noinst_LTLIBRARIES assignment.
48052
48053 2006-08-21  Bruno Haible  <bruno@clisp.org>
48054
48055         BeOS portability.
48056         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
48057         BeOS has mbrtowc() but no <wctype.h>.
48058
48059 2006-08-21  Bruno Haible  <bruno@clisp.org>
48060
48061         BeOS portability.
48062         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
48063         exist.
48064
48065 2006-08-21  Bruno Haible  <bruno@clisp.org>
48066
48067         BeOS portability.
48068         * lib/mbchar.h: Include <wctype.h> only if it exists.
48069
48070 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
48071
48072         Remove files that are no longer needed by their respective modules.
48073         * m4/obstack.m4: Remove.
48074         * m4/strerror_r.m4: Remove.
48075         * m4/uint32_t.m4: Remove.
48076         * m4/uintptr_t.m4: Remove.
48077         * m4/ullong_max.m4: Remove.
48078         * m4/xstrtoimax.m4: Remove.
48079         * m4/xstrtoumax.m4: Remove.
48080
48081         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
48082         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
48083         dependencies now capture this.
48084
48085         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
48086         Do not use AC_LIBSOURCES, since gnulib modules now do this.
48087         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
48088         * m4/human.m4 (gl_HUMAN): Likewise.
48089         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
48090         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
48091
48092         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
48093
48094         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
48095         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
48096         stdint.
48097         * m4/human.m4 (gl_HUMAN): Likewise.
48098         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
48099         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
48100         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
48101         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
48102         * m4/xstrtol (gl_XSTRTOL): Likewise.
48103
48104         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
48105         AC_TYPE_LONG_LONG_INT.
48106         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
48107         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
48108         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
48109         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
48110
48111         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
48112         on stdbool.
48113
48114         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
48115         (gl_PREREQ_XSTRTOUL): Remove.
48116
48117         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
48118
48119         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
48120         mode.
48121
48122 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
48123
48124         Add and change modules to make it easier for coreutils to use
48125         gnulib-tool.
48126         * modules/backupfile (Files): Remove m4/d-ino.m4.
48127         (Depends-on): Add d-ino.
48128         * modules/cycle-check (Depends-on): Add stdint.
48129         (lib_SOURCES): Add cycle-check.h.
48130         * modules/d-ino: New module.
48131         * modules/d-type: New module.
48132         * modules/error (Files): Remove m4/strerror_r.m4.
48133         * modules/filemode (Files): Add m4/st_dm_mode.m4.
48134         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
48135         m4/inttypes_h.m4, m4/uintmax_t.m4.
48136         (Depends-on): Add stdint.
48137         (lib_SOURCES): Add fsusage.h.
48138         * modules/getcwd (Files): Remove d-ino.m4.
48139         (Depends-on): Add d-ino.
48140         * modules/getndelim2 (Depends-on): Add stdint.
48141         * modules/glob (Files): Remove m4/d-type.m4.
48142         (Depends-on): Add d-type.
48143         * modules/host-os: New module.
48144         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
48145         m4/inttypes_h.m4, m4/uintmax_t.m4.
48146         * Depends-on: Add stdint.
48147         (lib_SOURCES): Add human.h.
48148         * modules/inttostr (Files): Remove m4/intmax_t.m4,
48149         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
48150         m4/uintmax_t.m4, m4/ulonglong.m4.
48151         (Depends-on): Add stdint.
48152         (EXTRA_DIST): Add inttostr.h.
48153         * modules/lchmod: New module.
48154         * modules/link-follow: New module.
48155         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
48156         (Depends-on): Add lchmod.
48157         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
48158         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
48159         (Depends-on): Add stdint.
48160         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
48161         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
48162         (Depends-on): Add stdint.
48163         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
48164         * modules/perl: New module.
48165         * modules/regex (Depends-on): Add stdint.
48166         * modules/rmdir-errno: New module.
48167         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
48168         m4/intmax_t.m4.
48169         (Depends-on): Add stdint.
48170         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
48171         m4/uintmax_t.m4.
48172         (Depends-on): Add stdint.
48173         * modules/unlink-busy: New module.
48174         * modules/utimecmp (Depends-on): Add stdint.
48175         * modules/uptime: New module.
48176         * modules/winsz-ioctl: New module.
48177         * modules/winsz-termios: New module.
48178         * modules/xnanosleep (Depends-on): Add nanosleep.
48179         * modules/ullong_max: Remove.
48180         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
48181         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
48182         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
48183         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
48184         (Depends-on): Add inttypes.
48185         (lib_SOURCES): Add xstrtol.h.
48186         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
48187         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
48188         * MODULES.html.sh: Move 'assert' into the assert section.
48189         Move 'dummy' into the linking section.
48190         Remove ullong_max.
48191         Add section for compatibility checks for POSIX:2001 functions,
48192         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
48193         winsz-ioctl, and winsz-termios into it.
48194         Add lchmod.
48195         Add top-level Misc section and put host-os, perl, and uptime
48196         into it.
48197
48198 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
48199
48200         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
48201         now assume the stdint module.  Do not include inttypes.h.
48202         * lib/fsusage.h: Likewise.
48203         * lib/getndelim2.c: Likewise.
48204         * lib/human.h: Likewise.
48205         * lib/inttostr.h: Likewise.
48206         * lib/obstack.c: Likewise.
48207         * lib/regex_internal.h: Likewise.
48208         * lib/tempname.c: Likewise.
48209         * lib/utimecmp.c: Likewise.
48210         * lib/xstrtol.h: Likewise.
48211
48212         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
48213
48214         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
48215         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
48216         * lib/xtime.h: Likewise.
48217
48218 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
48219
48220         * modules/openat (Files): Add lib/fchmodat.c.
48221         Fixes problem reported by Jay Youngman.
48222
48223 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
48224
48225         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
48226         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
48227
48228 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
48229             Bruno Haible  <bruno@clisp.org>
48230
48231         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
48232         and is a script that invokes bison. Tighten the code. Add comments.
48233
48234 2006-08-18  Jim Meyering  <jim@meyering.net>
48235
48236         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
48237         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
48238         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
48239         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
48240
48241 2006-08-18  Bruno Haible  <bruno@clisp.org>
48242
48243         * modules/bison-i18n: New file.
48244         * MODULES.html.sh (Internationalization functions): Add it.
48245
48246 2006-08-18  Bruno Haible  <bruno@clisp.org>
48247
48248         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
48249         sys/statvfs.h. When getmntinfo was found, check its declaration and
48250         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
48251
48252 2006-08-18  Bruno Haible  <bruno@clisp.org>
48253
48254         * m4/bison-i18n.m4: New file, from bison.
48255
48256 2006-08-18  Bruno Haible  <bruno@clisp.org>
48257
48258         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
48259         (ME_DUMMY): Treat "kernfs" as a dummy.
48260         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
48261
48262 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
48263
48264         Update from coreutils.
48265
48266         2006-08-15  Jim Meyering  <jim@meyering.net>
48267
48268         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
48269
48270         2006-01-17  Jim Meyering  <jim@meyering.net>
48271
48272         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
48273
48274         2006-01-11  Jim Meyering  <jim@meyering.net>
48275
48276         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
48277         Check for the lchmod function.
48278
48279 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
48280
48281         Update from coreutils.
48282
48283         * lib/__fpending.h: Add copyright notice.
48284         * lib/fprintftime.h: Likewise.
48285         * lib/savedir.c: Use (C) in copyright notice.
48286         * lib/savedir.h: Likewise.
48287
48288         2006-08-15  Jim Meyering  <jim@meyering.net>
48289
48290         * lib/at-func.c: New file, with the logic of all emulated at-functions.
48291         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
48292         in support of the EXPECTED_ERRNO macro.
48293         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
48294         definitions.  Instead, define the appropriate symbols and include
48295         "at-func.c".
48296         * lib/mkdirat.c (mkdirat): Likewise.
48297         * lib/fchmodat.c (fchmodat): Likewise.
48298         (ENOSYS): Remove definition.
48299         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
48300         it.  Don't include "unistd--.h" -- it wasn't ever used.
48301
48302         2006-01-17  Jim Meyering  <jim@meyering.net>
48303
48304         Rewrite fts.c not to change the current working directory,
48305         by using openat, fstatat, fdopendir, etc..
48306
48307         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
48308         (HAVE_OPENAT_SUPPORT): Define.
48309         [_LIBC] (fchdir): Don't undef or define; no longer used.
48310         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
48311         Now, this `function' always succeeds, and consumes its file descriptor
48312         parameter -- so callers must not close such FDs.  Update callers.
48313         (diropen_fd, opendirat, cwd_advance_fd): New functions.
48314         (diropen): Add parameter, SP.  Adjust all callers.
48315         Implement using diropen_fd, rather than open.
48316         (fts_open): Initialize new member, fts_cwd_fd.
48317         Remove fts_rft-setting code.
48318         (fts_close): Close fts_cwd_fd, if necessary.
48319         (__opendir2): Define in terms of opendir or opendirat,
48320         depending on whether the FST_NOCHDIR flag is set.
48321         (fts_build): Since fts_safe_changedir consumes its FD, and since
48322         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
48323         and close the dup'd file descriptor upon failure.
48324         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
48325         (fts_safe_changedir): Tweak semantics to reflect that this function
48326         now calls cwd_advance_fd and hence consumes its FD argument.
48327         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
48328         [struct FTS] (fts_rft): Remove now-unused member.
48329         [struct FTS] (fts_cycle.state): Improve comment.
48330
48331         * lib/openat.c (openat_needs_fchdir): New function.
48332         * lib/openat.h (openat_needs_fchdir): Declare it.
48333
48334 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
48335
48336         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
48337         Problem and fix reported by Pádraig Brady in
48338         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
48339
48340 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
48341
48342         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
48343
48344 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
48345
48346         * lib/memcoll.c (memcoll): Optimize for the common case where the
48347         arguments are bytewise equal.
48348
48349 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
48350
48351         * doc/regexprops-generic.texi: Add a copyright notice.
48352
48353 2006-08-15  Bruno Haible  <bruno@clisp.org>
48354
48355         * modules/tmpdir (License): Change to LGPL.
48356
48357 2006-08-15  Bruno Haible  <bruno@clisp.org>
48358
48359         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
48360         module.
48361
48362 2006-08-14  Simon Josefsson  <jas@extundo.com>
48363
48364         * config/srclist.txt: Add gnupload.
48365
48366 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
48367
48368         Change copyright notice from LGPL 2 to GPL 2, since that's the
48369         standard form used in the gnulib repository.
48370         * tests/test-lock.c: Likewise.
48371         * tests/test-stdint.c: Likewise.
48372         * tests/test-tls.c: Likewise.
48373
48374         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
48375         prelude-manager.  User shorter URLs for GNU projects, without '?'.
48376         Add copyright notice.
48377
48378         * check-module: Add copyright notice.  Output a copyright
48379         notice if "--version" is specified.
48380         * modules/COPYING: New file.
48381         * tests/test-getaddrinfo.c: Add copyright notice.
48382         * tests/test-verify.c: Likewise.
48383
48384 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
48385
48386         Change copyright notice from LGPL 2 to GPL 2, since that's the
48387         standard form used in the gnulib repository.
48388         * lib/lock.c: LGPL -> GPL.
48389         * lib/lock.h: Likewise.
48390         * lib/strnlen1.c: Likewise.
48391         * lib/strnlen1.h: Likewise.
48392         * lib/tls.c: Likewise.
48393         * lib/tls.h: Likewise.
48394         * lib/tmpdir.c: Likewise.
48395
48396         * lib/TODO: Remove; this belongs only in coreutils.
48397
48398 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
48399
48400         Add copyright notices to long-enough files that lack them, since
48401         otherwise the files aren't clearly free.  Use the same notice that
48402         getdate.texi already uses.
48403         * doc/alloca-opt.texi: Add copyright notice.
48404         * doc/alloca.texi: Likewise.
48405         * doc/ctime.texi: Likewise.
48406         * doc/functions.texi: Likewise.
48407         * doc/gcd.texi: Likewise.
48408         * doc/gnulib-tool.texi: Likewise.
48409         * doc/inet_ntoa.texi: Likewise.
48410         * doc/visibility.texi: Likewise.
48411
48412         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
48413         * doc/quote.texi: Add copyright notice.
48414
48415         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
48416         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
48417         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
48418         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
48419         is now obsolete, and give a pointer to the Sun list.
48420         Add copyright notice.
48421
48422 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
48423
48424         * config/srclistvars.sh: Add copyright notice.
48425
48426 2006-08-14  Eric Blake  <ebb9@byu.net>
48427
48428         Import the following change from libc:
48429
48430         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
48431
48432         Upstream bug 2997.
48433         * lib/misc/error.c: Add space between program name and message if file
48434         name is missing.
48435
48436 2006-08-12  Karl Berry  <karl@gnu.org>
48437
48438         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
48439         remove, these originate in gnulib now.
48440
48441 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48442
48443         * doc/Makefile (standards.info standards.html standards.dvi):
48444         Also depend on make-stds.texi.
48445
48446 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
48447
48448         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
48449         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
48450
48451         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
48452         in wchar_t.  Problem reported by Eric Blake.
48453
48454         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
48455         LEN is smaller than SIZE.  Suggested by Bruno Haible.
48456         Also, help the compiler to keep LEN in a register.
48457
48458 2006-08-11  Eric Blake  <ebb9@byu.net>
48459
48460         * users.txt: Sort.  Add tar.
48461
48462 2006-08-11  Bruno Haible  <bruno@clisp.org>
48463
48464         * users.txt: New file.
48465
48466 2006-08-11  Bruno Haible  <bruno@clisp.org>
48467
48468         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
48469         before <wchar.h>. Needed for OSF/1 and BSD/OS.
48470
48471 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
48472
48473         * modules/snprintf (Depends-on): Remove minmax.
48474         (Maintainer): Add self and Bruno.
48475
48476 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
48477
48478         * lib/.cppi-disable: Add snprintf.h, socket_.h.
48479         * lib/snprintf.c: Include <errno.h> and <limits.h>.
48480         (EOVERFLOW): Define if the system does not.
48481         Do not include "minmax.h"; it wasn't used.
48482         (snprintf): Don't assume size_t promotes to an unsigned type.
48483         Fix bug when generated string was too long for the buffer: the
48484         buffer's contents are supposed to be the initial prefix of the
48485         output.  Don't assume vasnprintf returns EOVERFLOW if the size
48486         exceeds INT_MAX; do the check ourselves.
48487
48488         Import the following changes from libc:
48489
48490         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
48491
48492         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
48493         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
48494         set wc to the byte which couldn't be converted.
48495         (re_string_reconstruct): Don't clear valid_raw_len before calling
48496         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
48497         tip_context using re_string_context_at.
48498
48499         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
48500
48501         * lib/posix/regex.h: g++ still cannot handled [restrict].
48502
48503         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
48504
48505         * lib/posix/regex.h: Remove special handling for VMS.
48506
48507 2006-08-10  Jim Meyering  <jim@meyering.net>
48508
48509         * modules/same-inode: New module.
48510         * modules/dev-ino: New module.
48511         * modules/cycle-check: Depend on these modules, rather than simply
48512         including their .h files.
48513         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
48514         required via m4/cycle-check.m4.
48515         * modules/same: Depend on new same-inode module, rather than
48516         including same-inode.h.
48517         * modules/chdir-safer: New file.
48518
48519         * modules/chown (Depends-on): Add stat-macros.
48520
48521 2006-08-10  Jim Meyering  <jim@meyering.net>
48522
48523         * m4/cycle-check.m4: New file.
48524         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
48525         * m4/dev-ino.m4, m4/same-inode.m4: New files.
48526
48527 2006-08-10  Eric Blake  <ebb9@byu.net>
48528
48529         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
48530         in from original proposal.
48531
48532 2006-08-10  Eric Blake  <ebb9@byu.net>
48533         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
48534
48535         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
48536         namespace.
48537
48538 2006-08-10  Bruno Haible  <bruno@clisp.org>
48539
48540         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
48541         as well.
48542
48543 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
48544
48545         Sync from coreutils.
48546
48547         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
48548
48549         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
48550         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
48551
48552 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
48553
48554         * modules/restrict: Remove; no longer needed now that we assume
48555         Autoconf 2.59 or later.
48556         * MODULES.html.sh: Remove 'restrict'.
48557         * modules/argp (Depends-on): Remove 'restrict'.
48558         * modules/base64 (Depends-on): Likewise.
48559         * modules/gc (Depends-on): Likewise.
48560         * modules/getaddrinfo (Depends-on): Likewise.
48561         * modules/glob (Depends-on): Likewise.
48562         * modules/inet_ntop (Depends-on): Likewise.
48563         * modules/inet_pton (Depends-on): Likewise.
48564         * modules/memxor (Depends-on): Likewise.
48565         * modules/regex (Depends-on): Likewise.
48566         * modules/strtok_r (Depends-on): Likewise.
48567         * modules/time_r (Depends-on): Likewise.
48568
48569 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
48570
48571         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
48572         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
48573         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
48574         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
48575         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
48576         * m4/memxor.m4 (gl_MEMXOR): Likewise.
48577         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
48578         gl_C_RESTRICT replaced by AC_C_RESTRICT.
48579
48580         Merge from coreutils.
48581         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
48582         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
48583         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
48584         * m4/time_r.m4 (gl_TIME_R): Likewise.
48585
48586 2006-08-09  Karl Berry  <karl@gnu.org>
48587
48588         * config/srclist.txt: no more gettext-tools, per Bruno.
48589
48590 2006-08-08  Eric Blake  <ebb9@byu.net>
48591
48592         * modules/verror: New module.
48593         * MODULES.html.sh: Document it.
48594
48595 2006-08-08  Eric Blake  <ebb9@byu.net>
48596
48597         * lib/verror.h, lib/verror.c: New files.
48598
48599 2006-08-08  Eric Blake  <ebb9@byu.net>
48600
48601         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
48602         verror_at_line output complies with GNU Coding Standards even when
48603         file is NULL.
48604
48605 2006-08-07  Bruno Haible  <bruno@clisp.org>
48606
48607         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
48608         versions of AIX.
48609         Reported by Ralf Wildenhues.
48610
48611 2006-08-07  Bruno Haible  <bruno@clisp.org>
48612
48613         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
48614         in an AC_DEFUN. Needed so that the autoconf snippets can use
48615         AC_REQUIRE.
48616
48617 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48618
48619         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
48620         Initialize pkgdata_DATA.
48621         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
48622         overriding it.
48623
48624 2006-08-06  Eric Blake  <ebb9@byu.net>
48625
48626         * lib/error.h: Fold in some upstream changes from glibc.
48627         * lib/error.c: Likewise.
48628
48629 2006-08-04  Bruno Haible  <bruno@clisp.org>
48630
48631         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
48632         Make the mostlyclean-local rule depend on mostlyclean-generic.
48633         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
48634
48635 2006-07-31  Bruno Haible  <bruno@clisp.org>
48636
48637         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
48638         <stdlib.h>, <string.h>.
48639
48640 2006-07-30  Bruno Haible  <bruno@clisp.org>
48641
48642         * modules/readlink (License): Change to LGPL.
48643
48644 2006-07-30  Bruno Haible  <bruno@clisp.org>
48645
48646         * modules/javaversion (Makefile.am): Distribute javaversion.java and
48647         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
48648         set PKGDATADIR to point to it.
48649
48650 2006-07-30  Bruno Haible  <bruno@clisp.org>
48651
48652         * modules/csharpexec (configure.ac): Comment out macro invocation.
48653         * modules/javaexec (configure.ac): Likewise.
48654         * modules/javacomp-script (configure.ac): Likewise.
48655
48656         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
48657
48658 2006-07-30  Bruno Haible  <bruno@clisp.org>
48659
48660         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
48661         linked-list.
48662
48663 2006-07-30  Bruno Haible  <bruno@clisp.org>
48664
48665         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
48666
48667 2006-07-30  Bruno Haible  <bruno@clisp.org>
48668
48669         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
48670         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
48671         get removed.
48672
48673 2006-07-29  Bruno Haible  <bruno@clisp.org>
48674
48675         Make it possible for gnulib-tool to work with locally modified or
48676         augmented gnulib repositories.
48677         * gnulib-tool (func_usage): Document --local-dir option.
48678         (local_gnulib_dir): New variable.
48679         Handle --local-dir option.
48680         (func_lookup_file): New function.
48681         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
48682         (func_get_description, func_get_filelist, func_get_description,
48683         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
48684         func_get_automake_snippet, func_get_include_directive,
48685         func_get_license, func_get_maintainer): Use func_lookup_file.
48686         (func_import, func_create_testdir): Use func_lookup_file.
48687
48688 2006-07-29  Bruno Haible  <bruno@clisp.org>
48689
48690         * modules/setenv (Depends-on): Add unistd.
48691
48692 2006-07-29  Bruno Haible  <bruno@clisp.org>
48693
48694         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
48695
48696 2006-07-29  Bruno Haible  <bruno@clisp.org>
48697
48698         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
48699
48700 2006-07-29  Bruno Haible  <bruno@clisp.org>
48701
48702         * gnulib-tool (import, update): If there is no Makefile.am, look at
48703         aclocal.m4, instead of bailing out.
48704
48705 2006-07-29  Bruno Haible  <bruno@clisp.org>
48706
48707         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
48708         Categorize the options by when they are useful.
48709
48710 2006-07-29  Bruno Haible  <bruno@clisp.org>
48711
48712         * gnulib-tool (func_usage): Document option --no-libtool.
48713         Handle option --no-libtool.
48714         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
48715         for changed semantics of $libtool variable.
48716         (func_import): Likewise. If libtool is not used, show this through
48717         an option --no-libtool.
48718         (func_create_testdir): Update.
48719
48720 2006-07-29  Bruno Haible  <bruno@clisp.org>
48721
48722         * gnulib-tool (func_import): Extend error message about missing
48723         --doc-base.
48724
48725 2006-07-29  Bruno Haible  <bruno@clisp.org>
48726
48727         * gnulib-tool (func_import): Don't create the $docbase directory if
48728         there is no file to store there.
48729
48730 2006-07-29  Bruno Haible  <bruno@clisp.org>
48731
48732         * gnulib-tool (autoconf_minversion): If a --dir option is given and
48733         relevant, look for configure.ac there, not in the current directory.
48734         Also use a simple search for AC_PREREQ, not "autoconf --trace".
48735
48736 2006-07-29  Bruno Haible  <bruno@clisp.org>
48737
48738         * gnulib-tool (SORT): New variable.
48739         (func_usage): Undocument --assume-autoconf option.
48740         Remove --assume-autoconf option handling.
48741         (autoconf_minversion): Determine from the contents of configure.ac.
48742         (func_import): Remove autoconf_minversion handling.
48743         Suggested by Eric Blake.
48744
48745 2006-07-29  Bruno Haible  <bruno@clisp.org>
48746
48747         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
48748
48749 2006-07-29  Bruno Haible  <bruno@clisp.org>
48750
48751         * config/srclist.txt (*setenv.[ch]): Remove rules.
48752
48753 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48754
48755         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
48756
48757 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48758
48759         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
48760         arpa/inet.h.
48761
48762 2006-07-28  Simon Josefsson  <jas@extundo.com>
48763
48764         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
48765         * modules/inet_pton (Depends-on): Likewise.
48766
48767 2006-07-28  Simon Josefsson  <jas@extundo.com>
48768
48769         * m4/netinet_in_h.m4: New file.
48770
48771 2006-07-28  Simon Josefsson  <jas@extundo.com>
48772
48773         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
48774         #include's.
48775
48776 2006-07-28  Simon Josefsson  <jas@extundo.com>
48777
48778         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
48779         #include's.
48780
48781 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
48782
48783         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
48784         setgid on directories only if they set these bits.
48785         * lib/modechange.h: Remove obsolete comment about masks.
48786
48787 2006-07-28  Eric Blake  <ebb9@byu.net>
48788
48789         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
48790         macro expansion.
48791
48792 2006-07-28  Bruno Haible  <bruno@clisp.org>
48793
48794         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
48795
48796 2006-07-28  Bruno Haible  <bruno@clisp.org>
48797
48798         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
48799
48800 2006-07-28  Bruno Haible  <bruno@clisp.org>
48801
48802         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
48803         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
48804         Define fallbacks.
48805         Avoids link error on FreeBSD 4.x.
48806         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
48807
48808         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
48809         encoding.
48810         * lib/mbswidth.c (iswcntrl): Likewise.
48811
48812 2006-07-27  Bruno Haible  <bruno@clisp.org>
48813
48814         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
48815         test.
48816
48817 2006-07-27  Bruno Haible  <bruno@clisp.org>
48818
48819         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
48820         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
48821         defined.
48822
48823 2006-07-26  Eric Blake  <ebb9@byu.net>
48824
48825         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
48826
48827 2006-07-26  Eric Blake  <ebb9@byu.net>
48828
48829         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
48830         like mingw that lack mkstemp.
48831         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
48832         avoid compilation warning on mingw.
48833
48834 2006-07-26  Bruno Haible  <bruno@clisp.org>
48835
48836         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
48837         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
48838         INT_FAST*_MIN, INTPTR_MIN.
48839
48840 2006-07-25  Bruno Haible  <bruno@clisp.org>
48841
48842         * modules/version-etc (Depends-on): Add stdarg.
48843
48844 2006-07-25  Bruno Haible  <bruno@clisp.org>
48845
48846         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
48847         complex commands.
48848
48849 2006-07-25  Bruno Haible  <bruno@clisp.org>
48850
48851         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
48852         defined in <stdarg.h> or config.h.
48853
48854 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
48855
48856         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
48857         (gl_STDIO_SAFER): Remove.
48858
48859 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
48860
48861         * MODULES.html.sh (File stream based Input/Output):
48862         Add fopen-safer, tmpfile-safer; remove stdio-safer.
48863         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
48864         * modules/fopen-safer, modules/tmpfile-safer: New files.
48865         * modules/stdio-safer: Remove.
48866
48867 2006-07-24  Bruno Haible  <bruno@clisp.org>
48868
48869         * modules/tmpdir: New file.
48870         * MODULES.html.sh (File system functions): Add it.
48871
48872 2006-07-24  Bruno Haible  <bruno@clisp.org>
48873
48874         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
48875         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
48876
48877 2006-07-24  Bruno Haible  <bruno@clisp.org>
48878
48879         * modules/clean-temp: New file.
48880
48881 2006-07-24  Bruno Haible  <bruno@clisp.org>
48882
48883         * m4/tmpdir.m4: New file, from GNU gettext.
48884
48885 2006-07-24  Bruno Haible  <bruno@clisp.org>
48886
48887         * lib/tmpdir.h: New file, from GNU gettext.
48888         * lib/tmpdir.c: New file, from GNU gettext.
48889
48890 2006-07-24  Bruno Haible  <bruno@clisp.org>
48891
48892         * lib/clean-temp.h: New file, from GNU gettext.
48893         * lib/clean-temp.c: New file, from GNU gettext.
48894
48895 2006-07-23  Eric Blake  <ebb9@byu.net>
48896
48897         * modules/stdio-safer (Files): Add tmpfile-safer.c.
48898         (Depends-on): Add binary-io.
48899
48900 2006-07-23  Eric Blake  <ebb9@byu.net>
48901
48902         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
48903
48904 2006-07-23  Eric Blake  <ebb9@byu.net>
48905
48906         * lib/tmpfile-safer.c: New file.
48907         * lib/stdio-safer.h (fopen_safer): Add prototype.
48908         * lib/stdio--.h (tmpfile): Make safer.
48909
48910 2006-07-23  Bruno Haible  <bruno@clisp.org>
48911
48912         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
48913         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
48914         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
48915         gl_linked_remove_at): Use it.
48916
48917 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48918         and Simon Josefsson <jas@extundo.com>
48919
48920         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
48921
48922         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
48923
48924 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
48925
48926         * modules/close-stream: New file.
48927         * modules/closeout (Description): Make it clear that it exits
48928         with a diagnostic on error.
48929         (Depends-on): Add close-stream.  Remove fpending, stdbool.
48930         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
48931
48932 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
48933
48934         * m4/close-stream.m4: New file.
48935
48936 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
48937
48938         * lib/close-stream.c, lib/close-stream.h: New files.
48939
48940 2006-07-22  Bruno Haible  <bruno@clisp.org>
48941
48942         Merge from GNU gettext 0.15.
48943
48944         2006-05-01  Bruno Haible  <bruno@clisp.org>
48945
48946                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
48947
48948         2006-07-22  Bruno Haible  <bruno@clisp.org>
48949
48950                 * modules/javaversion: New file.
48951                 * MODULES.html.sh (Java): Add javaversion.
48952
48953         2006-03-12  Bruno Haible  <bruno@clisp.org>
48954
48955                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
48956
48957         2005-12-04  Bruno Haible  <bruno@clisp.org>
48958
48959                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
48960                 (untested).
48961
48962         2006-06-21  Bruno Haible  <bruno@clisp.org>
48963
48964                 Avoid warnings from recent versions of mcs.
48965                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
48966                 -o, -L, -r any more. Use options documented since mcs-1.0
48967                 instead. Similarly for -g.
48968
48969         2005-12-04  Bruno Haible  <bruno@clisp.org>
48970
48971                 * build-aux/csharpcomp.sh.in: Suffix for resources is
48972                 .resources, not .resource.
48973
48974         2005-07-09  Bruno Haible  <bruno@clisp.org>
48975
48976                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
48977                 add a .dll suffix.
48978                 Reported by Mark Junker <mjscod@gmx.de>.
48979
48980         2006-07-22  Bruno Haible  <bruno@clisp.org>
48981
48982                 * modules/gettext: Upgrade to gettext-0.15.
48983                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
48984                 m4/visibility.m4.
48985                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
48986
48987 2006-07-22  Bruno Haible  <bruno@clisp.org>
48988
48989         Merge from GNU gettext 0.15.
48990
48991         2006-03-25  Bruno Haible  <bruno@clisp.org>
48992
48993                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
48994
48995         2006-07-21  Bruno Haible  <bruno@clisp.org>
48996
48997                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
48998                 "1.1".
48999
49000         2006-05-09  Bruno Haible  <bruno@clisp.org>
49001
49002                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
49003                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
49004                 for the conftestver execution.
49005
49006         2006-05-01  Bruno Haible  <bruno@clisp.org>
49007
49008                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
49009                 optional target-version argument. Verify that the compiler
49010                 groks source of the specified source-version, or add -source
49011                 option as necessary. Verify that the compiler produces
49012                 bytecode in the specified target-version, or add -target and
49013                 -source options as necessary. Make the result of the test
49014                 available as variable CONF_JAVAC. Also log error output in
49015                 config.log.
49016
49017         2006-03-11  Bruno Haible  <bruno@clisp.org>
49018
49019                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
49020
49021         2006-05-09  Bruno Haible  <bruno@clisp.org>
49022
49023                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
49024                 CLASSPATH_SEPARATOR to a semicolon.
49025
49026         2006-03-12  Bruno Haible  <bruno@clisp.org>
49027
49028                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
49029                 available as variable CONF_JAVA, for subsequent autoconf
49030                 tests. Also log error output in config.log.
49031
49032         2006-07-19  Bruno Haible  <bruno@clisp.org>
49033
49034                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
49035                 that getline works on glibc2 systems. Needed to avoid trouble
49036                 in relocatable.c.
49037                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
49038
49039         2005-12-04  Bruno Haible  <bruno@clisp.org>
49040
49041                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
49042                 launcher (untested).
49043
49044         2005-12-04  Bruno Haible  <bruno@clisp.org>
49045
49046                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
49047
49048         2006-07-22  Bruno Haible  <bruno@clisp.org>
49049
49050                 * gettext.m4: Update from GNU gettext-0.15.
49051                 * nls.m4: Likewise.
49052                 * po.m4: Likewise.
49053                 * inttypes-pri.m4: Likewise.
49054                 * inttypes-h.m4: Renamed from inttypes.m4.
49055                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
49056
49057 2006-07-22  Bruno Haible  <bruno@clisp.org>
49058
49059         Merge from GNU gettext 0.15.
49060
49061         2005-07-05  Bruno Haible  <bruno@clisp.org>
49062
49063                 * printf-args.c (printf_fetchargs): Work around broken
49064                 definition of wint_t on mingw.
49065
49066         2005-02-12  Bruno Haible  <bruno@clisp.org>
49067
49068                 * xallocsa.h: Add extern "C" for C++.
49069
49070         2006-05-17  Bruno Haible  <bruno@clisp.org>
49071
49072                 Cygwin portability.
49073                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
49074
49075         2006-04-30  Bruno Haible  <bruno@clisp.org>
49076
49077                 * progreloc.c: Include <mach-o/dyld.h> if available.
49078                 (find_executable): Use _NSGetExecutablePath when possible.
49079
49080         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
49081
49082                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
49083                 function.
49084
49085         2005-12-29  Bruno Haible  <bruno@clisp.org>
49086
49087                 * progreloc.c (set_program_name_and_installdir): Fix
49088                 compilation error.
49089
49090         2005-12-04  Bruno Haible  <bruno@clisp.org>
49091
49092                 Cygwin portability.
49093                 * progreloc.c: Include <windows.h> also on Cygwin.
49094                 (find_executable): Add support for Cygwin.
49095                 (set_program_name_and_installdir): Handle also platforms with
49096                 nonempty EXEEXT.
49097
49098         2006-07-11  Bruno Haible  <bruno@clisp.org>
49099
49100                 * javacomp.c: Fix a comment.
49101                 Reported by Jim Meyering.
49102
49103         2006-04-30  Bruno Haible  <bruno@clisp.org>
49104
49105                 * javacomp.h (compile_java_class): Add source_version,
49106                 target_version arguments.
49107                 * javacomp.c: Rewritten to choose only a compiler that
49108                 respects the specified source_version and target_version.
49109
49110         2006-06-27  Bruno Haible  <bruno@clisp.org>
49111
49112                 Assume correct S_ISDIR macro.
49113                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
49114
49115         2006-07-22  Bruno Haible  <bruno@clisp.org>
49116
49117                 * javaversion.h: New file, from GNU gettext.
49118                 * javaversion.c: New file, from GNU gettext.
49119                 * javaversion.java: New file, from GNU gettext.
49120                 * javaversion.class: New file, from GNU gettext.
49121
49122         2006-05-17  Bruno Haible  <bruno@clisp.org>
49123
49124                 Cygwin portability.
49125                 * javaexec.c (execute_java_class): Test for jview program
49126                 also on Cygwin.
49127
49128         2006-04-09  Bruno Haible  <bruno@clisp.org>
49129
49130                 * fatal-signal.c: Don't include string.h.
49131                 (at_fatal_signal): Use a copying loop instead of memcpy.
49132
49133         2005-12-04  Bruno Haible  <bruno@clisp.org>
49134
49135                 * csharpexec.c: Add support for 'clix' launcher (untested).
49136                 (execute_csharp_using_sscli): New function.
49137                 (execute_csharp_program): Call it.
49138
49139         2006-06-21  Bruno Haible  <bruno@clisp.org>
49140
49141                 Avoid warnings from recent versions of mcs.
49142                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
49143                 -o, -L, -r any more. Use options documented since mcs-1.0
49144                 instead. Similarly for -g.
49145
49146         2005-07-09  Bruno Haible  <bruno@clisp.org>
49147
49148                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
49149                 add a .dll suffix.
49150                 Reported by Mark Junker <mjscod@gmx.de>.
49151
49152         2006-06-17  Bruno Haible  <bruno@clisp.org>
49153
49154                 * config.charset: Update for NetBSD 3.0.
49155
49156         2006-05-17  Bruno Haible  <bruno@clisp.org>
49157
49158                 Cygwin portability.
49159                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
49160
49161         2006-05-16  Bruno Haible  <bruno@clisp.org>
49162
49163                 * localcharset.c [CYGWIN]: Include <windows.h>.
49164                 (get_charset_aliases): For Cygwin, return the same CPxxx
49165                 aliases list as under WIN32.
49166                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
49167                 the environment variables. Fall back to GetACP().
49168
49169         2006-04-05  Bruno Haible  <bruno@clisp.org>
49170
49171                 * config.charset: Update Juan Manuel Guerrero's address.
49172
49173         2005-02-12  Bruno Haible  <bruno@clisp.org>
49174
49175                 * allocsa.h: Add extern "C" for C++.
49176
49177         2005-02-10  Bruno Haible  <bruno@clisp.org>
49178
49179                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
49180                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
49181
49182         2006-07-22  Bruno Haible  <bruno@clisp.org>
49183
49184                 * gettext.h: Update to GNU gettext-0.15.
49185
49186 2006-07-22  Bruno Haible  <bruno@clisp.org>
49187
49188         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
49189         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
49190         lib-prefix.m4, longdouble.m4, ssize_t.m4.
49191
49192 2006-07-21  Eric Blake  <ebb9@byu.net>
49193
49194         * modules/stdlib-safer: New file.
49195         * MODULES.html.sh (File stream based Input/Output): Add
49196         stdlib-safer.
49197
49198 2006-07-21  Eric Blake  <ebb9@byu.net>
49199
49200         * lib/stdlib-safer.h: New file from coreutils, required by
49201         stdlib--.h.
49202
49203 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
49204
49205         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
49206
49207 2006-07-20  Bruno Haible  <bruno@clisp.org>
49208
49209         * gnulib-tool: Recognize new option --assume-autoconf.
49210         (autoconf_minversion): New variable.
49211         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
49212
49213 2006-07-20  Bruno Haible  <bruno@clisp.org>
49214
49215         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
49216
49217 2006-07-19  Derek R. Price  <derek@ximbiot.com>
49218
49219         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
49220         Reindent and repaginate.
49221
49222 2006-07-19  Derek Price  <derek@ximbiot.com>
49223
49224         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
49225         Correct grammar.
49226
49227 2006-07-17  Bruno Haible  <bruno@clisp.org>
49228
49229         * modules/list: New file.
49230         * modules/array-list: New file.
49231         * modules/carray-list, modules/carray-list-tests: New files.
49232         * modules/linked-list, modules/linked-list-tests: New files.
49233         * modules/avltree-list, modules/avltree-list-tests: New files.
49234         * modules/rbtree-list, modules/rbtree-list-tests: New files.
49235         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
49236         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
49237         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
49238         * modules/oset: New file.
49239         * modules/array-oset: New file.
49240         * modules/avltree-oset, modules/avltree-oset-tests: New files.
49241         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
49242         * tests/test-carray_list.c: New file.
49243         * tests/test-linked_list.c: New file.
49244         * tests/test-avltree_list.c: New file.
49245         * tests/test-rbtree_list.c: New file.
49246         * tests/test-linkedhash_list.c: New file.
49247         * tests/test-avltreehash_list.c: New file.
49248         * tests/test-rbtreehash_list.c: New file.
49249         * tests/test-avltree_oset.c: New file.
49250         * tests/test-rbtree_oset.c: New file.
49251         * MODULES.html.sh (Container data structures): New section.
49252
49253 2006-07-17  Bruno Haible  <bruno@clisp.org>
49254
49255         * m4/gl_list.m4: New file.
49256
49257 2006-07-17  Bruno Haible  <bruno@clisp.org>
49258
49259         * lib/gl_list.h: New file.
49260         * lib/gl_list.c: New file.
49261         * lib/gl_array_list.h: New file.
49262         * lib/gl_array_list.c: New file.
49263         * lib/gl_carray_list.h: New file.
49264         * lib/gl_carray_list.c: New file.
49265         * lib/gl_linked_list.h: New file.
49266         * lib/gl_linked_list.c: New file.
49267         * lib/gl_anylinked_list1.h: New file.
49268         * lib/gl_anylinked_list2.h: New file.
49269         * lib/gl_avltree_list.h: New file.
49270         * lib/gl_avltree_list.c: New file.
49271         * lib/gl_anyavltree_list1.h: New file.
49272         * lib/gl_anyavltree_list2.h: New file.
49273         * lib/gl_rbtree_list.h: New file.
49274         * lib/gl_rbtree_list.c: New file.
49275         * lib/gl_anyrbtree_list1.h: New file.
49276         * lib/gl_anyrbtree_list2.h: New file.
49277         * lib/gl_anytree_list1.h: New file.
49278         * lib/gl_anytree_list2.h: New file.
49279         * lib/gl_linkedhash_list.h: New file.
49280         * lib/gl_linkedhash_list.c: New file.
49281         * lib/gl_anyhash_list1.h: New file.
49282         * lib/gl_anyhash_list2.h: New file.
49283         * lib/gl_avltreehash_list.h: New file.
49284         * lib/gl_avltreehash_list.c: New file.
49285         * lib/gl_rbtreehash_list.h: New file.
49286         * lib/gl_rbtreehash_list.c: New file.
49287         * lib/gl_anytreehash_list1.h: New file.
49288         * lib/gl_anytreehash_list2.h: New file.
49289
49290         * lib/gl_oset.h: New file.
49291         * lib/gl_oset.c: New file.
49292         * lib/gl_array_oset.h: New file.
49293         * lib/gl_array_oset.c: New file.
49294         * lib/gl_avltree_oset.h: New file.
49295         * lib/gl_avltree_oset.c: New file.
49296         * lib/gl_rbtree_oset.h: New file.
49297         * lib/gl_rbtree_oset.c: New file.
49298         * lib/gl_anytree_oset.h: New file.
49299
49300 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
49301
49302         * m4/mkancesdirs.m4: New file.
49303         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
49304         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
49305         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
49306         it.
49307
49308 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
49309
49310         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
49311         * lib/mkancesdirs.h: New files.
49312         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
49313         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
49314         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
49315         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
49316         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
49317         callers changed.  Revamp internals significantly, by not
49318         attempting to create directories that are temporarily more
49319         permissive than the final results.  Do not attempt to use
49320         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
49321         This removes some race conditions, fixes some bugs, and simplifies
49322         things.  Use new dirchownmod function to do owner and mode changes.
49323         * lib/mkdir-p.h: Likewise.
49324         * lib/modechange.c (octal_to_mode): New function.
49325         (struct mode_change): New member mentioned.
49326         (make_node_op_equals): New arg mentioned.  All callers changed.
49327         (mode_compile): Keep track of which mode bits the user has explicitly
49328         mentioned.
49329         (mode_adjust): New arg DIR, so that we implement the X op correctly.
49330         New arg PMODE_BITS, to keep track of which mode bits the user
49331         mentioned; it treats S_ISUID and S_ISGID speciall.
49332         All callers changed.
49333         * lib/modechange.h: Likewise.
49334
49335 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
49336
49337         * MODULES.html.sh: Add mkancestors.
49338         * modules/mkancesdirs: New module.
49339         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
49340         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
49341         The chdir-safer and afs files are now orphans; I'll remove them
49342         unless someone speaks up.
49343         Add lib/dirchownmod.c, lib/dirchownmod.h.
49344         (Depends-on): Remove alloca, chown, save-cwd, dirname.
49345         Add lchown, mkancesdirs.
49346         (Maintainer): Add self.
49347
49348 2006-07-15  Karl Berry  <karl@gnu.org>
49349
49350         * gnulib-tool: help message wording/arrangement.
49351
49352 2006-07-14  Simon Josefsson  <jas@extundo.com>
49353
49354         * doc/gnulib.texi (Libtool and Windows): New section.
49355
49356 2006-07-12  Simon Josefsson  <jas@extundo.com>
49357
49358         * modules/gendocs (License): Fix license, approved by Karl.
49359
49360 2006-07-12  Eric Blake  <ebb9@byu.net>
49361
49362         * MODULES.html.sh: Add gendocs.
49363
49364 2006-07-11  Eric Blake  <ebb9@byu.net>
49365
49366         * modules/fdl: New module, to install doc/fdl.texi.
49367         * MODULES.html.sh: Add new section for documentation modules.
49368         * gnulib-tool: Avoid space-tab.
49369         (--doc-base): New option, to manage files from doc.
49370
49371 2006-07-11  Eric Blake  <ebb9@byu.net>
49372
49373         * m4/absolute-header.m4: Fix comments to match recent change.
49374
49375 2006-07-11  Eric Blake  <ebb9@byu.net>
49376
49377         * gnulib-tool: List --doc-base before --tests-base.
49378
49379 2006-07-11  Derek R. Price  <derek@ximbiot.com>
49380
49381         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
49382
49383 2006-07-11  Bruno Haible  <bruno@clisp.org>
49384
49385         * README: Mention where to put documentation.
49386
49387 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49388
49389         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
49390
49391 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
49392
49393         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
49394         to stdint.m4.
49395
49396 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
49397
49398         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
49399         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
49400         "no/such/file/stdint.h" when there is no such file, so that
49401         the resulting C code can be parsed by dodgy compilers.
49402         Problems reported by Bob Proulx.
49403
49404 2006-07-10  Derek R. Price  <derek@ximbiot.com>
49405
49406         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
49407         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
49408         macros into the GNU _D_EXACT_NAMLEN.
49409         * lib/savedir.c:  Likewise.
49410         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
49411
49412 2006-07-10  Derek R. Price  <derek@ximbiot.com>
49413         and Paul Eggert  <eggert@cs.ucla.edu>
49414
49415         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
49416         * m4/savedir.m4:
49417         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
49418         macros into the GNU _D_EXACT_NAMLEN.
49419
49420 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
49421
49422         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
49423         around the absolute name, to work around a problem with the HP-UX
49424         11.23 native C compiler, reported by Bob Proulx.
49425
49426 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
49427
49428         * doc/maintain.texi, make-stds.texi: Sync from
49429         <http://savannah.gnu.org/projects/gnustandards>.
49430
49431 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
49432
49433         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
49434
49435 2006-07-09  Jim Meyering  <jim@meyering.net>
49436
49437         * m4/glob.m4: Remove a doubled word in a comment.
49438
49439 2006-07-09  Jim Meyering  <jim@meyering.net>
49440
49441         * lib/argp-pv.c: Remove a doubled word in a comment.
49442         * lib/check-version.c (check_version): Likewise.
49443         * lib/javacomp.c (compile_java_class): Likewise.
49444
49445 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
49446
49447         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
49448         for the benefit of people using Autoconf 2.60.  If you want to
49449         support older Autoconf versions you can copy m4/onceonly_2_57.m4
49450         (or m4/onceonly.m4, if pre-2.57) manually.
49451
49452 2006-07-08  Jim Meyering  <jim@meyering.net>
49453
49454         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
49455         comment.
49456         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
49457         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
49458         comment.
49459
49460 2006-07-08  Jim Meyering  <jim@meyering.net>
49461
49462         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
49463
49464 2006-07-07  Simon Josefsson  <jas@extundo.com>
49465
49466         * tests/test-crc.c: Change expected crc value, the test vector
49467         were probably computed using the old broken crc.c?
49468
49469 2006-07-06  Simon Josefsson  <jas@extundo.com>
49470
49471         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
49472         now the canonical place for the M4 file).
49473
49474         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
49475         from the sys_socket dependency now.
49476
49477         * modules/inet_pton (Files): Ditto.
49478
49479         * modules/inet_ntop (Files): Ditto.
49480
49481 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
49482
49483         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
49484         not gl_PREREQ_GETUSERSHELL.
49485
49486 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49487
49488         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
49489         with only one argument, for Autoconf 2.60.
49490         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
49491         expand to nothing, so add a shell command to avoid syntax error.
49492         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
49493
49494 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49495
49496         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
49497
49498 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
49499
49500         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
49501         no longer needed.  Check for isblank decl.
49502         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
49503         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
49504         of existence.
49505
49506 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
49507
49508         * lib/getloadavg.c: Use __VMS, not VMS.
49509         * lib/getopt.c: Likewise.
49510         * lib/getpagesize.h: Likewise.
49511         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
49512         and probably does not work.
49513
49514 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
49515
49516         * lib/.cppi-disable: Add wcwidth.
49517         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
49518         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
49519         (ISGRAPH): Remove.  All uses changed to isgraph.
49520         (FOLD) [!defined _LIBC]: Remove special case.
49521         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
49522         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
49523         HAVE_ISBLANK.
49524         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
49525         case.
49526
49527 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
49528
49529         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
49530         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
49531         brackets.  Other minor changes to suppress some compiler
49532         warnings.
49533
49534 2006-07-06  Derek R. Price  <derek@ximbiot.com>
49535         and Paul Eggert  <eggert@cs.ucla.edu>
49536
49537         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
49538         of invoking obsolescent AC_HEADER_DIRENT macro.
49539         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
49540         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
49541         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
49542         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
49543         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
49544         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
49545         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
49546         * m4/readdir.m4: Remove; no longer needed.
49547
49548 2006-07-06  Derek R. Price  <derek@ximbiot.com>
49549         and Paul Eggert  <eggert@cs.ucla.edu>
49550
49551         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
49552         Don't worry about this obsolete case any more.
49553         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
49554         directories.
49555         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
49556         worry about this obsolete case any more.
49557         * lib/fts.c: Likewise.
49558         * lib/getcwd.c: Likewise.
49559         * lib/glob.h: Likewise.
49560         * lib/savedir.c: Likewise.
49561
49562 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
49563
49564         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
49565         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
49566         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
49567         needed.
49568         All uses removed.
49569         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
49570         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
49571         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
49572         needed.
49573         * m4/getdate.m4 (gl_GETDATE): Likewise.
49574         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
49575         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
49576         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
49577         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
49578         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
49579         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
49580         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
49581         needed.
49582
49583 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
49584
49585         * lib/memcasecmp.c: Include <limits.h>.
49586         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
49587         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
49588         Don't assume isdigit succeeds only on '0' through '9'.
49589
49590 2006-07-05  Eric Blake  <ebb9@byu.net>
49591
49592         * modules/getaddrinfo (Depends-on): Add snprintf.
49593
49594 2006-07-05  Eric Blake  <ebb9@byu.net>
49595
49596         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
49597         to avoid 'header present but could not be compiled' on cygwin.
49598
49599 2006-07-05  Eric Blake  <ebb9@byu.net>
49600
49601         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
49602         missing from netdb.h.
49603         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
49604
49605 2006-07-05  Derek R. Price  <derek@ximbiot.com>
49606
49607         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
49608         no longer needed.
49609         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
49610         * m4/getdate.m4 (gl_GETDATE): Likewise.
49611         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
49612         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
49613         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
49614         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
49615         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
49616
49617 2006-07-05  Derek R. Price  <derek@ximbiot.com>
49618
49619         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
49620         All uses of is_space replaced by isspace.
49621         * lib/exit.h: Don't talk about STDC_HEADERS.
49622         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
49623         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
49624         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
49625         replaced by isprint etc.
49626         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
49627         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
49628         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
49629         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
49630         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
49631         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
49632
49633 2006-07-05  Bruno Haible  <bruno@clisp.org>
49634
49635         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
49636         the function exists, before testing against AIX.
49637         Reported by Martin Lambers <marlam@marlam.de>.
49638
49639 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
49640
49641         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
49642         From Mark D. Baushke.
49643
49644 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
49645
49646         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
49647         to the absolute name, not just one, to bypass Sun C 5.8's
49648         "warning: #include of /usr/include/... may be non-portable".
49649
49650 2006-07-04  Eric Blake  <ebb9@byu.net>
49651
49652         * modules/dirname-tests: New test module.
49653         * tests/test-dirname.c: New file, replacing dirname.c
49654         TEST_DIRNAME section that was recently deleted.
49655
49656 2006-07-04  Bruno Haible  <bruno@clisp.org>
49657
49658         Assume ANSI C header files and <ctype.h> functions.
49659         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
49660         (mbsnwidth): Use isprint, iscntrl instead.
49661
49662 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
49663
49664         Merge from coreutils.
49665         * MODULES.html.sh: Add xstrtold.
49666         * modules/xstrtold: New file.
49667         * modules/cycle-check (Files): Add lib/same-inode.h.
49668         * modules/dirname (Files): Add m4/double-slash-root.m4.
49669         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
49670         * modules/mkdir-p (Files): Add lib/same-inode.h.
49671         * modules/same (Files): Add lib/same-inode.h.
49672
49673 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
49674
49675         * m4/absolute-header.m4: Renamed from full-header-path.m4.
49676         This is to keep the terminology clean; POSIX talks about
49677         "absolute pathnames", not "full pathnames", but the GNU
49678         Coding Standards say to use "path" for something else;
49679         so use "absolute" to keep both sides happy.
49680         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
49681         Set gl_absolute_header, not gl_full_header_path.
49682         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
49683         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
49684         All uses changed.
49685
49686         Merge from coreutils.
49687
49688         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
49689
49690         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
49691         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
49692         want to require the building of c-strtod.o.
49693         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
49694         needs -lm directly.
49695         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
49696
49697         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
49698
49699         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
49700         --as-needed option if available.  Problem reported by Albert Chin in
49701         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
49702         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
49703         cc merely issues a bunch of annoying warnings for --as-needed
49704         (this problem was reported by Bob Proulx).  Also, try linking with
49705         -lm to detect a bug in binutils 2.16 (this problem was reported
49706         by Ralf Wildenhues).
49707
49708         2006-06-18  Jim Meyering  <jim@meyering.net>
49709
49710         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
49711         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
49712         macro.
49713         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
49714         also check for glibc-2.4's abort-inducing bug.
49715
49716         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
49717         Low-probability clean-up should be to use rmdir to get rid of
49718         the just-created directory, not unlink.
49719
49720         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
49721         configure fail, and request a bug report to inform us about it.
49722         Add a comment that, barring reports to the contrary, in 2007 we'll
49723         assume ftruncate is universally available.
49724
49725         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
49726
49727         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
49728
49729         2006-03-12  Jim Meyering  <jim@meyering.net>
49730
49731         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
49732         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
49733         * m4/same.m4 (gl_SAME): Likewise.
49734         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
49735
49736         2006-03-11  Eric Blake  <ebb9@byu.net>
49737
49738         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
49739         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
49740         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
49741         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
49742
49743 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
49744
49745         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
49746         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
49747         reported by Mark D. Baushke, one in
49748         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
49749
49750         Merge from coreutils.
49751
49752         * lib/.cppi-disable: Add stdint_.h.
49753         * lib/.cvsignore: Add stdint.h.
49754
49755         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
49756
49757         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
49758         both double and long double versions.
49759         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
49760         * lib/xstrtold.c: New file.
49761         * lib/xstrtod.h (xstrtold): New decl.
49762
49763         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
49764
49765         * lib/filemode.c (setst): Remove.
49766         (strmode): Rewrite to avoid setst.  This makes the code shorter,
49767         (arguably) clearer, and the generated code is a bit smaller on my
49768         Debian GNU/Linux stable x86 host.
49769
49770         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
49771
49772         * lib/filemode.c: Include "filemode.h" first, to test the interface.
49773         Assume that filemode.h includes sys/types.h and sys/stat.h.
49774         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
49775         (ftypelet): Reorder to put common cases first, for efficiency.
49776         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
49777         to do 'M'.
49778         (strmode): Renamed from mode_string, and now stores 12 bytes instead
49779         of 10, for compatibility with FreeBSD.  All callers changed.
49780         (filemodestring): Now stores 12 bytes instead of 10, and sets file
49781         types that can't be deduced solely from st_mode.  First arg is now a
49782         const pointer.
49783         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
49784         (strmode): Renamed from mode_string.
49785         (filemodestring): New decl.
49786         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
49787         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
49788         needed.
49789         (S_ISPORT, S_ISWHT): New macros, if not already defined.
49790
49791         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
49792
49793         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
49794         fsusage.h now does that.  Include fsusage.h first, to test interface.
49795         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
49796         at most one method (the old code could have generated decls that
49797         didn't conform to C89, not that this was ever exercised).
49798         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
49799
49800         2006-03-19  Jim Meyering  <jim@meyering.net>
49801
49802         Work even in a chroot where d_ino values for entries in "/"
49803         don't match the stat.st_ino values for the same names.
49804         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
49805         number, iterate through all entries again, using lstat instead.
49806         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
49807         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
49808
49809         * lib/getcwd.c (__getcwd): Clarify a comment.
49810         Use memcpy in place of a call to strcpy.
49811
49812         2006-03-12  Jim Meyering  <jim@meyering.net>
49813
49814         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
49815         matches that of the current directory (which we're about to chdir ".."
49816         out of), then save the dev-ino of the parent, instead.
49817
49818         * lib/same-inode.h (SAME_INODE): New file/macro.
49819         * lib/chdir-safer.c (SAME_INODE): Remove definition.
49820         Include "same-inode.h", instead.
49821         * lib/same.c: Likewise.
49822         * lib/cycle-check.h: Include "same-inode.h".
49823         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
49824         * lib/cycle-check.c (SAME_INODE): Remove definition.
49825         * lib/root-dev-ino.h: Include "same-inode.h".
49826
49827         2006-03-11  Eric Blake  <ebb9@byu.net>
49828
49829         * lib/same.c (same_name): s/base_name/last_component/
49830         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
49831         * lib/filenamecat.c (file_name_concat): Likewise.
49832
49833         2006-03-11  Eric Blake  <ebb9@byu.net>,
49834                     Paul Eggert  <eggert@cs.ucla.edu>
49835
49836         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
49837         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
49838         drive prefix.
49839         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
49840         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
49841         (last_component): New method.
49842         * lib/dirname.c (dir_len): Determine when drive letters need a
49843         subsequent slash.  Preserve // when it is special.
49844         (dir_name): Don't append dot when drive letter is absolute.
49845         [TEST_DIRNAME]: Move into a full-blown gnulib test.
49846         * lib/basename.c (base_name): New semantics - malloc the result.
49847         Preserve // when it is special.  Preserve relative files that look
49848         like drive letters.
49849         (base_len): Preserve // when it is special.
49850         (last_component): New method, similar to old base_name semantics.
49851         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
49852         base_name.  Strip redundant slashes from ///.
49853
49854 2006-07-03  Jim Meyering  <jim@meyering.net>
49855
49856         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
49857         macro is used before the first cycle_check call.
49858
49859 2006-07-03  Eric Blake  <ebb9@byu.net>
49860
49861         * modules/dirname (Depends-on): Add xstrndup.
49862
49863 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
49864
49865         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
49866         test cases, so that config.log is a bit easier to follow.
49867
49868 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
49869
49870         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
49871         both are 64 bits, since this seems to be the tradition, and this
49872         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
49873         we ever run into a host that prefers long long to long in this
49874         case, we'll need another configure-time test.  Problem reported by
49875         Jim Meyering.
49876
49877 2006-07-02  Eric Blake  <ebb9@byu.net>
49878
49879         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
49880
49881 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
49882
49883         * modules/inttypes (Depends-on): No longer depends on stdint.
49884         * modules/stdint (Description): Say more about assumptions.
49885         Say that the fast types might differ.  Say macros are used.
49886         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
49887         (Makefile.am): Revise list of substituted symbols to match
49888         new stdint.m4.
49889         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
49890         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
49891         * tests/test-stdint.c (verify_same_types)
49892         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
49893         the code conforms to C99/C89.
49894         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
49895         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
49896
49897 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
49898
49899         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
49900         but fix a bug, by requiring at least 64 bits.
49901         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
49902         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
49903         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
49904         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
49905
49906         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
49907         changes.  Make 2.59 a prerequisite.  Check and substitute for
49908         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
49909         inttypes.h.  Do not use special include files; just use the
49910         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
49911         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
49912         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
49913         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
49914         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
49915         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
49916         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
49917         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
49918         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
49919         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
49920         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
49921         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
49922         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
49923         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
49924         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
49925         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
49926         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
49927         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
49928         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
49929         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
49930         WINT_MAX.  Check for C99 conformance more strictly, by detecting
49931         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
49932         not check for things that C99 does not require, e.g., int8_t.  If
49933         a test isn't needed unless <stdint.h> isn't working, and is
49934         unlikely to be needed for any other reason, then don't do it
49935         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
49936         size_t, since we assume C89 freestanding at least.  Do not check
49937         for sig_atomic_t, wchar_t, or wint_t, since the code now does
49938         the right thing even if the types are not defined.  Instead use:
49939         (gl_STDINT_TYPE_PROPERTIES): New macro.
49940         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
49941         testing whether <sys/types.h> clashes, as Autoconf does this for
49942         us now.  All uses removed.
49943         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
49944         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
49945         (gl_CHECK_TYPE_SAME):
49946         Remove; no longer needed.
49947         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
49948         exists, since we'll return 0 anyway in that case.
49949         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
49950
49951 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
49952
49953         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
49954         possible collision with system files.
49955         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
49956         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
49957         WCHAR_MIN and WCHAR_MAX in this case.
49958         (<stddef.h>): Do not include; no longer needed.
49959         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
49960         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
49961         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
49962         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
49963         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
49964         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
49965         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
49966         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
49967         !defined(__c99))]: Include in this case too, since it's harmless
49968         now.
49969         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
49970         dangerous to do so.
49971         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
49972         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
49973         (_STDINT_MIN, _STDINT_MAX): New macros.
49974         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
49975         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
49976         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
49977         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
49978         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
49979         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
49980         macros, not typedefs; this simplifies things quite a bit.
49981         Use long int for all types narrower than int64_t.
49982         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
49983         Define in terms of long long int or int64_t or long int,
49984         not int64_t or int32_t.  This saves some compile-time testing.
49985         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
49986         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
49987         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
49988         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
49989         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
49990         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
49991         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
49992         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
49993         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
49994         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
49995         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
49996         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
49997         undef any previous version and define our own version, for
49998         simplicity and consistency with the new macros for types.
49999         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
50000         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
50001         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
50002         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
50003         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
50004         @WINT_T_SUFFIX@ to keep things simple here.
50005         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
50006         Simplify by assuming typical 8/16/32/64 host, since we're
50007         already doing that elsewhere anyway.
50008         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
50009         and assume long long int is 64 bits if available.  This
50010         speeds up 'configure'.
50011
50012 2006-07-01  Eric Blake  <ebb9@byu.net>
50013
50014         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
50015         Reported by Andreas Buening.
50016
50017 2006-07-01  Eric Blake  <ebb9@byu.net>
50018
50019         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
50020
50021 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
50022
50023         * lib/getaddrinfo.c: fixed typo
50024
50025 2006-06-29  Jim Meyering  <jim@meyering.net>
50026
50027         * modules/strftime (Maintainer): Add my name, since with the
50028         FPRINTFTIME changes strftime.c has forked from glibc.
50029
50030 2006-06-29  Eric Blake  <ebb9@byu.net>
50031
50032         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
50033
50034 2006-06-29  Eric Blake  <ebb9@byu.net>
50035
50036         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
50037
50038 2006-06-29  Eric Blake  <ebb9@byu.net>
50039
50040         * lib/stat_.h: New file.
50041
50042 2006-06-29  Eric Blake  <ebb9@byu.net>
50043
50044         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
50045         unused static function.
50046
50047 2006-06-29  Eric Blake  <ebb9@byu.net>
50048
50049         * doc/functions.texi (Function Portability): Document missing lstat
50050         on mingw.
50051
50052 2006-06-29  Eric Blake  <ebb9@byu.net>
50053
50054         * MODULES.html.sh: Add sys_stat.
50055         * modules/sys_stat: New module.
50056         * modules/mkstemp (Depends-on): Add sys_stat.
50057
50058 2006-06-29  Derek R. Price  <derek@ximbiot.com>
50059
50060         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
50061
50062 2006-06-29  Derek R. Price  <derek@ximbiot.com>
50063
50064         * m4/c-bs-a.m4: Removed.
50065
50066 2006-06-29  Derek R. Price  <derek@ximbiot.com>
50067
50068         * lib/strftime.c: Assume strftime() exists.
50069
50070 2006-06-29  Derek Price  <derek@ximbiot.com>
50071
50072         * modules/c-bs-a: Removed - \a is C89.
50073         * MODULES.html.sh: Remove c-bs-a.
50074
50075 2006-06-29  Bruno Haible  <bruno@clisp.org>
50076
50077         * modules/wcwidth (License): Change to LGPL.
50078
50079 2006-06-28  Simon Josefsson  <jas@extundo.com>
50080
50081         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
50082         on _WIN32.
50083
50084         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
50085         getnameinfo.
50086
50087 2006-06-28  Simon Josefsson  <jas@extundo.com>
50088
50089         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
50090
50091 2006-06-28  Simon Josefsson  <jas@extundo.com>
50092
50093         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
50094         functions there.  It will succeed on Windows XP, but on Windows
50095         2000 and (presumably) earlier, it will fail, and use the internal
50096         re-implementation.
50097         (use_win32_p): New function.
50098         (getaddrinfo): Use strtoul on servname, to support numeric ports.
50099         Support AI_NUMERICSERV to disable getservbyname.
50100         (getnameinfo): New function, only supports
50101         NI_NUMERICHOST|NI_NUMERICSERV for now.
50102
50103         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
50104         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
50105         getnameinfo.
50106
50107 2006-06-28  Eric Blake  <ebb9@byu.net>
50108
50109         * modules/wcwidth: New file.
50110         * modules/mbchar (Depends-on): Add wcwidth.
50111         * modules/mbswidth (Depends-on): Add wcwidth.
50112         * MODULES.html.sh: Add wcwidth.
50113
50114 2006-06-28  Eric Blake  <ebb9@byu.net>
50115
50116         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
50117         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
50118
50119 2006-06-28  Eric Blake  <ebb9@byu.net>
50120
50121         * lib/xvasprintf.h: Fix comments.
50122
50123 2006-06-28  Eric Blake  <ebb9@byu.net>
50124
50125         * lib/mbchar.h (wcwidth): Include wcwidth.h.
50126         * lib/mbswidth.c (wcwidth): Move from here...
50127         * lib/wcwidth.h: ...to this new file.
50128
50129 2006-06-28  Derek R. Price  <derek@ximbiot.com>
50130
50131         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
50132
50133         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
50134         it's obsolete.
50135         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
50136
50137 2006-06-28  Derek R. Price  <derek@ximbiot.com>
50138
50139         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
50140         Autoconf 2.60 says this stuff was obsolete.
50141
50142 2006-06-28  Bruno Haible  <bruno@clisp.org>
50143
50144         * modules/wcwidth (Files): Add m4/wchar_t.m4.
50145
50146 2006-06-28  Bruno Haible  <bruno@clisp.org>
50147
50148         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
50149         gt_TYPE_WCHAR_T.
50150
50151 2006-06-28  Bruno Haible  <bruno@clisp.org>
50152
50153         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
50154         declaration for wcwidth.
50155         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
50156
50157 2006-06-28  Bruno Haible  <bruno@clisp.org>
50158
50159         * lib/mkdtemp.c [MINGW]: Include <io.h>.
50160         (mkdir): Define using _mkdir.
50161
50162 2006-06-28  Bruno Haible  <bruno@clisp.org>
50163
50164         * lib/getaddrinfo.h: Fix POSIX URL.
50165         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
50166         _WIN32.
50167         (use_win32_p): Make static.
50168         (getaddrinfo): Reject service name if it is empty or does not consist
50169         solely of decimal digits, or if its value is > 65535.
50170         (getnameinfo): Remove useless casts.
50171
50172 2006-06-27  Simon Josefsson  <jas@extundo.com>
50173
50174         * modules/sys_select: New file, suggested by Bruno Haible, Paul
50175         Eggert and Martin Lambers.
50176
50177 2006-06-27  Simon Josefsson  <jas@extundo.com>
50178
50179         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
50180         Eggert and Martin Lambers.
50181
50182 2006-06-27  Bruno Haible  <bruno@clisp.org>
50183
50184         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
50185         result to 0, not to empty.
50186         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
50187
50188 2006-06-27  Bruno Haible  <bruno@clisp.org>
50189
50190         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
50191
50192 2006-06-26  Simon Josefsson  <jas@extundo.com>
50193
50194         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
50195         present.
50196
50197 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
50198
50199         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
50200         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
50201         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
50202
50203 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
50204
50205         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
50206
50207 2006-06-26  Bruno Haible  <bruno@clisp.org>
50208
50209         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
50210
50211 2006-06-26  Bruno Haible  <bruno@clisp.org>
50212
50213         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
50214
50215 2006-06-26  Bruno Haible  <bruno@clisp.org>
50216
50217         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
50218         SGI C compiler in pre-C99 mode.
50219         Suggested by Mark D. Baushke and Larry Jones.
50220
50221 2006-06-26  Bruno Haible  <bruno@clisp.org>
50222
50223         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
50224         WCHAR_MAX.
50225         Reported by Mark D. Baushke and Larry Jones.
50226
50227 2006-06-26  Bruno Haible  <bruno@clisp.org>
50228
50229         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
50230         in pre-C99 mode.
50231         Suggested by Mark D. Baushke and Larry Jones.
50232
50233 2006-06-23  Simon Josefsson  <jas@extundo.com>
50234             Bruno Haible  <bruno@clisp.org>
50235
50236         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
50237         Emit mostlyclean-local rule.
50238         (func_emit_tests_Makefile_am): Likewise.
50239         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
50240
50241 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
50242
50243         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
50244
50245 2006-06-23  Bruno Haible  <bruno@clisp.org>
50246
50247         * tests/test-stdint.c: Update to match ISO C 99 Technical
50248         Corrigendum 1.
50249
50250 2006-06-23  Bruno Haible  <bruno@clisp.org>
50251
50252         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
50253
50254 2006-06-23  Bruno Haible  <bruno@clisp.org>
50255
50256         * lib/stdint_.h: Treat IRIX like OpenBSD.
50257
50258 2006-06-23  Bruno Haible  <bruno@clisp.org>
50259
50260         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
50261         ISO C 99 Technical Corrigendum 1.
50262
50263 2006-06-22  Simon Josefsson  <jas@extundo.com>
50264
50265         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
50266         MinGW.
50267
50268 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
50269
50270         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
50271         needed.  Some compiler complained about some of them.  Problem reported
50272         by Larry Jones in
50273         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
50274
50275 2006-06-21  Simon Josefsson  <jas@extundo.com>
50276
50277         * tests/test-getaddrinfo.c: New file.
50278
50279         * modules/getaddrinfo-tests: New file.
50280
50281         * MODULES.html.sh: Add inet_pton.
50282
50283         * modules/inet_pton: New file.
50284
50285 2006-06-21  Simon Josefsson  <jas@extundo.com>
50286
50287         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
50288         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
50289         of using the (limited) gnulib implementation on Windows XP.
50290
50291         * m4/inet_pton.m4: New file.
50292
50293 2006-06-21  Simon Josefsson  <jas@extundo.com>
50294
50295         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
50296         variable.
50297
50298         * lib/socket_.h: Don't define WINVER.
50299
50300         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
50301         slightly modified to work in gnulib.
50302
50303 2006-06-21  Simon Josefsson  <jas@extundo.com>
50304
50305         * doc/gnulib.texi (Windows sockets): Add.
50306
50307 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
50308
50309         * lib/read-file.c (fread_file): Start with buffer allocation of
50310         0 bytes rather than 1 byte; this simplifies the code.
50311         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
50312         code to free buffer and save/restore errno.
50313         (internal_read_file): Remove unused local.
50314
50315 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
50316
50317         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
50318         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
50319         Problem reported by Denis Excoffier in
50320         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
50321
50322 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50323
50324         * modules/sys_socket, modules/socklen: Include sys/types since
50325         FreeBSD 4.x's sys/socket.h needs it.
50326
50327 2006-06-19  Simon Josefsson  <jas@extundo.com>
50328
50329         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
50330
50331 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
50332
50333         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
50334
50335 2006-06-19  Bruno Haible  <bruno@clisp.org>
50336
50337         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
50338         and FULL_PATH_INTTYPES_H in angle brackets.
50339         Reported by Mark D. Baushke <mdb@gnu.org>.
50340
50341 2006-06-17  Eric Blake  <ebb9@byu.net>
50342
50343         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
50344         errno.
50345
50346 2006-06-17  Bruno Haible  <bruno@clisp.org>
50347
50348         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
50349         <sys/inttypes.h>.
50350
50351 2006-06-17  Bruno Haible  <bruno@clisp.org>
50352
50353         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
50354         whether errno is declared. Assume <errno.h> declares errno.
50355
50356 2006-06-17  Bruno Haible  <bruno@clisp.org>
50357
50358         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
50359
50360 2006-06-17  Bruno Haible  <bruno@clisp.org>
50361
50362         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
50363         problem on Solaris 2.5.1.
50364
50365 2006-06-16  Eric Blake  <ebb9@byu.net>
50366
50367         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
50368         * lib/unicodeio.c [!defined errno]: Likewise.
50369         * lib/strtol.c [!defined errno]: Likewise.
50370         * lib/strtod.c [!defined errno]: Likewise.
50371
50372 2006-06-15  Eric Blake  <ebb9@byu.net>
50373
50374         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
50375
50376 2006-06-15  Eric Blake  <ebb9@byu.net>
50377
50378         * config/srclist.txt (ssize_t.m4): Lose sync.
50379
50380 2006-06-15  Bruno Haible  <bruno@clisp.org>
50381
50382         * modules/stdint (Files): Include m4/full-header-path.m4,
50383         m4/size_max.m4, m4/wchar_t.m4.
50384         (Makefile.am): Many more substitutions.
50385         * modules/stdint-tests: New file.
50386         * tests/test-stdint.c: New file.
50387
50388 2006-06-15  Bruno Haible  <bruno@clisp.org>
50389
50390         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
50391         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
50392         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
50393         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
50394         gl_CHECK_TYPE_SAME): New macros.
50395
50396 2006-06-15  Bruno Haible  <bruno@clisp.org>
50397
50398         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
50399
50400 2006-06-15  Bruno Haible  <bruno@clisp.org>
50401
50402         * lib/stdint_.h: Rewritten to be fully auto-configured.
50403         Fixes bug on HP-UX/IA64.
50404
50405 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
50406
50407         * lib/getdate.y (__attribute__): Don't define if already defined.
50408         Problem reported by Larry Jones.
50409         * lib/utimens.c (__attribute__): Likewise.
50410
50411 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
50412
50413         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
50414         reported by Andreas Schwab.
50415
50416 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50417             Bruno Haible  <bruno@clisp.org>
50418
50419         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
50420         check for the declaration of strnlen and a run test that exposes the
50421         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
50422         rpl_strndup.
50423
50424 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50425             Bruno Haible  <bruno@clisp.org>
50426
50427         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
50428
50429 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50430
50431         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
50432         compile test, for Tru64 4.0D.
50433
50434 2006-05-28  Karl Berry  <karl@gnu.org>
50435
50436         * config/srclist.txt (printf-args.c): lose sync.
50437
50438 2006-05-26  Martin Lambers  <marlam@marlam.de>
50439
50440         * lib/getpass.c: Updates the test for the native W32 API, and adds
50441         missing includes, thus fixing compilation warnings.
50442
50443 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
50444
50445         * lib/exclude.c (exclude_fnmatch): New function.
50446         (excluded_file_name): Call exclude_fnmatch.
50447         * lib/exclude.h (excluded_file_name): New prototype
50448
50449 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
50450
50451         * lib/tempname.c (small_open, large_open): New macros.
50452         (__open, __open64) [!_LIBC]: Remove.
50453         (__gen_tempname): Use small_open and large_open instead of __open
50454         and __open64.  This fixes a portability bug on HP-UX 11.11i
50455         reported by Simon Wing-Tang in
50456         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
50457
50458 2006-05-24  Bruno Haible  <bruno@clisp.org>
50459
50460         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
50461         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
50462         Reported by Thorsten Maerz <torte@netztorte.de> via
50463         Aaron Stone <aaron@serendipity.cx>.
50464
50465 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
50466
50467         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
50468         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
50469         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
50470         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
50471         not really conditional on the cache.
50472         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
50473
50474 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
50475
50476         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
50477         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
50478         (my_usleep): Don't mishandle maximum value.
50479
50480 2006-05-19  Jim Meyering  <jim@meyering.net>
50481
50482         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
50483
50484 2006-05-17  Bruno Haible  <bruno@clisp.org>
50485
50486         Cygwin portability.
50487         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
50488
50489 2006-05-17  Bruno Haible  <bruno@clisp.org>
50490
50491         * lib/stdint_.h: Fix recognition of Cygwin.
50492
50493 2006-05-15  Bruno Haible  <bruno@clisp.org>
50494
50495         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
50496         on libtool patch by Ralf Wildenhues.
50497
50498 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
50499
50500         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
50501         test for C99 conformance; (bool) 0.5 is an integer constant
50502         expression, but (bool) -0.5 is not.  Problem reported by Fedor
50503         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
50504
50505 2006-05-11  Simon Josefsson  <jas@extundo.com>
50506
50507         * m4/xvasprintf.m4: Fix obvious typo.
50508
50509 2006-05-11  Jim Meyering  <jim@meyering.net>
50510
50511         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
50512         James Lemley.
50513
50514 2006-05-10  Simon Josefsson  <jas@extundo.com>
50515
50516         * lib/md4.c: Typo fix, update copyright years.
50517         (K1, K2): Don't use L because it turn computations into 64-bit on
50518         64-bit platforms.
50519
50520 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
50521
50522         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
50523         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
50524         unwanted sign propagation, e.g., on hosts with 64-bit int.
50525         There still are some problems with reeelly weird theoretical hosts
50526         (e.g., 33-bit int) but it's not worth worrying about now.
50527         * lib/sha1.c (rol): Likewise.
50528         (K1, K2, K3, K4): Remove unnecessary L suffix.
50529
50530 2006-05-10  Bruno Haible  <bruno@clisp.org>
50531
50532         * lib/des.c: Cast to avoid warnings.
50533
50534 2006-05-09  Bruno Haible  <bruno@clisp.org>
50535
50536         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
50537         (Depends-on): Depend also on xsize, stdarg.
50538         (configure.ac): Add gl_XVASPRINTF.
50539
50540 2006-05-09  Bruno Haible  <bruno@clisp.org>
50541
50542         * m4/xvasprintf.m4: New file.
50543
50544 2006-05-09  Bruno Haible  <bruno@clisp.org>
50545
50546         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
50547         (EOVERFLOW): Define fallback value.
50548         (xstrcat): New function.
50549         (xvasprintf): Recognize the special case of a string concatenation.
50550
50551 2006-05-08  Eric Blake  <ebb9@byu.net>
50552
50553         * gnulib-tool (func_version): Base copyright year on CVS date.
50554         (func_emit_copyright_notice): New function.
50555         (func_emit_lib_Makefile_am): Use it.
50556         (func_emit_tests_Makefile_am): Likewise.
50557         (func_import): Likewise.
50558
50559 2006-05-08  Bruno Haible  <bruno@clisp.org>
50560
50561         * modules/stdarg: New file.
50562         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
50563
50564 2006-05-08  Bruno Haible  <bruno@clisp.org>
50565
50566         * m4/stdarg.m4: New file, from GNU gettext.
50567
50568 2006-05-08  Bruno Haible  <bruno@clisp.org>
50569
50570         * config/srclist.txt (build-aux/config.rpath): different from latest
50571         release.
50572
50573 2006-05-08  Bruno Haible  <bruno@clisp.org>
50574
50575         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
50576
50577 2006-05-05  Jim Meyering  <jim@meyering.net>
50578
50579         * m4/warning.m4: New file, derived from bison's file by the same name.
50580
50581 2006-05-03  Bruno Haible  <bruno@clisp.org>
50582
50583         * lib/stdint_.h: Shorter URL.
50584         * lib/inttypes.h: Likewise.
50585
50586 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
50587
50588         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
50589
50590 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
50591
50592         * lib/verify.h: Document the internals better.  Most of this change
50593         was written by Bruno Haible.
50594
50595 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
50596
50597         * doc/verify.texi: New file, partly based on a proposal by
50598         Bruno Haible.
50599
50600 2006-05-02  Bruno Haible  <bruno@clisp.org>
50601
50602         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
50603         test from here...
50604         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
50605
50606 2006-04-29  Bruno Haible  <bruno@clisp.org>
50607
50608         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
50609         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
50610
50611 2006-04-29  Bruno Haible  <bruno@clisp.org>
50612
50613         * gnulib-tool: Make --update option actually work.
50614
50615 2006-04-29  Bruno Haible  <bruno@clisp.org>
50616
50617         * doc/gcd.texi: New file.
50618         * doc/gnulib.texi: Include it.
50619
50620 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
50621
50622         * lib/getdate.y (get_date): When adding relative date, start with the
50623         initial time, not with the result of the first mktime call.
50624
50625 2006-04-25  Bruno Haible  <bruno@clisp.org>
50626
50627         * gnulib-tool (func_import): Output the include directives in three
50628         blocks, sorted separately.
50629         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50630
50631 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
50632
50633         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
50634         to define main with arguments, for C++.  Reported by Eric Blake.
50635         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
50636         Prefer 'int main ()' to 'int main (void)', for C++.
50637         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
50638         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
50639         for 'main', for C99 and C++.
50640
50641 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
50642
50643         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
50644         Don't assume that exit status -1 is valid.
50645         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
50646         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
50647         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
50648         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
50649         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
50650         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
50651         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
50652         functions can be used without declaring them, or that you can
50653         exit with status -1.
50654         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
50655
50656 2006-04-24  Karl Berry  <karl@gnu.org>
50657
50658         * config/srclist.txt (longdouble.m4): sync lost.
50659
50660 2006-04-24  Eric Blake  <ebb9@byu.net>
50661
50662         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
50663
50664 2006-04-24  Bruno Haible  <bruno@clisp.org>
50665
50666         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
50667         poll() implementation in AIX.
50668         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50669
50670 2006-04-24  Bruno Haible  <bruno@clisp.org>
50671
50672         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
50673         assigned exactly once.
50674
50675 2006-04-23  Claudio Fontana  <claudio@gnu.org>
50676             Bruno Haible  <bruno@clisp.org>
50677
50678         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
50679         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
50680         for AM_CPPFLAGS.
50681
50682 2006-04-23  Bruno Haible  <bruno@clisp.org>
50683
50684         * modules/copy-file: Depend on unistd.
50685         * modules/execute: Likewise.
50686         * modules/fatal-signal: Likewise.
50687         * modules/findprog: Likewise.
50688         * modules/mkdtemp : Likewise.
50689         * modules/pipe: Likewise.
50690         * modules/wait-process: Likewise.
50691
50692 2006-04-23  Bruno Haible  <bruno@clisp.org>
50693
50694         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
50695         condition was already detected.
50696         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50697
50698 2006-04-23  Bruno Haible  <bruno@clisp.org>
50699
50700         * lib/copy-file.c: Include <unistd.h> unconditionally.
50701         * lib/execute.c: Likewise.
50702         * lib/fatal-signal.c: Likewise.
50703         * lib/findprog.c: Likewise.
50704         * lib/mkdtemp.c: Likewise.
50705         * lib/pipe.h: Likewise.
50706         * lib/pipe.c: Likewise.
50707         * lib/wait-process.h: Likewise.
50708
50709 2006-04-23  Bruno Haible  <bruno@clisp.org>
50710
50711         * gnulib-tool (func_usage): Fix --import description. Document
50712         --update.
50713         (func_import): Create temporary file in a temporary directory, if
50714         --dry-run is specified. Silence errors from 'grep' when there are no
50715         m4 files in $m4dir.
50716         (func_create_testdir): Silence errors from 'grep' when there are no
50717         m4 files in $m4dir.
50718         Reported by Karl Berry <karl@freefriends.org>.
50719
50720 2006-04-20  Bruno Haible  <bruno@clisp.org>
50721
50722         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
50723         one argument, so that the code will be portable to Autoconf 2.60.
50724         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
50725         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
50726         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
50727
50728 2006-04-19  Derek Price  <derek@ximbiot.com>
50729             Eric Blake  <ebb9@byu.net>
50730
50731         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
50732         rather than "/full/path.h".  Update comment to match.  Shorten &
50733         generalize m4_translit call via AS_TR_CPP.
50734
50735 2006-04-19  Derek Price  <derek@ximbiot.com>
50736             Eric Blake  <ebb9@byu.net>
50737
50738         * lib/inttypes.h: Correct grammar in comment.
50739
50740 2006-04-18  Derek Price  <derek@ximbiot.com>
50741             Paul Eggert  <eggert@cs.ucla.edu>
50742
50743         * modules/inttypes: New file.
50744         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
50745
50746 2006-04-18  Derek Price  <derek@ximbiot.com>
50747             Paul Eggert  <eggert@cs.ucla.edu>
50748
50749         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
50750         New files.
50751
50752 2006-04-18  Derek Price  <derek@ximbiot.com>
50753             Paul Eggert  <eggert@cs.ucla.edu>
50754
50755         * lib/inttypes.h: New file.
50756         * lib/strtoimax.c: Assume <inttypes.h>.
50757
50758 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
50759
50760         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
50761         isn't mounted.  Problem reported by Kir Kolyshkin.
50762
50763 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
50764
50765         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
50766         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
50767         Derek R. Price.
50768         * lib/regex.h (RE_DUP_MAX): Update comment to match current
50769         implementation.
50770
50771 2006-04-12  Eric Blake  <ebb9@byu.net>
50772
50773         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
50774         is now done automatically by the corresponding Autoconf macro.
50775
50776 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
50777
50778         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
50779         time_r.h.
50780
50781 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
50782
50783         Merge regex changes from libc, removing some of our
50784         POSIX-conformance changes that were rejected and redoing them in a
50785         less-intrusive way.
50786
50787         * lib/regcomp.c (re_compile_internal, init_dfa):
50788         Length arg is now size_t, not Idx.  All uses changed.
50789         (peek_token): Forward decl now says internal_function.
50790         (__re_error_msgid, __re_error_msgid_idx):
50791         Now static rather than extern with attribute_hidden.
50792         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
50793         For some reason libc prefers K&R style defns for external functions.
50794         (regerror) [!defined _LIBC]: Likewise.
50795         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
50796         (seek_collating_symbol_entry, lookup_collation_sequence_value):
50797         (build_range_exp, build_collating_symbol):
50798         Use K&R-style defn.
50799         (re_compile_fastmap): Use '\0' to memset, not 0.
50800         (utf8_sb_map): Make the calculations more obvious.
50801         (init_dfa, parse_bracket_exp, build_charclass_op):
50802         Call calloc and cast result, as glibc does.
50803         (init_word_char, fetch_token, peek_token, peek_token_bracket):
50804         (build_range_exp, build_collating_symbol):
50805         Now internal functions.
50806
50807         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
50808
50809         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
50810         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
50811         Don't depend on VMS; depend on __VMS instead, for POSIX
50812         namespace cleanness.
50813         (regoff_t): Define to ssize_t, not long int.
50814
50815         Remove the REG_ macros named below.  Instead, make the old names
50816         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
50817         __USE_GNU_REGEX.
50818         (REG_BACKSLASH_ESCAPE_IN_LISTS):
50819         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
50820         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
50821         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
50822         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
50823         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
50824         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
50825         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
50826         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
50827         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
50828         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
50829         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
50830         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
50831         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
50832         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
50833         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
50834         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
50835         (REG_NREGS):
50836         Remove.  All uses replaced by the old RE_* names.
50837         (RE_BACKSLASH_ESCAPE_IN_LISTS):
50838         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
50839         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
50840         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
50841         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
50842         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
50843         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
50844         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
50845         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
50846         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
50847         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
50848         Don't bother having these macros be independent of each others'
50849         values, since they no longer exist in the POSIX name space.
50850
50851         Rename the following member names back to their old names,
50852         unless !__USE_GNU_REGEX.  All uses changed back.
50853         (buffer): Renamed from re_buffer.
50854         (allocated): Renamed from re_allocated.
50855         (used): Renamed from re_used.
50856         (syntax): Renamed from re_syntax.
50857         (fastmap): Renamed from re_fastmap.
50858         (translate): Renamed from re_translate.
50859         (can_be_null): Renamed from re_can_be_null.
50860         (regs_allocated): Renamed from re_regs_allocated.
50861         (fastmap_accurate): Renamed from re_fastmap_accurate.
50862         (no_sub): Renamed from re_no_sub.
50863         (not_bol): Renamed from re_not_bol.
50864         (not_eol): Renamed from re_not_eol.
50865         (newline_anchor): Renamed from re_newline_anchor.
50866         (num_regs): Renamed from rm_num_regs.
50867         (start): Renamed from rm_start.
50868         (end): Renamed from rm_end.
50869
50870         (free_state): Move up a bit.
50871
50872         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
50873         #define to be empty.
50874         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
50875         when that is what is intended.
50876         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
50877         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
50878         (MAX): New macro.
50879         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
50880         All uses changed back to re_malloc, etc.  It's now the caller's
50881         responsibility to check for overflow; all callers changed.
50882         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
50883         (re_x2nrealloc): Remove.
50884         (free_state): Remove decl.
50885
50886         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
50887         (re_set_registers, re_exec):
50888         Use K&R-style defn.
50889
50890         2006-01-31  Roland McGrath  <roland@redhat.com>
50891
50892         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
50893         Reported by Mike Frysinger <vapier@gentoo.org>.
50894
50895         2006-01-15  Andreas Jaeger  <aj@suse.de>
50896
50897         [BZ #1950]
50898         * lib/regex_internal.c (re_string_reconstruct): Adjust for
50899         build_wcs_upper_buffer change.
50900         (build_wcs_upper_buffer): Change return type.
50901
50902         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
50903
50904         * lib/regex_internal.h: Include <stdint.h> if available.
50905
50906         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
50907
50908         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
50909
50910         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
50911
50912         * lib/regcomp.c: Adjust for changed secondary hash function.
50913
50914         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
50915
50916         * lib/regex.h: Pretty printing.
50917         Clean up namespace a bit.
50918
50919         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
50920
50921         * lib/regexec.c (update_cur_sifted_state, check_arrival,
50922         check_arrival_add_next_nodes): Avoid using uninitialized variable.
50923
50924         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
50925                     Ulrich Drepper  <drepper@redhat.com>
50926
50927         [BZ #1302]
50928         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
50929         changed.
50930         (bitset_word_t): Renamed from bitset_word.  All uses changed.
50931
50932         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
50933
50934         [BZ #281]
50935         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
50936         * lib/regcomp.c: Remove unnecessary uses of
50937         unsigned RE_TRANSLATE_TYPE.
50938         * lib/regex_internal.h: Likewise.
50939         * lib/regex_internal.c: Likewise.
50940         * lib/regexec.c: Likewise.
50941         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
50942
50943         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
50944
50945         * lib/regexec.c (find_recover_state): Remove unnecessary
50946         initialization.
50947         (transit_state_bkref): Make DFA a const pointer.
50948         (get_subexp): Likewise.
50949         (check_arrival): Likewise.
50950         (update_cur_sifted_state): Likewise.
50951         (re_search_internal): Likewise.
50952         (prune_impossible_nodes): Likewise.
50953         (acquire_init_state_context): Likewise.
50954         (proceed_next_node): Likewise.
50955         (set_regs): Likewise.
50956         (free_fail_stack_return): Likewise.
50957         (check_arrival_expand_ecl): Mark DFA parameter as const.
50958         (check_arrival_expand_ecl_sub): Likewise.
50959         (check_subexp_limits): Likewise.
50960         (sub_epsilon_src_nodes):  Likewise.
50961         (add_epsilon_src_nodes):  Likewise.
50962         (merge_state_array): Likewise.
50963         (update_regs): Likewise.
50964         (build_trtable): Likewise.
50965         (sift_states_backward): Mark MCTX parameter as const.
50966         (build_sifted_states): Likewise.
50967         (update_cur_sifted_state): Likewise.
50968         (sift_states_mkref): Likewise.
50969         (check_arrival_expand_ecl): Mark eclosure as const.
50970         (check_dst_limits_calc_pos_1): Likewise.
50971         * lib/regex_internal.h (re_match_context_t): Make dfa a const
50972         pointer.
50973
50974         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
50975
50976         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
50977         (transit_state_sb): Likewise.
50978         (transit_state_mb): Likewise.
50979         (sift_states_iter_mb): Likewise.
50980         (check_arrival_add_next_nodes): Likewise.
50981         (check_node_accept_bytes): Change first parameter to pointer-to-const.
50982         [_LIBC] (re_search_2_stub): Use mempcpy.
50983
50984         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
50985         mbrtowc for very simple UTF-8 case.
50986
50987         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
50988         a pointer-to-const.
50989         (re_acquire_state_context): Likewise.
50990         * lib/regex_internal.h: Adjust prototypes.
50991
50992         * lib/regex.c: Prevent using C++ compilers.
50993
50994         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
50995         (re_acquire_state_context): Likewise.
50996
50997 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
50998
50999         * modules/regex (Depends-on): Add ssize_t.
51000
51001 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
51002
51003         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
51004         translation table.
51005
51006 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
51007
51008         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
51009
51010 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
51011             Bruno Haible  <bruno@clisp.org>
51012
51013         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
51014         <sys/types.h> and <inttypes.h>.
51015
51016 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51017
51018         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
51019         `__error_t_defined', so argp.h will not typedef the former.
51020
51021 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
51022
51023         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
51024         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
51025         glibc names.  Even if glibc is changed to conform to POSIX, the
51026         traditional names will be available anyway, since regex depends on
51027         the extensions module.  Also, fix a longstanding typo in the
51028         implementation of Spencer ERE test #75 from grep 2.3.  Problems
51029         reported by Emanuele Giaquinta.  Also, change sense of cached
51030         variable, so that the message makes sense.
51031
51032 2006-03-24  Simon Josefsson  <jas@extundo.com>
51033
51034         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
51035         including some doc fixes.
51036         (base64_encode_alloc): Fix +1 bug on allocation failures.
51037
51038 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51039
51040         * lib/base64.c (base64_encode): Do not read past end of array with
51041         unsanitized input on systems with CHAR_BIT > 8.
51042
51043 2006-03-24  Eric Blake  <ebb9@byu.net>
51044
51045         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
51046
51047 2006-03-22  Karl Berry  <karl@gnu.org>
51048
51049         * config/srclist.txt (*setenv.[ch]): get from coreutils.
51050         * config/srclistvars.sh (COREUTILS): new var.
51051
51052 2006-03-17  Jim Meyering  <jim@meyering.net>
51053
51054         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
51055         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
51056
51057 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
51058
51059         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
51060         no longer needs it.  Instead, check that regoff_t is as least
51061         as wide as ptrdiff_t.
51062
51063         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
51064         so that our regex.h stays compatible with the installed regex.
51065         This is helpful for installers who configure --without-included-regex.
51066         Problem reported by Emanuele Giaquinta.
51067
51068 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
51069
51070         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
51071         Typedef to long int, not to off_, as POSIX will likely change
51072         in that direction.
51073
51074 2006-03-15  Eric Blake  <ebb9@byu.net>
51075
51076         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
51077
51078 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
51079
51080         * lib/argp-help.c (validate_uparams): Fix typo
51081         * lib/argp-parse.c (argp_default_options): Consistently begin help
51082         messages with a lowercase letter.
51083
51084 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
51085
51086         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
51087         overrun buffers and shouldn't be used (much as gets shouldn't be
51088         used).
51089         * lib/time_r.c (asctime_r, ctime_r): Likewise.
51090
51091 2006-03-08  Simon Josefsson  <jas@extundo.com>
51092
51093         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
51094         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51095
51096 2006-03-08  Simon Josefsson  <jas@extundo.com>
51097
51098         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
51099         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51100
51101 2006-03-08  Simon Josefsson  <jas@extundo.com>
51102
51103         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
51104         signal that configure disabled the device.
51105
51106 2006-03-08  Simon Josefsson  <jas@extundo.com>
51107
51108         * build-aux/maint.mk: Fix refresh-po, to handle no translated
51109         languages.
51110
51111 2006-03-07  Simon Josefsson  <jas@extundo.com>
51112
51113         * modules/getopt (Depends-on): Add unistd.
51114
51115         * modules/unistd: New file.
51116
51117 2006-03-07  Simon Josefsson  <jas@extundo.com>
51118
51119         * modules/gc-random: New file.
51120
51121 2006-03-07  Simon Josefsson  <jas@extundo.com>
51122
51123         * m4/unistd_h.m4: New file.
51124
51125 2006-03-07  Simon Josefsson  <jas@extundo.com>
51126
51127         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
51128         test to be side-effect free by storing the result in the cache
51129         variable gl_cv_lib_readline, and moving the assignment of
51130         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
51131         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51132
51133 2006-03-07  Simon Josefsson  <jas@extundo.com>
51134
51135         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
51136         error on missing devices (the functions will return an error).
51137
51138         * m4/gc.m4: Move random stuff to gc-random.m4
51139
51140 2006-03-07  Simon Josefsson  <jas@extundo.com>
51141
51142         * lib/unistd_.h: New file.
51143
51144 2006-03-07  Simon Josefsson  <jas@extundo.com>
51145
51146         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
51147
51148 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
51149
51150         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
51151         Problem reported by Juan Manuel Guerrero.
51152
51153 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
51154
51155         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
51156         the unistd module.
51157         * lib/getlogin_r.c: Likewise.
51158         * lib/getlogin_r.h: Likewise.
51159         * lib/glob.c: Likewise.
51160         * lib/pagealign_alloc.c: Likewise.
51161         * lib/unistd_.h: Remove; no longer needed.
51162
51163 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
51164
51165         * MODULES.html.sh (Support for systems lacking POSIX:2001):
51166         Add unistd.
51167         * modules/c-stack (Depends-on): Add unistd.
51168         * modules/getlogin_r: Likewise.
51169         * modules/glob: Likewise.
51170         * modules/pagealign_alloc: Likewise.
51171         * modules/unistd (Files): Remove lib/unistd_.h.
51172         (EXTRA_DIST): Remove.
51173         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
51174         need unistd_.h.
51175         (MOSTLYCLEANFILES): Remove unistd.h-t.
51176
51177 2006-03-03  Simon Josefsson  <jas@extundo.com>
51178
51179         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
51180
51181 2006-03-03  Simon Josefsson  <jas@extundo.com>
51182
51183         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
51184         libidn and bison.
51185
51186 2006-03-03  Simon Josefsson  <jas@extundo.com>
51187
51188         * build-aux/maint.mk: Add indent target.
51189
51190 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
51191
51192         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
51193         our replacement poll.h in any case, to avoid a differing
51194         declaration from a system header.  Seen on AIX.
51195
51196 2006-03-01  Simon Josefsson  <jas@extundo.com>
51197
51198         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
51199         <kasal@ucw.cz>.
51200
51201 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
51202
51203         * modules/gettime (Depends-on): Add extensions module.
51204         * modules/nanosleep (Depends-on): Likewise.
51205         * modules/settime (Depends-on): Likewise.
51206
51207 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
51208
51209         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
51210         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
51211         pedantically.
51212         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
51213         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
51214
51215         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
51216         not "==".  Reported by Ralf Wildenhues.
51217
51218 2006-03-01  Karl Berry  <karl@gnu.org>
51219
51220         * doc/Copyright/request-*: new files, synced from gnuorg.
51221
51222 2006-03-01  Karl Berry  <karl@gnu.org>
51223
51224         * config/srclist.txt (Copyright/*): new entries.
51225
51226 2006-02-28  Simon Josefsson  <jas@extundo.com>
51227
51228         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
51229
51230 2006-02-27  Simon Josefsson  <jas@extundo.com>
51231
51232         * lib/base64.h: Indent #define's.  From Jim Meyering
51233         <jim@meyering.net>.
51234
51235 2006-02-27  Jim Meyering  <jim@meyering.net>
51236
51237         Revert the change of 2006-02-24, so these files can continue
51238         to be sync'd from gettext.
51239         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
51240         of `config.h'.
51241
51242 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
51243
51244         * modules/intprops: New file.
51245         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
51246         Add intprops.
51247         * modules/getloadavg (Files): Remove lib/intprops.h.
51248         (Depends-on): Add intprops.
51249         * modules/human: Likewise.
51250         * modules/inttostr: Likewise.
51251         * modules/openat: Likewise.
51252         * modules/sig2str: Likewise.
51253         * modules/userspec: Likewise.
51254         * modules/utimecmp: Likewise.
51255         * modules/xnanosleep: Likewise.
51256         * modules/xstrtol: Likewise.
51257
51258 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
51259
51260         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
51261         * modules/lock-tests (TESTS): Use $(EXEEXT).
51262         * modules/tls-tests: Likewise.
51263         * modules/argp-tests: Likewise.
51264         (check_PROGRAMS): New var, replacing...
51265         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
51266
51267 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51268
51269         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
51270         `config.h'.
51271
51272 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
51273
51274         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
51275
51276 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51277
51278         Sync from coreutils.
51279         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
51280         gl_CHDIR_SAFER.
51281
51282 2006-02-22  Jim Meyering  <jim@meyering.net>
51283
51284         Sync from coreutils.
51285         * m4/chdir-safer.m4: New file.
51286
51287 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
51288
51289         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
51290         AT_FDCWD exceeds INT_MAX.
51291         * lib/openat.h (AT_FDCWD): Likewise.
51292
51293 2006-02-17  Eric Blake  <address@hidden>
51294
51295         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
51296
51297 2006-02-16  Simon Josefsson  <jas@extundo.com>
51298
51299         * modules/getaddrinfo (Depends-on): Add sys_socket.
51300
51301 2006-02-15  Simon Josefsson  <jas@extundo.com>
51302
51303         * build-aux/maint.mk: Add dsyntax-check rule.
51304
51305 2006-02-15  Eric Blake  <ebb9@byu.net>
51306
51307         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
51308         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
51309         'present but cannot compile' warnings on cygwin.
51310         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
51311         use ws2tcpip.h if sys/socket.h works.
51312         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
51313         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
51314
51315 2006-02-14  Simon Josefsson  <jas@extundo.com>
51316
51317         * modules/maintainer-makefile (Files): Rename.
51318
51319         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
51320         and (the local) Makefile.cfg to maint-cfg.mk.
51321
51322         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
51323         to the latter.
51324
51325         * modules/maintainer-makefile: New module.
51326
51327         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
51328         severaly stripped to make it possible to build it up from scratch
51329         with reliable tests.
51330
51331         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
51332         fixes to permit overriding the default actions when configure and
51333         makefile are not available.
51334
51335 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
51336
51337         Sync from coreutils.
51338         * modules/lstat (Depends-on): Don't depend on xalloc.
51339         (License): Change from GPL to LGPL, since this is now simply a
51340         replacement for a libc function.
51341
51342 2006-02-14  Jim Meyering  <jim@meyering.net>
51343
51344         Sync from coreutils.
51345
51346         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
51347         failure on deficient systems, and simplify gnulib lgpl dependencies.
51348         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
51349         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
51350
51351         * lib/xalloc-die.c: Remove unused definition of N_.
51352
51353 2006-02-14  Jim Meyering  <jim@meyering.net>
51354
51355         Sync from coreutils.
51356         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
51357         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
51358         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
51359         double-quote uses of that variable, to accommodate the rare case in
51360         which getmntent is available in none of the libraries checked.  This
51361         happens at least on FreeBSD 5.0.
51362
51363 2006-02-13  Simon Josefsson  <jas@extundo.com>
51364
51365         * gnulib-tool (Usage): Fix --import, from
51366         karl@freefriends.org (Karl Berry).
51367
51368 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
51369
51370         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
51371
51372 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
51373
51374         * lib/argp-namefrob.h: Restore changes accidentally lost during the
51375         "autoupdate" on 2005-12-12.
51376
51377 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
51378
51379         * modules/closeout (Depends-on): Remove atexit.
51380
51381 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
51382
51383         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
51384         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
51385
51386 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
51387
51388         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
51389         __EXTENSIONS__ if this causes compilation to fail.  Problem
51390         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
51391         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
51392
51393 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
51394
51395         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
51396         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
51397         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
51398         All uses changed.
51399
51400 2006-01-26  Simon Josefsson  <jas@extundo.com>
51401
51402         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
51403         prototype is visible on mingw32.
51404
51405         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
51406         for mingw32.
51407
51408         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
51409         mingw32).
51410
51411 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
51412
51413         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
51414         attempt to open for write; this always fails, at least on POSIX
51415         hosts.  This reinstates the 2006-01-09 change, which was
51416         inadvertently removed.
51417
51418 2006-01-26  Bruno Haible  <bruno@clisp.org>
51419
51420         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
51421         Reported by Paul Eggert.
51422
51423 2006-01-26  Bruno Haible  <bruno@clisp.org>
51424             Paul Eggert  <eggert@cs.ucla.edu>
51425
51426         * lib/stdbool_.h (_Bool)
51427         [(! (defined __cplusplus || defined __BEOS__)
51428           && !defined __GNUC__
51429           && !(defined __HP_cc || defined __xlc__
51430                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
51431                || defined __sgi))]:
51432         #define to signed char in these cases too; this simplifies
51433         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
51434         etc., separately) and makes it more conservative.
51435
51436 2006-01-25  Simon Josefsson  <jas@extundo.com>
51437
51438         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
51439         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
51440         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
51441
51442 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
51443
51444         * lib/argp-namefrob.h: Bugfix. Remove stray #
51445
51446 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
51447
51448         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
51449         so that we test the test.
51450         Check for yet another HP-UX cc bug involving *bool |= bool.
51451
51452 2006-01-25  Karl Berry  <karl@gnu.org>
51453
51454         * config/srclist.txt (vasnprintf.c): sync lost.
51455
51456 2006-01-25  Jim Meyering  <jim@meyering.net>
51457
51458         Sync from the stable (b5) branch of coreutils:
51459
51460         * lib/fts.c (fts_children): Don't let close() clobber errno from
51461         failed fchdir().
51462
51463         * lib/fts.c (fts_stat): When following a symlink-to-directory,
51464         don't necessarily interpret stat-fails+lstat-succeeds as indicating
51465         a dangling symlink.  That can also happen at least for ELOOP.
51466         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
51467         FYI, this bug predates the inclusion of fts.c in coreutils.
51468
51469         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
51470         in their own block, so pre-c99 compilers don't object.
51471
51472         Avoid the double-free (first in fts_read, second in fts_close) that
51473         would occur when an `active' directory is made inaccessible (e.g.,
51474         via chmod a-x) during a traversal.
51475         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
51476         before returning.  Reproduce this failure by
51477         mkdir -p a/b; cd a; chmod a-x . b
51478         Reported by Stavros Passas.
51479
51480 2006-01-25  Jim Meyering  <jim@meyering.net>
51481
51482         * lib/fileblocks.c: Remove more useless parentheses.
51483         * lib/readutmp.h: Likewise.
51484
51485 2006-01-25  Bruno Haible  <bruno@clisp.org>
51486
51487         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
51488         warnings.
51489         Reported by Paul Eggert.
51490
51491 2006-01-25  Bruno Haible  <bruno@clisp.org>
51492
51493         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
51494         rid of a trap command. For Solaris sh.
51495         Reported by Mark D. Baushke <mdb@gnu.org>.
51496
51497 2006-01-24  Simon Josefsson  <jas@extundo.com>
51498
51499         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
51500         Bruno.
51501
51502 2006-01-24  Karl Berry  <karl@gnu.org>
51503
51504         * config/srclist.txt (argp-namefrob.h): sync lost.
51505
51506 2006-01-24  Jim Meyering  <jim@meyering.net>
51507
51508         * modules/openat (Files): Add lib/intprops.h.
51509         From Mark D. Baushke.
51510
51511 2006-01-24  Jim Meyering  <jim@meyering.net>
51512
51513         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
51514         Reported by Mark D. Baushke.
51515
51516 2006-01-24  Jim Meyering  <jim@meyering.net>
51517
51518         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
51519
51520 2006-01-24  Bruno Haible  <bruno@clisp.org>
51521
51522         * modules/strnlen (Maintainer): Change from glibc to all.
51523
51524 2006-01-24  Bruno Haible  <bruno@clisp.org>
51525
51526         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
51527         Patch by Paul Eggert.
51528
51529 2006-01-24  Bruno Haible  <bruno@clisp.org>
51530
51531         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
51532         already has it.
51533         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
51534         2005-11-26.
51535
51536         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
51537         'signed char' to avoid problems with the built-in _Bool type.
51538         Reported by Paul Eggert on 2005-11-26.
51539
51540 2006-01-24  Bruno Haible  <bruno@clisp.org>
51541
51542         * gnulib-tool (func_import): Avoid constructing complicated sed
51543         expressions inside backquote.
51544         Report and solution by Mark D. Baushke <mdb@gnu.org>.
51545
51546 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
51547
51548         These changes imported from libc.
51549         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
51550         test and two separate function calls.
51551         * lib/strndup.c (__strndup): Add libc_hidden_def.
51552
51553 2006-01-23  Simon Josefsson  <jas@extundo.com>
51554
51555         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
51556         Remove the test_*_SOURCES variable: automake infers it by default.
51557         * modules/tls-tests: Likewise.
51558
51559 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
51560
51561         Work around porting bugs reported by Dieter in
51562         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
51563         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
51564         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
51565         Include "getopt.h" first, to check interface.
51566         (getenv): Declare only if defined HAVE_DECL_GETENV &&
51567         !HAVE_DECL_GETENV.
51568         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
51569         (__strndup): Revert to K&R-style function dfns, the glibc style.
51570         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
51571         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
51572         Include strnlen.h first, to get prototype properly.
51573         (strnlen): Renamed from __strnlen.
51574         Remove weak alias.
51575
51576 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
51577
51578         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
51579
51580 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
51581
51582         * config/srclist.txt: Adjust to reflect glibc reorganization.
51583         This affects only comments.
51584
51585 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
51586
51587          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
51588          Reported by Bruce Korb <bkorb@gnu.org>.
51589
51590 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
51591
51592         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
51593         to pacify gcc -Wswitch-default.
51594
51595 2006-01-22  Bruno Haible  <bruno@clisp.org>
51596
51597         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
51598         temporary buffer for sprintf, take into account the precision also
51599         for 'd', 'i', 'u', 'o', 'x', 'X'.
51600
51601 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
51602
51603         * modules/argp-tests: New module
51604         * tests/test-argp.c: New file
51605         * tests/test-argp-2.sh: New file
51606
51607 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
51608
51609         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
51610         (__argp_base_name): Removed
51611         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
51612         typo.
51613         (__argp_base_name): Provide macro definition or extern declaration
51614         depending on the configuration
51615
51616 2006-01-20  Simon Josefsson  <jas@extundo.com>
51617
51618         * modules/inet_ntop (Depends-on): Depend on sys_socket.
51619
51620 2006-01-20  Simon Josefsson  <jas@extundo.com>
51621
51622         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
51623
51624 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
51625
51626         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
51627         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
51628         Suggested by Bruno Haible.
51629
51630 2006-01-20  Karl Berry  <karl@gnu.org>
51631
51632         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
51633         until changes propagate, I guess.
51634
51635 2006-01-19  Simon Josefsson  <jas@extundo.com>
51636
51637         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
51638
51639 2006-01-19  Simon Josefsson  <jas@extundo.com>
51640
51641         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
51642
51643 2006-01-19  Simon Josefsson  <jas@extundo.com>
51644
51645         * gnulib-tool: Set check_PROGRAMS.
51646
51647         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
51648         modules/des-tests, modules/gc-arcfour-tests,
51649         modules/gc-arctwo-tests, modules/gc-des-tests,
51650         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
51651         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
51652         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
51653         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
51654         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
51655         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
51656         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
51657         test_*_SOURCES.
51658
51659 2006-01-18  Simon Josefsson  <jas@extundo.com>
51660
51661         * modules/socklen (Depends-on): Depend on sys_socket.
51662
51663 2006-01-18  Simon Josefsson  <jas@extundo.com>
51664
51665         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
51666         modules/des-tests, modules/gc-arcfour-tests,
51667         modules/gc-arctwo-tests, modules/gc-des-tests,
51668         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
51669         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
51670         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
51671         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
51672         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
51673         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
51674         $(EXEEXT) to automake TESTS variable, for mingw32.
51675
51676 2006-01-17  Simon Josefsson  <jas@extundo.com>
51677
51678         * modules/socklen (Include): Need sys/socket.h.
51679
51680 2006-01-17  Bruno Haible  <bruno@clisp.org>
51681
51682         * modules/ssize_t (Include): Add <sys/types.h>.
51683
51684 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
51685
51686         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
51687         it's not portable and it doesn't work with cross-compiles.
51688         Problem reported by Bruno Haible.  Fix missing-$ typo in
51689         'test "gl_cv_ignore_unused_libraries" ...' that prevented
51690         -zignore from being used with Sun's C compiler.
51691
51692 2006-01-12  Simon Josefsson  <jas@extundo.com>
51693
51694         * lib/base64.c: Fix warning, reported by Bruno Haible
51695         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
51696
51697 2006-01-12  Bruno Haible  <bruno@clisp.org>
51698
51699         * modules/ldd: New file.
51700         * build-aux/ldd.sh.in: New file.
51701         * MODULES.html.sh (Support for building libraries and executables): Add
51702         ldd.
51703
51704 2006-01-12  Bruno Haible  <bruno@clisp.org>
51705
51706         * m4/ldd.m4: New file.
51707
51708 2006-01-12  Bruno Haible  <bruno@clisp.org>
51709
51710         * gnulib-tool (func_import, func_create_testdir): Don't go into an
51711         endless loop while replacing $auxdir with build-aux.
51712
51713 2006-01-11  Simon Josefsson  <jas@extundo.com>
51714
51715         * lib/stdint_.h (SIZE_MAX): Add missing (.
51716
51717 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
51718
51719         Sync from coreutils.
51720         * lib/md5.c: Fix commentary typos.
51721         (alignof, UNALIGNED_P): No need for a GCC-specific version.
51722         * lib/md5.h (__attribute__): Remove; unused.
51723         * lib/sha1.c: Fix commentary to match md5 better.
51724         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
51725         so that we don't need to worry about alignment.  All uses changed.
51726         This merges the 2005-10-28 md5 change into sha1.
51727
51728 2006-01-11  Jim Meyering  <jim@meyering.net>
51729
51730         Sync from coreutils.
51731         * lib/md5.c (OP): Fix spacing.
51732
51733 2006-01-11  Bruno Haible  <bruno@clisp.org>
51734
51735         Ensure automatic ordering between gl_LOCK and gl_ARGP.
51736         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
51737         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
51738
51739 2006-01-11  Bruno Haible  <bruno@clisp.org>
51740
51741         Ensure automatic ordering between gl_LOCK and gl_ARGP.
51742         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
51743         the "early" section as well.
51744
51745 2006-01-11  Bruno Haible  <bruno@clisp.org>
51746
51747         Avoid "ar: no archive members specified" error on MacOS X.
51748         * gnulib-tool (func_modules_add_dummy): New function.
51749         (func_import, func_create_testdir): Invoke it.
51750
51751 2006-01-11  Bruno Haible  <bruno@clisp.org>
51752
51753         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
51754         with $auxdir in AC_CONFIG_FILES statements.
51755
51756 2006-01-11  Bruno Haible  <bruno@clisp.org>
51757
51758         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
51759         Initialize also noinst_HEADERS to empty.
51760
51761 2006-01-11  Bruno Haible  <bruno@clisp.org>
51762
51763         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
51764         variables.
51765         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
51766         autoreconf.
51767
51768 2006-01-11  Bruno Haible  <bruno@clisp.org>
51769
51770         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
51771         overridable by the user.
51772         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51773
51774 2006-01-10  Simon Josefsson  <jas@extundo.com>
51775
51776         * modules/sys_socket: New file.
51777
51778 2006-01-10  Simon Josefsson  <jas@extundo.com>
51779
51780         * m4/sys_socket_h.m4: New file.
51781
51782 2006-01-10  Simon Josefsson  <jas@extundo.com>
51783
51784         * lib/socket_.h: New file.
51785
51786 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
51787
51788         * modules/readutmp (Maintainer): Add myself.
51789
51790 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
51791
51792         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
51793         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
51794         People who are still concerned with buggy memcmp implementations
51795         can invoke gl_FUNC_MEMCMP themselves.
51796
51797 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
51798
51799         * lib/regex_internal.h (BITSET_WORD_BITS):
51800         Work around a bug in 64-bit PGC (before version 6.1-2), where the
51801         preprocessor mishandles large unsigned values as if they were signed.
51802         Problem reported by Claudio Fontana in
51803         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
51804
51805 2006-01-10  Jim Meyering  <jim@meyering.net>
51806
51807         Avoid the double-free (first in fts_read, second in fts_close) that
51808         would occur when an `active' directory is made inaccessible (e.g.,
51809         via chmod a-x) during a traversal.
51810         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
51811         before returning.  Reproduce this failure by
51812         mkdir -p a/b; cd a; chmod a-x . b
51813         Reported by Stavros Passas.
51814
51815         Sync from coreutils.
51816         * lib/sha1.c: Tweak grammar in a comment.
51817
51818 2006-01-10  Jim Meyering  <jim@meyering.net>
51819
51820         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
51821         Patch by Joerg Sonnenberger.
51822
51823 2006-01-10  Bruno Haible  <bruno@clisp.org>
51824
51825         * modules/readutmp: Depend on module free.
51826         * modules/strtok_r: Depend on module restrict.
51827
51828 2006-01-10  Bruno Haible  <bruno@clisp.org>
51829
51830         * modules/gettext (configure.ac): Add an invocation of
51831         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
51832
51833 2006-01-10  Bruno Haible  <bruno@clisp.org>
51834
51835         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
51836         Reported by Werner Lemberg <wl@gnu.org>.
51837
51838 2006-01-10  Bruno Haible  <bruno@clisp.org>
51839
51840         * lib/localcharset.c: Update from GNU gettext.
51841
51842 2006-01-10  Bruno Haible  <bruno@clisp.org>
51843
51844         * lib/argp.h (__const): Remove macro. Use const instead.
51845         * lib/argp-fmtstream.h (__const): Likewise.
51846         * lib/glob_.h (__const): Remove macro.
51847         * lib/glob-libc.h: Use const instead of __const.
51848
51849 2006-01-10  Bruno Haible  <bruno@clisp.org>
51850
51851         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
51852         variable.
51853         Needed to avoid an automake error regarding the 'gettext' module.
51854
51855 2006-01-09  Simon Josefsson  <jas@extundo.com>
51856
51857         * modules/inet_ntop (Depends-on): Add restrict.
51858
51859 2006-01-09  Simon Josefsson  <jas@extundo.com>
51860
51861         * modules/gc-rijndael-tests (License): Put under LGPL.
51862
51863         * modules/gc-des-tests (License): Likewise.
51864
51865         * modules/gc-arcfour-tests (License): Likewise.
51866
51867         * modules/gc-arctwo-tests (License): Likewise.
51868
51869         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
51870
51871         * modules/gc-hmac-sha1-tests (Files): Likewise.
51872
51873         * modules/gc-hmac-md5-tests (License): Likewise.
51874
51875         * modules/gc-sha1-tests (License): Likewise.
51876
51877         * modules/gc-md5-tests (License): Likewise.
51878
51879         * modules/gc-md4-tests (License): Likewise.
51880
51881         * modules/gc-md2-tests (License): Likewise.
51882
51883         * modules/gc-tests (License): Likewise.
51884
51885         * modules/des-tests (License): Likewise.
51886
51887         * modules/md4-tests (License): Likewise.
51888
51889         * modules/md2-tests (License): Likewise.
51890
51891 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
51892
51893         Sync from coreutils:
51894
51895         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
51896         * modules/lib-ignore: New file.
51897         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
51898         chdir-safer.m4, lchmod.m4.
51899         * modules/openat: Add mkdirat.c, openat-priv.h.
51900
51901 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
51902
51903         Sync from coreutils.
51904         * m4/lib-ignore.m4: New file.
51905         * m4/lchmod.m4: New file.
51906
51907 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
51908
51909         Sync from coreutils.
51910         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
51911         for write access: POSIX says that must fail.
51912         * lib/fts.c (diropen): Likewise.
51913         * lib/save-cwd.c (save_cwd): Likewise.
51914         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
51915         well, for minor improvements on hosts that lack O_DIRECTORY.
51916         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
51917         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
51918         Fall back on chown if open failed with EACCES.
51919
51920         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
51921         Report an error at compile-time if only a 1-second nominal clock
51922         resolution is found.
51923
51924         * lib/lchmod.h: New file.
51925         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
51926         (make_dir_parents): Use lchown rather than chown, and
51927         lchmod rather than chmod.
51928
51929         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
51930         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
51931         "proc" reported by n0dalus.
51932
51933         * lib/mountlist.c: Include <limits.h>.
51934         (dev_from_mount_options)
51935         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
51936         New function.  It no longer assumes "dev=" has the System V meaning
51937         on Linux (since it doesn't).  It also parses "dev=" more carefully.
51938         (read_file_system_list)
51939         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
51940         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
51941         dev= in that case.
51942
51943         * lib/posixtm.h (PDS_PRE_2000): New macro.
51944         * lib/posixtm.c (year): Arg is now syntax_bits rather than
51945         allow_century.  All usages changed.  Reject dates outside the range
51946         1969-1999 if PDS_PRE_2000 is used.
51947
51948 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
51949
51950         Sync from coreutils.
51951         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
51952         (Time of day items): Mention the possibility of leap seconds.
51953         Problem reported by Dr. David Alan Gilbert.
51954
51955 2006-01-09  Jim Meyering  <jim@meyering.net>
51956
51957         Sync from coreutils.
51958
51959         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
51960
51961         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
51962
51963         * lib/modechange.c (mode_compile): Reject an invalid mode string
51964         that starts with an octal digit.  From Andreas Gruenbacher.
51965
51966         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
51967         and dup to open_safer and dup_safer, respectively.
51968         (openat_permissive): Fix typo in comment.
51969
51970         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
51971         "gettext.h"; either no longer needed or are guaranteed by openat.h.
51972         (_): Remove; no longer needed.
51973         (openat): Renamed from rpl_openat; no need for rpl_openat
51974         since openat.h renames openat for us.
51975         Replace most of the body with a call to openat_permissive,
51976         to avoid duplicate code.
51977         Port to (probably hypothetical) environments were mode_t is
51978         wider than int.
51979         (openat_permissive): Require mode arg, so that we can check
51980         types better.  Put it just after flags.  Change cwd failure
51981         indicator from pointer-to-bool to pointer-to-errno-value.
51982         All callers changed.
51983         Invoke openat_save_fail and/or openat_restore_fail if
51984         cwd_errno is null, so that openat can call us.
51985         (openat_permissive, fdopendir, fstatat, unlinkat):
51986         Simplify errno handling to avoid some duplicate code,
51987         as it's OK to set errno on success.
51988         * lib/openat.h: Revamp code so that function macros depend on
51989         __OPENAT_PREFIX only, not also on AT_FDCWD.
51990         (openat_ro): Remove.  Caller changed to use openat_permissive.
51991         (openat_permissive): Now a macro, if not a function.
51992         (openat_restore_fail, openat_save_fail): Now always functions,
51993         since mkdirat needs them even if __OPENAT_PREFIX is defined.
51994
51995         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
51996         and openat.c.
51997         * lib/mkdirat.c: Include openat-priv.h.
51998         Remove definitions of macros defined therein.
51999         * lib/openat.c: Likewise.
52000
52001         * lib/mkdirat.c (mkdirat): New file and function.
52002         * lib/openat.h (mkdirat): Declare.
52003
52004         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
52005
52006         * lib/openat.h (openat_permissive): Declare.
52007         (openat_ro): Define.
52008
52009         * lib/openat.c (EXPECTED_ERRNO): New macro.
52010         (openat_permissive): New function -- used in remove.c rewrite.
52011         (all functions): Set errno just before returning, only if there
52012         was an actual failure.
52013         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
52014
52015         Emulate openat-family functions using Linux's procfs, if possible.
52016         Idea and some code based on Ulrich Drepper's glibc changes.
52017
52018         * lib/openat.c: (BUILD_PROC_NAME): New macro.
52019         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
52020         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
52021         before falling back on save_cwd and restore_cwd.
52022         (fdopendir, fstatat, unlinkat): Likewise.
52023
52024         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
52025         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
52026
52027         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
52028         as second argument to va_arg.  Otherwise, some versions of gcc
52029         warn that `if this code is reached, the program will abort'.
52030
52031 2006-01-09  Jim Meyering  <jim@meyering.net>
52032
52033         Sync from coreutils.
52034         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
52035         Require openat-priv.h.
52036
52037 2006-01-09  Bruno Haible  <bruno@clisp.org>
52038
52039         * modules/strnlen (Include): Use strnlen.h.
52040
52041 2006-01-09  Bruno Haible  <bruno@clisp.org>
52042
52043         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
52044
52045 2006-01-09  Bruno Haible  <bruno@clisp.org>
52046
52047         * lib/sysexit_.h (EX_OK): New macro.
52048         Suggested by Martin Lambers <marlam@marlam.de>.
52049
52050 2006-01-09  Bruno Haible  <bruno@clisp.org>
52051
52052         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
52053         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
52054
52055 2006-01-09  Bruno Haible  <bruno@clisp.org>
52056
52057         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
52058         numbers.
52059
52060 2006-01-09  Bruno Haible  <bruno@clisp.org>
52061
52062         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
52063         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
52064         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
52065         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
52066
52067 2006-01-09  Bruno Haible  <bruno@clisp.org>
52068
52069         * build-aux/javacomp.sh.in: New file, moved from lib/.
52070         * modules/javacomp-script (Files): Update.
52071         (configure.ac): Add AC_CONFIG_FILES invocation.
52072         (EXTRA_DIST): Remove variable.
52073
52074         * build-aux/javaexec.sh.in: New file, moved from lib/.
52075         * modules/javaexec (Files): Update.
52076         (configure.ac): Add AC_CONFIG_FILES invocation.
52077         (EXTRA_DIST): Remove javaexec.sh.in.
52078
52079         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
52080         * modules/csharpcomp-script (Files): Update.
52081         (configure.ac): Add AC_CONFIG_FILES invocation.
52082         (EXTRA_DIST): Remove variable.
52083
52084         * build-aux/csharpexec.sh.in: New file, moved from lib/.
52085         * modules/csharpexec (Files): Update.
52086         (configure.ac): Add AC_CONFIG_FILES invocation.
52087         (EXTRA_DIST): Remove csharpexec.sh.in.
52088
52089 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
52090
52091         Sync from coreutils.
52092
52093         Add POSIX ACL support
52094         * lib/acl.h (copy_acl, set_acl): Add declarations.
52095         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
52096         systems other than Linux.
52097         (chmod_or_fchmod): New function: use fchmod when possible,
52098         and chmod otherwise.
52099         (file_has_acl): Add a POSIX ACL implementation, with a
52100         Linux-specific subcase.
52101         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
52102         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
52103         acls are unsupported.
52104         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
52105         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
52106         are unsupported.
52107
52108 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
52109
52110         Sync from coreutils.
52111         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
52112
52113 2006-01-07  Bruno Haible  <bruno@clisp.org>
52114
52115         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
52116         gl_EARLY.
52117
52118 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
52119
52120         * lib/strftime.c (tzname): Don't declare if it is already #defined.
52121         Problem reported for Mingw by Mark Junker.
52122
52123 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
52124
52125         * README: Gnulib normally doesn't generate a tarball.
52126
52127 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
52128
52129         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
52130         long int, not int, for nanosecond counts, so that people who are
52131         used to POSIX struct timespec won't be surprised.  Reported by Jim
52132         Meyering.
52133
52134 2005-12-28  Bruno Haible  <bruno@clisp.org>
52135
52136         * build-aux/config.rpath: Update from GNU gettext.
52137
52138 2005-12-16  Jim Meyering  <jim@meyering.net>
52139
52140         * modules/fprintftime: New module.
52141         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
52142
52143 2005-12-16  Jim Meyering  <jim@meyering.net>
52144
52145         * m4/fprintftime.m4: New file.
52146
52147 2005-12-16  Jim Meyering  <jim@meyering.net>
52148
52149         * lib/fprintftime.c, lib/fprintftime.h: New files.
52150
52151 2005-12-15  Simon Josefsson  <jas@extundo.com>
52152
52153         * modules/socklen (configure.ac): Fix M4 macro name, to align with
52154         new m4/socklen.m4.
52155
52156 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
52157
52158         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
52159         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
52160
52161 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
52162
52163         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
52164         * lib/argp-help.c (fill_in_uparams): Check if the constructed
52165         struct uparams is valid. Fall back to the default values if it is
52166         not.
52167
52168 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
52169
52170         * modules/argp (Files): Add argp-pin.c
52171         (Depends-on): dirname
52172         (lib_SOURCES): Add argp-pin.c
52173
52174 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
52175
52176         * m4/argp.m4:  Check if program_invocation_name and
52177         program_invocation_short_name are declared and define appropriate
52178         macros if they are not.
52179
52180 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
52181
52182         * lib/argp-help.c (__argp_base_name): New function
52183         (__argp_short_program_name): Rewrite using __argp_base_name
52184         * lib/argp-namefrob.h: Define program_invocation_name and
52185         program_invocation_short_name if requested
52186         (__argp_base_name): Add prototype
52187         * lib/argp-parse.c (argp_def): Use gettext wrappers
52188         (argp_default_parser): Use __argp_base_name
52189         * lib/argp-pin.c: New file. Defines program_invocation_name and
52190         program_invocation_short_name on systems that lack them.
52191
52192 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
52193
52194         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
52195         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
52196         porting problem reported by Georg Schwarz in
52197         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
52198
52199 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
52200
52201         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
52202         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
52203         porting problem reported by Georg Schwarz in
52204         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
52205
52206 2005-12-05  Bruno Haible  <bruno@clisp.org>
52207
52208         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
52209         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
52210         Reported by Mark Junker <mjscod@gmx.de>.
52211
52212 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
52213
52214         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
52215         Use implementation from Albert Chin, with some
52216         comments/corrections by Stepan Kasal and myself.
52217
52218 2005-12-02  Bruno Haible  <bruno@clisp.org>
52219
52220         * gnulib-tool (func_import): Accept GPLed build tool modules when
52221         --lgpl is given.
52222         * modules/csharpcomp-script: New file.
52223         * modules/csharpcomp: Depend on it.
52224         * modules/javacomp-script: New file.
52225         * modules/javacomp: Depend on it.
52226         Suggested by Simon Josefsson.
52227
52228 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
52229
52230         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
52231         statement, to work around an HP-UX 10.20 compiler bug reported by
52232         Peter O'Gorman.
52233
52234 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
52235
52236         * modules/savedir (Depends-on): Add openat.
52237
52238 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
52239
52240         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
52241         (uintmax_t) [defined uintmax_t]: Do not declare.
52242         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
52243         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
52244         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
52245         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
52246         sake of portability to weird hosts that C allows (though we don't
52247         know of any practical examples).
52248
52249         * lib/savedir.h (fdsavedir): New decl.
52250         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
52251         contains most of the former guts of savedir.
52252         (savedir): Use savedirstream.
52253         Include "openat.h".
52254
52255 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
52256
52257         * modules/obstack (Files): Add m4/ulonglong.m4.
52258         Problem reported by Davide Angelocola.
52259
52260 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
52261
52262         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
52263         coreutils no longer futzes with rounding modes.
52264
52265 2005-11-14  Jim Meyering  <jim@meyering.net>
52266
52267         * lib/mkstemp-safer.c: Include <config.h>, required for possible
52268         replacement of mkstemp.
52269
52270 2005-11-10  Simon Josefsson  <jas@extundo.com>
52271
52272         * lib/readline.c: Remove EOL.
52273
52274 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
52275
52276         * modules/gethrxtime (Depends-on): Add gettime.
52277
52278 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
52279
52280         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
52281         or gettimeofday; no longer needed.
52282
52283 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
52284
52285         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
52286         time business.
52287         (gethrxtime) [! (HAVE_NANOUPTIME
52288         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
52289         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
52290         our own approximation.
52291
52292 2005-11-08  Eric Blake  <ebb9@byu.net>
52293
52294         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
52295
52296 2005-11-08  Eric Blake  <ebb9@byu.net>
52297
52298         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
52299
52300 2005-11-04  Bruno Haible  <bruno@clisp.org>
52301
52302         * gnulib-tool: Implement --update mode.
52303
52304 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
52305
52306         Fix porting problem reported by Theodoros V. Kalamatianos.
52307         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
52308         Don't assume that futimes failing means we must fail.
52309
52310 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
52311
52312         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
52313         variables to suggest the intended function of the PATH_MAX check.
52314
52315 2005-10-30  Kean Johnston  <jkj@sco.com>
52316
52317         Trivial changes to support SCO systems.
52318         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
52319         as PATH_MAX.
52320         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
52321         where __ptr is null when no I/O is pending.
52322
52323 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
52324
52325         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
52326         leave errno alone.  Problem reported by Dmitry V. Levin.
52327
52328 2005-10-28  Simon Josefsson  <jas@extundo.com>
52329
52330         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
52331         Test more.
52332
52333         * tests/test-gc-md2.c, tests/test-md2.c: New files.
52334
52335         * modules/md2, modules/md2-tests: New files.
52336
52337 2005-10-28  Simon Josefsson  <jas@extundo.com>
52338
52339         * m4/inet_ntop.m4: More tests.
52340
52341         * m4/gc-md2.m4, md2.m4: New file.
52342
52343 2005-10-28  Simon Josefsson  <jas@extundo.com>
52344
52345         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
52346         "restrict" keywords, as per POSIX.  Protect the function
52347         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
52348         Don't use K&R prototypes.  Check the sprintf return values.
52349         Re-define EAFNOSUPPORT if not present.  Indent.
52350
52351         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
52352         suggested by Bruno Haible <bruno@clisp.org>.
52353
52354         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
52355
52356         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
52357
52358         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
52359         libgcrypt).
52360
52361         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
52362
52363         * lib/md2.h, lib/md2.c: New files.
52364
52365 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
52366
52367         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
52368         errno alone.  Problem reported by Frederic Jolliton.
52369
52370 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
52371
52372         * modules/verify (License): Change from GPL to LGPL.  This is a
52373         tiny module and there are apparently near-equivalents that are
52374         under the BSD license.
52375
52376 2005-10-24  Simon Josefsson  <jas@extundo.com>
52377
52378         * modules/sha1: Relicense to LGPL.
52379
52380 2005-10-24  Simon Josefsson  <jas@extundo.com>
52381
52382         * lib/md4.h: Shrink buffer size, now that we changed the type.
52383
52384 2005-10-23  Simon Josefsson  <jas@extundo.com>
52385
52386         * gnulib-tool (func_import): Fix --tests-base.
52387
52388 2005-10-22  Simon Josefsson  <jas@extundo.com>
52389
52390         * modules/arcfour (Depends-on): Need stdint.
52391
52392 2005-10-22  Simon Josefsson  <jas@extundo.com>
52393
52394         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
52395         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
52396
52397 2005-10-22  Simon Josefsson  <jas@extundo.com>
52398
52399         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
52400         suggested by Bruno Haible <bruno@clisp.org>.
52401
52402 2005-10-22  Simon Josefsson  <jas@extundo.com>
52403
52404         * lib/crc.h: Include stddef.h, for size_t.
52405
52406 2005-10-22  Simon Josefsson  <jas@extundo.com>
52407
52408         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
52409         arcfour_context struct (simplify test vector testing in GNU
52410         Shishi).
52411
52412 2005-10-21  Simon Josefsson  <jas@extundo.com>
52413
52414         * modules/des, modules/des-tests: New files.
52415
52416         * modules/gc-des, modules/gc-des-tests: New files.
52417
52418         * tests/test-des.c, tests/test-gc-des.c: New file.
52419
52420 2005-10-21  Simon Josefsson  <jas@extundo.com>
52421
52422         * modules/arctwo, modules/arctwo-tests: New files.
52423
52424         * tests/test-arctwo.c: New file.
52425
52426         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
52427
52428         * tests/test-gc-arctwo.c: New file.
52429
52430 2005-10-21  Simon Josefsson  <jas@extundo.com>
52431
52432         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
52433         Bruno Haible <bruno@clisp.org>.
52434
52435         * m4/gc-des.m4: New file.
52436
52437 2005-10-21  Simon Josefsson  <jas@extundo.com>
52438
52439         * m4/arctwo.m4: New file.
52440
52441         * m4/gc-arctwo.m4: New file.
52442
52443 2005-10-21  Simon Josefsson  <jas@extundo.com>
52444
52445         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
52446         block.
52447
52448 2005-10-21  Simon Josefsson  <jas@extundo.com>
52449
52450         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
52451         <bruno@clisp.org>.
52452
52453         * lib/hmac-sha1.c (hmac_sha1): Likewise.
52454
52455         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
52456         Bruno Haible <bruno@clisp.org>.
52457
52458         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
52459         <bruno@clisp.org>.
52460
52461 2005-10-21  Simon Josefsson  <jas@extundo.com>
52462
52463         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
52464
52465 2005-10-21  Simon Josefsson  <jas@extundo.com>
52466
52467         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
52468
52469 2005-10-21  Simon Josefsson  <jas@extundo.com>
52470
52471         * lib/des.h, lib/des.c: New files.
52472
52473         * lib/gc-gnulib.c: Support DES.c
52474
52475 2005-10-21  Simon Josefsson  <jas@extundo.com>
52476
52477         * lib/arctwo.h, lib/arctwo.c: New files.
52478
52479         * lib/gc-gnulib.c: Support ARCTWO.
52480
52481 2005-10-21  Simon Josefsson  <jas@extundo.com>
52482
52483         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
52484         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52485
52486 2005-10-21  Simon Josefsson  <jas@extundo.com>
52487
52488         * gnulib-tool (func_import, func_create_testdir): Define automake
52489         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
52490         Makefile.am snippet),
52491         suggested by Bruno Haible <bruno@clisp.org>.
52492
52493         * modules/gc (Makefile.am): Use it.
52494
52495 2005-10-21  Bruno Haible  <bruno@clisp.org>
52496
52497         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
52498         patch.
52499
52500 2005-10-19  Simon Josefsson  <jas@extundo.com>
52501
52502         * tests/test-gc-rijndael.c: New file.
52503
52504         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
52505
52506 2005-10-19  Simon Josefsson  <jas@extundo.com>
52507
52508         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
52509         interface too.
52510
52511 2005-10-19  Simon Josefsson  <jas@extundo.com>
52512
52513         * tests/test-gc-arcfour.c: New file.
52514
52515         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
52516
52517 2005-10-19  Simon Josefsson  <jas@extundo.com>
52518
52519         * modules/gc-md4, modules/gc-md4-tests: New file.
52520
52521         * tests/test-gc-md4.c: New file.
52522
52523 2005-10-19  Simon Josefsson  <jas@extundo.com>
52524
52525         * m4/gc-md4.m4: New file.
52526
52527 2005-10-19  Simon Josefsson  <jas@extundo.com>
52528
52529         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
52530         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
52531         <kasal@ucw.cz>.
52532
52533 2005-10-19  Simon Josefsson  <jas@extundo.com>
52534
52535         * m4/gc-arcfour.m4: New file.
52536
52537         * m4/gc-rijndael.m4: New file.
52538
52539 2005-10-19  Simon Josefsson  <jas@extundo.com>
52540
52541         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
52542
52543 2005-10-19  Simon Josefsson  <jas@extundo.com>
52544
52545         * lib/gc-gnulib.c: Support ARCFOUR.
52546
52547 2005-10-19  Simon Josefsson  <jas@extundo.com>
52548
52549         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
52550         support.
52551
52552         * lib/gc.h: Add ECB enum type.
52553
52554         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
52555
52556 2005-10-18  Simon Josefsson  <jas@extundo.com>
52557
52558         * tests/test-md5.c: New file.
52559
52560         * modules/md5-tests: New file.
52561
52562 2005-10-18  Simon Josefsson  <jas@extundo.com>
52563
52564         * tests/test-md4.c: New file.
52565
52566         * modules/md4, modules/md4-tests: New files.
52567
52568 2005-10-18  Simon Josefsson  <jas@extundo.com>
52569
52570         * m4/md4.m4: New file.
52571
52572 2005-10-18  Simon Josefsson  <jas@extundo.com>
52573
52574         * lib/md4.h, lib/md4.c: New files, based on md5.?.
52575
52576 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
52577
52578         * gnulib-tool (func_create_testdir): Omit the second check whether
52579         BUILT_SOURCES in nonempty.
52580
52581 2005-10-17  Simon Josefsson  <jas@extundo.com>
52582
52583         * tests/test-rijndael.c: New file.
52584
52585 2005-10-17  Simon Josefsson  <jas@extundo.com>
52586
52587         * modules/sha1: Depend on stdint instead of md5.
52588
52589         * modules/md5: Depend on stdint, remove uint32_t.
52590
52591 2005-10-17  Simon Josefsson  <jas@extundo.com>
52592
52593         * modules/gc-sha1-tests: New file.
52594
52595         * tests/test-gc-sha1.c: New file.
52596
52597 2005-10-17  Simon Josefsson  <jas@extundo.com>
52598
52599         * m4/md5.m4: Remove call to uint32_t.m4.
52600
52601 2005-10-17  Simon Josefsson  <jas@extundo.com>
52602
52603         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
52604
52605         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
52606         md5.h.
52607
52608         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
52609
52610         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
52611
52612 2005-10-17  Simon Josefsson  <jas@extundo.com>
52613
52614         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
52615
52616 2005-10-17  Simon Josefsson  <jas@extundo.com>
52617
52618         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
52619
52620 2005-10-17  Simon Josefsson  <jas@extundo.com>
52621
52622         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
52623
52624         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
52625
52626 2005-10-17  Bruno Haible  <bruno@clisp.org>
52627
52628         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
52629         that it can also be used in a test.
52630
52631 2005-10-16  Bruno Haible  <bruno@clisp.org>
52632
52633         * gnulib-tool (func_emit_tests_Makefile_am): Also define
52634         TESTS_ENVIRONMENT, so that individual tests can augment it.
52635
52636         * gnulib-tool (func_create_testdir): Use an intermediate target for
52637         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
52638         macros, like $(ALLOCA_H), which cannot be passed through the command
52639         line.
52640
52641 2005-10-15  Simon Josefsson  <jas@extundo.com>
52642
52643         * modules/rijndael-tests: New file.
52644
52645         * modules/rijndael: New file.
52646
52647 2005-10-15  Simon Josefsson  <jas@extundo.com>
52648
52649         * m4/rijndael.m4: New file.
52650
52651 2005-10-15  Simon Josefsson  <jas@extundo.com>
52652
52653         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
52654
52655         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
52656
52657 2005-10-14  Simon Josefsson  <jas@extundo.com>
52658
52659         * tests/test-arcfour.c: New file.
52660
52661         * modules/arcfour, modules/arcfour-tests: New files.
52662
52663 2005-10-14  Simon Josefsson  <jas@extundo.com>
52664
52665         * m4/arcfour.m4: New file.
52666
52667 2005-10-14  Simon Josefsson  <jas@extundo.com>
52668
52669         * lib/arcfour.h, lib/arcfour.c: New files.
52670
52671 2005-10-14  Roland McGrath  <roland@redhat.com>
52672
52673         Import from libc.  [BZ #1331]
52674         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
52675         macro argument.
52676         Reported by Matej Vela <vela@debian.org>.
52677
52678 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
52679
52680         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
52681         include <wchar.h>; no longer needed.
52682
52683 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
52684
52685         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
52686
52687 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
52688         and  Ulrich Drepper  <drepper@redhat.com>
52689
52690         Import from libc.
52691         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
52692         instead of inline stream orientation test and two separate
52693         function calls.  Pay no attention to USE_IN_LIBIO.
52694
52695 2005-10-13  Simon Josefsson  <jas@extundo.com>
52696
52697         * modules/gc-hmac-md5-tests: New file.
52698
52699         * tests/test-gc-hmac-sha1.c: New file.
52700
52701         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
52702
52703         * modules/gc-hmac-md5-tests: New file.
52704
52705         * tests/test-gc-md5.c: New file.
52706
52707         * modules/gc-md5-tests: New file.
52708
52709 2005-10-13  Simon Josefsson  <jas@extundo.com>
52710
52711         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
52712         Move memory allocation outside of loop.
52713
52714 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
52715
52716         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
52717         intermediate directory is in a read-only file system.  Problem
52718         reported by Eric Blake.
52719
52720 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
52721
52722         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
52723
52724 2005-10-12  Simon Josefsson  <jas@extundo.com>
52725
52726         * tests/test-hmac-sha1.c: New file.
52727
52728         * modules/hmac-sha1-tests: New file.
52729
52730         * modules/hmac-sha1: New file.
52731
52732 2005-10-12  Simon Josefsson  <jas@extundo.com>
52733
52734         * modules/gc-sha1: New file.
52735
52736 2005-10-12  Simon Josefsson  <jas@extundo.com>
52737
52738         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
52739
52740         * tests/test-gc-pbkdf2-sha1.c: New file.
52741
52742 2005-10-12  Simon Josefsson  <jas@extundo.com>
52743
52744         * modules/gc-md5, modules/gc-hmac-md5: New files.
52745
52746         * modules/gc (Files): Remove md5, memxor and hmac files.
52747
52748 2005-10-12  Simon Josefsson  <jas@extundo.com>
52749
52750         * m4/gc-pbkdf2-sha1.m4: New file.
52751
52752         * m4/gc-hmac-sha1.m4: New file.
52753
52754         * m4/gc-sha1: New file.
52755
52756         * m4/hmac-sha1.m4: New file.
52757
52758 2005-10-12  Simon Josefsson  <jas@extundo.com>
52759
52760         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
52761
52762         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
52763
52764 2005-10-12  Simon Josefsson  <jas@extundo.com>
52765
52766         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
52767         suggested by Bruno Haible <bruno@clisp.org>.
52768
52769 2005-10-12  Simon Josefsson  <jas@extundo.com>
52770
52771         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
52772
52773 2005-10-12  Simon Josefsson  <jas@extundo.com>
52774
52775         * lib/gc-pbkdf2-sha1.c: New file.
52776
52777         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
52778
52779 2005-10-12  Simon Josefsson  <jas@extundo.com>
52780
52781         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
52782
52783         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
52784
52785 2005-10-12  Simon Josefsson  <jas@extundo.com>
52786
52787         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
52788         GC_USE_HMAC_MD5, respectively.
52789
52790         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
52791         (gc_md5): Fix typo.
52792
52793         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
52794
52795         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
52796
52797         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
52798
52799 2005-10-12  Bruno Haible  <bruno@clisp.org>
52800
52801         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
52802         Reported by Stepan Kasal <kasal@ucw.cz>.
52803
52804 2005-10-11  Simon Josefsson  <jas@extundo.com>
52805
52806         * tests/test-crc.c: New file.
52807
52808         * modules/crc, modules/crc-tests: New files.
52809
52810 2005-10-11  Simon Josefsson  <jas@extundo.com>
52811
52812         * m4/crc.m4: New file.
52813
52814 2005-10-11  Simon Josefsson  <jas@extundo.com>
52815
52816         * lib/gc.h: Add gc_hash and gc_hash_buffer.
52817
52818         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
52819
52820         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
52821
52822 2005-10-11  Simon Josefsson  <jas@extundo.com>
52823
52824         * lib/crc.h, lib/crc.c: New files.
52825
52826         * lib/gc.h (gc_hash_buffer): Add doc.
52827
52828 2005-10-11  Bruno Haible  <bruno@clisp.org>
52829
52830         * modules/c-strcasestr: New file.
52831         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
52832
52833 2005-10-11  Bruno Haible  <bruno@clisp.org>
52834
52835         * modules/c-strcase: New file.
52836         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
52837
52838 2005-10-11  Bruno Haible  <bruno@clisp.org>
52839
52840         * lib/strcasecmp.c: Include limits.h.
52841         (strcasecmp): Avoid integer overflow on exotic platforms.
52842         * lib/strncasecmp.c: Include limits.h.
52843         (strncasecmp): Avoid integer overflow on exotic platforms.
52844         Reported by Paul Eggert.
52845
52846 2005-10-11  Bruno Haible  <bruno@clisp.org>
52847
52848         * lib/c-strcasestr.h: New file, from GNU gettext.
52849         * lib/c-strcasestr.c: New file, from GNU gettext.
52850
52851 2005-10-11  Bruno Haible  <bruno@clisp.org>
52852
52853         * lib/c-strcase.h: New file, from GNU gettext.
52854         * lib/c-strcasecmp.c: New file, from GNU gettext.
52855         * lib/c-strncasecmp.c: New file, from GNU gettext.
52856
52857 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
52858
52859         * modules/mempcpy (License): GPL -> LGPL.
52860         * modules/strchrnul (License): Likewise.
52861         * modules/sysexits (License): Likewise.
52862
52863 2005-10-08  Simon Josefsson  <jas@extundo.com>
52864
52865         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
52866
52867 2005-10-07  Simon Josefsson  <jas@extundo.com>
52868
52869         * m4/memxor.m4: Remove gl_C_RESTRICT call.
52870
52871 2005-10-06  Simon Josefsson  <jas@extundo.com>
52872
52873         * tests/test-hmac-md5.c: New file.
52874
52875         * modules/hmac-md5-tests: New file.
52876
52877         * modules/hmac-md5: New file.
52878
52879 2005-10-06  Simon Josefsson  <jas@extundo.com>
52880
52881         * m4/hmac-md5.m4: New file.
52882
52883         * m4/memxor.m4: Require gl_C_RESTRICT.
52884
52885 2005-10-06  Simon Josefsson  <jas@extundo.com>
52886
52887         * lib/memxor.c (memxor): Avoid casts and warnings.
52888
52889 2005-10-06  Simon Josefsson  <jas@extundo.com>
52890
52891         * lib/hmac-md5.c: New file.
52892
52893         * lib/hmac.h: New file.
52894
52895 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
52896
52897         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
52898         promotes to int, not unsigned int, to catch the AIX 5.3
52899         compiler bug.
52900
52901 2005-10-05  Simon Josefsson  <jas@extundo.com>
52902
52903         * modules/memxor: New file.
52904
52905         * modules/iconv (Files): Move config.rpath to havelib, it is used
52906         there.
52907
52908         * modules/havelib (Files): Add config.rpath.
52909
52910 2005-10-05  Simon Josefsson  <jas@extundo.com>
52911
52912         * m4/memxor.m4: New file.
52913
52914 2005-10-05  Simon Josefsson  <jas@extundo.com>
52915
52916         * lib/memxor.c (memxor): Fix compiler error.
52917
52918         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
52919         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
52920
52921         * lib/memxor.h, lib/memxor.c: New files.
52922
52923         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
52924         we assume all systems have it, suggested by Jim Meyering
52925         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
52926         any systems lack sys/socket.h; mingw32 is known to lack it, but we
52927         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
52928         same reasons.
52929
52930 2005-10-05  Simon Josefsson  <jas@extundo.com>
52931
52932         * config/srclist.txt: Add glibc bug 1423 for md5.h.
52933
52934 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
52935
52936         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
52937         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
52938         needed, since the source code now assumes these .h files.
52939
52940 2005-10-05  Derek Price  <derek@ximbiot.com>
52941
52942         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
52943
52944 2005-10-05  Bruno Haible  <bruno@clisp.org>
52945
52946         * modules/stdint (License): Change to LGPL.
52947
52948 2005-10-04  Simon Josefsson  <jas@extundo.com>
52949
52950         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
52951         D. Baushke" <mdb@gnu.org>.
52952
52953 2005-10-04  Bruno Haible  <bruno@clisp.org>
52954
52955         * lib/verify.h (verify_true): Provide alternative definition for C++.
52956
52957 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
52958
52959         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
52960         (SSIZE_MAX): New macro, if not already defined.
52961         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
52962         than 2 GiB.
52963
52964 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
52965
52966         Sync from coreutils.
52967         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
52968         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
52969         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
52970         ULLONG_MAX doesn't work with 2.7.2.1.
52971
52972 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
52973
52974         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
52975         From Ben Pfaff.
52976
52977         * modules/exclude (Depends-on): Depend on verify.
52978         * modules/strtoimax (Depends-on): Likewise.
52979         * modules/utimecmp (Depends-on): Likewise.
52980
52981 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
52982
52983         * lib/exclude.c: Include verify.h.
52984         (verify): Remove.  All callers changed to use verify.h's version.
52985         * lib/strtoimax.c: Likewise.
52986         * lib/utimecmp.c: Likewis.e
52987
52988         Sync from coreutils.
52989         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
52990         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
52991         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
52992         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
52993         bother returning ENOSYS if settimeofday or stime fails; just let
52994         them return whatever errno they want to return.
52995         * lib/utimens.c: Include unistd.h, for dup2.
52996         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
52997         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
52998
52999 2005-10-02  Jim Meyering  <jim@meyering.net>
53000
53001         Sync from coreutils.
53002         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
53003         from glibc-2.2.5 that fails for read-only files.
53004
53005 2005-10-02  Jim Meyering  <jim@meyering.net>
53006
53007         Sync from coreutils.
53008         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
53009         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
53010         `#if HAVE_CONFIG_H'.
53011         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
53012         Remove AT_FDCWD test.
53013         Do not consume the fd unless successful.
53014         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
53015         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
53016         block, so that we don't even try to compile it if settimeofday is
53017         available.  This works around a compilation failure on OSF1 V5.1,
53018         due to stime requiring a `long int*' while tv_sec is `int'.
53019
53020 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
53021
53022         Sync from coreutils.
53023         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
53024         against `yes', rather than just testing for nonempty.
53025
53026 2005-10-01  Simon Josefsson  <jas@extundo.com>
53027
53028         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
53029         and Darwin.
53030
53031         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
53032         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
53033         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
53034         freeaddrinfo and gai_strerror are declared by the POSIX headers.
53035         Check if struct addrinfo is declared.
53036
53037 2005-10-01  Simon Josefsson  <jas@extundo.com>
53038
53039         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
53040         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
53041         AI_* and EAI_* definitions.  Protect function declarations.
53042
53043 2005-10-01  Jim Meyering  <jim@meyering.net>
53044
53045         Sync from coreutils.
53046
53047         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
53048         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
53049         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
53050         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
53051         in the inet and nsl libraries.  Required on Solaris 5.7.
53052
53053 2005-10-01  Jim Meyering  <jim@meyering.net>
53054
53055         Sync from coreutils.
53056         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
53057         in the inet and nsl libraries.  Required on Solaris 5.7.
53058
53059 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
53060
53061         * lib/getdelim.c (getdelim): Remove unused variables.
53062
53063 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
53064
53065         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
53066         so that the code works even with ancient cpp.  Portability problem
53067         with GCC 2.7.2.1 reported by Thomas M.Ott.
53068
53069 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
53070
53071         * modules/regex (Depends-on): Add strcase.
53072
53073         * modules/gethostname (Licence): Change from GPL to LGPL, since
53074         gethostname.c is a trivial implementation of a standard library
53075         function.
53076         * modules/poll (License): Change from GPL to LGPL, since it's
53077         derived from LGPL code.
53078
53079 2005-09-27  Jim Meyering  <jim@meyering.net>
53080
53081         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
53082         HAVE_CONFIG_H.
53083
53084         * lib/intprops.h (signed_type_or_expr__): Define.
53085         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
53086         for unsigned types.
53087
53088 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
53089
53090         * lib/verify.h (verify_expr): Remove, replacing with:
53091         (verify_true): New macro that returns true instead of void.
53092         (verify_type__): Remove.
53093         (verify): Use verify_true rather than verify_type__.
53094
53095 2005-09-26  Bruno Haible  <bruno@clisp.org>
53096
53097         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
53098         is necessary.
53099         (lib_SOURCES): Remove mbchar.c.
53100         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
53101         (Files): Add m4/mbrtowc.m4.
53102         * modules/mbiter: Likewise.
53103         * modules/mbuiter: Likewise.
53104
53105 2005-09-26  Bruno Haible  <bruno@clisp.org>
53106
53107         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
53108         compile mbchar.c if they are not both present.
53109         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
53110         * m4/mbiter.m4 (gl_MBITER): Likewise.
53111         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
53112         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
53113         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
53114
53115 2005-09-25  Jim Meyering  <jim@meyering.net>
53116
53117         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
53118         also uses socklen_t.
53119
53120 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
53121
53122         * lib/utimens.c (ENOSYS): Define if not already defined.
53123         (futimens): Support having a null PATH if the file descriptor
53124         is nonnegative.
53125
53126         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
53127         Remove.
53128         (__attribute): Define to empty unless GCC 3.1 or later.
53129         This works around a core dump on OpenBSD 3.4, which has GCC
53130         2.95.3, which dumps core when given __attribute__(()).  It also
53131         simplifies other tests, since we really don't want to bother with
53132         worrying about which ancient version of GCC supported what.
53133         Original problem reported by Yoann Vandoorselaere, with part of
53134         the fix suggested by Derek Price.
53135
53136 2005-09-24  Jim Meyering  <jim@meyering.net>
53137
53138         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
53139         so we can once again use a positive bitfield width of 1 -- now we
53140         don't have to explain why we were using a bitfield width of 2.
53141
53142 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
53143
53144         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
53145         and similarly for the other external symbols.  Problem reported
53146         by James Gallager.
53147
53148         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
53149         bug reported by Jim Meyering.
53150
53151         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
53152         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
53153         not needed, since socklen is a prerequisite module.
53154
53155 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
53156
53157         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
53158         Problem reported by Eric Blake.
53159         (getaddrinfo): Initialize se so that it's not garbage.
53160         Redo internal storage allocation so that it doesn't make unportable
53161         assumptions about alignment.
53162         Fix a memory leak.
53163
53164         * lib/utimens.c (futimens): Use futimesat if available.
53165         Prefer it to futimes since it doesn't have the futimes bug.
53166
53167         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
53168         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
53169         Instead, declare a function that returns a pointer to an array,
53170         and use verify_type__ to declare the size of the array.
53171         Problem and germ of a solution reported by Bruno Haible.
53172         (verify_type__): Use 2, not 1, for bitfield size, to avoid
53173         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
53174
53175 2005-09-23  Jim Meyering  <jim@meyering.net>
53176
53177         Sync from coreutils.
53178         Correct build failure (socklen_t not defined) on at least
53179         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
53180         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
53181
53182 2005-09-23  Jim Meyering  <jim@meyering.net>
53183
53184         * modules/getaddrinfo (Depends-on): Add socklen.
53185
53186 2005-09-23  Bruno Haible  <bruno@clisp.org>
53187
53188         * tests/test-verify.c: New file.
53189
53190 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
53191
53192         Sync from coreutils.
53193
53194         * modules/argmatch (Depends-on): Add verify.
53195         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
53196         unistd-safer.
53197         * modules/save-cwd (Depends-on): Likewise.
53198
53199         * modules/openat (Files): Add lib/openat-die.c.
53200         (Depends-on): Remove error, exitfail.
53201         Add dirname.
53202
53203         * modules/verify: New file.
53204         * MODULES.html.sh (Diagnostics <assert.h>): New section,
53205         with "verify" module.
53206
53207 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
53208
53209         Sync from coreutils.
53210
53211         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
53212         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
53213         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
53214         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
53215         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
53216         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
53217         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
53218         Don't bother checking for string.h, stdlib.h, unistd.h.
53219         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
53220         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
53221         module's job.
53222         * m4/jm-macros.m4 (gl_MACROS): Likewise.
53223         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
53224
53225         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
53226         (gl_GETDATE): Use it.
53227
53228         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
53229
53230 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
53231
53232         Sync from coreutils.
53233
53234         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
53235         stat-time.h.
53236         * lib/argmatch.h: Include verify.h
53237         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
53238         (ARGMATCH_ASSERT): Remove; unused.
53239         * lib/canonicalize.c: Assume STDC_HEADERS.
53240         * lib/exclude.c: Include "strcase.h".
53241         * lib/regex_internal.h [!defined _LIBC]: Likewise.
53242         * lib/getusershell.c: Include stdio--.h rather than stdio.h
53243         and stdio-safer.h.
53244         (getusershell): Call fopen, not fopen_safer.
53245         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
53246         Do not include unistd-safer.h.
53247         (save_cwd): Don't call fd_safer; no longer needed
53248         now that we include fcntl--.h.
53249
53250         * lib/getdate.y (relative_time): New type.
53251         (RELATIVE_TIME_0): New constant.
53252         (parser_control): Use relative_time instead of doing it ourselves.
53253         (%union): Add new relative_time rel member.
53254         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
53255         Now typeless.
53256         (relunit, relunit_snumber): Now of type rel.
53257         (zone, rel, relunit, get_date): Adjust to above changes.
53258
53259         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
53260         Do not include unistd-safer.h.
53261         (getloadavg): Don't call fd_safer; no longer needed
53262         now that we include fcntl--.h.
53263
53264         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
53265         (make_dir_parents): Treat ENOSYS like EEXIST.
53266
53267         Improve quality of diagnostics on restore_cwd failure.
53268         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
53269         (make_dir_parents): Last arg is now int * (for errno), not bool *.
53270         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
53271         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
53272         each time through the loop.  Do not diagnose restore_cwd failure;
53273         that is the caller's job (and perhaps the caller does not care).
53274
53275         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
53276         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
53277         If the file already exists but is not a directory, don't bother
53278         to try to make its parents.
53279         Close potential file descriptor leak if we can't chdir("/") (!).
53280         Don't always return true if chdir($PWD) fails; return true only
53281         if the requested action was done successfully (except for the
53282         chdir($PWD)).
53283         Don't log final directory unless we actually made it.
53284         Refactor to avoid duplicate code to fix up permissions.
53285         Don't attempt to fix up parent permissions if chdir($PWD) fails.
53286
53287         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
53288         to make it a bit faster and (I hope) clearer.
53289         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
53290         Fix bug in formats like %2N.
53291
53292         * lib/verify.h: New file.
53293
53294 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
53295
53296         Sync from coreutils.
53297         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
53298
53299 2005-09-22  Jim Meyering  <jim@meyering.net>
53300
53301         Sync from coreutils.
53302
53303         * m4/lstat.m4 (gl_FUNC_LSTAT):
53304         Use AC_LIBSOURCES to require lstat.c and lstat.h.
53305         Remove obsolete comment.
53306         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
53307         * m4/xstrtod.m4: Likewise.
53308
53309         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
53310
53311 2005-09-22  Jim Meyering  <jim@meyering.net>
53312
53313         Sync from coreutils.
53314
53315         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
53316
53317         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
53318         the .tm_year member, since otherwise gcc-4.0 would now warn about
53319         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
53320
53321         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
53322         order to avoid an unsuppressible warning from gcc on 64-bit systems.
53323
53324         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
53325         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
53326         when run in a time zone for which daylight savings time is in effect
53327         for the starting date.
53328
53329         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
53330         stop us from restricting permissions of just-created absolute-named
53331         directories.
53332         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
53333         to restore initial working directory.
53334         * lib/mkdir-p.c (make_dir_parents): New parameter:
53335         different_working_dir, to tell caller if/when we change the working
53336         directory and are unable to return to the initial one.
53337         * lib/mkdir-p.h (make_dir_parents): Update prototype.
53338         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
53339         `return false'.  This fixes a bug introduced on 2004-07-30.
53340
53341         * lib/openat.c (fdopendir): Be sure to close the supplied
53342         file descriptor before returning.  This makes our replacement
53343         implementation a little closer to Solaris's, where fdopendir
53344         ties the file descriptor to the returned DIR* pointer.
53345         * lib/openat.c (unlinkat): New function.
53346         * lib/openat.h (unlinkat): Add prototype.
53347         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
53348         (openat_restore_fail): Rename from openat_restore_die.
53349         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
53350
53351         Provide an alternative to exiting immediately upon save_cwd or
53352         restore_cwd failure.  Now, an application can arrange e.g.,
53353         to perform a longjump in that case.
53354         * lib/openat.c: Include dirname.h.
53355         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
53356         (rpl_openat, fdopendir, fstatat): Call openat_save_die
53357         and openat_restore_die rather than calling error directly.
53358         Don't include "error.h" or "exitfail.h"; they're no longer needed.
53359
53360         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
53361         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
53362         define.
53363
53364         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
53365         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
53366                             int utc, int nanoseconds);
53367         Background:
53368         date should not have to allocate a megabyte of virtual memory to
53369         handle a format argument like +%1048575T.  When implemented with
53370         strftime, it must allocate such a buffer, use strftime to fill it
53371         in, print it, then free it.
53372         With fprintftime, it simply prints everything and exits.
53373         With no need for memory allocation, that's one fewer way to fail.
53374         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
53375         optional field width, not before, so we accept %9:z, not %:9z.
53376         (my_strftime): Be sure to use L_('x') for literals.
53377
53378         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
53379         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
53380         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
53381         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
53382         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
53383         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
53384         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
53385         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
53386         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
53387         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
53388         * lib/xgethostname.c, lib/xreadlink.c:
53389         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
53390
53391         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
53392         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
53393         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
53394         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
53395         and don't include <sys/file.h>).
53396
53397 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
53398
53399         Sync from coreutils.
53400
53401         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
53402         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
53403         [!LDAV_DONE]: Avoid unused variable warning.
53404
53405 2005-09-21  Bruno Haible  <bruno@clisp.org>
53406
53407         * lib/unicodeio.h (unicode_to_mb): New declaration.
53408
53409 2005-09-20  Derek Price  <derek@ximbiot.com>
53410
53411         * lib/getaddrinfo.c: Don't include <netdb.h> included from
53412         getaddrinfo.h.
53413
53414 2005-09-20  Bruno Haible  <bruno@clisp.org>
53415
53416         * gnulib-tool: Remove trailing slashes from the values specified for
53417         --source-base, --m4-base, --tests-base, --aux-dir.
53418         Suggested by Simon Josefsson <jas@extundo.com>.
53419
53420 2005-09-20  Bruno Haible  <bruno@clisp.org>
53421
53422         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
53423         func_modules_to_filelist, func_import, func_create_testdir): Make all
53424         sorting results locale-independent, so that gnulib-cache.m4 doesn't
53425         change when gnulib-tool is invoked in a different locale.
53426
53427 2005-09-19  Simon Josefsson  <jas@extundo.com>
53428
53429         * m4/socklen.m4: Fix typo.
53430
53431 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53432
53433         Use a consistent style for including <config.h>.
53434         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
53435         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
53436         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
53437         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
53438         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
53439         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
53440         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
53441         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
53442         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
53443         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
53444         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
53445         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
53446         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
53447         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
53448         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
53449         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
53450         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
53451         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
53452         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
53453         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
53454         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
53455         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
53456         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
53457         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
53458         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
53459         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
53460         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
53461         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
53462         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
53463         lib/xstrtoumax.c, lib/yesno.c:
53464         Standardize inclusion of config.h.
53465         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
53466         lib/inttostr.h:  Removed inclusion of config.h from header files.
53467         * lib/inttostr.c:  Adjusted in-tree users.
53468         * lib/timespec.h: Remove superfluous warning to include config.h.
53469         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
53470         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
53471         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
53472         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
53473         config.h with HAVE_CONFIG_H.
53474
53475 2005-09-19  Jim Meyering  <jim@meyering.net>
53476
53477         * modules/pathmax (License): Change to LGPL.
53478
53479 2005-09-19  Derek Price  <derek@ximbiot.com>
53480
53481         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
53482
53483 2005-09-19  Bruno Haible  <bruno@clisp.org>
53484
53485         * gnulib-tool (import): Provide default for --tests-base.
53486
53487 2005-09-19  Bruno Haible  <bruno@clisp.org>
53488
53489         * doc/quote.texi: New file, extracted from gnulib.texi.
53490         * doc/ctime.texi: New file, extracted from gnulib.texi.
53491         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
53492         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
53493         * doc/gnulib.texi: Include them.
53494
53495 2005-09-18  Bruno Haible  <bruno@clisp.org>
53496
53497         Portability fix.
53498         * gnulib-tool (func_readlink): New function.
53499         (func_ln_if_changed): Use it.
53500
53501 2005-09-18  Bruno Haible  <bruno@clisp.org>
53502
53503         * gnulib-tool: Support --with-tests also with --import.
53504         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
53505         (func_import): Use variables $testsbase and $inctests. Emit a
53506         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
53507         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
53508         SUBDIRS += $testsdir.
53509         (func_create_testdir): Update.
53510
53511 2005-09-18  Bruno Haible  <bruno@clisp.org>
53512
53513         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
53514         instead of $dry_run.
53515         (func_cp_if_changed, func_mv_if_changed): Remove functions.
53516         (func_ln_if_changed): Don't handle dry-run here.
53517         (func_import): In dry-run mode, detect more precisely which actions
53518         would be performed, and don't use "...ing" verbs.
53519
53520 2005-09-18  Bruno Haible  <bruno@clisp.org>
53521
53522         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
53523         (func_import): Use join on two temporary files instead of three nested
53524         loops, in order to determine which files are new or old.
53525
53526 2005-09-18  Bruno Haible  <bruno@clisp.org>
53527
53528         * gnulib-tool (func_import): Comment out code that spits out the
53529         new files with --dry-run.
53530
53531 2005-09-18  Bruno Haible  <bruno@clisp.org>
53532
53533         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
53534
53535 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
53536
53537         * lib/stat-time.h: New file.
53538         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
53539         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
53540         in a different way.
53541         (timespec_cmp): New function.
53542         * lib/utimecmp.c: Include stat-time.h.
53543         (SYSCALL_RESOLUTION): Depend on whether various struct stat
53544         members exist, not on the obsolescent ST_MTIM_NSEC.
53545         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
53546
53547 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
53548
53549         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
53550
53551 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
53552
53553         * MODULES.html.sh (File system functions): Add stat-time.
53554         * modules/stat-time: New file.
53555         * modules/timespec (Files): Remove m4/st_mtim.m4; this
53556         is now done in a different way, by the stat-time module.
53557         * modules/utimecmp (Depends-on): Add stat-time.
53558
53559 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
53560
53561         * m4/st_mtim.m4: Remove.  Superseded by...
53562         * m4/stat-time.m4: New file.
53563         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
53564         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
53565
53566 2005-09-15  Derek Price  <derek@ximbiot.com>
53567
53568         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
53569
53570 2005-09-15  Derek Price  <derek@ximbiot.com>
53571
53572         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
53573         * lib/regex_internal.c: Ditto, using this...
53574         (__GNUC_PREREQ): ...new macro.
53575         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
53576         using...
53577         (__GNUC_PREREQ): ...this new macro.
53578
53579         * lib/strstr.h: Include string.h. Define strstr as a macro here.
53580
53581 2005-09-15  Derek Price  <derek@ximbiot.com>
53582             Paul Eggert  <eggert@cs.ucla.edu>
53583
53584         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
53585         changes, consolidating in...
53586         * lib/regex_internal.h: ...this file.
53587
53588 2005-09-13  Jim Meyering  <jim@meyering.net>
53589
53590         * lib/canon-host.c: Filter through gnu indent and reword comments
53591         slightly.
53592         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
53593
53594 2005-09-13  Derek Price  <derek@ximbiot.com>
53595
53596         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
53597         failure.
53598         Reported by Jim Meyering  <jim@meyering.net>.
53599
53600 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
53601
53602         * lib/base64.c: Typo.
53603         (base64_encode): Put b64str in initialized data section.
53604
53605 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
53606
53607         Merge glibc and coreutils changes into gnulib, plus a few
53608         extra fixes.
53609         * lib/md5.c: Use #error rather than a string.
53610         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
53611         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
53612         (__attribute__): Define to empty for non recent-GCC.
53613         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
53614         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
53615         Renamed from their non-__ counterparts, with new macros replacing
53616         them if not _LIBC.  Add __THROW attribute.
53617         (rol): Remove.
53618         (struct md5_ctx): Align buffer if using GCC.
53619         * lib/sha1.h (struct sha1_ctx): Likewise.
53620         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
53621         The old name was backwards.
53622         (NOTSWAP): Remove; not used.
53623         (rol): New macro, moved here from md5.h.
53624         (sha1_process_block): Remove a FIXME that doesn't make sense.
53625
53626 2005-09-12  Derek Price  <derek@ximbiot.com>
53627
53628         Return usable errors from canon-host.
53629         * lib/canon-host.h: New file.
53630         * lib/canon-host.c (canon_host): Wrap...
53631         (canon_host_r): ...this new function, which now relies exclusively on
53632         getaddrinfo.
53633         (ch_strerror): New function.
53634         (last_cherror): New global.
53635         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
53636         interface.
53637         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
53638         void *.
53639         (freeaddrinfo): Free ai->ai_canonname when set.
53640
53641 2005-09-12  Derek Price  <derek@ximbiot.com>
53642
53643         Make canon-host require getaddrinfo.
53644         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
53645         AC_LIBSOURCE canon-host.h.  Call...
53646         (gl_PREREQ_CANON_HOST): ...this new function, which requires
53647         gl_GETADDRINFO.
53648         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
53649
53650 2005-09-12  Derek Price  <derek@ximbiot.com>
53651
53652         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
53653         LGPL.
53654         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
53655
53656 2005-09-12  Derek Price  <derek@ximbiot.com>
53657
53658         * lib/gai_strerror.c: Include config.h when available.  Include
53659         getaddrinfo.h before other headers to test interface.
53660         Reported by Larry Jones <lawrence.jones@ugs.com>.
53661
53662 2005-09-12  Derek Price  <derek@ximbiot.com>
53663             Paul Eggert  <eggert@cs.ucla.edu>
53664
53665         * modules/glob (Files): Add glob-libc.h.
53666
53667 2005-09-12  Derek Price  <derek@ximbiot.com>
53668             Paul Eggert  <eggert@cs.ucla.edu>
53669
53670         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
53671         glob_.h, glob-libc.h.
53672         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
53673
53674 2005-09-12  Derek Price  <derek@ximbiot.com>
53675             Paul Eggert  <eggert@cs.ucla.edu>
53676
53677         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
53678         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
53679         protecting things that should be done only in gnulib contexts.
53680         * lib/glob_.h: New file, containing only the glob things needed for
53681         gnulib.
53682         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
53683         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
53684         (glob, globfree, glob_pattern_p): Now defined simply in terms of
53685         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
53686         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
53687         and to respect the namespace rules better.
53688
53689 2005-09-08  Simon Josefsson  <jas@extundo.com>
53690
53691         * modules/socklen: New file.
53692
53693 2005-09-08  Simon Josefsson  <jas@extundo.com>
53694
53695         * m4/socklen.m4: New file.
53696
53697 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
53698
53699         * modules/utimens (Files): Add m4/utimbuf.m4, since
53700         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
53701         Reported by Sergey Poznyakoff.
53702
53703 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
53704
53705         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
53706         definitions, since that's the preferred style in glibc.
53707         Fix a minor spacing issue, and update copyright notice to match
53708         glibc's.
53709
53710 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
53711
53712         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
53713
53714 2005-09-06  Simon Josefsson  <jas@extundo.com>
53715
53716         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
53717         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
53718
53719 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
53720
53721         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
53722         warning.
53723
53724 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
53725
53726         * config/srclist.txt: Add glibc bug 1302.
53727
53728 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
53729
53730         Change bitset word type from unsigned int to unsigned long int,
53731         as this has better performance on typical 64-bit hosts.
53732         Port bitset code to hosts with unusual word sizes.
53733         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
53734         (build_collating_symbol):
53735         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
53736         argument is a bitset.  This is merely a style issue, but it makes
53737         it clearer that an entire array is expected.
53738         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
53739         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
53740         Port to the case where bitset_word is not the same as unsigned int.
53741         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
53742         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
53743         Likewise.
53744         * lib/regexec.c (check_dst_limits_calc_pos_1,
53745         check_subexp_matching_top):
53746         (build_trtable, group_nodes_into_DFAstates):
53747         Likewise.
53748         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
53749         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
53750         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
53751         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
53752         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
53753         * lib/regcomp.c (optimize_subexps, lower_subexp):
53754         Work even if bitset_word has holes in its bitwise representation.
53755         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
53756         * lib/regexec.c (check_dst_limits_calc_pos_1,
53757         check_subexp_matching_top):
53758         Likewise.
53759         * lib/regex_internal.c (re_string_reconstruct):
53760         Don't assume UCHAR_MAX == 255.
53761         * lib/regex_internal.h (bitset_set_all): Likewise.
53762         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
53763         All uses changed.
53764         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
53765         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
53766         All uses changed.
53767         (BITSET_WORD_MAX): New macro.
53768         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
53769         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
53770         (bitset_empty, bitset_copy):
53771         Prefer sizeof (bitset) to multiplying it out ourselves.
53772         (bitset_not_merge): Remove; unused.
53773         (bitset_contain): Return bool, not unsigned int with one bit on.
53774         All callers changed.
53775         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
53776         alignment than re_node_set; do this by defining a new internal
53777         type struct dests_alloc and using it to allocate memory.
53778
53779 2005-09-05  Bruno Haible  <bruno@clisp.org>
53780
53781         * gnulib-tool (func_import): Fix comparison in handling of symbolic
53782         links.
53783
53784 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
53785
53786         * modules/size_max (Makefile.am): Add size_max.h
53787
53788 2005-09-04  Derek Price  <derek@ximbiot.com>
53789
53790         * gnulib-tool (func_import): Fix reversed $symbolic logic.
53791
53792 2005-09-03  Simon Josefsson  <jas@extundo.com>
53793
53794         * gnulib-tool: Fix typo.
53795
53796 2005-09-03  Simon Josefsson  <jas@extundo.com>
53797
53798         * config/srclist.txt: Add glibc bug 1293.
53799
53800 2005-09-03  Derek Price  <derek@ximbiot.com>
53801
53802         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
53803         From Larry Jones <lawrence.jones@ugs.com>.
53804
53805 2005-09-02  Simon Josefsson  <jas@extundo.com>
53806
53807         * modules/socklen: New file.
53808
53809 2005-09-02  Simon Josefsson  <jas@extundo.com>
53810
53811         * modules/havelib: New module.
53812
53813         * modules/gettext, modules/iconv, modules/lock, modules/readline:
53814         Use havelib.
53815
53816 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
53817
53818         Check for arithmetic overflow when calculating sizes, to prevent
53819         some buffer-overflow issues.  These patches are conservative, in the
53820         sense that when I couldn't determine whether an overflow was possible,
53821         I inserted a run-time check.
53822         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
53823         macros.
53824         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
53825         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
53826         (re_xnrealloc, re_x2nrealloc): New inline functions.
53827         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
53828         parse_bracket_exp):
53829         (build_equiv_class, build_charclass): Check for arithmetic overflow
53830         in size expression calculations.
53831         * lib/regex_internal.c (re_string_realloc_buffers):
53832         (build_wcs_upper_buffer, re_node_set_add_intersect):
53833         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
53834         (re_dfa_add_node, register_state): Likewise.
53835         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
53836         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
53837         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
53838         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
53839
53840 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
53841
53842         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
53843         m4/ulonglong.m4.  Problem reported by Martin Lambers.
53844
53845 2005-09-02  Bruno Haible  <bruno@clisp.org>
53846
53847         Support for lib vs. lib64 distinction on biarch platforms.
53848         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
53849         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
53850         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
53851
53852 2005-09-02  Bruno Haible  <bruno@clisp.org>
53853
53854         * gnulib-tool (import): In the other first-use case, provide defaults
53855         as well.
53856
53857 2005-09-02  Bruno Haible  <bruno@clisp.org>
53858
53859         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
53860         patches not yet found in the latest gettext release.
53861
53862 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
53863
53864         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
53865         to avoid a collision with bits/local_lim.h in glibc.
53866         All uses changed.  Problem reported by Dmitry V. Levin in
53867         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
53868
53869         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
53870         bugs in int versus size_t comparisons.
53871         (re_string_context_at): Fix bug where the code assumed that
53872         Idx is signed.
53873
53874         Use bool where appropriate.
53875         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
53876         All callers changed.
53877         (calc_eclosure_iter): Likewise, for ROOT arg.
53878         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
53879         (build_charclass_op): Likewise, for NON_MATCH arg.
53880         * lib/regex_internal.c (re_string_allocate, re_string_construct):
53881         (re_string_construct_common): Likewise, for ICASE arg.
53882         * lib/regexec.c (re_search_2_stub, re_search_stub):
53883         Likewise, for RET_LEN arg.
53884         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
53885         (set_regs): Likewise, for FL_BACKTRACK arg.
53886         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
53887         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
53888         (calc_eclosure_iter, parse_bracket_exp):
53889         Use bool for internal variables that are booleans.
53890         * lib/regexec.c (re_search_internal, check_matching,
53891         proceed_next_node):
53892         (set_regs, build_sifted_states, sift_states_bkref):
53893         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
53894         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
53895         (find_collation_sequence_value):
53896         Likewise.
53897         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
53898         (re_node_set_compare):
53899         Return bool, not int. All callers changed.
53900         * lib/regexec.c (check_halt_node_context, check_dst_limits):
53901         (build_trtable, check_node_accept): Likewise.
53902         * lib/regex_internal.h: Include stdbool.h.
53903
53904         Fix bugs uncovered when converting to bool.
53905         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
53906         failure instead of charging ahead blindly.
53907         * lib/regex_internal.c (register_state): Likewise.
53908         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
53909         for freeing internal storage.
53910         (group_nodes_into_DFA_states): Use unsigned int, not int, for
53911         bitset pieces used as boolean, to avoid undefined behavior
53912         on hosts that do int overflow checking.
53913
53914 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
53915
53916         * config/srclist.txt: Add glibc bugs 1285-1287.
53917
53918 2005-09-01  Jim Meyering  <jim@meyering.net>
53919
53920         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
53921         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
53922         Require gl_STAT_MACROS, too.
53923
53924 2005-09-01  Bruno Haible  <bruno@clisp.org>
53925
53926         * gnulib-tool (import): In the first-use case, provide defaults.
53927
53928 2005-09-01  Bruno Haible  <bruno@clisp.org>
53929
53930         * gnulib-tool (func_import): Remove the .tmp files.
53931
53932 2005-09-01  Bruno Haible  <bruno@clisp.org>
53933
53934         * gnulib-tool (func_import): Fix handling of symbolic links.
53935
53936 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
53937
53938         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
53939         old glibc regex code mishandles strings longer than 2**31 bytes.
53940         This patch fixes this when the regex code is used in gnulib
53941         (i.e., outside glibc).
53942
53943         This patch should not affect the use of the regex code inside
53944         glibc.  No doubt this problem also needs to be handled for glibc
53945         as well, but the result will be an incompatible change to the
53946         glibc ABI, and the old ABI will have to be supported too.  That
53947         can be the the subject for another patch.
53948
53949         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
53950         governing whether the rest of this patch is active.  By default,
53951         the macro is disabled and the patch has no effect.
53952         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
53953         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
53954         (struct re_pattern_buffer, re_search, re_search_2, re_match):
53955         (re_match_2, re_set_registers): Use the new types.
53956         * lib/regex_internal.h (Idx, re_hashval_t): New types.
53957         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
53958         New macros.
53959         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
53960         (re_string_context_at, bin_tree_t, re_dfastate_t):
53961         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
53962         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
53963         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
53964         (re_string_char_size_at, re_string_wchar_at):
53965         (re_string_elem_size_at):
53966         Use the new types and macros to port to 64-bit hosts.
53967         Use unsigned types for internal values, so that the code
53968         mostly works even for arrays larger than SSIZE_MAX.
53969         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
53970         (search_duplicated_node, calc_eclosure_iter, fetch_number):
53971         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
53972         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
53973         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
53974         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
53975         (calc_inveclosure, parse_dup_op, build_range_exp):
53976         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
53977         (fetch_number, create_token_tree, mark_opt_subexp):
53978         Likewise.
53979         * lib/regex_internal.c (re_string_construct_common,
53980         create_ci_newstate):
53981         (create_cd_newstate, re_string_allocate, re_string_construct):
53982         (re_string_realloc_buffers, build_wcs_upper_buffer):
53983         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
53984         (re_string_reconstruct, re_string_peek_byte_case):
53985         (re_string_fetch_byte_case, re_string_context_at):
53986         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
53987         (re_node_set_init_copy, re_node_set_add_intersect):
53988         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
53989         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
53990         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
53991         (re_acquire_state, re_acquire_state_context, register_state):
53992         Likewise.
53993         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
53994         search_cur_bkref_entry):
53995         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
53996         (re_search_internal, re_search_2_stub, re_search_stub)
53997         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
53998         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
53999         (update_cur_sifted_state, check_dst_limits):
54000         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
54001         (check_subexp_limits, sift_states_bkref, merge_state_array):
54002         (check_subexp_matching_top, get_subexp, get_subexp_sub):
54003         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
54004         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
54005         (expand_bkref_cache, check_node_accept_bytes):
54006         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
54007         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
54008         (acquire_init_state_context, check_halt_node_context):
54009         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
54010         (sift_states_backward, clean_state_log_if_needed):
54011         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
54012         (find_recover_state, transit_state_sb, transit_state_mb):
54013         (transit_state_bkref, build_trtable, match_ctx_clean):
54014         Likewise.
54015         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
54016         to work around an assumption that REG_MISSING is negative.
54017
54018         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
54019         (seek_collating_symbol_entry) [defined _LIBC]:
54020         (lookup_collation_sequence_value) [defined _LIBC]:
54021         (build_range_exp, build_collating_symbol) [defined _LIBC]:
54022         Use prototypes rather than old-style function definitions.
54023         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
54024         (transit_state_sb) [0]:
54025         (find_collation_sequence_value) [defined _LIBC]: Likewise.
54026
54027         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
54028         rm_eo.
54029
54030         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
54031         (optimize_subexps, lower_subexp):
54032         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
54033         since the signed shift might overflow.  Use 1u<<31 instead.
54034         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
54035         Likewise.
54036         * lib/regexec.c (check_dst_limits_calc_pos_1,
54037         check_subexp_matching_top): Likewise.
54038
54039         * lib/regcomp.c (optimize_subexps, lower_subexp):
54040         Use CHAR_BIT rather than 8, for clarity.
54041         * lib/regexec.c (check_dst_limits_calc_pos_1):
54042         (check_subexp_matching_top): Likewise.
54043         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
54044         have to worry about portability issues when shifting it left.
54045         Remove no-longer-needed test for table_size > 0.
54046         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
54047         in a word, as the resulting behavior is undefined.
54048         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
54049         in one case, a <= should have been an <, and in another case the
54050         whole test was missing.
54051         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
54052         the standard name CHAR_BIT.
54053         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
54054         this is not true on one's complement and signed-magnitude hosts.
54055
54056         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
54057         next_last_offset.
54058         (struct re_dfa_t): Remove unused member states_alloc.
54059         * lib/regcomp.c (init_dfa): Don't initialize unused members.
54060
54061 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
54062
54063         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
54064         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
54065         and large-file glibc and in 32-bit large-file Solaris.
54066
54067 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
54068
54069         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
54070         lengths fit in regoff_t; this isn't true if regoff_t is the same
54071         width as size_t.
54072         * lib/regex.c (re_search_internal): 5th arg is LAST_START
54073         (= START + RANGE) instead of RANGE.  This avoids overflow
54074         problems when regoff_t is the same width as size_t.
54075         All callers changed.
54076         (re_search_2_stub): Check for overflow when adding the
54077         sizes of the two strings.
54078         (re_search_stub): Check for overflow when adding START
54079         to RANGE; if it occurs, substitute the extreme value.
54080
54081 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
54082
54083         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
54084
54085 2005-08-31  Jim Meyering  <jim@meyering.net>
54086
54087         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
54088         a pointer-to-const.
54089         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
54090         (register_state): Likewise.
54091         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
54092         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
54093         (group_nodes_into_DFAstates): Likewise.
54094
54095 2005-08-31  Jim Meyering  <jim@meyering.net>
54096
54097         * check-module: Add a FIXME comment.
54098
54099 2005-08-31  Eric Blake  <ebb9@byu.net>
54100
54101         * modules/unistd-safer (Files): Add unistd--.h.
54102         * modules/stdio-safer (Files): Add stdio--.h.
54103
54104 2005-08-31  Derek Price  <derek@ximbiot.com>
54105
54106         * lib/getdelim.c (getdelim): Return EOF on EOF.
54107         Reported by Larry Jones <lawrence.jones@ugs.com>.
54108
54109 2005-08-31  Bruno Haible  <bruno@clisp.org>
54110
54111         Avoid unnecessary diffs in the generated lib/Makefile.am.
54112         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
54113         the generated files.
54114         (func_import): Don't set cmd.
54115
54116 2005-08-31  Bruno Haible  <bruno@clisp.org>
54117
54118         * lib/strstr.c: Include <stddef.h>, for NULL.
54119         * lib/strcasestr.c: Likewise.
54120         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
54121
54122 2005-08-31  Bruno Haible  <bruno@clisp.org>
54123
54124         * gnulib-tool: New option --macro-prefix.
54125         (func_import): Use macro_prefix.
54126         (import): Handle option --macro-prefix.
54127
54128 2005-08-31  Bruno Haible  <bruno@clisp.org>
54129
54130         * gnulib-tool (import): Rename most ac_* variables to cached_*.
54131         Also use new variables cached_lgpl, cached_libtool.
54132
54133 2005-08-31  Bruno Haible  <bruno@clisp.org>
54134
54135         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
54136         always instantiating them.
54137
54138 2005-08-31  Bruno Haible  <bruno@clisp.org>
54139
54140         * gnulib-tool (func_import): Read the previous cached settings
54141         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
54142         earlier added by gnulib but are now dropped. Warn when a gnulib file
54143         overwrites a non-gnulib file.
54144
54145 2005-08-31  Bruno Haible  <bruno@clisp.org>
54146
54147         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
54148         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
54149         projects that don't keep autogenerated files in CVS. Put into
54150         actioncmd only the specified modules, not the transitive closure.
54151
54152 2005-08-31  Bruno Haible  <bruno@clisp.org>
54153
54154         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
54155         Create directories that shall be filled.
54156         (import): Don't look for gl_* macros in configure.ac. Recurse across
54157         all directories containing a gnulib-cache.m4 files, if meaningful.
54158
54159 2005-08-31  Bruno Haible  <bruno@clisp.org>
54160
54161         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
54162         (import): Set seen_libtool when we see gl_LIBTOOL.
54163
54164 2005-08-31  Bruno Haible  <bruno@clisp.org>
54165
54166         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
54167         declaration macro definitions from generated gnulib.m4.
54168
54169 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
54170
54171         * lib/iconvme.h: Add prototype for iconv_alloc.
54172
54173 2005-08-29  Simon Josefsson  <jas@extundo.com>
54174
54175         * lib/iconvme.c: Fix errno.
54176
54177 2005-08-29  Bruno Haible  <bruno@clisp.org>
54178
54179         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
54180         that it works when the directory contains spaces.
54181
54182 2005-08-29  Bruno Haible  <bruno@clisp.org>
54183
54184         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
54185
54186 2005-08-29  Bruno Haible  <bruno@clisp.org>
54187
54188         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
54189         Emit more advice.
54190
54191 2005-08-29  Bruno Haible  <bruno@clisp.org>
54192         and Stepan Kasal  <kasal@ucw.cz>
54193
54194         * check-module: If more parameters are given, check each of them
54195         separately; add more exceptions, as noted by Jim Meyering.
54196         (check_module): New procedure.
54197         (%exempt_header): Now contains all exceptions.
54198
54199 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
54200
54201         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
54202
54203 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
54204
54205         * lib/iconvme.c: Split iconv_string into iconv_alloc.
54206
54207 2005-08-28  Bruno Haible  <bruno@clisp.org>
54208
54209         * m4/gnulib-tool.m4: New file.
54210
54211 2005-08-27  Jim Meyering  <jim@meyering.net>
54212
54213         * modules/unistd-safer (Files): Add pipe-safer.c.
54214         * modules/fcntl-safer (Files): Add creat-safer.c.
54215
54216 2005-08-27  Jim Meyering  <jim@meyering.net>
54217
54218         * m4/stdlib-safer.m4: New file.  From coreutils.
54219         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
54220         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
54221         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
54222         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
54223         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
54224
54225 2005-08-27  Jim Meyering  <jim@meyering.net>
54226
54227         * lib/fopen-safer.c: Merge minor changes from coreutils.
54228         * lib/dup-safer.c: Likewise.
54229         * lib/fd-safer.c: Likewise.
54230
54231         Merge from coreutils.
54232         * lib/stdio--.h: New file.
54233         * lib/stdlib--.h: New file.
54234         * lib/mkstemp-safer.c: New file.
54235
54236         GNU tar needs these.
54237         * lib/pipe-safer.c: New file.
54238         * lib/creat-safer.c: New file.
54239         * lib/fcntl--.h (creat): Define to creat_safer.
54240         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
54241         * lib/unistd--.h (pipe): Define to pipe_safer.
54242         * lib/unistd-safer.h: Declare pipe_safer.
54243
54244 2005-08-26  Simon Josefsson  <jas@extundo.com>
54245
54246         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
54247         Haible <bruno@clisp.org>.
54248
54249 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
54250
54251         * lib/regex_internal.h: Remove all references to
54252         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
54253         or better.
54254         (bitset_not, bitset_merge, bitset_not_merge):
54255         (bitset_mask, re_string_allocate, re_string_construct):
54256         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
54257         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
54258         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
54259         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
54260         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
54261         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
54262         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
54263         (re_acquire_state_context):
54264         Remove unnecessary forward decls.
54265         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
54266         Put __attribute at function definition,
54267         now that the function decl has been removed.
54268         * lib/regex_internal.c (re_string_peek_byte_case):
54269         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
54270         Likewise.
54271
54272 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
54273
54274         * m4/regex.m4: Add AC_PREREQ(2.50).
54275         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
54276
54277 2005-08-25  Simon Josefsson  <jas@extundo.com>
54278
54279         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
54280         __fsetlocking.
54281
54282 2005-08-25  Simon Josefsson  <jas@extundo.com>
54283
54284         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
54285         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
54286         GLIBC specific code.
54287
54288 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
54289
54290         Make regex safe for g++.  This fixes one real bug (an "err"
54291         that should have been "*err").  g++ problem reported by
54292         Sam Steingold.
54293         * lib/regex_internal.h (re_calloc): New macro, consistent with
54294         re_malloc etc.  All callers of calloc changed to use re_calloc.
54295         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
54296         not int.  All callers changed.
54297         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
54298         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
54299         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
54300         (find_recover_state): Change "err" to "*err"; this fixes what
54301         appears to be a real bug.
54302         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
54303         versus int.
54304
54305 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
54306
54307         * modules/regex (Depends-on): Add malloc, since the code
54308         assumes that !malloc(0) means failure.
54309
54310 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
54311
54312         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
54313
54314         alloca modernization/simplification for regex.
54315         * lib/regex.c: Remove portability cruft for alloca.  This no longer
54316         needs to be at the start of the file, and can be moved into
54317         regex_internal.h and simplified.
54318         * lib/regex_internal.h: Include <alloca.h>.
54319         (__libc_use_alloca) [!defined _LIBC]: New macro.
54320         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
54321         now works outside glibc.
54322
54323 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
54324
54325         * config/srclist.txt: Add glibc bugs 1241, 1245.
54326
54327 2005-08-25  Jim Meyering  <jim@meyering.net>
54328
54329         * lib/open-safer.c: Include <config.h>.
54330         Otherwise, we'd lose LARGEFILE support in any file using
54331         e.g. "fcntl--.h"
54332
54333 2005-08-25  Bruno Haible  <bruno@clisp.org>
54334
54335         * m4/minmax.m4: Require autoconf 2.52.
54336         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
54337         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
54338         alternatives of translit over the alphabet.
54339         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
54340
54341 2005-08-24  Simon Josefsson  <jas@extundo.com>
54342
54343         * tests/test-getpass.c: New file.
54344
54345 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
54346
54347         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
54348         for GNU regex features.
54349
54350 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
54351
54352         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
54353         * lib/regex.h (regerror): Likewise.
54354
54355         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
54356         requires this.  (The code never needed it.)
54357
54358         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
54359         All uses of recently-renamed identifiers changed to use the new,
54360         POSIX-compliant names.  The code will build and run just fine
54361         without these changes, but it's better to eat our own dog food
54362         and use the standard-conforming names.
54363
54364         * lib/regex.h: Fix a multitude of POSIX name space violations.
54365         These changes have an effect only for programs that define
54366         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
54367         do not change anything for programs compiled in the normal way.
54368         Also, there is no effect on the ABI.
54369
54370         (_REGEX_SOURCE): New macro.
54371         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
54372         defined and _GNU_SOURCE is not; this fixes a name space violation.
54373
54374         Rename the following macros to obey POSIX requirements.
54375         The old names are still visible as macros if _REGEX_SOURCE is defined.
54376         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
54377         RE_BACKSLASH_ESCAPE_IN_LISTS.
54378         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
54379         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
54380         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
54381         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
54382         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
54383         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
54384         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
54385         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
54386         (REG_INTERVALS): renamed from RE_INTERVALS.
54387         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
54388         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
54389         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
54390         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
54391         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
54392         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
54393         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
54394         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
54395         RE_UNMATCHED_RIGHT_PAREN_ORD.
54396         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
54397         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
54398         (REG_DEBUG): renamed from RE_DEBUG.
54399         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
54400         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
54401         unusual, since we can't clash with the POSIX REG_ICASE.
54402         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
54403         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
54404         (REG_NO_SUB): renamed from RE_NO_SUB.
54405         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
54406         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
54407         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
54408         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
54409         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
54410         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
54411         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
54412         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
54413         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
54414         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
54415         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
54416         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
54417         RE_SYNTAX_POSIX_MINIMAL_BASIC.
54418         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
54419         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
54420         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
54421         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
54422         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
54423         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
54424         (REG_FIXED): Renamed from REGS_FIXED.
54425         (REG_NREGS): Renamed from RE_NREGS.
54426
54427         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
54428         of other REG_* macros, since POSIX says the user is allowed to
54429         #undef these macros selectively.
54430
54431         (reg_errcode_t): Update comment stating what other tables need
54432         to be consistent.
54433
54434         Rename the following enum values to obey POSIX requirements.
54435         The old names are still visible as macros.
54436         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
54437         is not defined, since GNU is supposed to be a superset of POSIX as
54438         much as possible, and since we want reg_errcode_t to be a signed
54439         type for implementation consistency.
54440         (_REG_NOERROR): Renamed from REG_NOERROR.
54441         (_REG_NOMATCH): Renamed from REG_NOMATCH.
54442         (_REG_BADPAT): Renamed from REG_BADPAT.
54443         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
54444         (_REG_ECTYPE): Renamed from REG_ECTYPE.
54445         (_REG_EESCAPE): Renamed from REG_EESCAPE.
54446         (_REG_ESUBREG): Renamed from REG_ESUBREG.
54447         (_REG_EBRACK): Renamed from REG_EBRACK.
54448         (_REG_EPAREN): Renamed from REG_EPAREN.
54449         (_REG_EBRACE): Renamed from REG_EBRACE.
54450         (_REG_BADBR): Renamed from REG_BADBR.
54451         (_REG_ERANGE): Renamed from REG_ERANGE.
54452         (_REG_ESPACE): Renamed from REG_ESPACE.
54453         (_REG_BADRPT): Renamed from REG_BADRPT.
54454         (_REG_EEND): Renamed from REG_EEND.
54455         (_REG_ESIZE): Renamed from REG_ESIZE.
54456         (_REG_ERPAREN): Renamed from REG_ERPAREN.
54457         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
54458         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
54459         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
54460         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
54461
54462         (_REG_RE_NAME, _REG_RM_NAME): New macros.
54463         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
54464         changed.  But support the old name if the new one is not defined
54465         and if _REGEX_SOURCE.
54466
54467         Change the following member names in struct re_pattern_buffer.
54468         The old names are still supported if !_REGEX_SOURCE.
54469         The new names are always supported, regardless of _REGEX_SOURCE.
54470         (re_buffer): Renamed from buffer.
54471         (re_allocated): Renamed from allocated.
54472         (re_used): Renamed from used.
54473         (re_syntax): Renamed from syntax.
54474         (re_fastmap): Renamed from fastmap.
54475         (re_translate): Renamed from translate.
54476         (re_can_be_null): Renamed from can_be_null.
54477         (re_regs_allocated): Renamed from regs_allocated.
54478         (re_fastmap_accurate): Renamed from fastmap_accurate.
54479         (re_no_sub): Renamed from no_sub.
54480         (re_not_bol): Renamed from not_bol.
54481         (re_not_eol): Renamed from not_eol.
54482         (re_newline_anchor): Renamed from newline_anchor.
54483
54484         Change the following member names in struct re_registers.
54485         The old names are still supported if !_REGEX_SOURCE.
54486         The new names are always supported, regardless of _REGEX_SOURCE.
54487         (rm_num_regs): Renamed from num_regs.
54488         (rm_start): Renamed from start.
54489         (rm_end): Renamed from end.
54490
54491         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
54492         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
54493         Prepend __ to parameter names.
54494
54495         Undo yesterday's changes.
54496
54497 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
54498
54499         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
54500         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
54501         lib/regex.c.
54502
54503 2005-08-24  Jim Meyering  <jim@meyering.net>
54504
54505         Sync from coreutils.
54506         * m4/fcntl-safer.m4: New file.
54507
54508         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
54509         and object files for this module.
54510
54511 2005-08-24  Jim Meyering  <jim@meyering.net>
54512
54513         Sync from coreutils.
54514         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
54515
54516 2005-08-24  Jim Meyering  <jim@meyering.net>
54517
54518         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
54519         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
54520
54521 2005-08-24  Jim Meyering  <jim@meyering.net>
54522
54523         * modules/fcntl-safer: New module.
54524         * modules/fts (Depends-on): Add fcntl-safer.
54525         * MODULES.html.sh (File descriptor based Input/Output):
54526         Add fcntl-safer.
54527
54528 2005-08-24  Bruno Haible  <bruno@clisp.org>
54529
54530         Support for unit test modules.
54531         * modules/README: Mention tests modules.
54532         * modules/TEMPLATE-TESTS: New file.
54533         * gnulib-tool: New options --extract-tests-module, --with-tests and
54534         --tests-base (unused for the moment).
54535         (testsbase, inctests): New variables.
54536         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
54537         (func_verify_module): Exclude TEMPLATE-TESTS.
54538         (func_verify_nontests_module, func_verify_tests_module): New functions.
54539         (func_get_dependencies): Add implicit dependency for tests modules.
54540         (func_get_tests_module): New function.
54541         (func_modules_transitive_closure): When --with-tests was specified,
54542         include the unit tests as well, unless explicitly avoided.
54543         (func_emit_lib_Makefile_am): Ignore the tests modules here.
54544         (func_emit_tests_Makefile_am): New function.
54545         (func_create_testdir): When --with-tests was specified, emit a
54546         tests/ directory.
54547         * MODULES.html.sh (Future developments): Update.
54548
54549 2005-08-24  Bruno Haible  <bruno@clisp.org>
54550
54551         * modules/tls-tests: New file.
54552         * tests/test-tls.c: New file, from GNU gettext.
54553
54554 2005-08-24  Bruno Haible  <bruno@clisp.org>
54555
54556         * modules/lock-tests: New file.
54557         * tests/test-lock.c: New file, from GNU gettext.
54558
54559 2005-08-24  Bruno Haible  <bruno@clisp.org>
54560
54561         * lib/lock.h: Add multiple inclusion guard.
54562         * lib/tls.h: Add multiple inclusion guard.
54563
54564 2005-08-24  Bruno Haible  <bruno@clisp.org>
54565
54566         * gnulib-tool: Add support for the --aux-dir option to
54567         --create-testdir, --create-megatestdir, --test, --megatest.
54568         (func_create_testdir, func_create_megatestdir): Optionally emit a
54569         AC_CONFIG_AUX_DIR directive.
54570         (create-testdir, create-megatestdir, test, megatest): Provide a
54571         default value for $auxdir.
54572
54573 2005-08-24  Bruno Haible  <bruno@clisp.org>
54574
54575         * gnulib-tool (import): Use compound statement instead of subshell
54576         where possible.
54577
54578 2005-08-24  Bruno Haible  <bruno@clisp.org>
54579
54580         * gnulib-tool (import): Change --aux-dir default to "build-aux".
54581
54582 2005-08-24  Bruno Haible  <bruno@clisp.org>
54583
54584         * gnulib-tool (func_version): Update.
54585
54586 2005-08-24  Bruno Haible  <bruno@clisp.org>
54587
54588         * gnulib-tool (func_import, func_create_testdir,
54589         func_create_megatestdir): Quote all autoconf macro arguments.
54590
54591 2005-08-24  Bruno Haible  <bruno@clisp.org>
54592
54593         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
54594         option --force, because --force causes the aclocal.m4 of each
54595         subdirectory to be newer than the corresponding config.h.in.
54596
54597 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
54598
54599         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
54600         All contents moved to gl_REGEX.
54601         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
54602         assume that it does.
54603
54604 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
54605
54606         * lib/regex.h (REG_NOSYS)
54607         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
54608         Define, since POSIX requires it as of 2001.
54609         (_REG_ENOSYS)
54610         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
54611         New private symbol, used to keep the enum signed in all cases.
54612         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
54613         Youngman in
54614         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
54615
54616         * lib/regex_internal.c (re_string_skip_chars, register_state):
54617         (calc_state_hash):
54618         Remove forward decls; no longer needed now that we use prototypes.
54619         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
54620         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
54621         (clean_state_log_if_needed): Likewise.
54622
54623 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
54624
54625         * config/srclist.txt: Add glibc bugs 1231-1233.
54626
54627 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
54628
54629         Fix problems reported by Sam Steingold in
54630         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
54631         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
54632         assumed that reg_errcode_t is a signed type, which is not
54633         necessarily true if _XOPEN_SOURCE is not defined.
54634         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
54635         since some compilers warn about it otherwise.
54636
54637 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
54638
54639         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
54640         (init_word_char, create_initial_state, duplicate_node_closure):
54641         (fetch_token, peek_token_bracket, build_range_exp):
54642         (build_collating_symbol): Remove forward decls; no longer needed
54643         now that we use prototypes.
54644
54645         * lib/regcomp.c:
54646         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
54647         (re_compile_fastmap_iter, regcomp, regerror, regfree):
54648         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
54649         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
54650         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
54651         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
54652         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
54653         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
54654         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
54655         (build_range_exp, build_collating_symbol, parse_bracket_exp):
54656         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
54657         (build_charclass, build_charclass_op, fetch_number, create_tree):
54658         (create_token_tree, mark_opt_subexp, duplicate_tree):
54659         Use prototypes rather than old-style definitions.
54660
54661         * lib/regex_internal.c:
54662         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
54663         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
54664         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
54665         (re_string_reconstruct, re_string_peek_byte_case):
54666         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
54667         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
54668         (re_node_set_init_copy, re_node_set_add_intersect):
54669         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
54670         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
54671         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
54672         (re_acquire_state, re_acquire_state_context, register_state):
54673         (create_ci_newstate, create_cd_newstate, free_state):
54674         Likewise.
54675         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
54676         re_search_2):
54677         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
54678         (re_search_internal, prune_impossible_nodes):
54679         (acquire_init_state_context, check_matching, static):
54680         (check_halt_node_context, check_halt_state_context, proceed_next_node):
54681         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
54682         (update_regs, sift_states_backward, build_sifted_states):
54683         (clean_state_log_if_needed, merge_state_array):
54684         (update_cur_sifted_state, add_epsilon_src_nodes):
54685         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
54686         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
54687         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
54688         (find_recover_state, check_subexp_matching_top, transit_state_mb):
54689         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
54690         (check_arrival, check_arrival_add_next_nodes):
54691         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
54692         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
54693         (check_node_accept_bytes, check_node_accept, extend_buffers):
54694         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
54695         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
54696         (sift_ctx_init):
54697         Likewise.
54698
54699         * lib/regex_internal.h:
54700         (re_string_allocate, re_string_construct, re_string_reconstruct):
54701         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
54702         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
54703         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
54704         (re_string_context_at, re_string_peek_byte_case):
54705         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
54706         is defined, since we now use prototypes always.
54707
54708         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
54709         C89 or better.  All uses removed.
54710
54711 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
54712
54713         * config/srclist.txt: Add glibc bugs 1220-1227.
54714
54715 2005-08-20  Jim Meyering  <jim@meyering.net>
54716
54717         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
54718         of unused local, dfa.
54719
54720 2005-08-20  Bruno Haible  <bruno@clisp.org>
54721
54722         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
54723
54724 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
54725
54726         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
54727         (re_node_set_insert_last, re_dfa_add_node):
54728         Rename local variables to avoid GCC shadowing warnings.
54729
54730 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
54731
54732         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
54733         [defined lint]: Suppress bogus uninitialized-variable warnings.
54734
54735         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
54736         and let the caller return REG_ESPACE if out of space.  This
54737         removes an uninitialied-variable warning with GCC 4.0.1, and also
54738         avoids taking the address of a local variable.  All callers
54739         changed.
54740
54741 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
54742
54743         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
54744         $LIBCSRC/posix/regexec.c.
54745         Add glibc bug 1217 for regcomp.c.
54746
54747 2005-08-19  Jim Meyering  <jim@meyering.net>
54748
54749         * lib/regexec.c (proceed_next_node): Redo local variables to
54750         avoid GCC shadowing warnings.
54751
54752 2005-08-18  Bruno Haible  <bruno@clisp.org>
54753
54754         * lib/strstr.c (strstr): Fix return value in multibyte case.
54755         * lib/strcasestr.c (strcasestr): Likewise.
54756
54757 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
54758
54759         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
54760
54761 2005-08-17  Jim Meyering  <jim@meyering.net>
54762
54763         Make the %s format (seconds since the epoch) work for a negative
54764         number and when used with a zero-padded field width, e.g. %015s.
54765
54766         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
54767         label so that it precedes the code to set `digits'.  Otherwise,
54768         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
54769         print `00-22'.  Now, it prints `-0022', as it should.
54770
54771 2005-08-17  Bruno Haible  <bruno@clisp.org>
54772
54773         * modules/strstr (Files): Add m4/mbrtowc.m4.
54774         (Depends-on): Add mbuiter.
54775
54776 2005-08-17  Bruno Haible  <bruno@clisp.org>
54777
54778         * modules/strcasestr: New file.
54779         * MODULES.html.sh (String handling, based on ANSI C 89): Add
54780         strcasestr.
54781
54782 2005-08-17  Bruno Haible  <bruno@clisp.org>
54783
54784         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
54785
54786 2005-08-17  Bruno Haible  <bruno@clisp.org>
54787
54788         * modules/mbuiter: New file.
54789         * MODULES.html.sh (Extended multibyte and wide character utilities):
54790         Add mbuiter.
54791
54792 2005-08-17  Bruno Haible  <bruno@clisp.org>
54793
54794         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
54795         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
54796
54797 2005-08-17  Bruno Haible  <bruno@clisp.org>
54798
54799         * m4/strcasestr.m4: New file.
54800
54801 2005-08-17  Bruno Haible  <bruno@clisp.org>
54802
54803         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
54804         * lib/strstr.c: Completely rewritten, with multibyte locale support.
54805
54806 2005-08-17  Bruno Haible  <bruno@clisp.org>
54807
54808         * lib/strcasestr.h: New file.
54809         * lib/strcasestr.c: New file.
54810
54811 2005-08-17  Bruno Haible  <bruno@clisp.org>
54812
54813         * lib/strcasecmp.c: Use mbuiter.h.
54814
54815 2005-08-17  Bruno Haible  <bruno@clisp.org>
54816
54817         * lib/mbuiter.h: New file.
54818
54819 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
54820
54821         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
54822         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
54823         and gl_GETOPT are both invoked via different paths (as happens
54824         with GNU tar CVS because it uses both argp and getopt), the former
54825         wins.
54826
54827 2005-08-16  Bruno Haible  <bruno@clisp.org>
54828
54829         * modules/tls: New file.
54830         * MODULES.html.sh (Multithreading): Add tls.
54831
54832 2005-08-16  Bruno Haible  <bruno@clisp.org>
54833
54834         * modules/strnlen1: New file.
54835         * MODULES.html.sh (String handling): Add strnlen1.
54836
54837 2005-08-16  Bruno Haible  <bruno@clisp.org>
54838
54839         * modules/strcase (Files): Add m4/mbrtowc.m4.
54840         (Depends-on): Add strnlen1, mbchar.
54841
54842 2005-08-16  Bruno Haible  <bruno@clisp.org>
54843
54844         * modules/mbiter: New file.
54845         * MODULES.html.sh (Extended multibyte and wide character utilities):
54846         Add mbiter.
54847
54848 2005-08-16  Bruno Haible  <bruno@clisp.org>
54849
54850         * modules/mbfile: New file.
54851         * MODULES.html.sh (Extended multibyte and wide character utilities):
54852         Add mbfile.
54853
54854 2005-08-16  Bruno Haible  <bruno@clisp.org>
54855
54856         * modules/mbchar: New file.
54857         * MODULES.html.sh (Extended multibyte and wide character utilities):
54858         New section.
54859
54860 2005-08-16  Bruno Haible  <bruno@clisp.org>
54861
54862         * m4/tls.m4: New file, from GNU gettext.
54863
54864 2005-08-16  Bruno Haible  <bruno@clisp.org>
54865
54866         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
54867         always.
54868         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
54869
54870 2005-08-16  Bruno Haible  <bruno@clisp.org>
54871
54872         * m4/mbiter.m4: New file.
54873
54874 2005-08-16  Bruno Haible  <bruno@clisp.org>
54875
54876         * m4/mbfile.m4: New file.
54877
54878 2005-08-16  Bruno Haible  <bruno@clisp.org>
54879
54880         * m4/mbchar.m4: New file.
54881
54882 2005-08-16  Bruno Haible  <bruno@clisp.org>
54883
54884         * lib/tls.h: New file, from GNU gettext.
54885         * lib/tls.c: New file, from GNU gettext.
54886
54887 2005-08-16  Bruno Haible  <bruno@clisp.org>
54888
54889         * lib/strnlen1.h: New file.
54890         * lib/strnlen1.c: New file.
54891
54892 2005-08-16  Bruno Haible  <bruno@clisp.org>
54893
54894         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
54895         (mbi_init): Update.
54896         (mbi_avail, mbi_advance): Let the iteration end before the terminating
54897         NUL byte, not after it.
54898
54899 2005-08-16  Bruno Haible  <bruno@clisp.org>
54900
54901         * lib/strcase.h (strcasecmp): Add note in comments.
54902         * lib/strncasecmp.c: Use code from strcasecmp.c.
54903         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
54904         (strcasecmp): Work correctly in multibyte locales.
54905
54906 2005-08-16  Bruno Haible  <bruno@clisp.org>
54907
54908         * lib/mbiter.h: New file.
54909
54910 2005-08-16  Bruno Haible  <bruno@clisp.org>
54911
54912         * lib/mbfile.h: New file.
54913
54914 2005-08-16  Bruno Haible  <bruno@clisp.org>
54915
54916         * lib/mbchar.h: New file.
54917         * lib/mbchar.c: New file.
54918
54919 2005-08-16  Bruno Haible  <bruno@clisp.org>
54920
54921         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
54922         the valid ones. Makes the comparison operations transitive:
54923         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
54924         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
54925
54926 2005-08-15  Simon Josefsson  <jas@extundo.com>
54927
54928         * modules/ssize_t (License): Change to 'unlimited'.
54929
54930         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
54931
54932 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
54933
54934         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
54935         Add comments for each pending glibc patch.
54936
54937 2005-08-15  Bruno Haible  <bruno@clisp.org>
54938
54939         * lib/regex.h (__restrict_arr): Don't define to __restrict if
54940         __cplusplus is defined.
54941
54942 2005-08-14  Jim Meyering  <jim@meyering.net>
54943
54944         Sync from coreutils.
54945
54946         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
54947         Use the hash-table-based cycle-detection code not just when
54948         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
54949         Reported by James Youngman in
54950         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
54951         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
54952         FTS_TIGHT_CYCLE_CHECK.
54953         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
54954         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
54955         once again.
54956         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
54957         * lib/fts.c (fd_safer): Remove decl.
54958         Include fcntl--.h rather than unistd-safer.h
54959         (fts_safe_changedir): Don't call fd_safer; no longer needed
54960         now that we include fcntl--.h.
54961
54962 2005-08-12  Simon Josefsson  <jas@extundo.com>
54963
54964         * modules/getndelim2: Use ssize_t module.
54965         * modules/getnline: Likewise.
54966         * modules/safe-read: Likewise.
54967         * modules/xreadlink: Likewise.
54968
54969         * modules/ssize_t: New file.
54970
54971 2005-08-12  Simon Josefsson  <jas@extundo.com>
54972
54973         * m4/readline.m4: Look for termcap, curses or ncurses if required.
54974
54975 2005-08-12  Simon Josefsson  <jas@extundo.com>
54976
54977         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54978         ssize_t.
54979
54980 2005-08-12  Simon Josefsson  <jas@extundo.com>
54981
54982         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
54983         readline, getdelim and check_version.
54984         (Support for systems lacking ISO C 99: Sizes of integer types):
54985         Add size_max.
54986
54987 2005-08-12  Bruno Haible  <bruno@clisp.org>
54988
54989         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
54990
54991 2005-08-11  Simon Josefsson  <jas@extundo.com>
54992
54993         * modules/readline: New file.
54994
54995         * modules/strnlen (Files): Add strnlen.h.
54996
54997 2005-08-11  Simon Josefsson  <jas@extundo.com>
54998
54999         * m4/readline.m4: New file.
55000
55001 2005-08-11  Simon Josefsson  <jas@extundo.com>
55002
55003         * lib/readline.h, readline.c: New file.
55004
55005 2005-08-11  Simon Josefsson  <jas@extundo.com>
55006
55007         * doc/gnulib.texi (Initial import, Finishing touches): Mention
55008         gl_AVOID.
55009
55010 2005-08-11  Bruno Haible  <bruno@clisp.org>
55011
55012         * lib/strnlen.h (strnlen): Change parameter name to match comment.
55013
55014 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
55015
55016         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
55017
55018 2005-08-10  Simon Josefsson  <jas@extundo.com>
55019
55020         * tests/test-iconvme.c: New file.
55021
55022 2005-08-10  Simon Josefsson  <jas@extundo.com>
55023
55024         * m4/strnlen.m4: New file.
55025
55026         * m4/strndup.m4: Don't check for strnlen declaration, done in
55027         strnlen.m4.
55028
55029 2005-08-10  Simon Josefsson  <jas@extundo.com>
55030
55031         * lib/strndup.c: Use strnlen.h.
55032
55033         * lib/strnlen.h: New file.
55034
55035 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
55036
55037         * README: Typos.
55038
55039 2005-08-02  Simon Josefsson  <jas@extundo.com>
55040
55041         * modules/readline: New file.
55042
55043 2005-08-02  Simon Josefsson  <jas@extundo.com>
55044
55045         * modules/getdelim: New file.
55046
55047         * modules/getline: Rewrite, don't use getndelim2.
55048
55049 2005-08-02  Simon Josefsson  <jas@extundo.com>
55050
55051         * m4/getline.m4: Separate out getdelim stuff into separate module.
55052
55053         * m4/getdelim.m4: New file.
55054
55055 2005-08-02  Simon Josefsson  <jas@extundo.com>
55056
55057         * lib/getline.h, getline.c: Rewrite.
55058
55059         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
55060
55061 2005-07-31  Bruno Haible  <bruno@clisp.org>
55062
55063         * lib/lock.h (gl_lock_initializer): New macro.
55064         (gl_lock_define_initialized): Use it.
55065         (gl_rwlock_initializer): New macro.
55066         (gl_rwlock_define_initialized): Use it.
55067         (gl_recursive_lock_initializer): New macro.
55068         (gl_recursive_lock_define_initialized): Use it.
55069
55070 2005-07-30  Karl Berry  <karl@gnu.org>
55071
55072         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
55073         Report from Ben Pfaff, regarding getopt.
55074
55075 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
55076
55077         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
55078         normal way.
55079         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
55080         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
55081         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
55082         (gl_GETOPT): Use the new macros.  Most of the implementation
55083         is moved to the new macros.  This is for programs like Emacs
55084         that don't want all the functionality of gl_GETOPT.
55085
55086 2005-07-26  Bruno Haible  <bruno@clisp.org>
55087
55088         * m4/lock.m4: Update from GNU gettext.
55089
55090 2005-07-26  Bruno Haible  <bruno@clisp.org>
55091
55092         * lib/lock.h: Update from GNU gettext.
55093         * lib/lock.c: Update from GNU gettext.
55094
55095 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
55096
55097         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
55098         obsolescent AC_TRY_RUN.  Include the default includes files, for
55099         'exit'.
55100
55101 2005-07-24  Bruno Haible  <bruno@clisp.org>
55102
55103         * modules/visibility: New file.
55104         * MODULES.html.sh (Misc): Add visibility.
55105
55106 2005-07-24  Bruno Haible  <bruno@clisp.org>
55107
55108         * m4/visibility.m4: New file.
55109
55110 2005-07-24  Bruno Haible  <bruno@clisp.org>
55111
55112         * doc/visibility.texi: New file.
55113
55114 2005-07-22  Bruno Haible  <bruno@clisp.org>
55115
55116         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
55117         $(ALLOCA_H), redundant through BUILT_SOURCES.
55118         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
55119         redundant through BUILT_SOURCES.
55120         * modules/byteswap (Makefile.am): Remove explicit dependency on
55121         $(BYTESWAP_H), redundant through BUILT_SOURCES.
55122         * modules/fnmatch (Makefile.am): Remove explicit dependency on
55123         $(FNMATCH_H), redundant through BUILT_SOURCES.
55124         * modules/getopt (Makefile.am): Remove explicit dependency on
55125         $(GETOPT_H), redundant through BUILT_SOURCES.
55126         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
55127         redundant through BUILT_SOURCES.
55128         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
55129         redundant through BUILT_SOURCES.
55130         * modules/stdbool (Makefile.am): Remove explicit dependency on
55131         $(STDBOOL_H), redundant through BUILT_SOURCES.
55132         * modules/stdint (Makefile.am): Remove explicit dependency on
55133         $(STDINT_H), redundant through BUILT_SOURCES.
55134         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
55135         Remove explicit dependency on $(SYSEXITS_H).
55136         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
55137
55138 2005-07-18  Simon Josefsson  <jas@extundo.com>
55139
55140         * lib/check-version.c (check_version): Accept identical versions too.
55141
55142 2005-07-18  Bruno Haible  <bruno@clisp.org>
55143
55144         * modules/lock: New file.
55145         * MODULES.html.sh (Multithreading): New section.
55146
55147 2005-07-18  Bruno Haible  <bruno@clisp.org>
55148
55149         * m4/lock.m4: New file, from GNU gettext.
55150
55151 2005-07-18  Bruno Haible  <bruno@clisp.org>
55152
55153         * lib/lock.h: New file, from GNU gettext.
55154         * lib/lock.c: New file, from GNU gettext.
55155
55156 2005-07-18  Bruno Haible  <bruno@clisp.org>
55157
55158         * lib/lock.h (gl_once_t): New type.
55159         (gl_once_define, gl_once): New macros.
55160         * lib/lock.c (fresh_once): New variable.
55161         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
55162         functions.
55163
55164 2005-07-16  Simon Josefsson  <jas@extundo.com>
55165
55166         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
55167         workaround, suggested by Bruno.
55168
55169 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
55170
55171         * modules/xalloc (Depends-on): Add xalloc-die.
55172         * modules/xvasprintf (Depends-on): Add xalloc-die.
55173
55174 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
55175
55176         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
55177         with a minor change.
55178
55179 2005-07-15  Bruno Haible  <bruno@clisp.org>
55180
55181         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
55182         When using lib/poll.c, define poll as rpl_poll.
55183
55184 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
55185
55186         * modules/argp (Depends-on): Remove unlocked-io.
55187
55188 2005-07-14  Derek Price  <derek@ximbiot.com>
55189
55190         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
55191         for glob symlink bug.
55192
55193 2005-07-14  Bruno Haible  <bruno@clisp.org>
55194
55195         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
55196         Instead, test for *_unlocked function declarations directly.
55197
55198 2005-07-11  Simon Josefsson  <jas@extundo.com>
55199
55200         * modules/size_max: New file.
55201
55202         * modules/xsize: Depend on size_max module for size_max.m4.
55203
55204 2005-07-11  Simon Josefsson  <jas@extundo.com>
55205
55206         * lib/size_max.h: New file.
55207
55208 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
55209
55210         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
55211         copyright symbol and the year.
55212         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
55213         (version_etc_va): Use parameterized copyright notice.
55214         Reword to conform to the current GNU coding standards.
55215
55216 2005-07-11  Karl Berry  <karl@gnu.org>
55217
55218         * doc/gnulib.texi (Quoting): new node.
55219         (Initial import): more info, from Patrice.
55220
55221 2005-07-11  Bruno Haible  <bruno@clisp.org>
55222
55223         * gnulib-tool (func_usage): Document option --avoid.
55224         (Command line options): Handle --avoid.
55225         (func_acceptable): New function.
55226         (func_modules_transitive_closure): Use it.
55227
55228 2005-07-11  Bruno Haible  <bruno@clisp.org>
55229
55230         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
55231         Reported by Jim Meyering.
55232
55233 2005-07-10  Bruno Haible  <bruno@clisp.org>
55234
55235         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
55236         Needed when size_t is smaller than 'unsigned int'.
55237         Reported by Paul Eggert.
55238
55239 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
55240
55241         * modules/argp (Depends-on): Add unlocked-io
55242
55243 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
55244
55245         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
55246         block of defines.
55247
55248 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
55249
55250         * config/srclist.txt: Comment out regcomp.c, since we have a porting
55251         fix now.
55252
55253 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
55254         and Paul Eggert  <eggert@cs.ucla.edu>
55255
55256         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
55257         in wint_t, not wchar_t.  Remove now-unnecessary cast.
55258
55259 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
55260
55261         * modules/regex (Files): Add lib/regex_internal.c,
55262         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
55263         (Depends-on): Add extensions.
55264         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
55265
55266 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
55267
55268         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
55269         pathconf.
55270         * m4/same.m4 (gl_SAME): Likewise.
55271         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
55272
55273         * m4/regex.m4: Adjust to new libc regex implementation.
55274         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
55275         all the .c and .h parts of (the new) regex.
55276         Quote the m4 stuff better.
55277         Check for RE_ICASE bug of old gnulib.
55278         Check for REG_STARTEND of recent libc.
55279         Rename local variables from jm_* to gl_*.
55280         Quote operand of "test -f".
55281         Say "recent enough" version of libc, not "version 2".
55282         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
55283         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
55284         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
55285         Remove check for btowc, isascii.
55286         Require AM_LANGINFO_CODESET.
55287
55288 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
55289
55290         * lib/regex.c, regex.h: Sync from libc.
55291         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
55292         * lib/regexec.c:
55293         New files, synced from libc, except that regex_internal.h
55294         currently has a small porting fix.
55295
55296 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
55297
55298         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
55299         regex_internal.c, regexec.c.
55300         Add regex_internal.h too, but as a comment, since the libc version
55301         is currently broken in gnulib mode.
55302
55303 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
55304
55305         Support programs like Emacs that use gnulib but not gettext.
55306         * MODULES.html.sh (Internationalization functions): Add gettext-h.
55307         * modules/gettext-h: New file.
55308         * modules/gettext (Files): Remove lib/gettext.h.
55309         (Depends-on): Add gettext-h.
55310         (Makefile.am): Remove lib_SOURCES.
55311         * modules/argmatch, modules/c-stack, modules/closeout:
55312         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
55313         * modules/execute, modules/file-type, modules/getaddrinfo:
55314         * modules/getopt, modules/human, modules/javacomp:
55315         * modules/javaexec, modules/mkdir-p, modules/obstack:
55316         * modules/openat, modules/pagealign_alloc, modules/pipe:
55317         * modules/quotearg, modules/regex, modules/rpmatch:
55318         * modules/unicodeio, modules/userspec, modules/version-etc:
55319         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
55320         * modules/xsetenv:
55321         Depend on gettext-h, not gettext.
55322
55323 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
55324
55325         * gnulib-tool (func_import): Add support for 'public domain' license.
55326         * modules/alloca, modules/atexit, modules/memmove:
55327         Now public domain, not GPL.
55328         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
55329         * modules/realloc, modules/strerror, modules/strtod:
55330         Now LGPL, not GPL.
55331
55332 2005-07-05  Bruno Haible  <bruno@clisp.org>
55333
55334         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
55335         autoconf CVS. Needed for mingw.
55336
55337 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
55338
55339         Remove the dependency of the strftime module on the tzset module.
55340         * modules/strftime (Depends-on): Remove dependency on tzset.
55341
55342 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
55343
55344         Remove the dependency of the strftime module on the tzset module.
55345         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
55346         gl_FUNC_TZSET_CLOBBER.
55347
55348 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
55349
55350         Remove the dependency of the strftime module on the tzset module.
55351         * lib/strftime.c (my_strftime)
55352         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
55353         Copy the input structure, to work around some of the bug with
55354         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
55355         Solaris releases, you should also use the tzset module, but we won't
55356         require it as a dependency any more since we don't want LGPLed code
55357         to depend on GPLed code.
55358
55359 2005-07-02  Jim Meyering  <jim@meyering.net>
55360
55361         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
55362         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
55363         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
55364         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
55365
55366 2005-07-02  Jim Meyering  <jim@meyering.net>
55367
55368         * lib/backupfile.c (backup_args): Change a `0' to NULL.
55369
55370 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
55371
55372         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
55373         declares only 'struct timespec;' (!).
55374
55375 2005-07-01  Jim Meyering  <jim@meyering.net>
55376
55377         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
55378         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
55379         * lib/save-cwd.c, tempname.c:
55380         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
55381         and don't include <sys/file.h>).
55382
55383 2005-06-29  Jim Meyering  <jim@meyering.net>
55384
55385         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
55386         type name.  Use the variable name instead.
55387         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
55388         Likewise.
55389
55390 2005-06-28  Simon Josefsson  <jas@extundo.com>
55391
55392         * modules/check-version (Files): Add check-version.m4.
55393
55394 2005-06-28  Simon Josefsson  <jas@extundo.com>
55395
55396         * m4/check-version.m4: New file, suggested by Jim Meyering
55397         <jim@meyering.net>.
55398
55399 2005-06-28  Simon Josefsson  <jas@extundo.com>
55400
55401         * lib/check-version.h, lib/check-version.c: New files.
55402
55403 2005-06-28  Simon Josefsson  <jas@extundo.com>
55404
55405         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
55406         collision with global variable.  Better indentation.  Don't
55407         increment buffer pointer beyond buffer end.  Based on comments
55408         from Paul Eggert <eggert@cs.ucla.edu>.
55409
55410         * lib/base64.h: Indent.
55411
55412 2005-06-28  Simon Josefsson  <jas@extundo.com>
55413
55414         * doc/gnulib.texi (Library version handling): New section.
55415
55416 2005-06-28  Jim Meyering  <jim@meyering.net>
55417
55418         * check-module (find_included_lib_files): Hard-code another
55419         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
55420         but modules/fts-lgpl (correctly) does not list those files.
55421
55422         * modules/canonicalize (Files): Add lib/pathmax.h.
55423
55424 2005-06-25  Simon Josefsson  <jas@extundo.com>
55425
55426         * modules/check-version: New file.
55427
55428 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
55429
55430         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
55431         initializer of struct addrinfo, as an indication that we don't
55432         care how many members the structure has.
55433
55434 2005-06-24  Derek Price  <derek@ximbiot.com>
55435         and Bruno Haible  <bruno@clisp.org>
55436
55437         Remove stat module & update lstat.
55438         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
55439         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
55440         * m4/stat.m4: Remove this file.
55441
55442 2005-06-24  Derek Price  <derek@ximbiot.com>
55443         and Bruno Haible  <bruno@clisp.org>
55444
55445         Remove stat module & update lstat.
55446         * lib/stat.c: Remove this file...
55447         (slash_aware_lstat): ...moving this content and its support...
55448         * lib/lstat.c (rpl_lstat): ...into here.
55449         * lib/lstat.h: New file.
55450
55451 2005-06-24  Derek Price  <derek@ximbiot.com>
55452         and Bruno Haible  <bruno@clisp.org>
55453
55454         Remove stat module & update lstat.
55455         * config/srclist.txt (libc sources): Remove stat.
55456
55457 2005-06-24  Derek Price  <derek@ximbiot.com>
55458         and Bruno Haible  <bruno@clisp.org>
55459
55460         Remove stat module & update lstat.
55461         * MODULES.html.sh (stat): Remove.
55462         * MODULES.html: Regenerated.
55463         * modules/lstat (Description): Correct function name.
55464         (Files): Add "lstat.h".
55465         (Depends-on): Remove stat, add xalloc, stat-macros.
55466         * modules/stat: Remove this file.
55467         (Include): Add "lstat.h", remove <sys/stat.h>.
55468
55469 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
55470
55471         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
55472         (ranged_convert): Don't save conversion in a temporary struct.
55473         This causes a warning with GCC 4.0.0, and anyway in the typical
55474         case it's not worth the extra 100 bytes or so of code.
55475         (ranged_convert, __mktime_internal): When calling a function via a
55476         pointer P, use P () rather than (*P) (), as we now assume C89 or
55477         better.
55478
55479 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
55480
55481         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
55482         "who -r" failed to give output.  Problem reported by Tim Waugh.
55483
55484         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
55485         (xcalloc): Use it to avoid needless tests.
55486         Problem reported by Jim Meyering.
55487
55488 2005-06-20  Derek Price  <derek@ximbiot.com>
55489
55490         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
55491         unnecessary for Autoconfs > 2.59c.
55492
55493 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
55494
55495         * lib/argp.h (__option_is_short): Check upper limit of
55496         __key. Isprint() requires its argument to have the value
55497         of an unsigned char or EOF.
55498
55499 2005-06-16  Jim Meyering  <jim@meyering.net>
55500
55501         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
55502         when either N or S is zero.
55503
55504 2005-06-16  Derek Price  <derek@ximbiot.com>
55505
55506         * m4/bison.m4: Declare YACC & YFLAGS precious.
55507
55508 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
55509
55510         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
55511         multibyte string or pattern, fall back on unibyte matching.
55512         Problem reported by James Youngman.
55513
55514 2005-06-08  Bruno Haible  <bruno@clisp.org>
55515
55516         * modules/csharpcomp: New file.
55517         * MODULES.html.sh (C#): Add csharpcomp.
55518
55519 2005-06-08  Bruno Haible  <bruno@clisp.org>
55520
55521         * m4/csharpcomp.m4: New file, from GNU gettext.
55522
55523 2005-06-08  Bruno Haible  <bruno@clisp.org>
55524
55525         * lib/csharpcomp.h: New file, from GNU gettext.
55526         * lib/csharpcomp.c: New file, from GNU gettext.
55527         * lib/csharpcomp.sh.in: New file, from GNU gettext.
55528
55529 2005-06-08  Bruno Haible  <bruno@clisp.org>
55530
55531         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
55532         warning on mingw.
55533
55534 2005-06-07  Derek Price  <derek@ximbiot.com>
55535
55536         Sync from CVS.
55537         * lib/glob_.h: Indent nested #ifdef.
55538
55539 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
55540
55541         Sync from coreutils.
55542         Use "file name" when talking about file names, instead of "filename"
55543         or "path", as per the GNU coding standards.
55544         * lib/mkdir-p.c: Renamed from makepath.c.
55545         (make_dir_parents): Renamed from make_path.  All callers changed.
55546         * lib/mkdir-p.h: Likewise.  All includers changed.
55547         * lib/filenamecat.c: Renamed from path-concat.c.
55548         (file_name_concat): Renamed from path_concat.  All callers changed.
55549         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
55550         * lib/filenamecat.h: Likewise.  All includers changed.
55551         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
55552         in comments or local variable names.
55553         * lib/basename.c: Likewise.
55554         * lib/canonicalize.c, canonicalize.h: Likewise.
55555         * lib/dirname.c, dirname.h: Likewise.
55556         * lib/euidaccess.c: Likewise.
55557         * lib/exclude.c: Likewise
55558         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
55559         * lib/fsusage.c, fsuage.h: Likewise.
55560         * lib/fts.c, fts_.h: Likewise.
55561         * lib/getcwd.c: Likewise.
55562         * lib/getloadavg.c: Likewise.
55563         * lib/mkstemp.c: Likewise.
55564         * lib/mountlist.c, mountlist.h: Likewise.
55565         * lib/openat.c, openat.h: Likewise.
55566         * lib/readlink-stub.c: Likewise.
55567         * lib/readutmp.c, readutmp.h: Likewise.
55568         * lib/rename.c: Likewise.
55569         * lib/rmdir.c: Likewise.
55570         * lib/same.c: Likewise.
55571         * lib/savedir.c: Likewise.
55572         * lib/stripslash.c: Likewise.
55573         * lib/tempname.c: Likewise.
55574         * lib/xreadlink.c: Likewise.
55575         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
55576         All uses changed.
55577         * lib/exclude.h: Likewise.
55578
55579         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
55580         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
55581         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
55582         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
55583         * lib/pathmax.h: Include <limits.h> unconditionally, since other
55584         files have been getting away with it for years (MORE/BSD 4.3
55585         is extinct now).
55586         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
55587         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
55588
55589         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
55590         Define to 256, not 255, as per modern POSIX.
55591
55592 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
55593
55594         Sync from coreutils.
55595         Use "file name" when talking about file names, instead of "filename"
55596         or "path", as per the GNU coding standards.
55597         * MODULES.html.sh: mkdir-p renamed from makepath.
55598         filenamecat renamed from path-concat.
55599         * modules/filenamecat: Renamed from modules/path-concat.
55600         (Files): filenamecat.h and filenamecat.c renamed from
55601         path-concat.h and path-concat.c.
55602         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
55603         (Include): filenamecat.h, not path-concat.h.
55604         * modules/mkdir-p: Renamed from modules/makepath.
55605         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
55606         makepath.c.
55607         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
55608         (Include): mkdir-p.h, not makepath.h.
55609
55610 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
55611
55612         Sync from coreutils.
55613         * m4/mkdir-p.m4: Renamed from makepath.m4.
55614         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
55615         Rename files from makepath.c to mkdir-p.c, and from
55616         makepath.h to mkdir-p.h.
55617         * m4/filenamecat.m4: Renamed from path-concat.m4.
55618         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
55619         Rename files from path-concat.c to filenamecat.c,
55620         and from path-concat.h to filenamecat.h.
55621         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
55622         "file name" in local variables or comments.
55623         * m4/rename.m4: Likewise.
55624
55625 2005-06-01  Bruno Haible  <bruno@clisp.org>
55626
55627         * modules/csharpexec: New file.
55628         * MODULES.html.sh (C#): New section.
55629
55630 2005-06-01  Bruno Haible  <bruno@clisp.org>
55631
55632         * m4/csharp.m4: New file, from GNU gettext.
55633         * m4/csharpexec.m4: New file, from GNU gettext.
55634
55635 2005-06-01  Bruno Haible  <bruno@clisp.org>
55636
55637         * lib/csharpexec.h: New file, from GNU gettext.
55638         * lib/csharpexec.c: New file, from GNU gettext.
55639         * lib/csharpexec.sh.in: New file, from GNU gettext.
55640
55641 2005-05-31  Derek Price  <derek@ximbiot.com>
55642             Paul Eggert  <eggert@cs.ucla.edu>
55643
55644         Sync from cvs.
55645         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
55646
55647 2005-05-31  Derek Price  <derek@ximbiot.com>
55648             Paul Eggert  <eggert@cs.ucla.edu>
55649
55650         Sync from cvs.
55651         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
55652
55653 2005-05-29  Derek Price  <derek@ximbiot.com>
55654
55655         * config/srclist.txt (glob_.h, glob.c): Add these files.
55656
55657 2005-05-29  Derek Price  <derek@ximbiot.com>
55658
55659         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
55660         * modules/glob: New file.
55661         * modules/getlogin_r: Add link to POSIX spec in description.
55662
55663 2005-05-29  Derek Price  <derek@ximbiot.com>
55664             Paul Eggert  <eggert@cs.ucla.edu>
55665
55666         * m4/glob.m4: New file.
55667
55668 2005-05-29  Derek Price  <derek@ximbiot.com>
55669             Paul Eggert  <eggert@cs.ucla.edu>
55670
55671         * lib/glob_.h, lib/glob.c: New files.
55672
55673 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
55674
55675         * modules/fts (Files): Remove m4/inttypes-pri.m4.
55676         * modules/fts-lgpl (Depends-on): Remove gettext.
55677
55678 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
55679
55680         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
55681         and don't require gt_INTTYPES_PRI.
55682
55683 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
55684
55685         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
55686
55687         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
55688         the configuration hassle isn't worth it.
55689         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
55690         (LONGEST_MODIFIER, PRIuMAX): Remove.
55691
55692 2005-05-27  Bruno Haible  <bruno@clisp.org>
55693
55694         * lib/getlogin_r.h: Remove second include of <stddef.h>.
55695
55696 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
55697
55698         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
55699         _POSIX_PTHREAD_SEMANTICS for Solaris.
55700
55701 2005-05-25  Derek Price  <derek@ximbiot.com>
55702
55703         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
55704
55705 2005-05-25  Derek Price  <derek@ximbiot.com>
55706             Paul Eggert  <eggert@cs.ucla.edu>
55707
55708         * modules/getlogin_r, m4/getlogin_r.m4: New files.
55709         * lib/getlogin_r.c, getlogin_r.h: New files.
55710
55711 2005-05-25  Bruno Haible  <bruno@clisp.org>
55712             Derek Price  <derek@ximbiot.com>
55713
55714         * lib/getlogin_r.h: Simplify API documentation.
55715
55716 2005-05-23  Derek Price  <derek@ximbiot.com>
55717
55718         * modules/minmax (Files): Add m4/minmax.m4.
55719         (configure.ac): Add gl_MINMAX.
55720
55721 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
55722
55723         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
55724         so that unistd-safer.h (GPL'ed code) need not be included.
55725
55726 2005-05-22  Bruno Haible  <bruno@clisp.org>
55727
55728         * m4/minmax.m4: New file.
55729         Based on a patch by Derek Price <derek@ximbiot.com>.
55730
55731 2005-05-22  Bruno Haible  <bruno@clisp.org>
55732
55733         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
55734         (INT64_MIN): Fix definition.
55735         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
55736
55737         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
55738         NEED_SIGNED_INT_TYPES.
55739
55740         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
55741         HAVE_SYSTEM_INTTYPES.
55742
55743 2005-05-22  Bruno Haible  <bruno@clisp.org>
55744
55745         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
55746         Also include <sys/param.h> if it defines MIN, MAX.
55747         Based on a patch by Derek Price <derek@ximbiot.com>.
55748
55749 2005-05-21  Jim Meyering  <jim@meyering.net>
55750
55751         * modules/fts (Files): Add m4/inttypes-pri.m4.
55752         (Depends-on): Add lstat and remove gettext.  Alphabetize.
55753
55754 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
55755
55756         New fts module.
55757         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
55758         (setup_dir, free_dir): New functions.
55759         (enter_dir, leave_dir): Define trivial
55760         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
55761         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
55762         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
55763         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
55764         Move to fts-cycle.c.
55765         (fts_open): Use setup_dir.
55766         (fts_close): Use free_dir.
55767         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
55768         This adds a label and some gotos, but the alternatives were messier.
55769         Check for memory allocation failure when entering a dir.
55770         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
55771         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
55772         (FTS): New member fts_cycle, that is a union that contains the
55773         old active_dir_ht and cycle_state.  All uses changed to mention
55774         fts_cycle.ht and fts_cycle.state.
55775         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
55776         fts.c, with the following changes:
55777         (setup_dir, free_dir): New functions.
55778         (enter_dir): Now returns bool.  Return true if successful, false
55779         if memory exhausted.  All callers changed.
55780         Do not bother partly cleaning up on
55781         memory allocation failure; that is free_dir's job.
55782         However, free ad if hash_insert fails, to avoid memory leak.
55783         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
55784         fts->fts_options to see which union member to use.
55785
55786 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
55787
55788         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
55789         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
55790
55791 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
55792
55793         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
55794
55795 2005-05-20  Jim Meyering  <jim@meyering.net>
55796
55797         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
55798         Now a macro, to pacify GCC.
55799
55800 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
55801
55802         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
55803         of -1.
55804
55805 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
55806
55807         * lib/chown.c (rpl_chown): Return -1 on failure.
55808
55809 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
55810
55811         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
55812         Don't check for stddef.h.
55813         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
55814         don't use its results.
55815         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
55816         since we include them unconditionally.  Don't require
55817         AM_STDBOOL_H, since stdbool is a prerequisite.
55818         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
55819         since we assume C89 or better.
55820         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
55821         as we don't use their results.
55822         Don't check for fchdir, memmove, memset, strrchr, as we use
55823         them unconditionally.
55824         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
55825         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
55826
55827 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
55828
55829         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
55830         Include <stddef.h> unconditionally, since we assume C89 now.
55831         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
55832         * lib/fts.c: Include fts_.h first, to check interface.
55833         Do not include intprops.h; no longer needed.
55834         Include cycle-check.h and hash.h, since fts_.h no longer does.
55835         Remove unnecessary casts of closedir to void.
55836         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
55837         decide whether to decrement nlinks.
55838         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
55839         (FTS): Use struct hash_table * instead of Hash_table, so that
55840         we no longer need to include hash.h here.
55841
55842 2005-05-18  Jim Meyering  <jim@meyering.net>
55843
55844         * modules/dirfd (License): Change to LGPL.  Most of the code
55845         is already in the public domain.
55846
55847 2005-05-18  Jim Meyering  <jim@meyering.net>
55848
55849         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
55850         Reported by Yoann Vandoorselaere.
55851
55852 2005-05-17  Jim Meyering  <jim@meyering.net>
55853
55854         * m4/fts.m4: New file, from coreutils.
55855
55856 2005-05-17  Jim Meyering  <jim@meyering.net>
55857
55858         * lib/fts.c, lib/fts_.h: New files, from coreutils.
55859
55860 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
55861
55862         Sync from coreutils.
55863         * m4/unlinkdir.m4: New file.
55864
55865 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
55866
55867         Sync from coreutils.
55868         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
55869         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
55870         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
55871         White space changes only.
55872         * lib/makepath.c (make_path): Port to hosts where leading "//" is
55873         special.
55874         * lib/yesno.c: Include getline.h, not ctype.h.
55875         (yesno): Don't remove leading white space; POSIX doesn't allow it.
55876         Use getline to remove arbitrary restriction on response length.
55877
55878 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
55879
55880         * config/srclist-update: Spell out "Street" in FSF postal
55881         mail address; this is the style the FSF seems to prefer.
55882
55883         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
55884         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
55885         this updates FSF postal mail address.
55886
55887         Sync from coreutils.
55888         * modules/unlinkdir: New file.
55889         * modules/yesno (Depends-on): Add getline.
55890         * MODULES.html.sh (File system functions): Add unlinkdir.
55891
55892 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
55893
55894         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
55895         lib/strsep.h:
55896         Change the initial comment to refer to GPL, not LGPL.
55897         gnulib-tool will change it to LGPL as needed.
55898
55899         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
55900         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
55901         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
55902         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
55903         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
55904         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
55905         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
55906         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
55907         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
55908         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
55909         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
55910         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
55911         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
55912         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
55913         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
55914         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
55915         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
55916         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
55917         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
55918         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
55919         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
55920         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
55921         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
55922         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
55923         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
55924         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
55925         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
55926         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
55927         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
55928         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
55929         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
55930         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
55931         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
55932         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
55933         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
55934         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
55935         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
55936         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
55937         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
55938         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
55939         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
55940         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
55941         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
55942         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
55943         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
55944         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
55945         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
55946         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
55947         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
55948         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
55949         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
55950         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
55951         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
55952         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
55953         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
55954         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
55955         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
55956         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
55957         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
55958         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
55959         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
55960         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
55961         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
55962         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
55963         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
55964         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
55965         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
55966         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
55967         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
55968         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
55969         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
55970         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
55971         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
55972         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
55973         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
55974         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
55975         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
55976         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
55977         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
55978         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
55979         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
55980         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
55981         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
55982         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
55983         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
55984         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
55985         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
55986         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
55987         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
55988         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
55989         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
55990         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
55991         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
55992         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
55993         lib/yesno.c, lib/yesno.h:
55994         Update FSF postal mail address.
55995
55996 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
55997
55998         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
55999         tests/test-memmem.c, tests/test-stpncpy.c:
56000         Update FSF postal mail address.
56001
56002 2005-05-13  Bruno Haible  <bruno@clisp.org>
56003
56004         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
56005         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
56006         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
56007         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
56008         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
56009         Add support for 64-bit integers in the MSVC compiler.
56010
56011 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
56012
56013         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
56014
56015 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
56016
56017         * gnulib-tool (func_import): Sort and uniquify recommended includes.
56018
56019 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
56020
56021         * doc/getdate.texi (General date syntax): Don't say that date
56022         date --iso-8601=ns generates acceptable dates; it doesn't yet.
56023         Problem reported by Nic Ferrier.
56024
56025 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56026
56027         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
56028         specified in ai_socktype. Fix invalid ai_protocol
56029         check. ai_protocol is usually set to 0 or depending on
56030         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
56031         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
56032         ai_socktype / ai_protocol in the returned addrinfo structure.
56033
56034 2005-05-10  Simon Josefsson  <jas@extundo.com>
56035
56036         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
56037         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56038
56039 2005-05-10  Karl Berry  <karl@gnu.org>
56040
56041         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
56042         (from http://www.gnu.org/licenses).
56043         * doc/COPYING.LIB: also rename to COPYING.LESSER.
56044         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
56045         fdl.texi suffices.
56046
56047 2005-05-10  Karl Berry  <karl@gnu.org>
56048
56049         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
56050         (COPYING.DOC): remove.
56051
56052         * config/srclist-update: new FSF address.
56053
56054 2005-05-10  Derek Price  <derek@ximbiot.com>
56055
56056         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
56057         possible.
56058
56059 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56060             Bruno Haible  <bruno@clisp.org>
56061
56062         * modules/inet_ntop: New file.
56063         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
56064         inet_ntop.
56065
56066 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56067             Bruno Haible  <bruno@clisp.org>
56068
56069         * m4/inet_ntop.m4: New file.
56070
56071 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56072             Bruno Haible  <bruno@clisp.org>
56073
56074         * lib/inet_ntop.h: New file.
56075         * lib/inet_ntop.c: New file, from glibc with modifications.
56076
56077 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
56078
56079         * modules/time_r (License): Change to LGPL.
56080         * modules/extensions (License): Change to LGPL.  Actually,
56081         the license is more permissive than that, but currently gnulib-tool
56082         doesn't know how to handle more-permissive licenses.
56083
56084         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
56085         Problem reported by Dave Love.
56086
56087 2005-05-08  Jim Meyering  <jim@meyering.net>
56088
56089         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
56090         blank.
56091
56092 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
56093
56094         * modules/argmatch (Depends-on): Add stdbool.
56095         * modules/backupfile (Depends-on): Likewise.
56096         * modules/chdir-long (Depends-on): Likewise.
56097         * modules/closeout (Depends-on): Likewise.
56098         * modules/cycle-check (Depends-on): Likewise.
56099         * modules/dirname (Depends-on): Likewise.
56100         * modules/fnmatch (Depends-on): Likewise.
56101         * modules/fsusage (Depends-on): Likewise.
56102         * modules/fwriteerror (Depends-on): Likewise.
56103         * modules/getcwd (Depends-on): Likewise.
56104         * modules/getloadavg (Depends-on): Likewise.
56105         * modules/hard-locale (Depends-on): Likewise.
56106         * modules/makepath (Depends-on): Likewise.
56107         * modules/mountlist (Depends-on): Likewise.
56108         * modules/nanosleep (Depends-on): Likewise.
56109         * modules/posixtm (Depends-on): Likewise.
56110         * modules/quotearg (Depends-on): Likewise.
56111         * modules/readtokens (Depends-on): Likewise.
56112         * modules/readtokens0 (Depends-on): Likewise.
56113         * modules/readutmp (Depends-on): Likewise.
56114         * modules/save-cwd (Depends-on): Likewise.
56115         * modules/strftime (Depends-on): Likewise.
56116         * modules/userspec (Depends-on): Likewise.
56117         * modules/utimecmp (Depends-on): Likewise.
56118         * modules/xgetcwd (Depends-on): Likewise.
56119         * modules/xnanosleep (Depends-on): Likewise.
56120         * modules/xstrtod (Depends-on): Likewise.
56121         * modules/yesno (Depends-on): Likewise.
56122
56123 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
56124
56125         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
56126         needless checks.
56127
56128 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
56129
56130         Merge from coreutils.  Among other things,
56131         add bulletproofing for cases where stdin, stdout, or stderr are closed.
56132         * lib/fd-safer.c: New file.
56133         * lib/fcntl-safer.h, open-safer.c: Remove.
56134         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
56135         * lib/dup-safer.c: Include unistd-safer.h first.
56136         Don't include errno.h.
56137         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
56138         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
56139         * lib/file-type.c: Rely on file-type.h change.
56140         * lib/getloadavg.c: Include unistd-safer.h.
56141         (getloadavg): Use safer open.
56142         * lib/getusershell.c: Include "stdio-safer.h".
56143         (getusershell): Use safer fopen.
56144         * lib/long-options.c (long_options): Use NULL rather than 0.
56145         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
56146         'free'.
56147         * lib/modechange.c: Likewise.
56148         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
56149         (MODE_DONE): New constant.
56150         (struct mode_change): Remove 'next' member.
56151         (make_node_op_equals): New function; like the old one of the
56152         same name, except it allocates an array.
56153         (mode_compile, mode_create_from_ref): Use it.
56154         (mode_compile): Allocate result as an array, not a linked list.
56155         Parse octal string ourself, so that we catch mistakes like "+0".
56156         (mode_adjust): Arg is an array, not a linked list.
56157         * lib/modechange.c: Include stat-macros.h, xalloc.h.
56158         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
56159         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
56160         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
56161         Remove.  This is now stat-macros.h's job.
56162         (talloc): Remove.  All callers replaced by xalloc, so that
56163         our invokers don't have to worry about reporting memory failures.
56164         (make_node_op_equals): Remove.
56165         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
56166         New constants.
56167         (struct mode_change): Moved here from modechange.h.
56168         (mode_append_entry): Remove.
56169         (mode_compile): Remove MASKED_OPS arg, since it encouraged
56170         apps to have incorrect behavior.  Use simpler algorithm for head
56171         and tail.  Don't futz with umask; that's now the job of mode_adjust.
56172         Detect more invalid usages rather than having somewhat-random behavior.
56173         Don't insert an "a=" action, as that leads to incorrect behavior.
56174         (mode_compile, mode_create_from_ref): Return NULL on error instead
56175         of an enum, since now there's only one way to have an error.  All
56176         callers changed.
56177         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
56178         at the correct time.  Simplify calculation of "+u" and its ilk.
56179         Don't mishandle "+X".
56180         (mode_free): Remove "register" and localize decls.
56181         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
56182         (struct mode_change): Move to modechange.c; callers don't
56183         need to see this stuff.
56184         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
56185         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
56186         (mode_change, mode_adjust): Reflect the new signatures noted above.
56187         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
56188         that might redefine system include files.
56189         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
56190         (my_usleep): Use NULL rather than (void *) 0.
56191         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
56192         Use siginterrupt to specify that system calls should be interrupted.
56193         (rpl_nanosleep): Move initialization of suspended closer to call of
56194         my_usleep.
56195         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
56196         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
56197         (desirable_utmp_entry): New function.
56198         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
56199         using x2nrealloc, to simplify logic.
56200         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
56201         size calculation.  Do not assume utmp file is a regular file.
56202         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
56203         (READ_UTMP_CHECK_PIDS): New constant.
56204         * lib/save-cwd.c: Include unistd-safer.h.
56205         (save_cwd): Use fd_safer.
56206         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
56207         [!_LIBC] Include "stat-macros.h" instead.
56208         * lib/unistd-safer.h (fd_safer): New decl.
56209
56210 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
56211
56212         * modules/getloadavg (Depends-on): Add unistd-safer.
56213         * modules/getusershell (Depends-on): Add stdio-safer.
56214         * modules/lstat (Depends-on): Remove xalloc.
56215         * modules/mkstemp (Depends-on): Add stat-macros.
56216         * modules/modechange (Depends-on): Remove xstrtol.
56217         Add stat-macros, xalloc.
56218         * modules/save-cwd (Depends-on): Add unistd-safer.
56219         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
56220         * modules/unistd-safer (Files): Add lib/fd-safer.c
56221         (Makefile.am): Remove lib_SOURCES.
56222
56223         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
56224         Remove fcntl-safer; unistd-safer supersedes it.
56225
56226 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
56227
56228         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
56229         AC_HEADER_STAT.
56230         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
56231         (gl_PREREQ_CHOWN): Remove.
56232         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
56233         it.  Don't require AC_HEADER_STAT.
56234         (gl_PREREQ_LSTAT): Remove.
56235         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
56236         Don't require AC_HEADER_STAT.
56237         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
56238         (gl_PREREQ_RMDIR): Remove.
56239         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
56240         mention stat-macros.h or AC_HEADER_STAT, since we'll make
56241         the stat-macros module a prerequisite.
56242         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
56243         * m4/filemode.m4 (gl_FILEMODE): Likewise.
56244         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
56245         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
56246         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
56247         variable names.
56248         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
56249         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
56250         variable prefixes.
56251         * m4/fcntl-safer.m4: Remove.
56252         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
56253         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
56254         Invoke gl_PREREQ_FD_SAFER.
56255         (gl_PREREQ_FD_SAFER): New macro.
56256         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
56257         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
56258         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
56259         Remove duplicate call to AC_LIBOBJ(readutmp).
56260         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
56261
56262         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
56263         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
56264
56265 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
56266
56267         * MODULES.html.sh (Misc): Add byteswap.
56268
56269 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
56270
56271         * modules/getcwd (Depends-on): Add extensions.
56272         * modules/openat (Depends-on): Likewise.
56273
56274 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
56275
56276         * modules/byteswap: New file.
56277
56278 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
56279
56280         * m4/byteswap.m4: New file.
56281
56282 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
56283
56284         * lib/byteswap_.h: New file.
56285
56286 2005-04-25  Karl Berry  <karl@gnu.org>
56287
56288         * m4/gettext.m4: Update from GNU gettext 0.14.4.
56289
56290 2005-04-25  Albert Chin  <china@thewrittenword.com>
56291
56292         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
56293         Toolkit C bug.
56294
56295 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
56296
56297         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
56298         (func_ln_if_changed) Remove forcibly for no error message
56299         in case file does not exist.
56300
56301 2005-04-19  Simon Josefsson  <jas@extundo.com>
56302
56303         * gnulib-tool (Options): Make --symlink mean --symbolic.
56304
56305 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
56306
56307         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
56308
56309 2005-04-16  Simon Josefsson  <jas@extundo.com>
56310
56311         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
56312
56313 2005-04-15  Simon Josefsson  <jas@extundo.com>
56314
56315         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
56316
56317 2005-04-15  Simon Josefsson  <jas@extundo.com>
56318
56319         * gnulib-tool: Rename --symlink to --symbolic.
56320
56321 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
56322
56323         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
56324         symbolic links to files instead of copying/moving.  Add --aux-dir,
56325         specifying directory relative --dir where auxiliary build tools
56326         are placed.
56327
56328 2005-04-14  Bruno Haible  <bruno@clisp.org>
56329
56330         * modules/allocsa (License): Change to LGPL.
56331         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
56332
56333 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
56334
56335         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
56336         that "UTC +1 second" continues to work.  Problem reported
56337         by Dmitry V. Levin.
56338         (relunit_snumber): New rule.
56339         (relunit): Use it.
56340
56341 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
56342
56343         * lib/getdate.y (universal_time_zone_table): New constant.
56344         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
56345         universal_time_zone_table.
56346         (lookup_zone): Prefer universal_time_zone_table to
56347         local_time_zone_table, so that "GMT" time stamps are allowed in
56348         London during the summer.  Problem reported by Ian Abbott.
56349
56350 2005-04-12  Jim Meyering  <jim@meyering.net>
56351
56352         * lib/human.c (humblock): Set *options even when returning due to
56353         xstrtoumax conversion failure.  Thanks to a used-uninitialized
56354         warning from gcc-4.
56355
56356 2005-04-09  Jim Meyering  <jim@meyering.net>
56357
56358         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
56359         -Wuninitialized: initialize tm0.tm_year.
56360
56361 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
56362
56363         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
56364         count, since there's no maximum.  All uses changed.
56365         Add member dsts_seen.
56366         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
56367         not being INT_MAX.
56368         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
56369         Use pc_rels_seen to decide whther a date is absolute.
56370
56371         * lib/getdate.y (number): Don't overwrite year.
56372         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
56373         check.
56374
56375 2005-04-02  Simon Josefsson  <jas@extundo.com>
56376
56377         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
56378         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
56379
56380 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
56381
56382         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
56383         where no absolute path name can be longer than PATH_MAX.
56384
56385 2005-03-27  Jim Meyering  <jim@meyering.net>
56386
56387         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
56388
56389 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
56390
56391         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
56392         "one's complement" -> "ones' complement" in comment, as per Knuth.
56393         "value of type" -> "type or expression" in comment.
56394         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
56395
56396 2005-03-26  Jim Meyering  <jim@meyering.net>
56397
56398         Comment nits.
56399         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
56400         Correct typos: s/or/of/.
56401
56402 2005-03-26  Jim Meyering  <jim@meyering.net>
56403
56404         * modules/check-include-files: Move to ../ and rename to...
56405         * check-module: ...this.
56406
56407 2005-03-25  Jim Meyering  <jim@meyering.net>
56408
56409         * modules/xvasprintf (Files): Add xalloc.h.
56410
56411 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
56412
56413         * modules/gettext (Files): config/config.rpath ->
56414         build-aux/config.rpath
56415         * modules/iconv (Files): Likewise.
56416         Problem reported by Oskar Liljeblad.
56417
56418 2005-03-23  Jim Meyering  <jim@meyering.net>
56419
56420         * modules/check-include-files: New script to check for
56421         missing dependencies, multiple includes, etc.
56422
56423         * modules/c-strtold (Depends-on): Add xalloc.
56424         * modules/c-strtod (Depends-on): Add xalloc.
56425         * modules/hash (Depends-on): Add xalloc.
56426         (Files): Remove lib/xalloc.h.
56427
56428         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
56429         * modules/userspec (Files): Add lib/inttostr.h.
56430
56431 2005-03-23  Jim Meyering  <jim@meyering.net>
56432
56433         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
56434
56435 2005-03-22  Jim Meyering  <jim@meyering.net>
56436
56437         * modules/stat-macros: New module.
56438         * modules/canonicalize, modules/euidaccess, modules/file-type,
56439         * modules/filemode, modules/lchown, modules/makepath,
56440         * modules/rmdir, modules/stat: Depend on new stat-macros module
56441         rather than listing lib/stat-macros.h manually.
56442         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
56443
56444 2005-03-22  Jim Meyering  <jim@meyering.net>
56445
56446         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
56447
56448 2005-03-22  Bruno Haible  <bruno@clisp.org>
56449
56450         * config/srclist.txt: Replace target directory 'config' with
56451         'build-aux'.
56452         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
56453         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
56454         ../build-aux/.
56455
56456 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
56457
56458         * modules/chdir-long (Depends-on): Add mempcpy.
56459
56460         * modules/acl, modules/backupfile, modules/c-strtod,
56461         modules/c-strtold, modules/canon-host, modules/canonicalize,
56462         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
56463         modules/exclude, modules/exitfail, modules/file-type,
56464         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
56465         modules/getdate, modules/getline, modules/getpagesize,
56466         modules/getpass, modules/getugroups, modules/group-member,
56467         modules/hard-locale, modules/hash, modules/human, modules/idcache,
56468         modules/inttostr, modules/long-options, modules/makepath,
56469         modules/md5, modules/memcasecmp, modules/memcoll,
56470         modules/modechange, modules/mountlist, modules/path-concat,
56471         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
56472         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
56473         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
56474         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
56475         modules/strftime, modules/strndup, modules/strverscmp,
56476         modules/timespec, modules/unlocked-io, modules/userspec,
56477         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
56478         modules/yesno:
56479         Remove lib_SOURCES line from Makefile.am section, as this is now
56480         done automatically by the corresponding Autoconf macro.
56481
56482 2005-03-21  Jim Meyering  <jim@meyering.net>
56483
56484         Changes imported from coreutils.
56485
56486         * lib/cycle-check.c: Don't include xalloc.h.
56487
56488         * lib/path-concat.c: Don't include assert.h.
56489         (path_concat): Remove assertion that would have triggered
56490         for ABASE starting with more than one slash.
56491         Reported by Andreas Schwab.
56492
56493         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
56494         properly when ABASE is an absolute file name.
56495         Correct the description of this function.
56496         Include <assert.h>.
56497         Add an assertion and a test driver.
56498         This fixes a bug introduced on 2004-07-02.
56499         Andreas Schwab reported the resulting failure of cp --parents:
56500         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
56501
56502 2005-03-21  Jim Meyering  <jim@meyering.net>
56503
56504         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
56505         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
56506
56507 2005-03-21  Jim Meyering  <jim@meyering.net>
56508         and  Paul Eggert  <eggert@cs.ucla.edu>
56509
56510         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
56511         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
56512         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
56513         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
56514         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
56515         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
56516         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
56517         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
56518         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
56519         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
56520         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
56521         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
56522         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
56523         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
56524         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
56525         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
56526         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
56527         for these modules.
56528
56529 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
56530
56531         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
56532         (which shouldn't happen), generate nothing instead of returning 0
56533         immediately, so that nstrftime (NULL, ...) doesn't return 0.
56534
56535 2005-03-16  Bruno Haible  <bruno@clisp.org>
56536
56537         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
56538         HAVE_LONGLONG_64BIT.
56539
56540 2005-03-16  Bruno Haible  <bruno@clisp.org>
56541
56542         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
56543         HAVE_LONGLONG_64BIT.
56544
56545 2005-03-16  Bruno Haible  <bruno@clisp.org>
56546
56547         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
56548         HAVE_LONGLONG_64BIT.
56549
56550 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
56551
56552         * lib/strftime.c (my_strftime): Prepend space to format so that we can
56553         reliably distinguish strftime failure from empty output on POSIX
56554         hosts.
56555
56556 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
56557
56558         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
56559         (iconv_string): Don't guess a size-zero buffer, as that might cause
56560         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
56561         result would be 'too large', where 'too large' is (heuristically)
56562         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
56563         overflow concerns.  This will prevent some unwanted malloc failures
56564         when the inputs are very large.
56565
56566 2005-03-15  Karl Berry  <karl@gnu.org>
56567
56568         * config/srclist.txt (config.rpath): from gettext.
56569         * config/config.rpath: update.
56570
56571 2005-03-15  Bruno Haible  <bruno@clisp.org>
56572
56573         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
56574         to 'negate'.
56575
56576         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
56577         variable.
56578
56579         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
56580         results.
56581
56582 2005-03-14  Simon Josefsson  <jas@extundo.com>
56583
56584         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
56585         <fx@gnu.org>.
56586
56587 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
56588
56589         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
56590         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
56591         intprops.h.
56592         * lib/strtol.c: Likewise.
56593
56594 2005-03-14  Jim Meyering  <jim@meyering.net>
56595
56596         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
56597         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
56598         to be nonzero so that we (and caller) can detect the difference
56599         between a valid zero-length expansion and an error return, even
56600         when the underlying strftime fails before writing anything into
56601         that location.
56602
56603 2005-03-14  Bruno Haible  <bruno@clisp.org>
56604
56605         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
56606         Update from GNU gettext 0.14.3.
56607
56608 2005-03-10  Jim Meyering  <jim@meyering.net>
56609
56610         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
56611
56612 2005-03-10  Jim Meyering  <jim@meyering.net>
56613
56614         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
56615         so that this module works on systems without fchdir.
56616
56617 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
56618
56619         Factor int-properties macros into a single file, except for
56620         glibc-related files.
56621         * lib/intprops.h: New file.
56622         * lib/getloadavg.c: Include it instead of limits.h.
56623         (INT_STRLEN_BOUND): Remove.
56624         * lib/human.c: Include intprops.h.
56625         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
56626         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
56627         302/1000.
56628         * lib/inttostr.h: Include intprops.h instead of limits.h.
56629         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
56630         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
56631         for consistency with intprops.h.
56632         (time_t_is_integer, twos_complement_arithmetic): Use them.
56633         * lib/sig2str.h: Include <signal.h>, intprops.h.
56634         (INT_STRLEN_BOUND): Remove.
56635         * lib/strftime.c (TYPE_SIGNED): Remove.
56636         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
56637         * lib/strtol.c: Adjust comments to match intprops.h.
56638         * lib/userspec.c: Include intprops.h.
56639         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
56640         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
56641         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
56642         instead of rolling our own expressions.
56643         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
56644
56645         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
56646         instead of int.
56647         (my_strftime): Do not mishandle years close to INT_MAX, by doing
56648         the right thing even if adding 1900 would overflow.  Similarly
56649         for tm_mon + 1 and tm_yday + 1.
56650         Make %Y always equivalent to %C%y, and similarly for %G and %g.
56651         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
56652         (DO_SIGNED_NUMBER): New macro.
56653         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
56654
56655 2005-03-07  Bruno Haible  <bruno@clisp.org>
56656
56657         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
56658
56659 2005-03-07  Bruno Haible  <bruno@clisp.org>
56660
56661         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
56662
56663 2005-03-04  Derek R. Price  <derek@ximbiot.com>
56664
56665         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
56666         (func_import): Only replace files via --import when they have actually
56667         changed.
56668
56669 2005-03-03  Derek R. Price  <derek@ximbiot.com>
56670
56671         * m4/mmap-anon.m4: New file.
56672         * m4/pagealign_alloc.m4: New file.
56673
56674 2005-03-03  Derek R. Price  <derek@ximbiot.com>
56675             Bruno Haible  <bruno@clisp.org>
56676
56677         * modules/pagealign_alloc: New file.
56678         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
56679
56680 2005-03-03  Derek R. Price  <derek@ximbiot.com>
56681             Bruno Haible  <bruno@clisp.org>
56682
56683         * lib/pagealign_alloc.h: New file.
56684         * lib/pagealign_alloc.c: New file.
56685
56686 2005-03-03  Bruno Haible  <bruno@clisp.org>
56687
56688         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
56689         Use an all-permissive copyright notice, recommended by RMS.
56690
56691 2005-03-02  Bruno Haible  <bruno@clisp.org>
56692
56693         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
56694         of AIX, the replacement has to be done only after <string.h> is
56695         included, therefore not in config.h. stpncpy.h does the replacement,
56696         and stpncpy.c uses it.
56697
56698 2005-03-02  Bruno Haible  <bruno@clisp.org>
56699
56700         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
56701         stpncpy.c uses it.
56702
56703 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
56704
56705         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
56706         The workaround isn't strictly needed for POSIX conformance, and
56707         it's too much of a pain to configure and maintain.  We'll ask
56708         people to fix their kernels instead.
56709         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
56710         (NANOSLEEP_BUG_WORKAROUND): Remove.
56711         (xnanosleep): Remove the workaround.
56712
56713 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
56714
56715         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
56716         Reported by Derek Price.
56717         (Include): Add "timespec.h".
56718
56719         * modules/xnanosleep (Depends-on): Remove gethrxtime.
56720
56721 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
56722
56723         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
56724         to detect nanosleep bug.
56725
56726 2005-03-01  Bruno Haible  <bruno@clisp.org>
56727
56728         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
56729
56730 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
56731
56732         * modules/gethrxtime: New file.
56733         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
56734         (Depends-on): Add gethrxtime.
56735         (configure.ac): Add gl_XNANOSLEEP.
56736         (Makefile.am): Remove lib_SOURCES line.
56737
56738 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
56739
56740         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
56741         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
56742
56743 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
56744
56745         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
56746         * lib/timespec.h (gettime): Return void, since it always
56747         succeeds now.  All uses changed.
56748         * lib/gettime.c (gettime) Likewise.
56749         [HAVE_NANOTIME]: Prefer nanotime.
56750         Assume gettimeofday succeeds, as POSIX requires.
56751         Assime time () succeeds, since other code already does.
56752         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
56753         (timespec_subtract): Remove.
56754         (NANOSLEEP_BUG_WORKAROUND): New constant.
56755         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
56756         things considerably.  Use it only on GNU/Linux hosts, since the
56757         workaround shouldn't be needed elsewhere.
56758
56759 2005-02-24  Bruno Haible  <bruno@clisp.org>
56760
56761         * modules/gettext (Files): Add m4/glibc2.m4.
56762
56763 2005-02-24  Bruno Haible  <bruno@clisp.org>
56764
56765         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
56766         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
56767         * m4/progtest.m4:
56768         Update from GNU gettext 0.14.2.
56769         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
56770
56771 2005-02-24  Bruno Haible  <bruno@clisp.org>
56772
56773         * lib/localcharset.c: Update from GNU gettext 0.14.2.
56774         * lib/config.charset: Update from GNU gettext 0.14.2.
56775
56776 2005-02-24  Bruno Haible  <bruno@clisp.org>
56777
56778         * lib/gettext.h: Update from GNU gettext 0.14.2.
56779
56780 2005-02-23  Simon Josefsson  <jas@extundo.com>
56781
56782         * m4/iconvme.m4: New file.
56783
56784 2005-02-23  Jim Meyering  <jim@meyering.net>
56785
56786         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
56787         change.
56788         Thanks to Bruno Haible for catching it.
56789
56790 2005-02-22  Simon Josefsson  <jas@extundo.com>
56791
56792         * modules/iconvme: New file.
56793
56794         * MODULES.html.sh: Add iconvme.
56795
56796 2005-02-22  Simon Josefsson  <jas@extundo.com>
56797
56798         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
56799
56800 2005-02-22  Simon Josefsson  <jas@extundo.com>
56801
56802         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
56803
56804 2005-02-22  Jim Meyering  <jim@meyering.net>
56805
56806         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
56807         s/ifndef/ifdef/.
56808
56809 2005-02-20  Neil Conway  <neilc@samurai.com>
56810
56811         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
56812         returned by OSX/Darwin if the specified buffer is not large
56813         enough for the hostname.
56814
56815 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
56816
56817         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
56818         pass it to _help, otherwise the latter coredumps trying to
56819         dereference state.root_argp.
56820
56821 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
56822
56823         * modules/chdir-long (Depends-on): Add memrchr.
56824         * modules/memrchr (Files): Add lib/memrchr.h.
56825         (Include): "memrchr.h".
56826
56827 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
56828
56829         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
56830
56831 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
56832
56833         * lib/memrchr.h: New file.
56834         * lib/chdir-long.c: Include it.
56835         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
56836         Don't bother including stddef.h.
56837
56838 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
56839
56840         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
56841         inclusion.
56842         Include <sys/types.h>, for dev_t.
56843         (ME_DUMMY, ME_REMOTE): Move from here....
56844         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
56845         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
56846         Dmitry V. Levin.
56847         Include mountlist.h first, to test the interface.
56848
56849 2005-01-29  Bruno Haible  <bruno@clisp.org>
56850
56851         * lib/progname.c (program_name): Initialize.
56852         Needed when linking statically on MacOS X.
56853
56854 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
56855
56856         Sync from coreutils.
56857         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
56858         (Depends-on): Add c-strtod.
56859         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
56860
56861 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
56862
56863         Sync from coreutils.
56864         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
56865
56866         Remove files that are specific to coreutils.
56867         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
56868
56869 2005-01-28  Bruno Haible  <bruno@clisp.org>
56870
56871         * modules/javacomp: New file.
56872         * MODULES.html.sh (Java): Add javacomp.
56873
56874 2005-01-28  Bruno Haible  <bruno@clisp.org>
56875
56876         * m4/javacomp.m4: New file, from GNU gettext.
56877
56878 2005-01-28  Bruno Haible  <bruno@clisp.org>
56879
56880         * lib/javacomp.sh.in: New file, from GNU gettext.
56881         * lib/javacomp.h: New file, from GNU gettext.
56882         * lib/javacomp.c: New file, from GNU gettext.
56883
56884 2005-01-26  Simon Josefsson  <jas@extundo.com>
56885
56886         * lib/gai_strerror.c: Use GPL in header.
56887
56888 2005-01-26  Bruno Haible  <bruno@clisp.org>
56889
56890         * modules/javaexec: New file.
56891         * MODULES.html.sh (Java): Add javaexec.
56892
56893 2005-01-26  Bruno Haible  <bruno@clisp.org>
56894
56895         * m4/javaexec.m4: New file, from GNU gettext.
56896
56897 2005-01-26  Bruno Haible  <bruno@clisp.org>
56898
56899         * lib/javaexec.sh.in: New file, from GNU gettext.
56900         * lib/javaexec.h: New file, from GNU gettext.
56901         * lib/javaexec.c: New file, from GNU gettext.
56902
56903 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
56904
56905         * modules/lchown (Depends-on): Remove lchown.h
56906
56907 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
56908
56909         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
56910         must be defined if the header file was not found, in order
56911         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
56912
56913 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
56914
56915         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
56916         initializers for struct pentry_state.
56917         (__argp_error): Check return value of __asprintf
56918         (__argp_failure): Translate error message
56919
56920         * lib/argp-parse.c: Removed braces around the expansion of N_()
56921
56922 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
56923
56924         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
56925         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
56926         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
56927         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
56928         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
56929         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
56930         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
56931         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
56932         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
56933         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
56934         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
56935         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
56936         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
56937         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
56938         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
56939         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
56940         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
56941         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
56942         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
56943         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
56944         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
56945         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
56946         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
56947         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
56948         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
56949         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
56950         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
56951         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
56952         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
56953         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
56954         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
56955         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
56956         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
56957         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
56958         xstrtol.m4, xstrtoumax.m4, yesno.m4:
56959         Use an all-permissive copyright notice, recommended by RMS.
56960
56961 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
56962
56963         * modules/chdir-long (Depends-on): Remove mempcpy.
56964
56965 2005-01-21  Jim Meyering  <jim@meyering.net>
56966
56967         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
56968         same value as for Solaris 9.
56969
56970         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
56971         component length.  This included changing the parameter to be
56972         of type `char *' rather than `char const *'.
56973         * lib/chdir-long.h (chdir_long): Update prototype.
56974
56975         * lib/openat.c (fdopendir, fstatat): New functions.
56976         * lib/openat.h: Include headers required for use of DIR and struct
56977         stat.
56978         [AT_SYMLINK_NOFOLLOW]: Define.
56979         (fdopendir, fstatat): Add prototypes.
56980
56981 2005-01-21  Bruno Haible  <bruno@clisp.org>
56982
56983         * modules/classpath: New file.
56984         * MODULES.html.sh (Java): Add classpath.
56985
56986 2005-01-21  Bruno Haible  <bruno@clisp.org>
56987
56988         * lib/classpath.h: New file, from GNU gettext.
56989         * lib/classpath.c: New file, from GNU gettext.
56990
56991 2005-01-20  Simon Josefsson  <jas@extundo.com>
56992
56993         * modules/version-etc-fsf: New file.
56994
56995 2005-01-20  Simon Josefsson  <jas@extundo.com>
56996
56997         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
56998         * lib/version-etc.c: Remove version_etc_copyright.
56999         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
57000         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
57001
57002 2005-01-20  Simon Josefsson  <jas@extundo.com>
57003
57004         * lib/base64.h (isbase64): Add.
57005
57006         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
57007         using a unsigned prototype, don't inline.
57008         (base64_decode): Use it.
57009
57010 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
57011
57012         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
57013         it.
57014
57015 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
57016
57017         * lib/save-cwd.c (save_cwd): Remove code to support the case
57018         where fchdir is missing or flaky.
57019
57020 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
57021
57022         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
57023
57024 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
57025
57026         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
57027         AC_LIBSOURCES now does this.
57028         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
57029         with new ullong_max module.
57030
57031 2005-01-19  Bruno Haible  <bruno@clisp.org>
57032
57033         * modules/sh-quote: New file.
57034         * MODULES.html.sh (Executing programs): Add sh-quote.
57035
57036 2005-01-19  Bruno Haible  <bruno@clisp.org>
57037
57038         * lib/sh-quote.h: New file, from GNU gettext.
57039         * lib/sh-quote.c: New file, from GNU gettext.
57040
57041 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
57042
57043         Merge from coreutils.
57044         * m4/ullong_max.m4: New file.
57045         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
57046         (gl_MACROS): Assume localeconv exists.
57047
57048 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
57049
57050         Merge changes from coreutils, as described below in several
57051         changelogs dated today.
57052
57053         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
57054         (O_DIRECTORY): Remove; not needed here, since "." must be
57055         a directory.  All uses removed.
57056         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
57057         universal on Suns, and we also need to test for IRIX.
57058         Revamp code to use 'if' rather than '#if'.
57059         Avoid unnecessary comparison of cwd->desc to 0.
57060
57061         * lib/utimens.c (futimens): Robustify the previous patch, by checking
57062         for known valid error numbers rather than observed invalid ones.
57063
57064 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
57065
57066         * modules/ullong_max: New file.
57067
57068         * modules/chdir-long, modules/openat: New files.
57069         * modules/save-cwd (Depends-on): Depend on chdir-long.
57070         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
57071
57072 2005-01-18  Jim Meyering  <jim@meyering.net>
57073
57074         Merge from coreutils.
57075         * m4/chdir-long.m4, m4/openat.m4: New files.
57076         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
57077         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
57078         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
57079         is sane and DOES follow symlinks.  Besides, testing 20 different
57080         systems found no broken chown implementations.
57081         Prompted by a change in rsync's copy of this macro.
57082         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
57083
57084         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
57085
57086         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
57087         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
57088         NULL-means-set-to-current-time semantics.
57089         Remove temporary file immediately, rather than waiting
57090         for configure's at-exit trap code to do it.
57091
57092 2005-01-18  Jim Meyering  <jim@meyering.net>
57093
57094         * lib/version-etc.c (version_etc_copyright): Update copyright date.
57095
57096         * lib/utimens.c (futimens): Account for the fact that futimes
57097         can also fail with errno == ENOSYS or errno == ENOENT.
57098         Patch from Dmitry V. Levin.
57099
57100         Change the name of the robust chdir function from chdir to chdir_long.
57101         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
57102         (restore_cwd): Use chdir_long, not chdir.
57103         * lib/chdir-long.c: Renamed from chdir.c.
57104         * lib/chdir-long.h: Renamed from chdir.h.
57105         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
57106         Hurd.
57107
57108 2005-01-18  Bruno Haible  <bruno@clisp.org>
57109
57110         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
57111         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
57112         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
57113         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
57114         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
57115         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
57116         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
57117         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
57118         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
57119         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
57120         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
57121         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
57122         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
57123         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
57124         Use an all-permissive copyright notice, recommended by RMS.
57125
57126 2005-01-18  Bob Proulx  <bob@proulx.com>
57127
57128         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
57129         simplify offsetof() macro construct to avoid compile failure with
57130         native HP-UX 11.0 ANSI C compiler.
57131
57132 2005-01-17  Bruno Haible  <bruno@clisp.org>
57133
57134         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
57135         redundant because stpncpy.m4 takes care of it.
57136
57137 2005-01-17  Bruno Haible  <bruno@clisp.org>
57138
57139         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
57140
57141 2005-01-17  Bruno Haible  <bruno@clisp.org>
57142
57143         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
57144         used.
57145
57146 2005-01-17  Bruno Haible  <bruno@clisp.org>
57147
57148         * lib/fwriteerror.h (fwriteerror): Change specification to include
57149         fclose.
57150         * lib/fwriteerror.c: Include <stdbool.h>.
57151         (fwriteerror): At the end, close the file stream. Record whether
57152         stdout was already closed.
57153
57154 2005-01-17  Bruno Haible  <bruno@clisp.org>
57155
57156         * lib/execute.c (environ): Declare if needed.
57157         * lib/pipe.c (environ): Likewise.
57158         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
57159
57160 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
57161
57162         * modules/argp: Depend on vsnprintf
57163
57164 2005-01-10  Jim Meyering  <jim@meyering.net>
57165
57166         * modules/closeout (Depends-on): Add atexit.
57167
57168 2005-01-06  Bruno Haible  <bruno@clisp.org>
57169
57170         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
57171
57172 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
57173
57174         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
57175         definitions to be after all include files, to avoid collisions.
57176         Problem reported by Bob Proulx.
57177
57178 2005-01-04  Jim Meyering  <jim@meyering.net>
57179
57180         Changes imported from coreutils.
57181         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
57182         as the mkstemp template, use a temporary directory and an
57183         8.3-friendly template to avoid trouble on systems like DJGPP.
57184         Reported by Juan M. Guerrero via Stepan Kasal.
57185         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
57186         close. Remove the temporary directory right away, rather than waiting
57187         for configure's at-exit trap code to do it.
57188         Suggestion from Stepan Kasal.
57189
57190 2005-01-01  Simon Josefsson  <jas@extundo.com>
57191
57192         * gnulib-tool: Print #include directives when --import'ing.
57193
57194 2004-12-28  Simon Josefsson  <jas@extundo.com>
57195
57196         * tests/test-base64.c: Include required header files.  Remove
57197         unused variables.
57198
57199 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
57200
57201         * modules/error (Depends-on): Remove gettext.
57202
57203 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
57204
57205         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
57206         not needed.  This removes a dependency on the gettext module.
57207         [defined _LIBC]: Do not include <libintl.h>; not needed.
57208
57209 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
57210
57211         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
57212         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
57213
57214 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
57215
57216         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
57217         HAVE_DECL_STRTOLD.
57218
57219 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
57220
57221         * modules/getdate (Depends-on): Remove alloca-opt.
57222
57223 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
57224
57225         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
57226
57227 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
57228
57229         * lib/argp-parse.c: Include <stddef.h>.
57230         (alignof, alignto): New macros.
57231         (parser_init): Don't assume that void * is aligned sufficiently
57232         for struct option.
57233
57234         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
57235         need to extend the stack.
57236         (YYINITDEPTH): New macro, so that the initial stack isn't overly
57237         large.
57238
57239 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
57240
57241         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
57242
57243 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
57244
57245         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
57246         (2004-10-24) change.  Apparently this was a false alarm.
57247
57248         * modules/getdate: Depend on alloca-opt, not alloca.
57249
57250 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
57251
57252         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
57253         Remove now-obsolete comment about AIX.
57254         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
57255         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
57256         (YYMAXDEPTH): New macro.
57257
57258 2004-12-18  Simon Josefsson  <jas@extundo.com>
57259
57260         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
57261
57262 2004-12-18  Bruno Haible  <bruno@clisp.org>
57263
57264         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
57265
57266 2004-12-18  Bruno Haible  <bruno@clisp.org>
57267
57268         * lib/fatal-signal.c (fatal_signals): Make non-const.
57269         (init_fatal_signals): New function.
57270         (uninstall_handlers, install_handlers): Ignore signals that were set to
57271         SIG_IGN.
57272         (at_fatal_signal): Call init_fatal_signals.
57273         (init_fatal_signal_set): Likewise. Ignore signals that were set to
57274         SIG_IGN.
57275         Reported by Paul Eggert.
57276
57277 2004-12-18  Bruno Haible  <bruno@clisp.org>
57278
57279         * doc/alloca.texi: New file.
57280         * doc/alloca-opt.texi: New file.
57281
57282 2004-12-17  Jim Meyering  <jim@meyering.net>
57283
57284         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
57285         Otherwise, install-sh could exit with improper exit status when
57286         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
57287
57288 2004-12-16  Simon Josefsson  <jas@extundo.com>
57289
57290         * tests/test-base64.c: Add license.
57291
57292 2004-12-15  Stepan Kasal  <address@hidden>
57293
57294         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
57295
57296 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
57297
57298         * modules/getcwd (Files): Add m4/d-ino.m4.
57299         Suggested by Mark D. Baushke.
57300
57301 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
57302
57303         * lib/getdate.y (textint): New member "negative".
57304         (time_zone_hhmm): New function.
57305         Expect 14 shift-reduce conflicts, not 13.
57306         (o_colon_minutes): New rule.
57307         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
57308         (yylex): Set the "negative" member of signed numbers.
57309
57310 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
57311
57312         * doc/getdate.texi (Time of day items, Time zone items):
57313         Describe new formats +00:00, UTC+00:00.
57314
57315 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
57316
57317         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
57318         spurious "-l"s.  Problem reported by Stepan Kasal.
57319
57320 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
57321
57322         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
57323         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
57324
57325 2004-12-04  Simon Josefsson  <jas@extundo.com>
57326
57327         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
57328         Vandoorselaere <yoann@prelude-ids.org>.
57329
57330 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
57331
57332         Changes imported from coreutils.
57333         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
57334         exist.
57335         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
57336
57337 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
57338
57339         Changes imported from coreutils.
57340         * lib/hard-locale.c: Assume <locale.h> exists.
57341         Include "strdup.h".
57342         (GLIBC_VERSION): New macro.
57343         (hard_locale): Assume setlocale exists.
57344         Rewrite to avoid #ifdef.
57345         Use strdup rather than malloc + strcpy.
57346         * lib/human.c: Assume <locale.h> exists.
57347         (human_readable): Assume localeconv exists.
57348
57349 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
57350
57351         * modules/hard-locale (Depends-on): Add strdup.
57352
57353 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
57354
57355         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
57356         convert T2, not T.  (Imported from libc.)
57357
57358 2004-11-30  Simon Josefsson  <jas@extundo.com>
57359
57360         * modules/restrict (License): Change to LGPL.
57361
57362 2004-11-30  Simon Josefsson  <jas@extundo.com>
57363
57364         * m4/restrict.m4: Add copyright and copying conditions.
57365
57366 2004-11-30  Simon Josefsson  <jas@extundo.com>
57367
57368         * m4/base64.m4: New file.
57369
57370 2004-11-30  Simon Josefsson  <jas@extundo.com>
57371
57372         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
57373         base64.
57374
57375         * tests/test-base64.c: New file.
57376
57377         * modules/base64: New file.
57378
57379 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
57380
57381         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
57382         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
57383
57384         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
57385
57386 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
57387
57388         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
57389         (__getcwd.c): Don't restore errno; glibc doesn't.
57390         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
57391         first, falling back to our code only if its results look suspicious.
57392         Ensure that the resulting buffer is only as large as necessary.
57393
57394         * lib/readutmp.c: Include readutmp.h first.
57395         Include <errno.h>, since readutmp.h no longer does that.
57396         * lib/readutmp.h: Don't include <errno.h>,
57397         <sys/param.h>, <time.h>; not needed to establish interface.
57398         (errno): Remove decl.
57399         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
57400         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
57401         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
57402
57403 2004-11-28  Simon Josefsson  <jas@extundo.com>
57404
57405         * lib/base64.h, base64.c: New file.
57406
57407 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
57408
57409         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
57410
57411 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
57412
57413         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
57414         (Depends-on): Remove pathmax, same.  Add mempcpy.
57415         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
57416         (Makefile.am): Append getcwd.h to lib_SOURCES.
57417         (Include): Add getcwd.h.
57418         (Maintainer): Change from Jim Meyering to "all, glibc",
57419         since getdate now uses intended-for-glibc code.
57420         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
57421         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
57422
57423 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
57424
57425         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
57426         HP's ANSI C compiler.
57427         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
57428         Declaring int functions causes warnings on some modern systems and
57429         shouldn't be needed to compile on ancient ones.
57430         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
57431         defined.
57432
57433         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
57434         with the following changes.
57435         (__set_errno): Parenthesize properly.
57436         Include <stdbool.h>.
57437         (MIN, MAX, MATCHING_INO): New macros.
57438         (__getcwd): Define with prototype, not K&R form.
57439         Use heuristics to allocate default buffer on stack if possible.
57440         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
57441         behavior, and to avoid the PATH_MAX limit when computing
57442         ../../../../...
57443         Use MATCHING_INO to compare inode number to file.
57444         Check for arithmetic overflow in size calculations.
57445         Fix bug in reallocation of dot array that caused getcwd to fail
57446         on directories nested deeper than 75.
57447         Be more careful about saving errno on error.
57448         Do not use realloc; use only free+malloc, as this is a bit
57449         more flexible and avoids a needless copy operation.
57450         Do not inspect st_dev and st_ino for symbolic links; POSIX
57451         doesn't specify the latter.
57452         Check for closedir errors.
57453         Avoid needless casts.
57454         Use "#ifdef weak_alias" around weak_alias, to be like other
57455         glibc code.
57456         The following changes to getcwd.c have effect only when used in
57457         gnulib; they have no effect inside glibc proper.
57458         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
57459         as alloca isn't used.
57460         (alloca, __alloca): Likewise.
57461         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
57462         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
57463         unconditionally, as gnulib assumes C89 or better.
57464         Do not include <sys/param.h>.
57465         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
57466         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
57467         better.
57468         (NULL) [!defined NULL]: Remove; we assume C89 or better.
57469         Include <dirent.h> in a way that is compatible with modern Autoconf.
57470         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
57471         New macros, if not already defined.
57472         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
57473         Use "_LIBC", not "defined _LIBC", for consistency.
57474         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
57475         a mempcpy module.
57476         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
57477         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
57478         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
57479         credit only to Jim Meyering and adjust the copyright dates.
57480         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
57481         <stdlib.h>, <unistd.h>, "pathmax.h".
57482         Instead, include "xgetcwd.h" (first) and "getcwd.h".
57483         (INITIAL_BUFFER_SIZE): Remove.
57484         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
57485
57486 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
57487
57488         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
57489         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
57490         Use the _ONCE methods, for efficiency.
57491         Check for fcntl.h.  In test program, include <errno.h>
57492         and <fcntl.h> if available.  Remove old K&R cruft from
57493         test program.  Check for common errors in GNU/Linux,
57494         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
57495         don't do AC_LIBOBJ, as that's getcwd.m4's job.
57496         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
57497         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
57498         name accordingly.
57499         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
57500         accommodate new getcwd.c.
57501         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
57502         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
57503         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
57504         that's all we need now.
57505
57506 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
57507
57508         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
57509         argp-parse.c depends on getopt internals, that means we should
57510         always use our getopt, to be on the safe side.
57511         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
57512         order not to spoil the result of an eventual previous invocation
57513         of gl_GETOPT_SUBSTITUTE.
57514
57515 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
57516
57517         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
57518         redefinition warnings. To avoid them, include the defines
57519         in `#if !defined __need_getopt ... #endif'. The only place
57520         where __getopt_argv_const is used is in definitions
57521         of getopt_long and getopt_long_only below, which are as well
57522         protected by `#ifndef __need_getopt'.
57523         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
57524         __need_getopt after including <stdio.h> and <unistd.h> These
57525         headers might have defined it.
57526
57527 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
57528
57529         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
57530
57531 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
57532
57533         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
57534         (futimens): New function, which uses futimes if available.
57535         (futimens, utimens): Support timespec==NULL, with same semantics
57536         as utime and utimens.
57537         * lib/utimens.h (futimens): New decl.
57538
57539 2004-11-23  Jim Meyering  <jim@meyering.net>
57540
57541         * lib/getopt_.h: Remove trailing blanks.
57542
57543 2004-11-23  Jim Meyering  <jim@meyering.net>
57544
57545         * lib/__fpending.c: Add comment.
57546
57547 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
57548
57549         * modules/canonicalize (Depends-on): Add xreadlink.
57550         Problem reported by James Youngman.
57551
57552 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
57553
57554         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
57555         New macros.
57556         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
57557         optopt): Use them instead of invoking ## directly; otherwise, the
57558         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
57559
57560 2004-11-19  Bruno Haible  <bruno@clisp.org>
57561
57562         * lib/strtok_r.c: Move comments from here...
57563         * lib/strtok_r.h: ... to here.
57564
57565 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
57566
57567         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
57568         implementations that mishandle size_t overflow.
57569
57570 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
57571
57572         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
57573         might fail.  Problem reported by Yoann Vandoorselaere.
57574         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
57575         implementations that mishandle size_t overflow.
57576
57577 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
57578
57579         * modules/canon-host (Depends-on): Add strdup.
57580
57581 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
57582
57583         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
57584
57585 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
57586
57587         * lib/canon-host.c: Include "strdup.h".
57588         (canon_host): Use getaddrinfo if available, so that IPv6 works.
57589         Use strdup instead of malloc/strcpy to duplicate strings.
57590
57591         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
57592         (human_space_before_unit): New constant.
57593         * lib/human.c (human_readable): Support it.
57594
57595         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
57596         (xgetcwd): Set errno correctly when failing.
57597         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
57598         the failure is actually due to a PATH_MAX problem.
57599
57600         Further getopt changes to make it more likely that glibc will
57601         buy the changes back.
57602         * lib/getopt.c (POSIXLY_CORRECT): New constant.
57603         (getopt): Use it, so to preserve glibc semantic
57604         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
57605         when compiling for libc.
57606         * lib/getopt_.h (__getopt_argv_const): Bring it back.
57607         (getopt_long, getopt_long_only): Use it.
57608
57609         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
57610         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
57611         (getopt): Argv is now char * const *, as per standard.
57612         (_getopt_internal_r, _getopt_internal): Argv is now char **,
57613         not char *__getopt_argv_const *.
57614         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
57615         _getopt_long_only_r): Likewise.
57616         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
57617         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
57618         _getopt_long_r, _getopt_long_only_r): Likewise.
57619         * lib/getopt_.h (__getopt_argv_const): Remove.
57620         (getopt): Argv is now char * const *, as per standard.
57621
57622         * lib/getdate.y (tORDINAL): New token.
57623         (day, relunit): Allow it for relative times.
57624         (relative_time_table): Use tORDINAL for ordinals.
57625
57626 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
57627
57628         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
57629         Document that "second" isn't allowed as an ordinal number.
57630
57631 2004-11-16  Jim Meyering  <jim@meyering.net>
57632
57633         * modules/closeout (Depends-on): Add fpending.
57634
57635 2004-11-15  Jim Meyering  <jim@meyering.net>
57636
57637         * lib/closeout.c: Include "__fpending.h" once again.
57638         Include <stdbool.h>.
57639         (close_stdout): Don't fail just because stdout was closed initially,
57640         since some programs don't write to stdout in the normal course of
57641         operation (other than --version and --help), and we don't want this
57642         function to make e.g. `touch file >&-' fail.
57643         But do fail if it was closed and someone has tried to write to it.
57644         E.g., `printf foo >&-' must fail.
57645
57646 2004-11-13  Jim Meyering  <jim@meyering.net>
57647
57648         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
57649
57650 2004-11-12  Simon Josefsson  <jas@extundo.com>
57651
57652         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
57653         small doc fix is still pending.
57654
57655 2004-11-11  Simon Josefsson  <jas@extundo.com>
57656
57657         * modules/strtok_r: New file.
57658
57659         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
57660         strtok_r.
57661
57662 2004-11-11  Simon Josefsson  <jas@extundo.com>
57663
57664         * m4/strtok_r.m4: New file.
57665
57666         * m4/getopt.m4: Replace opterr.
57667
57668 2004-11-11  Simon Josefsson  <jas@extundo.com>
57669
57670         * lib/strtok_r.h, strtok_r.c: New file.
57671
57672 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
57673
57674         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
57675         of replacing opterr, getopt, etc.  This should handle the
57676         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
57677
57678 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
57679
57680         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
57681         we can stop lying to compilers about the constness of argv when we
57682         are compiled outside glibc.
57683         (getopt, getopt_long, getopt_long_only): Use it.
57684         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
57685         _getopt_internal, getopt): Likewise.
57686         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
57687         _getopt_long_only_r): Likewise.
57688         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
57689         _getopt_long_r, _getopt_long_only_r): Likewise.
57690
57691         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
57692         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
57693         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
57694         the other external symbols.
57695         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
57696         declaration, since the above renaming now works around collisions.
57697
57698 2004-11-11  Jim Meyering  <jim@meyering.net>
57699
57700         * lib/linebreak.c: Remove trailing blanks.
57701         * lib/alloca_.h: Likewise.
57702         * lib/acosl.c: Likewise.
57703         * lib/euidaccess.c: Likewise.
57704         * lib/allocsa.h: Likewise.
57705
57706 2004-11-10  Simon Josefsson  <jas@extundo.com>
57707
57708         * m4/getaddrinfo.m4: New file.
57709
57710 2004-11-10  Simon Josefsson  <jas@extundo.com>
57711
57712         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
57713
57714 2004-11-10  Simon Josefsson  <jas@extundo.com>
57715
57716         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
57717         getaddrinfo.
57718
57719         * modules/getaddrinfo: New file.
57720
57721 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
57722
57723         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
57724
57725 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
57726
57727         * lib/mktime.c (SHR): New macro, which is a portable
57728         substitute for >> that should work even on Crays.
57729         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
57730         Problem reported by Mark D. Baushke in
57731         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
57732         * lib/getdate.y (SHR): Likewise.
57733         (tm_diff): Use it.
57734         * lib/strftime.c (SHR): Likewise.
57735         (tm_diff): Use it.
57736         * lib/quotearg.c (struct quoting_options): Use unsigned int for
57737         quote_these_too, so that right shifts are well defined.  All uses
57738         changed.
57739
57740 2004-11-10  Jim Meyering  <jim@meyering.net>
57741
57742         Ensure that no close failure goes unreported.
57743         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
57744         return early when it seems there's nothing to flush.
57745         Don't include __fpending.h.
57746
57747 2004-11-10  Jim Meyering  <jim@meyering.net>
57748
57749         * modules/closeout (Depends-on): Remove fpending.
57750
57751 2004-11-10  Jim Meyering  <jim@meyering.net>
57752
57753         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
57754
57755 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
57756
57757         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
57758         gl_FUNC_STRFTIME.
57759         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
57760         and AC_REQUIRE when possible, to avoid duplicate checks.
57761         Check for <wchar.h>.
57762
57763 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
57764
57765         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
57766
57767 2004-11-09  Bruno Haible  <bruno@clisp.org>
57768
57769         * m4/sockpfaf.m4: New file.
57770
57771 2004-11-05  Bruno Haible  <bruno@clisp.org>
57772
57773         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
57774         Reported by Mark D. Baushke <mdb@cvshome.org>.
57775
57776 2004-11-04  Bruno Haible  <bruno@clisp.org>
57777
57778         2004-09-11  Bruno Haible  <bruno@clisp.org>
57779                 * allocsa.valgrind: New file.
57780         2004-02-06  Bruno Haible  <bruno@clisp.org>
57781                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
57782                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
57783                 Reported by Christopher Seip <chris.seip@hp.com>.
57784
57785 2004-11-04  Bruno Haible  <bruno@clisp.org>
57786
57787         * modules/allocsa (Files): Add lib/allocsa.valgrind.
57788         (Makefile.am): Distribute it.
57789
57790 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
57791
57792         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
57793         with errno == ERANGE if the buffer is too small.
57794         Problem reported by Mark D. Baushke.
57795
57796 2004-11-03  Albert Chin  <china@thewrittenword.com>
57797             Paul Eggert  <eggert@cs.ucla.edu>
57798
57799         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
57800         equivalent, substitute $ac_type for equivalent type rather than
57801         blindly using uint32_t *always* which won't work if uint32_t is not
57802         available.  Define _UINT32_T to work around typedef of uint32_t if
57803         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
57804         2.5.1.
57805
57806 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
57807
57808         * m4/jm-macros.m4: Sync from coreutils.
57809         (gl_MACROS): Check for mbrlen, for pathchk.
57810         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
57811
57812 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
57813
57814         * lib/xreadlink.c (MAXSIZE): New macro.
57815         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
57816         size does not exceed MAXSIZE.  Avoid cast.
57817         As suggested by Mark D. Baushke in
57818         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
57819         if readlink fails with buffer size just under MAXSIZE, try again
57820         with MAXSIZE.
57821
57822 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
57823
57824         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
57825
57826 2004-11-02  Derek R. Price  <derek@ximbiot.com>
57827         and  Paul Eggert  <eggert@cs.ucla.edu>
57828
57829         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
57830         (get_date): Overparenthesize to avoid GCC warning.
57831
57832 2004-11-02  Bruno Haible  <bruno@clisp.org>
57833
57834         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
57835         returns void.
57836
57837 2004-11-02  Bruno Haible  <bruno@clisp.org>
57838
57839         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
57840         function returns void.
57841
57842 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
57843
57844         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
57845         fflush_unlocked, flockfile, funlockfile, funlockfile,
57846         fputs_unlocked, putc_unlocked.
57847
57848 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
57849
57850         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
57851         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
57852         already declared.
57853
57854 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
57855
57856         * modules/getdate (Files): Add doc/getdate.texi.
57857         (Depends-on): Add setenv, xalloc.
57858
57859 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
57860
57861         * lib/getdate.y: Add support for TZ="foo" within a date string.
57862         Fix some bugs near time_t boundaries.  Reject dates with
57863         out-of-range components, e.g., "Sept 31".
57864         Include <stdlib.h>, "setenv.h", "xalloc.h".
57865         (ISDIGIT_LOCALE): Remove; unused.
57866         Note that the TZ and time functions used here are not reentrant.
57867         (mktime_ok, get_tz): New functions.
57868         (TZBUFSIZE): New constant.
57869         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
57870         This requires that we sometimes generate our own TZ="XXX..." setting.
57871
57872 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
57873
57874         * doc/getdate.texi: New file, from coreutils with modifications for
57875         the new TZ parsing.
57876
57877 2004-10-27  Derek R. Price  <derek@ximbiot.com>
57878
57879         * lib/mktime.c (not_equal_tm): Remove redundant check.
57880
57881 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
57882
57883         * modules/regex (lib_SOURCES): Add regex.c.
57884         Reported by James Youngman in
57885         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
57886
57887 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
57888
57889         * lib/getdate.y: Use Bison 1.875 features, and some minor
57890         code cleanups.  This change does not affect semantics.
57891         Don't include <stdlib.h>; no longer needed.
57892         Don't include unlocked-io.h; only the "#if TEST" code uses
57893         stdio, and performance isn't crucial there.
57894         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
57895         Bison 1.875 features as described below.
57896         All uses of "PC." replaced by "pc->".
57897         (YYSTYPE): Add a forward declaration.
57898         (yylex, yyerror): Use full prototypes in forward decls.
57899         Use "%pure-parser" rather than obsolescent "%pure_parser".
57900         Use %parse-param and %lex-param instead of obsolescent
57901         YYPARSE_PARAM and YYLEX_PARAM.
57902         (meridian_table, month_and_day_table, time_units_table,
57903         relative_time_table, time_zone_table, military_table,
57904         lookup_zone, lookup_word, get_date):
57905         Use NULL instead of 0 where appropriate.
57906         (to_hour): Avoid abort (), to avoid a dependency on
57907         stdlib.h.
57908         (yyerror, yylex): Now accepts parser_control * arg.
57909         (main) [TEST]: Use '\0' rather than 0 for char.
57910
57911 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
57912
57913         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
57914
57915 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
57916
57917         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
57918         It's now the caller's responsibility to handle the case where
57919         !HAVE_GETPAGESIZE && !defined getpagesize.
57920
57921         * lib/mktime.c (leapyear): Arg is long int, not int.
57922
57923 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
57924
57925         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
57926
57927 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
57928
57929         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
57930         missing.  Problem reported by James Youngman.
57931
57932 2004-10-16  Simon Josefsson  <jas@extundo.com>
57933
57934         * gnulib-tool: Fix comments.  Fix parse problem.
57935         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
57936
57937 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
57938
57939         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
57940         implementation of getopt_long.  Problem reported by Alexander Taler in:
57941         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
57942
57943 2004-10-15  Bruno Haible  <bruno@clisp.org>
57944
57945         * gnulib-tool: Untabify. Initialize supplied_libname.
57946         (func_usage): More homogenous output.
57947         (func_modules_transitive_closure, func_modules_to_filelist,
57948         func_emit_lib_Makefile_am): New functions.
57949         (func_import): New function, extracted from big case statement. Use
57950         func_get_license, func_modules_transitive_closure,
57951         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
57952         opt_lgpl. Don't use test -a, as it's not portable.
57953         (func_create_testdir): Use func_modules_transitive_closure,
57954         func_modules_to_filelist, func_emit_lib_Makefile_am.
57955
57956 2004-10-15  Bruno Haible  <bruno@clisp.org>
57957
57958         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
57959
57960 2004-10-15  Bruno Haible  <bruno@clisp.org>
57961
57962         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
57963         the portions belonging to each module.
57964         Suggested by Derek Robert Price <derek@ximbiot.com>.
57965
57966 2004-10-12  Simon Josefsson  <jas@extundo.com>
57967
57968         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
57969         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
57970         to real functions.
57971
57972 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
57973
57974         * modules/vsnprintf: New file.
57975
57976 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
57977
57978         * m4/vsnprintf.m4: New file.
57979
57980 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
57981
57982         * lib/vsnprintf.h: New file.
57983         * lib/vsnprintf.c: New file.
57984
57985 2004-10-11  Bruno Haible  <bruno@clisp.org>
57986
57987         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
57988         vsnprintf.
57989
57990 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
57991
57992         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
57993
57994 2004-10-07  Bruno Haible  <bruno@clisp.org>
57995
57996         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
57997         fits into the provided buffer.
57998
57999 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
58000
58001         * lib/diacrit.c, diacrit.h: Add GPL notice.
58002
58003         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
58004         notice.
58005         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
58006         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
58007         This avoids a potential constant-folding bug.
58008
58009 2004-10-05  Bruno Haible  <bruno@clisp.org>
58010
58011         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
58012         for the declaration of strsep.
58013
58014 2004-10-05  Bruno Haible  <bruno@clisp.org>
58015
58016         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
58017
58018 2004-10-04  Simon Josefsson  <jas@extundo.com>
58019
58020         * modules/memmem: New file.
58021         * tests/test-memmem.c: New file.
58022         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
58023
58024 2004-10-04  Simon Josefsson  <jas@extundo.com>
58025
58026         * m4/memmem.m4: New file.
58027
58028 2004-10-04  Simon Josefsson  <jas@extundo.com>
58029
58030         * lib/memmem.h: New file.
58031         * lib/memmem.c: New file, taken from glibc.
58032
58033 2004-10-04  Simon Josefsson  <jas@extundo.com>
58034
58035         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
58036         '#ifdef USE_UNLOCKED_IO'.
58037
58038 2004-10-04  Simon Josefsson  <jas@extundo.com>
58039
58040         * config/srclist.txt: Add memmem from glibc.
58041
58042 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
58043
58044         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
58045
58046         * modules/argmatch, modules/argp, modules/closeout, modules/error,
58047         modules/exclude, modules/getdate, modules/getline,
58048         modules/getndelim2, modules/getpass, modules/getpass-gnu,
58049         modules/getusershell, modules/linebuffer, modules/md5,
58050         modules/mountlist, modules/posixtm, modules/readtokens,
58051         modules/readutmp, modules/regex, modules/sha1,
58052         modules/version-etc, modules/yesno:
58053         Remove dependency on unlocked-io.
58054
58055 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
58056
58057         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
58058
58059         * m4/unlocked-io.m4: Add copyright notice.
58060         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
58061
58062 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
58063
58064         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
58065         * lib/xmalloc.c (xmemdup): Likewise.
58066         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
58067         XFREE): Remove these long-obsolescent macros.
58068         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
58069         * lib/xstrdup.c: Remove.
58070
58071         * lib/regex.c (re_comp): Cast gettext return value to char *,
58072         Problem reported by Martin Neitzel via Mark D. Baushke.
58073
58074 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
58075
58076         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
58077         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
58078         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
58079         regex.c, sha1.c, version-etc.c, yesno.c:
58080         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
58081         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
58082         the includer's responsibility.
58083
58084         Sync from coreutils.
58085
58086         * lib/modechange.c (mode_compile): Don't decrement a pointer that
58087         points to the start of a string, as the C Standard says the
58088         resulting behavior is undefined.
58089
58090         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
58091         simple -> simple_backups, numbered_existing ->
58092         numbered_existing_backups, numbered -> numbered_backups
58093         to avoid shadowing problems.  All uses changed.
58094         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
58095         * lib/backupfile.c (check_extension, numbered_backup):
58096         Rename locals to avoid shadowing 'basename'.
58097         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
58098         once.
58099
58100         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
58101         * lib/.cvsignore: Add getopt.h.
58102
58103 2004-10-04  Bruno Haible  <bruno@clisp.org>
58104
58105         * modules/README: New file.
58106         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
58107         not a module.
58108
58109 2004-10-02  Jim Meyering  <jim@meyering.net>
58110
58111         * lib/dirfd.h, getpagesize.h: Add copyright notice.
58112
58113 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
58114
58115         * modules/strsep: New file.
58116
58117 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
58118
58119         * m4/strsep.m4: New file.
58120
58121 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
58122
58123         * lib/strsep.h: New file.
58124         * lib/strsep.c: New file.
58125
58126 2004-10-01  Simon Josefsson  <jas@extundo.com>
58127
58128         * lib/snprintf.c (snprintf): Handle size==0.
58129
58130 2004-10-01  Simon Josefsson  <jas@extundo.com>
58131             Bruno Haible  <bruno@clisp.org>
58132
58133         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
58134         (snprintf): Declare 'args'.
58135
58136 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
58137
58138         * lib/snprintf.c: Remove comments as to why each header is needed.
58139
58140 2004-10-01  Bruno Haible  <bruno@clisp.org>
58141
58142         * MODULES.html.sh: Add strsep.
58143
58144 2004-09-30  Simon Josefsson  <jas@extundo.com>
58145
58146         * modules/snprintf: New file.
58147
58148 2004-09-30  Simon Josefsson  <jas@extundo.com>
58149
58150         * m4/snprintf.m4: New file.
58151
58152 2004-09-30  Simon Josefsson  <jas@extundo.com>
58153
58154         * lib/snprintf.h, lib/snprintf.c: New files.
58155
58156 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
58157
58158         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
58159         (hol_entry_help): Never translate an empty string.
58160         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
58161         * lib/argp.h (OPTION_NO_TRANS): New option.
58162
58163 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
58164
58165         * modules/argp (Maintainer): Replace Simon Josefsson
58166         by Sergey Poznyakoff.
58167
58168 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
58169
58170         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
58171         changes merged back into glibc.
58172
58173 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
58174
58175         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
58176
58177 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
58178
58179         * lib/xvasprintf.c: Include xalloc.h.
58180         (xvasprintf): Use xalloc_die, not xmalloc_die.
58181
58182 2004-09-29  Bruno Haible  <bruno@clisp.org>
58183
58184         * modules/alloca-opt: New file, derived from modules/alloca.
58185         * modules/allocsa: Depend on alloca-opt instead of alloca.
58186         * modules/setenv: Likewise.
58187         * modules/vasnprintf: Likewise.
58188         * MODULES.html.sh: Add alloca-opt.
58189
58190 2004-09-28  Simon Josefsson  <jas@extundo.com>
58191
58192         * gnulib-tool: New parameter --lgpl, to asseert that modules are
58193         LGPL, and to replace license template from GPL to LGPL.
58194
58195 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
58196
58197         * modules/dummy: Change license to LGPL.
58198
58199 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
58200
58201         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
58202
58203 2004-09-24  Simon Josefsson  <jas@extundo.com>
58204
58205         * modules/minmax (License): Change from GPL to LGPL.
58206
58207 2004-09-23  Simon Josefsson  <jas@extundo.com>
58208
58209         * gnulib-tool (--import): Typo.
58210
58211 2004-09-23  Simon Josefsson  <jas@extundo.com>
58212
58213         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
58214
58215 2004-09-22  Bruno Haible  <bruno@clisp.org>
58216
58217         * modules/*: Add 'License' field.
58218         * gnulib-tool: Accept --extract-license option.
58219         (func_get_license): New function.
58220
58221 2004-09-21  Bruno Haible  <bruno@clisp.org>
58222
58223         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
58224         Reported by Simon Josefsson.
58225
58226 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
58227
58228         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
58229         gl_AC_TYPE_LONG_LONG.
58230
58231 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
58232
58233         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
58234
58235 2004-09-18  Simon Josefsson  <jas@extundo.com>
58236         and  Paul Eggert  <eggert@cs.ucla.edu>
58237
58238         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
58239         calls with autoreconf.  Define GL_LIB.
58240
58241 2004-09-14  Karl Berry  <karl@gnu.org>
58242
58243         * config/srclist.txt: unsync setenv.c, sigh.
58244
58245 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
58246
58247         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
58248         Problem reported by Bruno Haible in:
58249         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
58250
58251 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
58252
58253         * config/srclist.txt: Comment out argp-pvh.c.
58254
58255 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
58256
58257         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
58258         in case some system header has #define'd it.  Problem reported by
58259         Soeren D. Schulze in
58260         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
58261
58262 2004-09-09  Karl Berry  <karl@gnu.org>
58263
58264         * regex.[ch]: delete from the root.  These were supposed to be
58265                 synced with emacs cvs, but this has not happened for about
58266                 a year, and anyway nothing else uses emacs regex.[ch].
58267                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
58268                 lib/regex[.ch] is untouched.
58269
58270 2004-09-09  Bruno Haible  <bruno@clisp.org>
58271
58272         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
58273
58274 2004-09-09  Bruno Haible  <bruno@clisp.org>
58275
58276         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
58277         modifications.
58278         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
58279
58280 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
58281
58282         * modules/xvasprintf: New file.
58283         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
58284
58285 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
58286
58287         * lib/xvasprintf.h: New file.
58288         * lib/xvasprintf.c: New file.
58289         * lib/xasprintf.c: New file.
58290
58291 2004-09-08  Bruno Haible  <bruno@clisp.org>
58292
58293         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
58294
58295 2004-09-08  Bruno Haible  <bruno@clisp.org>
58296
58297         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
58298         length is > INT_MAX.
58299         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
58300         more.
58301
58302 2004-09-08  Bruno Haible  <bruno@clisp.org>
58303
58304         * lib/stdint_.h: New file, taken from GNU clisp.
58305
58306 2004-09-08  Bruno Haible  <bruno@clisp.org>
58307             Oskar Liljeblad  <oskar@osk.mine.nu>
58308
58309         * modules/stdint: New file.
58310         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
58311
58312 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
58313
58314         Import from coreutils.
58315         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
58316         strings on unbounded length.  alloca's performance benefits aren't
58317         that important here.
58318         (V_STRDUP): Remove.
58319         (parse_with_separator): New function, with most of the internals
58320         of the old parse_user_spec.  Allow user to omit both user and group,
58321         for compatibility with FreeBSD.
58322         Clone only the user name, not the entire spec.
58323         Do not set *uid, *gid unless entirely successful.
58324         Avoid memory leak in some failing cases.
58325         Fix regression for USER.GROUP reported by Dmitry V. Levin in
58326         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
58327         (parse_user_spec): Rewrite to use parse_with_separator.
58328
58329 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
58330
58331         * modules/userspec: Don't depend on alloca.
58332
58333 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
58334
58335         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
58336
58337 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
58338
58339         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
58340         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
58341         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
58342
58343 2004-08-16  Simon Josefsson  <jas@extundo.com>
58344
58345         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
58346         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
58347         Add --dry-run for --import.
58348         Let user provided command line parameters override configure.ac
58349         settings.
58350
58351 2004-08-12  Simon Josefsson  <jas@extundo.com>
58352
58353         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
58354         as discussed with Paul Eggert in threads rooted at
58355         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
58356         and
58357         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
58358         Before, the test was empty, and relied on ELIDE_CODE in source
58359         code.)
58360         (gl_PREREQ_GETOPT): New macro.
58361         (gl_GETOPT): Use them.
58362
58363 2004-08-12  Simon Josefsson  <jas@extundo.com>
58364
58365         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
58366         * lib/getopt_.h: Renamed from getopt.h.
58367
58368 2004-08-12  Simon Josefsson  <jas@extundo.com>
58369
58370         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
58371         Change default library name from libfoo to libgnu.
58372         Now, if you have a configure.ac that says:
58373                 gl_SOURCE_BASE(gl)
58374                 gl_M4_BASE(gl/m4)
58375                 gl_MODULES(error getopt etcetera)
58376                 gl_INIT
58377         you can import all you need by running:
58378                 ../gnulib/gnulib-tool --import
58379
58380         * modules/getopt (Files): Rename getopt.h to getopt_.h.
58381         (Makefile.am): Rewrite, use logic from argz.
58382         (Include): Use <getopt.h> instead of "getopt.h".
58383
58384 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
58385
58386         * modules/argp (Files): Add m4/unlocked-io.m4.
58387         (Depends-on): Add extensions.
58388
58389 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
58390
58391         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
58392         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
58393         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
58394         Check for program_invocation_name, program_invocation_short_name,
58395         flockfile, funlockfile, features.h, _getopt_long_only_r.
58396
58397 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
58398
58399         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
58400         its complicated substitute.
58401         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
58402         and program_invocation_name.
58403         (__argp_basename) [!_LIBC]: Remove; the only use was
58404         replaced by its body.
58405         (__argp_short_program_name): Change condition from
58406         !defined __argp_short_program_name to
58407         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
58408         to match argp-namefrob.h.
58409         (__argp_failure): Don't assume strerror_r returns char *.
58410         * lib/argp-parse.c (N_): Define unconditionally.
58411         (argp_default_options): Fill out initializers with 0 to avoid
58412         gcc warnings.
58413
58414 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
58415
58416         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
58417         getopt1.c.
58418
58419 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
58420
58421         Merge from coreutils.
58422
58423         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
58424
58425         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
58426         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
58427
58428 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
58429
58430         Merge from coreutils.
58431
58432         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
58433         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
58434         for Reliant Unix 5.43.
58435
58436         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
58437         (union fooround): Use uintmax_t, not long int.
58438         The rest is a merge from libc:
58439         [defined _LIBC]: Include <shlib-compat.h>.
58440         (_obstack) [defined _LIBC]: Remove after 2.3.4.
58441
58442         * lib/settime.c (settime): Recode to avoid warning with
58443         Sun Forte C 6U2.
58444
58445         * lib/strverscmp.c: Convert to UTF-8.
58446
58447 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
58448
58449         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
58450         m4/uintmax_t.m4.
58451
58452 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
58453
58454         * modules/xalloc-die: New file.
58455         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
58456
58457         * modules/md5 (Files): Add m4/uint32_t.m4.
58458         * modules/sha1: Renamed from modules/sha.
58459         (Files):
58460         Rename lib/sha.h to lib/sha1.h.
58461         Rename lib/sha.c to lib/sha1.c.
58462         Rename m4/sha.m4 to m4/sha1.m4.
58463         (lib_SOURCES): Likewise.
58464         (configure.ac): Rename gl_SHA to gl_SHA1.
58465         (Include): sha.h -> sha1.h.
58466
58467 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
58468
58469         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
58470         * m4/sha1.m4: Renamed from sha.m4.
58471         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
58472
58473 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
58474
58475         * lib/obstack.h (obstack_empty_p):
58476         Don't assume that chunk->contents is suitably aligned.
58477         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
58478         Likewise. Problem reported by Benno in
58479         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
58480
58481         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
58482         readable.  This could be improved further but it'd take some work.
58483
58484 2004-08-08  Simon Josefsson  <jas@extundo.com>
58485
58486         * modules/xgethostname (Depends-on): Remove exit and error (not
58487         used).
58488
58489         * modules/getpass-gnu: Add getpass.h.
58490         (Depends-on): Add stdbool.
58491         * modules/getpass: Add getpass.h.
58492
58493 2004-08-08  Simon Josefsson  <jas@extundo.com>
58494
58495         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
58496         Check getpass declaration.
58497
58498 2004-08-08  Simon Josefsson  <jas@extundo.com>
58499
58500         * lib/xgethostname.c: Don't include error.h (not used).
58501
58502         * lib/getpass.h: Add.
58503         * lib/getpass.c: Include getpass.h first.
58504
58505 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
58506
58507         * lib/xalloc-die.c: New file.
58508         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
58509         All uses removed.
58510         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
58511         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
58512         xalloc-die.c.
58513         (_, N_, xalloc_die): Move to xalloc-die.c.
58514         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
58515         so that we needn't mess with xalloc_msg_memory_exhausted.
58516
58517         * lib/sha1.h: Renamed from sha.h.
58518         (SHA1_H): Renamed from _SHA_H.
58519         (sha1_ctx): Renamed from sha_ctx.
58520         (sha1_init_ctx): Renamed from sha_init_ctx.
58521         (sha1_process_block): Renamed from sha_process_block.
58522         (sha1_process_bytes): Renamed from sha_process_bytes.
58523         (sha1_finish_ctx): Renamed from sha_finish_ctx.
58524         (sha1_read_ctx): Renamed from sha_read_ctx.
58525         (sha1_stream): Renamed from sha_stream.
58526         (sha1_buffer): Renamed from sha_buffer.
58527         * lib/sha1.c: Likewise; renamed from sha.c.
58528         Do not include <sys/types.h>.
58529         Include <stddef.h> rather than <stdlib.h>.
58530
58531 2004-08-08  Bruno Haible  <bruno@clisp.org>
58532
58533         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
58534         FILESYSTEM_PREFIX_LEN.
58535         * lib/progreloc.c: Likewise.
58536         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
58537
58538 2004-08-06  Simon Josefsson  <jas@extundo.com>
58539
58540         * modules/progname (Depends-on): Don't depend on stdbool.
58541
58542 2004-08-06  Simon Josefsson  <jas@extundo.com>
58543
58544         * modules/getsubopt: New file.
58545         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
58546         getsubopt.
58547
58548 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
58549
58550         More merge from coreutils.
58551
58552         * m4/utimens.m4, m4/utimecmp.m4: New files.
58553         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
58554         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
58555         prereq.m4, sha.m4: Import changes from coreutils.
58556
58557 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
58558
58559         More merge from coreutils.
58560         * modules/raise, modules/readtokens0, modules/utimens:
58561         * modules/utimecmp, module/xnanosleep: New files.
58562         * modules/strftime: Add lib/strftime.h.
58563         Change include from <time.h> to "strftime.h".
58564         * modules/yesno: Add lib/yesno.h.
58565         * modules/backupfile: Remove lib/addext.c.
58566         * modules/euidaccess: Add stat-macros.h.
58567         * modules/canonicalize, modules/euidaccess,
58568         modules/filemode, modules/lchown, modules/makepath,
58569         modules/rmdir, modules/stat: Likewise.
58570
58571 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
58572
58573         Merge from tar.
58574         * lib/argp-help.c (make_hol, hol_append): Don't assume that
58575         SIZE_MAX is a valid preprocessor constant.
58576         (__argp_basename): Change from "#ifndef _LIBC"
58577         to "#ifndef __argp_short_program_name", so that
58578         we don't compile these functions for tar.
58579
58580         More merges from coreutils.
58581         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
58582         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
58583         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
58584         * lib/addext.c: Remove; no longer needed.
58585         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
58586         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
58587         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
58588         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
58589         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
58590         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
58591         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
58592         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
58593         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
58594         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
58595         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
58596         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
58597         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
58598         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
58599         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
58600         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
58601         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
58602         Import changes from coreutils.
58603
58604 2004-08-05  Simon Josefsson  <jas@extundo.com>
58605
58606         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
58607
58608 2004-08-05  Simon Josefsson  <jas@extundo.com>
58609
58610         * m4/getsubopt.m4: New file.
58611
58612 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
58613
58614         Merge from coreutils.
58615
58616         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
58617         * m4/getcwd-path-max.m4: New files.
58618
58619         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
58620         FILESYSTEM_PREFIX_LEN ->
58621         FILE_SYSTEM_PREFIX_LEN.
58622         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
58623         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
58624         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
58625         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
58626
58627         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
58628         prerequisite modules now handle the DOS stuff.
58629         Don't check for unistd.h.
58630
58631 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
58632
58633         Merge from coreutils.
58634
58635         * lib/.gdb-history: Remove; this doesn't belong here.
58636
58637         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
58638         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
58639         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
58640         * lib/getcwd.c: New files.
58641
58642         * lib/dirname.h: Include <stdbool.h>.
58643         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
58644         for consistency with POSIX terminology.  All uses changed.
58645         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
58646         (strip_trailing_slashes): Use bool for booleans.
58647         * lib/stripslash.c (strip_trailing_slashes): Likewise.
58648
58649         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
58650         sometimes returns a positive errno value even when it succeeds.
58651         (print_errno_message) [!LIBC]: Fall back on strerror if
58652         __strerror_r fails.
58653
58654         * lib/path-concat.c (mempcpy): Don't define if a system header defines
58655         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
58656         (longest_relative_suffix): New function.
58657         (path_concat): Use it.  Assume first argument is not NULL.
58658         Port to DOS.  Omit redundant separators.
58659         Report an error instead of returning NULL.
58660         Use mempcpy instead of memcpy.
58661         (xpath_concat): Remove: not declared or used.
58662
58663         * lib/same.h: Include <stdbool.h>
58664         (same_name): Return bool, not int.
58665         * lib/same.c (same_name): Likewise.
58666         (errno): Don't declare; we assume C89 or better now.
58667
58668         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
58669         if not already defined.
58670
58671         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
58672         * lib/dup-safer.c (errno): Likewise.
58673
58674 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
58675
58676         Merge from coreutils.
58677         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
58678         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
58679         * modules/path-concat: Don't depend on strdup.
58680
58681 2004-08-03  Simon Josefsson  <jas@extundo.com>
58682
58683         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
58684         * lib/progname.h: Don't include stdbool.h.
58685
58686 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
58687
58688         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
58689         * MODULES.html.sh (func_all_modules): Remove fatal.
58690
58691 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
58692
58693         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
58694
58695 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
58696
58697         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
58698         working.
58699
58700 2004-08-02  Simon Josefsson  <jas@extundo.com>
58701
58702         * lib/getsubopt.h: New file, with comments from Bruno Haible.
58703         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
58704         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
58705
58706 2004-08-01  Simon Josefsson  <jas@extundo.com>
58707
58708         * lib/xgetdomainname.c: Include stdlib.h, for free().
58709
58710 2004-07-19  Bruno Haible  <bruno@clisp.org>
58711
58712         * MODULES.html.sh (func_all_modules): Add dummy.
58713
58714 2004-07-16  Simon Josefsson  <jas@extundo.com>
58715
58716         * modules/dummy: New file.
58717
58718 2004-07-16  Simon Josefsson  <jas@extundo.com>
58719
58720         * lib/dummy.c: New file.
58721
58722 2004-07-16  Bruno Haible  <bruno@clisp.org>
58723
58724         * lib/backupfile.h: Add extern "C" for C++.
58725         * lib/closeout.h: Likewise.
58726         * lib/copy-file.h: Likewise.
58727         * lib/findprog.h: Likewise.
58728         * lib/full-write.h: Likewise.
58729         * lib/pathname.h: Likewise.
58730         * lib/progname.h: Likewise.
58731         * lib/stpcpy.h: Likewise.
58732         * lib/stpncpy.h: Likewise.
58733         * lib/strcase.h: Likewise.
58734         * lib/strstr.h: Likewise.
58735         * lib/xalloc.h: Likewise.
58736
58737         * lib/mbswidth.h: Add extern "C" for C++.
58738         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
58739
58740 2004-07-13  Robert Millan  <robertmh@gnu.org>
58741
58742         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
58743
58744 2004-07-09  Simon Josefsson  <jas@extundo.com>
58745
58746         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
58747         failed without this.)
58748
58749 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
58750
58751         * modules/chown (Files): Add lib/fchown-stub.c, since
58752         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
58753
58754 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
58755
58756         * lib/fchown-stub.c: New file.
58757
58758 2004-06-24  Jim Meyering  <jim@meyering.net>
58759
58760         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
58761
58762 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
58763
58764         * modules/argz: Omit "#include".
58765
58766         * MODULES.html.sh (func_all_modules): Add calloc, to match
58767         2004-06-01 addition of calloc module.
58768
58769 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
58770
58771         * m4/argz.m4: New file, which is autoupdated from libtool.
58772
58773 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
58774
58775         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
58776         libtool.
58777
58778 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
58779
58780         * config/srclist-update: Don't insist on "USA." before the
58781         close-comment, as libtool omits the period and puts the */ on a
58782         separate line.
58783         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
58784         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
58785
58786 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
58787
58788         * modules/argz: New file.
58789         * MODULES.html.sh (func_all_modules): Add argz.
58790
58791 2004-06-12  Jim Meyering  <jim@meyering.net>
58792         and  Paul Eggert  <eggert@cs.ucla.edu>
58793
58794         * modules/hash (Files): Add lib/xalloc.h.
58795         * modules/pipe (Depends-on): Add wait-process.
58796         * modules/stat (Depends-on): Add xalloc.
58797         * modules/userspec (Files): Add lib/userspec.h.
58798         * modules/xstrto
58799
58800         Upgrade from gettext-0.13.
58801         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
58802         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
58803         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
58804
58805 2004-06-10  Jim Meyering  <jim@meyering.net>
58806
58807         * lib/calloc.c: New file.
58808
58809 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
58810
58811         * lib/getdate.y (yylex): Allow space between sign and number.
58812         Problem reported by Dan Jacobson.
58813
58814 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
58815
58816         Merge from coreutils CVS.
58817
58818         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
58819         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
58820         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
58821         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
58822         xstrtol.m4: Fix copyright date and/or serial number.
58823
58824         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
58825         See if we need an fchown replacement.
58826         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
58827         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
58828         and use the replacement function if we detect either defect.
58829
58830         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
58831         gl_UTIMECMP.
58832
58833 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
58834         and  Jim Meyering  <jim@meyering.net>
58835
58836         Merge from coreutils CVS.
58837
58838         * lib/stat-macros.h: New file, with contents from file-type.h
58839         and coreutils' system.h.
58840         * lib/file-type.c: Include "stat-macros.h".
58841         * lib/file-type.h (file_type): Move all macro definitions to new file,
58842         stat-macros.h.
58843
58844         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
58845         Wrap old code with this conditional.
58846         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
58847         function that does not dereference symlinks.
58848         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
58849
58850         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
58851         dependency problems.
58852         (xreadlink): Accept new arg SIZE, for efficiency.
58853         All decls and uses changed.
58854         * lib/xreadlink.h: Include <stddef.h>, for size_t.
58855
58856         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
58857         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
58858
58859         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
58860         sysexits.h.
58861
58862 2004-06-01  Jim Meyering  <jim@meyering.net>
58863
58864         * m4/calloc.m4: New file.
58865
58866 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
58867
58868         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
58869         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
58870         Also, fix a typo in a diagnostic.
58871
58872 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
58873
58874         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
58875         or AC_FUNC_REALLOC.
58876
58877 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
58878
58879         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
58880         macros to be defined.
58881         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
58882         the allocator returns NULL because the requested size is zero.
58883
58884 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
58885
58886         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
58887         var.  Add comment explaining why libc still defines it.  This
58888         merges the following patch from glibc:
58889         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
58890
58891 2004-05-20  Andreas Schwab  <schwab@suse.de>
58892
58893         * m4/free.m4: Replace free if it not known to work, not the other
58894         way round.
58895
58896 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
58897
58898         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
58899         present in glibc since revision 1.1 of this file.
58900         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
58901         obstack_alignment_mask, obstack_alloc, obstack_base,
58902         obstack_blank, obstack_blank_fast, obstack_chunk_size,
58903         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
58904         obstack_grow0, obstack_init, obstack_int_grow,
58905         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
58906         obstack_next_free, obstack_object_size, obstack_ptr_grow,
58907         obstack_ptr_grow_fast, obstack_room): Remove declarations of
58908         nonexistent functions.
58909
58910 2004-05-18  Karl Berry  <karl@gnu.org>
58911
58912         * config/srclist.txt: break link for vasnprintf.c.
58913
58914 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
58915
58916         Port obstack to the AS/400, where pointers are 16 bytes wide and
58917         you cannot cast an integer to a valid pointer.  This patch is
58918         currently waiting to be integrated into glibc; see
58919         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
58920
58921         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
58922         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
58923         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
58924         (struct obstack): temp member is now a union of a pointer and
58925         an integer, instead of an integer.  All integer uses changed.
58926         This does not affect the physical layout of struct obstack,
58927         except on hosts (like the AS/400) where the size or alignment of
58928         void * is greater than that of ptrdiff_t.
58929         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
58930         __STDC__)]: Store temporary in pointer member of union, not
58931         integer member.
58932         * lib/obstack.c: Include <stddef.h>, for offsetof.
58933         (struct fooalign): Remove; it doesn't need a name.
58934         (union fooround): Change double to long double, and add void *.
58935         (DEFAULT_ALIGNMENT): Use offsetof to compute.
58936         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
58937         not a macro.  Hence the values are always int; so remove all
58938         casts-to-int in uses.
58939
58940 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
58941
58942         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
58943         we can get this patch merged into glibc.
58944
58945 2004-05-17  Derek R. Price  <derek@ximbiot.com>
58946             Paul Eggert  <eggert@cs.ucla.edu>
58947
58948         * m4/argp: Depend on alloca.
58949
58950 2004-05-17  Derek R. Price  <derek@ximbiot.com>
58951             Paul Eggert  <eggert@cs.ucla.edu>
58952
58953         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
58954         freecoding.
58955
58956 2004-05-17  Bruno Haible  <bruno@clisp.org>
58957
58958         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
58959         precision that consists of a '.' followed by an empty digit string.
58960         Patch by Tor Lillqvist <tml@iki.fi>.
58961
58962 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
58963
58964         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
58965         for backward compatibility with older code.  We need our own
58966         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
58967         it under some other name, and our alloca.h will define it.
58968
58969 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
58970             Derek Price  <derek@ximbiot.com>
58971
58972         * lib/alloca.c: Include <alloca.h>, to get our interface.
58973         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
58974         include <alloca.h> first.  Use C89 prototype for alloca; this
58975         requires including <stddef.h> for size_t.  Use extern "C" if C++.
58976         Use #elif for simplicity, since we can assume C89 now.
58977         Don't try to source the system alloca.h since it will not be found
58978         and to prevent recursively including its replacement.
58979         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
58980         * lib/regex.c: Likewise.
58981
58982 2004-05-16  Derek Price  <derek@ximbiot.com>
58983             Paul Eggert  <eggert@cs.ucla.edu>
58984
58985         getline cleanup.  This changes the getndelim2 API: both order of
58986         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
58987         no delimiter).
58988
58989         * lib/getline.c: Don't include stddef.h or stdio.h, since our
58990         interface does that.
58991         (getline): Always use getdelim, so that we don't have two
58992         copies of this code.
58993         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
58994         if available.
58995         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
58996         (GETNDELIM2_MAXIMUM): New macro.
58997         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
58998         instead of the old practice of delim2==0.  All callers changed.
58999         Return -1 on overflow, instead of returning junk.
59000         Do not set *linesize unless allocation succeeds.
59001         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
59002         that we include sys/types.h.
59003         * lib/getnline.h: Likewise.
59004         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
59005         (getndelim2): Reorder arguments.
59006         * lib/getnline.c (getnline, getndelim):
59007         Don't discard the NMAX argument.
59008         (getnline): Invoke getndelim, to avoid code duplication.
59009         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
59010         of (size_t) -1 by callers of the getnline family.
59011
59012 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
59013
59014         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
59015         Check for gettimeofday.
59016         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
59017         Check for settimeofday, stime.
59018
59019 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
59020
59021         * lib/nanosleep.c (suspended): Change its type from int to
59022         sig_atomic_t volatile.
59023         (first_call): Make it private to rpl_nanosleep, and have it
59024         be zero initially as that's a bit faster.
59025         (my_usleep): Round up fractional times instead of truncating them,
59026         as this is the usual meaning for 'sleep'.
59027
59028         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
59029         doesn't work.
59030         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
59031         (ENOSYS): Define if not defined.
59032         (settime): Fall back on stime if it exists and settimeofday fails.
59033         But don't bother with fallbacks if a method fails with errno == EPERM.
59034
59035 2004-05-11  Jim Meyering  <jim@meyering.net>
59036
59037         Prior to this change, the save_cwd caller required read access to the
59038         current directory on most systems (ones with the fchdir function).
59039
59040         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
59041         fails, try write-only, and finally, resort to using xgetcwd.
59042
59043 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
59044
59045         * lib/obstack.c, obstack.h: Import changes from libc.
59046
59047 2004-04-28  Bruno Haible  <bruno@clisp.org>
59048
59049         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
59050         also implicitly appends .exe to executables.
59051         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
59052         accepts Windows pathnames.
59053         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
59054         Treat Cygwin like Windows, since it now accepts Windows pathnames.
59055         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
59056         Treat Cygwin like Windows, since it now accepts Windows pathnames.
59057         Reported by Derek Robert Price <derek@ximbiot.com>.
59058
59059 2004-04-21  Karl Berry  <karl@gnu.org>
59060
59061         * config/srclist.txt (localcharset.c): break sync.
59062
59063 2004-04-20  Paul Eggert  <eggert@twinsun.com>
59064
59065         * m4/host-os.m4: Add a copyright notice.
59066
59067 2004-04-20  Jim Meyering  <jim@meyering.net>
59068
59069         Change UTILS_ to gl_ in AC_DEFINE'd names.
59070         Change utils_- and jm_-prefixed variables, too.
59071         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
59072         UTILS_FUNC_MKDIR_TRAILING_SLASH.
59073         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
59074
59075         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
59076         Don't emit trailing blanks.
59077         Also rename jm_-prefixed variables to have gl_ prefix.
59078
59079         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
59080         Also rename jm_-prefixed variables to have gl_ prefix.
59081
59082         * m4/jm-macros.m4: Reflect the renamings.
59083         * m4/prereq.m4: Likewise.
59084
59085 2004-04-20  Jim Meyering  <jim@meyering.net>
59086
59087         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
59088         memory.
59089
59090 2004-04-20  Jim Meyering  <jim@meyering.net>
59091             Bruno Haible  <bruno@clisp.org>
59092
59093         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
59094         memory when realloc fails.
59095
59096 2004-04-19  Jim Meyering  <jim@meyering.net>
59097
59098         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
59099         now that readutmp.c may call `free (0)'.
59100
59101 2004-04-19  Bruno Haible  <bruno@clisp.org>
59102
59103         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
59104         * m4/inttypes_h.m4: Likewise.
59105         * m4/stdint_h.m4: Likewise.
59106         * m4/intmax_t.m4: Likewise.
59107         * m4/uintmax_t.m4: Likewise.
59108
59109 2004-04-18  Jim Meyering  <jim@meyering.net>
59110
59111         * m4/prereq.m4: Don't forbid jm_ prefix.
59112
59113         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
59114         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
59115         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
59116         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
59117         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
59118         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
59119         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
59120         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
59121         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
59122         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
59123         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
59124         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
59125         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
59126         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
59127         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
59128         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
59129         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
59130         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
59131         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
59132
59133 2004-04-18  Jim Meyering  <jim@meyering.net>
59134
59135         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
59136         failure, don't leak memory and do call END_UTMP_ENT.
59137
59138 2004-04-16  Jim Meyering  <jim@meyering.net>
59139
59140         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
59141         coreutils' stat program.
59142         (gl_PREREQ): Don't require jm_PREREQ_STAT.
59143
59144 2004-04-11  Paul Eggert  <eggert@twinsun.com>
59145
59146         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
59147         C89.
59148         (CHAR_BIT): Remove, since we assume C89.
59149         Include <stdint.h> if available, as per current Autoconf CVS advice.
59150
59151 2004-03-31  Jim Meyering  <jim@meyering.net>
59152
59153         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
59154         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
59155         * m4/xalloc.m4: Likewise.
59156
59157 2004-03-30  Paul Eggert  <eggert@twinsun.com>
59158
59159         Merge from coreutils.
59160
59161         * m4/inttostr.m4: New file.
59162         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
59163         Require AM_STDBOOL_H and gl_TIMESPEC instead.
59164         Require gl_CLOCK_TIME.
59165         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
59166
59167 2004-03-30  Paul Eggert  <eggert@twinsun.com>
59168
59169         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
59170         not bool, to be more consistent with Unix conventions.
59171         Suggested by Bruno Haible.
59172
59173         Merge from coreutils.
59174
59175         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
59176         * lib/umaxtostr.c: New files.
59177
59178         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
59179         the usual <time.h> dance.
59180         (get_date): Change signature to support fractional time stamps.
59181         All callers changed.
59182         * lib/getdate.y: Include "getdate.h" first, as we can now
59183         assume C89 and don't need to worry about 'const'.
59184         Similarly, include "unlocked-io.h" near start, not in middle.
59185         Include <limits.h>.
59186         (textint.value): Use long int rather than int.
59187         (textint.digits): Use size_t rather than int.
59188         (BILLION, LOG10_BILLION): New constants.
59189         (parser_control): New member rel_ns.  Members day_ordinal,
59190         time_zone, month, day, hour, minutes, rel_year, rel_month,
59191         rel_day, rel_hour, rel_minutes, rel_seconds
59192         are now long int, not int.  Member seconds is now struct timespec,
59193         not int.  New member timespec_seen.  Members dates_seen, days_seen,
59194         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
59195         not int.
59196         (%union.intval): Now long int, not int.
59197         New member timespec.
59198         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
59199         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
59200         (spec): Now is a timespec or an item list.
59201         (timespec, items): New nonterminals.
59202         (time, rel, relunit, number, get_date):
59203         Add support for fractional seconds.
59204         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
59205         (gmtime, localtime, mktime): Remove decls; not needed with C89.
59206         (to_hour): First arg is now long int, not int.
59207         (to_year): Returns long int, not int.
59208         Don't treat year -70 like 70.
59209         (tm_diff): Returns long int, not int.
59210         (lookup_word): Use bool instead of int when appropriate.
59211         (yylex): Use size_t for count, not int.
59212         Detect overflow when parsing large integer constants.
59213         Add support for fractions.
59214         (get_date): Make pointers 'const' if possible.
59215         Use more-portable code to detect integer overflow.
59216         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
59217         Don't use ctime; it's not reliable if the year has >4 digits.
59218
59219         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
59220         This is for compatibility with BSD.
59221
59222         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
59223         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
59224         From coreutils' system.h.
59225
59226         * lib/userspec.c: Don't include "posixver.h".
59227         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
59228         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
59229         compatible extension.  Simplify code by removing a boolean int
59230         that was always nonzero if a string was nonnull.
59231
59232 2004-03-30  Jim Meyering  <jim@meyering.net>
59233
59234         Merge from coreutils.
59235
59236         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
59237         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
59238         on some systems one must include <grp.h> before it.
59239         Reported by Christian Krackowizer.
59240
59241 2004-03-30  Jim Meyering  <jim@meyering.net>
59242
59243         Merge from coreutils.
59244
59245         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
59246
59247         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
59248         an empty input stream.
59249
59250         * lib/readtokens.c: Include <stdbool.h>.
59251         (readtoken): Use `size_t' rather than int/long.
59252         All callers adjusted.
59253         Use `bool' rather than `int' where appropriate.
59254         Use memset rather than an explicit loop.
59255         Use x2nrealloc rather than xrealloc.
59256         Allow the use of `\0' as a delimiter.
59257         (readtokens): Likewise.
59258         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
59259
59260 2004-03-30  Jim Meyering  <jim@meyering.net>
59261
59262         * m4/realloc.m4: Remove file, since now it does no more than
59263         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
59264         the `configure.ac' section of module/realloc.
59265         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
59266
59267 2004-03-30  Bruno Haible  <bruno@clisp.org>
59268
59269         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
59270         nonnull.
59271
59272 2004-03-29  Paul Eggert  <eggert@twinsun.com>
59273
59274         Merge changes to getloadavg.c from coreutils and Emacs.
59275
59276         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
59277         Define to an expression, not to the empty string.
59278         Include cloexec.h and xalloc.h.
59279         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
59280         Use set_cloexec_flag rather than rolling our own.
59281         * lib/cloexec.c, lib/cloexec.h: New files.
59282
59283 2004-03-29  Paul Eggert  <eggert@twinsun.com>
59284
59285         * m4/cloexec.m4: New file.
59286
59287 2004-03-18  Paul Eggert  <eggert@twinsun.com>
59288
59289         * lib/getopt.h: Sync with libc CVS.
59290
59291 2004-03-18  Paul Eggert  <eggert@twinsun.com>
59292             Bruno Haible  <bruno@clisp.org>
59293
59294         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
59295         mbswidth.
59296
59297 2004-03-18  Paul Eggert  <eggert@twinsun.com>
59298             Bruno Haible  <bruno@clisp.org>
59299
59300         * lib/mbswidth.h: Include <wchar.h> only if
59301         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
59302         <wchar.h>.
59303         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
59304
59305 2004-03-09  Paul Eggert  <eggert@twinsun.com>
59306
59307         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
59308         Sync with libc CVS.
59309         * lib/getopt_int.h: New file, also synced from libc.
59310
59311 2004-03-09  Paul Eggert  <eggert@twinsun.com>
59312
59313         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
59314         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
59315         Bring back getopt.c, getopt.h, getopt1.c.
59316
59317 2004-03-07  Paul Eggert  <eggert@twinsun.com>
59318
59319         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
59320         All uses changed.  Check for sa_sigaction member; this fixes
59321         a bug first reported by Jason Andrade in
59322         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
59323
59324 2004-03-07  Paul Eggert  <eggert@twinsun.com>
59325
59326         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
59327         '#if' expressions.  Unlike the code it replaces, it does not
59328         depend on (defined _SC_PAGESIZE).  However, it does depend on
59329         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
59330         first reported by Jason Andrade in
59331         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
59332
59333 2004-02-25  Simon Josefsson  <jas@extundo.com>
59334
59335         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
59336
59337 2004-02-25  Simon Josefsson  <jas@extundo.com>
59338
59339         * lib/strdup.h: New file.
59340         * lib/strdup.c: Include it.
59341         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
59342         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
59343
59344 2004-02-23  Karl Berry  <karl@gnu.org>
59345
59346         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
59347         (from fencepost.gnu.org:/gd/gnuorg).
59348
59349 2004-02-23  Karl Berry  <karl@gnu.org>
59350
59351         * config/srclistvars.sh (GNUORG) [karl]: redefine.
59352         * config/srclist.txt: add maintain/standards documents.
59353
59354 2004-02-18  Bruno Haible  <bruno@clisp.org>
59355
59356         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
59357         Reported by Derek Robert Price <derek@ximbiot.com>.
59358
59359 2004-02-16  Karl Berry  <karl@gnu.org>
59360
59361         * config/mkinstalldirs, install-sh: update from automake.
59362
59363 2004-02-06  Karl Berry  <karl@gnu.org>
59364
59365         * m4/po.m4: update from gettext 0.14.1.
59366
59367 2004-02-06  Karl Berry  <karl@gnu.org>
59368
59369         * lib/config.charset: update from gettext 0.14.1.
59370
59371 2004-02-05  Paul Eggert  <eggert@twinsun.com>
59372
59373         Add comments and code, prompted by suggestions from Bruno Haible
59374         for sh-quote.
59375         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
59376         describing the enum quoting_style values.
59377         * lib/quotearg.c (quotearg_alloc): New function.
59378         (quotearg_buffer_restyled): Treat lone { and } as special.
59379         Treat = as special.  Work around bug with older shells
59380         that "see" a '\' that is really the 2nd byte of a multibyte char.
59381         Quote empty string with shell_quoting_style.
59382
59383 2004-02-03  Bruno Haible  <bruno@clisp.org>
59384
59385         * m4/pipe.m4: New file, from GNU gettext.
59386
59387 2004-02-03  Bruno Haible  <bruno@clisp.org>
59388
59389         * lib/pipe.h: New file, from GNU gettext.
59390         * lib/pipe.c: New file, from GNU gettext.
59391
59392 2004-01-27  Bruno Haible  <bruno@clisp.org>
59393
59394         * m4/execute.m4: New file, from GNU gettext.
59395
59396 2004-01-27  Bruno Haible  <bruno@clisp.org>
59397
59398         * lib/execute.h: New file, from GNU gettext.
59399         * lib/execute.c: New file, from GNU gettext.
59400         * lib/w32spawn.h: New file, from GNU gettext.
59401
59402 2004-01-24  Paul Eggert  <eggert@twinsun.com>
59403
59404         Merge from diffutils.
59405
59406         * lib/file-type.c (file_type): Add typed memory objects.
59407         * lib/file-type.h (S_TYPEISTMO): New macro.
59408
59409         * lib/c-stack.h (c_stack_action): Remove argv argument.
59410         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
59411         (die): Don't calculate message unless segv_action returns.
59412         (get_stack_location, min_address_from_argv, max_address_from_argv,
59413         volatile stack_base, volatile_stack_size): Remove.
59414         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
59415         that every segmentation violation is a stack overflow.  (Ouch!)
59416         See Debian bug 136249 (still outstanding) for more info about why
59417         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
59418
59419 2004-01-24  Paul Eggert  <eggert@twinsun.com>
59420
59421         Exit-status fix from coreutils.
59422
59423         Use exit_failure consistently in place of EXIT_FAILURE,
59424         so that program exit statuses are consistent on failure.
59425
59426         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
59427         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
59428         * lib/argmatch.h: Comment fix to match the above.
59429         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
59430         Now a macro referring to exit_failure, instead of a separate
59431         variable.  Include "exitfail.h" to get it.
59432         * lib/xstrtol.h: Include "exitfail.h".
59433         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
59434
59435         * lib/long-options.c (parse_long_options): Use prototype
59436         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
59437         for clarity.
59438
59439 2004-01-21  Jim Meyering  <jim@meyering.net>
59440
59441         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
59442         so as not to conflict with a different-sized __mktime_internal
59443         function in GNU libc.
59444         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
59445         Problem building statically-linked `ls' reported by Michael Brunnbauer.
59446
59447 2004-01-20  Karl Berry  <karl@gnu.org>
59448
59449         * config/config.guess: update from config.
59450
59451         * config/srclistvars.sh: GNUWWWLICENSES for karl.
59452
59453 2004-01-20  Bruno Haible  <bruno@clisp.org>
59454
59455         Safer stack allocation.
59456         * lib/setenv.c: Include allocsa.h.
59457         (alloca): Remove fallback definition.
59458         (freea): Remove macro.
59459         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
59460         instead of freea.
59461
59462 2004-01-20  Bruno Haible  <bruno@clisp.org>
59463
59464         * m4/eealloc.m4: New file, from GNU gettext.
59465
59466 2004-01-20  Bruno Haible  <bruno@clisp.org>
59467
59468         * m4/allocsa.m4: New file, from GNU gettext.
59469
59470 2004-01-20  Bruno Haible  <bruno@clisp.org>
59471
59472         * lib/xallocsa.h: New file, from GNU gettext.
59473         * lib/xallocsa.c: New file, from GNU gettext.
59474
59475 2004-01-20  Bruno Haible  <bruno@clisp.org>
59476
59477         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
59478
59479 2004-01-20  Bruno Haible  <bruno@clisp.org>
59480
59481         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
59482         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
59483         specially.
59484
59485 2004-01-20  Bruno Haible  <bruno@clisp.org>
59486
59487         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
59488         patch.
59489
59490 2004-01-20  Bruno Haible  <bruno@clisp.org>
59491
59492         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
59493
59494 2004-01-20  Bruno Haible  <bruno@clisp.org>
59495
59496         * lib/eealloc.h: New file.
59497
59498 2004-01-20  Bruno Haible  <bruno@clisp.org>
59499
59500         * lib/binary-io.h: Avoid warnings on Cygwin.
59501
59502 2004-01-20  Bruno Haible  <bruno@clisp.org>
59503
59504         * lib/allocsa.h: New file, from GNU gettext.
59505         * lib/allocsa.c: New file, from GNU gettext.
59506
59507 2004-01-18  Karl Berry  <karl@gnu.org>
59508
59509         * doc/gpl.texi, doc/lgpl.texi: new files.
59510
59511 2004-01-18  Karl Berry  <karl@gnu.org>
59512
59513         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
59514         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
59515
59516 2004-01-15  Paul Eggert  <eggert@twinsun.com>
59517
59518         Merge from coreutils.
59519
59520         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
59521         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
59522         (gl_DEFAULT_POSIX2_VERSION): Move
59523         the documentation from 'configure' into 'config.hin',
59524         so that 'configure --help' isn't burdened by it and
59525         we don't have to worry about its formatting there.
59526         Reword the documentation so that it's more succinct
59527         and can be run together into a single paragraph.
59528         * m4/same.m4 (gl_SAME): Check for pathconf.
59529
59530 2004-01-15  Paul Eggert  <eggert@twinsun.com>
59531
59532         Merge from coreutils.
59533
59534         * lib/posixver.c: Include posixver.h.
59535
59536         * lib/same.c: Include <stdbool.h>, <limits.h>.
59537         (_POSIX_NAME_MAX): Define if not defined.
59538         (MIN): New macro.
59539         (same_name): If file names are silently truncated, report
59540         that the file names are the same if they are the same after
59541         the silent truncation.
59542
59543         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
59544         conversion function.
59545         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
59546         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
59547         longer needed.
59548
59549 2004-01-15  Jim Meyering  <jim@meyering.net>
59550
59551         Merge from coreutils.
59552
59553         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
59554         if no library is required.
59555         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
59556         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
59557         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
59558         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
59559         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
59560         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
59561         value, $ac_cv_search_crypt, if it's "none required".
59562         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
59563         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
59564         not gl_FUNC_GETLOADAVG.
59565         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
59566         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
59567
59568 2004-01-15  Jim Meyering  <jim@meyering.net>
59569
59570         Merge from coreutils.
59571
59572         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
59573         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
59574         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
59575
59576         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
59577         optional configure-time default.
59578
59579         * lib/version-etc.c (version_etc_copyright): Update copyright date.
59580
59581         * lib/xreadlink.c (xreadlink): Correct outdated comment.
59582
59583 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
59584
59585         Merge from coreutils.
59586
59587         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
59588         value, $ac_cv_search_nanosleep, if it's "none required".
59589
59590 2004-01-14  Paul Eggert  <eggert@twinsun.com>
59591
59592         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
59593         with like-named macro in fnmatch.c.
59594         (EXT): Use an internal constant instead.
59595
59596         Merge fnmatch patches from glibc.
59597         * lib/fnmatch.c (mbsinit): Remove define.
59598         Add libc_hidden_ver (__fnmatch, fnmatch).
59599         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
59600         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
59601
59602 2004-01-14  Karl Berry  <karl@gnu.org>
59603
59604         * config/install-sh: update from automake.
59605
59606 2004-01-13  Karl Berry  <karl@gnu.org>
59607
59608         * config/install-sh: update from automake.
59609
59610 2004-01-09  Karl Berry  <karl@gnu.org>
59611
59612         * config/install-sh: update from automake.
59613
59614 2004-01-05  Karl Berry  <karl@gnu.org>
59615
59616         * config/config.{sub,guess}: update from config.
59617
59618 2003-12-31  Karl Berry  <karl@gnu.org>
59619
59620         * config/depcomp: update from automake.
59621
59622 2003-12-14  Karl Berry  <karl@gnu.org>
59623
59624         * lib/config.charset: update from gettext-runtime.
59625
59626 2003-12-03  Paul Eggert  <eggert@twinsun.com>
59627
59628         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
59629         Bug reported by Alfred M. Szmidt.
59630
59631 2003-12-03  Bruno Haible  <bruno@clisp.org>
59632
59633         * m4/gettext.m4: Upgrade from gettext-0.13.
59634         * m4/po.m4: Upgrade from gettext-0.13.
59635         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
59636         * m4/intmax.m4: New file, from gettext-0.13.
59637         * m4/printf-posix.m4: New file, from gettext-0.13.
59638
59639 2003-11-29  Karl Berry  <karl@gnu.org>
59640
59641         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
59642
59643 2003-11-25  Paul Eggert  <eggert@twinsun.com>
59644             Bruno Haible  <bruno@clisp.org>
59645
59646         * lib/printf-parse.h: Don't include sys/types.h.
59647         (ARG_NONE): New macro.
59648         (char_directive): Change type of *arg_index fields to size_t.
59649         * lib/printf-parse.c: Don't include sys/types.h.
59650         (SSIZE_MAX): Remove macro.
59651         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
59652         Remove unnecessary overflow check.
59653         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
59654         fields.
59655
59656 2003-11-25  Bruno Haible  <bruno@clisp.org>
59657
59658         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
59659
59660 2003-11-25  Bruno Haible  <bruno@clisp.org>
59661
59662         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
59663         gt_TYPE_SSIZE_T.
59664
59665 2003-11-24  Paul Eggert  <eggert@twinsun.com>
59666
59667         * modules/alloca: Remove dependency on xalloc.
59668
59669 2003-11-24  Paul Eggert  <eggert@twinsun.com>
59670
59671         * lib/alloca.c: Remove dependency on xalloc module.
59672         (xalloc_die): Remove.
59673         (memory_full) [!defined emacs]: New macro.
59674         [!defined emacs]: Don't include xalloc.h.
59675         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
59676         address arithmetic overflows.  Change datatypes a bit to avoid
59677         unnecessary casts.
59678
59679 2003-11-22  Jim Meyering  <jim@meyering.net>
59680
59681         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
59682         s/size/size_t/.
59683
59684 2003-11-21  Karl Berry  <karl@gnu.org>
59685
59686         * config/config.{sub,guess}: update from config.
59687
59688 2003-11-18  Karl Berry  <karl@gnu.org>
59689
59690         * config/config.{sub,guess}: update from config.
59691
59692         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
59693
59694 2003-11-17  Paul Eggert  <eggert@twinsun.com>
59695
59696         * README: Mention that S+T cannot overflow if S is the size of
59697         an existing object and T is sufficiently small.
59698
59699 2003-11-17  Jim Meyering  <jim@meyering.net>
59700
59701         On systems without utime and without a utimes function capable of
59702         dealing with a NULL struct utimbuf* argument, this utime replacement
59703         could -- in unusual circumstances -- leak a file descriptor.
59704         * lib/utime.c: Include <unistd.h> and <errno.h>.
59705         (utime_null): Be sure to close `fd' and to preserve errno.
59706         Reported by Geoff Collyer via Arnold Robbins.
59707
59708 2003-11-17  Bruno Haible  <bruno@clisp.org>
59709
59710         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
59711         (Depends-on): Add xsize.
59712
59713 2003-11-17  Bruno Haible  <bruno@clisp.org>
59714
59715         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
59716
59717 2003-11-17  Bruno Haible  <bruno@clisp.org>
59718
59719         * lib/vasnprintf.c (alloca): Remove fallback definition.
59720         (freea): Remove definition.
59721         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
59722         Reported by Paul Eggert.
59723
59724 2003-11-16  Paul Eggert  <eggert@twinsun.com>
59725             Bruno Haible  <bruno@clisp.org>
59726
59727         Protect against address arithmetic overflow.
59728         * lib/printf-args.h: Include stddef.h.
59729         (arguments): Change type of field 'count' to size_t.
59730         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
59731         'unsigned int' where appropriate.
59732         * lib/printf-parse.h: Include sys/types.h.
59733         (char_directive): Change type of *arg_index fields to ssize_t.
59734         (char_directives): Change type of fields 'count', max_*_length to
59735         size_t.
59736         * lib/printf-parse.c: Include sys/types.h and xsize.h.
59737         (SSIZE_MAX): Define fallback value.
59738         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
59739         instead of 'int' where appropriate. Check a_allocated, d_allocated
59740         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
59741         * lib/vasnprintf.c: Include xsize.h.
59742         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
59743         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
59744         overflow. Avoid wraparound when converting a width or precision from
59745         decimal to binary.
59746
59747 2003-11-16  Bruno Haible  <bruno@clisp.org>
59748
59749         Update from GNU gettext.
59750         * lib/printf-parse.c: Generalize to it can be compiled for wide
59751         strings.
59752         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
59753         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
59754         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
59755         SNPRINTF): New macros.
59756         Don't include <alloca.h> if the file is used inside libintl.
59757         (local_wcslen): New function, for Solaris 2.5.1.
59758         (VASNPRINTF): Use it instead of wcslen.
59759
59760 2003-11-16  Bruno Haible  <bruno@clisp.org>
59761
59762         * lib/xsize.h (xmax): New function.
59763         (xsum, xsum3, xsum4): Declare as "pure" functions.
59764
59765 2003-11-12  Paul Eggert  <eggert@twinsun.com>
59766
59767         * modules/xalloc (Files): Undo latest change, since xalloc.h
59768         no longer needs SIZE_MAX or PTRDIFF_MAX.
59769
59770 2003-11-12  Paul Eggert  <eggert@twinsun.com>
59771
59772         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
59773         gl_PTRDIFF_MAX.
59774
59775 2003-11-12  Paul Eggert  <eggert@twinsun.com>
59776
59777         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
59778         "return", to pacify some unknown compiler.  Problem reported
59779         by Joerg Schilling.
59780
59781 2003-11-12  Paul Eggert  <eggert@twinsun.com>
59782
59783         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
59784         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
59785         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
59786         heuristic is just as accurate as far as we know, and it removes a
59787         dependency on size_max.m4 and ptrdiff_max.m4.
59788
59789 2003-11-11  Bruno Haible  <bruno@clisp.org>
59790
59791         * modules/xsize (Files): Add m4/size_max.m4.
59792         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
59793
59794 2003-11-11  Bruno Haible  <bruno@clisp.org>
59795
59796         * m4/size_max.m4: New file.
59797         * m4/ptrdiff_max.m4: New file.
59798         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
59799         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
59800         (gl_XALLOC): Invoke it.
59801
59802 2003-11-11  Bruno Haible  <bruno@clisp.org>
59803
59804         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
59805         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
59806         defined.
59807
59808 2003-11-10  Paul Eggert  <eggert@twinsun.com>
59809
59810         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
59811         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
59812         rejected some allocations of exactly SIZE_MAX - 2 bytes.
59813         From Bruno Haible.
59814         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
59815         not (size_t) -1, since it's defined here.
59816
59817 2003-11-09  Karl Berry  <karl@gnu.org>
59818
59819         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
59820
59821 2003-11-06  Paul Eggert  <eggert@twinsun.com>
59822
59823         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
59824         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
59825         Reject sizes of exactly SIZE_MAX bytes.
59826         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
59827         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
59828
59829 2003-11-05  Bruno Haible  <bruno@clisp.org>
59830
59831         * lib/xsize.h: Include limits.h, to avoid a possible collision with
59832         SIZE_MAX defined in <limits.h> on Solaris.
59833
59834 2003-11-04  Jim Meyering  <jim@meyering.net>
59835
59836         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
59837         variable names, rather than @VAR@.
59838         * modules/poll: Likewise.
59839
59840 2003-11-04  Bruno Haible  <bruno@clisp.org>
59841
59842         * modules/xsize: New file.
59843         * modules/linebreak: Depend on xsize.
59844         * MODULES.html.sh (func_all_modules): Add xsize.
59845
59846 2003-11-04  Bruno Haible  <bruno@clisp.org>
59847
59848         * m4/xsize.m4: New file.
59849
59850 2003-11-04  Bruno Haible  <bruno@clisp.org>
59851
59852         * lib/xsize.h: New file.
59853         * lib/linebreak.c: Include xsize.h.
59854         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
59855         argument for overflow.
59856         Suggested by Paul Eggert.
59857
59858 2003-11-03  Karl Berry  <karl@gnu.org>
59859
59860         * config/config.{guess,sub}: update from config.
59861
59862 2003-11-03  Jim Meyering  <jim@meyering.net>
59863
59864         * modules/userspec (lib_SOURCES): Add userspec.h.
59865         (Include): Add "userspec.h".
59866         Improve description.
59867
59868 2003-11-03  Jim Meyering  <jim@meyering.net>
59869
59870         * lib/userspec.c: Include "userspec.h".
59871         * lib/userspec.h: New file.
59872
59873 2003-11-03  Bruno Haible  <bruno@clisp.org>
59874
59875         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
59876
59877 2003-11-03  Bruno Haible  <bruno@clisp.org>
59878
59879         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
59880         available, to avoid (extremely rare) race condition.
59881         Suggested by Paul Eggert.
59882
59883 2003-11-02  Karl Berry  <karl@gnu.org>
59884
59885         * config/srclist.txt (vasprintf.c): sync broken, sigh.
59886
59887 2003-10-31  Paul Eggert  <eggert@twinsun.com>
59888
59889         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
59890         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
59891         (read_filesystem_list): Set and use me_type_malloced.
59892         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
59893         whatever the type happens to be), for brevity and consistency.
59894         Check for size calculation overflow on Alphas running OSF/1.
59895
59896 2003-10-31  Jim Meyering  <jim@meyering.net>
59897
59898         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
59899
59900         * lib/linebuffer.c: Include <string.h> for declaration of memset.
59901
59902 2003-10-30  Paul Eggert  <eggert@twinsun.com>
59903             Bruno Haible  <bruno@clisp.org>
59904
59905         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
59906         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
59907
59908 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
59909
59910         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
59911         netbsd*-gnu*.  Suggested by Robert Millan.
59912
59913 2003-10-29  Paul Eggert  <eggert@twinsun.com>
59914
59915         * modules/group-member: Depend on stdbool.
59916
59917 2003-10-29  Paul Eggert  <eggert@twinsun.com>
59918
59919         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
59920
59921 2003-10-29  Paul Eggert  <eggert@twinsun.com>
59922
59923         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
59924         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
59925         after the 'gnu' in these cases.  This fixes some bugs in the
59926         previous change, and is based on suggestions by Robert Millan.
59927
59928 2003-10-29  Paul Eggert  <eggert@twinsun.com>
59929
59930         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
59931         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
59932         no longer needed.
59933         * lib/quotearg.c (quotearg_n_options): Use it.
59934         * lib/group-member.c: Include <stdbool.h>.
59935         (free_group_info): Arg is now const *; don't free arg.
59936         (get_group_info): Now returns bool and accepts struct group_info *,
59937         rather than returning a malloc'ed struct group_info *.
59938         All uses changed.  Check for overflow in internal size calculation.
59939
59940         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
59941         rather than xmalloc/xrealloc.
59942         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
59943         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
59944         conformance bug: the old code used a pointer after freeing the
59945         storage that it addressed.
59946         * lib/hash.c (hash_initialize): Simplify the code by using
59947         xalloc_oversized rather than doing it by hand.
59948         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
59949         the buffer preserved.  Use free and xmalloc instead.
59950         * lib/quotearg.c (quotearg_n_options): Likewise.
59951         Use a simpler test for size overflow.  Don't use xalloc_oversized
59952         because unsigned int might be wider than size_t (!); this suggests
59953         that we should switch from unsigned int to size_t for slot numbers.
59954
59955 2003-10-28  Paul Eggert  <eggert@twinsun.com>
59956
59957         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
59958         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
59959         NetBSD kernels.  Requested by Richard Stallman.
59960
59961 2003-10-27  Paul Eggert  <eggert@twinsun.com>
59962
59963         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
59964         to allocate the returned structure.  Do not allocate a subarray,
59965         as x2nrealloc will do that.
59966         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
59967         instead of xnrealloc.
59968         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
59969
59970 2003-10-27  Bruno Haible  <bruno@clisp.org>
59971
59972         * lib/stdbool_.h: Better support for BeOS.
59973
59974 2003-10-26  Paul Eggert  <eggert@twinsun.com>
59975
59976         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
59977         now uses inline.
59978
59979 2003-10-26  Paul Eggert  <eggert@twinsun.com>
59980
59981         * lib/xalloc.h (xalloc_oversized): New static inline function, for
59982         callers that want to do their own size-overflow checking.  Include
59983         <stdbool.h>, since xalloc_oversized returns bool.
59984         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
59985         to use xalloc_oversized.
59986
59987         Add two functions x2realloc, x2nrealloc, for programs that grow
59988         arrays dynamically by doubling their sizes.
59989         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
59990         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
59991         New functions.
59992
59993         Port to C99 semantics for 'inline' of external functions.
59994         Bug reported by Bruno Haible.
59995         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
59996         with the old contents of xnmalloc.
59997         (xnmalloc, xmalloc): Use it.
59998         (xnrealloc_inline): New static inline function,
59999         with the old contents of xnrealloc.
60000         (xnrealloc, xrealloc): Use it.
60001
60002         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
60003         that.
60004
60005 2003-10-26  Karl Berry  <karl@gnu.org>
60006
60007         * config/srclist.txt (COPYING.DOC): no longer available from
60008         /gd/gnuorg; don't know where the ultimate source is.
60009
60010 2003-10-25  Paul Eggert  <eggert@twinsun.com>
60011
60012         Fix several address-calculation bugs in the hash modules,
60013         plus some minor code cleanup.
60014
60015         * lib/hash.h: Include <stdbool.h>, for bool.
60016         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
60017         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
60018         hash_get_n_entries, hash_get_max_bucket_length,
60019         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
60020         hash_rehash): Use size_t rather than unsigned.
60021         * lib/hash.c (struct hash_table, hash_get_n_buckets,
60022         hash_get_n_buckets_used, hash_get_n_entries,
60023         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
60024         hash_get_entries, hash_do_for_each, hash_string, is_prime,
60025         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
60026         Likewise.
60027         (SIZE_MAX): Define if not defined.
60028         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
60029         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
60030         hash_print):
60031         Use const * when possible.
60032         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
60033         (check_tuning): Fix bug: if tuning parameters were very close to
60034         0 or 1, rounding errors could have caused subscript violations.
60035         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
60036         (hash_initialize): Add 'fail:' label
60037         to free table and return NULL, and use it to simplify code.
60038         Use calloc rather than clearing the storage ourself.
60039         (hash_initialize, hash_rehash): Check for arithmetic overflow in
60040         buffer size calculations.
60041         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
60042         Include <stddef.h>, for size_t.
60043         * lib/hash-pjw.c (hash_pjw): Likewise.
60044         Switch to method described by Bruno Haible.
60045         Include <limits.h>, for CHAR_BIT.
60046         (SIZE_BITS): New macro.
60047
60048 2003-10-23  Paul Eggert  <eggert@twinsun.com>
60049
60050         * m4/getline.m4 (AM_FUNC_GETLINE):
60051         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
60052         hosts.  Problem reported by Derek Robert Price in
60053         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
60054         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
60055         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
60056
60057 2003-10-21  Paul Eggert  <eggert@twinsun.com>
60058
60059         * lib/getndelim2.c (getndelim2): When size calculation overflows,
60060         ceiling the allocation at NMAX bytes rather than silently
60061         discarding input bytes before NMAX is reached.  This makes
60062         a difference only if NMAX exceeds SIZE_MAX / 2.
60063
60064         * lib/obstack.c: Merge from glibc.
60065         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
60066         Add libc_hidden_def (_obstack_newchunk).
60067         (_obstack_free) [! defined _LIBC]: Remove.
60068         [defined _LIBC]: Make a strong alias from obstack_free, rather than
60069         a clone of the function body.
60070         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
60071         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
60072
60073         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
60074         glibc.
60075         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
60076         arg to memcpy.
60077
60078         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
60079         (obstack_ptr_grow_fast, obstack_int_grow_fast):
60080         Don't use lvalue casts, as GCC plans to remove support for them
60081         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
60082         was also present in the non-GCC version, indicating that this
60083         code had always been buggy and had never been widely used.
60084         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
60085         Use the fast variant of each macro, rather than copying the
60086         definiens of the fast variant; that way, we'll be more likely to
60087         catch future bugs in the fast variants.
60088
60089 2003-10-20  Bruno Haible  <bruno@clisp.org>
60090
60091         * modules/wait-process: New file.
60092         * MODULES.html.sh (func_all_modules): Add wait-process.
60093
60094 2003-10-20  Bruno Haible  <bruno@clisp.org>
60095
60096         * m4/wait-process.m4: New file.
60097
60098 2003-10-20  Bruno Haible  <bruno@clisp.org>
60099
60100         * lib/wait-process.h: New file, from GNU gettext.
60101         * lib/wait-process.c: New file, from GNU gettext.
60102
60103 2003-10-19  Jim Meyering  <jim@meyering.net>
60104
60105         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
60106         HPUX 10.20.
60107
60108 2003-10-18  Karl Berry  <karl@gnu.org>
60109
60110         * config/config.guess: update from config.
60111
60112 2003-10-16  Paul Eggert  <eggert@twinsun.com>
60113
60114         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
60115         (getgroups): First arg is int, not size_t.
60116         Don't let 'free' mangle errno.
60117
60118 2003-10-16  Paul Eggert  <eggert@twinsun.com>
60119
60120         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
60121
60122 2003-10-16  Karl Berry  <karl@gnu.org>
60123
60124         * config/config.{guess,sub}: update from config.
60125
60126 2003-10-16  Jim Meyering  <jim@meyering.net>
60127
60128         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
60129         memcpy.
60130
60131 2003-10-15  Paul Eggert  <eggert@twinsun.com>
60132
60133         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
60134         (SIZE_MAX): Remove.
60135         (new_exclude, add_exclude_file): Initial size no longer needs to
60136         be a power of 2.
60137         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
60138         our own address arithmetic overflow checking.
60139
60140         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
60141         (fnmatch): Do not alloca more than 2000 wide characters;
60142         instead, use malloc for large buffers.
60143         Check for address arithmetic overflow, and return -1
60144         with errno set to ENOMEM in that case.
60145         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
60146         (NEW_PATTERN): Do not alloca more than 8000 bytes;
60147         instead, return -1.  Check for address arithmetic overflow.
60148
60149 2003-10-14  Paul Eggert  <eggert@twinsun.com>
60150
60151         Handle invalid suffixes and overflow independently, so that
60152         callers can treat them independently as needed.  Fix some bugs in
60153         suffix handling, e.g., "100k@" was not diagnosed as an invalid
60154         suffix for a human-readable blocksize.  The major caller-visible
60155         change is the addition of a new
60156         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
60157         that both overflow and suffix chars were found.
60158
60159         * lib/human.c (humblock): Don't check separately for invalid suffix
60160         char; that is xstrtoumax's job (now that its bug is fixed).
60161         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
60162         INTMAX_MAX]: New macros.
60163         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
60164         TYPE_MAXIMUM): New macros.
60165         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
60166         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
60167         if overflow occurs, as it's what __strtol does and it's more useful
60168         in practice.
60169         (__xstrtol): If __strtol reports some error other than ERANGE,
60170         reflect it to the caller as LONGINT_INVALID.  If it reports
60171         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
60172         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
60173         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
60174         value.
60175         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
60176         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
60177         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
60178         [defined UINTMAX_MAX]: New macros.
60179
60180 2003-10-14  Bruno Haible  <bruno@clisp.org>
60181
60182         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
60183
60184 2003-10-14  Bruno Haible  <bruno@clisp.org>
60185
60186         * m4/sig_atomic_t: New file, from GNU gettext.
60187         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
60188
60189 2003-10-14  Bruno Haible  <bruno@clisp.org>
60190
60191         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
60192         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
60193         Also use volatile where needed.
60194
60195 2003-10-12  Paul Eggert  <eggert@twinsun.com>
60196
60197         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
60198         Change maintainer from Bruno Haible to 'all'.
60199
60200 2003-10-12  Paul Eggert  <eggert@twinsun.com>
60201
60202         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
60203
60204 2003-10-12  Paul Eggert  <eggert@twinsun.com>
60205
60206         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
60207         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
60208         and define in terms of the other primitives.
60209         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
60210         (SIZE_MAX): Define if not already defined.
60211         (array_size_overflow): New function.
60212         (xalloc_die): Abort instead of exiting if 'error' returns.
60213         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
60214         (xmalloc, xrealloc): Use them.
60215         (xcalloc): Check for address arithmetic overflow.
60216         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
60217         a bit faster than strcpy.
60218
60219 2003-10-10  Simon Josefsson  <jas@extundo.com>
60220
60221         * modules/argp (Depends-on): Add restrict and strcase.
60222
60223 2003-10-10  Simon Josefsson  <jas@extundo.com>
60224
60225         * m4/argp.m4: Add AC_C_INLINE.
60226
60227 2003-10-08  Paul Eggert  <eggert@twinsun.com>
60228
60229         Merge getpass from libc, plus a few fixes.
60230
60231         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
60232         Include <stdbool.h>.
60233         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
60234         __fsetlocking to empty.
60235         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
60236         do include <bits/libc-lock.h>.
60237         Do not include <fcntl.h>; not needed.
60238         [_LIBC]: Include <wchar.h>.
60239         (NOTCANCEL_MODE): New macro.
60240         (flockfile, funlockfile) [_LIBC]: New macros.
60241         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
60242         [!_LIBC]: New macros.
60243         (call_fclose): New function.
60244         (getpass): Use it.  Save tty stream separately; this simplifies the
60245         code and makes it more reliable if stdin happens to equal stdout.
60246         Invoke __fsetlocking on tty.
60247         Handle thread cancellation if needed.
60248         Namespace cleanup (use __tcgetattr, __getline).
60249         Use bool for Booleans.
60250         [USE_IN_LIBIO]: Handle wide streams.
60251         [!_LIBC]: Unconditionally do the fseek, since we don't know what
60252         stream might go where.
60253
60254         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
60255         doesn't have to include <stdio.h> before us.
60256         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
60257         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
60258         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
60259         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
60260         if not declared, so that we can use getpass.c code from libc without
60261         rewriting it.
60262         (flockfile, ftrylockfile, funlockfile): New macros.
60263
60264 2003-10-08  Paul Eggert  <eggert@twinsun.com>
60265
60266         * modules/getpass: Depend on stdbool.
60267
60268 2003-10-08  Paul Eggert  <eggert@twinsun.com>
60269
60270         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
60271
60272 2003-10-07  Karl Berry  <karl@gnu.org>
60273
60274         * config/config.{guess,sub}: update from config.
60275
60276 2003-10-06  Jim Meyering  <jim@meyering.net>
60277             Bruno Haible  <bruno@clisp.org>
60278
60279         This lets translators provide better translations for the
60280         "Written by ..." part of --version output.
60281         * lib/version-etc.h: Include stdarg.h.
60282         (version_etc_copyright): Declare as readonly.
60283         (version_etc): Make this function variadic with a NULL-terminated list
60284         of author name strings.
60285         (version_etc_va): New declaration.
60286         * lib/version-etc.c: Include stdarg.h, stdlib.h.
60287         (version_etc_copyright): Declare as readonly.
60288         (version_etc_va): New function. Provide a different translatable string
60289         for each possible number of authors < 10. Abbreviate when there are 10
60290         authors or more.
60291         (version_etc): Make this function variadic. Call version_etc_va.
60292         Suggestion from Gary V. Vaughan.
60293
60294         * lib/long-options.h (parse_long_options): Change prototype: the
60295         authors string is moved to the end and becomes variadic.
60296         * lib/long-options.c: Include stdarg.h.
60297         (parse_long_options): Make this function variadic, too.
60298         Call version_etc_va, not version_etc.
60299
60300 2003-10-06  Bruno Haible  <bruno@clisp.org>
60301
60302         * modules/version-etc-2: Remove file.
60303         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
60304
60305 2003-10-06  Bruno Haible  <bruno@clisp.org>
60306
60307         * modules/fatal-signal: New file.
60308         * MODULES.html.sh (func_all_modules): Add fatal-signal.
60309
60310 2003-10-06  Bruno Haible  <bruno@clisp.org>
60311
60312         * m4/fatal-signal.m4: New file.
60313         * m4/signalblocking.m4: New file, from GNU gettext.
60314
60315 2003-10-06  Bruno Haible  <bruno@clisp.org>
60316
60317         * lib/version-etc-2.h: Remove file.
60318         * lib/version-etc-2.c: Remove file.
60319
60320 2003-10-06  Bruno Haible  <bruno@clisp.org>
60321
60322         * lib/fatal-signal.h: New file, from GNU gettext.
60323         * lib/fatal-signal.c: New file, from GNU gettext.
60324
60325 2003-10-05  Paul Eggert  <eggert@twinsun.com>
60326
60327         * README: Rework advice for preventing empty .o files.
60328         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
60329         not <sys/types.h>.
60330
60331 2003-10-04  Karl Berry  <karl@gnu.org>
60332
60333         * lib/argp*: update from libc.
60334
60335 2003-10-04  Karl Berry  <karl@gnu.org>
60336
60337         * config/config.{guess,sub}: update from config.
60338
60339 2003-10-02  Bruno Haible  <bruno@clisp.org>
60340
60341         * modules/lchown (Include): Add lchown.h.
60342         * modules/time_r (Include): Use "..." syntax.
60343         * modules/xgetdomainname (Include): Add xgetdomainname.h.
60344
60345 2003-10-01  Simon Josefsson  <jas@extundo.com>
60346
60347         * MODULES.html.sh (func_all_modules): Move gethostname from section
60348         'based on' to section 'lacking' POSIX:2001.
60349
60350 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
60351
60352         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
60353         to output mode on the same stream.
60354
60355 2003-09-29  Paul Eggert  <eggert@twinsun.com>
60356
60357         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
60358         Fix arg typo in previous patch.
60359
60360 2003-09-28  Jim Meyering  <jim@meyering.net>
60361
60362         * lib/error.c: Correct cpp indentation.
60363
60364 2003-09-27  Paul Eggert  <eggert@twinsun.com>
60365
60366         * modules/free: New file.
60367
60368 2003-09-27  Paul Eggert  <eggert@twinsun.com>
60369
60370         * m4/free.m4: New file.
60371
60372 2003-09-27  Paul Eggert  <eggert@twinsun.com>
60373
60374         * lib/minmax.h (MIN, MAX)
60375         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
60376         Omit the special code that used __typeof__, since we worry that
60377         it could be more trouble than it's worth.  See:
60378         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
60379         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
60380
60381         * lib/free.c: New file.
60382
60383 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
60384
60385         Trivial fixes to Makefile.am parts of module listings.
60386         * modules/strstr: Append strstr.h to lib_SOURCES.
60387         * modules/strcase: Likewise, for strcase.h.
60388
60389 2003-09-27  Karl Berry  <karl@gnu.org>
60390
60391         * config/mkinstalldirs: update from automake.
60392
60393 2003-09-26  Paul Eggert  <eggert@twinsun.com>
60394
60395         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
60396         (error_tail): Do not loop, reallocating temporary buffer, since
60397         the output cannot contain more wide characters than the input
60398         contains bytes, the size must be big enough already.  This avoids
60399         one potential size overflow calculation.  Check for size overflow
60400         when calculating temporary buffer size.  Free temporary buffer
60401         when done, if it was allocated with malloc; this plugs a memory
60402         leak.  Remove casts from void * to pointers, that are no longer
60403         needed now that we're assuming C89 or better.
60404
60405         Merge error changes from glibc.
60406
60407         * lib/error.c, error.h: Update copyright notice header to match glibc.
60408         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
60409         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
60410         Disable cancellation while printing error.
60411         * lib/error.h: Prepend __ to parameter names.
60412
60413 2003-09-26  Jim Meyering  <jim@meyering.net>
60414
60415         * lib/error.c (error_tail): Move some declarations
60416         into inner scope where the local variables are used.
60417
60418 2003-09-26  Bruno Haible  <bruno@clisp.org>
60419
60420         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
60421         stpncpy().
60422         Don't define stpncpy through config.h; it's now done through stpncpy.h.
60423
60424 2003-09-26  Bruno Haible  <bruno@clisp.org>
60425
60426         * lib/stpncpy.h (gnu_stpncpy): New declaration.
60427         (stpncpy): Define as alias for gnu_stpncpy.
60428         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
60429
60430 2003-09-25  Simon Josefsson  <jas@extundo.com>
60431
60432         * lib/xgetdomainname.h: New file.
60433         * lib/xgetdomainname.c: New file.
60434
60435 2003-09-25  Simon Josefsson  <jas@extundo.com>
60436             Bruno Haible  <bruno@clisp.org>
60437
60438         * modules/getdomainname: New file.
60439         * modules/xgetdomainname: New file.
60440         * MODULES.html.sh (func_all_modules): Add getdomainname,
60441         xgetdomainname.
60442
60443 2003-09-25  Simon Josefsson  <jas@extundo.com>
60444             Bruno Haible  <bruno@clisp.org>
60445
60446         * m4/getdomainname.m4: New file.
60447
60448 2003-09-25  Simon Josefsson  <jas@extundo.com>
60449             Bruno Haible  <bruno@clisp.org>
60450
60451         * lib/getdomainname.h: New file.
60452         * lib/getdomainname.c: New file.
60453
60454 2003-09-25  Karl Berry  <karl@gnu.org>
60455
60456         * lib/argp-fmtstream.c, argp-help.c: update from libc.
60457
60458 2003-09-25  Karl Berry  <karl@gnu.org>
60459
60460         * config/install-sh: update from automake.
60461
60462 2003-09-25  Bruno Haible  <bruno@clisp.org>
60463
60464         * modules/version-etc-2: New file, from modules/version-etc with
60465         modifications.
60466         * MODULES.html.sh (func_all_modules): Add version-etc-2.
60467
60468 2003-09-25  Bruno Haible  <bruno@clisp.org>
60469
60470         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
60471         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
60472
60473 2003-09-24  Simon Josefsson  <jas@extundo.com>
60474
60475         * modules/xgethostname: Add xgethostname.h.
60476
60477 2003-09-24  Paul Eggert  <eggert@twinsun.com>
60478
60479         * lib/linebuffer.c (freebuffer): Don't free the argument, just
60480         the buffer associated with the argument.  Bug reported by
60481         Simon Josefsson.
60482
60483 2003-09-24  Paul Eggert  <eggert@twinsun.com>
60484
60485         * README: Document assumptions that 'int' is at least 32 bits
60486         wide, that integer arithmetic is 2's complement without overflow,
60487         that there are no holes in integer values, that adding sizes of
60488         two nonoverlapping objects can't overflow, and that all-bits-zero
60489         yields scalar zero.  Fix spelling and capitalization typos.
60490
60491 2003-09-19  Karl Berry  <karl@gnu.org>
60492
60493         * lib/argp.h: update from libc.
60494
60495 2003-09-17  Paul Eggert  <eggert@twinsun.com>
60496
60497         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
60498         to avoid spurious warnings like "AC_RUN_IFELSE was called before
60499         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
60500
60501 2003-09-17  Paul Eggert  <eggert@twinsun.com>
60502
60503         * gnulib-tool: Use "test -h", not "test -L", for portability
60504         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
60505         (tags_regexp): Remove, since \| doesn't conform to POSIX.
60506         (sed_extract_prog): Issue s commands one-by-one, rather than
60507         using \| in one s command.
60508
60509 2003-09-16  Paul Eggert  <eggert@twinsun.com>
60510
60511         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
60512         input error, instead of returning NULL the next time we are called
60513         (and therefore losing track of errno).
60514
60515 2003-09-16  Bruno Haible  <bruno@clisp.org>
60516
60517         * gnulib-tool (func_create_testdir): Warn about duplicated
60518         dependencies.
60519
60520 2003-09-15  Paul Eggert  <eggert@twinsun.com>
60521
60522         * modules/argmatch, modules/fatal, modules/obstack,
60523         modules/xalloc, modules/xgethostname: Sort dependencies by
60524         importance, not alphabetically.
60525
60526 2003-09-15  Paul Eggert  <eggert@twinsun.com>
60527
60528         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
60529         fails, so that the caller gets the proper errno.
60530
60531         * lib/readutmp.c (read_utmp): Likewise.
60532         Check for fstat error.  Close stream and free storage
60533         when failing.
60534
60535 2003-09-14  Karl Berry  <karl@gnu.org>
60536
60537         * config/srclist.txt (strdup.c): disable for c89 changes.
60538
60539 2003-09-14  Jim Meyering  <jim@meyering.net>
60540
60541         * lib/getloadavg.c: Correct cpp indentation.
60542         * lib/strdup.c: Likewise.
60543         * lib/vasnprintf.c: Likewise.
60544
60545 2003-09-14  Bruno Haible  <bruno@clisp.org>
60546
60547         * modules/fwriteerror: New file.
60548         * MODULES.html.sh (func_all_modules): Add fwriteerror.
60549
60550 2003-09-14  Bruno Haible  <bruno@clisp.org>
60551
60552         * lib/fwriteerror.h: New file.
60553         * lib/fwriteerror.c: New file.
60554
60555 2003-09-12  Paul Eggert  <eggert@twinsun.com>
60556
60557         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
60558         modules/xgethostname, modules/xalloc: Depend on exit.
60559
60560 2003-09-12  Paul Eggert  <eggert@twinsun.com>
60561
60562         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
60563
60564         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
60565         and AC_MINIX, too, so that their extensions are available.
60566
60567         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
60568         This macro has been superseded by gl_BACKUPFILE.
60569
60570         More patches to assume C89 or better.
60571
60572         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
60573
60574         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
60575         unconditionally.
60576         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
60577         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
60578         Include <string.h>, <stdlib.h> unconditionally.
60579         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
60580         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
60581         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
60582         headers or for string.h.
60583         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
60584         or strtoul.
60585
60586         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
60587         headers.
60588         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
60589         * m4/userspec.m4 (gl_USERSPEC): Likewise.
60590         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
60591         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
60592         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
60593         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
60594         memcpy, memset.
60595         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
60596         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
60597         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
60598         strtol.
60599         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
60600         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
60601         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
60602         strtoul.
60603
60604 2003-09-12  Paul Eggert  <eggert@twinsun.com>
60605
60606         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
60607         * lib/obstack.c [!defined _LIBC]: Likewise.
60608         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
60609         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
60610         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
60611
60612         More changes to assume C89 or better.
60613
60614         * lib/error.c (error_tail): Assume vprintf.
60615
60616         * lib/argmatch.c (getenv): Remove decl.
60617         * lib/progreloc.c (get_full_program_name): Define via prototype.
60618         * lib/setenv.c (clearenv): Likewise.
60619         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
60620         needed.
60621         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
60622         (malloc, memcpy): Remove decls.
60623         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
60624         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
60625         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
60626         (memcpy): Remove macro.
60627         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
60628         (__P): Remove.  All uses removed.
60629         (PTR): Remove.  All uses changed to void *.
60630         (CHAR_BIT, NULL): Remove.
60631         (spaces, zeros, memset_space, memset_zero)
60632         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
60633         Remove.
60634         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
60635         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
60636         Define with prototype.
60637         Remove now-unnecessary prototype decl.
60638         (extra_args_spec): Assume ANSI C.  All uses changed.
60639         (extra_args_spec_iso): Remove.
60640         (my_strftime, emacs_strftimeu): Define via prototype.
60641         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
60642         unconditionally.
60643         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
60644         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
60645         (strtoul, strtol): Remove decls.
60646         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
60647         LONG_MAX): Remove.
60648         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
60649         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
60650         (LOCALE_PARAM_PROTO): New macro.
60651         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
60652         (INTERNAL (strtol), strtol): Define with a prototype.
60653         (PARAMS): Remove.  All uses removed.
60654         * lib/tempname.c: Include <string.h> unconditionally.
60655         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
60656         * lib/xgethostname.c (main): Define with a prototype.
60657         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
60658         Include <stdlib.h> unconditionally.
60659         (calloc, malloc, realloc, free): Remove decls.
60660         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
60661         Include <stdlib.h> unconditionally.  Sort include file names.
60662         (strtod): Remove.
60663         (xstrtod): Define with a prototype.
60664         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
60665         (strtol, strtoul): Remove decls.
60666
60667 2003-09-11  Paul Eggert  <eggert@twinsun.com>
60668
60669         More patches to assume C89 or better.
60670         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
60671         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
60672         string.h, memchr, STDC_HEADERS.
60673
60674 2003-09-11  Paul Eggert  <eggert@twinsun.com>
60675
60676         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
60677         Include <stdlib.h>, <string.h> unconditionally.
60678         Remove now-unnecessary cast to char *.
60679         * lib/strnlen.c: Include <string.h> unconditionally.
60680         * lib/yesno.c (yesno): Define with a prototype.
60681
60682 2003-09-11  Bruno Haible  <bruno@clisp.org>
60683
60684         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
60685
60686 2003-09-10  Jim Meyering  <jim@meyering.net>
60687
60688         * lib/error.c: Correct indentation of cpp directives.
60689
60690 2003-09-10  Bruno Haible  <bruno@clisp.org>
60691
60692         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
60693         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
60694         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
60695         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
60696         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
60697         <stdlib.h> and <string.h> checks.
60698         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
60699         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
60700
60701 2003-09-10  Bruno Haible  <bruno@clisp.org>
60702
60703         * lib/strcspn.c: Include <string.h> unconditionally.
60704         * lib/strpbrk.c: Include <string.h> unconditionally.
60705         * lib/strstr.c: Include <string.h> unconditionally.
60706         * lib/unicodeio.c: Include <string.h> unconditionally.
60707         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
60708         * lib/unsetenv.c: Likewise.
60709         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
60710         * lib/yesno.c: Include <stdlib.h> unconditionally.
60711         (rpmatch): Add prototype.
60712
60713 2003-09-09  Paul Eggert  <eggert@twinsun.com>
60714
60715         More patches to assume C89 or better.
60716         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
60717         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
60718         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
60719         or for string.h.
60720         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
60721         stdlib.h.
60722         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
60723         C headers.
60724         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
60725         string.h.
60726         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
60727         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
60728         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
60729         or for string.h.
60730         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
60731         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
60732         C headers.
60733         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
60734         memcpy.
60735         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
60736         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
60737         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
60738         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
60739         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
60740         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
60741         string.h, free.
60742         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
60743         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
60744         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
60745         C headers, or for string.h.
60746         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
60747         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
60748         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
60749         headers, memory.h, stdlib.h, string.h, strings.h.
60750         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
60751         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
60752         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
60753         strchr.
60754         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
60755         headers, memory.h, string.h.
60756         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
60757         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
60758         free.
60759         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
60760         headers.
60761         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
60762         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
60763         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
60764         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
60765         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
60766
60767 2003-09-09  Paul Eggert  <eggert@twinsun.com>
60768
60769         More K&R removal.
60770
60771         * lib/acosl.c (main): Use a prototype.
60772         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
60773         tanl.c: Likewise.
60774
60775         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
60776
60777         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
60778         (getopt, etopt_long, getopt_long_only, _getopt_internal)
60779         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
60780         with a prototype.
60781         * lib/getopt.c (const): Remove macro.
60782         Include <string.h> unconditionally.
60783         (my_index): Remove; all uses changed to strchr.
60784         (strlen): Remove decl.
60785         (exchange): Remove forward decl; no longer needed.
60786         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
60787         Define with prototype.
60788         * lib/getopt1.c (const): Remove macro.
60789         (getopt_long, getopt_long_only, main): Define with prototype.
60790
60791         * lib/getugroups.c: Include <string.h> unconditionally.
60792
60793         * lib/getusershell.c: Include <stdlib.h> unconditionally.
60794         (getusershell, setusershell, endusershell, readname, main):
60795         Define with prototypes.
60796
60797         * lib/group-member.c: Include group-member.h first.
60798         Include <stdlib.h> unconditionally.
60799
60800         * lib/hard-locale.c: Include hard-locale.h first.
60801         Include <stdlib.h>, <string.h> unconditionally.
60802
60803         * lib/hash.c (free, malloc): Remove decls.
60804         Include <stdlib.h> unconditionally.
60805
60806         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
60807         (getenv): Do not declare.
60808
60809         * lib/idcache.c: Include <string.h> unconditionally.
60810
60811         * lib/long-options.c: Include long-options.h first, to test interface.
60812         Include <stdlib.h> unconditionally.
60813
60814         * lib/makepath.c: Include makepath.h first, to test interface.
60815         Include <stdlib.h> and <string.h> unconditionally.
60816
60817         * lib/linebuffer.c: Include <stdlib.h>.
60818         (free): Remove decl.
60819
60820         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
60821         stddef.h. rpl_malloc returns void *, not char *.
60822         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
60823         prototype.
60824
60825         * lib/md5.h: Include <limits.h> unconditionally.
60826         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
60827         (__P): Remove; all uses removed.
60828         * lib/md5.c: Include "md5.h" first.
60829         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
60830         md5_buffer, md5_process_bytes, md5_process_block):
60831         Define with prototypes.
60832         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
60833         * lib/sha.c: Include "sha.h" first.
60834         Include <stdlib.h>, <string.h> unconditionally.
60835
60836         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
60837         * lib/memcmp.c (__ptr_t): Likewise.
60838         * lib/memrchr.c (__ptr_t): Likewise.
60839         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
60840         Include <string.h> unconditionally.
60841         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
60842         * lib/memchr.c: Include <stdlib.h> unconditionally.
60843         * lib/memchr.c (LONG_MAX): Remove.
60844         * lib/memrchr.c (LONG_MAX): Likewise.
60845         * lib/memchr.c (__memchr): Define via a prototype.
60846         * lib/memrchr.c (__memrchr): Likewise.
60847         * lib/memcmp.c (__P): Remove, and remove all uses.
60848         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
60849         Remove forward decls; no longer needed.
60850         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
60851         Use types required by C89 in prototype.
60852
60853         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
60854         * lib/savedir.c: Likewise.
60855         * lib/mkdir.c (free): Remove decl.
60856         * lib/rmdir.c (rmdir): Define with a prototype.
60857         * lib/savedir.c: Include savedir.h first, to test interface.
60858
60859         * lib/mktime.c (STDC_HEADERS): Remove.
60860         Include <stdlib.h>, <string.h> unconditionally.
60861
60862         * lib/modechange.c: Include <stdlib.h> unconditionally.
60863         (malloc): Remove decl.
60864
60865         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
60866         (free): Remove decl.
60867
60868         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
60869         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
60870         (This type really should be intptr_t, but that's a C99ism.)
60871         (_obstack_memcpy): Remove: all uses changed to memcpy.
60872         Include <string.h> unconditionally.
60873         (struct obstack): Assume __STDC__ for types of members
60874         chunkfun, freefun, extra_arg.
60875         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
60876         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
60877         obstack_begin, obstack_specify_allocation,
60878         obstack_specify_allocation_with_arg, obstack_chunkfun,
60879         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
60880         Remove unprototyped decls and the macros that use them.
60881         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
60882         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
60883         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
60884         (defined __STDC__ && __STDC__)]:
60885         Remove nonprototyped code.
60886         Include <stdlib.h> unconditionally.
60887         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
60888         _obstack_allocated_p, _obstack_free, obstack_free,
60889         _obstack_memory_used, print_and_abort):
60890         Define using prototypes.
60891         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
60892         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
60893         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
60894         obstack_next_free, obstack_object_size, obstack_room) [0]:
60895         Remove unused, unprototyped code.
60896
60897         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
60898
60899         * lib/physmem.c (physmem_total, physmem_available, main): Define
60900         with prototypes.
60901
60902         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
60903         (main): Define with a prototype.
60904
60905         * lib/posixver.c (getenv): Remove decl.
60906
60907         * lib/putenv.c (malloc): Returns void *, not char *.
60908         Include <string.h> unconditionally.
60909         (strchr, memcpy, NULL): Do not define.
60910
60911         * lib/readtokens.c: Include readtokens.h first, to test interface.
60912         Include <stdlib.h>, <string.h> unconditionally.
60913         (init_tokenbuffer): Define with a prototype.
60914
60915         * lib/regex.c (PARAMS): Remove.  All uses removed.
60916         All uses of _RE_ARGS removed, too.
60917         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
60918         unconditionally.
60919         (bzero): Assume memset exists.
60920         (memcmp, memcpy, NULL): Remove.
60921         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
60922         char, or assignments to local vars of type signed char.
60923         (init_syntax_once, PREFIX(extract_number_and_incr),
60924         PREFIX(print_partial_compiled_pattern),
60925         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
60926         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
60927         PREFIX(regex_grow_registers), PREFIX(regex_compile),
60928         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
60929         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
60930         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
60931         wcs_compile_range, byte_compile_range, truncate_wchar,
60932         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
60933         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
60934         count_mbs_length, wcs_re_match_2_internal,
60935         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
60936         PREFIX(alt_match_null_string_p),
60937         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
60938         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
60939         regfree, PREFIX(extract_number)): Define with prototype.  Remove
60940         now-unnecessary declaration, if any.
60941         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
60942         regcomp, regexec):
60943         Remove now-unnecessary casts among pointer types.
60944         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
60945
60946         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
60947         (free): Remove decl.
60948
60949         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
60950
60951         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
60952         (free): Remove decl.
60953
60954         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
60955         * lib/xgetcwd.c: Likewise.
60956
60957         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
60958         (free): Remove decl.
60959
60960         * lib/strchrnul.c (strchrnul): Define with a prototype.
60961         Fix bug: c_in was not converted to char before searching.
60962
60963         The following changes are not K&R related:
60964
60965         * lib/group-member.h: Include <sys/types.h>, so that this file is
60966         self-contained.
60967         * lib/makepath.h: Likewise.
60968
60969         * lib/getusershell.c (readname, default_index, line_size, readname):
60970         Use size_t, not int, for sizes.
60971         (readname): If the size overflows, report an error instead of
60972         looping forever.
60973
60974 2003-09-09  Paul Eggert  <eggert@twinsun.com>
60975
60976         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
60977         libc.
60978
60979 2003-09-09  Paul Eggert  <eggert@twinsun.com>
60980
60981         * README: New section: portability guidelines.
60982
60983 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
60984
60985         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
60986         C89 spec.
60987
60988 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
60989
60990         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
60991
60992 2003-09-08  Paul Eggert  <eggert@twinsun.com>
60993
60994         Assume C89 or better; remove K&R cruft.
60995         A few of these changes were first proposed by Derek Robert Price
60996         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
60997
60998         * lib/addext.c: Include <string.h> unconditionally.
60999         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
61000         Don't declare getenv or malloc.
61001
61002         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
61003         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
61004         (NULL): Remove.
61005         (find_stack_direction, alloca): Use prototypes.
61006
61007         * lib/atexit.c (atexit): Define using a prototype.
61008
61009         * lib/basename.c, dirname.c, stripslash.c:
61010         Include <string.h> unconditionally.
61011
61012         * lib/bcopy.c: Include <stddef.h>.
61013         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
61014
61015         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
61016
61017         * lib/error.h (error, error_at_line, error_print_progname)
61018         [! (defined (__STDC__) && __STDC__)]: Remove decls.
61019         * lib/error.c: Include error.h first, to check interface.
61020         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
61021         (VA_START): Remove; all uses changeed to va_start.
61022         (exit, strerror): Remove decls.
61023         (error_print_progname): Prototype uncondionally.
61024         Don't include <errno.h>; no longer needed.
61025         (private_strerror): Remove.
61026         (error_tail): Always define.
61027         (error, error_at_line): Assume C89 or better; always use prototypes.
61028         * lib/fatal.c: Include "fatal.h" first, to test interface.
61029         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
61030         (VA_START): Remove; all uses changed to va_start.
61031         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
61032         this case.
61033         (exit): Remove decl.
61034         (fatal): Prototype unconditionally.  Assume va_start works.
61035         Abort at end, to pacify gcc.
61036
61037         * lib/euidaccess.c (main): Define with a prototype.
61038
61039         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
61040
61041         * lib/exitfail.c: Include <stdlib.h> unconditionally.
61042
61043         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
61044         prototypes.
61045         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
61046         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
61047         (getenv): Remove decl.
61048         (fnmatch): Define using a prototype.
61049         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
61050         (FCT): Define using a prototype.
61051
61052         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
61053
61054         * lib/gethostname.c: Include <stddef.h>.
61055         (gethostname): Define with prototype.  Length is size_t, not int.
61056
61057 2003-09-08  Paul Eggert  <eggert@twinsun.com>
61058
61059         Assume C89 or better; remove K&R cruft.
61060         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
61061         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
61062         string.h, getenv, malloc.
61063         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
61064         headers.
61065         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
61066         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
61067         do not check for strerror.
61068         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
61069         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
61070         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
61071         do not check for doprnt or vprintf.
61072         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
61073         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
61074
61075 2003-09-08  Paul Eggert  <eggert@twinsun.com>
61076
61077         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
61078         getversion.c should have been removed then, but was accidentally
61079         preserved.
61080
61081         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
61082         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
61083
61084 2003-09-08  Karl Berry  <karl@gnu.org>
61085
61086         * config/config.sub, config.guess, srclistvars.sh: update from savannah
61087                 config, forget about prep.
61088
61089         * config/depcomp, missing: update from automake.
61090
61091 2003-09-07  Paul Eggert  <eggert@twinsun.com>
61092
61093         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
61094         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
61095
61096 2003-09-07  Paul Eggert  <eggert@twinsun.com>
61097
61098         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
61099         copy_tm_result.  Bug reported by Simon Josefsson in
61100         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
61101
61102 2003-09-06  Paul Eggert  <eggert@twinsun.com>
61103
61104         * m4/time_r.m4: New file.
61105         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
61106         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
61107         is. Check for timegm declaration.
61108         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
61109         Do not check for gmtime_r.
61110         Replace mktime if __mktime_internal does not exist and if mktime
61111         hasn't been replaced already.
61112
61113 2003-09-06  Paul Eggert  <eggert@twinsun.com>
61114
61115         * lib/time_r.c, lib/time_r.h: New files.
61116
61117         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
61118         __localtime_r.
61119         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
61120         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
61121
61122         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
61123         __gmtime_r.
61124         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
61125         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
61126         Include <time_r.h>.
61127
61128         * lib/timegm.c: Switch to glibc implementation, with the following
61129         changes:
61130         [defined HAVE_CONFIG_H]: Include <config.h>.
61131         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
61132         (__mktime_internal) [!defined _LIBC]: New decl.
61133         (__gmtime_r) [!defined _LIBC]: New macro and function.
61134         (timegm): Use a prototype, since gnulib assumes C89.
61135         Do not bother declaring tmp to be const, as it's not really usefu.
61136         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
61137         (timegm): Declare only if HAVE_DECL_TIMEGM.
61138
61139 2003-09-06  Paul Eggert  <eggert@twinsun.com>
61140
61141         * MODULES.html.sh (func_all_modules): Add time_r.
61142         * modules/time_r: New file.
61143         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
61144         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
61145
61146 2003-09-03  Paul Eggert  <eggert@twinsun.com>
61147
61148         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
61149         Bug reported by Lute Kamstra in
61150         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
61151
61152         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
61153         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
61154         course with correspondingly smaller numbers for tomorrow and
61155         yesterday.  From Tadayoshi Funaba.  Originally installed into
61156         sh-utils on 1999-08-07, but the patch got lost (I guess during the
61157         coreutils merge?).
61158
61159 2003-08-31  Simon Josefsson  <jas@extundo.com>
61160
61161         * modules/timegm: New file.
61162         * MODULES.html.sh (func_all_modules): Add timegm.
61163
61164 2003-08-31  Simon Josefsson  <jas@extundo.com>
61165
61166         * m4/timegm.m4: New file.
61167
61168 2003-08-31  Simon Josefsson  <jas@extundo.com>
61169
61170         * lib/timegm.h: New file.
61171         * lib/timegm.c: New file.  Based on
61172         wget-1.8.2/src/http.c:mktime_from_utc.
61173
61174 2003-08-31  Karl Berry  <karl@gnu.org>
61175
61176         * lib/argp.h: update from libc.
61177
61178 2003-08-28  Bruno Haible  <bruno@clisp.org>
61179
61180         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
61181         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
61182         followed by '#define fnmatch fnmatch_posix' gives an error.
61183
61184 2003-08-28  Bruno Haible  <bruno@clisp.org>
61185
61186         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
61187         warning on QNX, which defines O_BINARY to 000000.
61188
61189 2003-08-27  Jim Meyering  <jim@meyering.net>
61190
61191         * m4/mkstemp.m4: Require that the system mkstemp be able to create
61192         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
61193         would fail after 32.  Reported by Danny Levinson.  Details here:
61194         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
61195
61196 2003-08-24  Bruno Haible  <bruno@clisp.org>
61197
61198         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
61199         MSVC7 <stdio.h> is included later.
61200
61201 2003-08-22  Simon Josefsson  <jas@extundo.com>
61202
61203         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
61204
61205 2003-08-20  Karl Berry  <karl@gnu.org>
61206
61207         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
61208
61209 2003-08-20  Bruno Haible  <bruno@clisp.org>
61210
61211         * modules/progname: New file.
61212         * MODULES.html.sh (func_all_modules): Add progname.
61213
61214 2003-08-20  Bruno Haible  <bruno@clisp.org>
61215
61216         * lib/progname.h: New file, from GNU gettext.
61217         * lib/progname.c: New file, from GNU gettext.
61218         * lib/progreloc.c: New file, from GNU gettext.
61219
61220 2003-08-19  Jim Meyering  <jim@meyering.net>
61221
61222         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
61223         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
61224
61225 2003-08-19  Bruno Haible  <bruno@clisp.org>
61226
61227         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
61228         more.
61229
61230 2003-08-19  Bruno Haible  <bruno@clisp.org>
61231
61232         * lib/xstrdup.c: Assume <string.h> exists.
61233
61234 2003-08-18  Paul Eggert  <eggert@twinsun.com>
61235
61236         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
61237         in makefile rules.
61238
61239 2003-08-18  Jim Meyering  <jim@meyering.net>
61240
61241         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
61242         * m4/lib-ld.m4: Likewise.
61243
61244 2003-08-18  Jim Meyering  <jim@meyering.net>
61245
61246         * lib/setenv.h: Indent nested cpp directive.
61247         * lib/vasnprintf.c: Remove trailing blanks.
61248
61249 2003-08-17  Simon Josefsson  <jas@extundo.com>
61250
61251         * modules/xstrndup: New file.
61252         * MODULES.html.sh (func_all_modules): Add xstrndup.
61253
61254 2003-08-17  Simon Josefsson  <jas@extundo.com>
61255
61256         * modules/argp: Fix autoconf macro name. Add more dependencies.
61257
61258 2003-08-17  Simon Josefsson  <jas@extundo.com>
61259
61260         * m4/xstrndup.m4: New file.
61261
61262 2003-08-17  Simon Josefsson  <jas@extundo.com>
61263
61264         * m4/argp.m4: New file.
61265
61266 2003-08-17  Simon Josefsson  <jas@extundo.com>
61267             Bruno Haible  <bruno@clisp.org>
61268
61269         * lib/xstrndup.h: New file.
61270         * lib/xstrndup.c: New file.
61271
61272 2003-08-17  Bruno Haible  <bruno@clisp.org>
61273
61274         * modules/strndup (Files, Include): Add lib/strndup.h.
61275
61276 2003-08-17  Bruno Haible  <bruno@clisp.org>
61277
61278         * modules/euidaccess (Files): Add lib/euidaccess.h.
61279
61280 2003-08-17  Bruno Haible  <bruno@clisp.org>
61281
61282         * lib/strndup.h: New file.
61283
61284 2003-08-17  Bruno Haible  <bruno@clisp.org>
61285
61286         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
61287         like AC_GNU_SOURCE.
61288         * modules/extensions (configure.ac): Comment out the invocation of
61289         gl_USE_SYSTEM_EXTENSIONS.
61290
61291 2003-08-16  Paul Eggert  <eggert@twinsun.com>
61292
61293         Merges from coreutils, etc.
61294         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
61295         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
61296         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
61297         fixing a typo.
61298         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
61299         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
61300
61301 2003-08-16  Paul Eggert  <eggert@twinsun.com>
61302
61303         Document merge from coreutils.
61304         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
61305         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
61306         * modules/utime: Add m4/utimes-null.m4.
61307
61308 2003-08-16  Paul Eggert  <eggert@twinsun.com>
61309
61310         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
61311         space, undoing this 2003-08-12 change:
61312         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
61313
61314 2003-08-16  Paul Eggert  <eggert@twinsun.com>
61315
61316         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
61317         strtoul.c from libc, undoing this 2003-08-12 change:
61318         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
61319
61320 2003-08-16  Jim Meyering  <jim@meyering.net>
61321
61322         Merges from coreutils.
61323         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
61324         prefix.  Adjust cache variables similarly.  Create 500 rather than
61325         just 300 files, to exercise bug on Darwin6.5, too.
61326         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
61327         $missing_dir.
61328         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
61329         AM_SYS_POSIX_TERMIOS.
61330         Reported by mkc@mathdogs.com.
61331         Also change use of $am_cv_sys_posix_termios
61332         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
61333         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
61334         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
61335         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
61336         in /proc/mounts until it finds one with matching device number.  This
61337         is unnecessary when the FILE argument *is* a mount point.  No stat call
61338         is necessary in that case.  So, disable the statvfs-testing code on
61339         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
61340         as RedHat bug# 84846.
61341         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
61342         to 1MB, so as not to render systems with no stack size limit (e.g.,
61343         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
61344         Include <unistd.h>.  On some systems,
61345         it is required for the definition of _SC_PAGESIZE.
61346
61347 2003-08-16  Jim Meyering  <jim@meyering.net>
61348
61349         Merge from coreutils.
61350         * lib/xstrtoimax.c: #else #if -> #elif.
61351         * lib/xstrtoumax.c: Likewise.
61352
61353 2003-08-16  Jim Meyering  <jim@meyering.net>
61354
61355         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
61356         * m4/utimes.m4: Removed.
61357         * m4/utimes-null.m4: Renamed from utimes.m4.
61358
61359         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
61360         to 1MB, so as not to render systems with no stack size limit (e.g.,
61361         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
61362         Include <unistd.h>.  On some systems,
61363         it is required for the definition of _SC_PAGESIZE.
61364
61365 2003-08-16  Jim Meyering  <jim@meyering.net>
61366         and Paul Eggert  <eggert@cs.ucla.edu>
61367
61368         Merges from coreutils, etc.
61369
61370         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
61371         using the latest version from cvs.  This avoids problems with #line
61372         directives using a vendor (Sun) compiler.
61373         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
61374         Don't set GETGROUPS_LIB here; now it's
61375         done via getgroups.m4's wrapper function.
61376         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
61377         rather than just in sh-util/configure.in, so that the
61378         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
61379         same.
61380         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
61381         AC_FUNC_GETLOADAVG where to find getloadavg.c.
61382         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
61383         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
61384         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
61385         Remove code that is now done by the newly-required macros.
61386         Append $(EXEEXT) to DF_PROG.
61387         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
61388         Do not invoke or require the following here,
61389         since prereq.m4 or some gnulib .m4 now does this for us:
61390         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
61391         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
61392         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
61393         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
61394         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
61395         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
61396         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
61397         AC_FUNC_OBSTACK.
61398         Do not replace the following functions, as this is now the job
61399         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
61400         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
61401         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
61402         atexit getpass, strdup, getpagesize.
61403         Replace 'raise'.
61404         Do not check for the following functions, as this is now the job
61405         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
61406         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
61407         setregid.
61408         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
61409         Check for sys/sysctl.h.
61410         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
61411         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
61412         of checking for ssize_t ourselves.
61413
61414         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
61415         Require every macro that gnulib/modules/* suggests for us.
61416         (jm_PREREQ_ADDEXT): New macro.
61417         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
61418         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
61419
61420         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
61421         (gl_PHYSMEM): Use it.
61422         Also check for `table' function.
61423         Check for new headers and functions.
61424         Add check for sys/sysmp.h.
61425         With suggestions from Kaveh Ghazi.
61426         Ignore headers that are present but cannot be compiled.  This
61427         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
61428         C 5.4.
61429
61430 2003-08-15  Paul Eggert  <eggert@twinsun.com>
61431
61432         Document merge from coreutils.
61433         * modules/userspec: Depend on posixver.
61434         * modules/strftime: Depend on tzset.
61435
61436 2003-08-15  Paul Eggert  <eggert@twinsun.com>
61437
61438         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
61439         rather than tab, after '#' in shell-script copyright notices.
61440         Suggested by Bruno Haible.
61441
61442 2003-08-15  Paul Eggert  <eggert@twinsun.com>
61443
61444         * config/srclist-update: Use three spaces, rather than tab, after '#'
61445         in shell-script copyright notices.  Suggested by Bruno Haible.
61446         Remove unnecessary parenthesization in regular expression.
61447
61448 2003-08-15  Jim Meyering  <jim@meyering.net>
61449
61450         Merge from coreutils.
61451         * lib/xgethostname.c: Include <stdlib.h>.
61452         (xghostname): Don't exit for anything other than memory-related
61453         failure; just return NULL.
61454         * lib/userspec.c: Include "posixver.h".
61455         (parse_user_spec): Accept `.' as a separator only
61456         in pre-POSIX-200112 mode.
61457         * lib/strtoimax.c: Use #elif rather than #else #if.
61458         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
61459         Remove function, now that we can rely on a working tzset function.
61460         [!_LIBC]: Ensure that the required autoconf test has been run.
61461         [!defined _NL_CURRENT && HAVE_STRFTIME]:
61462         Use underlying_strftime for %r.
61463         * lib/sha.c: Merge in some clean-up and optimization changes from
61464         glibc.
61465         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
61466         Ensure that it is a multiple of 64.
61467         Rearrange loop exit tests so as to avoid performing an
61468         additional fread after encountering an error or EOF.
61469         * lib/realloc.c: Update copyright date.
61470
61471 2003-08-15  Jim Meyering  <jim@meyering.net>
61472         and Paul Eggert  <eggert@twinsun.com>
61473
61474         Merge from coreutils.
61475         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
61476         member but strut utmpx does not.  Needed for AIX 4.3.3.
61477         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
61478
61479 2003-08-15  Jim Meyering  <jim@meyering.net>
61480         and Paul Eggert  <eggert@cs.ucla.edu>
61481
61482         Merges from coreutils, etc.
61483         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
61484         Require gl_FUNC_TZSET_CLOBBER.
61485         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
61486         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
61487         members.
61488
61489 2003-08-14  Paul Eggert  <eggert@twinsun.com>
61490
61491         Help the merge from coreutils.
61492         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
61493         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
61494         * m4/tzset.m4: Use it too.
61495
61496 2003-08-14  Paul Eggert  <eggert@twinsun.com>
61497
61498         * modules/tzset: New file.
61499
61500 2003-08-14  Jim Meyering  <jim@meyering.net>
61501
61502         Merges from coreutils.
61503         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
61504         variable names, rather than @FNMATCH_H@.
61505         * modules/alloca: Likewise for $(ALLOCA_H).
61506
61507         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
61508         the three copies of the literal target, `fnmatch.h'.
61509         * modules/alloca (alloca.h): Likewise.
61510
61511 2003-08-14  Jim Meyering  <jim@meyering.net>
61512
61513         Merge from coreutils.
61514         * m4/tzset.m4: New file.
61515         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
61516         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
61517         otherwise, AIX 5.1 systems would end up using the latter.
61518         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
61519         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
61520         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
61521         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
61522
61523 2003-08-14  Jim Meyering  <jim@meyering.net>
61524
61525         Merge from coreutils.
61526         * lib/obstack.h: Whitespace changes.
61527         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
61528         and xcalloc return values.
61529         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
61530         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
61531         hang on OSF/1 5.1 for DIR on both local and remote file systems.
61532         Reported by (and fix confirmed by) Nelson H. F. Beebe.
61533         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
61534         error from mntctl.
61535         Use mntctl's return value to drive the entry-processing loop, since
61536         we can't rely on the value of the vmt_length member in the last
61537         entry.  On some systems doing so could result in exhausting
61538         virtual memory.  Based in part on a patch from Mike Jetzer.
61539
61540 2003-08-14  Jim Meyering  <jim@meyering.net>
61541         and Paul Eggert  <eggert@twinsun.com>
61542
61543         Merges from coreutils, plus other fixes.
61544         * lib/physmem.c: Merge in portability changes from gcc/libiberty
61545         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
61546         for credits and details.  Thanks to Kaveh Ghazi for helping
61547         to keep these files in sync.
61548         (ARRAY_SIZE): Define it.
61549         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
61550         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
61551         (memcasecmp): Don't assume size_t fits in unsigned int.
61552         Remove casts and duplicate code.
61553         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
61554         (memcpy): Remove definition.
61555         Merge in some clean-up and optimization changes from glibc.
61556         [BLOCKSIZE]: Move definition to top of file.
61557         Ensure that it is a multiple of 64.
61558         Rearrange loop exit tests so as to avoid performing an
61559         additional fread after encountering an error or EOF.
61560         * lib/md5.h (md5_uintptr): Define.
61561         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
61562         return to the initial working directory.  Preserve errno
61563         for caller.
61564         * lib/idcache.c: Include "xalloc.h".
61565         (xmalloc, xrealloc): Remove decls.
61566         (getuser): Remove casts no longer required in C89.
61567         * lib/human.c: Include stdio.h, for sprintf.
61568         * lib/group-member.c: Include "xalloc.h".
61569         (xmalloc, xrealloc): Remove decls.
61570         (get_group_info): Remove casts no longer required in C89.
61571         * lib/getusershell.c (readname): Remove casts no longer required in
61572         C89.
61573         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
61574         * lib/getline.c: Whitespace fix, from coreutils.
61575
61576 2003-08-13  Paul Eggert  <eggert@twinsun.com>
61577
61578         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
61579         Check for isascii.
61580
61581         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
61582         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
61583         Undo previous (whitespace-only) change.
61584
61585 2003-08-13  Paul Eggert  <eggert@twinsun.com>
61586
61587         * lib/exclude.c: Include <ctype.h>
61588         (IN_CTYPE_DOMAIN): New macro.
61589         (is_space): New fn.
61590         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
61591         and empty lines.
61592
61593         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
61594         Undo previous (whitespace-only) change.
61595
61596 2003-08-13  Paul Eggert  <eggert@twinsun.com>
61597
61598         * config/srclist-update: Change update back to the old behavior,
61599         leaving whitespace alone.  Use one 'sed' command rather than a
61600         pipeline.
61601         (fixlicense): Now a variable, not a function.
61602         (remove_trailing_blanks): Remove.
61603         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
61604         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
61605         Undo previous (whitespace-only) change.
61606
61607 2003-08-12  Paul Eggert  <eggert@twinsun.com>
61608
61609         Merge from coreutils.
61610         * modules/euidaccess: Add lib_SOURCES, include for new
61611         file euidaccess.h
61612
61613 2003-08-12  Paul Eggert  <eggert@twinsun.com>
61614
61615         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
61616         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
61617         Normalize leading white space and remove trailing white space.
61618
61619         Merge from coreutils
61620         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
61621
61622         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
61623         0.12.1.  These files are now being upgraded automatically by
61624         ../config/srclist-update.
61625
61626 2003-08-12  Paul Eggert  <eggert@twinsun.com>
61627
61628         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
61629         Normalize leading white space and remove trailing white space.
61630         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
61631         notice, as per ../config/srclist-update.
61632
61633         Merge from coreutils.
61634         * lib/euidaccess.h: New file.
61635         * lib/euidaccess.c: Include it.
61636         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
61637         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
61638         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
61639
61640 2003-08-12  Paul Eggert  <eggert@twinsun.com>
61641
61642         * config/srclist-update: Add copyright notice.
61643         (remove_id_lines, remove_trailing_blanks): New constants.
61644         (fixfile): Use them to normalize spacing a bit in copied files.
61645         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
61646         Normalize leading white space and remove trailing white space.
61647
61648         * config/texinfo.tex: Sync with texinfo.
61649
61650         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
61651         strtoul.c from libc, to merge coreutils whitespace changes.
61652
61653         * config/srclist.txt: Get the following m4 files from gettext:
61654         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
61655         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
61656         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
61657         wint_t.m4.
61658
61659 2003-08-12  Karl Berry  <karl@gnu.org>
61660
61661         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
61662         been made.
61663
61664 2003-08-11  Paul Eggert  <eggert@twinsun.com>
61665
61666         * modules/gnu-source, m4/gnu-source.m4:
61667         Remove; we're assuming Autoconf 2.54 or later now.
61668         Suggested by Bruno Haible.
61669         * MODULES.html.sh (func_all_modules): Remove gnu-source.
61670
61671 2003-08-11  Bruno Haible  <bruno@clisp.org>
61672
61673         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
61674
61675 2003-08-11  Bruno Haible  <bruno@clisp.org>
61676
61677         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
61678         (vasnprintf): Use it instead of wcslen.
61679
61680 2003-08-11  Bruno Haible  <bruno@clisp.org>
61681
61682         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
61683         value to ensure that _Bool promotes to int. Use #define for _Bool when
61684         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
61685
61686 2003-08-10  Karl Berry  <karl@gnu.org>
61687
61688         * lib/regex.h: update from libc (whitespace fix).
61689
61690 2003-08-09  Paul Eggert  <eggert@twinsun.com>
61691
61692         Merge some files from coreutils.  These changes were
61693         originally made by Jim Meyering.
61694         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
61695         many older Unixes require this.
61696         * lib/alloca.c (alloca): Remove cast to argument of free;
61697         no longer needed in C89.
61698         * lib/alloca_.h, regex.h: Fix white space to match
61699         what GNU indent does.
61700
61701 2003-08-09  Paul Eggert  <eggert@twinsun.com>
61702
61703         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
61704         apparently Emacs's Unicode mode got confused before my 2003-08-05
61705         checkin.
61706
61707 2003-08-08  Paul Eggert  <eggert@twinsun.com>
61708
61709         * m4/extensions.m4: New file.
61710         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
61711         Require gl_USE_SYSTEM_EXTENSIONS.
61712         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
61713         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
61714
61715 2003-08-08  Paul Eggert  <eggert@twinsun.com>
61716
61717         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
61718         * modules/extensions, modules/gnu-source: New files.
61719         * modules/timespec, modules/unlocked-io: Depend on extensions.
61720
61721 2003-08-07  Paul Eggert  <eggert@twinsun.com>
61722
61723         * modules/restrict: New file.
61724         * MODULES.html.sh (func_all_modules): Add restrict.
61725         * modules/regex: Depend on restrict.
61726
61727 2003-08-07  Paul Eggert  <eggert@twinsun.com>
61728
61729         * m4/restrict.m4: New file.
61730         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
61731
61732 2003-08-07  Bruno Haible  <bruno@clisp.org>
61733
61734         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
61735         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
61736
61737 2003-08-07  Bruno Haible  <bruno@clisp.org>
61738
61739         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
61740         makes the module 'getndelim2' compatible with the module 'getline'.
61741
61742 2003-08-05  Paul Eggert  <eggert@twinsun.com>
61743
61744         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
61745         byte with "\201" to avoid glitches when editing that source file
61746         with multi-gnome-terminal.
61747
61748 2003-08-05  Paul Eggert  <eggert@twinsun.com>
61749
61750         * lib/bumpalloc.h: Remove.
61751
61752 2003-08-05  Paul Eggert  <eggert@twinsun.com>
61753
61754         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
61755         * modules/bumpalloc: Remove.
61756
61757 2003-08-04  Paul Eggert  <eggert@twinsun.com>
61758
61759         * lib/getloadavg.c: Change copyright notice and spacing to conform to
61760         GNU coding style.
61761
61762         Merge from coreutils.
61763         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
61764         1. From glibc.
61765         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
61766         from Karl Berry, implemented by Jim Meyering.
61767         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
61768         from Dmitry V. Levin.
61769         Remove anachronistic cast of xrealloc.
61770         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
61771         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
61772         type. Otherwise, it wouldn't compile with at least /bin/cc on
61773         ymp-cray-unicos9.0.2.X.
61774         Combine two mostly-identical uses of alloca into one.
61775         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
61776
61777 2003-08-04  Dave Love  <d.love@dl.ac.uk>
61778
61779         [From Emacs.]
61780
61781         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
61782         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
61783         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
61784         obsolete NLIST_NAME_UNION.
61785         [__GNU__]: Undef BSD and FSCALE.
61786         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
61787
61788 2003-08-03  Paul Eggert  <eggert@twinsun.com>
61789
61790         * lib/stdbool_.h (_Bool): Make it signed char, instead of
61791         an enum type, so that it's guaranteed to promote to int.  See:
61792         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
61793
61794 2003-08-03  Karl Berry  <karl@gnu.org>
61795
61796         * config/depcomp: update from automake.
61797
61798 2003-07-31  Paul Eggert  <eggert@twinsun.com>
61799
61800         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
61801         (strerror): Don't assume that a printable int fits in 14 bytes.
61802
61803 2003-07-31  Bruno Haible  <bruno@clisp.org>
61804
61805         * modules/getpass-gnu: New file.
61806         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
61807
61808 2003-07-31  Bruno Haible  <bruno@clisp.org>
61809
61810         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
61811
61812 2003-07-24  Karl Berry  <karl@gnu.org>
61813
61814         * config/missing: update from automake.
61815
61816 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
61817             Bruno Haible  <bruno@clisp.org>
61818
61819         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
61820         * lib/getline.c (getline, getdelim): Likewise.
61821         Remove _GNU_SOURCE define; now it's defined in config.h through
61822         m4/getline.m4.
61823
61824 2003-07-23  Karl Berry  <karl@gnu.org>
61825
61826         * config/config.sub: update from prep.
61827
61828 2003-07-22  Paul Eggert  <eggert@twinsun.com>
61829
61830         * modules/xalloc (Depends-on): Add exitfail.
61831         * modules/xmemcoll: Likewise.
61832
61833 2003-07-22  Paul Eggert  <eggert@twinsun.com>
61834
61835         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
61836         over-parenthesization in macros.
61837
61838         Sync with coreutils.
61839
61840         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
61841         required by C99.
61842
61843         Use `exit_failure' for xalloc and xmemcoll instead of their own
61844         private exit-failure variables.
61845         * lib/xalloc.h (xalloc_exit_failure): Remove.
61846         * lib/xmalloc.c: Likewise.  Include exitfail.h.
61847         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
61848         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
61849         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
61850         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
61851
61852 2003-07-20  Jim Meyering  <jim@meyering.net>
61853
61854         * modules/closeout (Depends-on): Add exitfail.
61855         Suggestion from Bruno Haible.
61856
61857 2003-07-19  Karl Berry  <karl@gnu.org>
61858
61859         * config/config.sub: update from prep.
61860
61861 2003-07-18  Paul Eggert  <eggert@twinsun.com>
61862
61863         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
61864         Remove.
61865         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
61866         to test that it can stand by itself.  Include "exitfail.h".
61867         Clients should set exit_failure instead.
61868         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
61869
61870 2003-07-18  Bruno Haible  <bruno@clisp.org>
61871
61872         * modules/getndelim2: New file.
61873         * modules/getline: Share files with module getndelim2.
61874         * modules/getnline: Depend on getndelim2 instead of sharing files with
61875         it. Add getnline.c to lib_SOURCES.
61876         * MODULES.html.sh (func_all_modules): Add getndelim2.
61877
61878 2003-07-18  Bruno Haible  <bruno@clisp.org>
61879
61880         * m4/getndelim2.m4: New file.
61881         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
61882         invoke gl_PREREQ_GETNDELIM2.
61883         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
61884         gl_PREREQ_GETNDELIM2.
61885         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
61886         gl_GETNDELIM2.
61887
61888 2003-07-18  Bruno Haible  <bruno@clisp.org>
61889
61890         * lib/getndelim2.h: New file.
61891         * lib/getndelim2.c: Make into a module of its own. Include config.h,
61892         getndelim2.h.
61893         (getndelim2): Make non-static. Change return type to ssize_t.
61894         * lib/getline.h: Change argument names.
61895         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
61896         * lib/getnline.c: Include getndelim2.h.
61897
61898 2003-07-18  Andreas Schwab  <schwab@suse.de>
61899
61900         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
61901
61902 2003-07-17  Karl Berry  <karl@gnu.org>
61903
61904         * config/config.sub: update from prep.
61905
61906 2003-07-17  Bruno Haible  <bruno@clisp.org>
61907
61908         * modules/getnline: New file.
61909         * modules/getline: Add lib/getndelim2.c to source file list.
61910         * MODULES.html.sh (func_all_modules): Add getnline.
61911
61912 2003-07-17  Bruno Haible  <bruno@clisp.org>
61913
61914         * m4/getnline.m4: New file.
61915
61916 2003-07-17  Bruno Haible  <bruno@clisp.org>
61917
61918         * m4/Makefile.am.in: Remove file.
61919         * m4/Makefile.am: Remove file.
61920         * m4/Makefile.in: Remove file.
61921
61922 2003-07-17  Bruno Haible  <bruno@clisp.org>
61923
61924         * lib/getnline.h: New file.
61925         * lib/getnline.c: New file.
61926         * lib/getndelim2.c: New file, extracted from getline.c.
61927         (getndelim2): Renamed from getdelim2, with added nmax argument.
61928         * lib/getline.c: Include getndelim2.c.
61929         (getdelim2): Moved out to getndelim2.c.
61930         (getline, getdelim): Update.
61931
61932 2003-07-17  Bruno Haible  <bruno@clisp.org>
61933
61934         * lib/Makefile.am: Remove file.
61935         * lib/Makefile.in: Remove file.
61936
61937 2003-07-17  Bruno Haible  <bruno@clisp.org>
61938
61939         * configure.in: Remove file.
61940         * Makefile.in: Remove file.
61941
61942 2003-07-17  Bruno Haible  <bruno@clisp.org>
61943
61944         * MODULES.html.sh: Put the </BODY> right before </HTML>.
61945
61946 2003-07-16  Karl Berry  <karl@gnu.org>
61947
61948         * config/srclist-update: was running fixlicense twice, which caused
61949                 texinfo.tex to be nullified for some reason.  Simplify,
61950                 $gplsrc is no longer needed as far as I can see?
61951
61952 2003-07-16  Jim Meyering  <jim@meyering.net>
61953
61954         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
61955
61956 2003-07-15  Paul Eggert  <eggert@twinsun.com>
61957
61958         * config/srclist.txt: Get the following files from gettext-runtime/intl
61959         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
61960         ref-del.sin.  From Bruno Haible.
61961         * config/srclist-update (fixfile): Change grep pattern again, since the
61962         previous fix didn't work (there was another trailing $).  Use
61963         '[$]' to escape the $s.
61964
61965 2003-07-15  Karl Berry  <karl@gnu.org>
61966
61967         * lib/vasnprintf.c: update from gettext.
61968
61969 2003-07-15  Karl Berry  <karl@gnu.org>
61970
61971         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
61972         gets expanded when surrounded by '$'.
61973
61974 2003-07-15  Jim Meyering  <jim@meyering.net>
61975
61976         * modules/save-cwd: Don't depend on error.  From Derek Price.
61977
61978 2003-07-15  Jim Meyering  <jim@meyering.net>
61979
61980         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
61981
61982 2003-07-14  Simon Josefsson  <jas@extundo.com>
61983
61984         * modules/mempcpy: New file.
61985         * MODULES.html.sh (func_all_modules): Add mempcpy.
61986
61987 2003-07-14  Simon Josefsson  <jas@extundo.com>
61988
61989         * m4/mempcpy.m4: New file.
61990
61991 2003-07-14  Simon Josefsson  <jas@extundo.com>
61992
61993         * lib/mempcpy.h: New file.
61994         * lib/mempcpy.c: New file.
61995
61996 2003-07-14  Paul Eggert  <eggert@twinsun.com>
61997
61998         * modules/getdate, modules/posixtm: Depend on mktime.
61999
62000 2003-07-14  Paul Eggert  <eggert@twinsun.com>
62001
62002         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
62003         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
62004         unicodeio.c, unicodeio.h, unlocked-io.h:
62005         Switch from LGPL to GPL.
62006
62007 2003-07-14  Paul Eggert  <eggert@twinsun.com>
62008
62009         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
62010         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
62011         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
62012         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
62013         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
62014         updated automatically by ../config/srclist-update.  This changes
62015         their license from LPGL to GPL.
62016
62017 2003-07-14  Paul Eggert  <eggert@twinsun.com>
62018
62019         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
62020         assumed to refer to the root of the most recent stable gettext version.
62021         * config/srclistvars.sh: Add defaults for eggert.
62022         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
62023         Match "This program" as well as "The program".  This is needed
62024         for gettext.
62025
62026 2003-07-14  Jim Meyering  <jim@meyering.net>
62027
62028         Don't emit diagnostics.  Let callers do that.
62029         * lib/save-cwd.c: Don't include "error.h".
62030         (save_cwd): Don't call error.  Ensure that errno is valid
62031         when returning nonzero.
62032
62033         * lib/save-cwd.h (restore_cwd): Update prototype.
62034         * lib/save-cwd.c (restore_cwd): Remove two parameters.
62035         Simplify.  Don't call error upon failure.  Let callers do that.
62036         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
62037         when auditing is enabled.  But don't bother updating the #if.
62038
62039 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
62040
62041         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
62042         it breaks C++ compilation.
62043         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
62044
62045 2003-07-10  Simon Josefsson  <jas@extundo.com>
62046
62047         * modules/strchrnul (Makefile.am): Add strchrnul.h.
62048
62049 2003-07-10  Jim Meyering  <jim@meyering.net>
62050
62051         * m4/clock_time.m4: Remove trailing blank.
62052         * m4/intmax_t.m4: Likewise.
62053
62054 2003-07-10  Jim Meyering  <jim@meyering.net>
62055
62056         * lib/vasnprintf.c: Remove trailing blanks.
62057         Make cpp indentation consistent.
62058
62059 2003-07-09  Paul Eggert  <eggert@twinsun.com>
62060
62061         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
62062         posixver.c, strftime.c, strnlen.c, strverscmp.c:
62063         Switch from LGPL to GPL.
62064
62065 2003-07-09  Paul Eggert  <eggert@twinsun.com>
62066
62067         * config/srclist.txt: Sort sublists.  Add
62068         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
62069         that differ from gnulib for one reason or another; we'd like this list
62070         to be smaller but for now let's document what we have.
62071
62072 2003-07-08  Paul Eggert  <eggert@twinsun.com>
62073
62074         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
62075         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
62076         and sweeter "eval x=$x".
62077         * config/srclist.txt: Get lib/argp* from glibc.
62078
62079 2003-07-07  Paul Eggert  <eggert@twinsun.com>
62080
62081         * lib/mktime.c: Fix some boundary cases and remove need for floating
62082         point.
62083
62084         Issue a compile-time diagnostic if time_t is floating point, or if
62085         two's complement arithmetic is not in effect, or if arithmetic
62086         right shift does not propagate the sign.  These assumptions were
62087         all in the original code but they weren't checked.
62088
62089         (TIME_T_MIDPOINT, verify): New macros.
62090         (__isleap): Remove; it has integer overflow problems.
62091         (leapyear): New function, without those problems.
62092         (ydhms_tm_diff): Remove; splitting into two parts.
62093         (ydhms_diff): New function, containing the arithmetic part of
62094         the old ydhms_tm_diff function.  Issue a compile-time
62095         diagnostic if we are not using C99 integer division.
62096         Avoid casts when possible.
62097         (guess_time_tm): New function, containing the checking part of
62098         the old ydhms_tm_diff function.  Return the new value, rather than
62099         the difference between it and the old.  Accept a new argument T
62100         so that *T specifies the old value.  Check for overflow in the result.
62101
62102         (__mktime_internal): Use a time_t offset, not a long int offset.
62103         This undoes the 2003-06-04 change, which is no longer needed now
62104         that we have better overflow checking.
62105         (localtime_offset): Likewise.
62106
62107         (__mktime_internal): Avoid harmful overflow on hosts where time_t
62108         and long are 64-bit but int is only 32-bit.
62109         (ydhms_diff): Use long int to store year1 and yday1.
62110         Issue a compile-time diagnostic if long int is not wide enough.
62111
62112         (__mktime_internal): Use long int to store adjusted year and yday.
62113         Use plain C rather than preprocessor commands, if that doesn't
62114         affect efficiency.
62115         Check for overflow (and try to repair) after each probe
62116         rather than checking only at the very end.  This avoids some bugs
62117         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
62118         does not equal GMT offset at maximum time).
62119         Use integer to check for overflow rather than floating point; this
62120         is more portable to non-IEEE hosts, and is a tad faster.
62121         When we detect that we are oscillating between two values,
62122         don't check whether tm_isdst has the requested value, since
62123         we already know the answer.  When tm_isdst has the wrong value,
62124         use a different heuristic to find the right one, based on the
62125         extreme values actually observed in practice in tz2003a,
62126         rather than the (overly optimistic) "previous 3 calendar quarters".
62127
62128         (not_equal_tm, print_tm, check_result): Use "const T" rather than
62129         "T const" to accommodate glibc style.
62130         (check_result): Use less-confusing report format.  "long" -> "long int.
62131         (main): Likewise.
62132         Don't loop if the iteration overflows time_t.
62133         Allow a negative step in the iteration.
62134
62135 2003-07-06  Karl Berry  <karl@gnu.org>
62136
62137         * config/depcomp: update from automake.
62138         * config/config.sub: update from prep.
62139
62140 2003-07-03  Karl Berry  <karl@gnu.org>
62141
62142         * config/config.guess: update from prep.
62143
62144 2003-07-01  Paul Eggert  <eggert@twinsun.com>
62145
62146         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
62147         xreadlink.c now includes it unconditionally.
62148
62149 2003-07-01  Paul Eggert  <eggert@twinsun.com>
62150
62151         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
62152         having it depend on HAVE_SYS_TYPES_H.
62153
62154 2003-07-01  Bruno Haible  <bruno@clisp.org>
62155
62156         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
62157         <sys/types.h> should be sufficient.
62158         Reported by Paul Eggert.
62159
62160 2003-06-26  Karl Berry  <karl@gnu.org>
62161
62162         * config/depcomp: update from automake.
62163
62164 2003-06-26  Bruno Haible  <bruno@clisp.org>
62165
62166         * modules/human: Depend on module stdbool.
62167
62168 2003-06-25  Bruno Haible  <bruno@clisp.org>
62169
62170         * modules/readlink: New file.
62171         * modules/xreadlink: Depend on it.
62172         * MODULES.html.sh (func_all_modules): Add readlink.
62173
62174 2003-06-25  Bruno Haible  <bruno@clisp.org>
62175
62176         * m4/readlink.m4: New file.
62177
62178 2003-06-25  Bruno Haible  <bruno@clisp.org>
62179
62180         * lib/readlink.c: New file.
62181
62182 2003-06-22  Karl Berry  <karl@gnu.org>
62183
62184         * config/srclist.txt: update mkinstalldirs from automake.
62185         * config/mkinstalldirs: update.
62186
62187 2003-06-22  Bruno Haible  <bruno@clisp.org>
62188
62189         Portability to mingw32.
62190         * m4/ssize_t.m4: New file, from GNU gettext.
62191         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
62192         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
62193
62194 2003-06-22  Bruno Haible  <bruno@clisp.org>
62195
62196         * modules/safe-read: Add m4/ssize_t.m4.
62197         * modules/xreadlink: Add m4/ssize_t.m4.
62198
62199 2003-06-20  Bruno Haible  <bruno@clisp.org>
62200
62201         Assume C89, so PARAMS isn't needed.
62202         * lib/unicodeio.h (PARAMS): Remove.
62203         * lib/unicodeio.c: Don't use PARAMS.
62204
62205 2003-06-18  Karl Berry  <karl@gnu.org>
62206
62207         * config/config.{guess,sub}: update from prep.
62208
62209 2003-06-18  Jim Meyering  <jim@meyering.net>
62210
62211         Merge changes from coreutils.
62212         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
62213         Remove explicit declarations of xmalloc and realloc.
62214         Include xalloc.h.
62215         (read_utmp): Remove anachronistic cast of xmalloc.
62216
62217 2003-06-17  Paul Eggert  <eggert@twinsun.com>
62218
62219         Assume C89, so PARAMS isn't needed.
62220         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
62221         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
62222         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
62223         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
62224         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
62225         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
62226         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
62227         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
62228         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
62229         lib/xstrtod.h, lib/xstrtol.h: Likewise.
62230         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
62231         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
62232         no longer needed. Anyway, config.h should always be included before any
62233         other file.
62234
62235 2003-06-11  Simon Josefsson  <jas@extundo.com>
62236
62237         * modules/sysexits: New file.
62238         * MODULES.html.sh (func_all_modules): Add sysexits.
62239
62240 2003-06-11  Simon Josefsson  <jas@extundo.com>
62241
62242         * lib/sysexit_.h: New file.
62243
62244 2003-06-11  Derek Price  <derek@ximbiot.com>
62245
62246         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
62247         necessary.
62248
62249 2003-06-11  Bruno Haible  <bruno@clisp.org>
62250
62251         * m4/sysexits.m4: New file.
62252
62253 2003-06-10  Simon Josefsson  <jas@extundo.com>
62254
62255         * lib/argp.h: New file, from glibc.
62256         * lib/argp-ba.c: New file, from glibc.
62257         * lib/argp-eexst.c: New file, from glibc.
62258         * lib/argp-fmtstream.c: New file, from glibc.
62259         * lib/argp-fmtstream.h: New file, from glibc.
62260         * lib/argp-fs-xinl.c: New file, from glibc.
62261         * lib/argp-help.c: New file, from glibc.
62262         * lib/argp-namefrob.h: New file, from glibc.
62263         * lib/argp-parse.c: New file, from glibc.
62264         * lib/argp-pv.c: New file, from glibc.
62265         * lib/argp-pvh.c: New file, from glibc.
62266         * lib/argp-xinl.c: New file, from glibc.
62267
62268 2003-06-10  Simon Josefsson  <jas@extundo.com>
62269
62270         * modules/strchrnul: New file.
62271
62272 2003-06-10  Simon Josefsson  <jas@extundo.com>
62273
62274         * modules/argp: New file.
62275
62276 2003-06-10  Simon Josefsson  <jas@extundo.com>
62277
62278         * m4/strchrnul.m4: New file.
62279
62280 2003-06-10  Simon Josefsson  <jas@extundo.com>
62281
62282         * lib/strchrnul.h: New file.
62283         * lib/strchrnul.c: New file.
62284
62285 2003-06-10  Bruno Haible  <bruno@clisp.org>
62286
62287         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
62288
62289 2003-06-07  Karl Berry  <karl@gnu.org>
62290
62291         * config/config.{guess,sub}: update from prep.
62292
62293 2003-06-07  Jim Meyering  <jim@meyering.net>
62294
62295         * modules/strtod: Use $(...) notation, not @...@ for
62296         AC_REPLACE'd variables.
62297         * modules/localcharset: Likewise.
62298
62299 2003-06-07  Jim Meyering  <jim@meyering.net>
62300
62301         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
62302         in place of my name in the copyright comment.
62303         Remove definition and uses of __P.
62304
62305         From coreutils.
62306         * lib/stat.c: Don't declare xmalloc explicitly.
62307         Instead, include "xalloc.h".
62308         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
62309         xrealloc, and xcalloc return values.
62310         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
62311         Improve comment.
62312         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
62313
62314 2003-06-07  Bruno Haible  <bruno@clisp.org>
62315
62316         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
62317         avoid AC_CONFIG_LINKS.
62318         * modules/fnmatch (Makefile.am): Use explicit creation rule for
62319         fnmatch.h, to avoid AC_CONFIG_LINKS.
62320         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
62321
62322 2003-06-07  Bruno Haible  <bruno@clisp.org>
62323
62324         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
62325         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
62326         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
62327         directory.
62328         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
62329         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
62330         directory.
62331
62332 2003-06-06  Jim Meyering  <jim@meyering.net>
62333
62334         Merge from coreutils.
62335         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
62336         Consolidate declarations and initializations of *_base* locals.
62337
62338         Merge from coreutils.
62339         This avoids a core dump on systems without GNU putenv,
62340         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
62341         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
62342         (unsetenv): New static function, from GNU libc.
62343         (rpl_putenv): Use it.
62344
62345         * lib/modechange.c: Remove trailing blanks.
62346
62347         Merge from coreutils.
62348         * lib/fsusage.c: Remove declaration of statfs.
62349         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
62350
62351         * lib/posixtm.c: Include <stdbool.h> unconditionally.
62352
62353 2003-06-06  Jim Meyering  <jim@meyering.net>
62354
62355         * lib/stdbool_.h: Renamed from stdbool.h.in.
62356
62357 2003-06-06  Jim Meyering  <jim@meyering.net>
62358             Bruno Haible  <bruno@clisp.org>
62359
62360         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
62361         Adjust Makefile.am snippet not to redirect directly to target.
62362         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
62363
62364 2003-06-05  Paul Eggert  <eggert@twinsun.com>
62365
62366         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
62367         mismatch, look in future quarters as well as past.  This fixes a
62368         bug when processing fall-backwards gaps immediately after a long
62369         period of daylight-saving time.
62370
62371         * lib/mktime.c: Assume freestanding C89 or better.
62372         (HAVE_LIMITS_H): Remove.  Assume it's 1.
62373         (__P): Remove; not used.
62374         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
62375         (mktime, not_equal_tm, print_tm, check_result,
62376         main): Use prototypes.  Use const * where appropriate.
62377         (main): Fix typo in testing code that uncovered by above changes.
62378         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
62379
62380 2003-06-04  Paul Eggert  <eggert@twinsun.com>
62381
62382         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
62383         locale.h, localeconv.  This merges changes from coreutils.
62384
62385         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
62386         It can be removed after the next Autoconf is released.
62387         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
62388         needed.
62389
62390 2003-06-04  Paul Eggert  <eggert@twinsun.com>
62391
62392         * lib/mktime.c: Fix Debian bug 177940
62393         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
62394         (localtime_offset): Now long int, not time_t, because we want it
62395         to be guaranteed to be signed.  All uses changed.
62396         (__mktime_internal): If overflow would occur when adding offset,
62397         don't add it.
62398
62399         Merge 'human' changes from coreutils.  Rewrite to support
62400         locale-specific notations like thousands separators.
62401         * lib/human.c: Simplify authorship notice.
62402         Include human.h immediately after config.h.
62403         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
62404         <limits.h>: Do not include, since human.h does.
62405         (SIZE_MAX, UINTMAX_MAX): New macros.
62406         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
62407         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
62408         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
62409         (power_letter): Renamed from suffixes.
62410         (generate_suffix_backwards): Remove.
62411         (adjust_value): Now takes int style (because of human.h changes)
62412         and long double value (for greater precision on some platforms).
62413         (group_number): New function.
62414         (human_readable): Use it.  Use integer options, not enum.
62415         Put the options before the sizes in the arg list.
62416         Support all the new options.
62417         The old human_readable function has been removed;
62418         use inttostr.h instead.
62419         (human_readable, default_block_size, humblock):
62420         Use uintmax_t, not int, for block sizes.
62421         (human_readable_inexact, block_size_types): Remove.
62422         (block_size_opts): New constant.
62423         (human_options): Renamed from human_block_size, with new signature
62424         that allows block sizes up to UINTMAX_MAX.  All callers changed.
62425         * lib/human.h: Add copyright and authorship notice.
62426         Include <limits.h> and <stdbool.h> unconditionally.
62427         (PARAMS): Remove.  All uses removed.
62428         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
62429         (enum human_inexact_style): Remove tag; now a nameless enum.
62430         (human_floor, human_ceiling, human_round_to_even): Now have
62431         values 2, 0, 1 rather than -1, 1, 0.
62432         (human_group_digits, human_suppress_point_zero, human_autoscale,
62433         human_base_1024, human_SI, human_B): New constants.
62434         (human_readable_inexact, human_block_size): Remove.
62435         (human_readable): Size args are now uintmax_t, not int.
62436         (human_options): New decl.
62437
62438         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
62439         unnecessary now that we assume C89 or better.  This change
62440         imported from coreutils.
62441
62442         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
62443         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
62444         in the 2003-05-30 sync from glibc.
62445
62446         .h files should stand alone, but we shouldn't include <sys/types.h>
62447         if we can get away with just <stddef.h>.
62448
62449         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
62450         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
62451         rather than <sys/types.h>, as we merely need size_t.
62452         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
62453         to get size_t.
62454         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
62455         Include <stdio.h>, to get FILE.
62456         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
62457         memcasecmp.h has included <stddef.h> and all we need is size_t.
62458         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
62459         our interface, instead of including <sys/types.h>
62460
62461 2003-06-04  Paul Eggert  <eggert@twinsun.com>
62462
62463         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
62464         now, as glibc mktime is buggy on non-glibc systems.
62465
62466 2003-06-03  Karl Berry  <karl@gnu.org>
62467
62468         * config/config.sub: update from prep.
62469
62470 2003-06-02  Paul Eggert  <eggert@twinsun.com>
62471
62472         [from coreutils]
62473         Fix some minor time-related bugs with POSIX time arguments.
62474         Some valid time stamps were being rejected (notably -1, and
62475         time stamps before 1900 on 64-bit hosts).  And some invalid
62476         time stamps were being accepted, e.g. September 31.
62477
62478         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
62479         that we can return (time_t) -1 successfully.
62480         * lib/posixtm.c: Likewise.
62481         [HAVE_STDBOOL_H]: Include <stdbool.h>.
62482         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
62483         (t): Remove static var.
62484         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
62485         of static var.  All uses changed.
62486         (year): Do not reject years before 1900; they can occur with
62487         64-bit time_t.
62488         (posix_time_parse): Do not check for out-of-range components;
62489         that is now the caller's responsibility, since our checks were
62490         only approximations.
62491         (posixtime): Use mktime to check for out-of-range components,
62492         since it knows them exactly.
62493         If mktime returns (time_t) -1, check whether an error actually occurred
62494         by invoking localtime on -1.
62495         (main) [TEST_POSIXTIME]: Check for input data errors, and report
62496         posixtime failures better.
62497         Improve the test data (in comments only).
62498
62499 2003-06-02  Karl Berry  <karl@gnu.org>
62500
62501         * config/mkinstalldirs (version): new variable.
62502         (--version): new option.
62503         (usage): improve message.
62504
62505 2003-05-30  Karl Berry  <karl@gnu.org>
62506
62507         * lib/mktime.c: update from libc.
62508
62509 2003-05-30  Bruno Haible  <bruno@clisp.org>
62510
62511         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
62512         * config/config.rpath: Upgrade to gettext-0.12.1.
62513
62514 2003-05-30  Bruno Haible  <bruno@clisp.org>
62515
62516         * m4/gettext.m4: Upgrade to gettext-0.12.1.
62517         * m4/nls.m4: New file, from gettext-0.12.1.
62518         * m4/po.m4: New file, from gettext-0.12.1.
62519         * m4/progtest.m4: Upgrade to gettext-0.12.1.
62520
62521 2003-05-30  Bruno Haible  <bruno@clisp.org>
62522
62523         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
62524         * lib/localcharset.h: Likewise.
62525         * lib/localcharset.c: Likewise.
62526
62527 2003-05-29  Karl Berry  <karl@gnu.org>
62528
62529         * config/config.rpath: update from gettext.
62530
62531 2003-05-28  Paul Eggert  <eggert@twinsun.com>
62532
62533         Assume the headers required for C89 freestanding compilers.
62534         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
62535         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
62536         * m4/human.m4 (gl_HUMAN): Likewise.
62537         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
62538         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
62539         * m4/userspec.m4 (gl_USERSPEC): Likewise.
62540         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
62541         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
62542         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
62543
62544 2003-05-28  Paul Eggert  <eggert@twinsun.com>
62545
62546         Assume the headers required for C89 freestanding compilers.
62547         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
62548         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
62549         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
62550         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
62551         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
62552         define, since <limits.h> is guaranteed to do that.
62553         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
62554         * lib/exclude.c: Include <stdbool.h> unconditionally.
62555         * lib/tempname.c: Include <stddef.h> unconditionally.
62556         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
62557         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
62558         <stddef.h> does that.
62559         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
62560         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
62561         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
62562         needed.
62563         * lib/xstrtol.c: Likewise.
62564         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
62565         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
62566
62567         * lib/addext.c (addext): Use assignment rather than cast, to avoid
62568         warnings on some platforms.
62569
62570         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
62571         arbitrarily.
62572
62573 2003-05-26  Jim Meyering  <jim@meyering.net>
62574
62575         Merge in a change from coreutils:
62576         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
62577         that is guaranteed to be `no'.  Use `no_such_member' to indicate
62578         that condition, rather than `-1' which is slightly misleading.
62579         Change the name of the cache variable to have the gl_ prefix.
62580         Prompted by a patch from Richard Dawe for DJGPP.
62581
62582 2003-05-24  Karl Berry  <karl@gnu.org>
62583
62584         * config/config.guess: update from prep.
62585
62586 2003-05-22  Karl Berry  <karl@gnu.org>
62587
62588         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
62589
62590 2003-05-20  Karl Berry  <karl@gnu.org>
62591
62592         * config/config.guess: update from prep.
62593
62594 2003-05-18  Karl Berry  <karl@gnu.org>
62595
62596         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
62597         might actually be set by the user.
62598
62599         * config/depcomp, install-sh, mdate-sh: update from automake.
62600
62601 2003-05-17  Bruno Haible  <bruno@clisp.org>
62602
62603         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
62604         invalid expansion for AC_EGREP_CPP.
62605         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
62606         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
62607         Suggested by Akim Demaille <akim@epita.fr> in
62608         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
62609
62610 2003-05-12  Jim Meyering  <jim@meyering.net>
62611
62612         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
62613         the space-padded-by-default conversion specifiers, %e, %k, %l.
62614
62615 2003-05-12  Bruno Haible  <bruno@clisp.org>
62616
62617         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
62618         the string is longer than 4 KB.
62619
62620 2003-05-11  Karl Berry  <karl@gnu.org>
62621
62622         * config/config.{guess,sub}: update from prep.
62623
62624 2003-05-09  Bruno Haible  <bruno@clisp.org>
62625
62626         * modules/error: Add m4/strerror_r.m4 to file list.
62627
62628 2003-05-03  Bruno Haible  <bruno@clisp.org>
62629
62630         Upgrade to Unicode-4.0.
62631         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
62632         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
62633         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
62634         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
62635         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
62636         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
62637         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
62638         Change width of U+E0100..U+E01EF from 1 to 0.
62639
62640 2003-04-25  Jim Meyering  <jim@meyering.net>
62641
62642         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
62643         of type size_t, not int.
62644
62645 2003-04-25  Bruno Haible  <bruno@clisp.org>
62646
62647         * lib/copy-file.c: Include <stddef.h>, for size_t.
62648
62649 2003-04-21  Paul Eggert  <eggert@twinsun.com>
62650
62651         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
62652         code which expansion is under static control.  Patch imported from
62653         Akim Demaille's patch to Bison; see
62654         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
62655
62656 2003-04-14  Bruno Haible  <bruno@clisp.org>
62657
62658         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
62659
62660 2003-04-11  Jim Meyering  <jim@meyering.net>
62661
62662         Merge changes from Coreutils.
62663
62664         2003-03-22  Jim Meyering  <jim@meyering.net>
62665
62666         * lib/strftime.c (widen): Cast alloca return value to proper type.
62667
62668         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
62669
62670         From GNU libc.
62671         * lib/strftime.c (my_strftime): Handle very large width
62672         specifications for numeric values correctly.  Improve checks for
62673         overflow.
62674
62675         2003-01-19  Jim Meyering  <jim@meyering.net>
62676
62677         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
62678         definitions.
62679         (nl_get_alt_digit) [! defined my_strftime]: Define.
62680         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
62681         _nl_get_alt_digit and _nl_get_walt_digit.
62682
62683         * lib/strftime.c (my_strftime): Merge in locale-related changes from
62684         libc. These changes have no effect outside of _LIBC.
62685
62686 2003-04-10  Bruno Haible  <bruno@clisp.org>
62687
62688         * modules/findprog: New file.
62689         * MODULES.html.sh (func_all_modules): Add it.
62690
62691 2003-04-10  Bruno Haible  <bruno@clisp.org>
62692
62693         * m4/findprog.m4: New file.
62694         * m4/eaccess.m4: New file.
62695
62696 2003-04-10  Bruno Haible  <bruno@clisp.org>
62697
62698         * lib/findprog.h: New file, from GNU gettext.
62699         * lib/findprog.c: New file, from GNU gettext.
62700
62701 2003-04-05  Jim Meyering  <jim@meyering.net>
62702
62703         Merge changes from Coreutils.
62704
62705         * lib/exclude.h (PARAMS): Remove definition and uses.
62706         * lib/exclude.c: Remove uses of `PARAMS'.
62707
62708         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
62709         Add test-cases for DOS filenames. Declare program_name.
62710         (main): Set up program_name.  Patch by Rich Dawe.
62711
62712         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
62713         error from mntctl.
62714         Use mntctl's return value to drive the entry-processing loop, since
62715         we can't rely on the value of the vmt_length member in the last
62716         entry.  On some systems doing so could result in exhausting
62717         virtual memory.  Based in part on a patch from Mike Jetzer.
62718
62719 2003-04-04  Bruno Haible  <bruno@clisp.org>
62720
62721         * modules/linebreak: New file.
62722         * MODULES.html.sh (func_all_modules): Add it.
62723
62724 2003-04-04  Bruno Haible  <bruno@clisp.org>
62725
62726         * m4/linebreak.m4: New file.
62727
62728 2003-04-04  Bruno Haible  <bruno@clisp.org>
62729
62730         * lib/linebreak.h: New file, from GNU gettext.
62731         * lib/linebreak.c: New file, from GNU gettext with slight
62732         modifications.
62733         * lib/lbrkprop.h: New file, from GNU gettext.
62734
62735 2003-04-03  Bruno Haible  <bruno@clisp.org>
62736
62737         * modules/utf8-ucs4: New file.
62738         * modules/utf16-ucs4: New file.
62739         * modules/ucs4-utf8: New file.
62740         * modules/ucs4-utf16: New file.
62741         * MODULES.html.sh (func_all_modules): Add them.
62742
62743 2003-04-03  Bruno Haible  <bruno@clisp.org>
62744
62745         * m4/utf-ucs4.m4: New file.
62746         * m4/ucs4-utf.m4: New file.
62747
62748 2003-04-03  Bruno Haible  <bruno@clisp.org>
62749
62750         * lib/utf8-ucs4.h: New file, from GNU gettext.
62751         * lib/utf16-ucs4.h: New file, from GNU gettext.
62752         * lib/ucs4-utf8.h: New file, from GNU gettext.
62753         * lib/ucs4-utf16.h: New file, from GNU gettext.
62754
62755 2003-04-02  Bruno Haible  <bruno@clisp.org>
62756
62757         * modules/binary-io: New file.
62758         * MODULES.html.sh (func_all_modules): Add it.
62759
62760 2003-04-02  Bruno Haible  <bruno@clisp.org>
62761
62762         * lib/binary-io.h: New file, from GNU gettext.
62763
62764 2003-04-01  Bruno Haible  <bruno@clisp.org>
62765
62766         * modules/pathname: New file.
62767         * MODULES.html.sh (func_all_modules): Add it.
62768
62769 2003-04-01  Bruno Haible  <bruno@clisp.org>
62770
62771         * lib/pathname.h: New file, from GNU gettext.
62772         * lib/concatpath.c: New file, from GNU gettext.
62773
62774 2003-03-30  Bruno Haible  <bruno@clisp.org>
62775
62776         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
62777
62778 2003-03-30  Bruno Haible  <bruno@clisp.org>
62779
62780         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
62781         function chown() doesn't exist.
62782
62783 2003-03-28  Bruno Haible  <bruno@clisp.org>
62784
62785         * modules/copy-file: New file.
62786         * MODULES.html.sh (func_all_modules): Add it.
62787
62788 2003-03-28  Bruno Haible  <bruno@clisp.org>
62789
62790         * m4/copy-file.m4: New file.
62791
62792 2003-03-28  Bruno Haible  <bruno@clisp.org>
62793
62794         * lib/copy-file.h: New file, from GNU gettext.
62795         * lib/copy-file.c: New file, from GNU gettext.
62796
62797 2003-03-18  Jim Meyering  <jim@meyering.net>
62798
62799         * lib/quote.c (quote_n): Fix typo in comment.
62800
62801 2003-03-18  Bruno Haible  <bruno@clisp.org>
62802
62803         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
62804         checking.
62805         * m4/onceonly_2_57.m4: Likewise.
62806
62807 2003-03-17  Bruno Haible  <bruno@clisp.org>
62808
62809         * m4/onceonly.m4: Require autoconf 2.54 or newer.
62810         (m4_quote): Remove macro.
62811         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
62812
62813 2003-03-14  Jim Meyering  <jim@meyering.net>
62814
62815         Merge changes from Coreutils.
62816         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
62817         to be const, in order to avoid warnings.
62818         (obstack_room): Likewise.
62819         (obstack_empty_p): Likewise.
62820
62821 2003-03-14  Bruno Haible  <bruno@clisp.org>
62822
62823         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
62824         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
62825
62826 2003-03-13  Paul Eggert  <eggert@twinsun.com>
62827
62828         Merge changes from Bison.
62829         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
62830         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
62831         when compiling Bison 1.875's `bitset bset = obstack_alloc
62832         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
62833         * lib/hash.c: Include <stdbool.h> unconditionally.
62834
62835 2003-03-13  Paul Eggert  <eggert@twinsun.com>
62836
62837         * m4/onceonly.m4 (m4_quote): New macro.
62838         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
62839         Quote AC_FOREACH variable-expansions properly.
62840
62841 2003-03-13  Paul Eggert  <eggert@twinsun.com>
62842
62843         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
62844
62845 2003-03-09  Paul Eggert  <eggert@twinsun.com>
62846
62847         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
62848         Reported by Bruce Becker; see:
62849         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
62850
62851 2003-03-03  Paul Eggert  <eggert@twinsun.com>
62852             Bruno Haible  <bruno@clisp.org>
62853
62854         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
62855         Reported by John Hughes, see
62856         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
62857
62858 2003-02-20  Bruno Haible  <bruno@clisp.org>
62859
62860         * MODULES.html.sh (func_all_modules): Add poll.
62861
62862 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
62863
62864         * modules/poll: New file.
62865
62866 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
62867
62868         * lib/poll_.h: New file.
62869         * lib/poll.c: New file.
62870
62871 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
62872
62873         * m4/poll.m4: New file.
62874
62875 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
62876
62877         * modules/mathl: New file.
62878
62879 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
62880
62881         * lib/mathl.h: New file.
62882         * lib/acosl.c: New file.
62883         * lib/asinl.c: New file.
62884         * lib/atanl.c: New file.
62885         * lib/ceill.c: New file.
62886         * lib/cosl.c: New file.
62887         * lib/expl.c: New file.
62888         * lib/floorl.c: New file.
62889         * lib/frexpl.c: New file.
62890         * lib/ldexpl.c: New file.
62891         * lib/logl.c: New file.
62892         * lib/sincosl.c: New file.
62893         * lib/sinl.c: New file.
62894         * lib/sqrtl.c: New file.
62895         * lib/tanl.c: New file.
62896         * lib/trigl.c: New file.
62897         * lib/trigl.h: New file.
62898
62899 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
62900
62901         * m4/mathl.m4: New file.
62902
62903 2003-02-18  Bruno Haible  <bruno@clisp.org>
62904
62905         * MODULES.html.sh (func_all_modules): Add mathl.
62906
62907 2003-02-17  Bruno Haible  <bruno@clisp.org>
62908
62909         * modules/mkdtemp: New module.
62910         * MODULES.html.sh (func_all_modules): Add it.
62911
62912 2003-02-17  Bruno Haible  <bruno@clisp.org>
62913
62914         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
62915
62916 2003-02-17  Bruno Haible  <bruno@clisp.org>
62917
62918         * lib/mkdtemp.h: New file, from GNU gettext.
62919         * lib/mkdtemp.c: New file, from GNU gettext.
62920
62921 2003-02-02  Jim Meyering  <jim@meyering.net>
62922
62923         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
62924         e.g. glibc-2.2.93.
62925
62926 2003-01-31  Bruno Haible  <bruno@clisp.org>
62927
62928         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
62929         'rpl_rename'.
62930         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
62931         'rpl_strnlen'.
62932         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
62933         'rpl_strtod'.
62934         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
62935         'rpl_utime'.
62936
62937 2003-01-31  Bruno Haible  <bruno@clisp.org>
62938
62939         * lib/rename.c: #undef rename before defining rpl_rename.
62940         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
62941
62942 2003-01-30  Bruno Haible  <bruno@clisp.org>
62943
62944         * modules/vasnprintf, modules/vasprintf: New modules.
62945         * MODULES.html.sh (func_all_modules): Add them.
62946
62947 2003-01-30  Bruno Haible  <bruno@clisp.org>
62948
62949         * m4/signed.m4: New file, from GNU gettext.
62950         * m4/longdouble.m4: New file, from GNU gettext.
62951         * m4/wchar_t.m4: New file, from GNU gettext.
62952         * m4/wint_t.m4: New file, from GNU gettext.
62953         * m4/vasnprintf.m4: New file.
62954         * m4/vasprintf.m4: New file.
62955
62956 2003-01-30  Bruno Haible  <bruno@clisp.org>
62957
62958         * lib/printf-args.h: New file, from GNU gettext.
62959         * lib/printf-args.c: New file, from GNU gettext.
62960         * lib/printf-parse.h: New file, from GNU gettext.
62961         * lib/printf-parse.c: New file, from GNU gettext.
62962         * lib/vasnprintf.h: New file, from GNU gettext.
62963         * lib/vasnprintf.c: New file, from GNU gettext.
62964         * lib/asnprintf.c: New file, from GNU gettext.
62965         * lib/vasprintf.h: New file, from GNU gettext with modifications.
62966         * lib/vasprintf.c: New file, from GNU gettext.
62967         * lib/asprintf.c: New file, from GNU gettext.
62968
62969 2003-01-29  Bruno Haible  <bruno@clisp.org>
62970
62971         * modules/stpncpy: New module.
62972         * MODULES.html.sh (func_all_modules): Add it.
62973
62974 2003-01-29  Bruno Haible  <bruno@clisp.org>
62975
62976         * m4/stpncpy.m4: New file.
62977
62978 2003-01-29  Bruno Haible  <bruno@clisp.org>
62979
62980         * lib/stpncpy.h: New file, from GNU gettext with modifications.
62981         * lib/stpncpy.c: New file, from GNU gettext with modifications.
62982
62983 2003-01-28  Bruno Haible  <bruno@clisp.org>
62984
62985         * modules/c-ctype: New module.
62986         * MODULES.html.sh (func_all_modules): Add it.
62987
62988 2003-01-28  Bruno Haible  <bruno@clisp.org>
62989
62990         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
62991         Paul Eggert.
62992         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
62993         Paul Eggert.
62994
62995 2003-01-27  Bruno Haible  <bruno@clisp.org>
62996
62997         * modules/xsetenv: New module.
62998         * MODULES.html.sh (func_all_modules): Add it.
62999
63000 2003-01-27  Bruno Haible  <bruno@clisp.org>
63001
63002         * lib/xsetenv.h: New file, from GNU gettext.
63003         * lib/xsetenv.c: New file, from GNU gettext.
63004
63005 2003-01-23  Jim Meyering  <jim@meyering.net>
63006
63007         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
63008         from working on systems without dirfd (at least Irix and OSF1/Tru64).
63009
63010 2003-01-23  Bruno Haible  <bruno@clisp.org>
63011
63012         * modules/minmax: New module.
63013         * MODULES.html.sh (func_all_modules): Add it.
63014
63015 2003-01-23  Bruno Haible  <bruno@clisp.org>
63016
63017         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
63018         Eggert.
63019
63020 2003-01-22  Bruno Haible  <bruno@clisp.org>
63021
63022         * modules/exit: New module.
63023         * MODULES.html.sh (func_all_modules): Add it.
63024
63025 2003-01-22  Bruno Haible  <bruno@clisp.org>
63026
63027         * lib/exit.h: New file, from GNU gettext.
63028
63029 2003-01-19  Bruno Haible  <bruno@clisp.org>
63030
63031         * gnulib-tool: Recognize option --extract-maintainer.
63032         (func_get_maintainer): New function.
63033         * modules/*: Add Maintainer entry.
63034
63035 2003-01-16  Jim Meyering  <jim@meyering.net>
63036
63037         * m4/regex.m4: The `regex' struct is both input and output.
63038         Initialize it before each use.  Patch by Tim Waugh.
63039
63040 2003-01-16  Bruno Haible  <bruno@clisp.org>
63041
63042         * MODULES.html.sh: Add a table of contents. Add the module name as
63043         leftmost column. Add hyperlinks.
63044
63045 2003-01-15  Bruno Haible  <bruno@clisp.org>
63046
63047         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
63048
63049 2003-01-15  Bruno Haible  <bruno@clisp.org>
63050
63051         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
63052         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
63053         suffix.
63054
63055 2003-01-15  Bruno Haible  <bruno@clisp.org>
63056
63057         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
63058
63059 2003-01-15  Bruno Haible  <bruno@clisp.org>
63060
63061         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
63062         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
63063
63064 2003-01-14  Jim Meyering  <jim@meyering.net>
63065
63066         * lib/same.c (same_name): Tweak a comment.
63067
63068 2003-01-14  Bruno Haible  <bruno@clisp.org>
63069
63070         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
63071         when a string comparison is sufficient.
63072
63073 2003-01-14  Bruno Haible  <bruno@clisp.org>
63074
63075         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
63076         'unsigned int'.
63077
63078 2003-01-14  Bruno Haible  <bruno@clisp.org>
63079
63080         * lib/hash-pjw.c: Add comment about low quality of this function.
63081
63082 2003-01-13  Bruno Haible  <bruno@clisp.org>
63083
63084         * modules/stpcpy: Distribute lib/stpcpy.h.
63085         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
63086
63087 2003-01-13  Bruno Haible  <bruno@clisp.org>
63088
63089         * modules/*: Add a description.
63090         * modules/strpbrk: Fix Makefile.am snippet.
63091         * modules/strtoimax: Fix dependencies.
63092         * modules/strtoumax: Likewise.
63093
63094 2003-01-13  Bruno Haible  <bruno@clisp.org>
63095
63096         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
63097         * modules/alloca (Makefile.am): All object files depend on alloca.h.
63098         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
63099
63100 2003-01-13  Bruno Haible  <bruno@clisp.org>
63101
63102         * gnulib-tool (func_create_testdir): Store config/* files in the main
63103         directory.
63104         * config.rpath: Move to ...
63105         * config/config.rpath: ... here.
63106         * modules/gettext: Contains config/config.rpath, not config.rpath.
63107         * modules/iconv: Likewise.
63108
63109 2003-01-12  Paul Eggert  <eggert@twinsun.com>
63110
63111         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
63112         to avoid collisions with libcurses and libreadline.
63113
63114         * m4/getstr.m4: Remove.
63115         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
63116
63117 2003-01-12  Paul Eggert  <eggert@twinsun.com>
63118
63119         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
63120         to avoid collisions with libcurses and libreadline.
63121
63122         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
63123         * lib/getstr.h, getstr.c: Remove.
63124         * lib/getline.c: Include "getline.h", to check interface.
63125         Move body of old getstr.c here: this defines MIN_CHUNK and
63126         declares getdelim2, which is renamed from getstr.
63127         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
63128
63129         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
63130         All uses changed.
63131         * lib/linebuffer.h: Likewise.
63132         (readline): Remove backward-compatibility macro.
63133
63134 2003-01-12  Paul Eggert  <eggert@twinsun.com>
63135
63136         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
63137         to avoid collisions with libcurses and libreadline.
63138         * getstr: Remove.
63139         * MODULES.html.sh: Remove getstr.
63140         * modules/getline: Depend on unlocked-io, not getstr.
63141
63142 2003-01-12  Jim Meyering  <jim@meyering.net>
63143
63144         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
63145
63146 2003-01-10  Bruno Haible  <bruno@clisp.org>
63147
63148         * modules/alloca: Change Makefile.am requirements. Simplify Include
63149         requirements. Add lib/alloca_.h to file list.
63150
63151 2003-01-10  Bruno Haible  <bruno@clisp.org>
63152
63153         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
63154
63155 2003-01-10  Bruno Haible  <bruno@clisp.org>
63156
63157         * lib/alloca_.h: New file.
63158         * lib/getdate.y: Unconditionally include alloca.h.
63159         * lib/makepath.c: Likewise.
63160         * lib/setenv.c: Likewise.
63161         * lib/userspec.c: Likewise.
63162
63163 2003-01-09  Karl Berry  <karl@gnu.org>
63164
63165         * MODULES.html.sh: include `dirname $0` in PATH, to find
63166         gnulib-tool.
63167
63168 2003-01-09  Bruno Haible  <bruno@clisp.org>
63169
63170         * modules/stdbool: Change configure.ac, Makefile.am requirements.
63171         Simplify Include requirements. Add lib/stdbool.h.in to file list.
63172
63173 2003-01-09  Bruno Haible  <bruno@clisp.org>
63174
63175         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
63176
63177 2003-01-09  Bruno Haible  <bruno@clisp.org>
63178
63179         * lib/stdbool.h.in: New file.
63180
63181 2003-01-09  Bruno Haible  <bruno@clisp.org>
63182
63183         * gnulib-tool (func_all_modules): Ignore files ending in ~.
63184         * MODULES.html.sh: Likewise.
63185
63186 2003-01-08  Jim Meyering  <jim@meyering.net>
63187
63188         * lib/full-write.c: Undefine and define-away `const' after inclusion
63189         of errno.h, not before.  Suggestion from Bruno Haible.
63190
63191 2003-01-08  Bruno Haible  <bruno@clisp.org>
63192
63193         * modules/full-read: Depend on full-write.
63194
63195 2003-01-08  Bruno Haible  <bruno@clisp.org>
63196
63197         * lib/safe-read.c: Include specification header first, to ensure its
63198         selfcontainedness.
63199         * lib/full-write.c: Likewise.
63200
63201 2003-01-07  Jim Meyering  <jim@meyering.net>
63202
63203         * lib/full-write.c: Rework so that it may serve to define full_read,
63204         too.
63205         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
63206
63207 2003-01-07  Bruno Haible  <bruno@clisp.org>
63208
63209         * lib/strtoimax.c: Include <stdint.h> as an alternative to
63210         <inttypes.h>.
63211         * lib/xstrtol.h: Likewise.
63212         * lib/xstrtoimax.c: Likewise.
63213         * lib/xstrtoumax.c: Likewise.
63214         * lib/human.h: Likewise.
63215
63216         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
63217         on systems that have <inttypes.h> but not <stdint.h>.
63218
63219 2003-01-07  Bruno Haible  <bruno@clisp.org>
63220
63221         * MODULES.html.sh: Add copyright notice.
63222         (missed_files): Omit CVS directory entries.
63223         (func_module): Make it work with sed-3.02.
63224         * MODULES.txt: Remove file.
63225
63226 2003-01-06  Jim Meyering  <jim@meyering.net>
63227
63228         * lib/version-etc.c: Update year in translatable copyright string.
63229
63230 2003-01-03  Karl Berry  <karl@gnu.org>
63231
63232         * config/config.{guess,sub}: update from prep.
63233
63234 2003-01-02  Karl Berry  <karl@gnu.org>
63235
63236         * doc/COPYING.DOC: belatedly updated to 1.2.
63237
63238 2003-01-01  Karl Berry  <karl@gnu.org>
63239
63240         * gnulib-tool (func_verify_module): report module name $module in
63241         error message, not $1.
63242         * gnulib-tool (create-testdir): don't complain if destdir couldn't
63243         be created, only if it doesn't exist.
63244         * gnulib-tool (last_checkin_date): don't expand the $Date here.
63245
63246 2002-12-31  Paul Eggert  <eggert@twinsun.com>
63247
63248         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
63249
63250 2002-12-31  Paul Eggert  <eggert@twinsun.com>
63251
63252         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
63253         memcmp if strcoll doesn't work.
63254
63255 2002-12-31  Bruno Haible  <bruno@clisp.org>
63256
63257         * lib/utime.c (utime_null): No need to call ftruncate if the file was
63258         nonempty.
63259
63260 2002-12-31  Bruno Haible  <bruno@clisp.org>
63261
63262         * lib/memcoll.c (STRCOLL): New macro.
63263         (memcoll): Use it.
63264
63265 2002-12-31  Bruno Haible  <bruno@clisp.org>
63266
63267         * lib/localcharset.h: New file.
63268         * lib/localcharset.c: Include it.
63269         * lib/unicodeio.c: Likewise.
63270
63271 2002-12-31  Bruno Haible  <bruno@clisp.org>
63272
63273         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
63274         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
63275
63276 2002-12-31  Bruno Haible  <bruno@clisp.org>
63277
63278         * lib/getline.h: Include <stddef.h>, for size_t.
63279
63280         * lib/unicodeio.h: Include <stddef.h>, for size_t.
63281         * lib/unicodeio.c: Don't include <stddef.h>.
63282
63283 2002-12-31  Bruno Haible  <bruno@clisp.org>
63284
63285         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
63286         HAVE_TM_ZONE.
63287
63288 2002-12-24  Karl Berry  <karl@gnu.org>
63289
63290         * config/config.guess: update from prep.
63291
63292 2002-12-24  Bruno Haible  <bruno@clisp.org>
63293
63294         General infrasructure.
63295         * m4/README: Rewritten.
63296         * m4/onceonly.m4: New file.
63297         * m4/onceonly_2_57.m4: New file.
63298
63299         Module atexit.
63300         * m4/atexit.m4: New file.
63301
63302         Module strtod.
63303         * m4/strtod.m4: New file.
63304
63305         Module strtol.
63306         * m4/strtol.m4: New file.
63307
63308         Module strtoul.
63309         * m4/strtoul.m4: New file.
63310
63311         Module memchr.
63312         * m4/memchr.m4: New file.
63313
63314         Module memcmp.
63315         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
63316         (jm_FUNC_MEMCMP): Invoke it.
63317
63318         Module memcpy.
63319         * m4/memcpy.m4: New file.
63320
63321         Module memmove.
63322         * m4/memmove.m4: New file.
63323
63324         Module memset.
63325         * m4/memset.m4: New file.
63326
63327         Module strcspn.
63328         * m4/strcspn.m4: New file.
63329
63330         Module strpbrk.
63331         * m4/strpbrk.m4: New file.
63332
63333         Module strstr.
63334         * m4/strstr.m4: New file.
63335
63336         Module strerror.
63337         * m4/strerror.m4: New file.
63338
63339         Module mktime.
63340         * m4/mktime.m4: Renamed from jm-mktime.m4.
63341         (gl_PREREQ_MKTIME): New macro.
63342         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
63343
63344         Module malloc.
63345         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
63346         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
63347         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
63348
63349         Module realloc.
63350         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
63351         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
63352         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
63353
63354         Module strftime.
63355         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
63356         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
63357         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
63358         gl_TM_GMTOFF.
63359         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
63360
63361         Module xalloc.
63362         * m4/xalloc.m4: New file.
63363
63364         Module alloca.
63365         * m4/alloca.m4: New file.
63366
63367         Module putenv.
63368         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
63369         (jm_FUNC_PUTENV): Invoke it.
63370
63371         Module setenv.
63372         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
63373         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
63374         when invoked twice.
63375         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
63376         gt_FUNC_SETENV.
63377
63378         Module memrchr.
63379         * m4/memrchr.m4: New file.
63380
63381         Module stpcpy.
63382         * m4/stpcpy.m4: New file.
63383
63384         Module strcase.
63385         * m4/strcase.m4: New file.
63386
63387         Module strdup.
63388         * m4/strdup.m4: New file.
63389
63390         Module strnlen.
63391         * m4/strnlen.m4: New file.
63392
63393         Module strndup.
63394         * m4/strndup.m4: New file.
63395
63396         Module xstrtod.
63397         * m4/xstrtod.m4: New file.
63398
63399         Module xstrtol.
63400         * m4/xstrtol.m4: New file.
63401
63402         Module getdate.
63403         * m4/getdate.m4: New file.
63404
63405         Module unlocked-io.
63406         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
63407         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
63408         * m4/jm-glibc-io.m4n: Remove file.
63409
63410         Module long-options.
63411         * m4/long-options.m4: New file.
63412
63413         Module md5.
63414         * m4/md5.m4: New file.
63415
63416         Module sha.
63417         * m4/sha.m4: New file.
63418
63419         Module getstr.
63420         * m4/getstr.m4: New file.
63421
63422         Module getline.
63423         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
63424         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
63425         <sys/types.h>, for size_t. Use the function name gnu_getline, not
63426         simply getline. Infoke gl_PREREQ_GETLINE.
63427
63428         Module obstack.
63429         * m4/obstack.m4: New file.
63430
63431         Module hash.
63432         * m4/hash.m4: New file.
63433
63434         Module readtokens.
63435         * m4/readtokens.m4: New file.
63436
63437         Module strverscmp.
63438         * m4/strverscmp.m4: New file.
63439
63440         Module stdbool.
63441         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
63442         OSF/1.
63443
63444         Module strtoll.
63445         * m4/strtoll.m4: New file.
63446
63447         Module strtoull.
63448         * m4/strtoull.m4: New file.
63449
63450         Module strtoimax.
63451         * m4/strtoimax.m4: New file.
63452
63453         Module strtoumax.
63454         * m4/strtoumax.m4: New file.
63455
63456         Module xstrtoimax.
63457         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
63458         jm_AC_PREREQ_XSTRTOIMAX.
63459         Moved the strtol prerequisites to strtol.m4.
63460         Moved the strtoll prerequisites to strtoll.m4.
63461         Moved the strtoimax prerequisites to strtoimax.m4.
63462
63463         Module xstrtoumax.
63464         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
63465         jm_AC_PREREQ_XSTRTOUMAX.
63466         Moved the strtoul prerequisites to strtoul.m4.
63467         Moved the strtoull prerequisites to strtoull.m4.
63468         Moved the strtoumax prerequisites to strtoumax.m4.
63469
63470         Module chown.
63471         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
63472         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
63473
63474         Module dup2.
63475         * m4/dup2.m4: New file.
63476
63477         Module ftruncate.
63478         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
63479         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
63480
63481         Module getgroups.
63482         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
63483         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
63484
63485         Module gettimeofday.
63486         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
63487         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
63488         gl_PREREQ_GETTIMEOFDAY.
63489
63490         Module mkdir.
63491         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
63492         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
63493
63494         Module mkstemp.
63495         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
63496         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
63497         jm_AC_TYPE_UINTMAX_T.
63498         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
63499
63500         Module stat.
63501         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
63502         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
63503
63504         Module lstat.
63505         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
63506         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
63507
63508         Module timespec.
63509         * m4/timespec.m4 (gl_TIMESPEC): New macro.
63510         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
63511         * m4/st_mtim.m4: Indentation.
63512
63513         Module nanosleep.
63514         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
63515         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
63516         gl_PREREQ_NANOSLEEP.
63517
63518         Module regex.
63519         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
63520         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
63521         (gl_REGEX): New macro.
63522
63523         Module rename.
63524         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
63525         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
63526
63527         Module rmdir.
63528         * m4/rmdir.m4: New file.
63529
63530         Module utime.
63531         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
63532         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
63533         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
63534
63535         Module dirname.
63536         * m4/dirname.m4: New file.
63537
63538         Module getopt.
63539         * m4/getopt.m4: New file.
63540
63541         Module unistd-safer.
63542         * m4/unistd-safer.m4: New file.
63543
63544         Module fnmatch.
63545         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
63546         declaration.
63547         (gl_PREREQ_FNMATCH_EXTRA): New macro.
63548         (gl_FUNC_FNMATCH_POSIX): New macro.
63549         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
63550         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
63551         simply fnmatch.
63552
63553         Module exclude.
63554         * m4/exclude.m4: New file.
63555
63556         Module human.
63557         * m4/human.m4: New file.
63558
63559         Module acl.
63560         * m4/acl.m4: Nop.
63561
63562         Module backupfile.
63563         * m4/backupfile.m4: New file.
63564         * m4/d-ino.m4: Indentation.
63565
63566         Module fsusage.
63567         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
63568         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
63569         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
63570
63571         Module dirfd.
63572         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
63573         requirements.
63574
63575         Module euidaccess.
63576         * m4/euidaccess.m4: New file.
63577
63578         Module file-type.
63579         * m4/file-type.m4: New file.
63580
63581         Module fileblocks.
63582         * m4/fileblocks.m4: New file.
63583
63584         Module filemode.
63585         * m4/filemode.m4: New file.
63586
63587         Module isdir.
63588         * m4/isdir.m4: New file.
63589
63590         Module lchown.
63591         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
63592         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
63593
63594         Module makepath.
63595         * m4/makepath.m4: New file.
63596
63597         Module modechange.
63598         * m4/modechange.m4: New file.
63599
63600         Module mountlist.
63601         * m4/mountlist.m4: New file.
63602         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
63603         Indentation.
63604
63605         Module path-concat.
63606         * m4/path-concat.m4: New file.
63607
63608         Module pathmax.
63609         * m4/pathmax.m4: New file.
63610
63611         Module same.
63612         * m4/same.m4: New file.
63613
63614         Module save-cwd.
63615         * m4/save-cwd.m4: New file.
63616
63617         Module savedir.
63618         * m4/savedir.m4: New file.
63619
63620         Module xgetcwd.
63621         * m4/xgetcwd.m4: New file.
63622         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
63623
63624         Module xreadlink.
63625         * m4/xreadlink.m4: New file.
63626
63627         Module safe-read.
63628         * m4/safe-read.m4: New file.
63629
63630         Module safe-write.
63631         * m4/safe-write.m4: New file.
63632
63633         Module closeout.
63634         * m4/closeout.m4: New file.
63635
63636         Module stdio-safer.
63637         * m4/stdio-safer.m4: New file.
63638
63639         Module getpass.
63640         * m4/getpass.m4: New file.
63641
63642         Module getugroups.
63643         * m4/getugroups.m4: New file.
63644
63645         Module group-member.
63646         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
63647         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
63648
63649         Module idcache.
63650         * m4/idcache.m4: New file.
63651
63652         Module userspec.
63653         * m4/userspec.m4: New file.
63654
63655         Module gettime.
63656         * m4/clock_time.m4: New file.
63657         * m4/gettime.m4: New file.
63658
63659         Module settime.
63660         * m4/settime.m4: New file.
63661
63662         Module posixtm.
63663         * m4/posixtm.m4: New file.
63664
63665         Module gethostname.
63666         * m4/gethostname.m4: New file.
63667
63668         Module canon-host.
63669         * m4/canon-host.m4: New file.
63670
63671         Module gettext.
63672         * m4/codeset.m4: New file, from gettext-0.11.5.
63673         * m4/gettext.m4: New file, from gettext-0.11.5.
63674         * m4/glibc21.m4: New file, from gettext-0.11.5.
63675         * m4/iconv.m4: New file, from gettext-0.11.5.
63676         * m4/intdiv0.m4: New file, from gettext-0.11.5.
63677         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
63678         * m4/inttypes.m4: New file, from gettext-0.11.5.
63679         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
63680         * m4/isc-posix.m4: New file, from gettext-0.11.5.
63681         * m4/lcmessage.m4: New file, from gettext-0.11.5.
63682         * m4/lib-ld.m4: New file, from gettext-0.11.5.
63683         * m4/lib-link.m4: New file, from gettext-0.11.5.
63684         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
63685         * m4/progtest.m4: New file, from gettext-0.11.5.
63686         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
63687         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
63688         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
63689
63690         Module localcharset.
63691         * m4/localcharset.m4: New file.
63692
63693         Module hard-locale.
63694         * m4/hard-locale.m4: New file.
63695
63696         Module mbswidth.
63697         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
63698         onceonly macros.
63699         * m4/mbrtowc.m4: Add comment.
63700
63701         Module memcasecmp.
63702         * m4/memcasecmp.m4: New file.
63703
63704         Module memcoll.
63705         * m4/memcoll.m4: New file.
63706
63707         Module unicodeio.
63708         * m4/unicodeio.m4: New file.
63709
63710         Module rpmatch.
63711         * m4/rpmatch.m4: New file.
63712
63713         Module yesno.
63714         * m4/yesno.m4: New file.
63715
63716         Module exitfail.
63717         * m4/exitfail.m4: New file.
63718
63719         Module c-stack.
63720         * m4/c-stack.m4 (gl_C_STACK): New macro.
63721         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
63722
63723         Module error.
63724         * m4/error.m4 (gl_ERROR): New macro.
63725         (jm_PREREQ_ERROR): Use onceonly macros.
63726
63727         Module fatal.
63728         * m4/fatal.m4: New file.
63729
63730         Module getloadavg.
63731         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
63732         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
63733
63734         Module getpagesize.
63735         * m4/getpagesize.m4: New file.
63736
63737         Module getusershell.
63738         * m4/getusershell.m4: New file.
63739
63740         Module physmem.
63741         * m4/physmem.m4: New file.
63742
63743         Module posixver.
63744         * m4/posixver.m4: New file.
63745
63746         Module quotearg.
63747         * m4/quotearg.m4: New file.
63748
63749         Module quote.
63750         * m4/quote.m4: New file.
63751
63752         Module readutmp.
63753         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
63754
63755         Module sig2str.
63756         * m4/sig2str.m4: New file.
63757
63758         Other.
63759         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
63760         ulonglong.m4.
63761         * m4/intmax_t.m4: New file.
63762         * m4/d-type.m4: Indentation.
63763         * m4/jm-macros.m4: Update.
63764         * m4/prereq.m4 (jm_PREREQ): Update.
63765         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
63766         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
63767         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
63768         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
63769         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
63770         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
63771         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
63772         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
63773         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
63774         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
63775         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
63776         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
63777         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
63778         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
63779         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
63780         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
63781         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
63782         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
63783         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
63784
63785 2002-12-24  Bruno Haible  <bruno@clisp.org>
63786
63787         * MODULES.txt: Update according to m4/ changes.
63788
63789         Module gettext.
63790         * config.rpath: New file, from gettext-0.11.5.
63791
63792         * modules/*: New module descriptions.
63793         * gnulib-tool: New file.
63794         * MODULES.html.sh: New file.
63795
63796 2002-12-21  Karl Berry  <karl@gnu.org>
63797
63798         * doc/fdl.texi: update to version 1.2.
63799
63800 2002-12-19  Karl Berry  <karl@gnu.org>
63801
63802         * config/config.guess: update from prep.
63803
63804 2002-12-18  Bruno Haible  <bruno@clisp.org>
63805
63806         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
63807         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
63808
63809 2002-12-17  Bruno Haible  <bruno@clisp.org>
63810
63811         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
63812         stdlib.h, string.h.
63813
63814 2002-12-17  Bruno Haible  <bruno@clisp.org>
63815
63816         * lib/canon-host.c (strdup): Remove unused declaration.
63817
63818         * lib/fsusage.c: Include full_read.h.
63819         (get_fs_usage): Use full_read instead of safe_read.
63820
63821         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
63822
63823 2002-12-12  Karl Berry  <karl@gnu.org>
63824
63825         * config/config.guess: update from prep.
63826
63827 2002-12-11  Bruno Haible  <bruno@clisp.org>
63828
63829         * m4/setenv.m4: New file, from gettext-0.11.5.
63830
63831 2002-12-11  Bruno Haible  <bruno@clisp.org>
63832
63833         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
63834         not unsetenv().
63835         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
63836         modifications:
63837
63838         2002-12-11  Bruno Haible  <bruno@clisp.org>
63839
63840                 * setenv.c (alloca): Fall back to malloc.
63841                 (freea): New macro.
63842                 (setenv): Use freea() to free memory allocated with alloca().
63843
63844         2002-11-13  Bruno Haible  <bruno@clisp.org>
63845
63846                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
63847                 function declarations.
63848                 * unsetenv.c (unsetenv): Likewise.
63849
63850         2002-03-04  Bruno Haible  <bruno@clisp.org>
63851
63852                 Portability to AIX 4.3.3.
63853                 * unsetenv.c: New file, extracted from setenv.c.
63854                 * setenv.c: Move the unsetenv() function to unsetenv.c.
63855
63856         2001-12-20  Bruno Haible  <bruno@clisp.org>
63857
63858                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
63859                 use malloc instead. For SunOS 4.
63860
63861         2001-12-11  Bruno Haible  <bruno@clisp.org>
63862
63863                 * setenv.c: Declare alloca.
63864                 (compar_fn_t): New typedef.
63865                 (KNOWN_VALUE, STORE_VALUE): Use it.
63866
63867         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
63868         setenv.h.
63869
63870 2002-12-10  Paul Eggert  <eggert@twinsun.com>
63871
63872         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
63873         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
63874         Choose values that are less likely to collide with system fnmatch
63875         options.
63876         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
63877         defined (e.g., a pure POSIX system).
63878         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
63879         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
63880
63881 2002-12-06  Paul Eggert  <eggert@twinsun.com>
63882
63883         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
63884         a pain in practice to deal with generated m4 files.  This change
63885         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
63886
63887         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
63888         and jm-glibc-io.m4, as they are no longer a special case.
63889         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
63890         kludge and the auto-generation stuff.  Check only whether the
63891         functions are declared, not whether they exist, since older hosts
63892         that don't declare the functions can't use the optimization anyway.
63893
63894 2002-12-06  Jim Meyering  <jim@meyering.net>
63895
63896         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
63897
63898         Merge in changes from libc's misc/error.c, in preparation
63899         for the merge of gnulib's changes back into libc.
63900
63901         * lib/error.c (_): Define only if not already defined.
63902         Move definition to follow all #include directives.
63903         Include unlocked-io.h only if !_LIBC.
63904         [_LIBC]: Include <libio/libioP.h>.
63905         [USE_IN_LIBIO]: Include <libio/iolibio.h>
63906         (fflush): Tweak definition to use INTUSE.
63907         (putc): Define.
63908
63909 2002-12-05  Paul Eggert  <eggert@twinsun.com>
63910
63911         * lib/alloca.c [defined emacs]: Include "lisp.h".
63912         (xalloc_die) [defined emacs]: New macro.
63913         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
63914         [! defined emacs]: Include <xalloc.h>.
63915         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
63916         (pointer): Typedef to POINTER_TYPE *.
63917         (malloc): Remove decl; we now always use xmalloc.
63918         (alloca): Use old-style definition, since Emacs needs this.
63919         Check for arithmetic overflow when computing combined size.
63920
63921 2002-12-04  Paul Eggert  <eggert@twinsun.com>
63922
63923         Do not generate unlocked-io.h automatically, since it's easier to
63924         maintain it by hand.
63925
63926         * lib/unlocked-io.h: New file, from GNU diffutils,
63927         but with proper copyright notice and attribution.
63928         * lib/gen-uio: Remove.
63929         * lib/Makefile.am: Add copyright notice.
63930         (libfetish_a_SOURCES): Add unlocked-io.h.
63931         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
63932         (DISTCLEANFILES, io_functions): Remove macros.
63933         (EXTRA_DIST): Remove gen_uio.
63934         (unlocked-io.h): Remove rule.
63935
63936 2002-12-04  Jim Meyering  <jim@meyering.net>
63937
63938         Reflect the fact that stat.c and lstat.c are no longer generated.
63939         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
63940         (DISTCLEANFILES): Likewise.
63941         (EXTRA_DIST): Likewise.
63942         (all_local): Don't depend on stat.c or lstat.c.
63943         (stat.c, lstat.c): Remove rules.
63944         (EXTRA_DIST): Remove xstat.in.
63945
63946         * lib/xstat.in: Remove file.  Contents moved into stat.c.
63947         * lib/stat.c: New file.  Contents mostly from xstat.in.
63948         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
63949         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
63950
63951         * lib/safe-read.c: Rework so that it may serve to define safe_write,
63952         too.
63953         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
63954
63955 2002-12-03  Jim Meyering  <jim@meyering.net>
63956
63957         * lib/safe-read.c, safe-write.c: Change variable names and comments,
63958         but not semantics, to minimize the differences between these two files.
63959         (safe_read): Change comment to mention SAFE_READ_ERROR.
63960
63961         * lib/safe-read.c (IS_EINTR): Define.
63962         (safe_read): Use IS_EINTR in place of in-function cpp directives.
63963
63964 2002-12-02  Jim Meyering  <jim@meyering.net>
63965
63966         * lib/safe-read.c (EINTR): Define.
63967         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
63968         (INT_MAX): Provide fallback.
63969         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
63970
63971         * lib/safe-read.h (SAFE_READ_ERROR): Define.
63972
63973 2002-12-02  Bruno Haible  <bruno@clisp.org>
63974
63975         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
63976         Define, taken from safe-read.c.
63977         (INT_MAX): Provide fallback.
63978         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
63979         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
63980
63981         * lib/safe-read.c (EINTR): Remove definition.
63982         (safe_read): Don't use EINTR if it is absent.
63983
63984 2002-12-01  Jim Meyering  <jim@meyering.net>
63985
63986         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
63987         zero.
63988         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
63989
63990 2002-11-27  Paul Eggert  <eggert@twinsun.com>
63991
63992         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
63993         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
63994         with `if (! (value < limit)) abort ();', for readability.
63995
63996 2002-11-26  Karl Berry  <karl@gnu.org>
63997
63998         * lib/strdup.c: copy from libc again, with jim's ok.
63999         * lib/.cppi-disable: re-add strdup.c
64000
64001 2002-11-25  Karl Berry  <karl@gnu.org>
64002
64003         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
64004         instead of "strtol.c".
64005
64006 2002-11-25  Karl Berry  <karl@gnu.org>
64007
64008         * config/install-sh: update from automake for variable quoting, $0 in
64009         error msgs, etc.
64010
64011         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
64012         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
64013         entry.
64014
64015 2002-11-25  Jim Meyering  <jim@meyering.net>
64016
64017         * lib/mktime.c: Sync from libc, now that it has the latest fix.
64018
64019 2002-11-24  Karl Berry  <karl@gnu.org>
64020
64021         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
64022         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
64023
64024 2002-11-24  Jim Meyering  <jim@meyering.net>
64025
64026         Update from coreutils:
64027
64028         * lib/mktime.c: Merge in changes from libc.
64029
64030         Avoid a link-time failure on some Linux systems.
64031         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
64032         (otherwise).
64033         (__mon_yday): Declare with the STATIC attribute.
64034         (__mktime_internal): Likewise.
64035         Based on a report from Greg Schafer.
64036
64037 2002-11-23  Jim Meyering  <jim@meyering.net>
64038
64039         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
64040         Use `unsigned', not `int', as type of index.
64041
64042         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
64043
64044         * lib/fsusage.c: Remove unneeded parentheses around operands of
64045         `defined'.
64046
64047 2002-11-22  Paul Eggert  <eggert@twinsun.com>
64048
64049         * lib/quotearg.h: Allow multiple inclusion by surrounding with
64050         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
64051         so that we can be included first.
64052         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
64053         * lib/quotearg.c: Include quotearg.h immediately after config.h.
64054         No need to include stddef.h or sys/types.h any more.
64055         Surround local include files with "", not "<>".
64056         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
64057         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
64058         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
64059         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
64060         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
64061         (ISPRINT): Remove; no longer needed now that we assume C89.
64062
64063         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
64064         Preserve errno.
64065
64066         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
64067         quotearg_char): Use SIZE_MAX rather than
64068         (size_t) -1 when we are talking about "infinity".
64069
64070         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
64071
64072 2002-11-22  Paul Eggert  <eggert@twinsun.com>
64073
64074         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
64075         hint that one should use `if (! x) abort ();' rather than `assert
64076         (x);', and anyway it's one less thing to worry about configuring.
64077         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
64078         hash_rehash, hash_insert): Use abort rather than assert.
64079
64080 2002-11-22  Bruno Haible  <bruno@clisp.org>
64081
64082         * lib/safe-read.h: Assume C89. Add comments.
64083         (safe_read): Change return type to size_t.
64084         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
64085         byte counts > SSIZE_MAX correctly.
64086         * lib/safe-write.h: New file.
64087         * lib/safe-write.c: New file.
64088         * lib/full-read.h: New file.
64089         * lib/full-read.c: New file.
64090         * lib/full-write.h: Assume C89. Add comments.
64091         * lib/full-write.c: Include safe-write.h.
64092         (full_write): Rewritten to use safe_write.
64093         Suggested by Jim Meyering and Paul Eggert.
64094
64095 2002-11-21  Jim Meyering  <jim@meyering.net>
64096
64097         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
64098
64099         Merge in changes from the coreutils.
64100
64101         2002-09-25  Paul Eggert  <eggert@twinsun.com>
64102         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
64103         <stdint.h>.
64104         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
64105         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
64106         int.  Work more efficiently if X is the same width as uintmax_t.
64107         Do not compare X to -1, to avoid bogus compiler warning.
64108         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
64109         Don't assume that f_frsize and f_bsize are the same type.
64110
64111         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
64112         warning on FreeBSD.
64113
64114         * lib/makepath.c (make_path): Restore umask *before* creating the final
64115         component.
64116         (make_path): Minor reformatting.
64117
64118         * lib/xmalloc.c: Adjust to work with new autoconf macros,
64119         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
64120         HAVE_MALLOC/HAVE_REALLOC.
64121
64122         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
64123         dummy ones.  At least on GNU/Linux systems, `auto' means something
64124         else.
64125         From Michael Stone.
64126
64127 2002-11-21  Bruno Haible  <bruno@clisp.org>
64128
64129         Remove case insensitive option matching.
64130         * lib/argmatch.h (argcasematch): Remove declaration.
64131         (ARGCASEMATCH): Remove macro.
64132         (__xargmatch_internal): Remove case_sensitive argument.
64133         (XARGMATCH): Update.
64134         (XARGCASEMATCH): Remove macro.
64135         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
64136         case_sensitive argument.
64137         (argcasematch): Remove function.
64138         (__xargmatch_internal): Remove case_sensitive argument.
64139         (main): Use XARGMATCH instead of XARGCASEMATCH.
64140
64141         * lib/xmalloc.c: Change compile-time error message. Add comment about
64142         required autoconf version.
64143
64144 2002-11-20  Paul Eggert  <eggert@twinsun.com>
64145
64146         Merge argmatch cleanups from Bison.  Assume C89.
64147
64148         * lib/argmatch.c: Include config.h here, not in argmatch.h.
64149         Include stdlib.h, for EXIT_FAILURE.
64150         Always include <string.h>, since we assume C89.
64151         (EXIT_FAILURE): Remove pre-C89 bug workaround.
64152         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
64153         Include <stddef.h> instead, since it's all we need for size_t.
64154         (PARAMS): Remove.  All uses removed.
64155         (ARRAY_CARDINALITY): Do not bother to #undef.
64156         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
64157         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
64158         Remove unnecessary parentheses.
64159         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
64160         Insert necessary parentheses.
64161         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
64162         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
64163
64164 2002-11-19  Bruno Haible  <bruno@clisp.org>
64165
64166         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
64167         * lib/mbswidth.h: Include <stddef.h>, for size_t.
64168
64169         * lib/mbswidth.h (PARAMS): Remove macro.
64170         (mbswidth, mbsnwidth): Use ANSI C function declarations.
64171         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
64172
64173         * lib/gcd.h (PARAMS): Remove macro.
64174         (gcd): Use ANSI C function declarations.
64175         * lib/gcd.c (gcd): Likewise.
64176
64177 2002-11-15  Bruno Haible  <bruno@clisp.org>
64178
64179         * lib/strcspn.c: Include <stddef.h>.
64180         (strcspn): Use ANSI C function declaration. Change return type to
64181         size_t. Use NULL.
64182         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
64183         (strpbrk): Use NULL.
64184         * lib/strpbrk.h (PARAMS): Remove macro.
64185         (strpbrk): Use ANSI C function declaration.
64186         * lib/strstr.c: Don't include <sys/types.h>.
64187         * lib/strstr.h (PARAMS): Remove macro.
64188         (strstr): Use ANSI C function declarations.
64189
64190 2002-11-14  Karl Berry  <karl@gnu.org>
64191
64192         * config/mkinstalldirs: `do' on separate line, instead of
64193         `for var; do'.
64194
64195 2002-11-06  Bruno Haible  <bruno@clisp.org>
64196
64197         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
64198         * lib/gcd.c (gcd): Likewise.
64199
64200 2002-11-05  Bruno Haible  <bruno@clisp.org>
64201
64202         * lib/gcd.h: New file, from gettext-0.11.5.
64203         * lib/gcd.c: New file, from gettext-0.11.5.
64204
64205 2002-11-05  Bruno Haible  <bruno@clisp.org>
64206
64207         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
64208         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
64209         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
64210         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
64211
64212         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
64213         <libintl.h>.
64214         * lib/makepath.c: Include gettext.h instead of <locale.h> and
64215         <libintl.h>.
64216
64217         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
64218         * lib/human.c: Include gettext.h instead of <libintl.h>.
64219         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
64220         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
64221         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
64222         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
64223         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
64224         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
64225         (textdomain): Remove definition.
64226         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
64227
64228         * lib/long-options.c: Remove include of <libintl.h> and definition of
64229         _.
64230         * lib/same.c: Remove include of <libintl.h> and definition of _.
64231
64232 2002-11-04  Owen Taylor  <otaylor@redhat.com>
64233
64234         * lib/config.charset: A few additions for Solaris.
64235
64236 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
64237
64238         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
64239         * lib/localcharset.c (locale_charset): Declare as extern "C".
64240
64241 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
64242
64243         * lib/config.charset: msdos in uk_UA uses CP1125.
64244
64245 2002-11-04  Bruno Haible  <bruno@clisp.org>
64246
64247         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
64248         * lib/strcase.h: New file, from GNU gettext-0.11.5.
64249         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
64250         * lib/strstr.h: New file, from GNU gettext-0.11.5.
64251         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
64252
64253 2002-11-04  Bruno Haible  <bruno@clisp.org>
64254
64255         * lib/localcharset.c (locale_charset): Don't return an empty string.
64256
64257 2002-11-04  Bruno Haible  <bruno@clisp.org>
64258
64259         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
64260         aliases.
64261
64262 2002-11-04  Bruno Haible  <bruno@clisp.org>
64263
64264         * lib/config.charset: Update for newest glibc. Add canonical names
64265         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
64266
64267 2002-11-04  Bruno Haible  <bruno@clisp.org>
64268
64269         * lib/config.charset: Add support for NetBSD.
64270
64271 2002-11-04  Bruno Haible  <bruno@clisp.org>
64272
64273         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
64274
64275 2002-11-01  Bruno Haible  <bruno@clisp.org>
64276
64277         * configure.in: Add AC_CONFIG_AUX_DIR call.
64278         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
64279         test/Makefile.
64280         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
64281
64282 2002-09-28  Karl Berry  <karl@gnu.org>
64283
64284         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
64285         installed automake until the next release, since changes have been
64286         made.
64287
64288 2002-09-25  Karl Berry  <karl@gnu.org>
64289
64290         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
64291         * lib/getopt*: copy from libc/posix.
64292         * lib/gettext.h: copy from gettext.
64293         * lib/.cppi-disable: add strdup.c, gettext.h.
64294
64295 2002-09-25  Karl Berry  <karl@gnu.org>
64296
64297         * config/srclist.txt: enable gettext.h check.
64298         * config/config.{guess,sub}: update from prep.
64299         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
64300                 from automake 1.6.3.
64301         See srclist*.
64302
64303 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
64304
64305         * regex.c (PATFETCH): Remove the translating fetch.
64306         (PATFETCH_RAW): Rename to PATFETCH.
64307         (set_image_of_range): New fun.
64308         (SET_RANGE_TABLE_WORK_AREA): Use it.
64309         (regex_compile): Don't translate the pattern chars so eagerly.
64310         Only do it when inserting an `exactn' bytecode or when handling
64311         a char-range.
64312         (mutually_exclusive_p): Avoid empty statement.
64313
64314 2002-07-06  Jim Meyering  <meyering@lucent.com>
64315
64316         * m4/README: Don't mention Makefile.am.in.
64317         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
64318
64319 2002-07-01  Jim Meyering  <meyering@lucent.com>
64320
64321         * lib/c-stack.c: Include sys/time.h.
64322         From Volker Borchert.
64323
64324 2002-06-26  Paul Eggert  <eggert@twinsun.com>
64325
64326         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
64327
64328 2002-06-26  Paul Eggert  <eggert@twinsun.com>
64329
64330         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
64331         New macro.  Use it uniformly instead of
64332         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
64333         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
64334         reported by Vin Shelton.
64335
64336 2002-06-22  Paul Eggert  <eggert@twinsun.com>
64337
64338         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
64339         Do not assume SA_SIGINFO behavior.
64340         Bug reported by Jim Meyering on NetBSD 1.5.2.
64341
64342 2002-06-22  Jim Meyering  <meyering@lucent.com>
64343
64344         * m4/c-stack.m4: New file, from diffutils-2.8.2.
64345         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
64346
64347         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
64348         now that configure.ac uses AC_GNU_SOURCE.
64349         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
64350         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
64351
64352         Update to latest tools.  Suggestions from Paul Eggert.
64353         * m4/stdbool.m4: New file, from diffutils-2.8.2.
64354         * m4/gnu-source.m4: Update from diffutils-2.8.2.
64355         * m4/fnmatch.m4: Likewise.
64356         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
64357         to AC_HEADER_STDBOOL
64358
64359 2002-06-22  Jim Meyering  <meyering@lucent.com>
64360
64361         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
64362         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
64363
64364 2002-06-22  Jim Meyering  <meyering@lucent.com>
64365
64366         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
64367
64368         * lib/exitfail.c, exitfail.h: Likewise.
64369         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
64370
64371         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
64372         of fnmatch.h.
64373         (EXTRA_DIST): Add fnmatch_loop.c.
64374         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
64375
64376         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
64377         * lib/fnmatch.c: Update from diffutils-2.8.2.
64378         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
64379         * lib/fnmatch.h: Remove file.
64380
64381 2002-06-21  Jim Meyering  <meyering@lucent.com>
64382
64383         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
64384         * m4/mbrtowc.m4: Likewise.
64385
64386         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
64387         * m4/mbswidth.m4: Reflect name change:
64388         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
64389         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
64390
64391         * m4/lib-link.m4: Update from gettext-0.11.2.
64392         * m4/gettext.m4: Likewise.
64393
64394         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
64395         From Alfred M. Szmidt.
64396
64397 2002-06-18  Paul Eggert  <eggert@twinsun.com>
64398
64399         * lib/file-type.h: Report an error if neither S_ISREG nor
64400         S_IFREG is defined, instead of using a test specific to glibc
64401         2.2.  This should be safe, since POSIX requires S_ISREG and
64402         Unix Version 7 had S_IFREG.  We don't need to check for
64403         <sys/types.h> since we don't use any symbols that it defines.
64404
64405 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
64406
64407         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
64408         $@-t, so that each temporary file name is unique and valid in the first
64409         8 characters, for operation under DOS.
64410
64411 2002-06-15  Paul Eggert  <eggert@twinsun.com>
64412
64413         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
64414
64415 2002-06-15  Jim Meyering  <meyering@lucent.com>
64416
64417         Work even with DJGPP 2.03, which lacks support for symlinks.
64418         From Richard Dawe.
64419         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
64420         is defined.
64421         * lib/lchown.c (S_ISLNK): Likewise.
64422
64423 2002-06-15  Jim Meyering  <meyering@lucent.com>
64424
64425         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
64426         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
64427         have been included before this file.
64428
64429 2002-06-14  Jim Meyering  <meyering@lucent.com>
64430
64431         * lib/file-type.h: Use the version from diffutils-2.8.2.
64432         * lib/file-type.c: Likewise.
64433
64434 2002-06-07  Jim Meyering  <meyering@lucent.com>
64435
64436         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
64437         They're needed at least for NetBSD 1.5.2.
64438         ($statxfs_includes): Include those same headers.
64439         ($statxfs_includes): Include sys/vfs.h if available.
64440         ($statxfs_includes): Likewise for sys/statvfs.h.
64441         Check for the following members in both structs statfs and statvfs:
64442         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
64443
64444 2002-06-01  Jim Meyering  <meyering@lucent.com>
64445
64446         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
64447         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
64448
64449 2002-05-28  Jim Meyering  <meyering@lucent.com>
64450
64451         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
64452         Reported by Volker Borchert.
64453
64454 2002-05-27  Jim Meyering  <meyering@lucent.com>
64455
64456         Fix a problem seen only on nonconforming systems whereby ls.c's
64457         use of localtime, and then of gettimeofday would cause trouble:
64458         the localtime call used to initialize rpl_gettimeofday's save
64459         mechanism would clobber ls's current local time information so
64460         that in any long listing the first file would always be listed
64461         with date 1970-01-01.  Analysis by Volker Borchert.
64462
64463         * lib/gettimeofday.c (localtime): Undefine.
64464         (rpl_localtime): New function.
64465
64466 2002-05-27  Jim Meyering  <meyering@lucent.com>
64467
64468         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
64469         localtime.
64470
64471         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
64472         use the replacement function; it wouldn't resolve at link time.
64473         Reported by Volker Borchert.
64474
64475 2002-05-22  Jim Meyering  <meyering@lucent.com>
64476
64477         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
64478         file-type.h.
64479         * lib/file-type.h: New file.
64480         * lib/file-type.c (file_type): New file/function.  Extracted from
64481         diffutils.
64482
64483 2002-04-30  Jim Meyering  <meyering@lucent.com>
64484
64485         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
64486
64487 2002-04-29  Paul Eggert  <eggert@twinsun.com>
64488
64489         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
64490
64491 2002-04-29  Paul Eggert  <eggert@twinsun.com>
64492
64493         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
64494         Do not check for alloca.h (no longer used) or stdbool.h (was never
64495         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
64496
64497 2002-04-29  Paul Eggert  <eggert@twinsun.com>
64498
64499         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
64500
64501 2002-04-29  Jim Meyering  <meyering@lucent.com>
64502
64503         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
64504         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
64505         Use AC_FUNC_STRNLEN here instead.
64506
64507         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
64508         With autoconf-2.53a, it's part of AC_PROG_CC.
64509
64510 2002-04-28  Paul Eggert  <eggert@twinsun.com>
64511
64512         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
64513         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
64514
64515 2002-04-28  Paul Eggert  <eggert@twinsun.com>
64516
64517         * lib/sig2str.h, lib/sig2str.c: New files.
64518         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
64519
64520 2002-04-28  Paul Eggert  <eggert@twinsun.com>
64521
64522         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
64523         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
64524         of 127, since 64 is the largest conceivable number for ancient
64525         nonstandard hosts.
64526         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
64527
64528 2002-04-28  Jim Meyering  <meyering@lucent.com>
64529
64530         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
64531
64532 2002-04-24  Jim Meyering  <meyering@lucent.com>
64533
64534         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
64535         (jm_PREREQ): Use it.
64536
64537         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
64538         mach/mach.h fcntl.h.
64539         Check for this function: setlocale.
64540
64541 2002-04-24  Jim Meyering  <meyering@lucent.com>
64542
64543         * lib/gettext.h: New file, from Gettext.
64544         * lib/Makefile.am (INCLUDES): Remove -I../intl.
64545         (libfetish_a_SOURCES): Add gettext.h.
64546
64547 2002-04-16  Jim Meyering  <meyering@lucent.com>
64548
64549         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
64550         ut_pid, ut_id, ut_exit.
64551
64552 2002-04-16  Jim Meyering  <meyering@lucent.com>
64553
64554         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
64555         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
64556         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
64557
64558 2002-04-12  Jim Meyering  <meyering@lucent.com>
64559
64560         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
64561         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
64562         existence of the getmntinfo function.  Needed for Darwin 5.3.
64563
64564         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
64565         This is necessary at least on Darwin 5.3.
64566
64567         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
64568         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
64569         strnlen.o in the library, and that makes some versions of ranlib
64570         object.
64571
64572 2002-04-12  Jim Meyering  <meyering@lucent.com>
64573
64574         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
64575
64576 2002-04-09  Jim Meyering  <meyering@lucent.com>
64577
64578         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
64579         to be more precise.  Rather than saying we're checking whether the
64580         function `works', say what we're testing.
64581         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
64582         Reported by Bruno Haible.
64583
64584 2002-03-10  Jim Meyering  <meyering@lucent.com>
64585
64586         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
64587         Suggestion from Santiago Vila.
64588
64589 2002-03-08  Jim Meyering  <meyering@lucent.com>
64590
64591         * lib/rename.c: Mention that this wrapper is needed also on
64592         mips-dec-ultrix4.4 systems.
64593
64594 2002-03-02  Jim Meyering  <meyering@lucent.com>
64595
64596         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
64597         not HAVE_CLOCK_SETTIME.
64598
64599 2002-02-27  Paul Eggert  <eggert@twinsun.com>
64600
64601         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
64602         Check for clock_settime.
64603
64604 2002-02-27  Paul Eggert  <eggert@twinsun.com>
64605
64606         * lib/nanosleep.h: Rename to....
64607         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
64608
64609         * lib/gettime.c: New file.
64610         * lib/settime.c: New file.
64611         * lib/stime.c: Remove.
64612
64613         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
64614         timespec.h.  Remove nanosleep.h.
64615
64616 2002-02-25  Paul Eggert  <eggert@twinsun.com>
64617
64618         * m4/acl.m4: New file.
64619         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
64620         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
64621
64622 2002-02-25  Paul Eggert  <eggert@twinsun.com>
64623
64624         * lib/acl.c, lib/acl.h: New files.
64625         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
64626
64627 2002-02-24  Jim Meyering  <meyering@lucent.com>
64628
64629         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
64630         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
64631         cause trouble.  Reported by Nelson Beebe.
64632
64633 2002-02-23  Paul Eggert  <eggert@twinsun.com>
64634
64635         * lib/path-concat.c (xpath_concat): Reorder code to pacify
64636         compilers that don't know that xalloc_die never returns.
64637
64638 2002-02-20  Jim Meyering  <meyering@lucent.com>
64639
64640         * lib/getdate.c: Regenerate using bison-1.33.
64641
64642 2002-02-17  Jim Meyering  <meyering@lucent.com>
64643
64644         * config/config.guess (main): Don't use `head -1'; it's no longer
64645         portable. Use `sed 1q' instead.
64646
64647 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
64648
64649         * m4/codeset.m4: Upgrade to gettext-0.11.
64650         * m4/gettext.m4: Upgrade to gettext-0.11.
64651         * m4/glibc21.m4: Upgrade to gettext-0.11.
64652         * m4/iconv.m4: Upgrade to gettext-0.11.
64653         * m4/isc-posix.m4: Upgrade to gettext-0.11.
64654         * m4/lcmessage.m4: Upgrade to gettext-0.11.
64655         * m4/lib-ld.m4: New file, from gettext-0.11.
64656         * m4/lib-link.m4: New file, from gettext-0.11.
64657         * m4/lib-prefix.m4: New file, from gettext-0.11.
64658         * m4/progtest.m4: Upgrade to gettext-0.11.
64659
64660 2002-02-15  Paul Eggert  <eggert@twinsun.com>
64661
64662         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
64663         (jm_PREREQ): Use it.
64664
64665 2002-02-15  Paul Eggert  <eggert@twinsun.com>
64666
64667         * lib/posixver.c, lib/posixver.h: New files.
64668         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
64669
64670 2002-02-02  Paul Eggert  <eggert@twinsun.com>
64671             Bruno Haible  <bruno@clisp.org>
64672
64673         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
64674         (fwrite_success_callback): New declaration.
64675         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
64676         print_unicode_char. Call failure callback instead of error.
64677         (fwrite_success_callback): New function.
64678         (exit_failure_callback): New function.
64679         (fallback_failure_callback): New function.
64680         (print_unicode_char): Call unicode_to_mb.
64681
64682 2002-01-26  Jim Meyering  <meyering@lucent.com>
64683
64684         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
64685         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
64686
64687 2002-01-26  Jim Meyering  <meyering@lucent.com>
64688
64689         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
64690
64691 2002-01-22  Paul Eggert  <eggert@twinsun.com>
64692
64693         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
64694
64695 2002-01-22  Jim Meyering  <meyering@lucent.com>
64696
64697         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
64698         Otherwise, some versions of automake would omit the rule that makes
64699         Makefile from Makefile.in.
64700
64701 2002-01-21  Paul Eggert  <eggert@twinsun.com>
64702
64703         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
64704         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
64705         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
64706         (memcoll): Set errno to zero if there is no error.
64707
64708         * lib/quotearg.c (quotearg_buffer_restyled):
64709         Fix bug with quoting buffers containing NUL when backslashing escapes.
64710         This bug was exposed by the other changes in this patch.
64711         (quotearg_n_options): New arg ARGSIZE.
64712         All callers changed.
64713         (quoting_options_from_style): New function.
64714         (quotearg_n_style): Use it.
64715         (quotearg_n_style_mem): New function.
64716
64717         * lib/quotearg.h (quotearg_n_style_mem): New function.
64718
64719 2002-01-19  Jim Meyering  <meyering@lucent.com>
64720
64721         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
64722         Remove useless quotes: DF_PROG="df".
64723         * m4/strnlen.m4: New file.
64724
64725 2002-01-16  Paul Eggert  <eggert@twinsun.com>
64726
64727         * lib/backupfile.c (ISDIGIT): Comment fix.
64728         * lib/getdate.y (ISDIGIT): Likewise.
64729         * lib/posixtm.c (ISDIGIT, year): Likewise.
64730         * lib/strverscmp.c (ISDIGIT): Likewise.
64731         * lib/userspec.c (ISDIGIT): Likewise.
64732
64733 2002-01-16  Jim Meyering  <meyering@lucent.com>
64734
64735         * lib/getdate.y: Add three semicolons, each just before a closing
64736         brace. Bison (as of version 1.31) no longer papers over that mistake.
64737
64738 2002-01-05  Jim Meyering  <meyering@lucent.com>
64739
64740         * lib/version-etc.c (version_etc_copyright): Update copyright year.
64741
64742 2001-12-19  Paul Eggert  <eggert@twinsun.com>
64743
64744         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
64745         not silently exit merely because the output buffer happens to
64746         have nothing pending.
64747
64748 2001-12-18  Paul Eggert  <eggert@twinsun.com>
64749
64750         See the big note in ../ChangeLog.
64751         * lib/human.c (suffixes): Prefer K to k for 1024.
64752         (generate_suffix_backwards): New function.
64753         (human_readable_inexact): Use it.
64754         * lib/xstrtol.c (__xstrtol): If there is no number but there
64755         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
64756         Accept 'K' as well as 'k'.
64757
64758 2001-12-15  Jim Meyering  <meyering@lucent.com>
64759
64760         * lib/regex.h (__restrict_arr): Update from libc.
64761
64762         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
64763         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
64764         (STREQ): Define.
64765
64766 2001-12-14  Jim Meyering  <meyering@lucent.com>
64767
64768         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
64769         Suggestion from Bruno Haible.
64770
64771 2001-12-10  Jim Meyering  <meyering@lucent.com>
64772
64773         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
64774         xrealloc, Instead, include "xalloc.h".
64775         (initbuffer): Don't cast xmalloc return value to char*.
64776         (readline): Reword comment.
64777         Don't cast xrealloc return value to char*
64778         Return NULL, not 0.
64779
64780 2001-12-09  Jim Meyering  <meyering@lucent.com>
64781
64782         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
64783         about `signed and unsigned type in conditional expression'.
64784         * lib/posixtm.c (posix_time_parse): Likewise.
64785
64786         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
64787
64788         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
64789         to avoid a pedantic warning.
64790
64791         * lib/getstr.c: Don't include assert.h.
64792         (getstr): Remove warning-evoking assertions.
64793         Return -1 if offset parameter is out of bounds.
64794         Change the type of a local from int to size_t.
64795
64796         * lib/strftime.c (my_strftime_localtime_r): Include this function
64797         definition in the `#if ! HAVE_TM_GMTOFF' block.
64798
64799         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
64800         Include xalloc.h instead.
64801
64802 2001-12-02  Jim Meyering  <meyering@lucent.com>
64803
64804         * lib/tempname.c: Don't declare getenv, thus reverting the change of
64805         2001-11-18.  It's no longer necessary, now that stdlib.h is always
64806         included.
64807
64808         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
64809         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
64810
64811 2001-11-30  Akim Demaille  <akim@epita.fr>
64812
64813         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
64814         before being defined.
64815
64816 2001-11-27  Paul Eggert  <eggert@twinsun.com>
64817
64818         * lib/quotearg.h (quotearg_n, quotearg_n_style):
64819         First arg is int, not unsigned.
64820         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
64821         (SIZE_MAX, UINT_MAX): New macros.
64822         (quotearg_n_options): Abort if N is negative.
64823         Avoid overflow check on hosts where size_t is 64 bits and int
64824         is 32 bits, as overflow is impossible there.
64825         Fix off-by-one typo that caused unnecessary reallocation.
64826
64827 2001-11-27  Jim Meyering  <meyering@lucent.com>
64828
64829         * lib/tempname.c: Merge with version from libc.
64830         * lib/regex.c: Likewise.
64831
64832         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
64833         systems for which STDC_HEADERS is 0, it was not included, resulting in
64834         a warning about an integer-to-pointer conversion problem with getenv.
64835         Reported by Volker Borchert.
64836
64837 2001-11-26  Jim Meyering  <meyering@lucent.com>
64838
64839         * lib/gtod.h: Remove file.
64840         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
64841         * lib/gettimeofday.c: Don't include gtod.h.
64842         (GTOD_init): Remove function.
64843         (rpl_gettimeofday): Do its job here instead, rather than aborting.
64844         Suggestion from Volker Borchert.
64845
64846 2001-11-23  Jim Meyering  <meyering@lucent.com>
64847
64848         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
64849         it.
64850         * lib/hash.c (struct hash_table): Define it here instead.
64851
64852 2001-11-22  Jim Meyering  <meyering@lucent.com>
64853
64854         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
64855
64856 2001-11-20  Jim Meyering  <meyering@lucent.com>
64857
64858         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
64859         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
64860
64861 2001-11-19  Jim Meyering  <meyering@lucent.com>
64862
64863         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
64864         directory.  Use "conftestXXXXXX" as the template.
64865         Suggestion from Paul Eggert.
64866
64867         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
64868         immediately, so the test doesn't mistakenly hit the max-open-files
64869         limit.
64870
64871 2001-11-18  Paul Eggert  <eggert@twinsun.com>
64872
64873         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
64874         (TEMPORARIES): New macro.
64875         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
64876         removes an artificial limitation (e.g. HP-UX 10.20, where
64877         TMP_MAX is 17576).
64878
64879 2001-11-18  Jim Meyering  <meyering@lucent.com>
64880
64881         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
64882
64883 2001-11-18  Jim Meyering  <meyering@lucent.com>
64884
64885         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
64886         on SunOS 4.
64887
64888         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
64889         files will be created before anything else.
64890
64891 2001-11-17  Paul Eggert  <eggert@twinsun.com>
64892
64893         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
64894         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
64895
64896 2001-11-17  Jim Meyering  <meyering@lucent.com>
64897
64898         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
64899         Prompted by a report from Bob Proulx.
64900
64901         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
64902         Instead, require UTILS_FUNC_MKSTEMP.
64903
64904 2001-11-17  Jim Meyering  <meyering@lucent.com>
64905
64906         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
64907         Now, that's done as part of AC_FUNC_STRTOD.
64908
64909 2001-11-17  Jim Meyering  <meyering@lucent.com>
64910
64911         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
64912         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
64913         rather than group writable.  Patch by Juan F. Codagnone.
64914
64915         * lib/readtokens.c: Remove explicit declarations of xmalloc and
64916         xrealloc, Instead, include "xalloc.h".
64917
64918         * lib/mountlist.c: Include unlocked-io.h after all system headers.
64919         Remove explicit declarations of xmalloc, xrealloc,
64920         and xstrdup.  Instead, include "xalloc.h".
64921
64922         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
64923         unlocked-io.h.
64924         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
64925         Likewise.
64926         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
64927
64928         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
64929         Reported by Padraig Brady.
64930
64931         * lib/mkstemp.c: #undef mkstemp.
64932         Include config.h.
64933         (rpl_mkstemp): Rename from mkstemp.
64934         Protoize.
64935
64936 2001-11-16  Jim Meyering  <meyering@lucent.com>
64937
64938         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
64939         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
64940         determine the amount of total physical memory, use pstat_getstatic.
64941         HPUX-11 doesn't define _SC_PHYS_PAGES.
64942         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
64943         If sysconf couldn't be used to determine the amount of available
64944         physical memory, use both pstat_getstatic and pstat_getdynamic.
64945         Based on a patch from Bob Proulx.
64946
64947 2001-11-10  Jim Meyering  <meyering@lucent.com>
64948
64949         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
64950         (jm_PREREQ): Use it.
64951
64952 2001-11-09  Jim Meyering  <meyering@lucent.com>
64953
64954         * m4/jm-macros.m4: Require autoconf-2.52f.
64955         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
64956         Use these AC_-prefixed names, not the AM_-prefixed ones.
64957
64958         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
64959
64960 2001-11-05  Jim Meyering  <meyering@lucent.com>
64961
64962         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
64963
64964 2001-11-04  Jim Meyering  <meyering@lucent.com>
64965
64966         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
64967         $DEFS.
64968
64969 2001-11-03  Jim Meyering  <meyering@lucent.com>
64970
64971         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
64972         of AC_DEFUN.
64973
64974         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
64975         know the name of the variable in the macro definition.
64976
64977 2001-11-03  Jim Meyering  <meyering@lucent.com>
64978
64979         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
64980         in argmatch_to_argument call.
64981
64982         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
64983         argument.
64984
64985         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
64986         e.g., a fault due to an attempt to free a NULL pointer.
64987
64988 2001-11-01  Jim Meyering  <meyering@lucent.com>
64989
64990         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
64991         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
64992
64993 2001-11-01  Jim Meyering  <meyering@lucent.com>
64994
64995         * lib/dirfd.c, lib/dirfd.h: New files.
64996         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
64997
64998         * lib/hash.c (hash_print) [TESTING]: Clean up.
64999
65000 2001-10-22  Paul Eggert  <eggert@twinsun.com>
65001
65002         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
65003         to avoid a warning if -Wall.
65004
65005 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
65006
65007         * README: New file
65008         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
65009         (per RMS's instructions, this is now the canonical source)
65010         * lgpl/, gpl/: New directories.
65011
65012 2001-10-21  Paul Eggert  <eggert@twinsun.com>
65013
65014         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
65015
65016 2001-10-21  Jim Meyering  <meyering@lucent.com>
65017
65018         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
65019         this code would end up calling gettext even in packages built
65020         with --disable-nls.
65021         * lib/getopt.c (_): Likewise.
65022         * lib/regex.c (_): Likewise.
65023
65024 2001-10-20  Paul Eggert  <eggert@twinsun.com>
65025
65026         * m4/error.m4 (jm_PREREQ_ERROR):
65027         Do not invoke AC_CHECK_FUNCS with strerror_r, as
65028         AC_FUNC_STRERROR_R does that.
65029         Check for strerror declaration.
65030
65031         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
65032         are supposed to have them these days.
65033         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
65034         Merge changes from latest Autoconf CVS.
65035         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
65036         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
65037         POSIX decided to standardize on the int flavor of strerror_r.
65038
65039 2001-10-20  Paul Eggert  <eggert@twinsun.com>
65040
65041         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
65042         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
65043         Use strerror_r that is only a macro, even if it is not a function.
65044         (strerror): Check for HAVE_DECL_STRERROR before declaring.
65045         (private_strerror): Use prototypes, not old-style function definition.
65046         (print_errno_message): New function.
65047         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
65048         char*-flavored one.
65049         (error_tail, error, error_at_line): Use it.
65050
65051 2001-10-11  Jim Meyering  <meyering@lucent.com>
65052
65053         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
65054         and quote_n (1, ... to avoid clobbering a buffer.
65055
65056 2001-10-05  Jim Meyering  <meyering@lucent.com>
65057
65058         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
65059         hash-pjw.h.
65060         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
65061         * lib/hash-pjw.h: New file.
65062
65063 2001-09-30  Jim Meyering  <meyering@lucent.com>
65064
65065         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
65066         `struct fsstat' has the `f_fstypename' member.
65067         Use that to define FS_TYPE, which is now used to make
65068         the getfsstat link test tighter.
65069
65070 2001-09-30  Jim Meyering  <meyering@lucent.com>
65071
65072         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
65073         Include <sys/ucred.h>, for Apple Darwin.
65074         Include sys/mount.h and sys/fs_types.h only if available.
65075         (FS_TYPE): Define.
65076         (read_filesystem_list): Use FS_TYPE.
65077
65078 2001-09-29  Paul Eggert  <eggert@twinsun.com>
65079
65080         * lib/exclude.c (excluded_filename): 0 -> false, since it's
65081         a boolean context.
65082
65083 2001-09-29  Jim Meyering  <meyering@lucent.com>
65084
65085         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
65086         [one-argument getmntent function]): Include stdio.h before mntent.h.
65087         SunOS 4.1.x needs it for the declaration of `FILE'.
65088         Patch by Volker Borchert.
65089
65090         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
65091         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
65092         sys/fs_types.h, and make the link-test for getfsstat guard #include
65093         directives with appropriate #if HAVE_*_H tests so that we can
65094         detect getfsstat on Apple Darwin1.3.7 systems.
65095         Reported by Nelson Beebe.
65096         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
65097
65098 2001-09-28  Paul Eggert  <eggert@twinsun.com>
65099
65100         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
65101         #defines strtoimax.  Also treat the other strto* functions
65102         like strtoimax.
65103
65104         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
65105         Check for strtoul and strtoumax,
65106         as those declarations are made even in the signed case.
65107         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
65108         Likewise, for strtol and strtoimax.
65109
65110 2001-09-28  Paul Eggert  <eggert@twinsun.com>
65111
65112         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
65113         #defines strtoimax.  Also treat the other strto* functions
65114         like strtoimax.
65115
65116         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
65117         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
65118         (strtoimax, strtoumax): Do not declare if already defined as a macro.
65119
65120 2001-09-26  Jim Meyering  <meyering@lucent.com>
65121
65122         Most macros in unlocked-io.h had the wrong number of arguments.
65123         * lib/gen-uio: New script.
65124         (USE_UNLOCKED_IO): Define to 1 if not already defined.
65125         * lib/unlocked-io.hin: Remove file.
65126         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
65127         rather than trying to embed it here.
65128         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
65129         Reported by Padraig Brady.
65130
65131 2001-09-25  Volker Borchert  <bt@teknon.de>
65132
65133         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
65134         `result'.
65135
65136 2001-09-24  Jim Meyering  <meyering@lucent.com>
65137
65138         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
65139
65140 2001-09-23  Jim Meyering  <meyering@lucent.com>
65141
65142         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
65143         instead of the mere test for existence of mntent.h.  The latter
65144         would get a false-positive on AIX 3.4 systems.
65145         In the outer getmntent if-block, don't die if neither of the getmntent
65146         tests succeeds.  Instead, just fall through and continue with the
65147         remaining tests.
65148
65149 2001-09-23  Jim Meyering  <meyering@lucent.com>
65150
65151         * lib/mountlist.c: Remove useless parentheses in #if directives.
65152         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
65153         the deprecated MOUNTED symbol is no longer defined in mntent.h.
65154
65155 2001-09-22  Jim Meyering  <meyering@lucent.com>
65156
65157         * m4/gettext.m4: New file.  From gettext.
65158         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
65159         * m4/progtest.m4: Likewise
65160         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
65161         * m4/glibc21.m4: Likewise.
65162
65163         * m4/libintl.m4: Remove.  No longer used.
65164
65165 2001-09-22  Jim Meyering  <meyering@lucent.com>
65166
65167         * lib/localcharset.c: Update from latest gettext.
65168         * lib/config.charset: Likewise.
65169
65170 2001-09-20  Jim Meyering  <meyering@lucent.com>
65171
65172         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
65173         strtoimax.
65174         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
65175         strtoumax.
65176
65177 2001-09-20  Jim Meyering  <meyering@lucent.com>
65178
65179         * lib/xstrtol.c (strtoimax): Guard declaration with
65180         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
65181         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
65182         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
65183         (strtoumax): Likewise, for completeness (it wasn't necessary).
65184
65185 2001-09-17  Paul Eggert  <eggert@twinsun.com>
65186
65187         * lib/strtoimax.c (HAVE_LONG_LONG):
65188         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
65189         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
65190         to work around bug in IBM C compiler.
65191
65192 2001-09-17  Jim Meyering  <meyering@lucent.com>
65193
65194         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
65195         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
65196         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
65197         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
65198         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
65199         whenever the right hand side need not be expanded by the shell.
65200
65201 2001-09-16  Paul Eggert  <eggert@twinsun.com>
65202
65203         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
65204         library.  It's not correct, as some older glibcs are buggy.
65205         fnmatch wasn't fixed until glibc 2.2.
65206
65207         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
65208         special shell magic here.
65209
65210 2001-09-16  Jim Meyering  <meyering@lucent.com>
65211
65212         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
65213         * m4/jm-macros.m4: Require it.
65214
65215 2001-09-16  Jim Meyering  <meyering@lucent.com>
65216
65217         * lib/mkdir.c: New file.
65218
65219 2001-09-15  Jim Meyering  <meyering@lucent.com>
65220
65221         * m4/jm-macros.m4: Check for help2man.
65222
65223 2001-09-11  Jim Meyering  <meyering@lucent.com>
65224
65225         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
65226         The body, by Paul Eggert, was moved here from configure.in.
65227         * m4/jm-macros.m4: Require UTILS_HOST_OS.
65228
65229 2001-09-04  Paul Eggert  <eggert@twinsun.com>
65230
65231         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
65232         (jm_PREREQ): Use it.
65233
65234 2001-09-04  Paul Eggert  <eggert@twinsun.com>
65235
65236         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
65237         Use ssize_t, not int, to store result of readlink.
65238         Check for ssize_t overflow as well as size_t overflow,
65239         as POSIX says the result of readlink is implementation-defined
65240         when ssize_t overflows.
65241         Remove unnecessary cast to char*.
65242         Use free+malloc instead of realloc, as the storage doesn't need
65243         to be preserved and it's clearer and can be more efficient that way.
65244         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
65245         * lib/xreadlink.h (xreadlink): Update prototype.
65246
65247 2001-09-04  Paul Eggert  <eggert@twinsun.com>
65248
65249         * lib/xgetcwd.c: Revert some of the previous change; intead,
65250         fix the HAVE_GETCWD_NULL code to behave more like the
65251         !HAVE_GETCWD_NULL code used to.
65252
65253         Include "xalloc.h".
65254         (xgetcwd): Do not return NULL when memory is exhausted; instead,
65255         invoke xalloc_die.
65256
65257 2001-09-03  Paul Eggert  <eggert@twinsun.com>
65258
65259         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
65260         sys/param.h, as pathmax.h includes them.
65261
65262 2001-09-03  Paul Eggert  <eggert@twinsun.com>
65263
65264         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
65265         (jm_PREREQ_XGETCWD): New macro.
65266
65267         * m4/getcwd.m4: New file.
65268
65269 2001-09-03  Paul Eggert  <eggert@twinsun.com>
65270
65271         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
65272         like the HAVE_GETCWD_NULL code.
65273         Include pathmax.h if not HAVE_GETCWD.
65274         Do not include xalloc.h.
65275         (INITIAL_BUFFER_SIZE): New symbol.
65276         Do not use xmalloc / xrealloc, since the caller is responsible for
65277         handling errors.  Preserve errno around `free' during failure.
65278         Do not overrun buffer when using getwd.
65279
65280 2001-09-03  Paul Eggert  <eggert@twinsun.com>
65281
65282         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
65283         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
65284         getcwd (NULL, 0).
65285
65286 2001-09-03  Paul Eggert  <eggert@twinsun.com>
65287
65288         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
65289         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
65290         spotted by Jim Meyering.
65291
65292 2001-09-03  Jim Meyering  <meyering@lucent.com>
65293
65294         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
65295         failure.
65296
65297 2001-09-02  Jim Meyering  <meyering@lucent.com>
65298
65299         * lib/error.c: Update from GNU libc.
65300
65301 2001-09-01  Jim Meyering  <meyering@lucent.com>
65302
65303         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
65304         Used by df.
65305
65306 2001-09-01  Jim Meyering  <meyering@lucent.com>
65307
65308         * lib/xreadlink.c: New file.
65309         * lib/xreadlink.h: New file.
65310         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
65311         xreadlink.h.
65312
65313         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
65314         doesn't conflict with sparc Solaris 7's definition in
65315         /usr/include/sys/int_types.h.
65316
65317         * lib/exclude.c: Use `""', not `<>' to #include non-system header
65318         files.
65319         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
65320         and strncasecmp as r-values.  Unixware didn't have declarations.
65321
65322 2001-08-31  Paul Eggert  <eggert@twinsun.com>
65323
65324         * lib/xstrtol.h: Add copyright notice.
65325         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
65326         LONGINT_INVALID_SUFFIX_CHAR.
65327
65328 2001-08-31  Paul Eggert  <eggert@twinsun.com>
65329
65330         * lib/xstrtol.c (strtoimax): New decl.
65331
65332 2001-08-31  Paul Eggert  <eggert@twinsun.com>
65333
65334         * lib/xgetcwd.c: Don't include pathmax.h.
65335         Include stdlib.h and unistd.h if available.
65336         Include xalloc.h.
65337         (xmalloc, xstrdup, free): Remove decls.
65338         (xgetcwd): Don't assume sizes fit in unsigned.
65339         Check for overflow when computing sizes.
65340         Simplify reallocation code.
65341
65342 2001-08-31  Paul Eggert  <eggert@twinsun.com>
65343
65344         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
65345         a directory's st_size can have an arbitrary value, so the old
65346         usage could waste an arbitrary amount of memory.  All uses
65347         changed.
65348         * lib/savedir.h: Update prototype.
65349
65350 2001-08-31  Paul Eggert  <eggert@twinsun.com>
65351
65352         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
65353
65354         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
65355         old strtoimax.c.
65356
65357         Also, make the following further changes to make this file's
65358         configuration more similar to that of strtol.c:
65359         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
65360         (strtoumax, uintmax_t, strtoull, strtol): Remove.
65361         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
65362         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
65363         changed to signed values.
65364
65365         And make the following changes as well:
65366         Fix copyright notice, as 1999 was missing.
65367         (verify): New macro.
65368         (strtoimax): Check sizes at compile-time, not run-time.
65369         Prefer strtol to strtoll if both work.
65370         (main): Remove; it was not that useful and was a pain to maintain.
65371
65372         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
65373
65374 2001-08-31  Jim Meyering  <meyering@lucent.com>
65375
65376         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
65377         Use an initial, malloc'd, buffer of length 128 rather than
65378         a statically allocated one of length 1024.
65379
65380 2001-08-30  Paul Eggert  <eggert@twinsun.com>
65381
65382         Simplify code, partly by assuming autoconf 2.52 semantics.
65383
65384         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
65385
65386         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
65387         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
65388         All uses removed.
65389         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
65390         Move AC_REQUIRE to next-to-top level, to avoid confusion.
65391         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
65392         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
65393         jm_AC_HEADER_INTTYPES_H.
65394         * m4/jm-macros.m4 (jm_MACROS): Likewise.
65395
65396         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
65397
65398         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
65399         Quote first arg of AC_DEFUN.
65400         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
65401         since they are needed to parse the include file even if we need
65402         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
65403         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
65404         but with opposite signedness.
65405
65406 2001-08-30  Paul Eggert  <eggert@twinsun.com>
65407
65408         Merge 'exclude' changes from tar 1.13.22.
65409         This fixes one or two unlikely storage allocation overflow bugs,
65410         but doesn't change user-visible behavior otherwise.
65411
65412 2001-08-30  Paul Eggert  <eggert@twinsun.com>
65413
65414         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
65415         (jm_PREREQ_EXCLUDE): New macro.
65416
65417 2001-08-30  Paul Eggert  <eggert@twinsun.com>
65418
65419         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
65420         tm to be declared.
65421
65422 2001-08-30  Paul Eggert  <eggert@twinsun.com>
65423
65424         * lib/hash.c: Remove '2001' from copyright notice.
65425
65426 2001-08-30  Paul Eggert  <eggert@twinsun.com>
65427
65428         * lib/full-write.h: New file.
65429         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
65430         * lib/full-write.c: Correct credits, as cccp.c no longer
65431         exists and anyway it was so heavily changed from the old cccp
65432         code as to be unrecognizable.  Include full-write.h.
65433         (full_write) Return size_t, with short writes meaning failure.
65434         All callers changed.  This fixes a bug with large buffers
65435         on 64-bit hosts.
65436         * lib/utime.c: Include full-write.h.
65437
65438 2001-08-30  Paul Eggert  <eggert@twinsun.com>
65439
65440         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
65441         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
65442         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
65443         Include if available.
65444         (<xalloc.h>): Include
65445         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
65446         (verify): New macro.  Use it to verify that EXCLUDE macros do not
65447         collide with FNM macros.
65448         (struct patopts): New struct.
65449         (struct exclude): Use it, as exclude patterns now come with options.
65450         (new_exclude): Support above changes.
65451         (new_exclude, add_exclude_file):
65452         Initial size must now be a power of two to simplify overflow checking.
65453         (free_exclude, fnmatch_no_wildcards): New function.
65454         (excluded_filename): No longer requires options arg, as the options
65455         are determined by add_exclude.  Now returns bool, not int.
65456         (excluded_filename, add_exclude):
65457         Add support for the fancy new exclusion options.
65458         (add_exclude, add_exclude_file): Now takes int options arg.
65459         Check for arithmetic overflow when computing sizes.
65460         (add_exclude_file): xrealloc might modify errno, so don't
65461         realloc until after errno might be used.
65462
65463         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
65464         New macros.
65465         (free_exclude): New decl.
65466         (add_exclude, add_exclude_file): Now takes int options arg.
65467         (excluded_filename): No longer requires options arg, as the options
65468         are determined by add_exclude.  Now returns bool, not int.
65469
65470 2001-08-30  Paul Eggert  <eggert@twinsun.com>
65471
65472         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
65473
65474 2001-08-27  Jim Meyering  <meyering@lucent.com>
65475
65476         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
65477
65478         * lib/version-etc.c (N_): Remove definition.
65479         Revert most of last change.
65480         Instead, simply don't mark the `Copyright...' string for translation.
65481         Based on advice from Paul Eggert.
65482
65483         * lib/strtoxmax.c: Tweak comment.
65484
65485 2001-08-26  Jim Meyering  <meyering@lucent.com>
65486
65487         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
65488
65489         * m4/xstrtoimax.m4: New file.
65490         * m4/xstrtoumax.m4: Add comments explaining why we
65491         AC_REPLACE_FUNCS(strtol).
65492
65493 2001-08-26  Jim Meyering  <meyering@lucent.com>
65494
65495         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
65496         of copyright with `%s' so translators don't get an untranslated
65497         message in 2002.
65498         (COPYRIGHT_YEAR): Define.
65499         (version_etc): Use fprintf rather than fputs.
65500         Suggestion from Ulrich Drepper.
65501
65502         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
65503
65504         * lib/strtoll.c: New file, from GNU libc.
65505         * lib/xstrtoimax.c: New file.
65506
65507         * lib/xstrtol.h: Add xstrtoimax.
65508         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
65509         * lib/strtoimax.c: New file.  Likewise, but first define
65510         STRTOUXMAX_SIGNED.
65511
65512         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
65513         ...
65514         * lib/strtoxmax.c: ... then renamed to this.
65515
65516 2001-08-18  Paul Eggert  <eggert@twinsun.com>
65517
65518         * m4/inttypes.m4: Add AC_PREREQ(2.13).
65519         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
65520         (jm_AC_TYPE_INTMAX_T): New macro.
65521         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
65522
65523         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
65524
65525         * m4/longlong.m4: Renamed from ulonglong.m4.
65526         * m4/inttypes.m4: Renamed from inttypes_h.m4.
65527         * m4/uintmax_t.m4: Removed.
65528
65529 2001-08-13  Paul Eggert  <eggert@twinsun.com>
65530
65531         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
65532         Port to Solaris 8, where 'sed' requires a space after the 'r'
65533         command, and where sh dislikes "$/".  Clean up the spacing a bit.
65534         Redirect output to $tmp just once.
65535
65536 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
65537
65538         * lib/addext.c (<errno.h>): Include.
65539         (errno): Declare if not defined.
65540         (addext): Work correctly when pathconf returns -1 and leaves
65541         errno alone because there is no limit.  Also, work even if
65542         pathconf returns a value greater than SIZE_MAX.
65543
65544 2001-08-12  Jim Meyering  <meyering@lucent.com>
65545
65546         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
65547         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
65548         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
65549         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
65550         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
65551         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
65552         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
65553         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
65554         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
65555         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
65556         utime.m4, utimes.m4, xstrtoumax.m4:
65557         Quote the first argument in each use of AC_DEFUN.
65558
65559 2001-08-12  Jim Meyering  <meyering@lucent.com>
65560
65561         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
65562         Simply `return getcwd (NULL, 0);'.
65563         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
65564         Use 1300 as initial value for length, not PATH_MAX.
65565
65566         * lib/pathmax.h: Clean up cpp syntax.
65567
65568 2001-08-12  Jim Meyering  <meyering@lucent.com>
65569
65570         * lib/gettimeofday.c: New file.
65571         * lib/gtod.h: New file.
65572         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
65573
65574 2001-08-05  Jim Meyering  <meyering@lucent.com>
65575
65576         * m4/jm-macros.m4: Require autoconf-2.52.
65577
65578 2001-08-04  Jim Meyering  <meyering@lucent.com>
65579
65580         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
65581         stmt, to get in sync with glibc.
65582
65583 2001-08-03  Paul Eggert  <eggert@twinsun.com>
65584
65585         The following changes are from gettext 0.10.39 as maintained by
65586         Bruno Haible.
65587
65588         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
65589         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
65590         with inverted sense.  All uses changed.
65591
65592         * lib/mbswidth.c: Don't include <limits.h>.
65593         Include <stdlib.h> and <string.h> unconditionally.
65594         (iswcntrl, mbsinit, ISCNTRL): New macros.
65595         (mbsnwidth): Use K&R style function declarations.
65596         Don't bother checking for MB_LEN_MAX == 1, since the compiler
65597         can optimize it when MB_CUR_MAX == 1.
65598         The width of control characters is zero, not 1.
65599
65600 2001-08-03  Paul Eggert  <eggert@twinsun.com>
65601
65602         The following changes are from gettext 0.10.39 as maintained by
65603         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
65604
65605         * m4/codeset.m4: Upgrade to serial AM1.
65606         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
65607         all uses changed.  Quote first arg of AC_DEFUN.
65608         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
65609
65610         * m4/iconv.m4: Upgrade to serial AM2.
65611         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
65612         Add --with-libconv-prefix.
65613         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
65614         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
65615         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
65616         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
65617         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
65618
65619         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
65620         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
65621         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
65622         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
65623         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
65624         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
65625         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
65626         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
65627         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
65628
65629         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
65630         string.h any more.
65631
65632         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
65633         not the default value.
65634
65635         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
65636         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
65637         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
65638         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
65639         Also check for iswcntrl, used for wcwidth fallback.
65640         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
65641         to Autoconf 2.13.
65642
65643 2001-08-03  Jim Meyering  <meyering@lucent.com>
65644
65645         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
65646         as it was in the original.  Reported by Paul Eggert.
65647
65648 2001-07-16  Jim Meyering  <meyering@lucent.com>
65649
65650         * m4/gettimeofday.m4: New file.
65651         Prompted by a report from Bernhard Baehr.
65652
65653 2001-07-15  Jim Meyering  <meyering@lucent.com>
65654
65655         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
65656         stuff. Now it's in ../Makefile.cfg.
65657
65658 2001-07-15  Jim Meyering  <meyering@lucent.com>
65659
65660         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
65661         (BUILT_SOURCES): Add unlocked-io.h.
65662         (io_functions): Define.
65663         (unlocked-io.h): New rule.
65664         (DISTCLEANFILES): Add unlocked-io.h.
65665         (all-local): Depend on unlocked-io.h, to ensure it is created.
65666
65667         * lib/unlocked-io.hin: New file
65668
65669         * lib/regex.c: Update from glibc.
65670
65671 2001-07-05  Jim Meyering  <meyering@lucent.com>
65672
65673         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
65674         recommendation.
65675         (libfetish_a_SOURCES): Put all .h files here instead.
65676         Remove a thus-exposed (better checks in automake) duplicate and
65677         two unnecessary .h files.
65678
65679 2001-07-04  Jim Meyering  <meyering@lucent.com>
65680
65681         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
65682         that generates jm-glibc-io.m4 so that it doesn't trigger any make
65683         distcheck failure.
65684
65685 2001-07-02  Jim Meyering  <meyering@lucent.com>
65686
65687         The following changes were prompted by suggestions from Bruno Haible.
65688
65689         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
65690         is now generated.
65691         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
65692         definition of EXTRA_DIST.
65693         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
65694         ensure that the generated file is created/updated whenever the list
65695         of $(unlocked_functions) is changed.
65696         (jm-glibc-io.m4): New rule.
65697         (unlocked-io.h): New rule -- currently unused.
65698
65699 2001-06-24  Jim Meyering  <meyering@lucent.com>
65700
65701         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
65702         unmatched right bracket, rather than kludging it with an extra,
65703         falsely-matching quote in a comment.  Patch by Akim Demaille.
65704
65705 2001-06-11  Jim Meyering  <meyering@lucent.com>
65706
65707         * lib/regex.c: Update from GNU libc.
65708
65709 2001-05-27  Jim Meyering  <meyering@lucent.com>
65710
65711         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
65712         Check for ut_type in struct utmp.
65713
65714 2001-05-27  Jim Meyering  <meyering@lucent.com>
65715
65716         * lib/readutmp.h (UT_TYPE): Define.
65717
65718 2001-05-24  Jim Meyering  <meyering@lucent.com>
65719
65720         * lib/argmatch.c: Include "quote.h".
65721         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
65722         quote function.  Reported by Göran Uddeborg.
65723
65724 2001-05-22  Jim Meyering  <meyering@lucent.com>
65725
65726         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
65727         now that we use the package-supplied version unconditionally.
65728         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
65729
65730 2001-05-21  Jim Meyering  <meyering@lucent.com>
65731
65732         * m4/regex.m4: Change a couple backticks to single quotes to avoid
65733         shell syntax errors.
65734
65735 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
65736
65737         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
65738
65739 2001-05-20  Paul Eggert  <eggert@twinsun.com>
65740
65741         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
65742         Don't bother to check library strftime, since
65743         we'll be using our own my_strftime function anyway.
65744         Define my_strftime instead of strftime.
65745
65746 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
65747
65748         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
65749         which is not yet declared.
65750
65751 2001-05-15  Jim Meyering  <meyering@lucent.com>
65752
65753         * m4/regex.m4: Use proper quoting so brackets appear in the test
65754         program.
65755         Reported by, and with help from, Bruno Haible.
65756
65757 2001-05-13  Jim Meyering  <meyering@lucent.com>
65758
65759         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
65760         undefined.
65761
65762 2001-05-11  Paul Eggert  <eggert@twinsun.com>
65763
65764         dirname code cleanup.  base_name now behaves more compatibly
65765         with POSIX basename when given file names that have trailing
65766         slashes, and similarly for dir_name.  Add new primitives
65767         base_len and dir_len.  Put the directory-name-related decls
65768         into dirname.h.
65769
65770         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
65771         * lib/backupfile.c (base_name): Likewise.
65772         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
65773         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
65774         * lib/makepath.c (strip_trailing_slashes): Likewise.
65775         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
65776         ISSLASH): Likewise.
65777         * lib/rename.c (strip_trailing_slashes): Likewise.
65778         * lib/same.c (base_name): Likewise.
65779         * lib/stripslash.c (ISSLASH): Likewise.
65780
65781         * lib/addext.c: Include <dirname.h> after size_t is defined.
65782         * lib/backupfile.c: Likewise.
65783
65784         * lib/addext.c (addext): Use base_len to trim redundant
65785         trailing slashes instead of doing it ourselves.
65786         But do not trim the last slash if it is not redundant.
65787
65788         * lib/backupfile.c (find_backup_file_name,
65789         max_backup_version): Use base_len instead of rolling it ourselves.
65790         Handle the case of "" and (on DOS) "C:" correctly.
65791
65792         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
65793         needed. Include <string.h>, <dirname.h>.
65794         (base_name): Allow file names ending in slashes, other than names
65795         that are all slashes.  In this case, return the basename followed
65796         by the slashes.  This is more general, and can be used in places
65797         where the original base_name purposely had an assertion failure.
65798         (base_len): New function.
65799
65800         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
65801         Do not include <assert.h>; no longer needed.
65802         Include xalloc.h.
65803         (memrchr): Remove decl.
65804         (dir_name_r): Remove.
65805         (dir_len): Renamed from dirlen.  All callers changed.
65806         Rewrite in terms of base_name, for simplicity and consistency.
65807         (dir_name): Never return NULL.  All callers changed.
65808         Do not include <stdlib.h> in test program; no longer needed.
65809         return 0; is fine for test program.
65810
65811         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
65812         New macros.
65813         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
65814
65815         * lib/path-concat.c (path_concat): Use base_len to compute
65816         base length, not strlen; this means we cannot rely on memcpy
65817         to null-terminate.
65818
65819         * lib/same.c (STREQ): Remove.
65820         (same_name): Handle the case where the basename ends in trailing '/'.
65821
65822         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
65823         a slash was stripped.  Do not strip the last slash after a
65824         file system prefix.
65825
65826 2001-05-11  Paul Eggert  <eggert@twinsun.com>
65827
65828         * lib/Makefile.am (libfetish_a_SOURCES):
65829         Add strftime.c, since we now compile it on all hosts.
65830
65831         * lib/strftime.c (my_strftime):
65832         Define to nstrftime if emacs, but only if my_strftime is not defined.
65833         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
65834         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
65835         Add one more extra argument: a nanoseconds value.
65836         All uses changed.
65837         (ns): New macro.
65838         (my_strftime function): Add %N format.
65839         (emacs_strftimeu): Renamed from emacs_strftime,
65840         with extra ut argument.
65841
65842 2001-05-09  Paul Eggert  <eggert@twinsun.com>
65843
65844         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
65845
65846 2001-04-21  Jim Meyering  <meyering@lucent.com>
65847
65848         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
65849         doesn't interfere.
65850
65851 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
65852
65853         * m4/ftruncate.m4: Check for chsize.
65854         Link with ftruncate.o unconditionally if ftruncate is missing.
65855         This was required when cross-compiling to i586-mingw32msvc.
65856
65857 2001-04-08  Jim Meyering  <meyering@lucent.com>
65858
65859         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
65860         recomputed; that's necessary when the offset spans a DST transition.
65861         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
65862
65863 2001-04-02  Jim Meyering  <meyering@lucent.com>
65864
65865         * lib/regex.h, regex.c: Update from GNU libc.
65866
65867 2001-03-24  Jim Meyering  <meyering@lucent.com>
65868
65869         * m4/jm-macros.m4: Require autoconf-2.49d.
65870
65871 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
65872
65873         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
65874
65875 2001-03-19  Paul Eggert  <eggert@twinsun.com>
65876
65877         * lib/version-etc.c (version_etc_copyright): Update to 2001.
65878
65879 2001-03-17  Jim Meyering  <meyering@lucent.com>
65880
65881         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
65882         now that the version in autoconf is equivalent.
65883         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
65884
65885         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
65886         Suggestion from Akim Demaille.
65887
65888         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
65889         (jm_PREREQ_TEMPNAME): New function.
65890
65891 2001-03-16  Paul Eggert  <eggert@twinsun.com>
65892
65893         * lib/tempname.c (uint64_t): Define to uintmax_t if
65894         not defined, and if UINT64_MAX is not defined.
65895         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
65896         Reported by John David Anglin.
65897
65898 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
65899
65900         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
65901         resolve alias if codeset is empty.
65902         * lib/config.charset (BeOS): Use wildcard syntax.
65903
65904 2001-03-13  Jim Meyering  <meyering@lucent.com>
65905
65906         * lib/path-concat.c (path_concat)
65907         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
65908         concatenating e.g., `C:' and `foo'.
65909         From Bruno Haible.
65910
65911 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
65912
65913         * lib/localcharset.c (locale_charset): Don't use
65914         setlocale(LC_CTYPE,NULL). Don't return NULL.
65915         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
65916
65917 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
65918
65919         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
65920         support for DOS/DJGPP.
65921
65922 2001-03-01  Paul Eggert  <eggert@twinsun.com>
65923
65924         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
65925         lacks mkstemp.  Compile our own tempname.c if we compile our own
65926         mkstemp.c, as mkstemp relies on tempname.
65927
65928 2001-03-01  Jim Meyering  <meyering@lucent.com>
65929
65930         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
65931         AH_VERBATIM really does output its argument verbatim.
65932
65933 2001-02-28  Paul Eggert  <eggert@twinsun.com>
65934
65935         * lib/Makefile.am (libfetish_a_SOURCES):
65936         Add dup-safer.c, fopen-safer.c.
65937         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
65938
65939         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
65940         * lib/unistd-safer.h: New files.
65941
65942 2001-02-25  Paul Eggert  <eggert@twinsun.com>
65943
65944         The mkstemp replacement is taken from glibc 2.2.2, with some
65945         portability fixes for use outside glibc, as follows:
65946
65947         * lib/tempname.c (struct_stat64): New macro.
65948         (direxists, __gen_tempname): Use it.
65949         This avoids a portability problem with Solaris 8.
65950
65951         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
65952         (<stddef.h>, <stdint.h>, <string.h>):
65953         Include only if STDC_HEADERS || _LIBC.
65954         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
65955         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
65956         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
65957         (__set_errno): Define this macro if <errno.h> doesn't.
65958         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
65959         Define these macros if <stdio.h> doesn't.
65960         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
65961         Define these macros if <sys/stat.h>
65962         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
65963         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
65964         __xstat64): Define if not _LIBC.
65965         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
65966         (__gen_tempname): Invoke gettimeofday only if
65967         HAVE_GETTIMEOFDAY || _LIBC;
65968         otherwise, fall back on plain "time".
65969         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
65970
65971         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
65972
65973         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
65974
65975 2001-02-18  Paul Eggert  <eggert@twinsun.com>
65976
65977         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
65978
65979 2001-02-17  Paul Eggert  <eggert@twinsun.com>
65980
65981         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
65982         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
65983         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
65984         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
65985
65986 2001-02-17  Paul Eggert  <eggert@twinsun.com>
65987
65988         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
65989         Remove workaround macros for hosts that have mbrtowc but not
65990         mbstate_t, as we now insist on proper declarations for both
65991         before using mbrtowc.
65992
65993 2001-02-17  Jim Meyering  <meyering@lucent.com>
65994
65995         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
65996         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
65997         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
65998         UnixWare 7.1.1.
65999
66000         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
66001         rather than AC_CACHE_VAL.
66002
66003 2001-02-17  Jim Meyering  <meyering@lucent.com>
66004
66005         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
66006         around included file name.
66007
66008         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
66009
66010         * lib/strftime.c: Update from GNU libc (the only changes were to
66011         comments).
66012
66013 2001-02-17  Jim Meyering  <meyering@lucent.com>
66014
66015         * lib/regex.c: Update from libc.
66016
66017 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
66018
66019         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
66020         clash.
66021
66022 2001-02-16  Paul Eggert  <eggert@twinsun.com>
66023
66024         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
66025         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
66026         Reported by Mark Hounschell via Paul Eggert.
66027
66028 2001-02-07  Jim Meyering  <meyering@lucent.com>
66029
66030         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
66031
66032 2001-02-05  Jim Meyering  <meyering@lucent.com>
66033
66034         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
66035         it includes the patch required for `large file' support with at least
66036         HP-UX's 10.20 /bin/cc.
66037
66038 2001-02-03  Jim Meyering  <meyering@lucent.com>
66039
66040         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
66041         AS_IF, now that it works once again (mysteriously).
66042         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
66043
66044 2001-01-30  Jim Meyering  <meyering@lucent.com>
66045
66046         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
66047         * m4/chown.m4: Rename conftestchown to conftest.chown.
66048         * m4/rename.m4: s/conftestdir/conftest.d1/ and
66049         s/conftestdir2/conftest.d2/.
66050         * m4/utimes.m4: s/conftestdata/conftest.data/
66051         Inspired by Pavel Roskin's change in autoconf.
66052
66053 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
66054
66055         * lib/config.charset: Update for FreeBSD 4.2.
66056
66057 2001-01-27  Jim Meyering  <meyering@lucent.com>
66058
66059         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
66060         a use of AS_IF.
66061         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
66062
66063 2001-01-26  Jim Meyering  <meyering@lucent.com>
66064
66065         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
66066         quotearg.c includes it.
66067
66068 2001-01-26  Jim Meyering  <meyering@lucent.com>
66069
66070         * lib/quotearg.c: Include stddef.h.
66071         * lib/quote.c: Include stddef.h.
66072         Reported by Axel Kittenberger.
66073
66074         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
66075         line in double quotes so that it evokes a better diagnostic.
66076         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
66077         Reported by Axel Kittenberger.
66078
66079 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
66080
66081         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
66082         as if it was a `charset'.
66083
66084 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
66085
66086         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
66087         has const.
66088
66089 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
66090
66091         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
66092         to avoid a warning.  Add back 'const' to inptr.
66093
66094 2001-01-20  Jim Meyering  <meyering@lucent.com>
66095
66096         Be sure that headers are checked before used in code compiled
66097         for the type checks.
66098         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
66099         In place of that, invoke jm_CHECK_ALL_TYPES.
66100         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
66101         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
66102         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
66103         The check for ssize_t was mistakenly run before the test for unistd.h.
66104
66105         The configure-time check for stdbool.h was missing.
66106         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
66107         (jm_PREREQ_HASH): New function.
66108
66109 2001-01-17  Jim Meyering  <meyering@lucent.com>
66110
66111         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
66112         for autoconf-2.49c.
66113         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
66114
66115 2001-01-16  Jim Meyering  <meyering@lucent.com>
66116
66117         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
66118         From Bruno Haible.
66119
66120 2001-01-14  Jim Meyering  <meyering@lucent.com>
66121
66122         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
66123         foo and bar.  Create conftestdir/ in the script, not in the C code.
66124         Remove directories in the script, not in the C code.
66125         Remove conftestdir{,2} before trying to create the directory.
66126         Make the entire configure script fail if the mkdir fails.
66127
66128 2001-01-14  Jim Meyering  <meyering@lucent.com>
66129
66130         * lib/rename.c: New file.  From Volker Borchert.
66131         Include stdlib.h, string.h or strings.h, and xalloc.h.
66132         Use strip_trailing_slashes rather than open-coding it.
66133
66134 2001-01-03  Paul Eggert  <eggert@twinsun.com>
66135
66136         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
66137
66138 2001-01-03  Jim Meyering  <meyering@lucent.com>
66139
66140         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
66141         of local `inptr' to avoid warning with some system declarations of
66142         iconv.
66143
66144 2001-01-02  Volker Borchert  <bt@teknon.de>
66145
66146         * m4/rename.m4: New file.
66147         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
66148
66149 2001-01-01  Jim Meyering  <meyering@lucent.com>
66150
66151         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
66152         even on systems with utmpx.h.  It's necessary for the declaration of
66153         utmp's ut_user member.  Reported by Andreas Jaeger.
66154
66155         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
66156         available. They are required for the declarations of getgrgid and
66157         getpwuid resp.
66158         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
66159         Reported by Andreas Jaeger.
66160
66161 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
66162
66163         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
66164         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
66165         so `make install' also works in VPATH builds.
66166
66167 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
66168
66169         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
66170         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
66171         can be used in subdirectories.
66172
66173 2000-12-29  Paul Eggert  <eggert@twinsun.com>
66174
66175         * lib/modechange.c: Do not assume that mode_t uses the
66176         traditional octal encoding.  E.g. "chmod 1 FOO" should set
66177         the other-execute bit of FOO even if S_IXOTH != 1.
66178
66179         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
66180         WOTH, XOTH, ALLM): New macros.
66181         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
66182          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
66183         Use them.
66184         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
66185         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
66186         (mode_compile):
66187         No need to use uintmax_t; unsigned long is long enough.
66188         Don't bother to get suffix since we don't use it.
66189
66190 2000-12-26  Jim Meyering  <meyering@lucent.com>
66191
66192         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
66193         better with autoheader.
66194
66195 2000-12-24  Jim Meyering  <meyering@lucent.com>
66196
66197         * lib/hash.c (is_prime): Return explicit boolean values.
66198         (hash_get_first): Return NULL to appease Irix5.6's 89.
66199         Reported by Nelson Beebe.
66200
66201 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
66202
66203         * lib/localcharset.c (locale_charset): Add support for Win32.
66204
66205 2000-12-18  Paul Eggert  <eggert@twinsun.com>
66206
66207         * lib/physmem.h, lib/physmem.c: New files.
66208
66209         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
66210         (noinst_HEADERS): Add physmem.h.
66211
66212         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
66213         't' for compatibility with Solaris 8 sort.
66214
66215 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
66216
66217         * lib/config.charset: Add support for BeOS.
66218
66219 2000-12-17  Jim Meyering  <meyering@lucent.com>
66220
66221         * m4/dos.m4 (jm_AC_DOS): New file and macro.
66222         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
66223
66224 2000-12-16  Jim Meyering  <meyering@lucent.com>
66225
66226         This bug had a serious impact on chown: `chown N:M FILE' (for integer
66227         N and M) would have treated it like `chown N:N FILE'.
66228
66229         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
66230
66231 2000-12-16  Jim Meyering  <meyering@lucent.com>
66232
66233         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
66234         SHELLS_FILE to a file name that's useful on djgpp systems.
66235         Include stdlib.h.
66236         (ADDITIONAL_DEFAULT_SHELLS): Define.
66237         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
66238         Based mostly on a patch from Prashant TR.
66239
66240 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
66241
66242         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
66243         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
66244         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
66245
66246 2000-12-08  Andreas Schwab  <schwab@suse.de>
66247
66248         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
66249         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
66250
66251 2000-12-07  Jim Meyering  <meyering@lucent.com>
66252
66253         * lib/stripslash.c (ISSLASH): Define.
66254         (strip_trailing_slashes): Use ISSLASH rather than comparing against
66255         `/'.
66256         From Prashant TR.
66257
66258         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
66259         (dir_name_r): Declare this function as static.
66260         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
66261         manifest itself on a name containing a mix of slashes and
66262         backslashes.
66263         Make this function work with names starting with a DOS-style
66264         drive letter and colon prefix.
66265         (dir_name): Append `.' if necessary.
66266         Based mostly on patches from Prashant TR and Eli Zaretskii.
66267
66268         * lib/dirname.h (dir_name_r): Remove prototype.
66269
66270 2000-12-06  Paul Eggert  <eggert@twinsun.com>
66271
66272         * m4/off_t-format.m4: Remove this file.
66273         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
66274
66275 2000-12-06  Jim Meyering  <meyering@lucent.com>
66276
66277         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
66278         replacement strtoull, we may well need the replacement strtoul, too.
66279         Check for declarations of strtoul and strtoull.
66280         Check for strtol.  Mainly as a cue to cause automake to include
66281         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
66282         Check for limits.h -- strtol.c needs it.
66283
66284 2000-12-05  Jim Meyering  <meyering@lucent.com>
66285
66286         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
66287
66288 2000-12-04  Jim Meyering  <meyering@lucent.com>
66289
66290         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
66291         Also include memory.h, stdlib.h, unistd.h if appropriate.
66292         Reported by Andreas Jaeger (conflicting declaration of malloc).
66293
66294 2000-12-02  Jim Meyering  <meyering@lucent.com>
66295
66296         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
66297         * m4/jm-macros.m4 (jm_MACROS): require it.
66298
66299 2000-12-02  Jim Meyering  <meyering@lucent.com>
66300
66301         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
66302
66303 2000-12-01  Paul Eggert  <eggert@twinsun.com>
66304
66305         * lib/memrchr.c: Include <config.h> before any system include file.
66306
66307 2000-11-30  Jim Meyering  <meyering@lucent.com>
66308
66309         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
66310
66311 2000-11-30  Jim Meyering  <meyering@lucent.com>
66312
66313         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
66314
66315 2000-11-29  Paul Eggert  <eggert@twinsun.com>
66316
66317         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
66318
66319 2000-11-26  Jim Meyering  <meyering@lucent.com>
66320
66321         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
66322
66323 2000-11-22  Paul Eggert  <eggert@twinsun.com>
66324
66325         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
66326         size of (size_t) -1; it's not portable.
66327
66328 2000-11-17  Jim Meyering  <meyering@lucent.com>
66329
66330         * lib/strstr.c: Update from GNU libc.
66331
66332 2000-11-17  Akim Demaille  <akim@epita.fr>
66333
66334         * lib/obstack.h: Formatting changes.
66335         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
66336         prevent type checking.
66337         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
66338         cast the value to (void *): assigning a `foo *' to a `void *'
66339         variable is valid.
66340         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
66341
66342 2000-11-16  Jim Meyering  <meyering@lucent.com>
66343
66344         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
66345
66346 2000-11-11  Jim Meyering  <meyering@lucent.com>
66347
66348         * lib/error.c: Add a couple #includes, merging from GNU libc version.
66349
66350 2000-11-10  Jim Meyering  <meyering@lucent.com>
66351
66352         * lib/obstack.h: Update from GNU libc.
66353         * lib/obstack.c: Likewise.
66354
66355 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
66356
66357         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
66358
66359 2000-11-06  Paul Eggert  <eggert@twinsun.com>
66360
66361         * lib/getusershell.c (setusershell): Use rewind rather than
66362         fseek/fseeko, to avoid configuration hassles with fseeko.
66363         Don't bother opening SHELLS_FILE if shellstream is NULL;
66364         it's not necessary.
66365
66366 2000-11-05  Jim Meyering  <meyering@lucent.com>
66367
66368         * lib/makepath.h (make_dir): Declare.
66369         * lib/makepath.c (make_dir): Remove `static' attribute.
66370         Tweak a comment.
66371
66372 2000-11-04  Jim Meyering  <meyering@lucent.com>
66373
66374         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
66375
66376 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
66377
66378         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
66379         last one in a bucket, advance to the next bucket.
66380
66381 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
66382
66383         * lib/fnmatch.c: Do not comment out all the code if we are using
66384         the GNU C library, because in some cases we are replacing buggy
66385         code in the GNU C library itself.
66386
66387 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
66388
66389         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
66390         (regex_compile): Catch bogus \(\1\).
66391
66392 2000-10-30  Paul Eggert  <eggert@twinsun.com>
66393
66394         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
66395         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
66396         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
66397
66398 2000-10-30  Paul Eggert  <eggert@twinsun.com>
66399
66400         * lib/error.h, getline.h, modechange.h:
66401         Remove "2000" from Copyright line, as the file hasn't been
66402         changed this year other than in the copyright notice.
66403
66404         * lib/xalloc.h: Add "2000" to Copyright line, as this file
66405         was changed this year.
66406
66407 2000-10-29  Jim Meyering  <meyering@lucent.com>
66408
66409         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
66410         renaming.
66411         * m4/ls-mntd-fs.m4: Likewise
66412
66413 2000-10-29  Jim Meyering  <meyering@lucent.com>
66414
66415         * lib/xstat.in: Fix grammar in comment.
66416
66417 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
66418
66419         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
66420         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
66421         doesn't define __restrict_arr.
66422
66423 2000-10-28  Jim Meyering  <meyering@lucent.com>
66424
66425         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
66426         (jm_PREREQ_MEMCHR): New function.
66427
66428 2000-10-28  Jim Meyering  <meyering@lucent.com>
66429
66430         * lib/memchr.c: Update from libc.
66431         Adjust for portability:
66432         [HAVE_STDLIB_H]: Include stdlib.h.
66433         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
66434         Undef __memchr, too.
66435         [!weak_alias]: Define __memchr to memchr.
66436
66437         * lib/regex.c: Update from libc.
66438         * lib/regex.h: Likewise.
66439         * lib/getopt1.c: Likewise.
66440         * lib/memcmp.c: Likewise.
66441
66442         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
66443         Avoid using fseek, when possible -- it's broken by design.
66444         Patch by Ulrich Drepper.
66445
66446 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
66447
66448         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
66449         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
66450         Giving in to popular pressure to shut up the compiler with casts.
66451
66452 2000-10-26  Jim Meyering  <meyering@lucent.com>
66453
66454         * lib/strftime.c: Update from libc.
66455
66456 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
66457
66458         * regex.c: More `unsigned char' -> `re_char' changes.
66459         Also change several `int' into `re_wchar_t'.
66460         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
66461         (PUSH_FAILURE_POINTER): Don't cast any more.
66462         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
66463         We want GCC to complain, since this piece of code makes
66464         re_match non-reentrant, which *should* be fixed.
66465         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
66466         (EXTEND_BUFFER): Use RETALLOC.
66467         (SET_LIST_BIT): Don't cast.
66468         (re_wchar_t): New type.
66469         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
66470         that those two functions will always properly return.
66471         (IMMEDIATE_QUIT_CHECK): Cast to void.
66472         (analyse_first): Use recursion rather than an explicit stack.
66473         (re_compile_fastmap): Can't fail anymore.
66474         (re_search_2): Don't check re_compile_fastmap for failure.
66475         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
66476         Now also sets the new value (passed in a new argument).
66477         (re_match_2_internal): Use it.
66478         Also, use a new var `reg' of type size_t when looping through regs
66479         rather than reuse the inappropriate `mcnt'.
66480
66481 2000-10-25  Jim Meyering  <meyering@lucent.com>
66482
66483         * lib/obstack.c: Update from libc.
66484
66485 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
66486
66487         * regex.c (regex_compile): Change the way of handling a range from
66488         a char less than 256 to a char not less than 256.
66489
66490 2000-10-24  Andrew Innes  <andrewi@gnu.org>
66491
66492         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
66493         NT-Emacs only.
66494         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
66495         so that re_search functions only quit when callers expect them to.
66496
66497 2000-10-23  Jim Meyering  <meyering@lucent.com>
66498
66499         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
66500         wrong.  That set_locale call must not have any side effects.
66501         From Paul Eggert.
66502
66503 2000-10-22  Jim Meyering  <meyering@lucent.com>
66504
66505         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
66506         [CYCLIC]: Remove now-unused definition.
66507
66508         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
66509         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
66510         Suggestion from Ulrich Drepper.
66511
66512 2000-10-21  Jim Meyering  <meyering@lucent.com>
66513
66514         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
66515         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
66516         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
66517
66518 2000-10-21  Jim Meyering  <meyering@lucent.com>
66519
66520         * lib/dirname.c (memrchr): Declare if necessary.
66521         (dir_name): Remove the restriction that there be no
66522         trailing slashes.  Now, this code skips past them, effectively
66523         ignoring them.
66524         [TEST_DIRNAME] (main): New unit tests.
66525
66526         * lib/memrchr.c: New file from GNU libc.
66527         Undef __memrchr, too.
66528         [!weak_alias]: Define __memrchr to memrchr.
66529         Guard weak_alias use with `#ifdef weak_alias'.
66530
66531 2000-10-21  Jim Meyering  <meyering@lucent.com>
66532
66533         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
66534         (dir_name): Use dir_name_r.
66535         * lib/dirname.h (dir_name_r): Declare it.
66536
66537 2000-10-17  Jim Meyering  <meyering@lucent.com>
66538
66539         * lib/quote.h (PARAMS): Define and use.
66540         Reported by Akim Demaille.
66541
66542         * lib/getopt.c: Update from libc.
66543
66544 2000-10-16  Jim Meyering  <meyering@lucent.com>
66545
66546         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
66547         setlocale.
66548         From Jan Fedak.
66549
66550 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
66551
66552         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
66553
66554 2000-09-25  Jim Meyering  <meyering@lucent.com>
66555
66556         * lib/md5.h (rol): Define (from GnuPG).
66557
66558         * lib/sha.c: Give credit (GnuPG) where due.
66559         (M): Use rol rather than open-coding it.
66560         Add a FIXME comment.
66561
66562 2000-09-21  Jim Meyering  <meyering@lucent.com>
66563
66564         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
66565         Reported by Michael Stone.
66566
66567 2000-09-20  Jim Meyering  <meyering@lucent.com>
66568
66569         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
66570         (noinst_HEADERS): Add sha.h.
66571         Based on code from Scott G. Miller and from GnuPG.
66572
66573 2000-09-18  Jim Meyering  <meyering@lucent.com>
66574
66575         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
66576         LIBS. Otherwise, everyone ends up linking with -lelf for some
66577         configurations.
66578         Reported by Mike Stone.
66579
66580 2000-09-15  Jim Meyering  <meyering@lucent.com>
66581
66582         * lib/regex.c: Update from libc.
66583
66584 2000-09-10  Jim Meyering  <meyering@lucent.com>
66585
66586         * lib/getopt.c (_getopt_internal): Update from glibc.
66587
66588 2000-09-09  Jim Meyering  <meyering@lucent.com>
66589
66590         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
66591         think it should be used as a general replacement for isascii.
66592         * lib/fnmatch.c: Likewise.
66593         * lib/mbswidth.c: Likewise
66594         * lib/regex.c: Likewise.
66595
66596         Don't use atoi.
66597         * lib/userspec.c: Include sys/param.h and limits.h.
66598         Include xstrtol.h.
66599         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
66600         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
66601         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
66602         UID, GID.  Check range.
66603
66604 2000-09-06  Jim Meyering  <meyering@lucent.com>
66605
66606         * lib/getopt.c (_getopt_internal): Update from glibc.
66607
66608 2000-08-30  Jim Meyering  <meyering@lucent.com>
66609
66610         * lib/strftime.c: Merge in changes from GNU libc.
66611
66612 2000-08-26  Jim Meyering  <meyering@lucent.com>
66613
66614         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
66615         * m4/fpending.m4: New file.
66616
66617 2000-08-26  Jim Meyering  <meyering@lucent.com>
66618
66619         * lib/closeout.c: Include "__fpending.h".
66620         (close_stdout_status): Return right away if there's nothing to flush.
66621
66622         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
66623         * lib/__fpending.c: New file.
66624         * lib/__fpending.h: New file.
66625
66626 2000-08-20  Jim Meyering  <meyering@lucent.com>
66627
66628         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
66629         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
66630         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
66631
66632 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
66633
66634         Improve fileutils installation on systems where running
66635         programs (like install) can't be unlinked.
66636         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
66637         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
66638
66639 2000-08-07  Paul Eggert  <eggert@twinsun.com>
66640
66641         Standardize on "memory exhausted" instead of "Memory exhausted"
66642         or "virtual memory exhausted".
66643         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
66644         "virtual memory exhausted".
66645         * lib/same.c (same_name): Invoke xalloc_die instead of printing
66646         our own message.
66647         * lib/userspec.c (parse_user_spec): Likewise.
66648         * lib/bumpalloc.h: comment fix
66649         * lib/same.c, userspec.c: Include xalloc.h.
66650
66651         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
66652         not char *const and pointing to a constant array.
66653         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
66654         (xrealloc): Comment fix.
66655
66656         * lib/userspec.c (parse_user_spec):
66657         Don't translate a message until just before returning,
66658         to avoid unnecessary translation.
66659
66660 2000-08-07  Jim Meyering  <meyering@lucent.com>
66661
66662         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
66663         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
66664         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
66665         getgroups.c, gethostname.c, getopt.h, group-member.c,
66666         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
66667         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
66668         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
66669         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
66670         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
66671         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
66672         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
66673         yesno.c: Back out Copyright date changes for each file with no change
66674         this year.  This eases coordination with other programs using the same
66675         source code modules.  From Paul Eggert.
66676
66677 2000-08-06  Paul Eggert  <eggert@twinsun.com>
66678
66679         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
66680         not char, for compatibility with glibc 2.1.3 strftime.c.
66681
66682 2000-08-03  Greg McGary  <greg@mcgary.org>
66683
66684         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
66685         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
66686         (EXTEND_BUFFER): Use them.
66687
66688 2000-08-01  Jim Meyering  <meyering@lucent.com>
66689
66690         * lib/dirname.c (ISSLASH): Define.
66691         (BACKSLASH_IS_PATH_SEPARATOR): Define.
66692         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
66693         both `\' and `/' may be use as path separators.
66694         Based on a patch from Prashant TR.
66695
66696 2000-07-31  Paul Eggert  <eggert@twinsun.com>
66697
66698         * lib/quotearg.c (quotearg_n_options): Don't make the initial
66699         slot vector a constant, since it might get modified.
66700
66701 2000-07-31  Jim Meyering  <meyering@lucent.com>
66702
66703         * lib/xmalloc.c: Use `virtual memory exhausted', not
66704         `Memory exhausted'.
66705         * lib/obstack.c (print_and_abort): Likewise.
66706
66707 2000-07-30  Paul Eggert  <eggert@twinsun.com>
66708
66709         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
66710         buffer, so that the caller can always quote one small
66711         component of a "memory exhausted" message in slot 0.
66712         From a suggestion by Jim Meyering.
66713
66714 2000-07-30  Jim Meyering  <meyering@lucent.com>
66715
66716         * lib/makepath.c (make_path): Quote the other instance, too.
66717
66718         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
66719         (STATIC_BUF_SIZE): Define.
66720         (quotearg_n_options): Use only statically allocated storage when
66721         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
66722         than STATIC_BUF_SIZE.
66723
66724 2000-07-29  Jim Meyering  <meyering@lucent.com>
66725
66726         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
66727         * lib/dirname.c (dir_name): Likewise.
66728
66729         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
66730         `/'.
66731
66732         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
66733         (dir_name): Assert that there are no trailing slashes.
66734
66735 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
66736
66737         * lib/mbswidth.h (mbswidth): Add a flags argument.
66738         (mbswidth): New declaration.
66739         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
66740         * lib/mbswidth.c (mbswidth): Add a flags argument.
66741         (mbsnwidth): New function.
66742
66743 2000-07-24  Jim Meyering  <meyering@lucent.com>
66744
66745         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
66746
66747 2000-07-23  Paul Eggert  <eggert@twinsun.com>
66748
66749         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
66750
66751 2000-07-23  Paul Eggert  <eggert@twinsun.com>
66752
66753         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
66754         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
66755         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
66756         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
66757         invoke multibyte primitives.
66758
66759 2000-07-23  Paul Eggert  <eggert@twinsun.com>
66760
66761         * lib/quotearg.c:
66762         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
66763         so that mbstate_t is always defined.
66764
66765         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
66766         be 1 in at least one GCC installation, and this configuration
66767         error is likely to be common.  Ignoring MB_LEN_MAX hurts
66768         performance on hosts that have mbrtowc but have only unibyte
66769         locales, but I assume these hosts are rare.
66770
66771 2000-07-23  Paul Eggert  <eggert@twinsun.com>
66772
66773         * lib/mbswidth.c (_XOPEN_SOURCE):
66774         Don't define; this causes problems on Solaris 7.
66775         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
66776
66777 2000-07-23  Jim Meyering  <meyering@lucent.com>
66778
66779         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
66780         too: getgrgid, getpwuid, getuid.
66781
66782 2000-07-23  Jim Meyering  <meyering@lucent.com>
66783
66784         * lib/basename.c (base_name): Add an assertion.
66785
66786 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
66787
66788         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
66789         shadow its mbsinit function.
66790
66791 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
66792
66793         * lib/mbswidth.h: New file.
66794         * lib/mbswidth.c: New file.
66795         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
66796         (noinst_HEADERS): Add mbswidth.h.
66797
66798 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
66799
66800         * lib/config.charset: Add support for FreeBSD. Improve support for
66801         HP-UX and IRIX 6.
66802
66803 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
66804
66805         * m4/mbswidth.m4: New file.
66806         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
66807
66808 2000-07-15  Jim Meyering  <meyering@lucent.com>
66809
66810         * lib/makepath.c: Include quote.h.
66811         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
66812         corresponding argument in a `quote (...)' call.
66813         Give better diagnostics.
66814
66815         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
66816         (noinst_HEADERS): Add quote.h.
66817
66818         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
66819         from tar's src/misc.c.
66820         * lib/quote.h: New file.  Prototypes for same.
66821
66822 2000-07-14  Paul Eggert  <eggert@twinsun.com>
66823
66824         From a suggestion by Bruno Haible.
66825         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
66826         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
66827         to decide whether to define the BeOS workaround macro;
66828         this adjusts to the change to AC_MBSTATE_T.
66829
66830 2000-07-14  Jim Meyering  <meyering@lucent.com>
66831
66832         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
66833         jm_AC_TYPE_UINTMAX_T.
66834
66835 2000-07-13  Paul Eggert  <eggert@twinsun.com>
66836
66837         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
66838
66839         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
66840         quotearg_buffer_restyled): Add support for
66841         clocale_quoting_style.  Undo previous change to
66842         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
66843         and "{RIGHT QUOTATION MARK}" msgids.
66844
66845 2000-07-10  Paul Eggert  <eggert@twinsun.com>
66846
66847         From a suggestion by Bruno Haible.
66848         * m4/mbstate_t.m4 (AC_MBSTATE_T):
66849         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
66850         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
66851         and mbstate_t, to a single-part test that simply defines mbstate_t.
66852         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
66853         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
66854
66855 2000-07-10  Jim Meyering  <meyering@lucent.com>
66856
66857         * m4/strerror_r.m4: Mirror the correction made in autoconf.
66858
66859         * m4/gnu-source.m4: Output to confdefs.h directly.
66860         Suggestion from Akim Demaille.
66861
66862 2000-07-09  Paul Eggert  <eggert@twinsun.com>
66863
66864         The old behavior of quoting `like this' doesn't look good with
66865         newer, ISO-style fonts.  See:
66866         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
66867
66868         Instead, quote "like this" by default.  Let the translator
66869         tailor the locale-specific quoting behavior by providing
66870         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
66871
66872         * lib/quotearg.c (N_): New macro.
66873         (gettext_default): New function.
66874         (quotearg_buffer_restyled): Use
66875         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
66876         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
66877
66878 2000-07-09  Jim Meyering  <meyering@lucent.com>
66879
66880         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
66881         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
66882
66883         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
66884         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
66885
66886 2000-07-09  Jim Meyering  <meyering@lucent.com>
66887
66888         * lib/Most files: Update copyright dates to include 2000.
66889
66890 2000-07-08  Jim Meyering  <meyering@lucent.com>
66891
66892         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
66893         if not defined.
66894         (xgethostname): Remove now-unnecessary #ifdef.
66895         Move declaration of `err' into loop where it's used.
66896
66897 2000-07-05  Paul Eggert  <eggert@twinsun.com>
66898         and Bruno Haible  <haible@clisp.cons.org>
66899
66900         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
66901         only if the test for an object-type mbstate_t fails.  This
66902         prevents us from mistakenly reporting that mbstate_t is a
66903         system object type after we "#define mbstate_t int" to work
66904         around its lack.
66905
66906 2000-07-05  Paul Eggert  <eggert@twinsun.com>
66907         and Bruno Haible  <haible@clisp.cons.org>
66908
66909         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
66910
66911 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
66912
66913         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
66914         to strerror_r.
66915         Include <ctype.h> for use of isalpha.
66916
66917 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
66918
66919         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
66920         by allocating a larger buffer. Test the gethostname return value for
66921         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
66922         returns an error and ENAMETOOLONG isn't defined.
66923
66924 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
66925
66926         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
66927         dimension.
66928
66929 2000-07-04  Jim Meyering  <meyering@lucent.com>
66930
66931         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
66932         of the deprecated AC_CHECKING.
66933
66934 2000-07-04  Jim Meyering  <meyering@lucent.com>
66935
66936         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
66937         Reported by Bruno Haible.
66938
66939 2000-07-04  Jim Meyering  <meyering@lucent.com>
66940
66941         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
66942         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
66943         lacks mbrtowc.
66944
66945 2000-07-03  Paul Eggert  <eggert@twinsun.com>
66946
66947         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
66948         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
66949
66950 2000-07-03  Paul Eggert  <eggert@twinsun.com>
66951         and Bruno Haible  <haible@clisp.cons.org>
66952
66953         * lib/quotearg.c (mbrtowc):
66954         Assign to *pwc, and return 1 only if result is nonzero.
66955         (iswprint): Use ISPRINT when substituting our own mbrtowc.
66956
66957 2000-07-03  Jim Meyering  <meyering@lucent.com>
66958
66959         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
66960
66961 2000-07-03  Jim Meyering  <meyering@lucent.com>
66962
66963         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
66964         This is necessary to get a definition of e.g., UTMP_FILE on
66965         HP-UX 10.20.
66966         From Bob Proulx.
66967
66968 2000-07-02  Jim Meyering  <meyering@lucent.com>
66969
66970         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
66971
66972         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
66973         AC_LIBOBJ(function_name).
66974         * m4/chown.m4: Likewise.
66975         * m4/fnmatch.m4: Likewise.
66976         * m4/ftruncate.m4: Likewise.
66977         * m4/getgroups.m4: Likewise.
66978         * m4/getline.m4: Likewise.
66979         * m4/group-member.m4: Likewise.
66980         * m4/jm-macros.m4: Likewise.
66981         * m4/lstat.m4: Likewise.
66982         * m4/malloc.m4: Likewise.
66983         * m4/memcmp.m4: Likewise.
66984         * m4/nanosleep.m4: Likewise.
66985         * m4/putenv.m4: Likewise.
66986         * m4/realloc.m4: Likewise.
66987         * m4/regex.m4: Likewise.
66988         * m4/stat.m4: Likewise.
66989         * m4/strftime.m4: Likewise.
66990
66991 2000-07-02  Jim Meyering  <meyering@lucent.com>
66992
66993         * lib/quotearg.c (mbstate_t): Don't define here.
66994
66995 2000-07-02  Jim Meyering  <meyering@lucent.com>
66996
66997         * lib/nanosleep.c (SIGCONT): Define if not already defined.
66998
66999 2000-07-01  Jim Meyering  <meyering@lucent.com>
67000
67001         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
67002
67003 2000-07-01  Jim Meyering  <meyering@lucent.com>
67004
67005         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
67006         problem.
67007
67008 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
67009
67010         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
67011         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
67012
67013 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
67014
67015         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
67016         per change in ../m4/ls-mntd-fs.m4.
67017         (read_filesystem_list): Ignore symbolic links.
67018
67019 2000-06-29  Jim Meyering  <meyering@lucent.com>
67020
67021         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
67022         for declaration of strcmp.
67023
67024         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
67025
67026         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
67027         Avoid warning by casting result to `char *' to remove `const'.
67028
67029 2000-06-28  Jim Meyering  <meyering@lucent.com>
67030
67031         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
67032         included by quotearg.c, for which we perform this test.  From
67033         Bruno Haible.
67034
67035 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
67036
67037         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
67038         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
67039         <utmpx.h> exists, put readutmp.o into LIBOBJS.
67040
67041 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
67042
67043         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
67044
67045 2000-06-26  Paul Eggert  <eggert@twinsun.com>
67046
67047         savedir now sets errno on failure and invokes xmalloc to get memory.
67048         Fix a couple of other minor bugs while we're at it.
67049
67050         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
67051         (NAMLEN): Remove macro.
67052         (malloc, realloc): Remove decls.
67053         (stpcpy): Likewise.
67054         ("xalloc.h"): Include.
67055         (NAME_SIZE_DEFAULT): New macro.
67056         (savedir): Use xmalloc / xrealloc to allocate memory.
67057         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
67058         Skip "" directory entries.
67059         Use strlen to calculate directory entry length, since the old method
67060         is rarely used these days and isn't worth supporting.
67061         Don't use a pointer after freeing it.
67062         Check for integer overflow when calculating allocation size.
67063         Use memcpy to copy entries, instead of stpcpy.
67064         Set errno properly when returning NULL.
67065         Check for readdir error.
67066
67067 2000-06-26  Jim Meyering  <meyering@lucent.com>
67068
67069         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
67070
67071 2000-06-25  Jim Meyering  <meyering@lucent.com>
67072
67073         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
67074         Linux header bug when _XOPEN_SOURCE is defined to 500.
67075
67076 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
67077
67078         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
67079         deficiency.
67080
67081 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
67082
67083         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
67084         Include xalloc.h.
67085         Don't include <stdlib.h>.  Don't declare malloc, realloc.
67086
67087 2000-06-24  Jim Meyering  <meyering@lucent.com>
67088
67089         * m4/strerror_r.m4: Revive this file -- to try out an experimental
67090         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
67091         for which strerror does return char*, but which lacks a conveniently
67092         accessible declaration of the function.  If the compile-test says
67093         strerror_r doesn't work, then resort to a `run'-test that works on
67094         BeOS and segfaults on DEC Unix.
67095
67096 2000-06-24  Jim Meyering  <meyering@lucent.com>
67097
67098         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
67099
67100 2000-06-23  Paul Eggert  <eggert@twinsun.com>
67101
67102         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
67103         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
67104
67105 2000-06-23  Paul Eggert  <eggert@twinsun.com>
67106
67107         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
67108         (mbrtowc, mbstate_t): Define substitutes if
67109         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
67110         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
67111         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
67112
67113 2000-06-23  Jim Meyering  <meyering@lucent.com>
67114
67115         * m4/afs.m4: Add missing AC_MSG_RESULT.
67116         Reported by Bruno Haible.
67117
67118         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
67119         Suggestion from Bruno Haible.
67120
67121 2000-06-23  Jim Meyering  <meyering@lucent.com>
67122
67123         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
67124
67125 2000-06-21  Jim Meyering  <meyering@lucent.com>
67126
67127         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
67128
67129 2000-06-21  Jim Meyering  <meyering@lucent.com>
67130
67131         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
67132         (noinst_HEADERS): Add getstr.h.
67133
67134         * lib/getline.c (getstr): Move into a separate file.
67135         * lib/getstr.c (getstr): New file, extracted from getline.c, with
67136         the following changes: new parameter, delim2; both delim[12]
67137         parameters have type `int', not `char'.  The latter would lose
67138         with 8-bit delimiters.
67139         * lib/getstr.h: New file.
67140
67141 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
67142
67143         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
67144         than 1024, return a memory chunk of least possible size, instead
67145         of size PATH_MAX + 2. In the loop, increment the size proportionally.
67146         Use free/xmalloc instead of xrealloc to avoid copying for very long
67147         paths.
67148
67149 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
67150
67151         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
67152         the empty string.
67153
67154 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
67155
67156         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
67157         address, not strdup.  Include <stdlib.h> and don't declare free().
67158
67159 2000-06-19  Jim Meyering  <meyering@lucent.com>
67160
67161         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
67162
67163 2000-06-18  Jim Meyering  <meyering@lucent.com>
67164
67165         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
67166
67167         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
67168         `checking whether...' message to be consistent with that of the
67169         lstat test.
67170
67171 2000-06-18  Jim Meyering  <meyering@lucent.com>
67172
67173         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
67174         Besides, these days every porting target provides a mkdir function.
67175
67176         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
67177         needed. (this snippet comes from src/system.h).
67178
67179 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
67180
67181         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
67182
67183 2000-06-15  Paul Eggert  <eggert@twinsun.com>
67184
67185         * lib/human.c (adjust_value): New function.
67186         (human_readable_inexact): Apply rounding style even when
67187         printing approximate values.
67188
67189 2000-06-14  Paul Eggert  <eggert@twinsun.com>
67190
67191         * lib/human.c (human_readable_inexact): Allow an input block
67192         size that is not a multiple of the output block size, and vice versa.
67193         Reported by Piergiorgio Sartor.
67194
67195 2000-06-14  Paul Eggert  <eggert@twinsun.com>
67196
67197         * lib/getdate.y (get_date): Apply relative times after time
67198         zone indicator, not before.  Reported by Todd A. Jacobs.
67199
67200 2000-06-13  Jim Meyering  <meyering@lucent.com>
67201
67202         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
67203
67204         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
67205
67206 2000-06-12  Paul Eggert  <eggert@twinsun.com>
67207
67208         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
67209
67210 2000-06-12  Jim Meyering  <meyering@lucent.com>
67211
67212         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
67213         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
67214         optional argument.
67215         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
67216         the optional argument, `lib'.
67217
67218 2000-06-08  Jim Meyering  <meyering@lucent.com>
67219
67220         * m4/largefile.m4: Remove file (now that it's part of autoconf).
67221
67222 2000-06-04  Paul Eggert  <eggert@twinsun.com>
67223
67224         Rewrite largefile configuration so that we don't need to run
67225         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
67226         AC_CANONICAL_HOST in configure.in -- jmm]
67227
67228         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
67229         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
67230         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
67231         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
67232         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
67233         All uses changed.
67234         Instead of inspecting the output of getconf, try to compile the
67235         test program without and with the macro definition.
67236         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
67237         for getconf.  Instead, check for the needed flags by compiling
67238         test programs.
67239
67240 2000-06-04  Paul Eggert  <eggert@twinsun.com>
67241
67242         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
67243
67244 2000-06-04  Jim Meyering  <meyering@lucent.com>
67245
67246         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
67247         SunOS 4.1.4 for which gid_t is an unsigned type.
67248
67249 2000-06-03  Jim Meyering  <meyering@lucent.com>
67250
67251         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
67252         now that autoconf requires that.
67253
67254         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
67255         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
67256         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
67257
67258 2000-06-03  Jim Meyering  <meyering@lucent.com>
67259
67260         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
67261
67262 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
67263
67264         * m4/glibc21.m4: New file.
67265         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
67266
67267 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
67268
67269         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
67270         newer, don't install charset.alias.
67271         * lib/config.charset: Change the Linux/glibc rules so they become empty
67272         on glibc-2.1 or newer.
67273
67274 2000-06-02  Jim Meyering  <meyering@lucent.com>
67275
67276         * lib/mountlist.c: Back out last change.  Instead, do this...
67277         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
67278         me_dummy member using the same `ignore'-testing code.
67279         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
67280         fs_type strings.
67281         From Mark D. Roth.
67282
67283 2000-05-29  Jim Meyering  <meyering@lucent.com>
67284
67285         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
67286         mounts with the `ignore' attribute.  Based on a patch from
67287         Mark D. Roth.
67288
67289 2000-05-28  Jim Meyering  <meyering@lucent.com>
67290
67291         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
67292         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
67293         * m4/stat.m4: Likewise.
67294         * m4/lstat.m4: Likewise.
67295         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
67296
67297         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
67298         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
67299
67300 2000-05-26  Jim Meyering  <meyering@lucent.com>
67301
67302         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
67303
67304 2000-05-24  Jim Meyering  <meyering@lucent.com>
67305
67306         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
67307         autoconf requires that.
67308         * m4/lib-check.m4: Likewise.
67309         * m4/jm-macros.m4: Likewise.
67310         * m4/strftime.m4: Likewise.
67311
67312         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
67313         AC_CHECK_DECLS, now that autoconf requires that.
67314
67315 2000-05-22  Jim Meyering  <meyering@lucent.com>
67316
67317         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
67318         * m4/lstat.m4: Likewise.
67319
67320 2000-05-22  Jim Meyering  <meyering@lucent.com>
67321
67322         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
67323
67324 2000-05-20  Jim Meyering  <meyering@lucent.com>
67325
67326         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
67327         (jm_PREREQ): Use it.
67328
67329 2000-05-18  Jim Meyering  <meyering@lucent.com>
67330
67331         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
67332         back, too, since it may have been modified by allocate_entry.
67333         (hash_delete): Rewrite to use neither the assignment operator
67334         nor the comma operator in an if-expression.
67335
67336 2000-05-15  Paul Eggert  <eggert@twinsun.com>
67337
67338         * lib/closeout.c:
67339         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
67340         Remove; no longer needed.
67341         "quotearg.h": Add include.
67342         (file_name): Do not bother to explicitly initialize to NULL; it's less
67343         efficient on some hosts.
67344         (close_stdout_status): Remove test as to whether stdout was already
67345         closed; it breaks for the case "echo x | sort >&-".
67346         Quote file name colons.
67347         Do not assume that _("write error") lacks format strings.
67348
67349 2000-05-15  Jim Meyering  <meyering@lucent.com>
67350
67351         * lib/version-etc.c (version_etc_copyright): Update the copyright
67352         string used in all --version output.
67353
67354 2000-05-14  Jim Meyering  <meyering@lucent.com>
67355
67356         * lib/closeout.c (close_stdout_set_file_name): New function.
67357         (close_stdout_status): Use new file-scoped global.
67358         Return right away if fstat says the stdout file descriptor is invalid.
67359         * lib/closeout.h (close_stdout_set_file_name): Declare.
67360
67361 2000-05-10  Jim Meyering  <meyering@lucent.com>
67362
67363         * lib/closeout.c [default_exit_status]: New file-scoped variable.
67364         (close_stdout_set_status): New function.
67365         * lib/closeout.h (close_stdout_set_status): Declare.
67366
67367 2000-05-09  Jim Meyering  <meyering@lucent.com>
67368
67369         * m4/gettext.m4: Rename this...
67370         * m4/libintl.m4: ...to this.
67371
67372 2000-05-08  Jim Meyering  <meyering@lucent.com>
67373
67374         * lib/long-options.c: Don't include closeout.h.
67375         (parse_long_options): Don't call close_stdout for --version.
67376
67377 2000-05-06  Paul Eggert  <eggert@twinsun.com>
67378
67379         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
67380         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
67381         2.1.3 bug.  This avoids a clash when files like regex.c define
67382         _GNU_SOURCE.
67383
67384 2000-05-06  Jim Meyering  <meyering@lucent.com>
67385
67386         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
67387         (AC_REPLACE_FUNCS): Add strnlen.
67388
67389         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
67390         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
67391
67392         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
67393         AC_SEARCH_LIBS call for nanosleep.
67394         (LIB_NANOSLEEP): Set and AC_SUBST.
67395
67396 2000-05-06  Jim Meyering  <meyering@lucent.com>
67397
67398         * lib/strnlen.c: Undefine __strnlen and strnlen.
67399         [!weak_alias]: Define __strnlen to strnlen.
67400
67401         * lib/atexit.c: New file, from libiberty.
67402
67403 2000-05-06  Jim Meyering  <meyering@lucent.com>
67404
67405         * lib/closeout.c (close_stdout_status): Also check for errors on the
67406         stderr stream.
67407
67408 2000-05-05  Jim Meyering  <meyering@lucent.com>
67409
67410         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
67411         AC_SEARCH_LIBS call for clock_gettime.
67412         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
67413
67414         * m4/search-libs.m4: Update from autoconf.
67415
67416         su doesn't work on Solaris 2.6.
67417         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
67418         <shadow.h>.  Reported by Dragos Harabor.
67419
67420 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
67421
67422         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
67423         memcpy instead of xmalloc, xrealloc, path_concat.
67424         (locale_charset): Treat empty environment variables as absent.
67425         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
67426
67427 2000-05-04  Jim Meyering  <meyering@lucent.com>
67428
67429         * lib/getopt.c: Update from glibc.
67430         * lib/obstack.c: Likewise.
67431         * lib/obstack.h: Likewise.
67432         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
67433         file
67434
67435         * lib/regex.h: Likewise.
67436         * lib/strndup.c: Likewise.
67437         * lib/strnlen.c: New file, from glibc.
67438
67439 2000-05-03  Jim Meyering  <meyering@lucent.com>
67440
67441         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
67442
67443 2000-05-02  Paul Eggert  <eggert@twinsun.com>
67444
67445         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
67446         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
67447         compile-time test, rather than inspecting host and OS, to
67448         decide whether to define _LARGEFILE_SOURCE.
67449
67450 2000-05-01  Jim Meyering  <meyering@lucent.com>
67451
67452         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
67453
67454         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
67455         Based on a patch from Bruno Haible.
67456
67457 2000-05-01  Jim Meyering  <meyering@lucent.com>
67458
67459         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
67460
67461 2000-04-29  Jim Meyering  <meyering@lucent.com>
67462
67463         * lib/path-concat.c: Declare strdup only if it's not defined.
67464         * lib/canon-host.c: Likewise.
67465
67466 2000-04-28  Jim Meyering  <meyering@lucent.com>
67467
67468         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
67469         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
67470         is included first, then limits.h is included by locale.h by libintl.h.
67471         From John David Anglin.
67472
67473 2000-04-25  Jim Meyering  <meyering@lucent.com>
67474
67475         * lib/makepath.c (S_IRWXUGO): Define.
67476         (make_path): Always perform explicit chmod if MODE specifies any
67477         of the `special' permission bits.  Prompted by a bug report against
67478         install from Mate Wierdl and Joost van Baal.
67479
67480 2000-04-18  Jim Meyering  <meyering@lucent.com>
67481
67482         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
67483         (jm_PREREQ): Use it.
67484
67485 2000-04-18  Jim Meyering  <meyering@lucent.com>
67486
67487         * lib/README: New file.
67488
67489         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
67490         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
67491
67492 2000-04-17  Jim Meyering  <meyering@lucent.com>
67493
67494         Get it right :-)
67495         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
67496         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
67497         Suggestion from Akim Demaille.
67498
67499 2000-04-17  Jim Meyering  <meyering@lucent.com>
67500
67501         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
67502         the definition of it to rpl_strftime also defined-away the system's
67503         declaration.
67504
67505 2000-04-15  Jim Meyering  <meyering@lucent.com>
67506
67507         Use `C' to denote so-called `contiguous' files, the same way
67508         that tar does.
67509         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
67510         (ftypelet): Use S_ISCTG.
67511         From Michael Deutschmann.
67512
67513 2000-04-14  Jim Meyering  <meyering@lucent.com>
67514
67515         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
67516         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
67517         clobbered.
67518
67519 2000-04-14  Jim Meyering  <meyering@lucent.com>
67520
67521         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
67522
67523 2000-04-13  Jim Meyering  <meyering@lucent.com>
67524
67525         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
67526         AH_VERBATIM to insert required #ifndef into config.h.in.
67527         Suggestion from Akim Demaille.
67528
67529 2000-04-12  Jim Meyering  <meyering@lucent.com>
67530
67531         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
67532         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
67533         Christian Krackowizer.
67534
67535         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
67536         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
67537         (AC_SYS_LARGEFILE): Require.
67538         (AM_C_PROTOTYPES): Require.
67539
67540 2000-04-08  Jim Meyering  <meyering@lucent.com>
67541
67542         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
67543         names don't conflict.  Reported by Eli Zaretskii.
67544
67545 2000-04-07  Jim Meyering  <meyering@lucent.com>
67546
67547         * lib/putenv.c: Move inclusion of errno.h so it follows that of
67548         sys/types.h, to work around system header problems on AIX 3.2.5.
67549         From Bruno Haible.
67550
67551 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
67552
67553         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
67554         bug.  Deal with the different error behavior of Irix iconv.
67555
67556 2000-04-05  Paul Eggert  <eggert@twinsun.com>
67557
67558         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
67559         IRIX if the installer said otherwise.
67560
67561 2000-04-05  Jim Meyering  <meyering@lucent.com>
67562
67563         Portability tweaks required for ultrix4.3.
67564         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
67565         (jm_CHECK_DECLS): Add getutent to the list of functions.
67566         (_jm_DECL_HEADERS): Add utmpx.h.
67567         From John David Anglin.
67568
67569         * m4/strftime.m4: Back out the 2000-04-02 change.
67570         Instead of that change, simply undefine putenv in the test program.
67571
67572 2000-04-05  Jim Meyering  <meyering@lucent.com>
67573
67574         Portability tweaks required for ultrix4.3.
67575         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
67576         getutent.
67577         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
67578         * lib/canon-host.c: Declare strdup.
67579         * lib/path-concat.c: Likewise.
67580         From John David Anglin.
67581
67582 2000-04-04  Jim Meyering  <meyering@lucent.com>
67583
67584         Be more DOS 8.3-friendly.
67585         * lib/ref-add.sin: Renamed from ref-add.sed.in.
67586         * lib/ref-del.sin: Renamed from ref-del.sed.in.
67587         * lib/Makefile.am: Reflect renaming.
67588         Reported by Eli Zaretskii.
67589
67590         Use a temporary file name that won't clash with `charset.alias'
67591         in the DOS 8.3 name space.
67592         * lib/Makefile.am (charset_tmp): Define.
67593         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
67594         (uninstall-local): Likewise.
67595         Reported by Eli Zaretskii.
67596
67597 2000-04-03  Jim Meyering  <meyering@lucent.com>
67598
67599         * m4/gettext.m4: Fix typo in comment.
67600
67601         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
67602         textutils/configure.in).  Suggestion from Paul Eggert.
67603         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
67604
67605 2000-04-02  Paul Eggert  <eggert@twinsun.com>
67606
67607         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
67608         variable in the shell rather than using putenv, which isn't
67609         portable.  This avoids the configure-time inter-test dependency
67610         on the potentially-renamed putenv function.
67611
67612 2000-03-30  Paul Eggert  <eggert@twinsun.com>
67613
67614         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
67615         before checking struct stat.st_blksize, so that
67616         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
67617
67618 2000-03-29  Paul Eggert  <eggert@twinsun.com>
67619
67620         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
67621         since strftime.c uses HAVE_STRFTIME to decide whether to use
67622         the underlying strftime.
67623
67624 2000-03-29  Paul Eggert  <eggert@twinsun.com>
67625
67626         * lib/time/strftime.c (my_strftime): Make sure we call the system
67627         strftime, not ourselves, when invoking the underlying strftime.
67628
67629 2000-03-24  Jim Meyering  <meyering@lucent.com>
67630
67631         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
67632         (charset_alias): Define.
67633         (install-exec-local): Factor out common code.
67634         (uninstall-local): Split lines longer than 80.
67635         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
67636         (SUFFIXES): Define.
67637         (.sed.in.sed): New rule.  Don't redirect directly to $@.
67638         (CLEANFILES): Add ref-add.sed and ref-del.sed.
67639
67640 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
67641
67642         * lib/config.charset: Output a line containing "Packages using this
67643         file".
67644         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
67645         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
67646         ref-del.sed): New rules.
67647
67648 2000-03-17  Jim Meyering  <meyering@lucent.com>
67649
67650         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
67651         Otherwise, include <strings.h>
67652
67653 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
67654
67655         * lib/unicodeio.c (utf8_wctomb): New function.
67656         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
67657         format instead of in UCS-4 with platform dependent endianness.
67658
67659 2000-03-10  Jim Meyering  <meyering@lucent.com>
67660
67661         * m4/lib-check.m4: Look for getspnam in -lgen, too.
67662         From Marco Franzen.
67663
67664 2000-03-07  Paul Eggert  <eggert@twinsun.com>
67665
67666         * lib/savedir.c (savedir): Work even if directory size is
67667         negative; this can happen with some screwy NFS configurations.
67668
67669 2000-03-06  Jim Meyering  <meyering@lucent.com>
67670
67671         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
67672         if it's NULL (because we ran out of memory).  From Bruno Haible.
67673
67674 2000-03-05  Jim Meyering  <meyering@lucent.com>
67675
67676         * lib/localcharset.c ("path-concat.h"): Include.
67677         (get_charset_aliases): Use path_concat instead of ANSI string
67678         concatenation.
67679
67680         * lib/unicodeio.h (PARAMS): Define.
67681         Use it to guard prototype.
67682
67683 2000-03-04  Jim Meyering  <meyering@lucent.com>
67684
67685         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
67686         for lib/localcharset.c.
67687
67688 2000-03-04  Jim Meyering  <meyering@lucent.com>
67689
67690         * lib/Makefile.am (install-exec-local): Create $(libdir) before
67691         installing into it.
67692         (uninstall-local): Uncomment this rule so `make distcheck' works
67693         once again.
67694
67695         * lib/unicodeio.c (<errno.h>): Include it.
67696         (errno): Declare if not defined.
67697
67698         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
67699
67700         * lib/config.charset: New version, incorporating remarks from a linux
67701         i18n mailing list.  From Bruno Haible.
67702
67703 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
67704
67705         * m4/codeset.m4: New file.
67706         * m4/iconv.m4: New file.
67707         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
67708
67709 2000-03-03  Jim Meyering  <meyering@lucent.com>
67710
67711         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
67712
67713 2000-03-02  Jim Meyering  <meyering@lucent.com>
67714
67715         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
67716         the messages come out on separate lines.
67717
67718         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
67719         rather than jm_CHECK_DECLARATIONS.
67720         * m4/decl.m4: Remove now-unused file.
67721
67722         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
67723         geteuid.
67724
67725 2000-03-02  Jim Meyering  <meyering@lucent.com>
67726
67727         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
67728
67729 2000-03-01  Jim Meyering  <meyering@lucent.com>
67730
67731         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
67732         * lib/unicodeio.c: Likewise.
67733
67734 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
67735
67736         * lib/config.charset: New file.
67737         * lib/localcharset.c: New file.
67738         * lib/unicodeio.h, lib/unicodeio.c: New files.
67739         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
67740         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
67741         (noinst_HEADERS): Add unicodeio.h.
67742         (all-local, install-exec-local, charset.alias): New targets.
67743
67744 2000-02-28  Paul Eggert  <eggert@twinsun.com>
67745
67746         * lib/quotearg.c (ALERT_CHAR): New macro.
67747         (quotearg_buffer_restyled): Use it.
67748
67749 2000-02-27  Jim Meyering  <meyering@lucent.com>
67750
67751         * m4/check-decl.m4: Add getenv to the list.
67752
67753 2000-02-27  Jim Meyering  <meyering@lucent.com>
67754
67755         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
67756         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
67757
67758         * lib/backupfile.c: Guard inclusion of stdlib.h with
67759         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
67760         Declare malloc if needed.
67761
67762         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
67763         `#ifndef HAVE_DECL..'
67764         now that autoconf always defines the HAVE_DECL_ symbols.
67765         * lib/human.c: Likewise.
67766         * lib/same.c: Likewise.
67767         * lib/strtoumax.c: Likewise.
67768
67769         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
67770         declaration check was not run.
67771         * lib/hash.c: Likewise.
67772         * lib/human.c: Likewise.
67773         * lib/same.c: Likewise.
67774         * lib/strtoumax.c: Likewise.
67775
67776         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
67777         `.', then first look up the entire `.'-containing string as a login
67778         name.
67779
67780 2000-02-23  Jim Meyering  <meyering@lucent.com>
67781
67782         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
67783         in place of my hack.
67784
67785 2000-02-18  Paul Eggert  <eggert@twinsun.com>
67786
67787         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
67788         (textint): New typedef.
67789         (parser_control): Member year changed from int to textint.
67790         All uses changed.
67791         (YYSTYPE): Removed; replaced by %union with int and textint members.
67792         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
67793         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
67794         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
67795         (tSNUMBER, tUNUMBER): Now of type <textintval>.
67796         (date, number, to_year): Use width of number in digits, not its value,
67797         to determine whether it's a 2-digit year, or a 2-digit time.
67798         (yylex): Store number of digits of numeric tokens.
67799         Reported by John Kendall.
67800
67801         (parser_control): Changed from struct parser_control to typedef (for
67802         consistency).  All uses changed.
67803
67804         (tID): Removed; not used.
67805         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
67806
67807 2000-02-14  Paul Eggert  <eggert@twinsun.com>
67808
67809         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
67810         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
67811
67812 2000-02-12  Jim Meyering  <meyering@lucent.com>
67813
67814         * lib/userspec.c (ISDIGIT): Define it.
67815         (isdigit): Remove definition.
67816         (is_number): Use ISDIGIT, not isdigit.
67817         <libintl.h>: Include.
67818         (_ and N_): Define.
67819         (parse_user_spec): Mark translatable strings.
67820
67821 2000-02-10  Jim Meyering  <meyering@lucent.com>
67822
67823         With these changes, nanosleep.[ch] are finally enough like the other
67824         lib/* replacement files to compile on a few more losing systems.
67825
67826         * lib/nanosleep.h: Don't include config.h.
67827         Remove prototype from declaration of nanosleep.
67828         (PARAMS): Remove now-unneeded definition.
67829         * lib/nanosleep.c: #undef nanosleep.
67830         (rpl_nanosleep): Rename from nanosleep.
67831
67832 2000-02-10  Jim Meyering  <meyering@lucent.com>
67833
67834         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
67835         gnu_nanosleep to rpl_nanosleep.
67836
67837 2000-02-09  Jim Meyering  <meyering@lucent.com>
67838
67839         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
67840         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
67841
67842 2000-02-08  Akim Demaille  <akim@epita.fr>
67843
67844         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
67845         `[' and `]' and remove uses of `changequote'.
67846         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
67847         (AC_SYS_LARGEFILE): Likewise.
67848         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
67849         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
67850         of changequote.
67851         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
67852         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
67853         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
67854         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
67855
67856 2000-02-05  Jim Meyering  <meyering@lucent.com>
67857
67858         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
67859         Remove explicit use of AC_HEADER_TIME.  It is required by
67860         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
67861         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
67862         in autoconf whereby the expansion of the latter ended up preceding
67863         the expansion of its prerequisite, AC_HEADER_TIME.
67864         Reported by Volker Borchert.
67865
67866 2000-02-03  Jim Meyering  <meyering@lucent.com>
67867
67868         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
67869
67870 2000-02-03  Jim Meyering  <meyering@lucent.com>
67871
67872         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
67873         rather than with `#if HAVE_UTMPNAME'.
67874
67875 2000-02-02  Jim Meyering  <meyering@lucent.com>
67876
67877         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
67878         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
67879         Reported by Eli Zaretskii.
67880
67881 2000-02-01  Jim Meyering  <meyering@lucent.com>
67882
67883         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
67884
67885 2000-01-31  Jim Meyering  <meyering@lucent.com>
67886
67887         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
67888         functions.  Add the time.h and sys/time.h headers along with the
67889         AC_REQUIRE'ment of AC_HEADER_TIME.
67890
67891 2000-01-31  Jim Meyering  <meyering@lucent.com>
67892
67893         * lib/nanosleep.h (nanosleep): Guard declaration with
67894         `#if ! HAVE_DECL_NANOSLEEP'.
67895         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
67896         the declaration in that vendor's sys/timers.h.
67897         Reported by Christian Krackowizer.
67898
67899         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
67900         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
67901         (ISPRINT): Likewise.
67902         Reported by Tom Tromey.
67903
67904 2000-01-30  Jim Meyering  <meyering@lucent.com>
67905
67906         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
67907
67908         * m4/prereq.m4 (utmp_includes): Define.
67909         Check for ut_user and ut_name members in both struct utmpx
67910         and struct utmp.
67911
67912 2000-01-30  Jim Meyering  <meyering@lucent.com>
67913
67914         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
67915         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
67916         header files where only utmpx.ut_user is declared.
67917
67918         * lib/readutmp.h (UT_USER): Define.
67919
67920 2000-01-29  Jim Meyering  <meyering@lucent.com>
67921
67922         * m4/lib-check.m4: New file containing library-related checks from
67923         fileutils and sh-utils (textutils had none).
67924
67925 2000-01-28  Jim Meyering  <meyering@lucent.com>
67926
67927         * m4/perl.m4: Change format of warning message to look more like that
67928         from the missing script.  Suggestion from François Pinard.
67929
67930 2000-01-25  Jim Meyering  <meyering@lucent.com>
67931
67932         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
67933         well as time.h in the compile check.
67934         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
67935         Fix typo in cross-compiling case: s/yes/no/.
67936
67937 2000-01-23  Jim Meyering  <meyering@lucent.com>
67938
67939         * m4/jm-macros.m4: Move df-related tests here from
67940         fileutils/configure.in
67941
67942         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
67943         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
67944
67945         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
67946         s/space/ac_fsusage_space/.
67947         (jm_FILE_SYSTEM_USAGE): Take two parameters.
67948
67949         * m4/ftruncate.m4: New file (derived from part of
67950         fileutils/configure.in).
67951         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
67952         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
67953
67954         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
67955         AC_SUBST these here, rather than just in sh-util/configure.in, so
67956         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
67957         all the same.
67958         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
67959         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
67960         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
67961         (AC_SUBST(POW_LIBM)): Likewise.
67962         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
67963
67964 2000-01-23  Jim Meyering  <meyering@lucent.com>
67965
67966         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
67967         obstack.c.
67968
67969 2000-01-22  Jim Meyering  <meyering@lucent.com>
67970
67971         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
67972
67973         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
67974
67975         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
67976         configure.in
67977         (AC_CHECK_HEADERS): Likewise for sh-utils.
67978         (AC_CHECK_HEADERS): Likewise for textutils.
67979         Merge the three lists of headers.
67980
67981         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
67982         from fileutils' configure.in.
67983
67984         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
67985         code. Moved tests into their own function (_jm_DECL_HEADERS) in
67986         check-decl.m4.
67987
67988         * m4/check-decl.m4: Use #if rather than #ifdef.
67989         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
67990         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
67991         (_jm_DECL_HEADERS): Define new function.
67992         (jm_CHECK_DECLARATIONS): Require it.
67993
67994 2000-01-22  Jim Meyering  <meyering@lucent.com>
67995
67996         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
67997         [! HAVE_DECL_STRTOULL]: Declare strtoull.
67998         Required for some AIX systems.  Reported by Christian Krackowizer.
67999         [TESTING] (main): New function.
68000
68001         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
68002         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
68003         letters.
68004
68005         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
68006         iswprint.
68007
68008         * lib/strverscmp.c (ISDIGIT): Define.
68009         (strverscmp): Use ISDIGIT, not isdigit.
68010
68011 2000-01-19  Jim Meyering  <meyering@lucent.com>
68012
68013         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
68014         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
68015         defines `struct timespec' in <sys/time.h>
68016
68017         * m4/c-bs-a.m4: Remove uses of changequote altogether.
68018         Thanks to Akim for explaining.
68019
68020 2000-01-17  Paul Eggert  <eggert@twinsun.com>
68021
68022         * lib/nanosleep.c (nanosleep):
68023         Don't use SA_INTERRUPT to decide whether to call sigaction, as
68024         POSIX.1 doesn't require SA_INTERRUPT and some systems
68025         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
68026         it's been part of POSIX.1 since day 1 (in 1988).
68027
68028 2000-01-17  Jim Meyering  <meyering@lucent.com>
68029
68030         * lib/interlock: Remove unused file.  Reported by François Pinard.
68031
68032 2000-01-16  Paul Eggert  <eggert@twinsun.com>
68033
68034         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
68035         alert, backslash, formfeed, and vertical tab unnecessarily in
68036         shell quoting style.
68037
68038 2000-01-16  Jim Meyering  <meyering@lucent.com>
68039
68040         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
68041         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
68042         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
68043         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
68044
68045 2000-01-16  Jim Meyering  <meyering@lucent.com>
68046
68047         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
68048         because the latter didn't work.
68049
68050 2000-01-15  Jim Meyering  <meyering@lucent.com>
68051
68052         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
68053         (AC_REPLACE_FUNCS): Add memcpy and memset.
68054         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
68055         Add strpbrk.
68056         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
68057
68058 2000-01-12  Jim Meyering  <meyering@lucent.com>
68059
68060         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
68061         (jm_PREREQ): Use it.
68062         (jm_PREREQ_READUTMP): New macro.
68063         (jm_PREREQ): Use it.
68064
68065 2000-01-11  Paul Eggert  <eggert@twinsun.com>
68066
68067         Quote multibyte characters correctly.
68068         * m4/c-bs-a.m4: New file.
68069         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
68070         (jm_PREREQ): Use it.
68071
68072 2000-01-11  Paul Eggert  <eggert@twinsun.com>
68073
68074         * m4/uintmax_t.m4: Port to autoconf 2.13.
68075
68076 2000-01-08  Jim Meyering  <meyering@ascend.com>
68077
68078         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
68079         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
68080
68081 2000-01-04  Jim Meyering  <meyering@ascend.com>
68082
68083         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
68084         jm_STRUCT_DIRENT_D_TYPE.
68085         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
68086         jm_STRUCT_DIRENT_D_INO.
68087         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
68088         jm_STRUCT_UTIMBUF.
68089         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
68090         renamings.
68091         * m4/utime.m4: Likewise.
68092
68093         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
68094         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
68095
68096 2000-01-03  Paul Eggert  <eggert@twinsun.com>
68097
68098         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
68099         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
68100
68101 2000-01-02  Jim Meyering  <meyering@ascend.com>
68102
68103         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
68104         remember if this is necessary.
68105
68106 1999-12-26  Jim Meyering  <meyering@ascend.com>
68107
68108         * m4/jm-macros.m4: Use it here.
68109         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
68110
68111 1999-12-23  Jim Meyering  <meyering@ascend.com>
68112
68113         * m4/jm-macros.m4: Check for clock_gettime (moved from
68114         fileutils/configure.in)
68115         Check for gettimeofday.
68116
68117 1999-12-20  Jim Meyering  <meyering@ascend.com>
68118
68119         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
68120         autoconf-2.14a-1999-12-20.
68121
68122 1999-12-19  Jim Meyering  <meyering@ascend.com>
68123
68124         * m4/lstat-slash.m4: New file.
68125         * m4/jm-macros.m4: Use the new macro:
68126         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
68127
68128 1999-12-07  Jim Meyering  <meyering@ascend.com>
68129
68130         * m4/perl.m4: Require that File::Compare be available, too.
68131         Too many systems seem to lack it.
68132
68133         * m4/strftime.m4: Add checks for most of the cpp macros tested in
68134         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
68135
68136 1999-11-18  Paul Eggert  <eggert@twinsun.com>
68137
68138         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
68139         problem with the QNX 4.25 shell, which doesn't propagate exit
68140         status of failed commands inside shell assignments.
68141
68142 1999-11-17  Jim Meyering  <meyering@ascend.com>
68143
68144         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
68145
68146 1999-11-07  Jim Meyering  <meyering@ascend.com>
68147
68148         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
68149
68150 1999-11-06  Jim Meyering  <meyering@ascend.com>
68151
68152         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
68153         * m4/jm-macros.m4 (jm_MACROS): Use it here.
68154
68155 1999-11-05  Jim Meyering  <meyering@ascend.com>
68156
68157         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
68158         configure.in of textutils, fileutils, and sh-utils into this one
68159         (shared between those packages) file.
68160         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
68161         AC_STRUCT_ST_BLKSIZE.
68162
68163 1999-11-03  Jim Meyering  <meyering@ascend.com>
68164
68165         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
68166         of AC_CHECK_TYPE checks includes unistd.h.
68167         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
68168         Suggestion from Akim Demaille.
68169
68170 1999-10-30  Jim Meyering  <meyering@ascend.com>
68171
68172         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
68173         m4-quoted string.
68174         * m4/ls-mntd-fs.m4: Likewise.
68175         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
68176         * m4/jm-winsz1.m4: Likewise.
68177
68178         * m4/const.m4: Remove file, since the fix made it into the experimental
68179         version of autoconf.
68180         * m4/mktime.m4: Likewise.
68181
68182         * m4/check-type.m4: Remove file, now that the latest version of
68183         AC_CHECK_TYPE takes a third arg to specify additional #includes.
68184
68185         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
68186         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
68187         AC_CHECK_TYPE.
68188
68189 1999-10-04  Jim Meyering  <meyering@ascend.com>
68190
68191         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
68192
68193 1999-09-22  Paul Eggert  <eggert@twinsun.com>
68194
68195         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
68196         2.95.1 bug with HP-UX 10.20.
68197
68198 1999-09-17  Jim Meyering  <meyering@ascend.com>
68199
68200         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
68201         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
68202         due to missing strdup (against sh-utils-2.0).
68203
68204 1999-08-29  Jim Meyering  <meyering@ascend.com>
68205
68206         * m4/jm-macros.m4: Require jm_BISON.
68207         * m4/bison.m4: New file.
68208
68209 1999-08-17  Paul Eggert  <eggert@twinsun.com>
68210
68211         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
68212         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
68213
68214 1999-08-05  Jim Meyering  <meyering@ascend.com>
68215
68216         * m4/getline.m4: Rename test file from conftestdata to conftest.data
68217         to avoid conflicts with `conftest' on 8+3 filesystems.
68218         Suggestion from Eli Zaretskii.
68219
68220 1999-08-04  Jim Meyering  <meyering@ascend.com>
68221
68222         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
68223         fileutils and sh-utils (textutils's getline test was inadequate).
68224         (AM_FUNC_GETLINE): Run this test.
68225         (AC_CHECK_FUNCS): Check for getdelim.
68226         Reported by Bob Proulx.
68227
68228 1999-08-02  Jim Meyering  <meyering@ascend.com>
68229
68230         * m4/jm-macros.m4: Add a comment.
68231
68232 1999-08-01  Paul Eggert  <eggert@twinsun.com>
68233
68234         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
68235         <inttypes.h> defines strtoumax as a macro (and not as a
68236         function).
68237
68238 1999-08-01  Paul Eggert  <eggert@twinsun.com>
68239
68240         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
68241         that we can shift, multiply and divide unsigned long long
68242         values; Ultrix cc can't do it.
68243
68244 1999-08-01  Paul Eggert  <eggert@twinsun.com>
68245
68246         * m4/mktime.m4: New file, which is a preview of what should appear
68247         in the next public autoconf release.
68248
68249 1999-08-01  Paul Eggert  <eggert@twinsun.com>
68250
68251         * m4/lfs.m4: Remove this file.
68252         * m4/largefile.m4: New file.  It contains the old contents of
68253         lfs.m4, except that all names with prefix AC_LFS have been
68254         changed to use the prefix AC_SYS_LARGEFILE instead, to be
68255         compatible with future autoconf versions.  Also, some minor m4
68256         quoting problems have been fixed.
68257
68258 1999-08-01  Paul Eggert  <eggert@twinsun.com>
68259
68260         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
68261         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
68262         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
68263         and simplify the shell code.
68264
68265 1999-08-01  Jim Meyering  <meyering@ascend.com>
68266
68267         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
68268         m4.
68269
68270 1999-07-20  Jim Meyering  <meyering@ascend.com>
68271
68272         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
68273
68274 1999-07-15  Jim Meyering  <meyering@ascend.com>
68275
68276         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
68277
68278 1999-05-22  Jim Meyering  <meyering@ascend.com>
68279
68280         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
68281
68282 1999-05-20  Jim Meyering  <meyering@ascend.com>
68283
68284         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
68285         Add a colon after each `then' in case $4 is empty.
68286
68287 1999-05-16  Jim Meyering  <meyering@ascend.com>
68288
68289         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
68290
68291 1999-05-10  Jim Meyering  <meyering@ascend.com>
68292
68293         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
68294
68295         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
68296         AC_FUNC_MKTIME.
68297
68298 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
68299
68300         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
68301
68302 1999-05-04  Paul Eggert  <eggert@twinsun.com>
68303
68304         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
68305         not CPPFLAGS, so that linking works correctly in IRIX.
68306
68307 1999-04-30  Paul Eggert  <eggert@twinsun.com>
68308
68309         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
68310
68311 1999-04-20  Paul Eggert  <eggert@twinsun.com>
68312
68313         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
68314         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
68315         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
68316         jm_AC_TYPE_UNSIGNED_LONG_LONG.
68317         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
68318
68319         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
68320
68321 1999-04-20  Jim Meyering  <meyering@ascend.com>
68322
68323         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
68324         AC_REPLACE xstroull if necessary.  From Paul Eggert.
68325         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
68326
68327 1999-04-18  Jim Meyering  <meyering@ascend.com>
68328
68329         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
68330         * m4/jm-macros.m4: Use it.
68331
68332 1999-04-06  Jim Meyering  <meyering@ascend.com>
68333
68334         * m4/strftime.m4: Remove test for %f.
68335
68336 1999-03-29  Jim Meyering  <meyering@ascend.com>
68337
68338         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
68339         superset of the AC_TYPE_* checks in the textutils, fileutils,
68340         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
68341         AC_TYPE_PID_T.
68342
68343 1999-03-28  Jim Meyering  <meyering@ascend.com>
68344
68345         * m4/jm-macros.m4: Define GNU_PACKAGE here.
68346         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
68347         replaced e.g., in the *.sh files of the sh-utils.
68348
68349 1999-03-20  Jim Meyering  <meyering@ascend.com>
68350
68351         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
68352         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
68353         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
68354
68355 1999-03-19  Jim Meyering  <meyering@ascend.com>
68356
68357         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
68358
68359 1999-03-12  Jim Meyering  <meyering@ascend.com>
68360
68361         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
68362
68363 1999-03-07  Jim Meyering  <meyering@ascend.com>
68364
68365         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
68366         declared.
68367
68368 1999-02-17  Jim Meyering  <meyering@ascend.com>
68369
68370         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
68371         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
68372
68373 1999-02-07  Jim Meyering  <meyering@ascend.com>
68374
68375         * m4/group-member.m4: New file -- extracted from sh-utils'
68376         configure.in.
68377
68378         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
68379         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
68380
68381 1999-02-06  Jim Meyering  <meyering@ascend.com>
68382
68383         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
68384         * m4/fnmatch.m4: Likewise.
68385         * m4/getgroups.m4: Likewise.
68386         * m4/lstat.m4: Likewise.
68387         * m4/malloc.m4: Likewise.
68388         * m4/putenv.m4: Likewise.
68389         * m4/realloc.m4: Likewise.
68390         * m4/regex.m4: Likewise.
68391         * m4/stat.m4: Likewise.
68392         * m4/strftime.m4: Likewise.
68393         Suggestion from Alain Magloire.
68394
68395         * m4/chown.m4: Use `.$ac_objext', not `.o'.
68396         * m4/fnmatch.m4: Likewise.
68397         * m4/getgroups.m4: Likewise.
68398         * m4/getline.m4: Likewise.
68399         * m4/lstat.m4: Likewise.
68400         * m4/malloc.m4: Likewise.
68401         * m4/memcmp.m4: Likewise.
68402         * m4/putenv.m4: Likewise.
68403         * m4/realloc.m4: Likewise.
68404         * m4/regex.m4: Likewise.
68405         * m4/stat.m4: Likewise.
68406         * m4/strftime.m4: Likewise.
68407         Suggestion from Alain Magloire.
68408
68409         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
68410         an argument.
68411
68412         * m4/regex.m4: Add a run-time Test for proper operation of
68413         re_compile_pattern.
68414
68415 1999-01-31  Jim Meyering  <meyering@ascend.com>
68416
68417         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
68418
68419 1999-01-30  Jim Meyering  <meyering@ascend.com>
68420
68421         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
68422
68423         * m4/jm-mktime.m4: Make this a wrapper around the official
68424         AM_FUNC_MKTIME rather than my private copy, now that the official one
68425         is up to date.
68426         * m4/mktime.m4: Remove file.
68427
68428         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
68429         * m4/uptime.m4: Likewise.
68430         * m4/uintmax_t.m4: Likewise.
68431
68432 1999-01-28  Jim Meyering  <meyering@ascend.com>
68433
68434         * m4/jm-macros.m4: Use jm_AFS.
68435         * m4/afs.m4: New file (from fileutils' configure.in).
68436
68437         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
68438         * m4/chown.m4: Likewise.
68439         * m4/d-ino.m4: Likewise.
68440         * m4/d-type.m4: Likewise.
68441         * m4/fnmatch.m4: Likewise.
68442         * m4/getgroups.m4: Likewise.
68443         * m4/gettext.m4: Likewise.
68444         * m4/jm-mktime.m4: Likewise.
68445         * m4/jm-winsz2.m4: Likewise.
68446         * m4/lcmessage.m4: Likewise.
68447         * m4/ls-mntd-fs.m4: Likewise.
68448         * m4/malloc.m4: Likewise.
68449         * m4/memcmp.m4: Likewise.
68450         * m4/putenv.m4: Likewise.
68451         * m4/realloc.m4: Likewise.
68452         * m4/st_mtim.m4: Likewise.
68453         * m4/strftime.m4: Likewise.
68454
68455 1999-01-16  Jim Meyering  <meyering@ascend.com>
68456
68457         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
68458         (ARGMATCH_DIE_DECL): Define.
68459
68460 1999-01-12  Jim Meyering  <meyering@ascend.com>
68461
68462         * m4/Makefile.am.in: Rewrite to avoid using fmt.
68463         Reported by Lars Hecking.
68464
68465 1999-01-10  Jim Meyering  <meyering@ascend.com>
68466
68467         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
68468         gross kludge.
68469         * m4/inttypes_h.m4: Likewise.
68470         * m4/lstat.m4: Likewise.
68471         * m4/malloc.m4: Likewise.
68472         * m4/readdir.m4: Likewise.
68473         * m4/realloc.m4: Likewise.
68474         * m4/st_dm_mode.m4: Likewise.
68475         * m4/stat.m4: Likewise.
68476         * m4/utimbuf.m4: Likewise.
68477         * m4/utimes.m4: Likewise.
68478
68479         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
68480         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
68481         comments in config.h.in are meaningful.
68482
68483         * m4/jm-macros.m4: Require autoconf-2.13 here.
68484
68485         * m4/regex.m4: By default, don't use the included regex.c on systems
68486         with glibc 2.  Suggestion from Uli Drepper.
68487
68488 1999-01-02  Jim Meyering  <meyering@ascend.com>
68489
68490         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
68491
68492 1998-12-18  Jim Meyering  <meyering@ascend.com>
68493
68494         * m4/Makefile.am.in (Makefile.am): Simplify rule.
68495         Based on a suggestion from Lars Hecking.
68496
68497 1998-11-16  Paul Eggert  <eggert@twinsun.com>
68498
68499         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
68500
68501 1998-11-16  Jim Meyering  <meyering@ascend.com>
68502
68503         * m4/lfs.m4: Double-quote the `uname...` expression.
68504
68505 1998-11-14  Jim Meyering  <meyering@ascend.com>
68506
68507         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
68508         * m4/stat.m4: Likewise.
68509
68510 1998-11-03  Jim Meyering  <meyering@ascend.com>
68511
68512         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
68513         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
68514
68515 1998-10-18  Jim Meyering  <meyering@ascend.com>
68516
68517         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
68518
68519 1998-10-17  Jim Meyering  <meyering@ascend.com>
68520
68521         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
68522         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
68523         calls for those previously hard-coded headers.  Instead, take a new
68524         parameter.
68525         (jm_CHECK_DECLARATIONS): Reflect interface change.
68526         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
68527         (jm_CHECK_DECL_LOCALTIME_R): New macro.
68528
68529         * m4/mktime.m4: Test for spring-forward gap before long-running test.
68530
68531 1998-10-14  Jim Meyering  <meyering@ascend.com>
68532
68533         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
68534         instead of "TZ=America/Vancouver".  From Paul Eggert.
68535
68536 1998-10-11  Jim Meyering  <meyering@ascend.com>
68537
68538         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
68539         This adds a test for a recently added compatibility fix for mktime.c.
68540         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
68541
68542 1998-09-27  Jim Meyering  <meyering@ascend.com>
68543
68544         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
68545
68546         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
68547         ../configure.in, including a change from Gordon Matzigkeit to allow
68548         cross-compiling for the Hurd.
68549
68550         * m4/glibc.m4: New file/macro to test for the GNU C Library
68551         versions 1 and 2.  From Gordon Matzigkeit.
68552         Indent.
68553
68554 1998-09-21  Jim Meyering  <meyering@ascend.com>
68555
68556         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
68557
68558 1998-08-18  Paul Eggert  <eggert@twinsun.com>
68559
68560         Port nanosecond-resolution times to UnixWare 2.1.2 and
68561         pedantic Solaris 2.6.
68562
68563         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
68564         AC_STRUCT_ST_MTIM.
68565         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
68566         Generate name of ns member, instead of just 1 or undef.
68567         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
68568
68569 1998-08-15  Jim Meyering  <meyering@ascend.com>
68570
68571         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
68572         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
68573         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
68574         instead of jm_TYPE_SSIZE_T.
68575
68576 1998-08-12  Jim Meyering  <meyering@ascend.com>
68577
68578         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
68579
68580 1998-08-02  Jim Meyering  <meyering@ascend.com>
68581
68582         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
68583         in acconfig.h manually.
68584
68585 1998-07-31  Paul Eggert  <eggert@twinsun.com>
68586
68587         * m4/st_mtim.m4: New file.
68588
68589 1998-07-28  Jim Meyering  <meyering@ascend.com>
68590
68591         * m4/utimes.m4: Undef stat.
68592
68593 1998-07-25  Jim Meyering  <meyering@ascend.com>
68594
68595         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
68596         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
68597
68598 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
68599
68600         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
68601         uid and gid actually remain unchanged.
68602
68603 1998-07-07  Jim Meyering  <meyering@ascend.com>
68604
68605         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
68606
68607 1998-07-04  Jim Meyering  <meyering@ascend.com>
68608
68609         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
68610         to prove that this macro can be used in packages without regex.c.
68611
68612 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
68613
68614         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
68615         is to be used.
68616
68617 1998-07-03  Jim Meyering  <meyering@ascend.com>
68618
68619         * m4/gettext.m4: Add -lintl if it's found to be necessary.
68620
68621         * m4/gettext.m4: New file -- from gettext-0.10.35.
68622         * m4/lcmessage.m4: Likewise.
68623         * m4/progtest.m4: Likewise.
68624
68625         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
68626         * m4/jm-macros.m4: Require the new macro.
68627
68628 1998-06-29  Jim Meyering  <meyering@ascend.com>
68629
68630         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
68631         for the definition of NGROUPS (used in a system header included
68632         by sys/mount.h).
68633
68634 1998-06-28  Jim Meyering  <meyering@ascend.com>
68635
68636         * m4/ls-mntd-fs.m4: New file.
68637         * m4/fstypename.m4: New file.
68638
68639         * m4/jm-macros.m4: Require the new macro.
68640         * m4/jm-glibc-io.m4: New file.
68641
68642 1998-05-19  Jim Meyering  <meyering@ascend.com>
68643
68644         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
68645         * m4/lchown.m4: New file.
68646
68647         * m4/Makefile.am.in: New file.
68648         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
68649
68650 1998-05-14  Jim Meyering  <meyering@ascend.com>
68651
68652         * m4/Makefile.am (EXTRA_DIST): Add them.
68653         * m4/jm-macros.m4: New file.
68654         * m4/utimbuf.m4: New file.
68655
68656 1998-05-12  Jim Meyering  <meyering@ascend.com>
68657
68658         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
68659
68660 1998-05-11  Jim Meyering  <meyering@ascend.com>
68661
68662         * m4/isc-posix.m4: New file.
68663
68664 1998-05-10  Jim Meyering  <meyering@ascend.com>
68665
68666         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
68667
68668 1998-05-09  Jim Meyering  <meyering@ascend.com>
68669
68670         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
68671         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
68672         with automake.
68673
68674         * m4/ssize_t.m4: New file.
68675         * m4/mktime.m4: Remove file -- the new automake has this now.
68676
68677 1998-04-26  Jim Meyering  <meyering@ascend.com>
68678
68679         * m4/assert.m4: New file.
68680         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
68681
68682 1998-04-05  Jim Meyering  <meyering@ascend.com>
68683
68684         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
68685         (jm_PREREQ): Use it here.
68686
68687 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
68688
68689         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
68690         in acconfig.h.
68691
68692 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
68693
68694         * m4/prereq.m4: New file.
68695         * m4/error.m4: New file.
68696         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
68697
68698 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
68699
68700         * m4/getline.m4: Don't set am_cv_func_working_getline before the
68701         cache-check for the same variable -- that defeated the purpose of
68702         the test; the test program was never run.  This was a problem only
68703         on systems with losing getline functions -- HP-UX 10.20 is one.
68704         Reported by Bjorn Helgaas.
68705
68706 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
68707
68708         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
68709
68710 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
68711
68712         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
68713
68714         * m4/const.m4: New file.  Use an initializer in this declaration
68715         typedef int charset[2]; const charset x;
68716         Reported by Bob Glickstein.
68717
68718 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
68719
68720         * m4/chown.m4: Fix reversed types on -1 args to chown.
68721         From Kaveh Ghazi.
68722
68723 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
68724
68725         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
68726         Add lseek and memchr.
68727
68728         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
68729         T.E.Dickey <dickey@clark.net> said that some older preprocessors
68730         have a 20-character limit on names.
68731
68732 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
68733
68734         * m4/inttypes_h.m4: New file.
68735         * m4/uintmax_t.m4: New file.
68736         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
68737
68738
68739         -----
68740
68741         Local Variables:
68742         coding: utf-8
68743         End:
68744
68745         Copyright (C) 1997-2010 Free Software Foundation, Inc.
68746
68747         Copying and distribution of this file, with or without
68748         modification, are permitted provided the copyright notice
68749         and this notice are preserved.