b0c492705f235e86c72f8675c03e1802036d1a42
[gnulib.git] / ChangeLog
1 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2             Bruno Haible  <bruno@clisp.org>
3
4         Make the module 'calloc-gnu' work again on AIX and OSF/1.
5         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
6         HAVE_CALLOC.
7         * lib/xmalloc.c: Update accordingly.
8         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
9         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
10         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
11
12 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13             Bruno Haible  <bruno@clisp.org>
14
15         Make the module 'malloc-gnu' work again on AIX and OSF/1.
16         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
17         HAVE_MALLOC.
18         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
19         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
20         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
21
22 2010-08-29  Bruno Haible  <bruno@clisp.org>
23
24         Update modules list.
25         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
26         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
27         (String handling <string.h>): Add astrxfrm.
28         (File system functions): Add readlinkat.
29
30 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31
32         Tests for module 'realloc-gnu'.
33         * modules/realloc-gnu-tests: New file.
34         * tests/test-realloc-gnu.c: New file.
35
36         Tests for module 'calloc-gnu'.
37         * modules/calloc-gnu-tests: New file.
38         * tests/test-calloc-gnu.c: New file.
39
40         Tests for module 'malloc-gnu'.
41         * modules/malloc-gnu-tests: New file.
42         * tests/test-malloc-gnu.c: New file.
43
44 2010-08-28  Bruno Haible  <bruno@clisp.org>
45
46         Rename module 'realloc' -> 'realloc-gnu'.
47         * modules/realloc-gnu: New file, copied from modules/realloc.
48         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
49         obsolete.
50         * modules/mgetgroups (Depends-on): Update.
51         * doc/posix-functions/realloc.texi: Update.
52         * NEWS: Mention the change.
53
54         Rename module 'calloc' -> 'calloc-gnu'.
55         * modules/calloc-gnu: New file, copied from modules/calloc.
56         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
57         obsolete.
58         * doc/posix-functions/calloc.texi: Update.
59         * NEWS: Mention the change.
60
61         Rename module 'malloc' -> 'malloc-gnu'.
62         * modules/malloc-gnu: New file, copied from modules/malloc.
63         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
64         obsolete.
65         * modules/argp (Depends-on): Update.
66         * modules/regex (Depends-on): Update.
67         * doc/posix-functions/malloc.texi: Update.
68         * NEWS: Mention the change.
69
70 2010-08-28  Eric Blake  <eblake@redhat.com>
71
72         pread, pwrite: add missing dependency
73         * modules/pread (Depends-on): Add extensions.
74         * modules/pwrite (Depends-on): Likewise.
75
76 2010-08-28  Bruno Haible  <bruno@clisp.org>
77
78         unistr/u*-strchr: Fix tests dependencies.
79         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
80         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
81         Reported by Ian Beckwith <ianb@erislabs.net>.
82
83 2010-08-28  Bruno Haible  <bruno@clisp.org>
84
85         read-file: Don't occupy too much unused memory.
86         * lib/read-file.c (fread_file): Shrink the buffer at the end.
87
88 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
89             Eric Blake  <eblake@redhat.com>
90             Bruno Haible  <bruno@clisp.org>
91
92         read-file: Avoid memory reallocations with regular files.
93         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
94         (fread_file): With regular files, use the remaining length as the
95         initial buffer size.  Check against overflow.
96         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
97         sys_stat.
98
99 2010-08-28  Bruno Haible  <bruno@clisp.org>
100
101         ftello: Relax license.
102         * modules/ftello (License): Relax to LGPLv2+.
103         Reported by Eric Blake.
104
105 2010-08-28  Bruno Haible  <bruno@clisp.org>
106
107         Avoid relocwrapper link errors due to gnulib replacement functions.
108         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
109         function.
110         Reported by Ben Pfaff <blp@cs.stanford.edu>.
111
112 2010-08-28  Bruno Haible  <bruno@clisp.org>
113
114         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
115         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
116         defined.
117         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
118         Suggested by Eric Blake.
119
120 2010-08-28  Bruno Haible  <bruno@clisp.org>
121
122         sys_socket, netdb: Ensure socklen_t gets defined.
123         * modules/sys_socket (Depends-on): Add socklen.
124         * modules/netdb (Depends-on): Likewise.
125         * modules/getaddrinfo (Depends-on): Remove socklen.
126         * modules/getsockopt (Depends-on): Likewise.
127         * modules/setsockopt (Depends-on): Likewise.
128         * tests/test-sys_socket.c: Check that socklen_t is defined.
129         * tests/test-netdb.c: Likewise.
130         * m4/socklen.m4: Update comments.
131         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
132
133 2010-08-27  Eric Blake  <eblake@redhat.com>
134
135         login_tty: add missing dependency
136         * modules/login_tty (Depends-on): Add pty.
137
138 2010-08-26  Eric Blake  <eblake@redhat.com>
139
140         lib-symbol-versions: fix m4 quoting
141         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
142         format for AC_LINK_IFELSE.
143
144         glob: fix compile test
145         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
146
147         btowc: fix missing file
148         * modules/btowc (Files): Also ship locale-fr.m4.
149
150         lseek: fix link test
151         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
152         AC_LINK_IFELSE.
153
154         include_next: silence autoconf 2.68 warning
155         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
156         AC_COMPILE_IFELSE as special.
157         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
158         autoconf < 2.68.
159
160         acl: fix compilation test
161         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
162         AC_COMPILE_IFELSE.
163
164 2010-08-26  Bruno Haible  <bruno@clisp.org>
165
166         Modernize AC_TRY_RUN invocations.
167         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
168         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
169         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
170         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
171         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
172         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
173         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
174         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
175         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
176         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
177         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
178         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
179         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
180         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
181         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
182         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
183         gl_MBRLEN_NUL_RETVAL): Likewise.
184         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
185         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
186         Likewise.
187         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
188         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
189         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
190         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
191         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
192         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
193         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
194         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
195         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
196         Likewise.
197         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
198         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
199         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
200         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
201         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
202         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
203         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
204         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
205         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
206         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
207
208 2010-08-26  Bruno Haible  <bruno@clisp.org>
209
210         Modernize AC_TRY_LINK invocations.
211         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
212         AC_TRY_LINK.
213         * m4/argp.m4 (gl_ARGP): Likewise.
214         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
215         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
216         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
217         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
218         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
219         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
220         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
221         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
222         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
223         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
224         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
225         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
226         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
227         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
228         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
229         * m4/hostent.m4 (gl_HOSTENT): Likewise.
230         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
231         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
232         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
233         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
234         Likewise.
235         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
236         Likewise.
237         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
238         Likewise.
239         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
240         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
241         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
242         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
243         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
244         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
245         * m4/servent.m4 (gl_SERVENT): Likewise.
246         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
247         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
248         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
249         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
250         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
251         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
252         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
253         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
254         * modules/tsearch-tests (configure.ac): Likewise.
255
256 2010-08-26  Bruno Haible  <bruno@clisp.org>
257
258         Modernize AC_TRY_COMPILE invocations.
259         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
260         AC_TRY_COMPILE.
261         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
262         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
263         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
264         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
265         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
266         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
267         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
268         * m4/lock.m4 (gl_LOCK): Likewise.
269         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
270         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
271         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
272         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
273         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
274         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
275         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
276         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
277         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
278         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
279         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
280         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
281         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
282         extraneous semicolon.
283
284 2010-08-26  Jim Meyering  <meyering@redhat.com>
285
286         stat-time: relax license LGPL
287         * modules/stat-time (License): Change from GPL to LGPL,
288         with consent from all contributors, for use in libguile.
289         Requested by Ludovic Courtès.
290
291 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
292
293         poll: return immediately on POLLHUP.
294         * lib/poll.c (poll): Always set timeout before wait_timeout is
295         computed.
296
297 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
298
299         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
300         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
301         rmdir ("dir/.//"), unlinkat.
302
303 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
304
305         stdbool: avoid spurious failure with modern xlc
306         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
307
308 2010-08-24  Bruno Haible  <bruno@clisp.org>
309
310         getloadavg: simplify code
311         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
312         gl_have_func. Update comments.
313
314 2010-08-24  Eric Blake  <eblake@redhat.com>
315
316         getloadavg: don't define SVR4 on cygwin
317         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
318         only define SVR4 when -lkvm is required.
319         Reported by Yaakov Selkowitz.
320
321 2010-08-24  Bruno Haible  <bruno@clisp.org>
322
323         priv-set: fix comment
324         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
325
326 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
327
328         priv-set: fix comments
329         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
330         to match code, as suggested by David Bartley in:
331         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
332
333 2010-08-23  Eric Blake  <eblake@redhat.com>
334
335         stdbool: avoid rejecting clang
336         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
337         * tests/test-stdbool.c: Enable more tests if using the system
338         <stdbool.h> instead of the gnulib replacement.
339         (main): Move xlc bug test to a runtime test for all compilers.
340         Reported by Anders Kaseorg.
341
342         argz: fix shell quoting issue
343         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
344         Reported by Charles Wilson.
345
346 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
347             Erik Faye-Lund <kusmabite@gmail.com>
348
349         poll, select: handle ERROR_BROKEN_PIPE.
350         * lib/poll.c (win32_compute_revents): Return POLLHUP when
351         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
352         * lib/select.c (win32_compute_revents): Do not mark a pipe
353         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
354
355 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
356
357         fts: allow compilation with C++
358         * lib/fts_.h: Specify extern "C" linkage with C++.
359
360 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
361
362         Fix gnulib-tool sed script de-commentation for AIX sed.
363         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
364         sed.
365
366 2010-08-17  Eric Blake  <eblake@redhat.com>
367
368         test-stddef: test for (some) offsetof bugs
369         * tests/test-stddef.c: Enhance test to ensure correct type of
370         offsetof.
371         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
372         that we are not fixing at this time.
373
374 2010-08-15  Bruno Haible  <bruno@clisp.org>
375
376         stpncpy: Allow stpncpy to be defined as a macro.
377         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
378         if it's already correctly declared.
379         * lib/string.in.h (stpncpy): Undefine before redefining.
380         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
381
382 2010-08-14  Bruno Haible  <bruno@clisp.org>
383
384         Rename module 'memxfrm' to 'amemxfrm'.
385         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
386         (amemxfrm): Renamed from memxfrm.
387         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
388         (amemxfrm): Renamed from memxfrm.
389         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
390         * NEWS: Mention the change.
391         * MODULES.html.sh (String handling <string.h>): Update.
392         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
393         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
394         * lib/unicase/u16-casexfrm.c: Likewise.
395         * lib/unicase/u32-casexfrm.c: Likewise.
396         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
397         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
398         * lib/uninorm/u16-normxfrm.c: Likewise.
399         * lib/uninorm/u32-normxfrm.c: Likewise.
400         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
401         memxfrm.
402         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
403         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
404         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
405         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
406         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
407         Suggested by Paul Eggert.
408
409 2010-08-14  Bruno Haible  <bruno@clisp.org>
410
411         Tests for module 'astrxfrm'.
412         * modules/astrxfrm-tests: New file.
413         * tests/test-astrxfrm.c: New file.
414
415         New module 'astrxfrm'.
416         * lib/astrxfrm.h: New file.
417         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
418         * modules/astrxfrm: New file.
419
420 2010-08-14  Reuben Thomas <rrt@sc3d.org>
421
422         regex: Tweak doc.
423         * doc/regex.texi (Overview): Don't mention regex.c.
424         (GNU Regular Expression Compiling): Likewise.
425         (Match-end-of-line Operator): Mention 'not_eol'.
426
427 2010-08-14  Brian Gough  <bjg@gnu.org>
428             Bruno Haible  <bruno@clisp.org>
429
430         git-merge-changelog: add doc relating to use with bzr and hg.
431         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
432
433 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
434
435         pthread: fix pthread.h creation for srcdir != builddir
436         * modules/pthread (Makefile.am): Fix the rule to work also in a
437         non-srcdir build.
438
439 2010-08-13  Karl Berry  <karl@gnu.org>
440
441         * doc/regex.texi (Predefined Syntaxes): @smallexample.
442         * doc/posix-*/*: force line break before @url of POSIX
443         specifications.
444         Suggested by Werner Lemberg.
445
446 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
447
448         strtod: fix const diagnostic
449         * lib/strtod.c (strtod): Don't assign const char * to char *,
450         as this elicits a warning from GCC when warnings are enabled.
451
452 2010-08-10  Pádraig Brady <P@draigbrady.com>
453         and Eric Blake  <eblake@redhat.com>
454
455         copy-acl: ignore ENOTSUP on HP-UX
456         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
457         so that it is available for HP-UX.
458         * lib/copy-acl.c (qcopy_acl): Use it.
459         Reported by Patrick M. Callahan.
460
461 2010-08-10  Eric Blake  <eblake@redhat.com>
462
463         open, chown: relax license
464         * modules/open (License): Change to LGPLv2+, with consent by all
465         authors, for use in augeas.
466         * modules/chown (License): Likewise.
467         * modules/lchown (Likewise): Likewise.
468         Requested by Adam Stokes.
469
470 2010-08-09  Karl Berry  <karl@gnu.org>
471
472         * build-aux/ar-lib: new file, import from Automake.
473         * config/srclist.txt: autocheck for updates.
474
475 2010-08-09  Eric Blake  <eblake@redhat.com>
476
477         readlinkat: adjust client modules
478         * modules/areadlinkat (Depends-on): Use readlinkat, not
479         symlinkat.
480         * modules/areadlinkat-with-size (Depends-on): Likewise.
481
482         mknod: be more vocal about danger of running tests as root
483         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
484         root, since that is just asking for problems.
485         Suggested by Bruno Haible, based on a report by Rainer Tammer.
486
487         readlinkat: split into its own module
488         * modules/symlinkat: Split readlinkat...
489         * modules/readlinkat: ...into separate module.
490         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
491         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
492         * lib/symlinkat.c (readlinkat): Move...
493         * lib/readlinkat.c: ...into new file.
494         * modules/symlinkat-tests: Split readlinkat test...
495         * modules/readlinkat-tests: ...into separate module.
496         * tests/test-symlinkat.c: Split...
497         * tests/test-readlinkat.c: ...into new file.
498         * NEWS: Document the split.
499         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
500         * lib/unistd.in.h (readlinkat): Likewise.
501         Suggested by Bruno Haible.
502
503 2010-08-08  Bruno Haible  <bruno@clisp.org>
504
505         memxfrm: Speed up.
506         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
507         that usually only one call to strxfrm is necessary for each string
508         part.
509         Reported by Paul Eggert <eggert@cs.ucla.edu>.
510
511 2010-08-07  Karl Berry  <karl@gnu.org>
512
513         * doc/posix-headers/limits.texi,
514         * doc/posix-functions/malloc.texi,
515         * doc/posix-functions/strsignal.texi: missing @item.
516         * doc/ld-version-script.texi: spurious leading i.
517         * doc/regex.texi (Interval Operators): no commas inside @var.
518
519 2010-08-01  Bruno Haible  <bruno@clisp.org>
520
521         Integrate the regex documentation.
522         * doc/gnulib.texi: Define 'cn' index.
523         (Regular expressions): New a chapter that includes regex.texi and
524         regexprops-generic.texi.
525         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
526         syntax.
527
528         Whitespace cleanup.
529         * doc/regex.texi: Remove trailing spaces.
530
531         Add regex documentation.
532         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
533         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
534         Written by Kathy A. Hargreaves and Karl Berry.
535
536 2010-08-01  Bruno Haible  <bruno@clisp.org>
537
538         link: Update documentation.
539         * doc/posix-functions/link.texi: Update regarding Solaris.
540
541 2010-07-31  Bruno Haible  <bruno@clisp.org>
542
543         Update modules list.
544         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
545         (String handling <string.h>): Add memcmp2, memxfrm.
546         (Container data structures): Add xlist, xsublist, xoset.
547         (Core language properties): Add alignof, unused-parameter.
548         (Process control, Numeric conversion functions <stdlib.h>): Renamed
549         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
550         (Unibyte characters <ctype.h>): New section.
551         (String handling <string.h>): New section.
552         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
553         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
554         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
555         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
556         tan, tanh, tanl, y0, y1, yn.
557         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
558         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
559         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
560         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
561         unlockpt, vdprintf, vdprintf-posix.
562         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
563         (File system functions): Add concat-filename, sys_file, sys_ioctl,
564         xconcat-filename.
565         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
566         getdtablesize, pipe2, pipe2-safer.
567         (Security): New section.
568         (Networking functions): Add accept4.
569         (Signal handling): Add sigpipe.
570         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
571         mbmemcasecoll.
572         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
573         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
574         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
575         pipe-filter-ii.
576         (Misc): Add argp-version-etc, login_tty, parse-duration.
577
578 2010-07-31  Bruno Haible  <bruno@clisp.org>
579
580         Improve doc in MODULES.html.
581         * modules/linkat (Description): Add the word "function".
582         * modules/mkfifo (Description): Likewise.
583         * modules/mknod (Description): Likewise.
584         * modules/remove (Description): Likewise.
585         * modules/renameat (Description): Likewise.
586         * modules/stat (Description): Likewise.
587         * modules/symlink (Description): Likewise.
588         * modules/unlink (Description): Likewise.
589
590 2010-07-31  Bruno Haible  <bruno@clisp.org>
591
592         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
593         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
594         option --enable/disable-c++ instead of --enable/disable-cxx.
595         * NEWS: Mention the change.
596
597 2010-07-31  Bruno Haible  <bruno@clisp.org>
598
599         readlink, areadlink: Relax test a bit.
600         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
601         alternative to ENOTDIR.
602         * tests/test-areadlink.h (test_areadlink): Likewise.
603         Reported by Rainer Tammer.
604
605 2010-07-31  Bruno Haible  <bruno@clisp.org>
606
607         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
608         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
609         character, perform the search using U_STRCHR.
610         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
611         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
612         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
613         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
614         Suggested by Paolo Bonzini.
615
616 2010-07-31  Bruno Haible  <bruno@clisp.org>
617
618         unistr/u*-strstr: Fix dependencies.
619         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
620         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
621         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
622
623 2010-07-31  Bruno Haible  <bruno@clisp.org>
624
625         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
626         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
627         the beginning of the loop.
628         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
629         cases in 'switch' statement.
630
631         unistr/u8-strchr: Fix several bugs.
632         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
633         the string. When not found, return NULL, not a pointer near the end.
634
635         More tests for unistr/u8-strchr.
636         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
637         that the function does not read past the first occurrence of the byte
638         being searched.
639         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
640         * tests/unistr/test-u16-strchr.c (main): New function.
641         * tests/unistr/test-u32-strchr.c (main): New function.
642
643 2010-07-31  Bruno Haible  <bruno@clisp.org>
644
645         posix-modules: Ignore backup files of documentation files.
646         * posix-modules: grep only through files named *.texi.
647
648 2010-07-31  Bruno Haible  <bruno@clisp.org>
649
650         symlinkat: Fix documentation.
651         * doc/posix-functions/readlinkat.texi: Fix module name.
652
653 2010-07-31  Bruno Haible  <bruno@clisp.org>
654
655         fchownat: Replace also when chown has the trailing slash bug.
656         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
657         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
658         introduced on 2010-04-10.
659         Reported by Rainer Tammer.
660
661 2010-07-31  Bruno Haible  <bruno@clisp.org>
662
663         linkat: Work around AIX 7.1 bug.
664         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
665         whether linkat handles trailing slash correctly. If not, replace linkat
666         and define LINKAT_TRAILING_SLASH_BUG.
667         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
668         check whether (fd1,file1) points to a directory if file1 or file2 ends
669         in a slash. Code taken from lib/link.c.
670         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
671         Reported by Rainer Tammer.
672
673 2010-07-31  Bruno Haible  <bruno@clisp.org>
674
675         Correctly determine whether pow is available in libc on AIX 7 with xlc.
676         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
677         This disables an xlc optimization that was causing wrong test results.
678         Reported by Rainer Tammer.
679
680 2010-07-31  Bruno Haible  <bruno@clisp.org>
681
682         iconv: Work around AIX 6.1..7.1 bug.
683         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
684         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
685         cross-compiling, guess no on all versions of AIX.
686         Reported by Rainer Tammer.
687
688 2010-07-31  Bruno Haible  <bruno@clisp.org>
689
690         readlink: Relax test a bit.
691         * tests/test-readlink.h (test_readlink): Allow different errno value
692         when readlink is called with a file name that ends in / and refers to
693         a file.
694         Suggested by Eric Blake.
695         Reported by Rainer Tammer.
696
697 2010-07-31  Bruno Haible  <bruno@clisp.org>
698
699         copysign: Does not require -lm on glibc systems.
700         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
701         gl_COMMON_DOUBLE_MATHFUNC.
702         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
703
704 2010-07-31  Bruno Haible  <bruno@clisp.org>
705
706         duplocale: Work around AIX 7.1 bug.
707         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
708         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
709         * lib/duplocale.c (rpl_duplocale): Update comment.
710         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
711         Reported by Rainer Tammer.
712
713 2010-07-30  Bruno Haible  <bruno@clisp.org>
714
715         dirfd: Avoid link error on AIX 7.1.
716         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
717         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
718         exist, set REPLACE_DIRFD.
719         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
720         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
721         * doc/posix-functions/dirfd.texi: Update.
722         Reported by Rainer Tammer.
723
724 2010-07-30  Eric Blake  <eblake@redhat.com>
725
726         strtod: next round of AIX fixes
727         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
728         exponent.
729         * tests/test-strtod.c (main): Enhance tests.
730         * doc/posix-functions/strtod.texi (strtod): Document next bug.
731         Reported by Rainer Tammer.
732
733         futimens: fix configure check
734         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
735         Reported by Bruno Haible.
736
737 2010-07-30  Bruno Haible  <bruno@clisp.org>
738
739         getline: Update regarding AIX.
740         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
741         Reported by Rainer Tammer.
742
743 2010-07-30  Bruno Haible  <bruno@clisp.org>
744
745         wcwidth: Drop replacement on AIX 7.
746         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
747         AIX 7.
748         Reported by Rainer Tammer.
749
750 2010-07-30  Bruno Haible  <bruno@clisp.org>
751
752         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
753         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
754         a 'char *'.
755         Reported by Rainer Tammer.
756
757 2010-07-30  Bruno Haible  <bruno@clisp.org>
758
759         unlink: Update regarding AIX.
760         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
761         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
762         Reported by Rainer Tammer.
763
764 2010-07-30  Bruno Haible  <bruno@clisp.org>
765
766         symlink: Update regarding AIX.
767         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
768         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
769         Reported by Rainer Tammer.
770
771 2010-07-30  Bruno Haible  <bruno@clisp.org>
772
773         strndup: Update regarding AIX.
774         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
775         AIX 7.
776         Reported by Rainer Tammer.
777
778 2010-07-30  Bruno Haible  <bruno@clisp.org>
779
780         stat: Update regarding AIX.
781         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
782         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
783         Reported by Rainer Tammer.
784
785 2010-07-30  Bruno Haible  <bruno@clisp.org>
786
787         truncl: Fix autoconf test.
788         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
789         whether truncl works.
790         Reported by Rainer Tammer.
791
792 2010-07-30  Bruno Haible  <bruno@clisp.org>
793
794         round: Update regarding AIX.
795         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
796         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
797         Reported by Rainer Tammer.
798
799 2010-07-30  Bruno Haible  <bruno@clisp.org>
800
801         rename: Update regarding AIX.
802         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
803         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
804         Reported by Rainer Tammer.
805
806 2010-07-30  Bruno Haible  <bruno@clisp.org>
807
808         printf.m4: Update regarding AIX.
809         * m4/printf.m4: Update comments regarding AIX.
810         Reported by Rainer Tammer.
811
812 2010-07-30  Bruno Haible  <bruno@clisp.org>
813
814         iconv: Update regarding AIX.
815         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
816         AIX 7.
817         Reported by Rainer Tammer.
818
819 2010-07-30  Bruno Haible  <bruno@clisp.org>
820
821         getopt: Update regarding AIX.
822         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
823         no on AIX.
824         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
825         Reported by Rainer Tammer.
826
827 2010-07-30  Bruno Haible  <bruno@clisp.org>
828
829         ldexpl; Update regarding AIX.
830         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
831         on AIX 7.
832         Reported by Rainer Tammer.
833
834 2010-07-30  Bruno Haible  <bruno@clisp.org>
835
836         frexpl: Update regarding AIX.
837         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
838         on AIX 7.
839         Reported by Rainer Tammer.
840
841 2010-07-30  Bruno Haible  <bruno@clisp.org>
842
843         open, fopen: Update regarding AIX.
844         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
845         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
846         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
847         * doc/posix-functions/fopen.texi: Likewise.
848         Reported by Rainer Tammer.
849
850 2010-07-30  Bruno Haible  <bruno@clisp.org>
851
852         chown: Update doc regarding AIX.
853         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
854         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
855         Reported by Rainer Tammer.
856
857 2010-07-30  Eric Blake  <eblake@redhat.com>
858
859         strtod: fix bug in replacement function on AIX
860         * lib/strtod.c (strtod): Special case broken "0x" parse in
861         underlying strtod.
862         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
863         * doc/posix-functions/strtod.texi (strtod): Likewise.
864         Reported by Rainer Tammer.
865
866 2010-07-30  Bruno Haible  <bruno@clisp.org>
867
868         mbrlen: Fix cross-compilation guess for AIX.
869         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
870         guess. Leftover from 2008-12-22.
871
872 2010-07-30  Bruno Haible  <bruno@clisp.org>
873
874         mbrtowc: Fix cross-compilation guess for AIX.
875         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
876         guess. Leftover from 2008-12-21.
877
878 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
879
880         init.sh: work around trap limitation of some shells
881         * tests/init.sh (setup_): Move exit trap outside of shell function.
882
883 2010-07-29  Eric Blake  <eblake@redhat.com>
884
885         strtod: aid debugging
886         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
887         understanding why strtod is rejected.
888
889 2010-07-28  Bruno Haible  <bruno@clisp.org>
890
891         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
892         * lib/unistr/u8-chr.c: Include <string.h>.
893         * tests/unistr/test-u8-chr.c: Likewise.
894         * tests/unistr/test-u16-chr.c: Likewise.
895         * tests/unistr/test-u32-chr.c: Likewise.
896         * tests/unistr/test-u8-strchr.c: Likewise.
897         * tests/unistr/test-u16-strchr.c: Likewise.
898         * tests/unistr/test-u32-strchr.c: Likewise.
899         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
900         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
901         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
902         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
903
904 2010-07-28  Bruno Haible  <bruno@clisp.org>
905
906         Use spaces for indentation, not tabs.
907         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
908
909 2010-07-27  Bruno Haible  <bruno@clisp.org>
910
911         mbspcasecmp: Fix function specification.
912         * lib/string.in.h (mbspcasecmp): Fix specification comment.
913         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
914         Reported by Eric Blake <eblake@redhat.com>.
915
916 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
917
918         timespec: use cast and not conditional, as truncation isn't possible
919         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
920         instead of a conditional.  Comment about the situation in more detail.
921         This undoes most of the 2009-10-29 patch.
922
923 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
924
925         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
926         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
927         * lib/unistr/u8-strchr.c: Likewise.
928         * modules/unistr/u8-chr: Depend on memchr.
929
930         unistr/u*-strchr: add tests
931         * modules/unistr/u8-strchr-tests: New file.
932         * modules/unistr/u16-strchr-tests: New file.
933         * modules/unistr/u32-strchr-tests: New file.
934         * tests/unistr/test-strchr.h: New file.
935         * tests/unistr/test-u8-strchr.c: New file.
936         * tests/unistr/test-u16-strchr.c: New file.
937         * tests/unistr/test-u32-strchr.c: New file.
938
939         unistr/u*-chr: test multibyte sequences more
940         * tests/unistr/test-chr.h: Do complete testing of the characters in the
941         test vector.
942         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
943         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
944         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
945
946         unistr/u*-chr: test multibyte sequences
947         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
948
949         unistr/u*-chr: prepare for multibyte tests
950         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
951         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
952         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
953         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
954         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
955         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
956
957 2010-07-18  Bruno Haible  <bruno@clisp.org>
958
959         unistr/u8-strchr: Optimize non-ASCII argument case.
960         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
961         because the first byte often matches anyway.
962         Reported by Pádraig Brady <P@draigbrady.com>.
963
964 2010-07-15  Karl Berry  <karl@gnu.org>
965
966         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
967
968 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
969
970         getcwd: on Solaris, work better if ancestors are inaccessible
971         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
972         buffer and size, try again with a large buffer.  This works better
973         on Solaris, since its getcwd succeeds even if the path to the root
974         is inaccessible, and this is helpful in common cases such as .zfs
975         hidden directories.  Problem reported by J Chapman Flack in
976         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
977         Use system getcwd if it's declared, not merely if it's partly
978         working; use the partly-working test only to avoid needless effort
979         if the system getcwd fails.
980         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
981         comment that was already obsolete and is now even more obsolete.
982         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
983         now might call strdup.
984
985 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
986
987         pthread: Add enough so that coreutils/src/sort.c compiles.
988         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
989         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
990         gnulib. Include <sched.h> and <time.h>, as per POSIX.
991         Include <sys/types.h>, in case it defines pthread_t.
992         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
993         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
994         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
995         (pthread_rwlockattr_t, pthread_spinlock_t):
996         New typedefs, if HAVE_PTHREAD_T is not defined.
997         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
998         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
999         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
1000         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
1001         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
1002         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
1003         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
1004         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
1005         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
1006         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
1007         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
1008         New macros.
1009         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
1010         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
1011         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
1012         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
1013         (pthread_spin_unlock): New dummy functions.
1014         (pthread_create): Return EAGAIN; don't set errno.
1015         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
1016         require AC_C_INLINE.
1017         * modules/pthread (Depends-on): Add sched, time.
1018         (pthread.h): Use AM_V_GEN.
1019
1020 2010-07-13  Bruno Haible  <bruno@clisp.org>
1021
1022         striconveh: Don't malloc memory if the result buffer is sufficient.
1023         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
1024         buffer if its size is sufficient.
1025         Reported by Ludovic Courtès <ludo@gnu.org>.
1026
1027 2010-07-13  Bruno Haible  <bruno@clisp.org>
1028
1029         strtod: Add safety check.
1030         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
1031
1032 2010-07-12  Bruno Haible  <bruno@clisp.org>
1033
1034         Unify tests that set gl_cv_func_ldexpl_no_libm.
1035         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
1036         gl_FUNC_LDEXPL.
1037         (gl_FUNC_LDEXPL): Invoke it.
1038         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
1039
1040 2010-07-12  Bruno Haible  <bruno@clisp.org>
1041
1042         Unify tests that set gl_cv_func_ldexp_no_libm.
1043         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
1044         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
1045         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
1046         (configure.ac): Simply invoke gl_FUNC_LDEXP.
1047         * modules/strtod (Files): Add m4/ldexp.m4.
1048
1049 2010-07-12  Bruno Haible  <bruno@clisp.org>
1050
1051         Unify tests that set gl_cv_func_frexpl_no_libm.
1052         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
1053         gl_FUNC_FREXPL_NO_LIBM.
1054         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
1055         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
1056
1057 2010-07-12  Bruno Haible  <bruno@clisp.org>
1058
1059         Unify tests that set gl_cv_func_frexp_no_libm.
1060         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
1061         gl_FUNC_FREXP_NO_LIBM.
1062         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
1063         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
1064
1065 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
1066
1067         memcoll: clarify sizes versus lengths, document better, and tweak perf
1068         * lib/memcoll.c (strcoll_loop, memcoll0):
1069         Improve quality of descriptive comments.  Name variables
1070         consistently as to whether they are lengths (which do not include
1071         terminating null) versus sizes (which do).
1072         * lib/xmemcoll.c (xmemcoll0): Likewise.
1073         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
1074         returned when s1size == 0; this is easier to compile and saves
1075         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
1076
1077 2010-07-12  Bruno Haible  <bruno@clisp.org>
1078
1079         Tests for module '_Exit'.
1080         * modules/_Exit-tests: New file.
1081         * tests/test-_Exit.sh: New file.
1082         * tests/test-_Exit.c: New file.
1083
1084         New module '_Exit'.
1085         * lib/stdlib.in.h (__attribute__): New macro.
1086         (_Exit): New declaration.
1087         * lib/_Exit.c: New file.
1088         * m4/_Exit.m4: New file.
1089         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
1090         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
1091         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
1092         * modules/_Exit: New file.
1093         * tests/test-stdlib-c++.cc (_Exit): Check signature.
1094         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
1095
1096 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
1097
1098         strtod: make it more-accurate typically, and don't require libm
1099         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
1100         Include limits.h.  Don't include string.h.
1101         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
1102         (locale_isspace): New function, so that no casts are needed to
1103         check whether *s is a space.
1104         (ldexp): Provide an unused dummy if not available.
1105         (scale_radix_exp, parse_number, underlying_strtod): New functions.
1106         (strtod): Use them.  This implementation prefers to use the
1107         underlying strtod if available, falling back on our own code
1108         only to fix known bugs.  This is more likely to produce an
1109         accurate result.  Also, it avoids the use of libm functions.
1110         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
1111         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
1112         was absent, but it caused a test failure with coreutils.
1113         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
1114         with libm.
1115         * modules/strtod (Makefile.am, Link): libm is no longer needed.
1116         * modules/strtod-tests (Makefile.am): Likewise.
1117
1118 2010-07-11  Pádraig Brady  <P@draigBrady.com>
1119             Bruno Haible  <bruno@clisp.org>
1120
1121         unistr/u8-strchr: Optimize ASCII argument case.
1122         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
1123
1124 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
1125
1126         (x)memcoll: minor tweaks
1127         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
1128         is after the type that it qualifies.
1129         (memcoll0): Likewise.
1130         * lib/memcoll.h (memcoll0): Likewise.
1131         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
1132         * lib/xmemcoll.h (xmemcoll0): Likewise.
1133         * lib/memcoll.c (memcoll0): Correct the comment.  This function
1134         differs from memcoll in that the NUL byte is part of the argument.
1135         Omit the abort-checks, as performance is a real issue here.  Plus,
1136         the checks were wrong anyway (an off-by-one error).  Omit local
1137         variable 'diff', as it's a bit clearer that way.
1138         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
1139         no longer needed.
1140
1141 2010-07-08  Chen Guo <chenguo4@yahoo.com>
1142
1143         (x)memcoll: speedup when input is known to be NUL delimited
1144         * lib/memcoll.c: Include stdlib.
1145         (memcoll0) New function.
1146         (strcoll_loop) New function, refactored for use in both memcoll
1147         and memcoll0.
1148         * lib/memcoll.h: Add prototype for memcoll0.
1149         * lib/xmemcoll.c: (xmemcoll0) New function.
1150         (collate_error) New function, refactored for use in both xmemcoll
1151         and xmemcoll0.
1152         * lib/xmemcoll.h: Add prototype for xmemcoll0.
1153         * m4/memcoll.m4: add inline invocation.
1154
1155 2010-07-06  Pádraig Brady  <P@draigBrady.com>
1156
1157         * build-aux/bootstrap: Remove any local translations
1158         from the translation project synchronization directory,
1159         so that local only translations are not distributed.
1160
1161 2010-07-04  Bruno Haible  <bruno@clisp.org>
1162
1163         fsusage: Clarify which code applies to which platforms.
1164         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
1165         platform.
1166         * lib/fsusage.c (get_fs_usage): Likewise.
1167
1168 2010-07-04  Bruno Haible  <bruno@clisp.org>
1169
1170         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
1171         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
1172         Reported by Martin Lambers <marlam@marlam.de>.
1173
1174 2010-07-04  Jim Meyering  <meyering@redhat.com>
1175
1176         hash: once again explicitly disallow insertion of NULL
1177         * lib/hash.c (hash_insert0): Reinstate just-removed test:
1178         inserting a NULL pointer cannot work with these functions.
1179         Add a comment with details.
1180         This reverts part of the 2010-07-01 commit, 5bef1a35
1181         "hash: extend module to deal with non-pointer keys".
1182
1183 2010-07-01  Bruno Haible  <bruno@clisp.org>
1184
1185         stdbool: Update doc.
1186         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
1187         Info from Christian Weisgerber <naddy@mips.inka.de>.
1188
1189 2010-07-01  Jim Meyering  <meyering@redhat.com>
1190
1191         hash: extend module to deal with non-pointer keys
1192         * lib/hash.c (hash_insert0): New interface, much like hash_insert
1193         but that allows insertion of non-pointer entries.
1194         Do not disallow an ENTRY value of NULL.
1195         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
1196         * lib/hash.h (hash_insert0): Declare.
1197
1198 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
1199
1200         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
1201         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
1202         not present (i.e. with autoconf 2.59 and when using gettextize, not
1203         gnulib), require AC_GNU_SOURCE instead.
1204
1205 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
1206
1207         idpriv-drop: Fix tests.
1208         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
1209         not to the test-idpriv-droptemp program.
1210
1211 2010-06-29  Bruno Haible  <bruno@clisp.org>
1212
1213         string: Fix syntax error with g++ 2.96.
1214         * lib/string.in.h (__pure__): Remove definition.
1215         (_GL_ATTRIBUTE_PURE): New macro.
1216         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
1217         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
1218         Reported by Christian Weisgerber <naddy@mips.inka.de>.
1219
1220 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
1221
1222         unitypes: Fix bug introduced on 2010-05-18.
1223         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
1224
1225 2010-06-22  Eric Blake  <eblake@redhat.com>
1226
1227         memmem: slight optimization
1228         * lib/str-two-way.h (critical_factorization): Update comments.
1229         Reduce work during factorization phase.
1230         Reported by Carlos Bueno <carlos@bueno.org>.
1231
1232 2010-06-21  Bruno Haible  <bruno@clisp.org>
1233
1234         Fix HAVE_CALLOC_POSIX misnomer.
1235         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
1236         !HAVE_CALLOC_POSIX.
1237         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
1238         HAVE_CALLOC_POSIX.
1239         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
1240         instead of HAVE_CALLOC_POSIX.
1241         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
1242         HAVE_CALLOC_POSIX.
1243
1244         Use modern idiom for calloc() replacement.
1245         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
1246         AC_FUNC_CALLOC.
1247         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
1248         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
1249         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
1250         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
1251         (gl_REPLACE_CALLOC): New macro.
1252
1253 2010-06-21  Bruno Haible  <bruno@clisp.org>
1254
1255         Fix HAVE_REALLOC_POSIX misnomer.
1256         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
1257         !HAVE_REALLOC_POSIX.
1258         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
1259         HAVE_REALLOC_POSIX.
1260         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
1261         instead of HAVE_REALLOC_POSIX.
1262         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
1263         HAVE_REALLOC_POSIX.
1264
1265         Use modern idiom for realloc() replacement.
1266         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
1267         AC_FUNC_REALLOC.
1268         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
1269         Autoconf's AC_FUNC_REALLOC.
1270         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
1271         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
1272         (gl_REPLACE_REALLOC): New macro.
1273         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
1274
1275 2010-06-21  Bruno Haible  <bruno@clisp.org>
1276
1277         Fix HAVE_MALLOC_POSIX misnomer.
1278         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
1279         !HAVE_MALLOC_POSIX.
1280         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
1281         HAVE_MALLOC_POSIX.
1282         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
1283         instead of HAVE_MALLOC_POSIX.
1284         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
1285         HAVE_MALLOC_POSIX.
1286
1287         Use modern idiom for malloc() replacement.
1288         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
1289         AC_FUNC_MALLOC.
1290         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
1291         Autoconf's AC_FUNC_MALLOC.
1292         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
1293         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
1294         (gl_REPLACE_MALLOC): New macro.
1295         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
1296
1297 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
1298
1299         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
1300         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
1301         This macro takes 3 arguments, not 4.
1302
1303 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
1304
1305         ipv6: fix detection under mingw
1306         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
1307         in6_addr.
1308
1309 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
1310
1311         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
1312         that strtod() works when cross-compiling to a glibc version known
1313         to work.
1314
1315 2010-06-15  Bruno Haible  <bruno@clisp.org>
1316
1317         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
1318
1319 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
1320
1321         select: Correct timeout.
1322         * lib/select.c (rpl_select): Compute wait_timeout correctly.
1323
1324 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
1325
1326         git-version-gen: init shell var to avoid env var influence
1327         * build-aux/git-version-gen (v): Init shell var to empty.
1328
1329 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
1330
1331         priv-set: Don't assume that priv.h exists merely because getppriv does.
1332         See Jan Andersen's bug report about AIX 5L in
1333         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
1334         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
1335         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
1336         * lib/priv-set.h: Likewise.
1337         * tests/test-priv-set.c: Likewise.
1338
1339 2010-06-13  Bruno Haible  <bruno@clisp.org>
1340
1341         relocatable: Make it easier to test whether to install wrappers.
1342         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
1343         RELOCATABLE_VIA_WRAPPER.
1344
1345 2010-06-13  Bruno Haible  <bruno@clisp.org>
1346
1347         gnulib-tool: Display specified modules and dependencies differently.
1348         * gnulib-tool (func_show_module_list): New function.
1349         (func_import, func_create_testdir): Invoke it.
1350         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
1351
1352 2010-06-13  Bruno Haible  <bruno@clisp.org>
1353
1354         gnulib-tool: Align code of func_import and func_create_testdir.
1355         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
1356         specified_modules.
1357
1358 2010-06-12  Jim Meyering  <meyering@redhat.com>
1359
1360         test-inttostr: avoid spurious failure on Solaris 9
1361         * tests/test-inttostr.c (main): Skip the test when snprintf fails
1362         to accept "%ju".  Reported by Bruno Haible.
1363
1364 2010-06-11  Jim Meyering  <meyering@redhat.com>
1365
1366         test-sys_socket: mark variables as used more readably
1367         * tests/test-sys_socket.c (main): Mark otherwise unused variables
1368         as "used" explicitly via (void) statement casts.  This is more
1369         readable than using them in an artificial return expression.
1370         Suggestion from Bruno Haible.
1371
1372 2010-06-11  Bruno Haible  <bruno@clisp.org>
1373
1374         Avoid some more warnings from "gcc -Wwrite-strings".
1375         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
1376         to 'const char *'.
1377         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
1378         * tests/test-c-strcasestr.c (main): Likewise.
1379         * tests/test-mbscasestr1.c (main): Likewise.
1380         * tests/test-mbscasestr2.c (main): Likewise.
1381         * tests/test-memmem.c (main): Likewise.
1382         * tests/test-strstr.c (main): Likewise.
1383         * tests/test-strcasestr.c (main): Likewise.
1384
1385 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1386
1387         init.sh: change framework_failure_ to fail with status 99, not 1
1388         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
1389         automake's parallel-tests rule that this is an unexpected failure,
1390         even if the test is listed in XFAIL_TESTS.
1391
1392 2010-06-11  Jim Meyering  <meyering@redhat.com>
1393
1394         test-inttostr: avoid warnings about 4-6KB literal strings
1395         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
1396         Include "macros.h", for its definition of ASSERT.
1397         (CK): s/assert/ASSERT/
1398         * modules/inttostr-tests (Files): Add macros.h.
1399
1400         init.sh: don't use $ME_ or skip_ before they are defined
1401         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
1402         their first uses.  Also hoist their companions: warn_, fail_,
1403         framework_failure_, $stderr_fileno.  Prompted by a patch from
1404         Stefano Lattarini.
1405
1406         test-sys_socket: avoid set-but-not-used warnings from gcc
1407         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
1408         avoid warning about set-but-not-used variables.
1409
1410         test-xvasprintf: avoid 'const' discard warnings
1411         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
1412         "const" when assigning from literal strings.
1413         (test_xasprintf): Add "void" in function argument list to placate
1414         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
1415
1416         tests: avoid compilation warnings in argmatch and exclude tests...
1417         in packages that define ARGMATCH_DIE_DECL, like coreutils.
1418         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
1419         Since it always exits, declare with the "noreturn" attribute.
1420         * tests/test-argmatch.c: Likewise.
1421
1422         tests: avoid 'const' discard warnings in mbsstr tests
1423         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
1424         * tests/test-mbsstr2.c (main): Likewise.
1425
1426         test-verify: avoid warning from gcc's -Wmissing-declarations
1427         * tests/test-verify.c (function): Declare to be static.
1428
1429         test-inttostr.c: include <string.h> for use of strcmp
1430         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
1431
1432         test-linkat: avoid failed assertion on "other" architectures
1433         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
1434         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
1435         sparc: https://bugs.launchpad.net/bugs/591968
1436
1437 2010-06-11  Jim Meyering  <meyering@redhat.com>
1438
1439         printf.m4: avoid autoconf's "Expanded Before Required" warning
1440         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
1441         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
1442         autoconf warning.
1443
1444 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
1445
1446         Replacement header templates are now named with ".in", not "_".
1447         * doc/gnulib-intro.texi: Correct.
1448
1449 2010-06-10  Jim Meyering  <meyering@redhat.com>
1450
1451         inttostr-tests: depend on snprintf, not snprintf-posix
1452         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
1453         snprintf-posix, to avoid this aclocal failure:
1454           missing file gnulib-tests/vasnprintf.c
1455           configure.ac:45: error: expected source file, required through \
1456           AC_LIBSOURCES, not found
1457
1458 2010-06-10  Jim Meyering  <meyering@redhat.com>
1459
1460         inttostr: add a new function, inttostr, and tests
1461         The namesake function was not available.  The existence of the
1462         template file, inttostr.c makes its addition nontrivial.
1463         * lib/anytostr.c: Rename from inttostr.c.
1464         (anytostr): Rename from inttostr.
1465         * lib/inttostr.c: New file.
1466         * modules/inttostr (Files): Add anytostr.c.
1467         (Makefile.am): Set lib_SOURCES instead of ...
1468         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
1469         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
1470         * lib/offtostr.c: Likewise.
1471         * lib/uinttostr.c: Likewise.
1472         * lib/umaxtostr.c: Likewise.
1473         * modules/inttostr-tests: New file.
1474         * tests/test-inttostr.c: New file.  Test these functions.
1475
1476 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
1477             Bruno Haible  <bruno@clisp.org>
1478
1479         Add "Extending Gnulib" chapter to manual.
1480         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
1481         chapter.
1482         (Extending Gnulib): New chapter.
1483         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
1484         chapter.
1485
1486 2010-06-09  Bruno Haible  <bruno@clisp.org>
1487
1488         Avoid relocwrapper link errors due to gnulib replacement functions.
1489         * lib/areadlink.c: Use the system's malloc, realloc functions.
1490         (areadlink): Set errno to ENOMEM explicitly.
1491         * modules/areadlink (Depends-on): Remove malloc-posix.
1492         Reported by Ben Pfaff <blp@cs.stanford.edu>.
1493
1494 2010-06-09  Bruno Haible  <bruno@clisp.org>
1495
1496         Avoid relocwrapper link errors due to gnulib replacement functions.
1497         * lib/canonicalize-lgpl.c: Use the system's malloc function.
1498         * lib/malloca.c: Likewise.
1499         * lib/relocatable.c: Likewise.
1500         * lib/progreloc.c: Use the system's malloc, sprintf functions.
1501         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
1502         * lib/setenv.c: Use the system's malloc, realloc functions.
1503         * lib/strerror.c: Use the system's sprintf function.
1504         Reported by Ben Pfaff <blp@cs.stanford.edu>.
1505
1506 2010-06-04  Bruno Haible  <bruno@clisp.org>
1507
1508         Prefer documented low-level autoconf macro names.
1509         * m4/lib-link.m4: Use m4_translit instead of translit.
1510         * m4/environ.m4: Likewise.
1511         * m4/mathfunc.m4: Likewise.
1512         * m4/onceonly.m4: Likewise.
1513         * m4/stdint.m4: Likewise.
1514         Suggested by Eric Blake.
1515
1516 2010-06-04  Martin Lambers  <marlam@marlam.de>
1517             Bruno Haible  <bruno@clisp.org>
1518
1519         havelib: Allow library names with '+' characters.
1520         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
1521         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
1522
1523 2010-06-09  Bruno Haible  <bruno@clisp.org>
1524
1525         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
1526         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
1527         realloc failed.
1528
1529 2010-06-08  Peter Simons  <simons@cryp.to>
1530
1531         maint.mk: make the news-check rule more configurable
1532         * top/maint.mk (news-check-lines-spec) New variable.
1533         (news-check): Use "sed -n 1,10p" in place of "head".
1534
1535 2010-06-07  Jim Meyering  <meyering@redhat.com>
1536
1537         do-release-commit-and-tag: fix typo in --help
1538         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
1539
1540         regex: avoid new dead-code warning with gcc-4.6.0
1541         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
1542         if-block containing a while-loop.  It's been unused for at least
1543         5 years.
1544
1545 2010-06-05  Bruno Haible  <bruno@clisp.org>
1546
1547         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
1548         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
1549
1550 2010-06-04  Bruno Haible  <bruno@clisp.org>
1551
1552         Update to GNU gettext 0.18.1.
1553         * modules/gettext (configure.ac): Require gettext infrastructure from
1554         version 0.18.1.
1555
1556 2010-06-03  Bruno Haible  <bruno@clisp.org>
1557
1558         Don't use AC_LIBOBJ with file names in subdirectories.
1559         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
1560         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
1561         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
1562         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
1563         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
1564         gl_LIBUNISTRING_LIBSOURCE.
1565         (Makefile.am): Augment lib_SOURCES here, conditionally.
1566         * NEWS: Drop requirement for Automake option 'subdir-objects'.
1567
1568 2010-06-03  Bruno Haible  <bruno@clisp.org>
1569
1570         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
1571         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
1572         expansion does not end with a newline.
1573         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
1574         unnecessary newline.
1575
1576 2010-06-03  Bruno Haible  <bruno@clisp.org>
1577
1578         Reduce dependencies.
1579         * tests/test-quotearg.h: New file, extracted from
1580         tests/test-quotearg.c.
1581         * tests/test-quotearg-simple.c: New file, extracted from
1582         tests/test-quotearg.c.
1583         * tests/test-quotearg.c: Don't include <ctype.h>.
1584         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
1585         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
1586         use_quote_double_quotes, use_quotearg_colon): Moved to
1587         tests/test-quotearg.h.
1588         (results_g, flag_results, custom_quotes, custom_results): Moved
1589         to tests/test-quotearg-simple.c.
1590         (main): Moved the part that does not depend on gettext to
1591         tests/test-quotearg-simple.c. Return 77 if the test cannot be
1592         performed.
1593         * modules/quotearg-simple: New file.
1594         * modules/quotearg-simple-tests: New file.
1595         * modules/quotearg (Depends-on): Add quotearg-simple.
1596         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
1597         (Files): Add tests/test-quotearg.h.
1598         Reported by Paolo Bonzini.
1599
1600 2010-06-03  Bruno Haible  <bruno@clisp.org>
1601
1602         Reduce dependencies.
1603         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
1604
1605 2010-06-03  Bruno Haible  <bruno@clisp.org>
1606
1607         time: Undefine more broken macros.
1608         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
1609         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
1610         Reported by Eric Blake.
1611
1612 2010-06-03  Bruno Haible  <bruno@clisp.org>
1613
1614         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
1615         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
1616         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
1617         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
1618         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
1619         Reported by Ludovic Courtès <ludo@gnu.org>.
1620
1621 2010-06-02  Eric Blake  <eblake@redhat.com>
1622
1623         time: work with mingw + pthreads-win32 library
1624         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
1625         if timespec is defined only in pthread.h.
1626         * modules/time (Makefile.am): Substitute it.
1627         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
1628         <pthread.h>, when needed.
1629         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
1630         from the library.
1631
1632 2010-05-31  Bruno Haible  <bruno@clisp.org>
1633
1634         Avoid expanding two macros in the wrong order.
1635         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
1636         gl_LIBUNISTRING if it is defined.
1637         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
1638         autoconf >= 2.64.
1639         Reported by Ludovic Courtès <ludo@gnu.org>.
1640
1641 2010-05-27  Jim Meyering  <meyering@redhat.com>
1642
1643         maint.mk: also prohibit "#undef" of always-defined symbols
1644         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
1645         Allow more than one space before the symbol name.
1646         (sc_prohibit_always-defined_macros): Use grep's -E, now that
1647         the regexp uses alternation.
1648
1649 2010-05-26  Eric Blake  <eblake@redhat.com>
1650
1651         maint.mk: avoid echo -e
1652         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
1653         Convert all uses of echo -* to printf.
1654         Reported by Matthias Bolte.
1655
1656 2010-05-25  Bruno Haible  <bruno@clisp.org>
1657
1658         Update to GNU gettext 0.18, part 2.
1659         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
1660         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
1661
1662 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1663
1664         Add missing include in test-pwrite.c.
1665         * tests/test-pwrite.c: Include string.h, for strcmp.
1666
1667 2010-05-24  Bruno Haible  <bruno@clisp.org>
1668
1669         * NEWS: Mention requirement for Automake option 'subdir-objects'.
1670
1671 2010-05-24  Bruno Haible  <bruno@clisp.org>
1672
1673         Don't use conversion with transliteration in u{8,16,32}_strcoll.
1674         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
1675         iconveh_error argument.
1676         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
1677         U_STRCONV_TO_LOCALE.
1678         * lib/unistr/u16-strcoll.c: Likewise.
1679         * lib/unistr/u32-strcoll.c: Likewise.
1680         * modules/unistr/u8-strcoll (Depends-on): Add
1681         uniconv/u8-strconv-to-enc, localcharset. Remove
1682         uniconv/u8-strconv-to-locale.
1683         (configure.ac): Bump version number.
1684         * modules/unistr/u16-strcoll (Depends-on): Add
1685         uniconv/u16-strconv-to-enc, localcharset. Remove
1686         uniconv/u16-strconv-to-locale.
1687         (configure.ac): Bump version number.
1688         * modules/unistr/u32-strcoll (Depends-on): Add
1689         uniconv/u32-strconv-to-enc, localcharset. Remove
1690         uniconv/u32-strconv-to-locale.
1691         (configure.ac): Bump version number.
1692
1693 2010-05-24  Bruno Haible  <bruno@clisp.org>
1694
1695         Avoid a test failure on NetBSD 5.0.
1696         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
1697         an iconv() bug.
1698
1699 2010-05-24  Bruno Haible  <bruno@clisp.org>
1700
1701         Adjust #include directive style.
1702         * modules/regex (Includes): Recommend to write <regex.h>.
1703
1704 2010-05-24  Bruno Haible  <bruno@clisp.org>
1705
1706         regex: Don't require alloca.
1707         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
1708         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
1709         only inside if (0).
1710
1711 2010-05-23  Jim Meyering  <meyering@redhat.com>
1712
1713         test-renameat.c: include <sys/stat.h>
1714         * tests/test-renameat.c: Include <sys/stat.h>; required for
1715         definition of S_IS* macros.
1716
1717 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
1718
1719         Update maintainer documentation for 'relocatable-prog' module.
1720         * doc/relocatable-maint.texi: Update.
1721         Comments by Bruno Haible.
1722
1723 2010-05-23  Bruno Haible  <bruno@clisp.org>
1724
1725         git-merge-changelog: Enable --split-merged-entry by default.
1726         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
1727         (usage): Don't mention this option any more.
1728         Reported by Ralf Wildenhues.
1729
1730 2010-05-23  Jim Meyering  <meyering@redhat.com>
1731
1732         test-pwrite: do not leave behind a test file named "out"
1733         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
1734         The trivial-looking use of init.sh is really necessary.
1735         It ensures that the temporary file, "out", is created in
1736         a temporary directory, and removed upon termination.
1737         * tests/test-pwrite.sh: Re-add file.
1738         * modules/pwrite-tests: Reference it.
1739
1740 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1741
1742         Fix output redirection buglet in init.sh.
1743         * tests/init.sh: Fix redirection of stderr.
1744
1745 2010-05-20  Simon Josefsson  <simon@josefsson.org>
1746
1747         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
1748
1749 2010-05-17  Simon Josefsson  <simon@josefsson.org>
1750
1751         * modules/valgrind-tests: New file.
1752         * m4/valgrind-tests.m4: New file.
1753         * doc/valgrind-tests.texi: New file.
1754         * doc/gnulib.texi (Running self-tests under valgrind): New
1755         section.
1756
1757 2010-05-19  Bruno Haible  <bruno@clisp.org>
1758
1759         Clean up dead code in recent commit.
1760         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
1761         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
1762         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
1763         Suggested by Paolo Bonzini.
1764
1765 2010-05-19  Bruno Haible  <bruno@clisp.org>
1766
1767         Avoid valgrind error reports from libunistring.
1768         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
1769         * modules/libunistring (Files): Add it.
1770         * modules/libunistring-optional (Files): Likewise.
1771
1772 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
1773             Bruno Haible  <bruno@clisp.org>
1774
1775         New module 'libunistring-optional'.
1776         * modules/libunistring-optional: New file.
1777         * m4/libunistring-base.m4: New file.
1778         * m4/libunistring-optional.m4: New file.
1779         * lib/unicase.in.h: Renamed from lib/unicase.h.
1780         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
1781         * lib/unictype.in.h: Renamed from lib/unictype.h.
1782         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
1783         * lib/uniname.in.h: Renamed from lib/uniname.h.
1784         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
1785         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
1786         * lib/unistr.in.h: Renamed from lib/unistr.h.
1787         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
1788         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
1789         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
1790         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
1791         gl_LIBUNISTRING. If the library was found, determine the installed
1792         version and set LIBUNISTRING_VERSION.
1793         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
1794         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
1795         handle a configuration option --with-included-libunistring.
1796         * modules/libunistring (Files): Add m4/absolute-header.m4.
1797         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
1798         Add m4/libunistring-base.m4.
1799         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1800         (Makefile.am): Build unicase.h from unicase.in.h.
1801         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
1802         Add m4/libunistring-base.m4.
1803         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1804         (Makefile.am): Build uniconv.h from uniconv.in.h.
1805         * modules/unictype/base (Files): Use unictype.in.h instead of
1806         unictype.h. Add m4/libunistring-base.m4.
1807         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1808         (Makefile.am): Build unictype.h from unictype.in.h.
1809         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
1810         Add m4/libunistring-base.m4.
1811         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1812         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
1813         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
1814         Add m4/libunistring-base.m4.
1815         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1816         (Makefile.am): Build uniname.h from uniname.in.h.
1817         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
1818         Add m4/libunistring-base.m4.
1819         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1820         (Makefile.am): Build uninorm.h from uninorm.in.h.
1821         * modules/unistdio/base (Files): Use unistdio.in.h instead of
1822         unistdio.h. Add m4/libunistring-base.m4.
1823         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1824         (Makefile.am): Build unistdio.h from unistdio.in.h.
1825         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
1826         Add m4/libunistring-base.m4.
1827         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1828         (Makefile.am): Build unistr.h from unistr.in.h.
1829         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
1830         Add m4/libunistring-base.m4.
1831         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1832         (Makefile.am): Build unitypes.h from unitypes.in.h.
1833         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
1834         Add m4/libunistring-base.m4.
1835         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1836         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
1837         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
1838         uniwidth.h. Add m4/libunistring-base.m4.
1839         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1840         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
1841         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
1842         instead of augmenting lib_SOURCES.
1843         * modules/unicase/empty-suffix-context: Likewise.
1844         * modules/unicase/locale-language: Likewise.
1845         * modules/unicase/tolower: Likewise.
1846         * modules/unicase/totitle: Likewise.
1847         * modules/unicase/toupper: Likewise.
1848         * modules/unicase/u8-casecmp: Likewise.
1849         * modules/unicase/u8-casecoll: Likewise.
1850         * modules/unicase/u8-casefold: Likewise.
1851         * modules/unicase/u8-casexfrm: Likewise.
1852         * modules/unicase/u8-ct-casefold: Likewise.
1853         * modules/unicase/u8-ct-tolower: Likewise.
1854         * modules/unicase/u8-ct-totitle: Likewise.
1855         * modules/unicase/u8-ct-toupper: Likewise.
1856         * modules/unicase/u8-is-cased: Likewise.
1857         * modules/unicase/u8-is-casefolded: Likewise.
1858         * modules/unicase/u8-is-lowercase: Likewise.
1859         * modules/unicase/u8-is-titlecase: Likewise.
1860         * modules/unicase/u8-is-uppercase: Likewise.
1861         * modules/unicase/u8-prefix-context: Likewise.
1862         * modules/unicase/u8-suffix-context: Likewise.
1863         * modules/unicase/u8-tolower: Likewise.
1864         * modules/unicase/u8-totitle: Likewise.
1865         * modules/unicase/u8-toupper: Likewise.
1866         * modules/unicase/u16-casecmp: Likewise.
1867         * modules/unicase/u16-casecoll: Likewise.
1868         * modules/unicase/u16-casefold: Likewise.
1869         * modules/unicase/u16-casexfrm: Likewise.
1870         * modules/unicase/u16-ct-casefold: Likewise.
1871         * modules/unicase/u16-ct-tolower: Likewise.
1872         * modules/unicase/u16-ct-totitle: Likewise.
1873         * modules/unicase/u16-ct-toupper: Likewise.
1874         * modules/unicase/u16-is-cased: Likewise.
1875         * modules/unicase/u16-is-casefolded: Likewise.
1876         * modules/unicase/u16-is-lowercase: Likewise.
1877         * modules/unicase/u16-is-titlecase: Likewise.
1878         * modules/unicase/u16-is-uppercase: Likewise.
1879         * modules/unicase/u16-prefix-context: Likewise.
1880         * modules/unicase/u16-suffix-context: Likewise.
1881         * modules/unicase/u16-tolower: Likewise.
1882         * modules/unicase/u16-totitle: Likewise.
1883         * modules/unicase/u16-toupper: Likewise.
1884         * modules/unicase/u32-casecmp: Likewise.
1885         * modules/unicase/u32-casecoll: Likewise.
1886         * modules/unicase/u32-casefold: Likewise.
1887         * modules/unicase/u32-casexfrm: Likewise.
1888         * modules/unicase/u32-ct-casefold: Likewise.
1889         * modules/unicase/u32-ct-tolower: Likewise.
1890         * modules/unicase/u32-ct-totitle: Likewise.
1891         * modules/unicase/u32-ct-toupper: Likewise.
1892         * modules/unicase/u32-is-cased: Likewise.
1893         * modules/unicase/u32-is-casefolded: Likewise.
1894         * modules/unicase/u32-is-lowercase: Likewise.
1895         * modules/unicase/u32-is-titlecase: Likewise.
1896         * modules/unicase/u32-is-uppercase: Likewise.
1897         * modules/unicase/u32-prefix-context: Likewise.
1898         * modules/unicase/u32-suffix-context: Likewise.
1899         * modules/unicase/u32-tolower: Likewise.
1900         * modules/unicase/u32-totitle: Likewise.
1901         * modules/unicase/u32-toupper: Likewise.
1902         * modules/unicase/ulc-casecmp: Likewise.
1903         * modules/unicase/ulc-casecoll: Likewise.
1904         * modules/unicase/ulc-casexfrm: Likewise.
1905         * modules/uniconv/u8-conv-from-enc: Likewise.
1906         * modules/uniconv/u8-conv-to-enc: Likewise.
1907         * modules/uniconv/u8-strconv-from-enc: Likewise.
1908         * modules/uniconv/u8-strconv-from-locale: Likewise.
1909         * modules/uniconv/u8-strconv-to-enc: Likewise.
1910         * modules/uniconv/u8-strconv-to-locale: Likewise.
1911         * modules/uniconv/u16-conv-from-enc: Likewise.
1912         * modules/uniconv/u16-conv-to-enc: Likewise.
1913         * modules/uniconv/u16-strconv-from-enc: Likewise.
1914         * modules/uniconv/u16-strconv-from-locale: Likewise.
1915         * modules/uniconv/u16-strconv-to-enc: Likewise.
1916         * modules/uniconv/u16-strconv-to-locale: Likewise.
1917         * modules/uniconv/u32-conv-from-enc: Likewise.
1918         * modules/uniconv/u32-conv-to-enc: Likewise.
1919         * modules/uniconv/u32-strconv-from-enc: Likewise.
1920         * modules/uniconv/u32-strconv-from-locale: Likewise.
1921         * modules/uniconv/u32-strconv-to-enc: Likewise.
1922         * modules/uniconv/u32-strconv-to-locale: Likewise.
1923         * modules/unictype/bidicategory-byname: Likewise.
1924         * modules/unictype/bidicategory-name: Likewise.
1925         * modules/unictype/bidicategory-of: Likewise.
1926         * modules/unictype/bidicategory-test: Likewise.
1927         * modules/unictype/block-list: Likewise.
1928         * modules/unictype/block-test: Likewise.
1929         * modules/unictype/category-C: Likewise.
1930         * modules/unictype/category-Cc: Likewise.
1931         * modules/unictype/category-Cf: Likewise.
1932         * modules/unictype/category-Cn: Likewise.
1933         * modules/unictype/category-Co: Likewise.
1934         * modules/unictype/category-Cs: Likewise.
1935         * modules/unictype/category-L: Likewise.
1936         * modules/unictype/category-Ll: Likewise.
1937         * modules/unictype/category-Lm: Likewise.
1938         * modules/unictype/category-Lo: Likewise.
1939         * modules/unictype/category-Lt: Likewise.
1940         * modules/unictype/category-Lu: Likewise.
1941         * modules/unictype/category-M: Likewise.
1942         * modules/unictype/category-Mc: Likewise.
1943         * modules/unictype/category-Me: Likewise.
1944         * modules/unictype/category-Mn: Likewise.
1945         * modules/unictype/category-N: Likewise.
1946         * modules/unictype/category-Nd: Likewise.
1947         * modules/unictype/category-Nl: Likewise.
1948         * modules/unictype/category-No: Likewise.
1949         * modules/unictype/category-P: Likewise.
1950         * modules/unictype/category-Pc: Likewise.
1951         * modules/unictype/category-Pd: Likewise.
1952         * modules/unictype/category-Pe: Likewise.
1953         * modules/unictype/category-Pf: Likewise.
1954         * modules/unictype/category-Pi: Likewise.
1955         * modules/unictype/category-Po: Likewise.
1956         * modules/unictype/category-Ps: Likewise.
1957         * modules/unictype/category-S: Likewise.
1958         * modules/unictype/category-Sc: Likewise.
1959         * modules/unictype/category-Sk: Likewise.
1960         * modules/unictype/category-Sm: Likewise.
1961         * modules/unictype/category-So: Likewise.
1962         * modules/unictype/category-Z: Likewise.
1963         * modules/unictype/category-Zl: Likewise.
1964         * modules/unictype/category-Zp: Likewise.
1965         * modules/unictype/category-Zs: Likewise.
1966         * modules/unictype/category-and: Likewise.
1967         * modules/unictype/category-and-not: Likewise.
1968         * modules/unictype/category-byname: Likewise.
1969         * modules/unictype/category-name: Likewise.
1970         * modules/unictype/category-none: Likewise.
1971         * modules/unictype/category-of: Likewise.
1972         * modules/unictype/category-or: Likewise.
1973         * modules/unictype/category-test: Likewise.
1974         * modules/unictype/combining-class: Likewise.
1975         * modules/unictype/ctype-alnum: Likewise.
1976         * modules/unictype/ctype-alpha: Likewise.
1977         * modules/unictype/ctype-blank: Likewise.
1978         * modules/unictype/ctype-cntrl: Likewise.
1979         * modules/unictype/ctype-digit: Likewise.
1980         * modules/unictype/ctype-graph: Likewise.
1981         * modules/unictype/ctype-lower: Likewise.
1982         * modules/unictype/ctype-print: Likewise.
1983         * modules/unictype/ctype-punct: Likewise.
1984         * modules/unictype/ctype-space: Likewise.
1985         * modules/unictype/ctype-upper: Likewise.
1986         * modules/unictype/ctype-xdigit: Likewise.
1987         * modules/unictype/decimal-digit: Likewise.
1988         * modules/unictype/digit: Likewise.
1989         * modules/unictype/mirror: Likewise.
1990         * modules/unictype/numeric: Likewise.
1991         * modules/unictype/property-alphabetic: Likewise.
1992         * modules/unictype/property-ascii-hex-digit: Likewise.
1993         * modules/unictype/property-bidi-arabic-digit: Likewise.
1994         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
1995         * modules/unictype/property-bidi-block-separator: Likewise.
1996         * modules/unictype/property-bidi-boundary-neutral: Likewise.
1997         * modules/unictype/property-bidi-common-separator: Likewise.
1998         * modules/unictype/property-bidi-control: Likewise.
1999         * modules/unictype/property-bidi-embedding-or-override: Likewise.
2000         * modules/unictype/property-bidi-eur-num-separator: Likewise.
2001         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
2002         * modules/unictype/property-bidi-european-digit: Likewise.
2003         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
2004         * modules/unictype/property-bidi-left-to-right: Likewise.
2005         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
2006         * modules/unictype/property-bidi-other-neutral: Likewise.
2007         * modules/unictype/property-bidi-pdf: Likewise.
2008         * modules/unictype/property-bidi-segment-separator: Likewise.
2009         * modules/unictype/property-bidi-whitespace: Likewise.
2010         * modules/unictype/property-byname: Likewise.
2011         * modules/unictype/property-combining: Likewise.
2012         * modules/unictype/property-composite: Likewise.
2013         * modules/unictype/property-currency-symbol: Likewise.
2014         * modules/unictype/property-dash: Likewise.
2015         * modules/unictype/property-decimal-digit: Likewise.
2016         * modules/unictype/property-default-ignorable-code-point: Likewise.
2017         * modules/unictype/property-deprecated: Likewise.
2018         * modules/unictype/property-diacritic: Likewise.
2019         * modules/unictype/property-extender: Likewise.
2020         * modules/unictype/property-format-control: Likewise.
2021         * modules/unictype/property-grapheme-base: Likewise.
2022         * modules/unictype/property-grapheme-extend: Likewise.
2023         * modules/unictype/property-grapheme-link: Likewise.
2024         * modules/unictype/property-hex-digit: Likewise.
2025         * modules/unictype/property-hyphen: Likewise.
2026         * modules/unictype/property-id-continue: Likewise.
2027         * modules/unictype/property-id-start: Likewise.
2028         * modules/unictype/property-ideographic: Likewise.
2029         * modules/unictype/property-ids-binary-operator: Likewise.
2030         * modules/unictype/property-ids-trinary-operator: Likewise.
2031         * modules/unictype/property-ignorable-control: Likewise.
2032         * modules/unictype/property-iso-control: Likewise.
2033         * modules/unictype/property-join-control: Likewise.
2034         * modules/unictype/property-left-of-pair: Likewise.
2035         * modules/unictype/property-line-separator: Likewise.
2036         * modules/unictype/property-logical-order-exception: Likewise.
2037         * modules/unictype/property-lowercase: Likewise.
2038         * modules/unictype/property-math: Likewise.
2039         * modules/unictype/property-non-break: Likewise.
2040         * modules/unictype/property-not-a-character: Likewise.
2041         * modules/unictype/property-numeric: Likewise.
2042         * modules/unictype/property-other-alphabetic: Likewise.
2043         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
2044         * modules/unictype/property-other-grapheme-extend: Likewise.
2045         * modules/unictype/property-other-id-continue: Likewise.
2046         * modules/unictype/property-other-id-start: Likewise.
2047         * modules/unictype/property-other-lowercase: Likewise.
2048         * modules/unictype/property-other-math: Likewise.
2049         * modules/unictype/property-other-uppercase: Likewise.
2050         * modules/unictype/property-paired-punctuation: Likewise.
2051         * modules/unictype/property-paragraph-separator: Likewise.
2052         * modules/unictype/property-pattern-syntax: Likewise.
2053         * modules/unictype/property-pattern-white-space: Likewise.
2054         * modules/unictype/property-private-use: Likewise.
2055         * modules/unictype/property-punctuation: Likewise.
2056         * modules/unictype/property-quotation-mark: Likewise.
2057         * modules/unictype/property-radical: Likewise.
2058         * modules/unictype/property-sentence-terminal: Likewise.
2059         * modules/unictype/property-soft-dotted: Likewise.
2060         * modules/unictype/property-space: Likewise.
2061         * modules/unictype/property-terminal-punctuation: Likewise.
2062         * modules/unictype/property-test: Likewise.
2063         * modules/unictype/property-titlecase: Likewise.
2064         * modules/unictype/property-unassigned-code-value: Likewise.
2065         * modules/unictype/property-unified-ideograph: Likewise.
2066         * modules/unictype/property-uppercase: Likewise.
2067         * modules/unictype/property-variation-selector: Likewise.
2068         * modules/unictype/property-white-space: Likewise.
2069         * modules/unictype/property-xid-continue: Likewise.
2070         * modules/unictype/property-xid-start: Likewise.
2071         * modules/unictype/property-zero-width: Likewise.
2072         * modules/unictype/scripts: Likewise.
2073         * modules/unictype/syntax-c-ident: Likewise.
2074         * modules/unictype/syntax-c-whitespace: Likewise.
2075         * modules/unictype/syntax-java-ident: Likewise.
2076         * modules/unictype/syntax-java-whitespace: Likewise.
2077         * modules/unilbrk/u8-possible-linebreaks: Likewise.
2078         * modules/unilbrk/u8-width-linebreaks: Likewise.
2079         * modules/unilbrk/u16-possible-linebreaks: Likewise.
2080         * modules/unilbrk/u16-width-linebreaks: Likewise.
2081         * modules/unilbrk/u32-possible-linebreaks: Likewise.
2082         * modules/unilbrk/u32-width-linebreaks: Likewise.
2083         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
2084         * modules/unilbrk/ulc-width-linebreaks: Likewise.
2085         * modules/uniname/uniname: Likewise.
2086         * modules/uninorm/canonical-decomposition: Likewise.
2087         * modules/uninorm/composition: Likewise.
2088         * modules/uninorm/decomposing-form: Likewise.
2089         * modules/uninorm/decomposition: Likewise.
2090         * modules/uninorm/filter: Likewise.
2091         * modules/uninorm/nfc: Likewise.
2092         * modules/uninorm/nfd: Likewise.
2093         * modules/uninorm/nfkc: Likewise.
2094         * modules/uninorm/nfkd: Likewise.
2095         * modules/uninorm/u8-normalize: Likewise.
2096         * modules/uninorm/u8-normcmp: Likewise.
2097         * modules/uninorm/u8-normcoll: Likewise.
2098         * modules/uninorm/u8-normxfrm: Likewise.
2099         * modules/uninorm/u16-normalize: Likewise.
2100         * modules/uninorm/u16-normcmp: Likewise.
2101         * modules/uninorm/u16-normcoll: Likewise.
2102         * modules/uninorm/u16-normxfrm: Likewise.
2103         * modules/uninorm/u32-normalize: Likewise.
2104         * modules/uninorm/u32-normcmp: Likewise.
2105         * modules/uninorm/u32-normcoll: Likewise.
2106         * modules/uninorm/u32-normxfrm: Likewise.
2107         * modules/unistdio/u8-asnprintf: Likewise.
2108         * modules/unistdio/u8-asprintf: Likewise.
2109         * modules/unistdio/u8-snprintf: Likewise.
2110         * modules/unistdio/u8-sprintf: Likewise.
2111         * modules/unistdio/u8-u8-asnprintf: Likewise.
2112         * modules/unistdio/u8-u8-asprintf: Likewise.
2113         * modules/unistdio/u8-u8-snprintf: Likewise.
2114         * modules/unistdio/u8-u8-sprintf: Likewise.
2115         * modules/unistdio/u8-u8-vasnprintf: Likewise.
2116         * modules/unistdio/u8-u8-vasprintf: Likewise.
2117         * modules/unistdio/u8-u8-vsnprintf: Likewise.
2118         * modules/unistdio/u8-u8-vsprintf: Likewise.
2119         * modules/unistdio/u8-vasnprintf: Likewise.
2120         * modules/unistdio/u8-vasprintf: Likewise.
2121         * modules/unistdio/u8-vsnprintf: Likewise.
2122         * modules/unistdio/u8-vsprintf: Likewise.
2123         * modules/unistdio/u16-asnprintf: Likewise.
2124         * modules/unistdio/u16-asprintf: Likewise.
2125         * modules/unistdio/u16-snprintf: Likewise.
2126         * modules/unistdio/u16-sprintf: Likewise.
2127         * modules/unistdio/u16-u16-asnprintf: Likewise.
2128         * modules/unistdio/u16-u16-asprintf: Likewise.
2129         * modules/unistdio/u16-u16-snprintf: Likewise.
2130         * modules/unistdio/u16-u16-sprintf: Likewise.
2131         * modules/unistdio/u16-u16-vasnprintf: Likewise.
2132         * modules/unistdio/u16-u16-vasprintf: Likewise.
2133         * modules/unistdio/u16-u16-vsnprintf: Likewise.
2134         * modules/unistdio/u16-u16-vsprintf: Likewise.
2135         * modules/unistdio/u16-vasnprintf: Likewise.
2136         * modules/unistdio/u16-vasprintf: Likewise.
2137         * modules/unistdio/u16-vsnprintf: Likewise.
2138         * modules/unistdio/u16-vsprintf: Likewise.
2139         * modules/unistdio/u32-asnprintf: Likewise.
2140         * modules/unistdio/u32-asprintf: Likewise.
2141         * modules/unistdio/u32-snprintf: Likewise.
2142         * modules/unistdio/u32-sprintf: Likewise.
2143         * modules/unistdio/u32-u32-asnprintf: Likewise.
2144         * modules/unistdio/u32-u32-asprintf: Likewise.
2145         * modules/unistdio/u32-u32-snprintf: Likewise.
2146         * modules/unistdio/u32-u32-sprintf: Likewise.
2147         * modules/unistdio/u32-u32-vasnprintf: Likewise.
2148         * modules/unistdio/u32-u32-vasprintf: Likewise.
2149         * modules/unistdio/u32-u32-vsnprintf: Likewise.
2150         * modules/unistdio/u32-u32-vsprintf: Likewise.
2151         * modules/unistdio/u32-vasnprintf: Likewise.
2152         * modules/unistdio/u32-vasprintf: Likewise.
2153         * modules/unistdio/u32-vsnprintf: Likewise.
2154         * modules/unistdio/u32-vsprintf: Likewise.
2155         * modules/unistdio/ulc-asnprintf: Likewise.
2156         * modules/unistdio/ulc-asprintf: Likewise.
2157         * modules/unistdio/ulc-fprintf: Likewise.
2158         * modules/unistdio/ulc-snprintf: Likewise.
2159         * modules/unistdio/ulc-sprintf: Likewise.
2160         * modules/unistdio/ulc-vasnprintf: Likewise.
2161         * modules/unistdio/ulc-vasprintf: Likewise.
2162         * modules/unistdio/ulc-vfprintf: Likewise.
2163         * modules/unistdio/ulc-vsnprintf: Likewise.
2164         * modules/unistdio/ulc-vsprintf: Likewise.
2165         * modules/unistr/u8-check: Likewise.
2166         * modules/unistr/u8-chr: Likewise.
2167         * modules/unistr/u8-cmp: Likewise.
2168         * modules/unistr/u8-cmp2: Likewise.
2169         * modules/unistr/u8-cpy: Likewise.
2170         * modules/unistr/u8-cpy-alloc: Likewise.
2171         * modules/unistr/u8-endswith: Likewise.
2172         * modules/unistr/u8-mblen: Likewise.
2173         * modules/unistr/u8-mbsnlen: Likewise.
2174         * modules/unistr/u8-mbtouc: Likewise.
2175         * modules/unistr/u8-mbtouc-unsafe: Likewise.
2176         * modules/unistr/u8-mbtoucr: Likewise.
2177         * modules/unistr/u8-move: Likewise.
2178         * modules/unistr/u8-next: Likewise.
2179         * modules/unistr/u8-prev: Likewise.
2180         * modules/unistr/u8-set: Likewise.
2181         * modules/unistr/u8-startswith: Likewise.
2182         * modules/unistr/u8-stpcpy: Likewise.
2183         * modules/unistr/u8-stpncpy: Likewise.
2184         * modules/unistr/u8-strcat: Likewise.
2185         * modules/unistr/u8-strchr: Likewise.
2186         * modules/unistr/u8-strcmp: Likewise.
2187         * modules/unistr/u8-strcoll: Likewise.
2188         * modules/unistr/u8-strcpy: Likewise.
2189         * modules/unistr/u8-strcspn: Likewise.
2190         * modules/unistr/u8-strdup: Likewise.
2191         * modules/unistr/u8-strlen: Likewise.
2192         * modules/unistr/u8-strmblen: Likewise.
2193         * modules/unistr/u8-strmbtouc: Likewise.
2194         * modules/unistr/u8-strncat: Likewise.
2195         * modules/unistr/u8-strncmp: Likewise.
2196         * modules/unistr/u8-strncpy: Likewise.
2197         * modules/unistr/u8-strnlen: Likewise.
2198         * modules/unistr/u8-strpbrk: Likewise.
2199         * modules/unistr/u8-strrchr: Likewise.
2200         * modules/unistr/u8-strspn: Likewise.
2201         * modules/unistr/u8-strstr: Likewise.
2202         * modules/unistr/u8-strtok: Likewise.
2203         * modules/unistr/u8-to-u16: Likewise.
2204         * modules/unistr/u8-to-u32: Likewise.
2205         * modules/unistr/u8-uctomb: Likewise.
2206         * modules/unistr/u16-check: Likewise.
2207         * modules/unistr/u16-chr: Likewise.
2208         * modules/unistr/u16-cmp: Likewise.
2209         * modules/unistr/u16-cmp2: Likewise.
2210         * modules/unistr/u16-cpy: Likewise.
2211         * modules/unistr/u16-cpy-alloc: Likewise.
2212         * modules/unistr/u16-endswith: Likewise.
2213         * modules/unistr/u16-mblen: Likewise.
2214         * modules/unistr/u16-mbsnlen: Likewise.
2215         * modules/unistr/u16-mbtouc: Likewise.
2216         * modules/unistr/u16-mbtouc-unsafe: Likewise.
2217         * modules/unistr/u16-mbtoucr: Likewise.
2218         * modules/unistr/u16-move: Likewise.
2219         * modules/unistr/u16-next: Likewise.
2220         * modules/unistr/u16-prev: Likewise.
2221         * modules/unistr/u16-set: Likewise.
2222         * modules/unistr/u16-startswith: Likewise.
2223         * modules/unistr/u16-stpcpy: Likewise.
2224         * modules/unistr/u16-stpncpy: Likewise.
2225         * modules/unistr/u16-strcat: Likewise.
2226         * modules/unistr/u16-strchr: Likewise.
2227         * modules/unistr/u16-strcmp: Likewise.
2228         * modules/unistr/u16-strcoll: Likewise.
2229         * modules/unistr/u16-strcpy: Likewise.
2230         * modules/unistr/u16-strcspn: Likewise.
2231         * modules/unistr/u16-strdup: Likewise.
2232         * modules/unistr/u16-strlen: Likewise.
2233         * modules/unistr/u16-strmblen: Likewise.
2234         * modules/unistr/u16-strmbtouc: Likewise.
2235         * modules/unistr/u16-strncat: Likewise.
2236         * modules/unistr/u16-strncmp: Likewise.
2237         * modules/unistr/u16-strncpy: Likewise.
2238         * modules/unistr/u16-strnlen: Likewise.
2239         * modules/unistr/u16-strpbrk: Likewise.
2240         * modules/unistr/u16-strrchr: Likewise.
2241         * modules/unistr/u16-strspn: Likewise.
2242         * modules/unistr/u16-strstr: Likewise.
2243         * modules/unistr/u16-strtok: Likewise.
2244         * modules/unistr/u16-to-u32: Likewise.
2245         * modules/unistr/u16-to-u8: Likewise.
2246         * modules/unistr/u16-uctomb: Likewise.
2247         * modules/unistr/u32-check: Likewise.
2248         * modules/unistr/u32-chr: Likewise.
2249         * modules/unistr/u32-cmp: Likewise.
2250         * modules/unistr/u32-cmp2: Likewise.
2251         * modules/unistr/u32-cpy: Likewise.
2252         * modules/unistr/u32-cpy-alloc: Likewise.
2253         * modules/unistr/u32-endswith: Likewise.
2254         * modules/unistr/u32-mblen: Likewise.
2255         * modules/unistr/u32-mbsnlen: Likewise.
2256         * modules/unistr/u32-mbtouc: Likewise.
2257         * modules/unistr/u32-mbtouc-unsafe: Likewise.
2258         * modules/unistr/u32-mbtoucr: Likewise.
2259         * modules/unistr/u32-move: Likewise.
2260         * modules/unistr/u32-next: Likewise.
2261         * modules/unistr/u32-prev: Likewise.
2262         * modules/unistr/u32-set: Likewise.
2263         * modules/unistr/u32-startswith: Likewise.
2264         * modules/unistr/u32-stpcpy: Likewise.
2265         * modules/unistr/u32-stpncpy: Likewise.
2266         * modules/unistr/u32-strcat: Likewise.
2267         * modules/unistr/u32-strchr: Likewise.
2268         * modules/unistr/u32-strcmp: Likewise.
2269         * modules/unistr/u32-strcoll: Likewise.
2270         * modules/unistr/u32-strcpy: Likewise.
2271         * modules/unistr/u32-strcspn: Likewise.
2272         * modules/unistr/u32-strdup: Likewise.
2273         * modules/unistr/u32-strlen: Likewise.
2274         * modules/unistr/u32-strmblen: Likewise.
2275         * modules/unistr/u32-strmbtouc: Likewise.
2276         * modules/unistr/u32-strncat: Likewise.
2277         * modules/unistr/u32-strncmp: Likewise.
2278         * modules/unistr/u32-strncpy: Likewise.
2279         * modules/unistr/u32-strnlen: Likewise.
2280         * modules/unistr/u32-strpbrk: Likewise.
2281         * modules/unistr/u32-strrchr: Likewise.
2282         * modules/unistr/u32-strspn: Likewise.
2283         * modules/unistr/u32-strstr: Likewise.
2284         * modules/unistr/u32-strtok: Likewise.
2285         * modules/unistr/u32-to-u16: Likewise.
2286         * modules/unistr/u32-to-u8: Likewise.
2287         * modules/unistr/u32-uctomb: Likewise.
2288         * modules/uniwbrk/u8-wordbreaks: Likewise.
2289         * modules/uniwbrk/u16-wordbreaks: Likewise.
2290         * modules/uniwbrk/u32-wordbreaks: Likewise.
2291         * modules/uniwbrk/ulc-wordbreaks: Likewise.
2292         * modules/uniwbrk/wordbreak-property: Likewise.
2293         * modules/uniwidth/u8-strwidth: Likewise.
2294         * modules/uniwidth/u8-width: Likewise.
2295         * modules/uniwidth/u16-strwidth: Likewise.
2296         * modules/uniwidth/u16-width: Likewise.
2297         * modules/uniwidth/u32-strwidth: Likewise.
2298         * modules/uniwidth/u32-width: Likewise.
2299         * modules/uniwidth/width: Likewise.
2300         * modules/unicase/cased-tests (Makefile.am): Link all test programs
2301         with $(LIBUNISTRING).
2302         * modules/unicase/ignorable-tests: Likewise.
2303         * modules/unicase/locale-language-tests: Likewise.
2304         * modules/unicase/tolower-tests: Likewise.
2305         * modules/unicase/totitle-tests: Likewise.
2306         * modules/unicase/toupper-tests: Likewise.
2307         * modules/unicase/u8-casecmp-tests: Likewise.
2308         * modules/unicase/u8-casecoll-tests: Likewise.
2309         * modules/unicase/u8-casefold-tests: Likewise.
2310         * modules/unicase/u8-is-cased-tests: Likewise.
2311         * modules/unicase/u8-is-casefolded-tests: Likewise.
2312         * modules/unicase/u8-is-lowercase-tests: Likewise.
2313         * modules/unicase/u8-is-titlecase-tests: Likewise.
2314         * modules/unicase/u8-is-uppercase-tests: Likewise.
2315         * modules/unicase/u8-tolower-tests: Likewise.
2316         * modules/unicase/u8-totitle-tests: Likewise.
2317         * modules/unicase/u8-toupper-tests: Likewise.
2318         * modules/unicase/u16-casecmp-tests: Likewise.
2319         * modules/unicase/u16-casecoll-tests: Likewise.
2320         * modules/unicase/u16-casefold-tests: Likewise.
2321         * modules/unicase/u16-is-cased-tests: Likewise.
2322         * modules/unicase/u16-is-casefolded-tests: Likewise.
2323         * modules/unicase/u16-is-lowercase-tests: Likewise.
2324         * modules/unicase/u16-is-titlecase-tests: Likewise.
2325         * modules/unicase/u16-is-uppercase-tests: Likewise.
2326         * modules/unicase/u16-tolower-tests: Likewise.
2327         * modules/unicase/u16-totitle-tests: Likewise.
2328         * modules/unicase/u16-toupper-tests: Likewise.
2329         * modules/unicase/u32-casecmp-tests: Likewise.
2330         * modules/unicase/u32-casecoll-tests: Likewise.
2331         * modules/unicase/u32-casefold-tests: Likewise.
2332         * modules/unicase/u32-is-cased-tests: Likewise.
2333         * modules/unicase/u32-is-casefolded-tests: Likewise.
2334         * modules/unicase/u32-is-lowercase-tests: Likewise.
2335         * modules/unicase/u32-is-titlecase-tests: Likewise.
2336         * modules/unicase/u32-is-uppercase-tests: Likewise.
2337         * modules/unicase/u32-tolower-tests: Likewise.
2338         * modules/unicase/u32-totitle-tests: Likewise.
2339         * modules/unicase/u32-toupper-tests: Likewise.
2340         * modules/unicase/ulc-casecmp-tests: Likewise.
2341         * modules/unicase/ulc-casecoll-tests: Likewise.
2342         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
2343         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
2344         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
2345         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
2346         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
2347         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
2348         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
2349         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
2350         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
2351         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
2352         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
2353         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
2354         * modules/unictype/bidicategory-byname-tests: Likewise.
2355         * modules/unictype/bidicategory-name-tests: Likewise.
2356         * modules/unictype/bidicategory-of-tests: Likewise.
2357         * modules/unictype/bidicategory-test-tests: Likewise.
2358         * modules/unictype/block-list-tests: Likewise.
2359         * modules/unictype/block-of-tests: Likewise.
2360         * modules/unictype/block-test-tests: Likewise.
2361         * modules/unictype/category-C-tests: Likewise.
2362         * modules/unictype/category-Cc-tests: Likewise.
2363         * modules/unictype/category-Cf-tests: Likewise.
2364         * modules/unictype/category-Cn-tests: Likewise.
2365         * modules/unictype/category-Co-tests: Likewise.
2366         * modules/unictype/category-Cs-tests: Likewise.
2367         * modules/unictype/category-L-tests: Likewise.
2368         * modules/unictype/category-Ll-tests: Likewise.
2369         * modules/unictype/category-Lm-tests: Likewise.
2370         * modules/unictype/category-Lo-tests: Likewise.
2371         * modules/unictype/category-Lt-tests: Likewise.
2372         * modules/unictype/category-Lu-tests: Likewise.
2373         * modules/unictype/category-M-tests: Likewise.
2374         * modules/unictype/category-Mc-tests: Likewise.
2375         * modules/unictype/category-Me-tests: Likewise.
2376         * modules/unictype/category-Mn-tests: Likewise.
2377         * modules/unictype/category-N-tests: Likewise.
2378         * modules/unictype/category-Nd-tests: Likewise.
2379         * modules/unictype/category-Nl-tests: Likewise.
2380         * modules/unictype/category-No-tests: Likewise.
2381         * modules/unictype/category-P-tests: Likewise.
2382         * modules/unictype/category-Pc-tests: Likewise.
2383         * modules/unictype/category-Pd-tests: Likewise.
2384         * modules/unictype/category-Pe-tests: Likewise.
2385         * modules/unictype/category-Pf-tests: Likewise.
2386         * modules/unictype/category-Pi-tests: Likewise.
2387         * modules/unictype/category-Po-tests: Likewise.
2388         * modules/unictype/category-Ps-tests: Likewise.
2389         * modules/unictype/category-S-tests: Likewise.
2390         * modules/unictype/category-Sc-tests: Likewise.
2391         * modules/unictype/category-Sk-tests: Likewise.
2392         * modules/unictype/category-Sm-tests: Likewise.
2393         * modules/unictype/category-So-tests: Likewise.
2394         * modules/unictype/category-Z-tests: Likewise.
2395         * modules/unictype/category-Zl-tests: Likewise.
2396         * modules/unictype/category-Zp-tests: Likewise.
2397         * modules/unictype/category-Zs-tests: Likewise.
2398         * modules/unictype/category-and-not-tests: Likewise.
2399         * modules/unictype/category-and-tests: Likewise.
2400         * modules/unictype/category-byname-tests: Likewise.
2401         * modules/unictype/category-name-tests: Likewise.
2402         * modules/unictype/category-none-tests: Likewise.
2403         * modules/unictype/category-of-tests: Likewise.
2404         * modules/unictype/category-or-tests: Likewise.
2405         * modules/unictype/category-test-withtable-tests: Likewise.
2406         * modules/unictype/combining-class-tests: Likewise.
2407         * modules/unictype/ctype-alnum-tests: Likewise.
2408         * modules/unictype/ctype-alpha-tests: Likewise.
2409         * modules/unictype/ctype-blank-tests: Likewise.
2410         * modules/unictype/ctype-cntrl-tests: Likewise.
2411         * modules/unictype/ctype-digit-tests: Likewise.
2412         * modules/unictype/ctype-graph-tests: Likewise.
2413         * modules/unictype/ctype-lower-tests: Likewise.
2414         * modules/unictype/ctype-print-tests: Likewise.
2415         * modules/unictype/ctype-punct-tests: Likewise.
2416         * modules/unictype/ctype-space-tests: Likewise.
2417         * modules/unictype/ctype-upper-tests: Likewise.
2418         * modules/unictype/ctype-xdigit-tests: Likewise.
2419         * modules/unictype/decimal-digit-tests: Likewise.
2420         * modules/unictype/digit-tests: Likewise.
2421         * modules/unictype/mirror-tests: Likewise.
2422         * modules/unictype/numeric-tests: Likewise.
2423         * modules/unictype/property-alphabetic-tests: Likewise.
2424         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
2425         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
2426         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
2427         * modules/unictype/property-bidi-block-separator-tests: Likewise.
2428         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
2429         * modules/unictype/property-bidi-common-separator-tests: Likewise.
2430         * modules/unictype/property-bidi-control-tests: Likewise.
2431         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
2432         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
2433         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
2434         * modules/unictype/property-bidi-european-digit-tests: Likewise.
2435         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
2436         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
2437         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
2438         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
2439         * modules/unictype/property-bidi-pdf-tests: Likewise.
2440         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
2441         * modules/unictype/property-bidi-whitespace-tests: Likewise.
2442         * modules/unictype/property-byname-tests: Likewise.
2443         * modules/unictype/property-combining-tests: Likewise.
2444         * modules/unictype/property-composite-tests: Likewise.
2445         * modules/unictype/property-currency-symbol-tests: Likewise.
2446         * modules/unictype/property-dash-tests: Likewise.
2447         * modules/unictype/property-decimal-digit-tests: Likewise.
2448         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
2449         * modules/unictype/property-deprecated-tests: Likewise.
2450         * modules/unictype/property-diacritic-tests: Likewise.
2451         * modules/unictype/property-extender-tests: Likewise.
2452         * modules/unictype/property-format-control-tests: Likewise.
2453         * modules/unictype/property-grapheme-base-tests: Likewise.
2454         * modules/unictype/property-grapheme-extend-tests: Likewise.
2455         * modules/unictype/property-grapheme-link-tests: Likewise.
2456         * modules/unictype/property-hex-digit-tests: Likewise.
2457         * modules/unictype/property-hyphen-tests: Likewise.
2458         * modules/unictype/property-id-continue-tests: Likewise.
2459         * modules/unictype/property-id-start-tests: Likewise.
2460         * modules/unictype/property-ideographic-tests: Likewise.
2461         * modules/unictype/property-ids-binary-operator-tests: Likewise.
2462         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
2463         * modules/unictype/property-ignorable-control-tests: Likewise.
2464         * modules/unictype/property-iso-control-tests: Likewise.
2465         * modules/unictype/property-join-control-tests: Likewise.
2466         * modules/unictype/property-left-of-pair-tests: Likewise.
2467         * modules/unictype/property-line-separator-tests: Likewise.
2468         * modules/unictype/property-logical-order-exception-tests: Likewise.
2469         * modules/unictype/property-lowercase-tests: Likewise.
2470         * modules/unictype/property-math-tests: Likewise.
2471         * modules/unictype/property-non-break-tests: Likewise.
2472         * modules/unictype/property-not-a-character-tests: Likewise.
2473         * modules/unictype/property-numeric-tests: Likewise.
2474         * modules/unictype/property-other-alphabetic-tests: Likewise.
2475         * modules/unictype/property-other-default-ignorable-code-point-tests:
2476         Likewise.
2477         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
2478         * modules/unictype/property-other-id-continue-tests: Likewise.
2479         * modules/unictype/property-other-id-start-tests: Likewise.
2480         * modules/unictype/property-other-lowercase-tests: Likewise.
2481         * modules/unictype/property-other-math-tests: Likewise.
2482         * modules/unictype/property-other-uppercase-tests: Likewise.
2483         * modules/unictype/property-paired-punctuation-tests: Likewise.
2484         * modules/unictype/property-paragraph-separator-tests: Likewise.
2485         * modules/unictype/property-pattern-syntax-tests: Likewise.
2486         * modules/unictype/property-pattern-white-space-tests: Likewise.
2487         * modules/unictype/property-private-use-tests: Likewise.
2488         * modules/unictype/property-punctuation-tests: Likewise.
2489         * modules/unictype/property-quotation-mark-tests: Likewise.
2490         * modules/unictype/property-radical-tests: Likewise.
2491         * modules/unictype/property-sentence-terminal-tests: Likewise.
2492         * modules/unictype/property-soft-dotted-tests: Likewise.
2493         * modules/unictype/property-space-tests: Likewise.
2494         * modules/unictype/property-terminal-punctuation-tests: Likewise.
2495         * modules/unictype/property-test-tests: Likewise.
2496         * modules/unictype/property-titlecase-tests: Likewise.
2497         * modules/unictype/property-unassigned-code-value-tests: Likewise.
2498         * modules/unictype/property-unified-ideograph-tests: Likewise.
2499         * modules/unictype/property-uppercase-tests: Likewise.
2500         * modules/unictype/property-variation-selector-tests: Likewise.
2501         * modules/unictype/property-white-space-tests: Likewise.
2502         * modules/unictype/property-xid-continue-tests: Likewise.
2503         * modules/unictype/property-xid-start-tests: Likewise.
2504         * modules/unictype/property-zero-width-tests: Likewise.
2505         * modules/unictype/scripts-tests: Likewise.
2506         * modules/unictype/syntax-c-ident-tests: Likewise.
2507         * modules/unictype/syntax-c-whitespace-tests: Likewise.
2508         * modules/unictype/syntax-java-ident-tests: Likewise.
2509         * modules/unictype/syntax-java-whitespace-tests: Likewise.
2510         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
2511         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
2512         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
2513         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
2514         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
2515         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
2516         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
2517         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
2518         * modules/uniname/uniname-tests: Likewise.
2519         * modules/uninorm/canonical-decomposition-tests: Likewise.
2520         * modules/uninorm/compat-decomposition-tests: Likewise.
2521         * modules/uninorm/composition-tests: Likewise.
2522         * modules/uninorm/decomposing-form-tests: Likewise.
2523         * modules/uninorm/decomposition-tests: Likewise.
2524         * modules/uninorm/filter-tests: Likewise.
2525         * modules/uninorm/nfc-tests: Likewise.
2526         * modules/uninorm/nfd-tests: Likewise.
2527         * modules/uninorm/nfkc-tests: Likewise.
2528         * modules/uninorm/nfkd-tests: Likewise.
2529         * modules/uninorm/u8-normcmp-tests: Likewise.
2530         * modules/uninorm/u8-normcoll-tests: Likewise.
2531         * modules/uninorm/u16-normcmp-tests: Likewise.
2532         * modules/uninorm/u16-normcoll-tests: Likewise.
2533         * modules/uninorm/u32-normcmp-tests: Likewise.
2534         * modules/uninorm/u32-normcoll-tests: Likewise.
2535         * modules/unistdio/u8-asnprintf-tests: Likewise.
2536         * modules/unistdio/u8-vasnprintf-tests: Likewise.
2537         * modules/unistdio/u8-vasprintf-tests: Likewise.
2538         * modules/unistdio/u8-vsnprintf-tests: Likewise.
2539         * modules/unistdio/u8-vsprintf-tests: Likewise.
2540         * modules/unistdio/u16-asnprintf-tests: Likewise.
2541         * modules/unistdio/u16-vasnprintf-tests: Likewise.
2542         * modules/unistdio/u16-vasprintf-tests: Likewise.
2543         * modules/unistdio/u16-vsnprintf-tests: Likewise.
2544         * modules/unistdio/u16-vsprintf-tests: Likewise.
2545         * modules/unistdio/u32-asnprintf-tests: Likewise.
2546         * modules/unistdio/u32-vasnprintf-tests: Likewise.
2547         * modules/unistdio/u32-vasprintf-tests: Likewise.
2548         * modules/unistdio/u32-vsnprintf-tests: Likewise.
2549         * modules/unistdio/u32-vsprintf-tests: Likewise.
2550         * modules/unistdio/ulc-asnprintf-tests: Likewise.
2551         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
2552         * modules/unistdio/ulc-vasprintf-tests: Likewise.
2553         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
2554         * modules/unistdio/ulc-vsprintf-tests: Likewise.
2555         * modules/unistr/u8-check-tests: Likewise.
2556         * modules/unistr/u8-chr-tests: Likewise.
2557         * modules/unistr/u8-cmp-tests: Likewise.
2558         * modules/unistr/u8-cmp2-tests: Likewise.
2559         * modules/unistr/u8-cpy-alloc-tests: Likewise.
2560         * modules/unistr/u8-cpy-tests: Likewise.
2561         * modules/unistr/u8-mblen-tests: Likewise.
2562         * modules/unistr/u8-mbsnlen-tests: Likewise.
2563         * modules/unistr/u8-mbtouc-tests: Likewise.
2564         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
2565         * modules/unistr/u8-mbtoucr-tests: Likewise.
2566         * modules/unistr/u8-move-tests: Likewise.
2567         * modules/unistr/u8-next-tests: Likewise.
2568         * modules/unistr/u8-prev-tests: Likewise.
2569         * modules/unistr/u8-set-tests: Likewise.
2570         * modules/unistr/u8-stpcpy-tests: Likewise.
2571         * modules/unistr/u8-stpncpy-tests: Likewise.
2572         * modules/unistr/u8-strcat-tests: Likewise.
2573         * modules/unistr/u8-strcmp-tests: Likewise.
2574         * modules/unistr/u8-strcoll-tests: Likewise.
2575         * modules/unistr/u8-strcpy-tests: Likewise.
2576         * modules/unistr/u8-strdup-tests: Likewise.
2577         * modules/unistr/u8-strlen-tests: Likewise.
2578         * modules/unistr/u8-strmblen-tests: Likewise.
2579         * modules/unistr/u8-strmbtouc-tests: Likewise.
2580         * modules/unistr/u8-strncat-tests: Likewise.
2581         * modules/unistr/u8-strncmp-tests: Likewise.
2582         * modules/unistr/u8-strncpy-tests: Likewise.
2583         * modules/unistr/u8-strnlen-tests: Likewise.
2584         * modules/unistr/u8-to-u16-tests: Likewise.
2585         * modules/unistr/u8-to-u32-tests: Likewise.
2586         * modules/unistr/u8-uctomb-tests: Likewise.
2587         * modules/unistr/u16-check-tests: Likewise.
2588         * modules/unistr/u16-chr-tests: Likewise.
2589         * modules/unistr/u16-cmp-tests: Likewise.
2590         * modules/unistr/u16-cmp2-tests: Likewise.
2591         * modules/unistr/u16-cpy-alloc-tests: Likewise.
2592         * modules/unistr/u16-cpy-tests: Likewise.
2593         * modules/unistr/u16-mblen-tests: Likewise.
2594         * modules/unistr/u16-mbsnlen-tests: Likewise.
2595         * modules/unistr/u16-mbtouc-tests: Likewise.
2596         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
2597         * modules/unistr/u16-mbtoucr-tests: Likewise.
2598         * modules/unistr/u16-move-tests: Likewise.
2599         * modules/unistr/u16-next-tests: Likewise.
2600         * modules/unistr/u16-prev-tests: Likewise.
2601         * modules/unistr/u16-set-tests: Likewise.
2602         * modules/unistr/u16-stpcpy-tests: Likewise.
2603         * modules/unistr/u16-stpncpy-tests: Likewise.
2604         * modules/unistr/u16-strcat-tests: Likewise.
2605         * modules/unistr/u16-strcmp-tests: Likewise.
2606         * modules/unistr/u16-strcoll-tests: Likewise.
2607         * modules/unistr/u16-strcpy-tests: Likewise.
2608         * modules/unistr/u16-strdup-tests: Likewise.
2609         * modules/unistr/u16-strlen-tests: Likewise.
2610         * modules/unistr/u16-strmblen-tests: Likewise.
2611         * modules/unistr/u16-strmbtouc-tests: Likewise.
2612         * modules/unistr/u16-strncat-tests: Likewise.
2613         * modules/unistr/u16-strncmp-tests: Likewise.
2614         * modules/unistr/u16-strncpy-tests: Likewise.
2615         * modules/unistr/u16-strnlen-tests: Likewise.
2616         * modules/unistr/u16-to-u32-tests: Likewise.
2617         * modules/unistr/u16-to-u8-tests: Likewise.
2618         * modules/unistr/u16-uctomb-tests: Likewise.
2619         * modules/unistr/u32-check-tests: Likewise.
2620         * modules/unistr/u32-chr-tests: Likewise.
2621         * modules/unistr/u32-cmp-tests: Likewise.
2622         * modules/unistr/u32-cmp2-tests: Likewise.
2623         * modules/unistr/u32-cpy-alloc-tests: Likewise.
2624         * modules/unistr/u32-cpy-tests: Likewise.
2625         * modules/unistr/u32-mblen-tests: Likewise.
2626         * modules/unistr/u32-mbsnlen-tests: Likewise.
2627         * modules/unistr/u32-mbtouc-tests: Likewise.
2628         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
2629         * modules/unistr/u32-mbtoucr-tests: Likewise.
2630         * modules/unistr/u32-move-tests: Likewise.
2631         * modules/unistr/u32-next-tests: Likewise.
2632         * modules/unistr/u32-prev-tests: Likewise.
2633         * modules/unistr/u32-set-tests: Likewise.
2634         * modules/unistr/u32-stpcpy-tests: Likewise.
2635         * modules/unistr/u32-stpncpy-tests: Likewise.
2636         * modules/unistr/u32-strcat-tests: Likewise.
2637         * modules/unistr/u32-strcmp-tests: Likewise.
2638         * modules/unistr/u32-strcoll-tests: Likewise.
2639         * modules/unistr/u32-strcpy-tests: Likewise.
2640         * modules/unistr/u32-strdup-tests: Likewise.
2641         * modules/unistr/u32-strlen-tests: Likewise.
2642         * modules/unistr/u32-strmblen-tests: Likewise.
2643         * modules/unistr/u32-strmbtouc-tests: Likewise.
2644         * modules/unistr/u32-strncat-tests: Likewise.
2645         * modules/unistr/u32-strncmp-tests: Likewise.
2646         * modules/unistr/u32-strncpy-tests: Likewise.
2647         * modules/unistr/u32-strnlen-tests: Likewise.
2648         * modules/unistr/u32-to-u16-tests: Likewise.
2649         * modules/unistr/u32-to-u8-tests: Likewise.
2650         * modules/unistr/u32-uctomb-tests: Likewise.
2651         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
2652         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
2653         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
2654         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
2655         * modules/uniwidth/u8-strwidth-tests: Likewise.
2656         * modules/uniwidth/u8-width-tests: Likewise.
2657         * modules/uniwidth/u16-strwidth-tests: Likewise.
2658         * modules/uniwidth/u16-width-tests: Likewise.
2659         * modules/uniwidth/u32-strwidth-tests: Likewise.
2660         * modules/uniwidth/u32-width-tests: Likewise.
2661         * modules/uniwidth/width-tests: Likewise.
2662
2663 2010-05-18  Richard Jones  <rjones@redhat.com>
2664
2665         doc: users.txt: list hivex
2666         * users.txt: Add hivex.
2667
2668 2010-05-18  Richard Jones  <rjones@redhat.com>
2669
2670         doc: users.txt: list febootstrap
2671         * users.txt: Add febootstrap.
2672
2673 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
2674
2675         bootstrap: fix an error when gnulib is not used as a git submodule
2676         * build-aux/bootstrap (gnulib_path): If its length is zero then
2677         assign "gnulib" to it.
2678         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
2679
2680 2010-05-16  Bruno Haible  <bruno@clisp.org>
2681
2682         Avoid autoconf warnings about AM_ICONV.
2683         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
2684         2.64.
2685
2686 2010-05-16  Bruno Haible  <bruno@clisp.org>
2687
2688         absolute-header: Make the macro usable in more situations.
2689         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
2690         from gl_ABSOLUTE_HEADER.
2691         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
2692
2693 2010-05-16  James Youngman  <jay@gnu.org>
2694
2695         doc: update users.txt
2696         * users.txt: Add CSSC.
2697
2698 2010-05-16  Jim Meyering  <meyering@redhat.com>
2699
2700         init.sh: fix an error in the previous change; add more comments
2701         * tests/init.sh: Compare exit code in loop against 9, not 2.
2702         Patch by Bruno Haible.
2703         Make the two tests more similar by adding an empty "then" clause.
2704         Add comments.
2705
2706         init.sh: avoid unnecessary shell re-exec
2707         * tests/init.sh: Improve the re-exec-required check to first test the
2708         current shell.  If it passes the test, do not search for a shell that
2709         does pass, and do not re-exec.  This test is particularly contorted to
2710         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
2711         of $(...) evokes a syntax error and causes immediate shell exit with
2712         status 2.  Bruno Haible reported that the re-exec made it impossible
2713         to single-step through any init.sh-using script.
2714
2715 2010-05-16  Bruno Haible  <bruno@clisp.org>
2716
2717         Fix collision between gnulib's and libintl's printf replacements.
2718         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
2719         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
2720         (printf): When using GNU C, map the __printf__ function to rpl_printf
2721         via __asm__. When not using GNU C, define rpl_printf instead of
2722         __printf__.
2723         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
2724         commit.
2725         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
2726         commit.
2727         * m4/asm-underscore.m4: New file.
2728         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
2729         * modules/stdio (Files): Add m4/asm-underscore.m4.
2730         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
2731         Reported by Ben Pfaff.
2732
2733 2010-05-16  Bruno Haible  <bruno@clisp.org>
2734
2735         verify: Avoid skipping the test on openSUSE 11.0.
2736         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
2737
2738 2010-05-13  Bruno Haible  <bruno@clisp.org>
2739
2740         Avoid useless warnings from G++.
2741         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
2742         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
2743         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
2744
2745 2010-05-11  Jim Meyering  <meyering@redhat.com>
2746
2747         maint.mk: tweak preceding change
2748         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
2749         regexps tighter by anchoring at EOL, and make the new group "shy"
2750         for slightly decreased overhead.
2751
2752 2010-05-11  Eric Blake  <eblake@redhat.com>
2753
2754         maint.mk: gnulib doesn't guarantee NSIG
2755         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
2756
2757 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
2758
2759         test-pwrite.c: Remove unused variable declaration.
2760         * tests/test-pwrite.c (main): Remove read_buf declaration.
2761
2762         Remove useless test-pwrite.sh file.
2763         * tests/test-pwrite.sh: Delete file.
2764         * modules/pwrite-tests: Remove references.
2765         Reported by Bruno Haible.
2766
2767 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
2768
2769         init.sh: fix a typo
2770         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
2771
2772 2010-05-10  Jim Meyering  <meyering@redhat.com>
2773
2774         maint.mk: avoid using a temporary file in the always-defined-macros check
2775         * top/maint.mk (.re-defmac): Remove rule.
2776         (gl_trap_): Remove definition.
2777         (sc_prohibit_always-defined_macros): Rewrite not to create and
2778         depend on a temporary file.  Instead, depend on GNU grep's ability
2779         to read a list of regular expressions from stdin when given "-f -".
2780
2781 2010-05-09  Bruno Haible  <bruno@clisp.org>
2782
2783         Update to GNU gettext 0.18, part 1.
2784         * m4/gettext.m4: Update to GNU gettext 0.18.
2785         * m4/intl.m4: Likewise.
2786         * m4/po.m4: Likewise.
2787         * modules/gettext (Files): Add m4/fcntl-o.m4.
2788         (configure.ac): Require gettext infrastructure from version 0.18.
2789
2790 2010-05-09  Jim Meyering  <meyering@redhat.com>
2791
2792         init.sh: enable MALLOC_PERTURB_
2793         * tests/init.sh: Enable glibc's malloc-perturbing option.
2794
2795         maint.mk: improve sc_cross_check_PATH_usage_in_tests
2796         With my recent change in init.sh from the two-line form:
2797             -#   : ${srcdir=.}
2798             -#   . "$srcdir/init.sh"; path_prepend_ .
2799             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
2800         I noticed that using the one-line form would cause this test
2801         to fail with a false-positive, or to stop working altogether,
2802         depending on whether help-version changed or all the tests did.
2803         * top/maint.mk (_hv_regex): Remove this definition.
2804         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
2805         (_hv_regex_strong): Use a stronger regex to check for conformance.
2806         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
2807         Give a separate diagnostic for lack of conforming use.
2808
2809         maint.mk: prohibit definition of symbols defined by gnulib
2810         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
2811         definition of symbols defined by gnulib.
2812
2813 2010-05-09  Bruno Haible  <bruno@clisp.org>
2814
2815         acl: Avoid test failure on Cygwin-hosted mingw.
2816         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
2817
2818 2010-05-09  Bruno Haible  <bruno@clisp.org>
2819
2820         error: Use system's fcntl function.
2821         * lib/error.c (fcntl): Undefine.
2822
2823 2010-05-09  Jim Meyering  <meyering@redhat.com>
2824
2825         verify: adjust formatting to be more consistent
2826         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
2827         argument-list '('s, and after one comma.
2828
2829 2010-05-09  Bruno Haible  <bruno@clisp.org>
2830
2831         error: More reliable output on mingw.
2832         * lib/error.c: Include <windows.h>.
2833         (is_open): New function.
2834         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
2835         defined.
2836
2837 2010-05-09  Bruno Haible  <bruno@clisp.org>
2838
2839         vasnprintf: Fix syntax errors in libintl build on mingw.
2840         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
2841         pad_ourselves and prec_ourselves after use.
2842
2843 2010-05-08  Bruno Haible  <bruno@clisp.org>
2844
2845         * lib/config.charset: Update comments for Cygwin 1.7.
2846         * lib/localcharset.c: Likewise.
2847
2848 2010-05-07  Jim Meyering  <meyering@redhat.com>
2849
2850         init.sh: improve comments
2851         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
2852         . "${srcdir=.}/init.sh"; path_prepend_ .
2853         Add a note about path_prepend_ and the alternative of using
2854         TESTS_ENVIRONMENT.
2855
2856 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
2857
2858         exclude: Unescape hashed patterns in wildcard mode.
2859         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
2860         to the hash list.
2861         * tests/test-exclude8.sh: New test case.
2862         * modules/exclude-tests: Add new test.
2863
2864 2010-05-05  Eric Blake  <eblake@redhat.com>
2865
2866         verify: automate tests
2867         * modules/verify-tests: New module.
2868         * tests/test-verify.sh: New file.
2869         * tests/test-verify.c: Guard each negative test with a unique id.
2870         Also avoid warning about unused left hand of comma expressions.
2871
2872 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
2873
2874         Further improvements to verify.h, suggested by Eric Blake.
2875         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
2876         the GL_* versions, to avoid collision with OpenGL.
2877         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
2878         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
2879         than testing merely whether it's defined.
2880
2881         Modify verify.h to pacify gcc -Wredundant_decls.
2882         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
2883         These use the prefix "GL_" since they're likely to be useful elsewhere.
2884         We may need to break them out into a different .h file.
2885         (__COUNTER__): Define to 0 if the compiler doesn't support it.
2886         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
2887         of verify_function__.
2888
2889 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
2890
2891         Tests for module pwrite.
2892         * modules/pwrite-tests: New file.
2893         * tests/test-pwrite.sh: New file.
2894         * tests/test-pwrite.c: New file.
2895
2896         New module pwrite.
2897         * lib/unistd.in.h (pwrite): New declaration.
2898         * lib/pwrite.c: New file, from glibc with modifications.
2899         * m4/pwrite.m4: New file.
2900         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
2901         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
2902         REPLACE_PWRITE.
2903         * modules/pwrite: New file.
2904         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
2905         REPLACE_PWRITE.
2906         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
2907         * doc/posix-functions/pwrite.texi: Mention the new module.
2908
2909 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
2910
2911         pread: Update documentation.
2912         * doc/posix-functions/pread.texi: Mention the 'pread' module.
2913
2914 2010-05-04  Eric Blake  <eblake@redhat.com>
2915
2916         docs: update cygwin progress
2917         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
2918         this bug.
2919         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
2920         Added in cygwin 1.7.2.
2921         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
2922         Likewise.
2923         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
2924         Likewise.
2925         * doc/glibc-functions/dup3.texi (dup3): Likewise.
2926         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
2927         * doc/glibc-functions/accept4.texi (accept4): Likewise.
2928         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
2929         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
2930         Mention nproc module.
2931         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
2932         bug in cygwin 1.7.5 addition.
2933         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
2934         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
2935         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
2936         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
2937         1.7.5.
2938         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
2939         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
2940         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
2941         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
2942         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
2943         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
2944         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
2945         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
2946         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
2947         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
2948         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
2949         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
2950         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
2951         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
2952         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
2953         Likewise.
2954         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
2955         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
2956         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
2957         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
2958         Likewise.
2959         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
2960         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
2961         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
2962         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
2963         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
2964         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
2965         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
2966         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
2967         Likewise.
2968         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
2969         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
2970         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
2971         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
2972         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
2973         Likewise.
2974         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
2975         Likewise.
2976         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
2977         Likewise.
2978         * doc/glibc-functions/xdrrec_endofrecord.texi
2979         (xdrrec_endofrecord): Likewise.
2980         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
2981         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
2982         Likewise.
2983         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
2984         Likewise.
2985
2986 2010-05-04  Jim Meyering  <meyering@redhat.com>
2987
2988         gendocs.sh: make its "-s FILE" option more useful
2989         * build-aux/gendocs.sh: When honoring the -s FILE option, update
2990         $PACKAGE to reflect the probably-different basename of "FILE".
2991
2992 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
2993
2994         bootstrap: don't ignore download_po_files failure
2995         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
2996         failure.
2997
2998 2010-05-03  Jim Meyering  <meyering@redhat.com>
2999
3000         maint.mk: allow to pass options to gendocs.sh
3001         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
3002         (gendocs_options_): New overridable variable.
3003
3004         gnu-web-doc-update: don't ignore configure or build failure
3005         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
3006
3007         announce-gen: backslash-escape '@'s in --help output
3008         * build-aux/announce-gen: Fix syntax errors.
3009
3010         maint.mk, announce-gen: allow project-specific announcement mail headers
3011         * top/maint.mk (translation_project_): Define default.
3012         (announcement_Cc_, announcement_mail_headers_): Likewise.
3013         (announcement): Invoke announce-gen with new --mail-headers option.
3014         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
3015
3016         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
3017         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
3018         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
3019         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
3020         line in the "err2" output file when running "make check" in verbose
3021         mode (i.e., with set -x enabled).
3022
3023 2010-05-03  Bruno Haible  <bruno@clisp.org>
3024
3025         wctob: Fix for weird platforms.
3026         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
3027         argument value.
3028
3029 2010-05-03  Jim Meyering  <meyering@redhat.com>
3030
3031         maint.mk: prohibit unwarranted use of <strings.h>
3032         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
3033         strings.h in a file that does not also use strcasecmp, strncasecmp,
3034         ffs or ffsll.
3035
3036         maint.mk: remove obsolete comments
3037         * top/maint.mk: Remove stale, commented-out rules.
3038
3039 2010-05-02  Bruno Haible  <bruno@clisp.org>
3040
3041         wcwidth: Declare also when it's aliased.
3042         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
3043         macro.
3044
3045 2010-05-02  Bruno Haible  <bruno@clisp.org>
3046
3047         Fix regression from 2010-04-25.
3048         * gnulib-tool (func_modules_transitive_closure): Check the status of
3049         all modules, not only of the tests that are of the form foo-tests where
3050         foo is a module.
3051
3052 2010-05-02  Bruno Haible  <bruno@clisp.org>
3053
3054         wctob: Work around nasty Cygwin 1.7.2 bug.
3055         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
3056         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
3057
3058 2010-05-01  Bruno Haible  <bruno@clisp.org>
3059
3060         fpurge: Sharper test.
3061         * tests/test-fpurge.c (main): Add one more ftell check.
3062         * modules/fpurge-tests (Depends-on): Add ftell.
3063         Suggested by Eric Blake.
3064
3065 2010-05-01  Bruno Haible  <bruno@clisp.org>
3066
3067         ftello: Another test.
3068         * tests/test-ftello3.c: New file.
3069         * modules/ftello-tests (Files): Add it.
3070         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
3071         MOSTLYCLEANFILES.
3072
3073         ftell: Another test.
3074         * tests/test-ftell3.c: New file.
3075         * modules/ftell-tests (Files): Add it.
3076         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
3077         MOSTLYCLEANFILES.
3078
3079 2010-05-01  Bruno Haible  <bruno@clisp.org>
3080
3081         ftell, ftello: Work around Solaris bug.
3082         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
3083         * lib/ftello.c: Include stdio-impl.h.
3084         (ftello): On Solaris, when _IOWRT is set, compute the result without
3085         looking at _IOREAD.
3086         * modules/ftello (Files): Add lib/stdio-impl.h.
3087         * doc/posix-functions/ftell.texi: Mention Solaris bug.
3088         * doc/posix-functions/ftello.texi: Likewise.
3089         Reported by Eric Blake.
3090
3091 2010-05-01  Bruno Haible  <bruno@clisp.org>
3092
3093         freading: Adapt to special meaning of _IOREAD flag on Solaris.
3094         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
3095         the _IOWRT flag is also set.
3096
3097 2010-05-01  Bruno Haible  <bruno@clisp.org>
3098
3099         Fix doc about a HP-UX stdio bug.
3100         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
3101         * doc/posix-functions/ftello.texi: Likewise.
3102
3103 2010-05-01  Bruno Haible  <bruno@clisp.org>
3104
3105         lseek test: Fix failure on Solaris.
3106         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
3107         output.
3108
3109 2010-04-30  Jim Meyering  <meyering@redhat.com>
3110
3111         bootstrap: don't ignore failure to generate po*/Makevars
3112         * build-aux/bootstrap (with_gettext): Don't ignore failure
3113         to create po/Makevars or runtime-po/Makevars.
3114
3115 2010-04-29  Eric Blake  <eblake@redhat.com>
3116
3117         headers: relax license to LGPLv2+
3118         * modules/fcntl-h (License): Relax license.
3119         * modules/getopt-posix (License): Likewise.
3120         * modules/locale (License): Likewise.
3121         * modules/math (License): Likewise.
3122         * modules/pty (License): Likewise.
3123         * modules/sched (License): Likewise.
3124         * modules/search (License): Likewise.
3125         * modules/spawn (License): Likewise.
3126         * modules/stdarg (License): Likewise.
3127         * modules/sysexits (License): Likewise.
3128
3129 2010-04-29  Jim Meyering  <meyering@redhat.com>
3130
3131         inttypes: relax license to LGPLv2+
3132         * modules/inttypes (License): Relax license.
3133
3134 2010-04-29  Simon Josefsson  <simon@josefsson.org>
3135
3136         * top/maint.mk (indent): Run twice to produce idempotent results.
3137
3138 2010-04-28  Bruno Haible  <bruno@clisp.org>
3139
3140         getdate: Generate getdate.c in the source directory.
3141         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
3142         MOSTLYCLEANFILES.
3143         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
3144
3145 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
3146
3147         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
3148         is not declared as a const *; avoid warnings in that case.
3149
3150 2010-04-28  Eric Blake  <eblake@redhat.com>
3151
3152         canonicalize-lgpl: avoid compiler warning
3153         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
3154         declaration' / 'extraneous semicolon' warning with some compilers.
3155         Reported by Andreas Gruenbacher.
3156
3157 2010-04-28  Jim Meyering  <meyering@redhat.com>
3158
3159         init.sh: ensure a more reliable exit status when exiting via trap
3160         * tests/init.sh (setup_): Don't rely on $? in signal handler.
3161         Inspired by patches from Dmitry V. Levin.
3162         Also trap on signal 3 (SIGQUIT).
3163
3164 2010-04-27  Bruno Haible  <bruno@clisp.org>
3165
3166         Update doc about utimes().
3167         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
3168         'utimens' module.
3169         Reported by Andreas Gruenbacher <agruen@suse.de>.
3170
3171 2010-04-27  Eric Blake  <eblake@redhat.com>
3172
3173         full-read, full-write: relax license
3174         * modules/full-read (License): Drop to LGPLv2+.
3175         * modules/full-write (License): Likewise.
3176         * modules/safe-read (License): Likewise.
3177         * modules/safe-write (License): Likewise.
3178
3179         pthread: mention library for linking
3180         * modules/pthread (Link): Mention $(LIB_PTHREAD).
3181
3182 2010-04-27  Jim Meyering  <meyering@redhat.com>
3183
3184         maint.mk: fix a bug introduced in last change
3185         * top/maint.mk (gl_assured_headers_): Now that all names are on
3186         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
3187         is not anchored to end of word, it should be adequate.
3188
3189         maint.mk: avoid side-effect in latest syntax-check
3190         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
3191         to run commands via $(shell...), and hence to incur cost only when
3192         the new rule is actually run.
3193
3194         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
3195         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
3196         and use that to create a regexp used to detect all #if HAVE_..._H uses.
3197         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
3198         (gl_assured_headers_, az_, AZ_): Define.
3199         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
3200
3201 2010-04-26  Jim Meyering  <jim@meyering.net>
3202             Bruno Haible  <bruno@clisp.org>
3203
3204         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
3205         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
3206         Prompted by an exchange with Gilles Espinasse.
3207
3208 2010-04-26  Jim Meyering  <meyering@redhat.com>
3209
3210         git-version-gen: aesthetic tweak
3211         * build-aux/git-version-gen: Use "$nl" rather than a literal,
3212         so that the command remains on a single line.
3213
3214 2010-04-26  Eric Blake  <eblake@redhat.com>
3215
3216         git-version-gen: allow use on EBCDIC hosts
3217         * build-aux/git-version-gen (dirty): Use literal rather than tying
3218         ourselves to ascii.
3219         Reported by Steve Goetze.
3220
3221 2010-04-25  Bruno Haible  <bruno@clisp.org>
3222
3223         netdb: Add support for GNULIB_POSIXCHECK.
3224         * lib/netdb.in.h: Include warn-on-use.h.
3225         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
3226         functions are used when GNULIB_POSIXCHECK is defined and the
3227         getaddrinfo module is not in use.
3228         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
3229         freeaddrinfo, gai_strerror, getnameinfo are declared.
3230         * modules/netdb (Depends-on): Add warn-on-use.
3231         (Makefile.am): Include warn-on-use.h in netdb.h.
3232
3233 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
3234
3235         build: avoid "make check" failure without .git/ directory
3236         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
3237         there is no .git/ directory.
3238
3239 2010-04-25  Bruno Haible  <bruno@clisp.org>
3240
3241         ptsname: Fix misuse of ttyname_r.
3242         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
3243         of errno.
3244
3245 2010-04-25  Bruno Haible  <bruno@clisp.org>
3246
3247         ttyname_r: Make it work on Solaris 10.
3248         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
3249         if the system function has the POSIX declaration. Test whether the
3250         function fails if the buffer is less than 128 bytes large.
3251         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
3252         system's ttyname_r function. Provide a reasonably large buffer.
3253         * modules/ttyname_r (Depends-on): Add extensions.
3254         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
3255
3256 2010-04-25  Bruno Haible  <bruno@clisp.org>
3257
3258         Use the 'extensions' module for some more functions on Solaris.
3259         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
3260         module.
3261         * doc/posix-functions/ctime_r.texi: Likewise.
3262         * doc/posix-functions/getgrgid_r.texi: Likewise.
3263         * doc/posix-functions/getgrnam_r.texi: Likewise.
3264         * doc/posix-functions/getpwnam_r.texi: Likewise.
3265         * doc/posix-functions/getpwuid_r.texi: Likewise.
3266         * doc/posix-functions/readdir_r.texi: Likewise.
3267         * doc/posix-functions/sigwait.texi: Likewise.
3268         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
3269         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
3270
3271 2010-04-25  Bruno Haible  <bruno@clisp.org>
3272
3273         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
3274         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
3275         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
3276         * lib/ttyname_r.c: Include <limits.h>.
3277         (ttyname_r): Define using the system's ttyname_r function, if it exists
3278         and not on Solaris.
3279         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
3280         set.
3281         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
3282         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
3283         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
3284         Reported by Simon Josefsson.
3285
3286 2010-04-25  Bruno Haible  <bruno@clisp.org>
3287
3288         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
3289         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
3290         * doc/posix-functions/ctime_r.texi: Likewise.
3291         * doc/posix-functions/getgrgid_r.texi: Likewise.
3292         * doc/posix-functions/getgrnam_r.texi: Likewise.
3293         * doc/posix-functions/getlogin_r.texi: Likewise.
3294         * doc/posix-functions/getpwnam_r.texi: Likewise.
3295         * doc/posix-functions/getpwuid_r.texi: Likewise.
3296         * doc/posix-functions/readdir_r.texi: Likewise.
3297         * doc/posix-functions/sigwait.texi: Likewise.
3298         * doc/posix-functions/ttyname_r.texi: Likewise.
3299         Reported by Simon Josefsson.
3300
3301 2010-04-25  Bruno Haible  <bruno@clisp.org>
3302
3303         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
3304         * gnulib-tool (func_usage): Document that --with-*-tests options apply
3305         also to --create-testdir.
3306         (func_acceptable): Don't consider the status of *-tests modules here.
3307         (func_modules_transitive_closure): Consider it here, before including a
3308         test module.
3309         (func_import, func_create_testdir): Set inc_all_direct_tests,
3310         inc_all_indirect_tests.
3311         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
3312         --create-testdir and --create-megatestdir.
3313
3314 2010-04-25  Bruno Haible  <bruno@clisp.org>
3315
3316         gnulib-tool: Add --without-*-tests options.
3317         * gnulib-tool (func_usage): Document the --without-*-tests options.
3318         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
3319         excl_unportable_tests): New variables.
3320         Fail if they are specified with --import or --update.
3321         (func_acceptable): Respect the excl_*_tests variables.
3322         (func_import): Set the excl_*_tests variables to empty.
3323
3324 2010-04-25  Simon Josefsson  <simon@josefsson.org>
3325             Bruno Haible  <bruno@clisp.org>
3326
3327         Work around a MacOS X 10.4 bug with openpty.
3328         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
3329         * tests/test-openpty.c (main): Close the master side explicitly.
3330
3331 2010-04-25  Bruno Haible  <bruno@clisp.org>
3332
3333         strnlen: Fix a C++ test error on MacOS X and Solaris.
3334         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
3335         the function is not declared.
3336         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
3337         Simon Josefsson.
3338
3339 2010-04-24  Bruno Haible  <bruno@clisp.org>
3340
3341         Avoid a gcc warning.
3342         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
3343         of correct type for %08lx directive.
3344         Reported by Eric Blake.
3345
3346 2010-04-24  Bruno Haible  <bruno@clisp.org>
3347
3348         vasnprintf: Correct errno value in case of out-of-memory.
3349         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
3350         or sprintf. Use the errno value from SNPRINTF or sprintf.
3351         Reported by Ian Beckwith <ianb@erislabs.net>.
3352
3353 2010-04-24  Bruno Haible  <bruno@clisp.org>
3354
3355         ansi-c++-opt: Find correct compiler when cross-compiling.
3356         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
3357         AC_CHECK_PROGS.
3358         Reported by Simon Josefsson.
3359
3360 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
3361
3362         vc-list-files: Add support for subversion
3363         * build-aux/vc-list-files: Use "svn list" to generate the list of
3364         files controlled by subversion.
3365
3366 2010-04-23  Jim Meyering  <meyering@redhat.com>
3367
3368         vc-list-files tests: convert to use init.sh
3369         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
3370         path_prepend_.
3371         Use Exit, not exit.
3372         Use skip_ rather than open coding it.
3373         Remove trap set-up and compare definitions.
3374         * tests/test-vc-list-files-git.sh: Likewise.
3375         * modules/vc-list-files-tests (Files): Add tests/init.sh.
3376
3377 2010-04-22  Simon Josefsson  <simon@josefsson.org>
3378
3379         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
3380         backup files.
3381
3382 2010-04-21  Simon Josefsson  <simon@josefsson.org>
3383
3384         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
3385
3386 2010-04-20  Eric Blake  <eblake@redhat.com>
3387
3388         tests: be robust to ignored SIGPIPE
3389         * tests/test-select-in.sh: Consume all output.
3390         * tests/test-lseek.sh: Check correct exit status, while avoiding
3391         EPIPE.
3392
3393 2010-04-20  Simon Josefsson  <simon@josefsson.org>
3394             Bruno Haible  <bruno@clisp.org>
3395
3396         visibility: Don't use -fvisibility if it leads to a warning.
3397         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
3398         yes, don't pretend that visibility works if it leads to a warning.
3399         Reported by Mike Gran <spk121@yahoo.com>.
3400
3401 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
3402
3403         * build-aux/bootstrap: Use "git -h" for testing for supported options
3404         instead of "git --help".  The short-form option only shows a summary,
3405         and doesn't layout the full man page.  Grep for the full option name
3406         in the summary, too.
3407
3408 2010-04-19  Bruno Haible  <bruno@clisp.org>
3409
3410         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
3411         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
3412         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
3413         mention of RELOCATABLE_STRIP.
3414         Reported by Sylvain Beucler <beuc@beuc.net>.
3415
3416 2010-04-19  Bruno Haible  <bruno@clisp.org>
3417
3418         * lib/diffseq.h: Fix typo in comment.
3419         Reported by Eric Blake.
3420
3421 2010-04-19  Bruno Haible  <bruno@clisp.org>
3422
3423         ioctl: Move autoconf macro to a .m4 file.
3424         * m4/ioctl.m4: New file, extracted from modules/ioctl.
3425         * modules/ioctl (Files): Add it.
3426         (configure.ac): Simply invoke gl_FUNC_IOCTL.
3427         Reported by Ian Beckwith <ianb@erislabs.net>.
3428
3429 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
3430             Bruno Haible  <bruno@clisp.org>
3431
3432         diffseq: Accommodate use-case with abstract arrays.
3433         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
3434         is not defined.
3435         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
3436         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
3437
3438 2010-04-18  Bruno Haible  <bruno@clisp.org>
3439
3440         * doc/posix-headers/stdbool.texi: More precise wording.
3441
3442 2010-04-17  Jim Meyering  <meyering@redhat.com>
3443
3444         maint.mk: use gnu-style indentation in an embedded perl script
3445         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
3446         Rename variable: s/two/last_two_bytes/
3447
3448 2010-04-16  Eric Blake  <eblake@redhat.com>
3449
3450         test-stdbool: skip test that fails with Solaris CC
3451         * tests/test-stdbool.c (f): Skip test that causes compilation
3452         error under buggy C++ compiler.
3453         * lib/stdbool.in.h: Document the limitation.
3454         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
3455
3456         setenv: allow compilation with C++
3457         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
3458         register keyword.
3459
3460         stdint: allow test to pass with C++
3461         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
3462
3463         getopt: allow compilation with C++
3464         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
3465         struct.
3466         * lib/getopt.c (_getopt_internal_r): Use correct type.
3467         Reported by Dagobert Michelson, via Joel E. Denny.
3468
3469 2010-04-16  Bruno Haible  <bruno@clisp.org>
3470
3471         Override netdb.h always.
3472         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
3473         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
3474         Reported by Ludovic Courtès <ludo@gnu.org>.
3475
3476 2010-04-15  Bruno Haible  <bruno@clisp.org>
3477
3478         openpty: Fix mistake from 2010-03-21.
3479         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
3480         Reported by Simon Josefsson.
3481
3482 2010-04-15  Eric Blake  <eblake@redhat.com>
3483
3484         test-forkpty: fix expected signature
3485         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
3486         Reported by Simon Josefsson.
3487
3488 2010-04-15  Jim Meyering  <meyering@redhat.com>
3489
3490         maint.mk: texinfo_suffix_re_: correct the default regexp
3491         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
3492
3493         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
3494         make it configurable via texinfo_suffix_re_.
3495
3496 2010-04-14  Eric Blake  <eblake@redhat.com>
3497
3498         strtok_r: relax license to LGPLv2+
3499         * modules/strtok_r (License): Relax license.
3500         Reported by Matthias Bolte.
3501
3502 2010-04-14  Simon Josefsson  <simon@josefsson.org>
3503
3504         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
3505         version 1.4.4 by default instead of requiring the libgcrypt
3506         version used during build.  This makes it possible to use the
3507         application with older but still binary compatible libgcrypt
3508         versions.
3509
3510 2010-04-13  Eric Blake  <eblake@redhat.com>
3511
3512         getopt-gnu: match recent glibc fixes and posix ruling
3513         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
3514         '+' handling, when requesting extensions.
3515         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
3516         'W;' handling.
3517         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
3518         * doc/posix-functions/getopt.texi (getopt): Document this.
3519         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
3520         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
3521         Likewise.
3522
3523         getopt: merge bug fixes from glibc
3524         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
3525         diagnostics.  Honor '+:' correctly.  Reject ';'.
3526
3527         getopt-posix: detect MacOS bug
3528         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
3529         optind when missing a required argument.
3530         * doc/posix-functions/getopt.texi (getopt): Document the bug.
3531         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
3532         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
3533         Likewise.
3534
3535         getopt-posix: avoid spurious failure on Solaris
3536         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
3537         an indicator that setting optind=1 is sufficient for reset.
3538
3539         getopt-posix: avoid spurious failure on FreeBSD
3540         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
3541         in POSIX mode, since the m4 test uses it.
3542
3543         gnulib-tool: silence warning on BSD sh
3544         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
3545
3546 2010-04-13  Jim Meyering  <meyering@redhat.com>
3547
3548         doc: users.txt: GNU patch now uses gnulib
3549         * users.txt: Add patch.
3550
3551 2010-04-12  Jim Meyering  <meyering@redhat.com>
3552
3553         maint.mk: generate more concise timing data for syntax-check rules
3554         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
3555         " done" from each line that reports a syntax-check test duration.
3556
3557 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
3558
3559         git-version-gen: use "git update-index..." rather than "git status"
3560         * build-aux/git-version-gen: Use git update-index --refresh, not
3561         "git status".  With some versions of git, "git status" would fail
3562         to update the index and result in an unwarranted "-dirty" suffix.
3563
3564 2010-04-11  Jim Meyering  <meyering@redhat.com>
3565
3566         openat: correct formatting (no semantic change)
3567         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
3568         Suggested by Bruno Haible.
3569
3570 2010-04-11  Bruno Haible  <bruno@clisp.org>
3571
3572         Stricter declaration checking in testdirs.
3573         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
3574         If for_tests is true, augment AM_CPPFLAGS to define
3575         GNULIB_STRICT_CHECKING.
3576         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
3577         GNULIB_STRICT_CHECKING is defined, verify that the function is
3578         declared.
3579
3580 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
3581             Bruno Haible  <bruno@clisp.org>
3582
3583         libunistring: Improve configure output.
3584         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
3585         Don't say "consider installing GNU libunistring" when checking again
3586         with libiconv.
3587
3588 2010-04-11  Bruno Haible  <bruno@clisp.org>
3589
3590         libunistring: Correct value of $LTLIBUNISTRING.
3591         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
3592         correct the value of $LTLIBUNISTRING.
3593
3594 2010-04-11  Bruno Haible  <bruno@clisp.org>
3595
3596         havelib: Add static libraries to LIBS in the right order.
3597         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
3598         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
3599
3600 2010-04-11  Bruno Haible  <bruno@clisp.org>
3601
3602         libunistring: Detect libunistring also when it depends on libiconv.
3603         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
3604         the second AC_LIB_HAVE_LINKFLAGS invocation.
3605
3606 2010-04-11  James Youngman  <jay@gnu.org>
3607
3608         close-stream: declare local scalars to be "const"
3609         * lib/close-stream.c (close_stream): Make boolean variables const
3610         to document the fact that we set but do not change them.
3611
3612 2010-04-11  Bruno Haible  <bruno@clisp.org>
3613
3614         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
3615
3616 2010-04-11  Jim Meyering  <meyering@redhat.com>
3617
3618         maint.mk: don't include dist-check.mk
3619         * top/maint.mk: Remove bogus include directive.
3620
3621         maint.mk: improve empty-line-at-EOF check
3622         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
3623         solution, rather than tail+Perl-based one.  The latter would read
3624         a few kilobytes from the end of each file, and did not handle empty
3625         files properly.
3626
3627         maint.mk: print the elapsed time for each syntax-check rule
3628         * top/maint.mk (sc_m_rules_): Save start time in a file.
3629         (sc_z_rules_): New rules: remove temp file and print elapsed time.
3630         (local-check): Interpose the .z rules
3631
3632 2010-04-11  Jim Meyering  <meyering@redhat.com>
3633
3634         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
3635         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
3636         empty file with one that ends in an empty line.
3637
3638 2010-04-10  Bruno Haible  <bruno@clisp.org>
3639
3640         mkdir: Make it work on mingw64.
3641         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
3642         * lib/mkdir.c: Update comment.
3643         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
3644
3645 2010-04-10  Bruno Haible  <bruno@clisp.org>
3646
3647         Don't override improved macro from newer autoconf.
3648         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
3649         autoconf >= 2.62.
3650         Reported by Joel E. Denny <jdenny@clemson.edu>.
3651
3652 2010-04-10  Jim Meyering  <meyering@redhat.com>
3653
3654         maint.mk: new syntax-check rule: prohibit empty lines at end of file
3655         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
3656
3657         maint.mk: correct a diagnostic
3658         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
3659         in diagnostic; now use $prohibit.
3660
3661 2010-04-10  Bruno Haible  <address@hidden>
3662
3663         fchownat: Fix a C++ test error on Solaris 8.
3664         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
3665         the function does not exist.
3666
3667 2010-04-10  Bruno Haible  <bruno@clisp.org>
3668
3669         vasnprintf: Add more tests.
3670         * tests/test-vasnprintf-posix.c: Include <errno.h>.
3671         (test_function): Test converting an invalid wide string.
3672
3673         vasnprintf: Correct handling of unconvertible wide string arguments.
3674         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
3675         VASNPRINTF.
3676         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
3677         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
3678         smaller than the expected maximum need for the directive. Set errno to
3679         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
3680         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
3681         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
3682         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
3683         * modules/vasnprintf (Files): Add m4/printf.m4.
3684         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
3685
3686 2010-04-10  Bruno Haible  <bruno@clisp.org>
3687
3688         vasnprintf: Fix crash in %ls directive.
3689         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
3690         string is passed as argument to %ls, with no precision and no width.
3691         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
3692
3693 2010-04-10  Bruno Haible  <bruno@clisp.org>
3694
3695         vasnprintf: Fix multiple test failures on mingw.
3696         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
3697         _snprintf, or snwprintf, not _snwprintf.
3698
3699 2010-04-10  Bruno Haible  <bruno@clisp.org>
3700
3701         write: Fix a C++ test error on mingw.
3702         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
3703
3704 2010-04-10  Bruno Haible  <bruno@clisp.org>
3705
3706         vasnprintf test: Reduce code duplication.
3707         * tests/test-vasnprintf.c (test_function): New function, extracted from
3708         test_vasnprintf.
3709         (test_vasnprintf, test_asnprintf): Invoke it.
3710
3711 2010-04-10  Bruno Haible  <bruno@clisp.org>
3712
3713         strnlen: Fix warning in C++ mode on MacOS X.
3714         * lib/string.in.h (strnlen): Use the modern idiom.
3715         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
3716         defining strnlen as a macro already in <config.h>.
3717         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
3718         REPLACE_STRNLEN.
3719         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
3720         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
3721
3722 2010-04-08  James Youngman  <jay@gnu.org>
3723
3724         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
3725         the example.
3726
3727 2010-04-09  Jim Meyering  <meyering@redhat.com>
3728
3729         maint.mk: print better diagnostic when there is no $(_hv_file)
3730         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
3731         announce that when $(_hv_file) (aka help-version) does not exist.
3732
3733         init.sh: run tr in the "C" locale to avoid multibyte interpretation
3734         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
3735         not try to interpret its random input bytes.  Jarno Rajahalme reported
3736         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
3737         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
3738         (mktempd_): Likewise, just in case.
3739
3740         ftruncate: add two years to projected module removal date: 2012
3741         * m4/ftruncate.m4: Adjust comments.
3742
3743         ftruncate: mark module as obsolete; even MinGW provides it, now
3744         * modules/ftruncate (Status): Obsolete.
3745         (Notice): Say that.
3746         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
3747         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
3748
3749 2010-04-08  Bruno Haible  <bruno@clisp.org>
3750
3751         Fix side effects from tests-related modules.
3752         * modules/dprintf-posix (Comment): New section.
3753         * modules/fprintf-posix (Comment): Likewise.
3754         * modules/obstack-printf-posix (Comment): Likewise.
3755         * modules/printf-posix (Comment): Likewise.
3756         * modules/snprintf-posix (Comment): Likewise.
3757         * modules/sprintf-posix (Comment): Likewise.
3758         * modules/vasnprintf-posix (Comment): Likewise.
3759         * modules/vasprintf-posix (Comment): Likewise.
3760         * modules/vdprintf-posix (Comment): Likewise.
3761         * modules/vfprintf-posix (Comment): Likewise.
3762         * modules/vprintf-posix (Comment): Likewise.
3763         * modules/vsnprintf-posix (Comment): Likewise.
3764         * modules/vsprintf-posix (Comment): Likewise.
3765         * modules/xprintf-posix (Comment): Likewise.
3766         * modules/xvasprintf-posix (Comment): Likewise.
3767         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
3768         * modules/floorf-tests (Depends-on): Likewise.
3769         * modules/round-tests (Depends-on): Likewise.
3770         * modules/roundf-tests (Depends-on): Likewise.
3771         * modules/trunc-tests (Depends-on): Likewise.
3772         * modules/truncf-tests (Depends-on): Likewise.
3773         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
3774         'fprintf-posix' module is not present.
3775         * tests/test-floorf2.c (check): Likewise.
3776         * tests/test-trunc2.c (check): Likewise.
3777         * tests/test-truncf2.c (check): Likewise.
3778         * tests/test-round2.c (equal): Likewise.
3779         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
3780
3781 2010-04-07  Karl Berry  <karl@gnu.org>
3782
3783         * config/srclist.txt,
3784         * config/srclistvars.sh,
3785         * config/srclist-update: doc fixes.
3786
3787 2010-04-07  Jim Meyering  <meyering@redhat.com>
3788
3789         maint.mk: add a PATH crosschecking syntax-check rule
3790         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
3791         Useful if you use a test like the one in help-version (coreutils,
3792         diffutils, grep, gzip) that ensures $(VERSION) matches what is
3793         printed by prog --version.
3794
3795 2010-04-06  Bruno Haible  <bruno@clisp.org>
3796
3797         Fix link error on mingw.
3798         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
3799         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
3800
3801 2010-04-06  Bruno Haible  <bruno@clisp.org>
3802
3803         Assume rmdir exists.
3804         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
3805
3806 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
3807
3808         doc: update users.txt
3809         * users.txt: Add gcal.
3810
3811 2010-04-06  Jim Meyering  <meyering@redhat.com>
3812
3813         init.sh: simply unset TMPDIR rather than risking env -i
3814         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
3815         although it probably works fine on all Unix-based systems, some
3816         systems (Cygwin?) cannot tolerate a totally cleared environment.
3817         Suggestion from Eric Blake.
3818
3819 2010-04-06  Jim Meyering  <meyering@redhat.com>
3820
3821         init.sh: portability fix: use env's POSIX-specified -i option not -u
3822         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
3823         than unportable env -u.  Solaris 5.11's env lacks support for -u.
3824
3825 2010-04-05  Bruno Haible  <bruno@clisp.org>
3826
3827         btowc: Work around Cygwin 1.7.2 bug.
3828         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
3829         does not map NUL to 0.
3830         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
3831
3832 2010-04-05  Bruno Haible  <bruno@clisp.org>
3833
3834         Make the multithread modules work on Cygwin 1.7.2.
3835         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
3836         imported symbols can be declared weak, so that it returns "no" on
3837         Cygwin 1.7.2.
3838
3839 2010-04-05  Bruno Haible  <bruno@clisp.org>
3840
3841         Use the module 'strncat'.
3842         * modules/unistr/u8-strncat (Depends-on): Add strncat.
3843
3844         Tests for module 'strncat'.
3845         * modules/strncat-tests: New file.
3846         * tests/test-strncat.c: New file.
3847
3848         New module 'strncat'.
3849         * lib/string.in.h (strncat): New declaration.
3850         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
3851         * m4/strncat.m4: New file, based on m4/memchr.m4.
3852         * modules/strncat: New file.
3853         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
3854         is declared.
3855         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
3856         REPLACE_STRNCAT.
3857         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
3858         REPLACE_STRNCAT.
3859         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
3860         module.
3861         * tests/test-string-c++.cc: Check signature of strncat.
3862
3863 2010-04-05  Jim Meyering  <meyering@redhat.com>
3864
3865         xstrtoumax-tests: convert to use init.sh
3866         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
3867         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
3868         Use Exit, not exit.
3869         Remove uses of $EXEEXT and "./" to run a program in the current dir.
3870
3871         xstrtoimax-tests: convert to use init.sh
3872         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
3873         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
3874         Use Exit, not exit.
3875         Remove uses of $EXEEXT and "./" to run a program in the current dir.
3876
3877 2010-04-05  Bruno Haible  <bruno@clisp.org>
3878
3879         sys_socket: Avoid #define replacements in C++ mode.
3880         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
3881         warning to the function if possible, rather than #defining the symbol
3882         to a dysfunctional alias.
3883
3884 2010-04-05  Bruno Haible  <bruno@clisp.org>
3885
3886         fseeko: Fix C++ test error on mingw.
3887         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
3888         gl_FUNC_FSEEKO.
3889         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
3890         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
3891         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
3892         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
3893
3894 2010-04-05  Bruno Haible  <bruno@clisp.org>
3895
3896         duplocale: Improve test output.
3897         * tests/test-duplocale.c (main): Print reason for skipped test.
3898
3899 2010-04-05  Bruno Haible  <bruno@clisp.org>
3900
3901         Assume rmdir exists.
3902         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
3903         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
3904
3905 2010-04-05  Bruno Haible  <bruno@clisp.org>
3906
3907         Fix link error on Solaris 8 with cc.
3908         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
3909
3910 2010-04-05  Bruno Haible  <bruno@clisp.org>
3911
3912         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
3913         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
3914
3915 2010-04-05  Bruno Haible  <bruno@clisp.org>
3916
3917         vasprintf: Update documentation.
3918         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
3919
3920 2010-04-05  Bruno Haible  <bruno@clisp.org>
3921
3922         ptsname: Improve test.
3923         * tests/test-ptsname.c (main): Also try the various master names of BSD
3924         systems.
3925
3926 2010-04-05  Bruno Haible  <bruno@clisp.org>
3927
3928         memchr: Avoid a possible C++ test error.
3929         * lib/string.in.h (memchr): Provide declaration if function is missing.
3930         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
3931         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
3932         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
3933         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
3934
3935 2010-04-05  Bruno Haible  <bruno@clisp.org>
3936
3937         strtok_r: Improve idiom.
3938         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
3939         AC_LIBOBJ is used.
3940
3941 2010-04-05  Bruno Haible  <bruno@clisp.org>
3942
3943         strdup: Improve idiom.
3944         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
3945         AC_LIBOBJ is used.
3946         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
3947         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
3948         when AC_LIBOBJ is used.
3949
3950 2010-04-05  Bruno Haible  <bruno@clisp.org>
3951
3952         mbsinit, mbrtowc, wcrtomb: Improve idioms.
3953         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
3954         don't set REPLACE_MBSINIT to 1.
3955         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
3956         don't set REPLACE_MBRTOWC to 1.
3957         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
3958         exist, don't set REPLACE_MBSRTOWCS to 1.
3959         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
3960         exist, don't set REPLACE_MBSNRTOWCS to 1.
3961         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
3962         don't set REPLACE_WCRTOMB to 1.
3963         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
3964         exist, don't set REPLACE_WCSRTOMBS to 1.
3965         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
3966         exist, don't set REPLACE_WCSNRTOMBS to 1.
3967
3968 2010-04-05  Bruno Haible  <bruno@clisp.org>
3969
3970         ldexpl: Improve idiom.
3971         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
3972         make sure to set HAVE_DECL_LDEXPL to 0.
3973
3974 2010-04-05  Jim Meyering  <meyering@redhat.com>
3975
3976         xstrtol-tests: convert to use init.sh
3977         * modules/xstrtol-tests (Files): Add tests/init.sh.
3978         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
3979         Use Exit, not exit.
3980         Remove uses of $EXEEXT and "./" to run a program in the current dir.
3981
3982         atexit-tests: convert to use init.sh
3983         * modules/atexit-tests (Files): Add tests/init.sh.
3984         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
3985         Use Exit, not exit.
3986         Remove uses of $EXEEXT and "./" to run a program in the current dir.
3987
3988         init.sh: fix typo
3989         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
3990
3991         init.sh: make it easier for a test script to write to the tty, ...
3992         when using automake's parallel-tests mode.
3993         * tests/init.sh (stderr_fileno_): Define overridable variable.
3994         (warn_): New function, to use it.
3995         (fail_, skip_, framework_failure_): Use warn_.
3996
3997 2010-04-04  Bruno Haible  <bruno@clisp.org>
3998
3999         btowc: Avoid warning.
4000         * lib/btowc.c: Include <stdlib.h>.
4001         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
4002
4003 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
4004             Bruno Haible  <bruno@clisp.org>
4005
4006         wchar: Port to NetBSD 1.5.
4007         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
4008         * lib/wctype.in.h (WEOF): Likewise.
4009
4010 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
4011             Bruno Haible  <bruno@clisp.org>
4012
4013         Port extended stdio to NetBSD 1.5.
4014         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
4015         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
4016         older.
4017
4018 2010-04-04  Bruno Haible  <bruno@clisp.org>
4019
4020         string: Remove unused substitution.
4021         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
4022         HAVE_DECL_STRERROR.
4023         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
4024
4025 2010-04-04  Bruno Haible  <bruno@clisp.org>
4026
4027         strtod: Avoid a possible C++ test error.
4028         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
4029         set REPLACE_STRTOD.
4030
4031 2010-04-04  Bruno Haible  <bruno@clisp.org>
4032
4033         strerror: Update documentation.
4034         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
4035
4036 2010-04-04  Bruno Haible  <bruno@clisp.org>
4037
4038         stdio: Fix some C++ test errors on Solaris 8 with GCC.
4039         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
4040         _GL_CXXALIAS_SYS_CAST.
4041
4042 2010-04-04  Bruno Haible  <bruno@clisp.org>
4043
4044         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
4045         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
4046         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
4047         REPLACE_FREXPL to 1.
4048         * doc/posix-functions/frexpl.texi: Update documentation.
4049
4050 2010-04-04  Bruno Haible  <bruno@clisp.org>
4051
4052         math: Fix some C++ test errors on Solaris 8 and Cygwin.
4053         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
4054
4055 2010-04-04  Bruno Haible  <bruno@clisp.org>
4056
4057         Implement nanosleep for native Windows.
4058         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
4059
4060 2010-04-04  Bruno Haible  <bruno@clisp.org>
4061
4062         math: Fix some C++ test errors on Solaris 8.
4063         * lib/math.in.h (truncf, trunc): Use simpler idiom.
4064
4065 2010-04-04  Bruno Haible  <bruno@clisp.org>
4066
4067         math: Fix some C++ test errors on Cygwin.
4068         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
4069         truncl): Provide declaration if the system does not have it.
4070         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
4071         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
4072         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
4073         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
4074         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
4075         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
4076         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
4077         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
4078         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
4079         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
4080         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
4081         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
4082         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
4083         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
4084         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
4085         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
4086         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
4087         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
4088         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
4089         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
4090         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
4091         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
4092
4093 2010-04-04  Bruno Haible  <bruno@clisp.org>
4094
4095         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
4096         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
4097         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
4098         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
4099         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
4100         * m4/isinf.m4 (gl_ISINF): Likewise.
4101         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
4102
4103 2010-04-04  Bruno Haible  <bruno@clisp.org>
4104
4105         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
4106         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
4107
4108 2010-04-04  Bruno Haible  <bruno@clisp.org>
4109
4110         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
4111         * modules/tmpfile (configure.ac): Update.
4112
4113         tmpfile: Fix C++ test error on mingw.
4114         * lib/stdio.in.h (tmpfile): New declaration.
4115         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
4116         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
4117         * modules/tmpfile (Depends-on): Add stdio.
4118         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
4119         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
4120         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
4121         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
4122         REPLACE_TMPFILE.
4123         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
4124
4125 2010-04-04  Bruno Haible  <bruno@clisp.org>
4126
4127         ioctl: Fix C++ test error on mingw.
4128         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
4129         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
4130         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
4131
4132 2010-04-03  Bruno Haible  <bruno@clisp.org>
4133
4134         wcwidth: Fix C++ test error on mingw.
4135         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
4136         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
4137         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
4138
4139 2010-04-03  Bruno Haible  <bruno@clisp.org>
4140
4141         nanosleep: Fix C++ test error on mingw.
4142         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
4143         * lib/time.in.h (nanosleep): Use modern idiom.
4144         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
4145         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
4146         REPLACE_NANOSLEEP to 1.
4147         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
4148         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
4149
4150 2010-04-03  Bruno Haible  <bruno@clisp.org>
4151
4152         strptime: Fix C++ test error on mingw.
4153         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
4154         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
4155         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
4156         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
4157         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
4158         not REPLACE_STRPTIME.
4159         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
4160         REPLACE_STRPTIME.
4161
4162 2010-04-03  Bruno Haible  <bruno@clisp.org>
4163
4164         timegm: Fix C++ test error on mingw.
4165         * lib/time.in.h (timegm): Use modern idiom.
4166         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
4167         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
4168         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
4169         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
4170
4171 2010-04-03  Bruno Haible  <bruno@clisp.org>
4172
4173         timegm: Assume declaration if function exists.
4174         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
4175         if it exists. Don't clobber ac_cv_func_timegm.
4176
4177 2010-04-03  Bruno Haible  <bruno@clisp.org>
4178
4179         time_r: Fix C++ test error on mingw.
4180         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
4181         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
4182         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
4183         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
4184         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
4185
4186 2010-04-03  Bruno Haible  <bruno@clisp.org>
4187
4188         time_r: Minor updates.
4189         * modules/time_r (Description): Mention the provided functions.
4190         * lib/time_r.c: Don't include <string.h>.
4191         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
4192         * doc/posix-functions/localtime_r.texi: Likewise.
4193
4194 2010-04-03  Bruno Haible  <bruno@clisp.org>
4195
4196         time: Fix regression introduced on 2010-03-08.
4197         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
4198         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
4199
4200 2010-04-03  Jim Meyering  <meyering@redhat.com>
4201
4202         maint.mk: don't silently disable project-specific syntax-check rules
4203         * top/maint.mk (_prohibit_regexp): Define, to help people realize
4204         that they need to convert their project-specific syntax-check rules
4205         to use the new _sc_search_regexp.
4206
4207 2010-04-03  Bruno Haible  <bruno@clisp.org>
4208
4209         fchdir: Fix regression introduced on 2010-03-08.
4210         * lib/unistd.in.h (fchdir): Fix declaration.
4211         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
4212         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
4213         REPLACE_FCHDIR.
4214         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
4215         REPLACE_FCHDIR.
4216
4217 2010-04-03  Bruno Haible  <bruno@clisp.org>
4218
4219         getpagesize: Fix C++ test error on mingw.
4220         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
4221         system does not declare the function.
4222         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
4223         declared.
4224         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
4225         HAVE_DECL_GETPAGESIZE.
4226         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
4227
4228 2010-04-03  Bruno Haible  <bruno@clisp.org>
4229
4230         stdio: Make C++ tests work on mingw.
4231         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
4232         does not declare the function.
4233
4234 2010-04-03  Bruno Haible  <bruno@clisp.org>
4235
4236         ftello: Fix C++ test error on mingw.
4237         * lib/stdio.in.h (ftello): Use modern idiom.
4238         * lib/ftello.c (ftello): Renamed from rpl_ftello.
4239         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
4240         is missing and that it needs to be replaced.
4241         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
4242         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
4243         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
4244
4245 2010-04-03  Bruno Haible  <bruno@clisp.org>
4246
4247         fseeko: Fix C++ test error on mingw.
4248         * lib/stdio.in.h (fseeko): Use modern idiom.
4249         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
4250         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
4251         is missing and that it needs to be replaced.
4252         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
4253         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
4254         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
4255
4256 2010-04-03  Bruno Haible  <bruno@clisp.org>
4257
4258         mkstemp: Fix C++ test error on mingw.
4259         * lib/stdlib.in.h (mkstemp): Use modern idiom.
4260         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
4261         function is missing and that it needs to be replaced.
4262         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
4263         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
4264
4265 2010-04-03  Bruno Haible  <bruno@clisp.org>
4266
4267         stpncpy: Fix C++ test error on mingw.
4268         * lib/string.in.h (stpncpy): Use modern idiom.
4269         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
4270         function is missing and that it needs to be replaced.
4271         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
4272         REPLACE_STPNCPY.
4273         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
4274
4275 2010-04-03  Bruno Haible  <bruno@clisp.org>
4276
4277         sys_stat: Fix C++ test error on mingw.
4278         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
4279         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
4280
4281 2010-04-03  Bruno Haible  <bruno@clisp.org>
4282
4283         pty: Update doc.
4284         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
4285
4286 2010-04-03  Bruno Haible  <bruno@clisp.org>
4287
4288         unistd: Fix C++ test error on mingw.
4289         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
4290
4291 2010-04-03  Bruno Haible  <bruno@clisp.org>
4292
4293         Update doc regarding mingw.
4294         * doc/glibc-functions/openpty.texi: Update regarding mingw.
4295         * doc/glibc-functions/login_tty.texi: Likewise.
4296         * doc/glibc-functions/forkpty.texi: Likewise.
4297
4298 2010-04-03  Bruno Haible  <bruno@clisp.org>
4299
4300         stdlib: Avoid compilation failure of c-strtold on mingw.
4301         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
4302
4303 2010-04-03  Bruno Haible  <bruno@clisp.org>
4304
4305         locale: Make C++ tests work on Cygwin and mingw.
4306         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
4307         cannot provide the function.
4308         Reported by Simon Josefsson.
4309
4310 2010-04-03  Bruno Haible  <bruno@clisp.org>
4311
4312         localename: Port to MacOS X 10.6.
4313         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
4314         memory layout of the locales in MacOS X 10.6 as well.
4315         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
4316
4317 2010-04-02  Bruno Haible  <bruno@clisp.org>
4318
4319         gnulib-tool: Ensure that long-running tests are executed last.
4320         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
4321         running tests after the one for the other tests.
4322
4323 2010-04-02  Bruno Haible  <bruno@clisp.org>
4324
4325         gnulib-tool: Ensure the tests in the main directory are executed first.
4326         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
4327         start with the current directory.
4328
4329 2010-04-02  Bruno Haible  <bruno@clisp.org>
4330
4331         Tests for module 'havelib', moved here from GNU gettext.
4332         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
4333         modifications.
4334         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
4335         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
4336         with modifications.
4337         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
4338         modifications.
4339         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
4340         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
4341         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
4342         with modifications.
4343         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
4344         with modifications.
4345         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
4346         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
4347         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
4348         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
4349         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
4350         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
4351         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
4352         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
4353         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
4354         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
4355         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
4356         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
4357         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
4358         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
4359         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
4360         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
4361         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
4362         with modifications.
4363         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
4364         with modifications.
4365         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
4366         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
4367         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
4368         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
4369         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
4370         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
4371         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
4372         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
4373         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
4374         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
4375         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
4376         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
4377         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
4378         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
4379         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
4380         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
4381         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
4382         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
4383         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
4384         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
4385         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
4386         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
4387         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
4388         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
4389         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
4390         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
4391         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
4392         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
4393         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
4394         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
4395         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
4396         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
4397         * tests/havelib/rpathx/rpathx.c: New file, from
4398         gettext/autoconf-lib-link.
4399         * tests/havelib/rpathx/Makefile.am: New file, from
4400         gettext/autoconf-lib-link.
4401         * tests/havelib/rpathx/configure.ac: New file, from
4402         gettext/autoconf-lib-link with modifications.
4403         * tests/havelib/rpathy/rpathy.c: New file, from
4404         gettext/autoconf-lib-link.
4405         * tests/havelib/rpathy/Makefile.am: New file, from
4406         gettext/autoconf-lib-link.
4407         * tests/havelib/rpathy/configure.ac: New file, from
4408         gettext/autoconf-lib-link with modifications.
4409         * tests/havelib/rpathz/rpathz.c: New file, from
4410         gettext/autoconf-lib-link.
4411         * tests/havelib/rpathz/Makefile.am: New file, from
4412         gettext/autoconf-lib-link.
4413         * tests/havelib/rpathz/configure.ac: New file, from
4414         gettext/autoconf-lib-link with modifications.
4415         * tests/havelib/rpathlx/usex.c: New file, from
4416         gettext/autoconf-lib-link.
4417         * tests/havelib/rpathlx/Makefile.am: New file, from
4418         gettext/autoconf-lib-link.
4419         * tests/havelib/rpathlx/configure.ac: New file, from
4420         gettext/autoconf-lib-link with modifications.
4421         * tests/havelib/rpathly/usey.c: New file, from
4422         gettext/autoconf-lib-link.
4423         * tests/havelib/rpathly/Makefile.am: New file, from
4424         gettext/autoconf-lib-link.
4425         * tests/havelib/rpathly/configure.ac: New file, from
4426         gettext/autoconf-lib-link with modifications.
4427         * tests/havelib/rpathlz/usez.c: New file, from
4428         gettext/autoconf-lib-link.
4429         * tests/havelib/rpathlz/Makefile.am: New file, from
4430         gettext/autoconf-lib-link.
4431         * tests/havelib/rpathlz/configure.ac: New file, from
4432         gettext/autoconf-lib-link with modifications.
4433         * tests/havelib/rpathlyx/usey.c: New file, from
4434         gettext/autoconf-lib-link.
4435         * tests/havelib/rpathlyx/Makefile.am: New file, from
4436         gettext/autoconf-lib-link.
4437         * tests/havelib/rpathlyx/configure.ac: New file, from
4438         gettext/autoconf-lib-link with modifications.
4439         * tests/havelib/rpathlzyx/usez.c: New file, from
4440         gettext/autoconf-lib-link.
4441         * tests/havelib/rpathlzyx/Makefile.am: New file, from
4442         gettext/autoconf-lib-link.
4443         * tests/havelib/rpathlzyx/configure.ac: New file, from
4444         gettext/autoconf-lib-link with modifications.
4445         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
4446         with modifications.
4447
4448 2010-04-02  Bruno Haible  <bruno@clisp.org>
4449
4450         gnulib-tool: Create distributed built sources also for the tests.
4451         * gnulib-tool (func_create_testdir): Also generate distributed built
4452         sources in the tests directory.
4453
4454 2010-04-02  Bruno Haible  <bruno@clisp.org>
4455
4456         gnulib-tool: Obey user's environment variables.
4457         * gnulib-tool (func_create_testdir): When creating built sources,
4458         respect the environment variables for autoconf, automake, etc. given by
4459         the user.
4460
4461 2010-04-02  Bruno Haible  <bruno@clisp.org>
4462
4463         gnulib-tool: Provide the value of --m4-base to modules.
4464         * gnulib-tool (func_import, func_create_testdir): Emit a definition
4465         of gl_m4_base.
4466
4467 2010-04-02  Eric Blake  <eblake@redhat.com>
4468
4469         maint.mk: fix some fallout
4470         * NEWS: Document the incompatible change, and its effect on cfg.mk.
4471         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
4472
4473 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
4474
4475         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
4476         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
4477         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
4478         (sc_cast_of_x_alloc_return_value): Likewise.
4479         (sc_cast_of_alloca_return_value): Likewise.
4480         (sc_space_tab): Likewise.
4481         (sc_prohibit_atoi_atof): Likewise.
4482         (sc_prohibit_magic_number_exit): Likewise.
4483         (sc_error_exit_success): Likewise.
4484         (sc_file_system): Likewise.
4485         (sc_prohibit_have_config_h): Likewise.
4486         (sc_require_config_h): Likewise.
4487         (sc_prohibit_HAVE_MBRTOWC): Likewise.
4488         (sc_obsolete_symbols): Likewise.
4489         (sc_changelog): Likewise.
4490         (sc_program_name): Likewise.
4491         (sc_the_the): Likewise.
4492         (sc_trailing_blank): Likewise.
4493         (sc_two_space_separator_in_usage): Likewise.
4494         (sc_useless_cpp_parens): Likewise.
4495         (sc_GPL_version): Likewise.
4496         (sc_GFDL_version): Likewise.
4497         (sc_texinfo_acronym): Likewise.
4498         (sc_prohibit_cvs_keyword): Likewise.
4499         (sc_prohibit_stat_st_blocks): Likewise.
4500         (sc_prohibit_S_IS_definition): Likewise.
4501         (sc_redundant_const): Likewise.
4502         (sc_makefile_TAB_only_indentation): Likewise.
4503         (sc_m4_quote_check): Likewise.
4504         (sc_makefile_path_separator_check): Likewise.
4505         (sc_copyright_check): Likewise.
4506         (sc_Wundef_boolean): Likewise.
4507         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
4508
4509         maint.mk: match 0 or more whitespace-before-function-call '('
4510         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
4511         that have zero or two-and-more spaces between the function name
4512         and the open parenthesis.
4513         (sc_error_message_warn_fatal): Likewise.
4514         (sc_error_message_uppercase): Likewise.
4515         (sc_error_message_period): Likewise.
4516
4517 2010-03-31  Eric Blake  <eblake@redhat.com>
4518
4519         maint.mk: check for [ as well as test
4520         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
4521         Based on a libvirt report by Matthias Bolte.
4522
4523         gnumakefile: don't squelch _version output
4524         * top/GNUmakefile (_version): Create one-shot dependency rather
4525         than using $(shell) when version must be regenerated.
4526         (_autoreconf): Run verbosely, by default.
4527
4528         sys_time: avoid compiler warnings
4529         * lib/sys_time.in.h (includes): Ensure gcc pragma is
4530         unconditional, fixing regression from 2010-03-29.
4531         Reported by Simon Josefsson.
4532
4533 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
4534
4535         maint.mk: s/_header_without_use/_sc_header_without_use/
4536         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
4537         (sc_prohibit_assert_without_use): Use the new name.
4538         (sc_prohibit_close_stream_without_use): Likewise.
4539         (sc_prohibit_getopt_without_use): Likewise.
4540         (sc_prohibit_quotearg_without_use): Likewise.
4541         (sc_prohibit_quote_without_use): Likewise.
4542         (sc_prohibit_long_options_without_use): Likewise.
4543         (sc_prohibit_inttostr_without_use): Likewise.
4544         (sc_prohibit_ignore_value_without_use): Likewise.
4545         (sc_prohibit_error_without_use): Likewise.
4546         (sc_prohibit_xalloc_without_use): Likewise.
4547         (sc_prohibit_hash_without_use): Likewise.
4548         (sc_prohibit_hash_pjw_without_use): Likewise.
4549         (sc_prohibit_safe_read_without_use): Likewise.
4550         (sc_prohibit_argmatch_without_use): Likewise.
4551         (sc_prohibit_canonicalize_without_use): Likewise.
4552         (sc_prohibit_root_dev_ino_without_use): Likewise.
4553         (sc_prohibit_openat_without_use): Likewise.
4554         (sc_prohibit_c_ctype_without_use): Likewise.
4555         (sc_prohibit_signal_without_use): Likewise.
4556         (sc_prohibit_intprops_without_use): Likewise.
4557
4558 2010-03-30  Eric Blake  <eblake@redhat.com>
4559
4560         maint: improve module indicators
4561         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
4562         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
4563         columns, and avoid extra macro expansion.
4564
4565         fdopendir: work around FreeBSD bug
4566         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
4567         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
4568         * modules/dirent (Makefile.am): Substitute it.
4569         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
4570         declaration.
4571         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
4572         fix.
4573         Reported by Christian Weisgerber <naddy@mips.inka.de>.
4574
4575 2010-03-29  Bruno Haible  <bruno@clisp.org>
4576
4577         Emit #pragma system_header after the inclusion guard, not before.
4578         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
4579         guard that spans the entire file, not before. This enables an
4580         optimization in GCC's preprocessor.
4581         * lib/ctype.in.h: Likewise.
4582         * lib/dirent.in.h: Likewise.
4583         * lib/errno.in.h: Likewise.
4584         * lib/float.in.h: Likewise.
4585         * lib/getopt.in.h: Likewise.
4586         * lib/iconv.in.h: Likewise.
4587         * lib/langinfo.in.h: Likewise.
4588         * lib/locale.in.h: Likewise.
4589         * lib/math.in.h: Likewise.
4590         * lib/netdb.in.h: Likewise.
4591         * lib/netinet_in.in.h: Likewise.
4592         * lib/pty.in.h: Likewise.
4593         * lib/sched.in.h: Likewise.
4594         * lib/se-selinux.in.h: Likewise.
4595         * lib/search.in.h: Likewise.
4596         * lib/spawn.in.h: Likewise.
4597         * lib/stdarg.in.h: Likewise.
4598         * lib/stdint.in.h: Likewise.
4599         * lib/string.in.h: Likewise.
4600         * lib/strings.in.h: Likewise.
4601         * lib/sys_file.in.h: Likewise.
4602         * lib/sys_ioctl.in.h: Likewise.
4603         * lib/sys_time.in.h: Likewise.
4604         * lib/sys_times.in.h: Likewise.
4605         * lib/sys_utsname.in.h: Likewise.
4606         * lib/sys_wait.in.h: Likewise.
4607         * lib/sysexits.in.h: Likewise.
4608         * lib/wctype.in.h: Likewise.
4609
4610 2010-03-28  James Youngman  <jay@gnu.org>
4611
4612         save-cwd: don't leak a file descriptor when the caller execs.
4613         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
4614         saved file descriptor.
4615         * modules/save-cwd (Depends-on): Depend on cloexec.
4616
4617 2010-03-29  Bruno Haible  <bruno@clisp.org>
4618
4619         Remove vestiges of fts-lgpl module.
4620         * lib/fts_.h: Assume GNULIB_FTS is 1.
4621         * lib/fts.c: Likewise.
4622         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
4623
4624 2010-03-28  Bruno Haible  <bruno@clisp.org>
4625
4626         Fix definition of tests witness macro.
4627         * gnulib-tool (func_import): Fix definition of witness macro.
4628
4629 2010-03-28  Bruno Haible  <bruno@clisp.org>
4630
4631         Fix ioctl's protoype on glibc systems.
4632         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
4633         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
4634         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
4635         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
4636         signature. If not, arrange to replace the ioctl function.
4637         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
4638         REPLACE_IOCTL.
4639         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
4640         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
4641         Reported by Ludovic Courtès <ludo@gnu.org>.
4642
4643 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
4644
4645         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
4646         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
4647         made it so grep -r --include=GLOB* ... did not work.
4648
4649 2010-03-26  Jim Meyering  <meyering@redhat.com>
4650             Eric Blake  <eblake@redhat.com>
4651
4652         maint.mk: prohibit use of test's -o and -a operators
4653         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
4654
4655 2010-03-28  Bruno Haible  <bruno@clisp.org>
4656
4657         Remove unused GNULIB_XYZ macro definitions.
4658         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
4659         invocation.
4660
4661 2010-03-28  Bruno Haible  <bruno@clisp.org>
4662
4663         Mark privileged tests modules.
4664         * modules/idpriv-drop-tests (Status): New section.
4665         * modules/idpriv-droptemp-tests (Status): New section.
4666
4667 2010-03-28  Bruno Haible  <bruno@clisp.org>
4668
4669         Split C++ tests into separate tests modules.
4670         * modules/dirent-c++-tests: New file, extracted from
4671         modules/dirent-tests.
4672         * modules/dirent-tests: Depend on it.
4673         * modules/fcntl-h-c++-tests: New file, extracted from
4674         modules/fcntl-h-tests.
4675         * modules/fcntl-h-tests: Depend on it.
4676         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
4677         * modules/glob-tests: Depend on it.
4678         * modules/iconv-h-c++-tests: New file, extracted from
4679         modules/iconv-h-tests.
4680         * modules/iconv-h-tests: Depend on it.
4681         * modules/langinfo-c++-tests: New file, extracted from
4682         modules/langinfo-tests.
4683         * modules/langinfo-tests: Depend on it.
4684         * modules/locale-c++-tests: New file, extracted from
4685         modules/locale-tests.
4686         * modules/locale-tests: Depend on it.
4687         * modules/math-c++-tests: New file, extracted from modules/math-tests.
4688         * modules/math-tests: Depend on it.
4689         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
4690         * modules/pty-tests: Depend on it.
4691         * modules/search-c++-tests: New file, extracted from
4692         modules/search-tests.
4693         * modules/search-tests: Depend on it.
4694         * modules/signal-c++-tests: New file, extracted from
4695         modules/signal-tests.
4696         * modules/signal-tests: Depend on it.
4697         * modules/spawn-c++-tests: New file, extracted from
4698         modules/spawn-tests.
4699         * modules/spawn-tests: Depend on it.
4700         * modules/stdio-c++-tests: New file, extracted from
4701         modules/stdio-tests.
4702         * modules/stdio-tests: Depend on it.
4703         * modules/stdlib-c++-tests: New file, extracted from
4704         modules/stdlib-tests.
4705         * modules/stdlib-tests: Depend on it.
4706         * modules/string-c++-tests: New file, extracted from
4707         modules/string-tests.
4708         * modules/string-tests: Depend on it.
4709         * modules/sys_ioctl-c++-tests: New file, extracted from
4710         modules/sys_ioctl-tests.
4711         * modules/sys_ioctl-tests: Depend on it.
4712         * modules/sys_select-c++-tests: New file, extracted from
4713         modules/sys_select-tests.
4714         * modules/sys_select-tests: Depend on it.
4715         * modules/sys_socket-c++-tests: New file, extracted from
4716         modules/sys_socket-tests.
4717         * modules/sys_socket-tests: Depend on it.
4718         * modules/sys_stat-c++-tests: New file, extracted from
4719         modules/sys_stat-tests.
4720         * modules/sys_stat-tests: Depend on it.
4721         * modules/sys_time-c++-tests: New file, extracted from
4722         modules/sys_time-tests.
4723         * modules/sys_time-tests: Depend on it.
4724         * modules/time-c++-tests: New file, extracted from modules/time-tests.
4725         * modules/time-tests: Depend on it.
4726         * modules/unistd-c++-tests: New file, extracted from
4727         modules/unistd-tests.
4728         * modules/unistd-tests: Depend on it.
4729         * modules/wchar-c++-tests: New file, extracted from
4730         modules/wchar-tests.
4731         * modules/wchar-tests: Depend on it.
4732         * modules/wctype-c++-tests: New file, extracted from
4733         modules/wctype-tests.
4734         * modules/wctype-tests: Depend on it.
4735         Reported by Simon Josefsson.
4736
4737 2010-03-28  Bruno Haible  <bruno@clisp.org>
4738
4739         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
4740         * gnulib-tool (func_exists_module): New function, extracted from
4741         func_verify_module.
4742         (func_verify_module): Use it.
4743         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
4744         'foo' only if 'foo' exists.
4745         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
4746         module.
4747
4748 2010-03-28  Bruno Haible  <bruno@clisp.org>
4749
4750         gnulib-tool: Add support for special categories of tests.
4751         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
4752         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
4753         (func_usage): Document them.
4754         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
4755         inc_unportable_tests, inc_all_tests): New variables.
4756         (func_acceptable): Consider these variables.
4757         (func_modules_transitive_closure): Make it work when the 'Status' field
4758         consists of multiple words.
4759         (func_import): Store and restore the values of inc_cxx_tests,
4760         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
4761         inc_all_tests in gnulib-comp.m4.
4762         (func_create_testdir): Set inc_all_tests to true.
4763         * doc/gnulib.texi (Extra tests modules): New section.
4764         Suggested by Jim Meyering.
4765
4766 2010-03-28  Bruno Haible  <bruno@clisp.org>
4767
4768         ansi-c++-opt: Allow turning off the C++ build by default.
4769         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
4770         gl_CXX_CHOICE_DEFAULT_NO is defined.
4771         Requested by Eric Blake.
4772
4773 2010-03-28  Bruno Haible  <bruno@clisp.org>
4774
4775         unistd: Avoid #define replacements in C++ mode.
4776         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
4777         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
4778         setsockopt, shutdown, select): In C++, attach a warning to the function
4779         if possible, rather than #defining the symbol to a dysfunctional alias.
4780         Reported by John W. Eaton <jwe@gnu.org>.
4781
4782 2010-03-28  Bruno Haible  <bruno@clisp.org>
4783
4784         Fix link errors on mingw.
4785         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
4786         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
4787         $(LIBSOCKET).
4788         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
4789         $(LIBSOCKET).
4790
4791 2010-03-28  Bruno Haible  <bruno@clisp.org>
4792             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4793
4794         lib-ignore: Determine different options for different compilers.
4795         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
4796         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
4797         Add comments.
4798         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
4799         * NEWS: Mention the change.
4800
4801 2010-03-27  Bruno Haible  <bruno@clisp.org>
4802
4803         Remove unused GNULIB_XYZ macro definitions.
4804         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
4805         * modules/fseek (configure.ac): Likewise.
4806         * modules/ioctl (configure.ac): Likewise.
4807         * modules/open (configure.ac): Likewise.
4808         * modules/stdlib-safer (configure.ac): Likewise.
4809
4810 2010-03-27  Bruno Haible  <bruno@clisp.org>
4811
4812         Add a remark about certain modules.
4813         * modules/malloc (Comment): New section.
4814         * modules/realloc (Comment): Likewise.
4815         * modules/sigpipe (Comment): Likewise.
4816
4817 2010-03-27  Bruno Haible  <bruno@clisp.org>
4818
4819         Resolve conflict between the two kinds of module indicators.
4820         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
4821         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
4822         * modules/canonicalize (configure.ac): Invoke
4823         gl_MODULE_INDICATOR_FOR_TESTS.
4824         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
4825         GNULIB_XYZ.
4826         * tests/test-dirent-c++.cc: Likewise.
4827         * tests/test-dirent-safer.c: Likewise.
4828         * tests/test-dup2.c: Likewise.
4829         * tests/test-fchdir.c: Likewise.
4830         * tests/test-fcntl-h-c++.cc: Likewise.
4831         * tests/test-getopt.c: Likewise.
4832         * tests/test-getopt.h: Likewise.
4833         * tests/test-langinfo-c++.cc: Likewise.
4834         * tests/test-locale-c++.cc: Likewise.
4835         * tests/test-math-c++.cc: Likewise.
4836         * tests/test-pty-c++.cc: Likewise.
4837         * tests/test-search-c++.cc: Likewise.
4838         * tests/test-signal-c++.cc: Likewise.
4839         * tests/test-spawn-c++.cc: Likewise.
4840         * tests/test-stdio-c++.cc: Likewise.
4841         * tests/test-stdlib-c++.cc: Likewise.
4842         * tests/test-string-c++.cc: Likewise.
4843         * tests/test-sys_ioctl-c++.cc: Likewise.
4844         * tests/test-sys_select-c++.cc: Likewise.
4845         * tests/test-sys_socket-c++.cc: Likewise.
4846         * tests/test-sys_stat-c++.cc: Likewise.
4847         * tests/test-sys_time-c++.cc: Likewise.
4848         * tests/test-time-c++.cc: Likewise.
4849         * tests/test-unistd-c++.cc: Likewise.
4850         * tests/test-wchar-c++.cc: Likewise.
4851         * tests/uninorm/test-u8-nfc.c: Likewise.
4852         * tests/uninorm/test-u8-nfd.c: Likewise.
4853         * tests/uninorm/test-u8-nfkc.c: Likewise.
4854         * tests/uninorm/test-u8-nfkd.c: Likewise.
4855         * tests/uninorm/test-u16-nfc.c: Likewise.
4856         * tests/uninorm/test-u16-nfd.c: Likewise.
4857         * tests/uninorm/test-u16-nfkc.c: Likewise.
4858         * tests/uninorm/test-u16-nfkd.c: Likewise.
4859         * tests/uninorm/test-u32-nfc.c: Likewise.
4860         * tests/uninorm/test-u32-nfc-big.c: Likewise.
4861         * tests/uninorm/test-u32-nfd.c: Likewise.
4862         * tests/uninorm/test-u32-nfd-big.c: Likewise.
4863         * tests/uninorm/test-u32-nfkc.c: Likewise.
4864         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
4865         * tests/uninorm/test-u32-nfkd.c: Likewise.
4866         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
4867         * tests/uninorm/test-u32-normalize-big.c: Likewise.
4868
4869 2010-03-27  Bruno Haible  <bruno@clisp.org>
4870
4871         Distinguish two kinds of module indicators.
4872         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
4873         gl_MODULE_INDICATOR.
4874         (gl_MODULE_INDICATOR): New macro.
4875         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
4876         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
4877         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
4878         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
4879         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
4880         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
4881         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
4882         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
4883         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
4884         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
4885         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
4886         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
4887         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
4888         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
4889         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
4890         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
4891         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
4892         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
4893         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
4894         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
4895         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
4896         * modules/cloexec (configure.ac): Likewise.
4897         * modules/getopt-gnu (configure.ac): Likewise.
4898         * modules/uninorm/u8-normalize (configure.ac): Likewise.
4899         * modules/uninorm/u16-normalize (configure.ac): Likewise.
4900         * modules/uninorm/u32-normalize (configure.ac): Likewise.
4901         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
4902
4903 2010-03-27  Bruno Haible  <bruno@clisp.org>
4904
4905         New module description field 'Comment'.
4906         * gnulib-tool: New option --extract-comment.
4907         (func_usage): Document it.
4908         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
4909         (func_get_comment): New function.
4910         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
4911
4912 2010-03-27  Bruno Haible  <bruno@clisp.org>
4913
4914         Addendum to 2010-02-07 commit.
4915         * gnulib-tool (func_usage): Document --extract-applicability option.
4916
4917 2010-03-27  Bruno Haible  <bruno@clisp.org>
4918
4919         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
4920         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
4921         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
4922         rather than link errors.
4923
4924 2010-03-27  Bruno Haible  <bruno@clisp.org>
4925
4926         Avoid side effects from tests-related modules on the compilation of lib.
4927         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
4928         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
4929         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
4930         parameter. Emit into AM_CPPFLAGS a definition of the designated C
4931         macro.
4932         (func_import): Define a witness macro. Assign it a value that depends
4933         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
4934         tests-related modules.
4935         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
4936         Reported by Jim Meyering.
4937
4938 2010-03-27  Bruno Haible  <bruno@clisp.org>
4939
4940         Factorize common .m4 code.
4941         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
4942         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
4943         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
4944         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
4945         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
4946         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
4947         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
4948         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
4949         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
4950         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
4951         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
4952         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
4953         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
4954         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
4955         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
4956         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
4957         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
4958         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
4959         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
4960         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
4961         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
4962         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
4963         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
4964         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
4965         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
4966         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
4967         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
4968         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
4969         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
4970         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
4971         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
4972         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
4973
4974 2010-03-27  Bruno Haible  <bruno@clisp.org>
4975
4976         Fix a compilation error on Cygwin with g++ >= 4.3.
4977         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
4978         if it is undefined or if we alias it to chmod.
4979         (lstat): Don't warn about the use of this function if it is undefined
4980         or if we alias it to stat.
4981         Reported by Simon Josefsson.
4982
4983 2010-03-27  Bruno Haible  <bruno@clisp.org>
4984
4985         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
4986         * modules/getlogin (configure.ac): Update.
4987
4988         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
4989         * modules/getlogin_r (configure.ac): Update.
4990
4991         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
4992         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
4993         * modules/inet_ntop (configure.ac): Update.
4994
4995         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
4996         * modules/inet_pton (configure.ac): Update.
4997
4998         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
4999         * modules/mbslen (configure.ac): Update.
5000
5001         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
5002         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
5003         * modules/forkpty (configure.ac): Update.
5004         * modules/openpty (configure.ac): Update.
5005
5006 2010-03-26  Simon Josefsson  <simon@josefsson.org>
5007
5008         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
5009         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
5010
5011 2010-03-25  Eric Blake  <eblake@redhat.com>
5012
5013         maint: use pragma consistently across replacement headers
5014         * lib/ctype.in.h (system_header): Hoist for consistent placement.
5015         * lib/dirent.in.h (system_header): Likewise.
5016         * lib/errno.in.h (system_header): Likewise.
5017         * lib/float.in.h (system_header): Likewise.
5018         * lib/getopt.in.h (system_header): Likewise.
5019         * lib/iconv.in.h (system_header): Likewise.
5020         * lib/inttypes.in.h (system_header): Likewise.
5021         * lib/langinfo.in.h (system_header): Likewise.
5022         * lib/locale.in.h (system_header): Likewise.
5023         * lib/math.in.h (system_header): Likewise.
5024         * lib/netdb.in.h (system_header): Likewise.
5025         * lib/netinet_in.in.h (system_header): Likewise.
5026         * lib/pty.in.h (system_header): Likewise.
5027         * lib/sched.in.h (system_header): Likewise.
5028         * lib/se-selinux.in.h (system_header): Likewise.
5029         * lib/search.in.h (system_header): Likewise.
5030         * lib/spawn.in.h (system_header): Likewise.
5031         * lib/stdarg.in.h (system_header): Likewise.
5032         * lib/stdint.in.h (system_header): Likewise.
5033         * lib/string.in.h (system_header): Likewise.
5034         * lib/strings.in.h (system_header): Likewise.
5035         * lib/sys_file.in.h (system_header): Likewise.
5036         * lib/sys_ioctl.in.h (system_header): Likewise.
5037         * lib/sys_socket.in.h (system_header): Likewise.
5038         * lib/sys_times.in.h (system_header): Likewise.
5039         * lib/sys_utsname.in.h (system_header): Likewise.
5040         * lib/sys_wait.in.h (system_header): Likewise.
5041         * lib/sysexits.in.h (system_header): Likewise.
5042         * lib/unistd.in.h (system_header): Likewise.
5043         * lib/wctype.in.h (system_header): Likewise.
5044
5045         arpa/inet: fix mingw compilation warning
5046         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
5047         Reported by Matthew Bolte.
5048
5049 2010-03-25  Bruno Haible  <bruno@clisp.org>
5050
5051         Avoid collision between gnulib wrapper and libintl wrapper.
5052         * lib/printf.c (printf): Don't define if a printf wrapper is already
5053         defined in intl/printf.c.
5054         Reported by Michel Boaventura <michel@michelboaventura.com>.
5055
5056 2010-03-25  Bruno Haible  <bruno@clisp.org>
5057
5058         Use ANSI C.
5059         * lib/readutmp.h (getutent): Provide ANSI C prototype.
5060
5061 2010-03-25  Bruno Haible  <bruno@clisp.org>
5062
5063         Minor formatting changes.
5064         * lib/acosl.c: Insert space before function argument list.
5065         * lib/argz.c: Likewise.
5066         * lib/asinl.c: Likewise.
5067         * lib/expl.c: Likewise.
5068         * lib/gen-uni-tables.c: Likewise.
5069         * lib/gettext.h: Likewise.
5070         * lib/glthread/lock.h: Likewise.
5071         * lib/tanl.c: Likewise.
5072         * lib/uniname/uniname.c: Likewise.
5073         * tests/test-idpriv-drop.c: Likewise.
5074         * tests/test-idpriv-droptemp.c: Likewise.
5075         * tests/test-lock.c: Likewise.
5076         * tests/test-tls.c: Likewise.
5077         * lib/argp-help.c: Insert space before function-like macro argument
5078         list.
5079         * lib/memcmp.c: Likewise.
5080         * tests/test-base64.c: Likewise.
5081         * lib/localename.c: Insert space before sizeof's argument list.
5082         * lib/safe-alloc.h: Likewise.
5083         * lib/file-set.h: Insert space before macro argument list.
5084         * tests/test-argp.c: Likewise.
5085         * lib/argp-namefrob.h: Insert space before function parameter list.
5086         * lib/getaddrinfo.c: Likewise.
5087         * lib/netdb.in.h: Likewise.
5088         * lib/parse-duration.h: Likewise.
5089         * lib/parse-duration.c: Likewise.
5090         * lib/poll.c: Likewise.
5091         * lib/select.c: Likewise.
5092         * lib/trim.h: Likewise.
5093         * tests/test-usleep.c: Likewise.
5094         * lib/ldexpl.c: Insert space before function parameter list and before
5095         function argument list.
5096         * lib/logl.c: Likewise.
5097         * lib/sqrtl.c: Likewise.
5098         * lib/trim.c: Likewise.
5099         * lib/cosl.c: Use GNU style indentation. Insert space before function
5100         argument list.
5101         * lib/sinl.c: Likewise.
5102         * lib/tsearch.c: Insert space after 'for'.
5103         Reported by Jim Meyering.
5104
5105 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
5106
5107         * maint.mk (sc_Wundef_boolean): Check for the presence of the
5108         config header before grepping, as it's not present before
5109         autoreconf/configure are run.  Reported by Simon Josefsson.
5110
5111 2010-03-23  Bruno Haible  <bruno@clisp.org>
5112
5113         pt_chown: Make it work with automake < 1.11.
5114         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
5115         Reported by Simon Josefsson.
5116
5117 2010-03-23  Bruno Haible  <bruno@clisp.org>
5118
5119         pt_chown: Don't depend on GPLed modules.
5120         * lib/pt_chown.c: Don't include idpriv.h.
5121         (main): Don't drop privileges.
5122         * modules/pt_chown (Depends-on): Remove idpriv-drop.
5123         Reported by Simon Josefsson.
5124
5125 2010-03-24  Simon Josefsson  <simon@josefsson.org>
5126
5127         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
5128         suggestions from karl@freefriends.org (Karl Berry).
5129
5130 2010-03-22  Eric Blake  <eblake@redhat.com>
5131
5132         gethostname: further tweaks
5133         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
5134         are overriding gethostname.
5135         Suggested by Bruno Haible.
5136
5137 2010-03-21  Bruno Haible  <bruno@clisp.org>
5138
5139         Fix comments.
5140         * lib/forkpty.c (rpl_forkpty): Fix comment.
5141         * lib/openpty.c (rpl_openpty): Likewise.
5142         Reported by Eric Blake.
5143
5144 2010-03-22  Eric Blake  <eblake@redhat.com>
5145
5146         gethostname: fix build on mingw
5147         * lib/unistd.in.h (includes): Work around fact that mingw
5148         <winsock2.h> re-includes <unistd.h>, by avoiding any
5149         redeclarations if we are being included by <winsock2.h>.
5150         Reported by Matthias Bolte.
5151
5152 2010-03-21  Bruno Haible  <bruno@clisp.org>
5153
5154         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
5155         * lib/forkpty.c (forkpty): New replacement function, from glibc with
5156         modifications.
5157         * lib/pty.in.h (forkpty): Update declaration. Add comments.
5158         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
5159         provide the replacement.
5160         * modules/forkpty (Depends-on): Add openpty, login_tty.
5161         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
5162         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
5163         * doc/glibc-functions/forkpty.texi: More supported platforms.
5164         * config/srclist.txt: Add forkpty.c (commented).
5165
5166 2010-03-21  Bruno Haible  <bruno@clisp.org>
5167
5168         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
5169         (Makefile.am): Verify that PTY_LIB is defined.
5170
5171         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
5172
5173 2010-03-21  Bruno Haible  <bruno@clisp.org>
5174
5175         Tests for module 'login_tty'.
5176         * modules/login_tty-tests: New file.
5177         * tests/test-login_tty.c: New file.
5178
5179         New module 'login_tty'.
5180         * lib/login_tty.c: New file.
5181         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
5182         * modules/login_tty: New file.
5183         * doc/glibc-functions/login_tty.texi: Mention the new module.
5184
5185 2010-03-21  Bruno Haible  <bruno@clisp.org>
5186
5187         login_tty: Documentation.
5188         * doc/glibc-functions/login_tty.texi: New file.
5189         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
5190
5191 2010-03-21  Bruno Haible  <bruno@clisp.org>
5192
5193         pty: Consistent macro naming.
5194         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
5195         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
5196         * modules/pty (configure.ac): Update.
5197
5198 2010-03-21  Bruno Haible  <bruno@clisp.org>
5199
5200         Tests for openpty: Make stricter.
5201         * tests/test-openpty.c (main): Add test of canonical processing and
5202         erase.
5203         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
5204
5205         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
5206         * lib/openpty.c (openpty): New replacement function.
5207         * lib/pty.in.h: Include <termios.h>.
5208         (openpty): Update declaration. Add comments.
5209         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
5210         is not declared, arrange to provide the replacement. Check for _getpty
5211         and posix_openpt.
5212         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
5213         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
5214         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
5215         * modules/pty-tests (test_pty_c___LDADD): New variable.
5216         * doc/glibc-functions/openpty.texi: More supported platforms.
5217
5218 2010-03-21  Bruno Haible  <bruno@clisp.org>
5219
5220         setenv: Tweaks.
5221         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
5222         the test program.
5223         * doc/posix-functions/setenv.texi: Update platforms list.
5224
5225 2010-03-21  Bruno Haible  <bruno@clisp.org>
5226
5227         New module 'unlockpt'.
5228         * lib/unlockpt.c: New file, from glibc with modifications.
5229         * m4/unlockpt.m4: New file.
5230         * modules/unlockpt: New file.
5231         * lib/stdlib.in.h (unlockpt): New declaration.
5232         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
5233         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
5234         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
5235         HAVE_UNLOCKPT.
5236         * doc/posix-functions/unlockpt.texi: Mention the new module.
5237         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
5238         * config/srclist.txt: Add unlockpt.c (commented).
5239
5240 2010-03-21  Jim Meyering  <meyering@redhat.com>
5241
5242         maint.mk: prohibit inclusion of "intprops.h" without use
5243         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
5244
5245 2010-03-21  Bruno Haible  <bruno@clisp.org>
5246
5247         New module 'grantpt'.
5248         * lib/grantpt.c: New file, from glibc with modifications.
5249         * m4/grantpt.m4: New file.
5250         * modules/grantpt: New file.
5251         * lib/stdlib.in.h (grantpt): New declaration.
5252         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
5253         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
5254         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
5255         HAVE_GRANTPT.
5256         * doc/posix-functions/grantpt.texi: Mention the new module.
5257         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
5258         * config/srclist.txt: Add grantpt.c (commented).
5259
5260 2010-03-21  Bruno Haible  <bruno@clisp.org>
5261
5262         New module 'pt_chown'.
5263         * lib/pt_chown.c: New file, from glibc with modifications.
5264         * lib/pty-private.h: New file, from glibc with modifications.
5265         * modules/pt_chown: New file.
5266         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
5267
5268 2010-03-21  Bruno Haible  <bruno@clisp.org>
5269
5270         Tests for module 'ptsname'.
5271         * modules/ptsname-tests: New file.
5272         * tests/test-ptsname.c: New file.
5273
5274         New module 'ptsname'.
5275         * lib/ptsname.c: New file, from glibc with modifications.
5276         * m4/ptsname.m4: New file.
5277         * modules/ptsname: New file.
5278         * lib/stdlib.in.h (ptsname): New declaration.
5279         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
5280         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
5281         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
5282         HAVE_PTSNAME.
5283         * doc/posix-functions/ptsname.texi: Mention the new module.
5284         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
5285         * config/srclist.txt: Add ptsname.c (commented).
5286
5287 2010-03-21  Bruno Haible  <bruno@clisp.org>
5288
5289         Tests for module 'ttyname_r'.
5290         * modules/ttyname_r-tests: New file.
5291         * tests/test-ttyname_r.c: New file.
5292
5293         New module 'ttyname_r'.
5294         * lib/ttyname_r.c: New file.
5295         * m4/ttyname_r.m4: New file.
5296         * modules/ttyname_r: New file.
5297         * lib/unistd.in.h (ttyname_r): New declaration.
5298         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
5299         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
5300         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
5301         HAVE_TTYNAME_R.
5302         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
5303         * doc/posix-functions/ttyname_r.texi: Mention the new module.
5304
5305 2010-03-20  Bruno Haible  <bruno@clisp.org>
5306
5307         signal: Undefine macro definitions in C++ mode.
5308         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
5309         sigfillset): Undefine macro definitions from the system header in C++
5310         mode.
5311         Reported by John W. Eaton <jwe@gnu.org>.
5312
5313 2010-03-20  Bruno Haible  <bruno@clisp.org>
5314
5315         Ensure no #include statements inside extern "C" { ... }.
5316         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
5317         contain #include statements.
5318         * lib/time.in.h: Likewise.
5319
5320 2010-03-20  Bruno Haible  <bruno@clisp.org>
5321
5322         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
5323         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
5324         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
5325         Reported by John W. Eaton <jwe@gnu.org>.
5326
5327 2010-03-20  Bruno Haible  <bruno@clisp.org>
5328
5329         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
5330         Reported by Jim Meyering.
5331
5332 2010-03-20  Bruno Haible  <bruno@clisp.org>
5333
5334         pipe: Set errno upon failure.
5335         * lib/pipe.h: Specify that when -1 is returned, errno is set.
5336         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
5337         errno value in error message.
5338
5339 2010-03-20  Bruno Haible  <bruno@clisp.org>
5340             Jim Meyering  <meyering@redhat.com>
5341
5342         lchown: Avoid "unused variable" warning.
5343         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
5344
5345 2010-03-20  Bruno Haible  <bruno@clisp.org>
5346
5347         Work around unlink() bug on MacOS X 10.5.6.
5348         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
5349         attempting to unlink a parent directory.
5350         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
5351         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
5352         activate for the replacement function.
5353         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
5354
5355 2010-03-20  Bruno Haible  <bruno@clisp.org>
5356
5357         Fix link errors on Solaris 8.
5358         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
5359         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
5360
5361 2010-03-19  Jim Meyering  <meyering@redhat.com>
5362
5363         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
5364         The _LIBC implementation of build_range_exp correctly honors the
5365         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
5366         However, the non-_LIBC implementation would ignore that syntax-bit
5367         flag and return REG_ERANGE unconditionally.
5368         This change makes it honor that flag.
5369         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
5370         Make two pointer parameters "const".
5371         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
5372         (parse_bracket_exp): Update caller.
5373
5374         regex.m4: correct the reversed range endpoint ([b-a]) test
5375         * m4/regex.m4: When requiring that [b-a] evoke failure,
5376         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
5377         test pass once again for x86-based systems.
5378
5379 2010-03-19  Bruno Haible  <bruno@clisp.org>
5380
5381         scandir: Fix link error on Solaris 8.
5382         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
5383         macros.
5384
5385 2010-03-19  Bruno Haible  <bruno@clisp.org>
5386
5387         getusershell: Fix documentation.
5388         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
5389         module.
5390         * doc/glibc-functions/setusershell.texi: Likewise.
5391
5392         getusershell: Provide declaration, missing on Solaris 9.
5393         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
5394         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
5395         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
5396         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
5397         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
5398         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
5399         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
5400         HAVE_GETUSERSHELL.
5401         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
5402
5403 2010-03-19  Bruno Haible  <bruno@clisp.org>
5404
5405         wctype: Provide iswblank function.
5406         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
5407         exists and is fine.
5408         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
5409         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
5410         * tests/test-wctype.c (main): Re-enable the iswblank tests.
5411         * doc/posix-functions/iswblank.texi: Update.
5412
5413 2010-03-19  Bruno Haible  <bruno@clisp.org>
5414
5415         Tests of module 'pty' in C++ mode.
5416         * modules/pty-tests: New file.
5417         * tests/test-pty-c++.cc: New file.
5418         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
5419
5420 2010-03-19  Eric Blake  <eblake@redhat.com>
5421
5422         logb: fix documentation
5423         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
5424         1.5 declaration bug.
5425
5426         forkpty, openpty: prefer glibc's const-safe prototype
5427         * lib/forkpty.c (rpl_forkpty): New file.
5428         * lib/openpty.c (rpl_openpty): Likewise.
5429         * modules/forkpty (Files): Distribute it.
5430         * modules/openpty (Files): Likewise.
5431         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
5432         check...
5433         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
5434         replacement for for non-const BSD signature.
5435         * modules/pty (Makefile.am): Substitute witnesses.
5436         * lib/pty.in.h (forkpty, openpty): Declare replacements.
5437         * tests/test-forkpty.c: Update signature check.
5438         * tests/test-openpty.c: Likewise.
5439         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
5440         * doc/glibc-functions/openpty.texi (openpty): Likewise.
5441
5442         forkpty, openpty: split functions into new modules
5443         * modules/pty (Makefile.am): Substitute new witnesses.
5444         (Libraries): Move library detection...
5445         * modules/forkpty: ...into new module.
5446         * modules/openpty: Another new module.
5447         * modules/pty-tests: Rename and split...
5448         * modules/forkpty-tests: ...to this...
5449         * modules/openpty-tests: ...and this.
5450         * tests/test-pty.c: Rename and split...
5451         * tests/test-forkpty.c: ...to this...
5452         * tests/test-openpty.c: ...and this.
5453         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
5454         (gl_PTY): Split library searching...
5455         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
5456         (gl_FORKPTY, gl_OPENPTY): New macros.
5457         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
5458         * NEWS: Mention the split.
5459         * MODULES.html.sh (Misc): Document the modules.
5460         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
5461         * doc/glibc-functions/openpty.texi (openpty): Likewise.
5462
5463         pty: improve replacement header
5464         * lib/pty.in.h: New file.
5465         * modules/pty (Files): Ship it.
5466         (Makefile.am): Always build replacement.
5467         * m4/pty.m4: Rename...
5468         * m4/pty_h.m4: ...to this.
5469         (gl_PTY): Modernize setting of witness macros; update check of
5470         forkpty to take proper advantage of cache.
5471         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
5472
5473         getopt: avoid compiler warning
5474         * lib/getopt.c (attribute_hidden): Remove unused macro.
5475
5476 2010-03-18  Bruno Haible  <bruno@clisp.org>
5477
5478         Fix link errors on Solaris 8.
5479         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
5480         * modules/search-tests (test_search_c___LDADD): Likewise.
5481         * modules/signal-tests (test_signal_c___LDADD): Likewise.
5482         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
5483         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
5484         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
5485         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
5486         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
5487         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
5488
5489 2010-03-18  Bruno Haible  <bruno@clisp.org>
5490
5491         Fix bug introduced on 2010-03-14.
5492         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
5493         (gl_SPAWN_H): Require it.
5494         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
5495         Reported by Simon Josefsson.
5496
5497 2010-03-18  Bruno Haible  <bruno@clisp.org>
5498
5499         Fix typo introduced on 2009-12-31.
5500         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
5501         posix_spawn_file_actions_adddup2.
5502
5503 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
5504         and Eric Blake  <eblake@redhat.com>
5505
5506         test-vc-list-files-git: make more robust
5507         * tests/test-vc-list-files-git.sh: Unset problematic environment
5508         variables.  Chain commands together.
5509
5510 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
5511
5512         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
5513         `AC_CHECK_DECL' invocation.
5514
5515 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
5516
5517         * lib/inttostr.c (inttostr): Make sure the invocation of verify
5518         appears before executable statements. Suggested by Petr Sumbera
5519         <Petr.Sumbera@Sun.COM>.
5520
5521 2010-03-14  Bruno Haible  <bruno@clisp.org>
5522
5523         * tests/test-flock.c (test_exclusive): Comment out a test that causes
5524         portability problems. Instead use a simpler test.
5525         (main): Check that invalid arguments are rejected only on Linux.
5526
5527 2010-03-14  Bruno Haible  <bruno@clisp.org>
5528
5529         Fix bug introduced on 2009-12-31.
5530         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
5531         gl_PREREQ_SYS_H_WINSOCK2 always.
5532         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
5533         SYS_SOCKET_H variable.
5534         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
5535         Update comments.
5536         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
5537         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
5538         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
5539         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
5540         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
5541
5542 2010-03-14  Bruno Haible  <bruno@clisp.org>
5543
5544         Fix values returned by sinl, cosl.
5545         * lib/trigl.h: Add specification comments.
5546         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
5547         that combines the values from the precomputed table with the values of
5548         the Chebyshev polynomials.
5549
5550 2010-03-14  Bruno Haible  <bruno@clisp.org>
5551
5552         Fix compilation error when modules 'posix_spawn[p]' are not used.
5553         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
5554         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
5555
5556 2010-03-14  Bruno Haible  <bruno@clisp.org>
5557
5558         Fix compilation error on mingw when module 'time_r' is not used.
5559         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
5560         is 1.
5561         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
5562         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
5563         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
5564         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
5565
5566 2010-03-14  Bruno Haible  <bruno@clisp.org>
5567
5568         Fix compilation error with Sun C.
5569         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
5570         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
5571         instead of GCC specific ULONG_LONG_MAX.
5572         * lib/xstrtoll.c: Likewise.
5573         * lib/xstrtoull.c: Likewise.
5574
5575 2010-03-13  Bruno Haible  <bruno@clisp.org>
5576
5577         Allow the user to disable C++ code and tests.
5578         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
5579         (gl_PROG_ANSI_CXX): Require it.
5580
5581 2010-03-13  Bruno Haible  <bruno@clisp.org>
5582
5583         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
5584         cases.
5585
5586 2010-03-13  Bruno Haible  <bruno@clisp.org>
5587
5588         Test that gnulib does not break the standard C++ headers.
5589         * tests/test-locale-c++2.cc: New file.
5590         * modules/locale-tests (Files): Add it.
5591         (Makefile.am): Compile it for test-locale-c++.
5592         * tests/test-math-c++2.cc: New file.
5593         * modules/math-tests (Files): Add it.
5594         (Makefile.am): Compile it for test-math-c++.
5595         * tests/test-signal-c++2.cc: New file.
5596         * modules/signal-tests (Files): Add it.
5597         (Makefile.am): Compile it for test-signal-c++.
5598         * tests/test-stdio-c++2.cc: New file.
5599         * modules/stdio-tests (Files): Add it.
5600         (Makefile.am): Compile it for test-stdio-c++.
5601         * tests/test-stdlib-c++2.cc: New file.
5602         * modules/stdlib-tests (Files): Add it.
5603         (Makefile.am): Compile it for test-stdlib-c++.
5604         * tests/test-string-c++2.cc: New file.
5605         * modules/string-tests (Files): Add it.
5606         (Makefile.am): Compile it for test-string-c++.
5607         * tests/test-time-c++2.cc: New file.
5608         * modules/time-tests (Files): Add it.
5609         (Makefile.am): Compile it for test-time-c++.
5610         Reported by John W. Eaton <jwe@gnu.org>.
5611
5612 2010-03-13  Bruno Haible  <bruno@clisp.org>
5613
5614         * gnulib-tool (func_usage): Clarify which options are available for
5615         --create-testdir and --create-megatestdir.
5616
5617 2010-03-13  Bruno Haible  <bruno@clisp.org>
5618
5619         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
5620         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
5621         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
5622         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
5623         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
5624         when appropriate.
5625         Reported by Jim Meyering.
5626
5627 2010-03-12  Simon Josefsson  <simon@josefsson.org>
5628
5629         * gnulib-tool (func_import): Explain origin of code.
5630
5631 2010-03-12  Bruno Haible  <bruno@clisp.org>
5632
5633         Fix problem with automake's definition of CXXLINK.
5634         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
5635         Reported by Simon Josefsson and Ludovic Courtès.
5636
5637 2010-03-12  Bruno Haible  <bruno@clisp.org>
5638
5639         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
5640         stable releases.
5641
5642 2010-03-11  Bruno Haible  <bruno@clisp.org>
5643
5644         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
5645         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
5646         whether the system provides one variant or multiple variants of the
5647         function.
5648         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
5649         C++ compilers.
5650         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
5651         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
5652         Reported by Jim Meyering.
5653
5654 2010-03-09  Simon Josefsson  <simon@josefsson.org>
5655
5656         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
5657
5658 2010-03-08  Bruno Haible  <bruno@clisp.org>
5659
5660         gnulib-tool: Add support for --libtool in --create-testdir.
5661         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
5662         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
5663
5664 2010-03-08  Eric Blake  <eblake@redhat.com>
5665
5666         gnulib-tool.texi: mention possibility of git submodule
5667         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
5668         submodules.
5669         * doc/.gitignore: Ignore another generated file.
5670
5671 2010-03-08  Karl Berry  <karl@gnu.org>
5672
5673         * doc/gnulib-tool.texi (VCS Issues): Mention third option
5674         of committing gnulib files while skipping others.
5675
5676 2010-03-07  Bruno Haible  <bruno@clisp.org>
5677
5678         Tests of module 'wctype' in C++ mode.
5679         * tests/test-wctype-c++.cc: New file.
5680         * modules/wctype-tests (Files): Add it and tests/signature.h.
5681         (Depends-on): Add ansi-c++-opt.
5682         (Makefile.am): Arrange to compile and run test-wctype-c++.
5683
5684         Tests of module 'wchar' in C++ mode.
5685         * tests/test-wchar-c++.cc: New file.
5686         * modules/wchar-tests (Files): Add it and tests/signature.h.
5687         (Depends-on): Add ansi-c++-opt.
5688         (Makefile.am): Arrange to compile and run test-wchar-c++.
5689         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
5690         gl_MODULE_INDICATOR.
5691
5692         Tests of module 'unistd' in C++ mode.
5693         * tests/test-unistd-c++.cc: New file.
5694         * modules/unistd-tests (Files): Add it and tests/signature.h.
5695         (Depends-on): Add ansi-c++-opt.
5696         (Makefile.am): Arrange to compile and run test-unistd-c++.
5697         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
5698         gl_MODULE_INDICATOR.
5699
5700         Tests of module 'time' in C++ mode.
5701         * tests/test-time-c++.cc: New file.
5702         * modules/time-tests (Files): Add it and tests/signature.h.
5703         (Depends-on): Add ansi-c++-opt.
5704         (Makefile.am): Arrange to compile and run test-time-c++.
5705         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
5706
5707         Tests of module 'sys_time' in C++ mode.
5708         * tests/test-sys_time-c++.cc: New file.
5709         * modules/sys_time-tests (Files): Add it and tests/signature.h.
5710         (Depends-on): Add ansi-c++-opt.
5711         (Makefile.am): Arrange to compile and run test-sys_time-c++.
5712         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
5713         gl_MODULE_INDICATOR.
5714
5715         Tests of module 'sys_stat' in C++ mode.
5716         * tests/test-sys_stat-c++.cc: New file.
5717         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
5718         (Depends-on): Add ansi-c++-opt.
5719         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
5720         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
5721         gl_MODULE_INDICATOR.
5722
5723         Tests of module 'sys_socket' in C++ mode.
5724         * tests/test-sys_socket-c++.cc: New file.
5725         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
5726         (Depends-on): Add ansi-c++-opt.
5727         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
5728         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
5729         gl_MODULE_INDICATOR.
5730
5731         Tests of module 'sys_select' in C++ mode.
5732         * tests/test-sys_select-c++.cc: New file.
5733         * modules/sys_select-tests (Files): Add it and tests/signature.h.
5734         (Depends-on): Add ansi-c++-opt.
5735         (Makefile.am): Arrange to compile and run test-sys_select-c++.
5736         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
5737         gl_MODULE_INDICATOR.
5738
5739         Tests of module 'sys_ioctl' in C++ mode.
5740         * tests/test-sys_ioctl-c++.cc: New file.
5741         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
5742         (Depends-on): Add ansi-c++-opt.
5743         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
5744         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
5745         gl_MODULE_INDICATOR.
5746
5747         Tests of module 'string' in C++ mode.
5748         * tests/test-string-c++.cc: New file.
5749         * modules/string-tests (Files): Add it and tests/signature.h.
5750         (Depends-on): Add ansi-c++-opt.
5751         (Makefile.am): Arrange to compile and run test-string-c++.
5752         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
5753         gl_MODULE_INDICATOR.
5754
5755         Tests of module 'stdlib' in C++ mode.
5756         * tests/test-stdlib-c++.cc: New file.
5757         * modules/stdlib-tests (Files): Add it and tests/signature.h.
5758         (Depends-on): Add ansi-c++-opt.
5759         (Makefile.am): Arrange to compile and run test-stdlib-c++.
5760         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
5761         gl_MODULE_INDICATOR.
5762
5763         Tests of module 'stdio' in C++ mode.
5764         * tests/test-stdio-c++.cc: New file.
5765         * modules/stdio-tests (Files): Add it and tests/signature.h.
5766         (Depends-on): Add ansi-c++-opt.
5767         (Makefile.am): Arrange to compile and run test-stdio-c++.
5768         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
5769         gl_MODULE_INDICATOR.
5770
5771         Tests of module 'spawn' in C++ mode.
5772         * tests/test-spawn-c++.cc: New file.
5773         * modules/spawn-tests (Files): Add it and tests/signature.h.
5774         (Depends-on): Add ansi-c++-opt.
5775         (Makefile.am): Arrange to compile and run test-spawn-c++.
5776         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
5777         gl_MODULE_INDICATOR.
5778
5779         Tests of module 'signal' in C++ mode.
5780         * tests/test-signal-c++.cc: New file.
5781         * modules/signal-tests (Files): Add it and tests/signature.h.
5782         (Depends-on): Add ansi-c++-opt.
5783         (Makefile.am): Arrange to compile and run test-signal-c++.
5784         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
5785         gl_MODULE_INDICATOR.
5786
5787         Tests of module 'search' in C++ mode.
5788         * tests/test-search-c++.cc: New file.
5789         * modules/search-tests (Files): Add it and tests/signature.h.
5790         (Depends-on): Add ansi-c++-opt.
5791         (Makefile.am): Arrange to compile and run test-search-c++.
5792         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
5793         gl_MODULE_INDICATOR.
5794
5795         Tests of module 'math' in C++ mode.
5796         * tests/test-math-c++.cc: New file.
5797         * modules/math-tests (Files): Add it and tests/signature.h.
5798         (Depends-on): Add ansi-c++-opt.
5799         (Makefile.am): Arrange to compile and run test-math-c++.
5800         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
5801
5802         Tests of module 'locale' in C++ mode.
5803         * tests/test-locale-c++.cc: New file.
5804         * modules/locale-tests (Files): Add it and tests/signature.h.
5805         (Depends-on): Add ansi-c++-opt.
5806         (Makefile.am): Arrange to compile and run test-locale-c++.
5807         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
5808         gl_MODULE_INDICATOR.
5809
5810         Tests of module 'langinfo' in C++ mode.
5811         * tests/test-langinfo-c++.cc: New file.
5812         * modules/langinfo-tests (Files): Add it and tests/signature.h.
5813         (Depends-on): Add ansi-c++-opt.
5814         (Makefile.am): Arrange to compile and run test-langinfo-c++.
5815         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
5816         gl_MODULE_INDICATOR.
5817
5818         Tests of module 'iconv-h' in C++ mode.
5819         * tests/test-iconv-h-c++.cc: New file.
5820         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
5821         (Depends-on): Add ansi-c++-opt.
5822         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
5823
5824         Tests of module 'glob' in C++ mode.
5825         * tests/test-glob-c++.cc: New file.
5826         * modules/glob-tests (Files): Add it.
5827         (Depends-on): Add ansi-c++-opt.
5828         (Makefile.am): Arrange to compile and run test-glob-c++.
5829
5830         Tests of module 'fcntl-h' in C++ mode.
5831         * tests/test-fcntl-h-c++.cc: New file.
5832         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
5833         (Depends-on): Add ansi-c++-opt.
5834         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
5835         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
5836         gl_MODULE_INDICATOR.
5837
5838         Tests of module 'dirent' in C++ mode.
5839         * tests/test-dirent-c++.cc: New file.
5840         * modules/dirent-tests (Files): Add it and tests/signature.h.
5841         (Depends-on): Add ansi-c++-opt.
5842         (Makefile.am): Arrange to compile and run test-dirent-c++.
5843         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
5844         gl_MODULE_INDICATOR.
5845
5846         New module 'ansi-c++-opt'.
5847         * modules/ansi-c++-opt: New file.
5848         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
5849
5850         Document C++ namespace mode.
5851         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
5852
5853         wctype: Avoid #define replacements in C++ mode.
5854         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
5855         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
5856         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
5857         In C++, define a namespaced alias symbol.
5858         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
5859         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
5860         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
5861         rule.
5862
5863         wchar: Avoid #define replacements in C++ mode.
5864         * lib/wchar.in.h: Include c++defs.h.
5865         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
5866         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
5867         symbol.
5868         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
5869         * modules/wchar (Depends-on): Add c++defs.
5870         (Makefile.am): Update wchar.h rule.
5871
5872         unistd: Avoid #define replacements in C++ mode.
5873         * lib/unistd.in.h: Include c++defs.h.
5874         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
5875         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
5876         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
5877         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
5878         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
5879         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
5880         symbol.
5881         (environ): Update.
5882         * modules/unistd (Depends-on): Add c++defs.
5883         (Makefile.am): Update unistd.h rule.
5884
5885         time: Avoid #define replacements in C++ mode.
5886         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
5887         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
5888         define a namespaced alias symbol.
5889         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
5890         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
5891         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
5892         * modules/time (Depends-on): Add c++defs, warn-on-use.
5893         (Makefile.am): Update time.h rule.
5894         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
5895         * modules/nanosleep (configure.ac): Likewise.
5896         * modules/strptime (configure.ac): Likewise.
5897         * modules/timegm (configure.ac): Likewise.
5898
5899         sys_time: Avoid #define replacements in C++ mode.
5900         * lib/sys_time.in.h: Include c++defs.h.
5901         (gettimeofday): In C++, define a namespaced alias symbol.
5902         * modules/sys_time (Depends-on): Add c++defs.
5903         (Makefile.am): Update sys/time.h rule.
5904
5905         sys_stat: Avoid #define replacements in C++ mode.
5906         * lib/sys_stat.in.h: Include c++defs.h.
5907         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
5908         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
5909         namespaced alias symbol.
5910         In C++, define a namespaced alias symbol.
5911         * modules/sys_stat (Depends-on): Add c++defs.
5912         (Makefile.am): Update sys/stat.h rule.
5913
5914         sys_socket: Avoid #define replacements in C++ mode.
5915         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
5916         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
5917         definitions also when the system has a <sys/socket.h>.
5918         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
5919         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
5920         In C++, define a namespaced alias symbol.
5921         * modules/sys_socket (Depends-on): Add c++defs.
5922         (Makefile.am): Update sys/socket.h rule.
5923
5924         sys_select: Avoid #define replacements in C++ mode.
5925         * lib/sys_select.in.h: Include c++defs.h. Enable the function
5926         definitions also when the system has a <sys/select.h>.
5927         (select): In C++, define a namespaced alias symbol.
5928         * modules/sys_select (Depends-on): Add c++defs.
5929         (Makefile.am): Update sys/select.h rule.
5930
5931         sys_ioctl: Avoid #define replacements in C++ mode.
5932         * lib/sys_ioctl.in.h: Include c++defs.h.
5933         (ioctl): In C++, define a namespaced alias symbol.
5934         * modules/sys_ioctl (Depends-on): Add c++defs.
5935         (Makefile.am): Update sys/ioctl.h rule.
5936
5937         string: Avoid #define replacements in C++ mode.
5938         * lib/string.in.h: Include c++defs.h.
5939         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
5940         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
5941         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
5942         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
5943         strsignal, strverscmp): In C++, define a namespaced alias symbol.
5944         * modules/string (Depends-on): Add c++defs.
5945         (Makefile.am): Update string.h rule.
5946
5947         stdlib: Avoid #define replacements in C++ mode.
5948         * lib/stdlib.in.h: Include c++defs.h.
5949         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
5950         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
5951         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
5952         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
5953         symbol.
5954         * modules/stdlib (Depends-on): Add c++defs.
5955         (Makefile.am): Update stdlib.h rule.
5956
5957         stdio: Avoid #define replacements in C++ mode.
5958         * lib/stdio.in.h: Include c++defs.h.
5959         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
5960         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
5961         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
5962         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
5963         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
5964         namespaced alias symbol.
5965         * modules/stdio (Depends-on): Add c++defs.
5966         (Makefile.am): Update stdio.h rule.
5967
5968         spawn: Avoid #define replacements in C++ mode.
5969         * lib/spawn.in.h: Include c++defs.h.
5970         (posix_spawn, posix_spawnp, posix_spawnattr_init,
5971         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
5972         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
5973         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
5974         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
5975         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
5976         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
5977         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
5978         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
5979         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
5980         In C++, define a namespaced alias symbol.
5981         * modules/spawn (Depends-on): Add c++defs.
5982         (Makefile.am): Update spawn.h rule.
5983
5984         signal: Avoid #define replacements in C++ mode.
5985         * lib/signal.in.h: Include c++defs.h.
5986         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
5987         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
5988         namespaced alias symbol.
5989         * modules/signal (Depends-on): Add c++defs.
5990         (Makefile.am): Update signal.h rule.
5991
5992         search: Avoid #define replacements in C++ mode.
5993         * lib/search.in.h: Include c++defs.h.
5994         (_gl_search_compar_fn, _gl_search_action_fn): New types.
5995         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
5996         symbol.
5997         * modules/search (Depends-on): Add c++defs.
5998         (Makefile.am): Update search.h rule.
5999
6000         math: Avoid #define replacements in C++ mode.
6001         * lib/math.in.h: Include c++defs.h.
6002         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
6003         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
6004         trunc, truncl): In C++, define a namespaced alias symbol.
6005         * modules/math (Depends-on): Add c++defs.
6006         (Makefile.am): Update math.h rule.
6007
6008         locale: Avoid #define replacements in C++ mode.
6009         * lib/locale.in.h: Include c++defs.h.
6010         (duplocale): In C++, define a namespaced alias symbol.
6011         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
6012         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
6013         * modules/locale (Depends-on): Add c++defs.
6014         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
6015
6016         langinfo: Avoid #define replacements in C++ mode.
6017         * lib/langinfo.in.h: Include c++defs.h.
6018         (nl_langinfo): In C++, define a namespaced alias symbol.
6019         * modules/langinfo (Depends-on): Add c++defs.
6020         (Makefile.am): Update langinfo.h rule.
6021
6022         iconv-h: Avoid #define replacements in C++ mode.
6023         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
6024         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
6025         symbol.
6026         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
6027         whenever iconv is present.
6028         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
6029         (Makefile.am): Update iconv.h rule.
6030
6031         glob: Avoid #define replacements in C++ mode.
6032         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
6033         (_gl_glob_errfunc_fn): New type.
6034         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
6035         symbol.
6036         * modules/glob (Depends-on): Add c++defs, warn-on-use.
6037         (Makefile.am): Update glob.h rule.
6038
6039         fcntl-h: Avoid #define replacements in C++ mode.
6040         * lib/fcntl.in.h: Include c++defs.h.
6041         (fcntl, open, openat): In C++, define a namespaced alias symbol.
6042         * modules/fcntl-h (Depends-on): Add c++defs.
6043         (Makefile.am): Update fcntl.h rule.
6044
6045         dirent: Avoid #define replacements in C++ mode.
6046         * lib/dirent.in.h: Include c++defs.h.
6047         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
6048         namespaced alias symbol.
6049         (dirfd): Update declaration.
6050         * modules/dirent (Depends-on): Add c++defs.
6051         (Makefile.am): Update dirent.h rule.
6052
6053         ctype: Make it usable in C++ code.
6054         * lib/ctype.in.h: Include c++defs.h.
6055         (isblank): Declare as extern "C".
6056         * modules/ctype (Depends-on): Add c++defs.
6057         (Makefile.am): Update ctype.h rule.
6058
6059         New module 'c++defs'.
6060         * modules/c++defs: New file.
6061         * build-aux/c++defs.h: New file.
6062         Reported by John W. Eaton <jwe@gnu.org>.
6063
6064 2010-03-07  Bruno Haible  <bruno@clisp.org>
6065
6066         logb: Provide missing declaration for Cygwin.
6067         * lib/math.in.h (logb): New declaration.
6068         * m4/logb.m4: New file.
6069         * modules/logb (Files): Add m4/logb.m4.
6070         (Depends-on): Add math.
6071         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
6072         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
6073         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
6074         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
6075         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
6076
6077 2010-03-07  Bruno Haible  <bruno@clisp.org>
6078
6079         Fix test-cond link error.
6080         * tests/test-cond.c: Include <stdio.h>.
6081
6082 2010-03-07  Bruno Haible  <bruno@clisp.org>
6083
6084         Fix test-dirent-safer link error.
6085         * modules/dirent-safer-tests (Makefile.am): Define
6086         test_dirent_safer_LDADD.
6087
6088 2010-03-07  Bruno Haible  <bruno@clisp.org>
6089
6090         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
6091         among default module list.
6092
6093 2010-03-07  Bruno Haible  <bruno@clisp.org>
6094
6095         Fix link error on platforms with GNU libiconv.
6096         * modules/unistr/u8-strcoll-tests (Makefile): Define
6097         test_u8_strcoll_LDADD.
6098         * modules/unistr/u16-strcoll-tests (Makefile): Define
6099         test_u16_strcoll_LDADD.
6100         * modules/unistr/u32-strcoll-tests (Makefile): Define
6101         test_u32_strcoll_LDADD.
6102
6103 2010-03-07  Bruno Haible  <bruno@clisp.org>
6104
6105         Use POSIX declarations for socket functions.
6106         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
6107         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
6108         rpl_sendto): Change declaration to match POSIX.
6109         * lib/connect.c (rpl_connect): Likewise.
6110         * lib/accept.c (rpl_accept): Likewise.
6111         * lib/bind.c (rpl_bind): Likewise.
6112         * lib/getpeername.c (rpl_getpeername): Likewise.
6113         * lib/getsockname.c (rpl_getsockname): Likewise.
6114         * lib/recv.c (rpl_recv): Likewise.
6115         * lib/send.c (rpl_send): Likewise.
6116         * lib/recvfrom.c (rpl_recvfrom): Likewise.
6117         * lib/sendto.c (rpl_sendto): Likewise.
6118
6119 2010-03-06  Bruno Haible  <bruno@clisp.org>
6120
6121         Clarify access, euidaccess, faccessat.
6122         * doc/posix-functions/faccessat.texi: Mention security problem under
6123         "Other problems", not "Portability problems".
6124         * doc/posix-functions/access.texi: Likewise. Mention a related security
6125         problem.
6126         * doc/glibc-functions/euidaccess.texi: Mention security problems.
6127         * lib/euidaccess.c: Add comments about platforms.
6128         * lib/unistd.in.h (access, euidaccess): Add warnings.
6129
6130 2010-03-07  Bruno Haible  <bruno@clisp.org>
6131
6132         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
6133         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
6134         (POSIX_SPAWN_SETSCHEDULER): Likewise.
6135         (POSIX_SPAWN_USEVFORK): Define in a way that works when
6136         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
6137         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
6138         declare when POSIX_SPAWN_SETSCHEDULER is zero.
6139         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
6140         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
6141         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
6142         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
6143         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
6144         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
6145         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
6146         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
6147         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
6148         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
6149         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
6150         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
6151         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
6152         Likewise.
6153         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
6154         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
6155         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
6156         Likewise.
6157         * tests/test-spawn.c (main): Make it work when
6158         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
6159
6160 2010-03-07  Bruno Haible  <bruno@clisp.org>
6161
6162         Fix incorrect Makefile.am generation in German locale.
6163         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
6164         Execute sed command with character range in C locale.
6165
6166 2010-03-06  Bruno Haible  <bruno@clisp.org>
6167
6168         Tests for module 'iconv-h'.
6169         * modules/iconv-h-tests: New file.
6170         * tests/test-iconv-h.c: New file.
6171
6172         New module 'iconv-h'.
6173         * modules/iconv-h: New file.
6174         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
6175         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
6176         (configure.ac): Remove gl_ICONV_H.
6177         (Makefile.am): Remove rule for iconv.h.
6178
6179 2010-03-06  Bruno Haible  <bruno@clisp.org>
6180
6181         More consistent naming of *.m4 files.
6182         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
6183         * modules/wctype (Files): Update.
6184
6185         More consistent naming of *.m4 files.
6186         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
6187         * modules/wchar (Files): Update.
6188
6189 2010-03-06  Jim Meyering  <meyering@redhat.com>
6190
6191         euidaccess: relax license to LGPLv2+
6192         * modules/euidaccess (License): Relax to LGPLv2+.
6193
6194 2010-03-06  Bruno Haible  <bruno@clisp.org>
6195
6196         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
6197         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
6198         (Makefile.am): Augment lib_SOURCES instead.
6199
6200 2010-03-04  Jim Meyering  <meyering@redhat.com>
6201
6202         utime: remove obsolete module
6203         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
6204         unnecessary for years, and has been marked as obsolete for 10 months.
6205         * modules/utime: Remove file.
6206         * lib/utime.c: Remove file.
6207         * m4/utime.m4: Remove file.
6208         * m4/utimes-null.m4: Remove file.
6209         * doc/posix-functions/utime.texi (utime): Remove reference to
6210         the module.  Move the sole "fixed by gnulib" item into the
6211         "problems not fixed by Gnulib" list.
6212         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
6213
6214 2010-03-05  Simon Josefsson  <simon@josefsson.org>
6215
6216         * modules/exit (License): Relax license to LGPLv2+.
6217         (Status): Mark as obsolete.
6218         * NEWS: Mention deprecated 'exit' module.
6219         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
6220         of now obsolete 'exit'.
6221
6222 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6223
6224         fts-lgpl: remove unused module
6225         * modules/fts-lgpl: Remove.
6226         * MODULES.html.sh (func_all_modules): Adjust.
6227         * check-module (find_included_lib_files): Adjust.
6228         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
6229
6230 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
6231
6232         copy-acl: enhance Solaris ACL error handling
6233         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
6234         * lib/set-mode-acl.c (qset_acl): Likewise.
6235
6236 2010-03-02  Bruno Haible  <bruno@clisp.org>
6237
6238         spawn: Don't override the system defined values on FreeBSD 8.
6239         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
6240         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
6241         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
6242         if HAVE_POSIX_SPAWN is 1.
6243         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
6244
6245 2010-03-01  Bruno Haible  <bruno@clisp.org>
6246
6247         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
6248         regarding Automake.
6249
6250 2010-02-25  Bruno Haible  <bruno@clisp.org>
6251
6252         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
6253         * gnulib-tool: Define 'echo' as a function only before the ksh alias
6254         setting, not afterwards.
6255         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
6256
6257 2010-02-24  Eric Blake  <eblake@redhat.com>
6258
6259         bootstrap, git-version-gen: use timestamp
6260         * build-aux/git-version-gen (scriptversion): Force UTC.
6261         * build-aux/bootstrap (scriptversion): New variable.
6262
6263         bootstrap: allow older git
6264         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
6265         older than 1.6.4.  Requested by the libvirt project.
6266
6267 2010-02-23  Eric Blake  <eblake@redhat.com>
6268
6269         warn-on-use: work with old autoconf
6270         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
6271         AS_VAR semantics of autoconf 2.60.
6272         Reported by Bruno Haible.
6273
6274         bootstrap: improve some comments
6275         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
6276         clarification comments.
6277
6278         gettimeofday: provide correct function
6279         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
6280         when replacement is declared, otherwise provide gettimeofday.
6281         Reported by Michael Goffioul.
6282
6283 2010-02-23  Jim Meyering  <meyering@redhat.com>
6284
6285         lib-ignore: relax license to "unlimited", not LGPLv2+
6286         * modules/lib-ignore (License): Relax to "unlimited".
6287
6288 2010-02-23  Jim Meyering  <meyering@redhat.com>
6289
6290         lib-ignore: relax license to LGPLv2+
6291         * modules/lib-ignore (License): Relax to LGPLv2+.
6292
6293 2010-02-22  Eric Blake  <eblake@redhat.com>
6294
6295         lseek: avoid bash 3.2 broken pipe bug
6296         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
6297         warning from bash 3.2.
6298         Reported by Ben Pfaff, with analysis from Bruno Haible.
6299
6300         bootstrap: support non-FSF copyright holder
6301         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
6302         bootstrap.conf override of COPYRIGHT_HOLDER.
6303         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
6304
6305         bootstrap: interoperate with gettext 0.14.1
6306         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
6307
6308         bootstrap: allow for alternate submodule location
6309         * build-aux/bootstrap (gnulib_path): New variable; use instead of
6310         hardcoding submodule location.
6311         (gnulib_mk): Allow direct use of Makefile.am.
6312
6313         bootstrap: use GNULIB_SRCDIR to reduce disk usage
6314         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
6315         rather than reconfiguring where the submodule points.
6316
6317         gettimeofday: restore support for platforms that lack function
6318         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
6319         replacement if function is missing.
6320         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
6321         * modules/sys_time (Makefile.am): Substitute it.
6322         * lib/sys_time.in.h (gettimeofday): Check it.
6323         Reported by Michael Goffioul.
6324
6325 2010-02-21  Bruno Haible  <bruno@clisp.org>
6326
6327         * lib/stdio.in.h (obstack_printf): Fix typo.
6328
6329 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
6330
6331         vc-list-files: use bzr ls's -R option
6332         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
6333         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
6334
6335 2010-02-21  Jim Meyering  <meyering@redhat.com>
6336
6337         init.sh: fix EXEEXT shims to work also for names like test-prog
6338         * tests/init.sh: Re-exec a better shell, when needed.
6339         If the current shell lacks support for posix $(...), an init.sh-using
6340         test will now try to find a shell that supports that.  If EXEEXT is
6341         nonempty, we also require support for hyphen-in-alias-name and shell
6342         substitutions like ${var#glob}.  Failure to find such a shell results
6343         in a skipped test.
6344
6345 2010-02-21  Bruno Haible  <bruno@clisp.org>
6346
6347         Really work around around "broken pipe" error message from bash 3.2.
6348         * gnulib-tool (func_reset_sigpipe): Remove function.
6349         (echo): In bash 3.2, define to a function that uses printf.
6350         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
6351
6352 2010-02-20  Bruno Haible  <bruno@clisp.org>
6353
6354         Restore support for automake 1.9.6 with autoconf 2.61.
6355         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
6356         Reported by James Youngman <jay@gnu.org>.
6357
6358 2010-02-20  Bruno Haible  <bruno@clisp.org>
6359
6360         Improve *printf warning condition.
6361         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
6362         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
6363         and the function is overridden due to SIGPIPE emulation.
6364
6365 2010-02-20  Bruno Haible  <bruno@clisp.org>
6366
6367         * lib/stdio.in.h: Tweak comments.
6368
6369 2010-02-19  Bruno Haible  <bruno@clisp.org>
6370
6371         Make it easier to find modules. New gnulib-tool option '--find'.
6372         * gnulib-tool: New option --find.
6373         (func_usage): Document it.
6374         (func_sanitize_modulelist): New function, extracted from
6375         func_all_modules.
6376         (func_all_modules): Invoke it.
6377         * doc/gnulib-tool.texi (Which modules?): New node.
6378
6379 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
6380
6381         * lib/sys_select.in.h: Provide select replacement even if
6382         sys/select.h exists on a system, for Interix.
6383
6384 2010-02-18  Jim Meyering  <meyering@redhat.com>
6385
6386         init.sh: don't use $(...) just yet
6387         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
6388         to accommodate e.g., Solaris' /bin/sh.
6389
6390 2010-02-17  Bruno Haible  <bruno@clisp.org>
6391
6392         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
6393         Reported by Ludovic Courtès <ludo@gnu.org>.
6394
6395 2010-02-16  Simon Josefsson  <simon@josefsson.org>
6396
6397         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
6398         linking with -lintl.
6399
6400 2010-02-17  Simon Josefsson  <simon@josefsson.org>
6401
6402         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
6403         if not provided by the system's netdb.h.  Reported by
6404         ludo@gnu.org (Ludovic Courtès).
6405
6406 2010-02-15  Jim Meyering  <meyering@redhat.com>
6407
6408         init.sh: improve portability and efficiency
6409         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
6410         "dummy" in a for loop.
6411         Use '!', not '^' to select the complement of a character set used
6412         in a "case" statement.
6413         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
6414         Suggestions from Eric Blake.
6415
6416         init.sh: automatically accommodate programs with the .exe suffix
6417         Automatically arrange for an invocation of "prog" to execute the
6418         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
6419         may use the simpler "prog", yet still work when built on a system
6420         that requires specifying the added suffix.
6421         Do this by constructing a function named "prog" that invokes
6422         "prog.exe" for each .exe file in selected directories.
6423         * tests/init.sh (find_exe_basenames_): New function.
6424         (create_exe_shim_functions_): New function.
6425         (path_prepend_): Use it.
6426
6427         maint.mk: mark syntax-check sc_*.m rules as .PHONY
6428         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
6429         "make -t syntax-check" doesn't create a ton of sc_*.m files.
6430
6431 2010-02-14  Jim Meyering  <meyering@redhat.com>
6432
6433         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
6434         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
6435         (sc_prohibit_hash_pjw_without_use): New rule.
6436
6437         maint.mk: allow the default upload destination dir to be overridden
6438         * top/maint.mk (upload_dest_dir_): Define with a default that
6439         preserves the status quo.
6440         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
6441         Reported by Peter Simons.
6442
6443         maint.mk: prohibit inclusion of "hash.h" without_use
6444         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
6445
6446 2010-02-10  Jim Meyering  <meyering@redhat.com>
6447
6448         maint.mk: prohibit inclusion of "ignore-value.h" without_use
6449         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
6450
6451 2010-02-09  Eric Blake  <ebb9@byu.net>
6452         and Bruno Haible  <bruno@clisp.org>
6453
6454         obstack-printf-posix: ensure declaration
6455         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
6456         extracted from gl_FUNC_OBSTACK_PRINTF.
6457         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
6458         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
6459         Likewise.
6460         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
6461         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
6462         0.
6463
6464 2010-02-08  Bruno Haible  <bruno@clisp.org>
6465
6466         gnulib-tool: Fix typo in 2010-02-07 commit.
6467         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
6468         Reported by Eric Blake.
6469
6470 2010-02-07  Bruno Haible  <bruno@clisp.org>
6471
6472         gnulib-tool: Fix up caching patches.
6473         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
6474         option --no-cache. Use associative arrays when supported by the shell.
6475         (sed_comments): New variable.
6476         (modcache): Renamed from do_cache.
6477         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
6478         abbreviate unnecessarily.
6479         (have_associative): New variable.
6480         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
6481         way also for ksh and zsh.
6482         (func_init_sed_convert_to_cache_statements): New function, extracted
6483         from func_cache_lookup_module. Add support for associative arrays.
6484         Don't set the c_MODULE_cached variable here. Ignore all lines before
6485         the first field header. Remove only the final newline, not all trailing
6486         newlines. Support empty fields correctly. Limit the use of 'eval' to
6487         assignments.
6488         (func_get_description, func_get_status, func_get_notice,
6489         func_get_applicability, func_get_filelist, func_get_dependencies,
6490         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
6491         func_get_automake_snippet, func_get_include_directive,
6492         func_get_link_directive, func_get_license, func_get_maintainer):
6493         Update documentation. List the unoptimized code first. Add support for
6494         associative arrays. Limit the use of 'eval' to assignments.
6495         (func_get_applicability): Undo stylistic pessimisations.
6496         (func_get_automake_snippet, func_get_include_directive): Reduce code
6497         duplication.
6498         (func_modules_transitive_closure, func_modules_add_dummy,
6499         func_modules_notice, func_modules_to_filelist, func_add_file,
6500         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
6501         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
6502         func_create_testdir, func_create_megatestdir): Update documentation.
6503
6504 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6505
6506         * gnulib-tool (func_cache_lookup_module): Store the module name
6507         belonging to the cache variable; error out if two different
6508         module names map to the same cache variable name.
6509
6510 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6511
6512         gnulib-tool: Make caching optional.
6513         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
6514         Update matching short versions of --no-changelog.
6515         (func_usage): Update.
6516         (sed_extract_cache_prog): Renamed from ...
6517         (sed_extract_prog): ... this; revert to old extraction script.
6518         (func_get_description, func_get_status)
6519         (func_get_notice, func_get_applicability, func_get_filelist)
6520         (func_get_dependencies, func_get_autoconf_early_snippet)
6521         (func_get_autoconf_snippet, func_get_automake_snippet)
6522         (func_get_include_directive, func_get_link_directive)
6523         (func_get_license, func_get_maintainer): If $do_cache is false,
6524         use old, non-caching extraction scripts.
6525         Suggestion by Bruno Haible.
6526
6527 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6528
6529         gnulib-tool: cache module metainformation.
6530         * gnulib-tool (sed_extract_prog): Match newline before each
6531         header, and rewrite header to a shell variable suffix.
6532         (func_cache_var, func_cache_lookup_module): New functions,
6533         to turn a module name into a cache variable prefix, and to
6534         look up and cache module metainformation.
6535         (func_get_description, func_get_status)
6536         (func_get_notice, func_get_applicability, func_get_filelist)
6537         (func_get_dependencies, func_get_autoconf_early_snippet)
6538         (func_get_autoconf_snippet, func_get_automake_snippet)
6539         (func_get_include_directive, func_get_link_directive)
6540         (func_get_license, func_get_maintainer): Use
6541         func_cache_lookup_module.
6542
6543 2010-02-07  Bruno Haible  <bruno@clisp.org>
6544
6545         fnctl: Fix missing dependency.
6546         * modules/fcntl (Depends-on): Add getdtablesize.
6547         Reported by John W. Eaton <jwe@gnu.org>.
6548
6549 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
6550
6551         Argp: fix recognition of short alias options.
6552
6553         * lib/argp-parse.c (convert_options): Fix improper use of
6554         `|' between character values.
6555         * tests/test-argp.c (group1_option): New alias option
6556         --read (-r).
6557         (group1_parser): Special handling for 'r'.
6558         (test15): New test case.
6559         (test_fun): Add test15.
6560         * tests/test-argp-2.sh: Update expected --help and --usage
6561         outputs.
6562
6563 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
6564
6565         * tests/test-argp.c: Fix indentation.
6566
6567 2010-02-04  Eric Blake  <ebb9@byu.net>
6568
6569         gettimeofday: expose type of second argument
6570         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
6571         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
6572         * tests/test-gettimeofday.c: Use it to silence warning.
6573         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
6574         the issue.
6575
6576 2010-02-03  Jim Meyering  <meyering@redhat.com>
6577
6578         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
6579         * lib/regcomp.c (TYPE_SIGNED): Define.
6580         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
6581
6582         regcomp.c: avoid a new -Wshadow warning
6583         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
6584
6585 2010-02-01  Jim Meyering  <meyering@redhat.com>
6586
6587         removing useless parentheses in cpp #define directives
6588         For motivation, see commit c0221df4, "define STREQ(a,b)
6589         consistently, removing useless parentheses"
6590         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
6591         * lib/mountlist.c (MNT_IGNORE): Likewise.
6592         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
6593
6594 2010-02-01  Eric Blake  <ebb9@byu.net>
6595
6596         sys_time: use link-warning
6597         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
6598         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
6599         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
6600         * modules/sys_time (Depends-on): Add warn-on-use.
6601         (Makefile.am): Always build replacement.
6602         (configure.ac): Update substitutions.
6603         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
6604         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
6605         bother with SYS_TIME_H.
6606         * modules/gettimeofday (configure.ac): Declare indicator.
6607         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
6608         in use.
6609
6610         closein-tests: silence compiler warning
6611         * tests/test-closein.c (main): Ignore fread result.
6612         * modules/closein-tests (Depends-on): Add ignore-value.
6613
6614         tests: silence warning about system return
6615         * tests/test-areadlink-with-size.c (main): Ignore system result.
6616         * tests/test-areadlink.c (main): Likewise.
6617         * tests/test-areadlinkat-with-size.c (main): Likewise.
6618         * tests/test-areadlinkat.c (main): Likewise.
6619         * tests/test-canonicalize-lgpl.c (main): Likewise.
6620         * tests/test-canonicalize.c (main): Likewise.
6621         * tests/test-chown.c (main): Likewise.
6622         * tests/test-fchownat.c (main): Likewise.
6623         * tests/test-fdutimensat.c (main): Likewise.
6624         * tests/test-fstatat.c (main): Likewise.
6625         * tests/test-futimens.c (main): Likewise.
6626         * tests/test-lchown.c (main): Likewise.
6627         * tests/test-link.c (main): Likewise.
6628         * tests/test-linkat.c (main): Likewise.
6629         * tests/test-lstat.c (main): Likewise.
6630         * tests/test-mkdir.c (main): Likewise.
6631         * tests/test-mkdirat.c (main): Likewise.
6632         * tests/test-mkfifo.c (main): Likewise.
6633         * tests/test-mkfifoat.c (main): Likewise.
6634         * tests/test-mknod.c (main): Likewise.
6635         * tests/test-readlink.c (main): Likewise.
6636         * tests/test-remove.c (main): Likewise.
6637         * tests/test-rename.c (main): Likewise.
6638         * tests/test-renameat.c (main): Likewise.
6639         * tests/test-rmdir.c (main): Likewise.
6640         * tests/test-symlink.c (main): Likewise.
6641         * tests/test-symlinkat.c (main): Likewise.
6642         * tests/test-unlink.c (main): Likewise.
6643         * tests/test-unlinkat.c (main): Likewise.
6644         * tests/test-utimens.c (main): Likewise.
6645         * tests/test-utimensat.c (main): Likewise.
6646         * modules/areadlink-tests (Depends-on): Add ignore-value.
6647         * modules/areadlink-with-size-tests (Depends-on): Likewise.
6648         * modules/areadlinkat-tests (Depends-on): Likewise.
6649         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
6650         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
6651         * modules/canonicalize-tests (Depends-on): Likewise.
6652         * modules/chown-tests (Depends-on): Likewise.
6653         * modules/fdutimensat-tests (Depends-on): Likewise.
6654         * modules/futimens-tests (Depends-on): Likewise.
6655         * modules/lchown-tests (Depends-on): Likewise.
6656         * modules/link-tests (Depends-on): Likewise.
6657         * modules/linkat-tests (Depends-on): Likewise.
6658         * modules/lstat-tests (Depends-on): Likewise.
6659         * modules/mkdir-tests (Depends-on): Likewise.
6660         * modules/mkfifo-tests (Depends-on): Likewise.
6661         * modules/mkfifoat-tests (Depends-on): Likewise.
6662         * modules/mknod-tests (Depends-on): Likewise.
6663         * modules/openat-tests (Depends-on): Likewise.
6664         * modules/readlink-tests (Depends-on): Likewise.
6665         * modules/remove-tests (Depends-on): Likewise.
6666         * modules/rename-tests (Depends-on): Likewise.
6667         * modules/renameat-tests (Depends-on): Likewise.
6668         * modules/rmdir-tests (Depends-on): Likewise.
6669         * modules/symlink-tests (Depends-on): Likewise.
6670         * modules/symlinkat-tests (Depends-on): Likewise.
6671         * modules/unlink-tests (Depends-on): Likewise.
6672         * modules/utimens-tests (Depends-on): Likewise.
6673         * modules/utimensat-tests (Depends-on): Likewise.
6674
6675 2010-01-31  Bruno Haible  <bruno@clisp.org>
6676
6677         Perform the same test for many <math.h> functions.
6678         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
6679         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
6680         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
6681         of gl_MATHFUNC.
6682         * modules/acos (configure.ac): Likewise.
6683         * modules/asin (configure.ac): Likewise.
6684         * modules/atan (configure.ac): Likewise.
6685         * modules/atan2 (configure.ac): Likewise.
6686         * modules/cbrt (configure.ac): Likewise.
6687         * modules/copysign (configure.ac): Likewise.
6688         * modules/cos (configure.ac): Likewise.
6689         * modules/cosh (configure.ac): Likewise.
6690         * modules/erf (configure.ac): Likewise.
6691         * modules/erfc (configure.ac): Likewise.
6692         * modules/exp (configure.ac): Likewise.
6693         * modules/fmod (configure.ac): Likewise.
6694         * modules/hypot (configure.ac): Likewise.
6695         * modules/j0 (configure.ac): Likewise.
6696         * modules/j1 (configure.ac): Likewise.
6697         * modules/jn (configure.ac): Likewise.
6698         * modules/lgamma (configure.ac): Likewise.
6699         * modules/log (configure.ac): Likewise.
6700         * modules/log10 (configure.ac): Likewise.
6701         * modules/log1p (configure.ac): Likewise.
6702         * modules/pow (configure.ac): Likewise.
6703         * modules/remainder (configure.ac): Likewise.
6704         * modules/sin (configure.ac): Likewise.
6705         * modules/sinh (configure.ac): Likewise.
6706         * modules/tan (configure.ac): Likewise.
6707         * modules/tanh (configure.ac): Likewise.
6708         * modules/y0 (configure.ac): Likewise.
6709         * modules/y1 (configure.ac): Likewise.
6710         * modules/yn (configure.ac): Likewise.
6711         Suggested by Paolo Bonzini.
6712
6713 2010-01-31  Bruno Haible  <bruno@clisp.org>
6714
6715         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
6716
6717 2010-01-31  Bruno Haible  <bruno@clisp.org>
6718
6719         Work around getdelim() bug on FreeBSD 8.0.
6720         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
6721         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
6722         not work.
6723         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
6724         is 1.
6725         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
6726         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
6727         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
6728         a non-zero size.
6729         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
6730
6731 2010-01-31  Bruno Haible  <bruno@clisp.org>
6732
6733         Work around getline() bug on FreeBSD 8.0.
6734         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
6735         and a non-zero size.
6736         * tests/test-getline.c (main): Likewise.
6737         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
6738         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
6739
6740 2010-01-28  Eric Blake  <ebb9@byu.net>
6741
6742         regex: fix build failure
6743         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
6744         platforms.
6745
6746 2010-01-28  Jim Meyering  <meyering@redhat.com>
6747
6748         regex: do not ignore memory allocation failure
6749         * lib/regex_internal.c (create_cd_newstate): Detect
6750         re_node_set_init_copy failure.   Extracted from glibc commit
6751         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
6752
6753         regex: sync more white-space changes from libc
6754         * lib/regex_internal.c: White-space only changes.
6755         * lib/regexec.c: Likewise.
6756
6757         regex: add many uses of __attribute_warn_unused_result__
6758         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
6759         * lib/regexec.c: Likewise.
6760         Extracted from a messy glibc commit.
6761
6762         regcomp.c: spelling and merge-artifact from glibc
6763         * lib/regcomp.c: Merge remainder of glibc's
6764         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
6765
6766         regcomp.c: sync white-space changes from glibc
6767         * lib/regcomp.c: Merge to accommodate white space
6768         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
6769
6770         regcomp.c: do not ignore internal return values
6771         * lib/regcomp.c: Do not ignore internal return values.
6772         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
6773         but without its white-space changes and spelling fixes.
6774
6775         regex_internal.h: define __attribute_warn_unused_result__
6776         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
6777
6778         maint: add a syntax-check rule to check for vulnerable Makefile.in
6779         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
6780
6781 2010-01-27  Jim Meyering  <meyering@redhat.com>
6782
6783         ncftpput-ftp: clean up spaces
6784         * build-aux/ncftpput-ftp: Make Copyright line consistent.
6785         Remove trailing blanks.
6786
6787 2010-01-27  Simon Josefsson  <simon@josefsson.org>
6788
6789         * build-aux/git-version-gen: Fix copyright statement.
6790         * build-aux/gnupload: Likewise.
6791         * tests/test-arcfour.c: Likewise.
6792         * tests/test-arctwo.c: Likewise.
6793         * tests/test-count-one-bits.c: Likewise.
6794         * tests/test-crc.c: Likewise.
6795         * tests/test-des.c: Likewise.
6796         * tests/test-gc-arcfour.c: Likewise.
6797         * tests/test-gc-arctwo.c: Likewise.
6798         * tests/test-gc-des.c: Likewise.
6799         * tests/test-gc-hmac-md5.c: Likewise.
6800         * tests/test-gc-hmac-sha1.c: Likewise.
6801         * tests/test-gc-md2.c: Likewise.
6802         * tests/test-gc-md4.c: Likewise.
6803         * tests/test-gc-md5.c: Likewise.
6804         * tests/test-gc-pbkdf2-sha1.c: Likewise.
6805         * tests/test-gc-rijndael.c: Likewise.
6806         * tests/test-gc-sha1.c: Likewise.
6807         * tests/test-gc.c: Likewise.
6808         * tests/test-gethostname.c: Likewise.
6809         * tests/test-gettimeofday.c: Likewise.
6810         * tests/test-hash.c: Likewise.
6811         * tests/test-hmac-md5.c: Likewise.
6812         * tests/test-hmac-sha1.c: Likewise.
6813         * tests/test-md2.c: Likewise.
6814         * tests/test-md4.c: Likewise.
6815         * tests/test-md5.c: Likewise.
6816         * tests/test-memchr.c: Likewise.
6817         * tests/test-memchr2.c: Likewise.
6818         * tests/test-memcmp.c: Likewise.
6819         * tests/test-memmem.c: Likewise.
6820         * tests/test-memrchr.c: Likewise.
6821         * tests/test-rawmemchr.c: Likewise.
6822         * tests/test-read-file.c: Likewise.
6823         * tests/test-rijndael.c: Likewise.
6824         * tests/test-sockets.c: Likewise.
6825         * tests/test-strchrnul.c: Likewise.
6826         * tests/test-strstr.c: Likewise.
6827         * tests/test-strtod.c: Likewise.
6828         * build-aux/ncftpput-ftp: Likewise.
6829
6830 2010-01-26  Eric Blake  <ebb9@byu.net>
6831
6832         ignore-value: update recommended header name
6833         * modules/ignore-value (Include): Only use <> for headers that
6834         exist in glibc.
6835
6836 2010-01-26  Jim Meyering  <meyering@redhat.com>
6837
6838         test-userspec.c: avoid compiler warnings
6839         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
6840         and "initialization discards qualifiers..." warnings.
6841         Put the first "uid" in its own scope, and make char* members "const".
6842
6843 2010-01-25  Bruno Haible  <bruno@clisp.org>
6844
6845         gnulib-tool: Make warning diagnostics consistent.
6846         * gnulib-tool (func_warning): New function.
6847         Use it everywhere where gnulib-tool produces output to stderr and it is
6848         not a fatal error.
6849
6850 2010-01-25  Bruno Haible  <bruno@clisp.org>
6851
6852         Fix test dependencies.
6853         * modules/xstrtol-tests (Depends-on): Add inttypes.
6854         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
6855
6856 2010-01-25 Pádraig Brady <P@draigBrady.com>
6857
6858         syntax-check: detect incorrect boolean macro values in config.h
6859         * modules/maintainer-makefile (configure.ac): Parameterize the location
6860         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
6861         The logic is from Eric Blake and the location indicated by Jim Meyering.
6862         Note the more natural CONFIG_HEADER name is prohibited by automake
6863         for backwards compatibility reasons.
6864         * top/maint.mk (sc_Wundef_boolean): New rule.
6865
6866 2010-01-25  Jim Meyering  <meyering@redhat.com>
6867
6868         bootstrap: detect MacOS 10.6's shasum, too
6869         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
6870         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
6871
6872 2010-01-23  Jim Meyering  <meyering@redhat.com>
6873
6874         xstrtoll: new module
6875         * modules/xstrtoll: New file.
6876         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
6877         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
6878         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
6879         ./configure fails if you use this module and lack "long long".
6880         * modules/xstrtoll-tests: New module.
6881         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
6882         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
6883         new init.sh-based test framework.
6884
6885 2010-01-24  Bruno Haible  <bruno@clisp.org>
6886
6887         Tests for module 'yn'.
6888         * modules/yn-tests: New file.
6889         * tests/test-yn.c: New file.
6890
6891         Tests for module 'y1'.
6892         * modules/y1-tests: New file.
6893         * tests/test-y1.c: New file.
6894
6895         Tests for module 'y0'.
6896         * modules/y0-tests: New file.
6897         * tests/test-y0.c: New file.
6898
6899         Tests for module 'tanh'.
6900         * modules/tanh-tests: New file.
6901         * tests/test-tanh.c: New file.
6902
6903         Tests for module 'tan'.
6904         * modules/tan-tests: New file.
6905         * tests/test-tan.c: New file.
6906
6907         Tests for module 'sqrt'.
6908         * modules/sqrt-tests: New file.
6909         * tests/test-sqrt.c: New file.
6910
6911         Tests for module 'sinh'.
6912         * modules/sinh-tests: New file.
6913         * tests/test-sinh.c: New file.
6914
6915         Tests for module 'sin'.
6916         * modules/sin-tests: New file.
6917         * tests/test-sin.c: New file.
6918
6919         Tests for module 'rint'.
6920         * modules/rint-tests: New file.
6921         * tests/test-rint.c: New file.
6922
6923         Tests for module 'remainder'.
6924         * modules/remainder-tests: New file.
6925         * tests/test-remainder.c: New file.
6926
6927         Tests for module 'pow'.
6928         * modules/pow-tests: New file.
6929         * tests/test-pow.c: New file.
6930
6931         Tests for module 'nextafter'.
6932         * modules/nextafter-tests: New file.
6933         * tests/test-nextafter.c: New file.
6934
6935         Tests for module 'modf'.
6936         * modules/modf-tests: New file.
6937         * tests/test-modf.c: New file.
6938
6939         Tests for module 'logb'.
6940         * modules/logb-tests: New file.
6941         * tests/test-logb.c: New file.
6942
6943         Tests for module 'log1p'.
6944         * modules/log1p-tests: New file.
6945         * tests/test-log1p.c: New file.
6946
6947         Tests for module 'log10'.
6948         * modules/log10-tests: New file.
6949         * tests/test-log10.c: New file.
6950
6951         Tests for module 'log'.
6952         * modules/log-tests: New file.
6953         * tests/test-log.c: New file.
6954
6955         Tests for module 'lgamma'.
6956         * modules/lgamma-tests: New file.
6957         * tests/test-lgamma.c: New file.
6958
6959         Tests for module 'ldexp'.
6960         * modules/ldexp-tests: New file.
6961         * tests/test-ldexp.c: New file.
6962
6963         Tests for module 'jn'.
6964         * modules/jn-tests: New file.
6965         * tests/test-jn.c: New file.
6966
6967         Tests for module 'j1'.
6968         * modules/j1-tests: New file.
6969         * tests/test-j1.c: New file.
6970
6971         Tests for module 'j0'.
6972         * modules/j0-tests: New file.
6973         * tests/test-j0.c: New file.
6974
6975         Tests for module 'hypot'.
6976         * modules/hypot-tests: New file.
6977         * tests/test-hypot.c: New file.
6978
6979         Tests for module 'fmod'.
6980         * modules/fmod-tests: New file.
6981         * tests/test-fmod.c: New file.
6982
6983         Tests for module 'fabs'.
6984         * modules/fabs-tests: New file.
6985         * tests/test-fabs.c: New file.
6986
6987         Tests for module 'exp'.
6988         * modules/exp-tests: New file.
6989         * tests/test-exp.c: New file.
6990
6991         Tests for module 'erfc'.
6992         * modules/erfc-tests: New file.
6993         * tests/test-erfc.c: New file.
6994
6995         Tests for module 'erf'.
6996         * modules/erf-tests: New file.
6997         * tests/test-erf.c: New file.
6998
6999         Tests for module 'cosh'.
7000         * modules/cosh-tests: New file.
7001         * tests/test-cosh.c: New file.
7002
7003         Tests for module 'cos'.
7004         * modules/cos-tests: New file.
7005         * tests/test-cos.c: New file.
7006
7007         Tests for module 'copysign'.
7008         * modules/copysign-tests: New file.
7009         * tests/test-copysign.c: New file.
7010
7011         Tests for module 'cbrt'.
7012         * modules/cbrt-tests: New file.
7013         * tests/test-cbrt.c: New file.
7014
7015         Tests for module 'atan2'.
7016         * modules/atan2-tests: New file.
7017         * tests/test-atan2.c: New file.
7018
7019         Tests for module 'atan'.
7020         * modules/atan-tests: New file.
7021         * tests/test-atan.c: New file.
7022
7023         Tests for module 'asin'.
7024         * modules/asin-tests: New file.
7025         * tests/test-asin.c: New file.
7026
7027         Tests for module 'acos'.
7028         * modules/acos-tests: New file.
7029         * tests/test-acos.c: New file.
7030
7031 2010-01-24  Bruno Haible  <bruno@clisp.org>
7032
7033         Fix tests for common <math.h> functions.
7034         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
7035         code snippet that references the function pointer, rather than merely
7036         calling the function. Substitute the FUNC_LIBM variable.
7037         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
7038         * modules/acos (configure.ac): Likewise.
7039         * modules/asin (configure.ac): Likewise.
7040         * modules/atan (configure.ac): Likewise.
7041         * modules/atan2 (configure.ac): Likewise.
7042         * modules/cbrt (configure.ac): Likewise.
7043         * modules/copysign (configure.ac): Likewise.
7044         * modules/cos (configure.ac): Likewise.
7045         * modules/cosh (configure.ac): Likewise.
7046         * modules/erf (configure.ac): Likewise.
7047         * modules/erfc (configure.ac): Likewise.
7048         * modules/exp (configure.ac): Likewise.
7049         * modules/fabs (configure.ac): Likewise.
7050         * modules/fmod (configure.ac): Likewise.
7051         * modules/hypot (configure.ac): Likewise.
7052         * modules/j0 (configure.ac): Likewise.
7053         * modules/j1 (configure.ac): Likewise.
7054         * modules/jn (configure.ac): Likewise.
7055         * modules/ldexp (configure.ac): Likewise.
7056         * modules/lgamma (configure.ac): Likewise.
7057         * modules/log (configure.ac): Likewise.
7058         * modules/log10 (configure.ac): Likewise.
7059         * modules/log1p (configure.ac): Likewise.
7060         * modules/logb (configure.ac): Likewise.
7061         * modules/modf (configure.ac): Likewise.
7062         * modules/nextafter (configure.ac): Likewise.
7063         * modules/pow (configure.ac): Likewise.
7064         * modules/remainder (configure.ac): Likewise.
7065         * modules/rint (configure.ac): Likewise.
7066         * modules/sin (configure.ac): Likewise.
7067         * modules/sinh (configure.ac): Likewise.
7068         * modules/tan (configure.ac): Likewise.
7069         * modules/tanh (configure.ac): Likewise.
7070         * modules/y0 (configure.ac): Likewise.
7071         * modules/y1 (configure.ac): Likewise.
7072         * modules/yn (configure.ac): Likewise.
7073
7074 2010-01-24  Bruno Haible  <bruno@clisp.org>
7075
7076         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
7077         * tests/test-acosl.c (x): New variable.
7078         (main): Store argument in x and fetch it from x.
7079         * tests/test-asinl.c (x): New variable.
7080         (main): Store argument in x and fetch it from x.
7081         * tests/test-atanl.c (x): New variable.
7082         (main): Store argument in x and fetch it from x.
7083         * tests/test-cosl.c (x): New variable.
7084         (main): Store argument in x and fetch it from x.
7085         * tests/test-expl.c (x): New variable.
7086         (main): Store argument in x and fetch it from x.
7087         * tests/test-logl.c (x): New variable.
7088         (main): Store argument in x and fetch it from x.
7089         * tests/test-sinl.c (x): New variable.
7090         (main): Store argument in x and fetch it from x.
7091         * tests/test-sqrtl.c (x): New variable.
7092         (main): Store argument in x and fetch it from x.
7093         * tests/test-tanl.c (x): New variable.
7094         (main): Store argument in x and fetch it from x.
7095
7096 2010-01-24  Bruno Haible  <bruno@clisp.org>
7097
7098         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
7099         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
7100         assignments to the initial TESTS_ENVIRONMENT.
7101         * doc/gnulib.texi (Unit test modules): Document it.
7102         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
7103         TESTS_ENVIRONMENT.
7104         * modules/btowc-tests (Makefile.am): Likewise.
7105         * modules/c-stack-tests (Makefile.am): Likewise.
7106         * modules/c-strcase-tests (Makefile.am): Likewise.
7107         * modules/copy-file-tests (Makefile.am): Likewise.
7108         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
7109         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
7110         * modules/mbrtowc-tests (Makefile.am): Likewise.
7111         * modules/mbscasecmp-tests (Makefile.am): Likewise.
7112         * modules/mbscasestr-tests (Makefile.am): Likewise.
7113         * modules/mbschr-tests (Makefile.am): Likewise.
7114         * modules/mbscspn-tests (Makefile.am): Likewise.
7115         * modules/mbsinit-tests (Makefile.am): Likewise.
7116         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
7117         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
7118         * modules/mbspbrk-tests (Makefile.am): Likewise.
7119         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
7120         * modules/mbsrchr-tests (Makefile.am): Likewise.
7121         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
7122         * modules/mbsspn-tests (Makefile.am): Likewise.
7123         * modules/mbsstr-tests (Makefile.am): Likewise.
7124         * modules/nl_langinfo-tests (Makefile.am): Likewise.
7125         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
7126         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
7127         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
7128         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
7129         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
7130         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
7131         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
7132         * modules/wcrtomb-tests (Makefile.am): Likewise.
7133         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
7134         * modules/wcsrtombs-tests (Makefile.am): Likewise.
7135         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
7136         assignments from TESTS_ENVIRONMENT.
7137         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
7138         augmentation.
7139         * modules/argp-version-etc-tests (Makefile.am): Likewise.
7140         * modules/atexit-tests (Makefile.am): Likewise.
7141         * modules/binary-io-tests (Makefile.am): Likewise.
7142         * modules/closein-tests (Makefile.am): Likewise.
7143         * modules/dprintf-posix-tests (Makefile.am): Likewise.
7144         * modules/exclude-tests (Makefile.am): Likewise.
7145         * modules/fflush-tests (Makefile.am): Likewise.
7146         * modules/fpending-tests (Makefile.am): Likewise.
7147         * modules/fprintf-posix-tests (Makefile.am): Likewise.
7148         * modules/freadahead-tests (Makefile.am): Likewise.
7149         * modules/freadptr-tests (Makefile.am): Likewise.
7150         * modules/freadseek-tests (Makefile.am): Likewise.
7151         * modules/fseek-tests (Makefile.am): Likewise.
7152         * modules/fseeko-tests (Makefile.am): Likewise.
7153         * modules/ftell-tests (Makefile.am): Likewise.
7154         * modules/ftello-tests (Makefile.am): Likewise.
7155         * modules/idpriv-drop-tests (Makefile.am): Likewise.
7156         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
7157         * modules/lseek-tests (Makefile.am): Likewise.
7158         * modules/parse-duration-tests (Makefile.am): Likewise.
7159         * modules/perror-tests (Makefile.am): Likewise.
7160         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
7161         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
7162         * modules/pipe-tests (Makefile.am): Likewise.
7163         * modules/pread-tests (Makefile.am): Likewise.
7164         * modules/printf-posix-tests (Makefile.am): Likewise.
7165         * modules/select-tests (Makefile.am): Likewise.
7166         * modules/sigpipe-tests (Makefile.am): Likewise.
7167         * modules/tsearch-tests (Makefile.am): Likewise.
7168         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
7169         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
7170         * modules/uniname/uniname-tests (Makefile.am): Likewise.
7171         * modules/uniwidth/width-tests (Makefile.am): Likewise.
7172         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
7173         * modules/version-etc-tests (Makefile.am): Likewise.
7174         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
7175         * modules/vprintf-posix-tests (Makefile.am): Likewise.
7176         * modules/xalloc-die-tests (Makefile.am): Likewise.
7177         * modules/xprintf-posix-tests (Makefile.am): Likewise.
7178         * modules/xstrtoimax-tests (Makefile.am): Likewise.
7179         * modules/xstrtol-tests (Makefile.am): Likewise.
7180         * modules/xstrtoumax-tests (Makefile.am): Likewise.
7181         * modules/yesno-tests (Makefile.am): Likewise.
7182         Suggested by Jim Meyering.
7183
7184 2010-01-24  Bruno Haible  <bruno@clisp.org>
7185
7186         More documentation.
7187         * doc/gnulib.texi (Writing modules): New chapter.
7188         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
7189         the new chapter.
7190
7191 2010-01-24  Jim Meyering  <meyering@redhat.com>
7192
7193         maint.mk: do not prepend "./" after filtering
7194         * top/maint.mk (_prepend_srcdir_prefix): New variable
7195         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
7196         "./" when $(srcdir) is ".".
7197
7198         define STREQ(a,b) consistently, removing useless parentheses
7199         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
7200         since the only risk is that "a" or "b" contains an unparenthesized
7201         comma, but if either did that, STREQ would have 3 or more arguments.
7202         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
7203         * lib/fts.c (STREQ): Remove unnecessary parentheses.
7204         * lib/hash-triple.c (STREQ): Likewise.
7205         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
7206         * lib/getugroups.c (STREQ): Likewise.
7207
7208 2010-01-23  Jim Meyering  <meyering@redhat.com>
7209
7210         maint.mk: fix syntax-check in a non-srcdir build directory
7211         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
7212         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
7213
7214 2010-01-22  Jim Meyering  <meyering@redhat.com>
7215
7216         userspec: add unit tests
7217         * tests/test-userspec.c: New file.
7218         * modules/userspec-tests: Likewise.
7219
7220 2010-01-21  Jim Meyering  <meyering@redhat.com>
7221
7222         maint.mk: handle source file names containing "." robustly
7223         * top/maint.mk (_dot_escaped_srcdir): Define.
7224         (VC_LIST): Use it in LHS of sed substitution.
7225
7226 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
7227
7228         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
7229         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
7230         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
7231         from a non-srcdir build.
7232
7233 2010-01-20  Eric Blake  <ebb9@byu.net>
7234
7235         warn-on-use: use instead of link-warning
7236         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
7237         * modules/unistd (Depends-on, Makefile.am): Likewise.
7238         * modules/arpa_inet (Depends-on): Replace link-warning with
7239         warn-on-use.
7240         (Makefile.am): Update rules accordingly.
7241         * modules/ctype (Depends-on, Makefile.am): Likewise.
7242         * modules/dirent (Depends-on, Makefile.am): Likewise.
7243         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
7244         * modules/inttypes (Depends-on, Makefile.am): Likewise.
7245         * modules/langinfo (Depends-on, Makefile.am): Likewise.
7246         * modules/locale (Depends-on, Makefile.am): Likewise.
7247         * modules/math (Depends-on, Makefile.am): Likewise.
7248         * modules/search (Depends-on, Makefile.am): Likewise.
7249         * modules/signal (Depends-on, Makefile.am): Likewise.
7250         * modules/spawn (Depends-on, Makefile.am): Likewise.
7251         * modules/stdlib (Depends-on, Makefile.am): Likewise.
7252         * modules/string (Depends-on, Makefile.am): Likewise.
7253         * modules/strings (Depends-on, Makefile.am): Likewise.
7254         * modules/sys_file (Depends-on, Makefile.am): Likewise.
7255         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
7256         * modules/sys_select (Depends-on, Makefile.am): Likewise.
7257         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
7258         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
7259         * modules/sys_times (Depends-on, Makefile.am): Likewise.
7260         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
7261         * modules/wchar (Depends-on, Makefile.am): Likewise.
7262         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
7263         should be poisoned.
7264         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
7265         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
7266         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
7267         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
7268         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
7269         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
7270         * m4/math_h.m4 (gl_MATH_H): Likewise.
7271         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
7272         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
7273         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
7274         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
7275         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
7276         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
7277         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
7278         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
7279         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
7280         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
7281         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
7282         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
7283         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
7284         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
7285         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
7286         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
7287         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
7288         GL_LINK_WARNING.
7289         * lib/ctype.in.h: Likewise.
7290         * lib/dirent.in.h: Likewise.
7291         * lib/fcntl.in.h: Likewise.
7292         * lib/inttypes.in.h: Likewise.
7293         * lib/langinfo.in.h: Likewise.
7294         * lib/locale.in.h: Likewise.
7295         * lib/math.in.h: Likewise.
7296         * lib/search.in.h: Likewise.
7297         * lib/signal.in.h: Likewise.
7298         * lib/spawn.in.h: Likewise.
7299         * lib/stdio.in.h: Likewise.
7300         * lib/stdlib.in.h: Likewise.
7301         * lib/string.in.h: Likewise.
7302         * lib/strings.in.h: Likewise.
7303         * lib/sys_file.in.h: Likewise.
7304         * lib/sys_ioctl.in.h: Likewise.
7305         * lib/sys_select.in.h: Likewise.
7306         * lib/sys_socket.in.h: Likewise.
7307         * lib/sys_stat.in.h: Likewise.
7308         * lib/sys_times.in.h: Likewise.
7309         * lib/sys_utsname.in.h: Likewise.
7310         * lib/unistd.in.h: Likewise.
7311         * lib/wchar.in.h: Likewise.
7312
7313 2010-01-20  Bruno Haible  <bruno@clisp.org>
7314
7315         Avoid duplicate -lm.
7316         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
7317         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
7318         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
7319         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
7320         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
7321         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
7322         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
7323         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
7324         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
7325         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
7326         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
7327         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
7328         Reported by Paolo Bonzini.
7329
7330 2010-01-19  Bruno Haible  <bruno@clisp.org>
7331
7332         langinfo, nl_langinfo: Relicense under LGPLv2+.
7333         * modules/langinfo (License): Change to LGPLv2+.
7334         * modules/nl_langinfo (License): Likewise.
7335         Patch by David Lutterkort <lutter@redhat.com>.
7336
7337 2010-01-19  Bruno Haible  <bruno@clisp.org>
7338
7339         Avoid compilation error with cc on OSF/1 5.1.
7340         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
7341         statement, not before.
7342         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
7343
7344 2010-01-18  Bruno Haible  <bruno@clisp.org>
7345
7346         Avoid a link error due to the __printf__ symbol.
7347         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
7348         and 2.6.x.
7349         (__format__, __printf__): Remove definitions.
7350         * lib/argp-fmtstream.h: Likewise.
7351         * lib/argp.h: Likewise.
7352         * lib/error.h: Likewise.
7353         * lib/vasnprintf.h: Likewise.
7354         * lib/xprintf.h: Likewise.
7355         * lib/xvasprintf.h: Likewise.
7356         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
7357
7358 2010-01-18  Bruno Haible  <bruno@clisp.org>
7359
7360         Tests for module 'tanl'.
7361         * modules/tanl-tests: New file.
7362         * tests/test-tanl.c: New file.
7363
7364         Tests for module 'sqrtl'.
7365         * modules/sqrtl-tests: New file.
7366         * tests/test-sqrtl.c: New file.
7367
7368         Tests for module 'sinl'.
7369         * modules/sinl-tests: New file.
7370         * tests/test-sinl.c: New file.
7371
7372         Tests for module 'logl'.
7373         * modules/logl-tests: New file.
7374         * tests/test-logl.c: New file.
7375
7376         Tests for module 'expl'.
7377         * modules/expl-tests: New file.
7378         * tests/test-expl.c: New file.
7379
7380         Tests for module 'cosl'.
7381         * modules/cosl-tests: New file.
7382         * tests/test-cosl.c: New file.
7383
7384         Tests for module 'atanl'.
7385         * modules/atanl-tests: New file.
7386         * tests/test-atanl.c: New file.
7387
7388         Tests for module 'asinl'.
7389         * modules/asinl-tests: New file.
7390         * tests/test-asinl.c: New file.
7391
7392         Tests for module 'acosl'.
7393         * modules/acosl-tests: New file.
7394         * tests/test-acosl.c: New file.
7395
7396         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
7397         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
7398         tanl): Use the standard gnulib idiom.
7399         * lib/cosl.c: Don't include trigl.c and sincosl.c.
7400         * lib/sinl.c: Likewise.
7401         * lib/tanl.c: Don't include trigl.c.
7402         (kernel_tanl): Make static.
7403         * lib/sincosl.c: Include trigl.h first.
7404         * lib/trigl.c: Likewise.
7405         * m4/acosl.m4: New file.
7406         * m4/asinl.m4: New file.
7407         * m4/atanl.m4: New file.
7408         * m4/cosl.m4: New file.
7409         * m4/expl.m4: New file.
7410         * m4/logl.m4: New file.
7411         * m4/sinl.m4: New file.
7412         * m4/sqrtl.m4: New file.
7413         * m4/tanl.m4: New file.
7414         * m4/mathl.m4: Remove file.
7415         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
7416         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
7417         Don't initialize GNULIB_MATHL.
7418         * modules/acosl: New file.
7419         * modules/asinl: New file.
7420         * modules/atanl: New file.
7421         * modules/cosl: New file.
7422         * modules/expl: New file.
7423         * modules/logl: New file.
7424         * modules/sinl: New file.
7425         * modules/sqrtl: New file.
7426         * modules/tanl: New file.
7427         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
7428         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
7429         substitute GNULIB_MATHL.
7430         * modules/mathl: Rewritten.
7431         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
7432         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
7433         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
7434         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
7435         * doc/posix-functions/expl.texi: Mention the 'expl' module.
7436         * doc/posix-functions/logl.texi: Mention the 'logl' module.
7437         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
7438         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
7439         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
7440
7441 2010-01-18  Bruno Haible  <bruno@clisp.org>
7442
7443         sqrt: Make gl_FUNC_SQRT requirable.
7444         * m4/sqrt.m4: New file.
7445         * modules/sqrt (Files): Add it.
7446         (configure.ac): Invoke gl_FUNC_SQRT.
7447
7448 2010-01-18  Bruno Haible  <bruno@clisp.org>
7449
7450         New modules for common <math.h> functions.
7451         * m4/mathfunc.m4: New file.
7452         * modules/acos: New file.
7453         * modules/asin: New file.
7454         * modules/atan: New file.
7455         * modules/atan2: New file.
7456         * modules/cbrt: New file.
7457         * modules/copysign: New file.
7458         * modules/cos: New file.
7459         * modules/cosh: New file.
7460         * modules/erf: New file.
7461         * modules/erfc: New file.
7462         * modules/exp: New file.
7463         * modules/fabs: New file.
7464         * modules/fmod: New file.
7465         * modules/hypot: New file.
7466         * modules/j0: New file.
7467         * modules/j1: New file.
7468         * modules/jn: New file.
7469         * modules/ldexp: New file.
7470         * modules/lgamma: New file.
7471         * modules/log: New file.
7472         * modules/log10: New file.
7473         * modules/log1p: New file.
7474         * modules/logb: New file.
7475         * modules/modf: New file.
7476         * modules/nextafter: New file.
7477         * modules/pow: New file.
7478         * modules/remainder: New file.
7479         * modules/rint: New file.
7480         * modules/sin: New file.
7481         * modules/sinh: New file.
7482         * modules/sqrt: New file.
7483         * modules/tan: New file.
7484         * modules/tanh: New file.
7485         * modules/y0: New file.
7486         * modules/y1: New file.
7487         * modules/yn: New file.
7488         * doc/posix-functions/acos.texi: Mention the 'acos' module.
7489         * doc/posix-functions/asin.texi: Mention the 'asin' module.
7490         * doc/posix-functions/atan.texi: Mention the 'atan' module.
7491         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
7492         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
7493         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
7494         * doc/posix-functions/cos.texi: Mention the 'cos' module.
7495         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
7496         * doc/posix-functions/erf.texi: Mention the 'erf' module.
7497         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
7498         * doc/posix-functions/exp.texi: Mention the 'exp' module.
7499         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
7500         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
7501         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
7502         * doc/posix-functions/j0.texi: Mention the 'j0' module.
7503         * doc/posix-functions/j1.texi: Mention the 'j1' module.
7504         * doc/posix-functions/jn.texi: Mention the 'jn' module.
7505         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
7506         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
7507         * doc/posix-functions/log.texi: Mention the 'log' module.
7508         * doc/posix-functions/log10.texi: Mention the 'log10' module.
7509         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
7510         * doc/posix-functions/logb.texi: Mention the 'logb' module.
7511         * doc/posix-functions/modf.texi: Mention the 'modf' module.
7512         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
7513         * doc/posix-functions/pow.texi: Mention the 'pow' module.
7514         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
7515         * doc/posix-functions/rint.texi: Mention the 'rint' module.
7516         * doc/posix-functions/sin.texi: Mention the 'sin' module.
7517         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
7518         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
7519         * doc/posix-functions/tan.texi: Mention the 'tan' module.
7520         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
7521         * doc/posix-functions/y0.texi: Mention the 'y0' module.
7522         * doc/posix-functions/y1.texi: Mention the 'y1' module.
7523         * doc/posix-functions/yn.texi: Mention the 'yn' module.
7524
7525 2010-01-18  Jim Meyering  <meyering@redhat.com>
7526
7527         ignore-value: relax license to LGPLv2+
7528         * modules/ignore-value (License): Relax to LGPLv2+.
7529
7530         getdate: don't leak when TZ contains two or more '"'s
7531         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
7532         double quote in TZ after the first one.
7533
7534         readtokens: do not leak internal token_lengths buffer
7535         * lib/readtokens.c (readtokens): Free the local, lengths,
7536         when the supplied "token_lengths" parameter is NULL.
7537
7538 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7539
7540         Fix a couple of missing LIBTHREAD link failures on AIX.
7541         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
7542         $(LIBTHREAD).
7543         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
7544
7545         Link test-poll against INET_PTON_LIB.
7546         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
7547         for inet_pton on Solaris 10.
7548
7549 2010-01-17  Bruno Haible  <bruno@clisp.org>
7550
7551         unistdio/*-sprintf: Fix typo in module description.
7552         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
7553         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
7554         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
7555         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
7556         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
7557         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
7558         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
7559         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
7560
7561 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7562
7563         gnulib-tool: fix filelist for AIX, HP-UX ksh.
7564         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
7565         variables in shell case patterns, for AIX and HP-UX ksh.
7566
7567         Split large sed scripts, for HP-UX sed.
7568         * modules/stdio: Split sed scripts around 50 sed commands,
7569         to avoid HP-UX limit of 99 commands, in the near future.
7570         * modules/string: Likewise.
7571         * modules/unistd: Likewise.
7572
7573         gnulib-tool: avoid writing in the current directory.
7574         * gnulib-tool (func_emit_lib_Makefile_am)
7575         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
7576         not in the current directory, so concurrent gnulib-tool
7577         instances do not interfere.
7578
7579 2010-01-16  Jim Meyering  <meyering@redhat.com>
7580
7581         doc: update users.txt
7582         * users.txt: Add grep.
7583         (diffutils, gzip): Update URLs.
7584
7585 2010-01-12  Bruno Haible  <bruno@clisp.org>
7586
7587         posix_spawn: Avoid test failure on Cygwin.
7588         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
7589         characters.
7590         Reported by Simon Josefsson.
7591
7592 2010-01-12  Bruno Haible  <bruno@clisp.org>
7593
7594         * tests/test-cond.c (main): When skipping the test, show the reason.
7595
7596 2010-01-12  Simon Josefsson  <simon@josefsson.org>
7597
7598         * lib/striconv.c (str_cd_iconv): Avoid if before free.
7599
7600 2010-01-12  Simon Josefsson  <simon@josefsson.org>
7601
7602         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
7603         VC_LIST_ALWAYS_EXCLUDE_REGEX.
7604
7605 2010-01-12  Eric Blake  <ebb9@byu.net>
7606
7607         build: guarantee AS_VAR_IF
7608         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
7609         (gl_AS_VAR_IF): Move...
7610         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
7611         Reported by Simon Josefsson.
7612
7613 2010-01-12  Simon Josefsson  <simon@josefsson.org>
7614
7615         * lib/stdio.in.h: Fix typo.
7616
7617 2010-01-12  Simon Josefsson  <simon@josefsson.org>
7618
7619         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
7620         libgpg-error.
7621
7622 2010-01-12  Simon Josefsson  <simon@josefsson.org>
7623
7624         * tests/test-xalloc-die.sh: Use $EXEEXT.
7625
7626 2010-01-12  Simon Josefsson  <simon@josefsson.org>
7627             Bruno Haible  <bruno@clisp.org>
7628
7629         getlogin, getlogin_r: Avoid test failure.
7630         * tests/test-getlogin.c: Include <stdio.h>.
7631         (main): Skip the test when the function fails because stdin is not a
7632         tty.
7633         * tests/test-getlogin_r.c: Include <stdio.h>.
7634         (main): Skip the test when the function fails because stdin is not a
7635         tty.
7636
7637 2010-01-11  Eric Blake  <ebb9@byu.net>
7638
7639         tests: avoid more large file warnings
7640         * tests/test-fflush.c: Avoid warning about ftell use.
7641         * tests/test-fseek.c: Avoid warning about fseek use.
7642
7643 2010-01-10  Bruno Haible  <bruno@clisp.org>
7644
7645         nproc: Work better on Linux when /proc and /sys are not mounted.
7646         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
7647         as lower bound when, on glibc/Linux systems,
7648         sysconf (_SC_NPROCESSORS_CONF) returns 1.
7649         Suggested by Pádraig Brady <P@draigbrady.com>.
7650         Reported by Dmitry V. Levin <ldv@altlinux.org>.
7651
7652         nproc: Refactor.
7653         * lib/nproc.c (num_processors_via_affinity_mask): New function,
7654         extracted from num_processors.
7655         (num_processors): Call it.
7656
7657 2010-01-11  Jim Meyering  <meyering@redhat.com>
7658
7659         utimecmp: avoid new warning from upcoming gcc-4.5.0
7660         * lib/utimecmp.c (BILLION): Define using #define rather than an
7661         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
7662
7663 2010-01-11  Eric Blake  <ebb9@byu.net>
7664
7665         math: add portability warnings for classification macros
7666         * modules/math (Depends-on): Add warn-on-use.
7667         (Makefile.am): Provide new substitutions.
7668         * m4/math_h.m4 (gl_MATH_H): Require inline.
7669         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
7670         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
7671         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
7672         implement warnings.
7673
7674         unistd: warn on use of environ without module
7675         * modules/unistd (Depends-on): Add warn-on-use.
7676         (Makefile.am): Provide new substitutions.
7677         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
7678         * lib/unistd.in.h (environ): Wrap with a warning helper function.
7679
7680         stdio: warn on suspicious uses
7681         * modules/stdio (Depends-on): Add warn-on-use.
7682         (Makefile.am): Provide new substitutions.
7683         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
7684         fseeko.
7685         * lib/stdio.in.h (gets): Always warn on use.
7686         (fseek, ftell): Adjust when warnings are issued, and honor
7687         _GL_NO_LARGE_FILES as a way to silence the warning.
7688         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
7689         any warning about large file offsets.
7690         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
7691         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
7692         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
7693         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
7694         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
7695         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
7696         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
7697         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
7698
7699         warn-on-use: new module
7700         * modules/warn-on-use: New file.
7701         * build-aux/warn-on-use.h: Likewise.
7702         * m4/warn-on-use.m4: Likewise.
7703         * MODULES.html.sh (Support for building): Mention it.
7704
7705 2010-01-10  Bruno Haible  <bruno@clisp.org>
7706
7707         Tests for module 'unistr/u32-strdup'.
7708         * modules/unistr/u32-strdup-tests: New file.
7709         * tests/unistr/test-u32-strdup.c: New file.
7710
7711         Tests for module 'unistr/u16-strdup'.
7712         * modules/unistr/u16-strdup-tests: New file.
7713         * tests/unistr/test-u16-strdup.c: New file.
7714
7715         Tests for module 'unistr/u8-strdup'.
7716         * modules/unistr/u8-strdup-tests: New file.
7717         * tests/unistr/test-u8-strdup.c: New file.
7718         * tests/unistr/test-strdup.h: New file.
7719
7720         Tests for module 'unistr/u32-strncmp'.
7721         * modules/unistr/u32-strncmp-tests: New file.
7722         * tests/unistr/test-u32-strncmp.c: New file.
7723
7724         Tests for module 'unistr/u16-strncmp'.
7725         * modules/unistr/u16-strncmp-tests: New file.
7726         * tests/unistr/test-u16-strncmp.c: New file.
7727
7728         Tests for module 'unistr/u8-strncmp'.
7729         * modules/unistr/u8-strncmp-tests: New file.
7730         * tests/unistr/test-u8-strncmp.c: New file.
7731         * tests/unistr/test-strncmp.h: New file.
7732
7733         Tests for module 'unistr/u32-strcoll'.
7734         * modules/unistr/u32-strcoll-tests: New file.
7735         * tests/unistr/test-u32-strcoll.c: New file.
7736
7737         Tests for module 'unistr/u16-strcoll'.
7738         * modules/unistr/u16-strcoll-tests: New file.
7739         * tests/unistr/test-u16-strcoll.c: New file.
7740
7741         Tests for module 'unistr/u8-strcoll'.
7742         * modules/unistr/u8-strcoll-tests: New file.
7743         * tests/unistr/test-u8-strcoll.c: New file.
7744
7745         Tests for module 'unistr/u32-strcmp'.
7746         * modules/unistr/u32-strcmp-tests: New file.
7747         * tests/unistr/test-u32-strcmp.c: New file.
7748         * tests/unistr/test-u32-strcmp.h: New file.
7749
7750         Tests for module 'unistr/u16-strcmp'.
7751         * modules/unistr/u16-strcmp-tests: New file.
7752         * tests/unistr/test-u16-strcmp.c: New file.
7753         * tests/unistr/test-u16-strcmp.h: New file.
7754
7755         Tests for module 'unistr/u8-strcmp'.
7756         * modules/unistr/u8-strcmp-tests: New file.
7757         * tests/unistr/test-u8-strcmp.c: New file.
7758         * tests/unistr/test-u8-strcmp.h: New file.
7759         * tests/unistr/test-strcmp.h: New file.
7760
7761         Tests for module 'unistr/u32-strncat'.
7762         * modules/unistr/u32-strncat-tests: New file.
7763         * tests/unistr/test-u32-strncat.c: New file.
7764
7765         Tests for module 'unistr/u16-strncat'.
7766         * modules/unistr/u16-strncat-tests: New file.
7767         * tests/unistr/test-u16-strncat.c: New file.
7768
7769         Tests for module 'unistr/u8-strncat'.
7770         * modules/unistr/u8-strncat-tests: New file.
7771         * tests/unistr/test-u8-strncat.c: New file.
7772         * tests/unistr/test-strncat.h: New file.
7773
7774         Tests for module 'unistr/u32-strcat'.
7775         * modules/unistr/u32-strcat-tests: New file.
7776         * tests/unistr/test-u32-strcat.c: New file.
7777
7778         Tests for module 'unistr/u16-strcat'.
7779         * modules/unistr/u16-strcat-tests: New file.
7780         * tests/unistr/test-u16-strcat.c: New file.
7781
7782         Tests for module 'unistr/u8-strcat'.
7783         * modules/unistr/u8-strcat-tests: New file.
7784         * tests/unistr/test-u8-strcat.c: New file.
7785         * tests/unistr/test-strcat.h: New file.
7786
7787         Tests for module 'unistr/u32-stpncpy'.
7788         * modules/unistr/u32-stpncpy-tests: New file.
7789         * tests/unistr/test-u32-stpncpy.c: New file.
7790
7791         Tests for module 'unistr/u16-stpncpy'.
7792         * modules/unistr/u16-stpncpy-tests: New file.
7793         * tests/unistr/test-u16-stpncpy.c: New file.
7794
7795         Tests for module 'unistr/u8-stpncpy'.
7796         * modules/unistr/u8-stpncpy-tests: New file.
7797         * tests/unistr/test-u8-stpncpy.c: New file.
7798         * tests/unistr/test-stpncpy.h: New file.
7799
7800         Tests for module 'unistr/u32-strncpy'.
7801         * modules/unistr/u32-strncpy-tests: New file.
7802         * tests/unistr/test-u32-strncpy.c: New file.
7803
7804         Tests for module 'unistr/u16-strncpy'.
7805         * modules/unistr/u16-strncpy-tests: New file.
7806         * tests/unistr/test-u16-strncpy.c: New file.
7807
7808         Tests for module 'unistr/u8-strncpy'.
7809         * modules/unistr/u8-strncpy-tests: New file.
7810         * tests/unistr/test-u8-strncpy.c: New file.
7811         * tests/unistr/test-strncpy.h: New file.
7812
7813         Tests for module 'unistr/u32-stpcpy'.
7814         * modules/unistr/u32-stpcpy-tests: New file.
7815         * tests/unistr/test-u32-stpcpy.c: New file.
7816
7817         Tests for module 'unistr/u16-stpcpy'.
7818         * modules/unistr/u16-stpcpy-tests: New file.
7819         * tests/unistr/test-u16-stpcpy.c: New file.
7820
7821         Tests for module 'unistr/u8-stpcpy'.
7822         * modules/unistr/u8-stpcpy-tests: New file.
7823         * tests/unistr/test-u8-stpcpy.c: New file.
7824         * tests/unistr/test-stpcpy.h: New file.
7825
7826         Tests for module 'unistr/u32-strcpy'.
7827         * modules/unistr/u32-strcpy-tests: New file.
7828         * tests/unistr/test-u32-strcpy.c: New file.
7829
7830         Tests for module 'unistr/u16-strcpy'.
7831         * modules/unistr/u16-strcpy-tests: New file.
7832         * tests/unistr/test-u16-strcpy.c: New file.
7833
7834         Tests for module 'unistr/u8-strcpy'.
7835         * modules/unistr/u8-strcpy-tests: New file.
7836         * tests/unistr/test-u8-strcpy.c: New file.
7837         * tests/unistr/test-strcpy.h: New file.
7838
7839         Tests for module 'unistr/u32-strnlen'.
7840         * modules/unistr/u32-strnlen-tests: New file.
7841         * tests/unistr/test-u32-strnlen.c: New file.
7842
7843         Tests for module 'unistr/u16-strnlen'.
7844         * modules/unistr/u16-strnlen-tests: New file.
7845         * tests/unistr/test-u16-strnlen.c: New file.
7846
7847         Tests for module 'unistr/u8-strnlen'.
7848         * modules/unistr/u8-strnlen-tests: New file.
7849         * tests/unistr/test-u8-strnlen.c: New file.
7850         * tests/unistr/test-strnlen.h: New file.
7851
7852         Tests for module 'unistr/u32-strlen'.
7853         * modules/unistr/u32-strlen-tests: New file.
7854         * tests/unistr/test-u32-strlen.c: New file.
7855
7856         Tests for module 'unistr/u16-strlen'.
7857         * modules/unistr/u16-strlen-tests: New file.
7858         * tests/unistr/test-u16-strlen.c: New file.
7859
7860         Tests for module 'unistr/u8-strlen'.
7861         * modules/unistr/u8-strlen-tests: New file.
7862         * tests/unistr/test-u8-strlen.c: New file.
7863
7864         Tests for module 'unistr/u32-prev'.
7865         * modules/unistr/u32-prev-tests: New file.
7866         * tests/unistr/test-u32-prev.c: New file.
7867
7868         Tests for module 'unistr/u16-prev'.
7869         * modules/unistr/u16-prev-tests: New file.
7870         * tests/unistr/test-u16-prev.c: New file.
7871
7872         Tests for module 'unistr/u8-prev'.
7873         * modules/unistr/u8-prev-tests: New file.
7874         * tests/unistr/test-u8-prev.c: New file.
7875
7876         Tests for module 'unistr/u32-next'.
7877         * modules/unistr/u32-next-tests: New file.
7878         * tests/unistr/test-u32-next.c: New file.
7879
7880         Tests for module 'unistr/u16-next'.
7881         * modules/unistr/u16-next-tests: New file.
7882         * tests/unistr/test-u16-next.c: New file.
7883
7884         Tests for module 'unistr/u8-next'.
7885         * modules/unistr/u8-next-tests: New file.
7886         * tests/unistr/test-u8-next.c: New file.
7887
7888         Tests for module 'unistr/u32-strmbtouc'.
7889         * modules/unistr/u32-strmbtouc-tests: New file.
7890         * tests/unistr/test-u32-strmbtouc.c: New file.
7891
7892         Tests for module 'unistr/u16-strmbtouc'.
7893         * modules/unistr/u16-strmbtouc-tests: New file.
7894         * tests/unistr/test-u16-strmbtouc.c: New file.
7895
7896         Tests for module 'unistr/u8-strmbtouc'.
7897         * modules/unistr/u8-strmbtouc-tests: New file.
7898         * tests/unistr/test-u8-strmbtouc.c: New file.
7899
7900         Tests for module 'unistr/u32-strmblen'.
7901         * modules/unistr/u32-strmblen-tests: New file.
7902         * tests/unistr/test-u32-strmblen.c: New file.
7903
7904         Tests for module 'unistr/u16-strmblen'.
7905         * modules/unistr/u16-strmblen-tests: New file.
7906         * tests/unistr/test-u16-strmblen.c: New file.
7907
7908         Tests for module 'unistr/u8-strmblen'.
7909         * modules/unistr/u8-strmblen-tests: New file.
7910         * tests/unistr/test-u8-strmblen.c: New file.
7911
7912         Tests for module 'unistr/u32-cpy-alloc'.
7913         * modules/unistr/u32-cpy-alloc-tests: New file.
7914         * tests/unistr/test-u32-cpy-alloc.c: New file.
7915
7916         Tests for module 'unistr/u16-cpy-alloc'.
7917         * modules/unistr/u16-cpy-alloc-tests: New file.
7918         * tests/unistr/test-u16-cpy-alloc.c: New file.
7919
7920         Tests for module 'unistr/u8-cpy-alloc'.
7921         * modules/unistr/u8-cpy-alloc-tests: New file.
7922         * tests/unistr/test-u8-cpy-alloc.c: New file.
7923         * tests/unistr/test-cpy-alloc.h: New file.
7924
7925         Tests for module 'unistr/u32-mbsnlen'.
7926         * modules/unistr/u32-mbsnlen-tests: New file.
7927         * tests/unistr/test-u32-mbsnlen.c: New file.
7928
7929         Tests for module 'unistr/u16-mbsnlen'.
7930         * modules/unistr/u16-mbsnlen-tests: New file.
7931         * tests/unistr/test-u16-mbsnlen.c: New file.
7932
7933         Tests for module 'unistr/u8-mbsnlen'.
7934         * modules/unistr/u8-mbsnlen-tests: New file.
7935         * tests/unistr/test-u8-mbsnlen.c: New file.
7936
7937         Tests for module 'unistr/u32-chr'.
7938         * modules/unistr/u32-chr-tests: New file.
7939         * tests/unistr/test-u32-chr.c: New file.
7940
7941         Tests for module 'unistr/u16-chr'.
7942         * modules/unistr/u16-chr-tests: New file.
7943         * tests/unistr/test-u16-chr.c: New file.
7944
7945         Tests for module 'unistr/u8-chr'.
7946         * modules/unistr/u8-chr-tests: New file.
7947         * tests/unistr/test-u8-chr.c: New file.
7948         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
7949
7950         Tests for module 'unistr/u32-cmp2'.
7951         * modules/unistr/u32-cmp2-tests: New file.
7952         * tests/unistr/test-u32-cmp2.c: New file.
7953
7954         Tests for module 'unistr/u16-cmp2'.
7955         * modules/unistr/u16-cmp2-tests: New file.
7956         * tests/unistr/test-u16-cmp2.c: New file.
7957
7958         Tests for module 'unistr/u8-cmp2'.
7959         * modules/unistr/u8-cmp2-tests: New file.
7960         * tests/unistr/test-u8-cmp2.c: New file.
7961         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
7962
7963         Tests for module 'unistr/u32-cmp'.
7964         * modules/unistr/u32-cmp-tests: New file.
7965         * tests/unistr/test-u32-cmp.c: New file.
7966
7967         Tests for module 'unistr/u16-cmp'.
7968         * modules/unistr/u16-cmp-tests: New file.
7969         * tests/unistr/test-u16-cmp.c: New file.
7970
7971         Tests for module 'unistr/u8-cmp'.
7972         * modules/unistr/u8-cmp-tests: New file.
7973         * tests/unistr/test-u8-cmp.c: New file.
7974         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
7975
7976         Tests for module 'unistr/u32-set'.
7977         * modules/unistr/u32-set-tests: New file.
7978         * tests/unistr/test-u32-set.c: New file.
7979
7980         Tests for module 'unistr/u16-set'.
7981         * modules/unistr/u16-set-tests: New file.
7982         * tests/unistr/test-u16-set.c: New file.
7983
7984         Tests for module 'unistr/u8-set'.
7985         * modules/unistr/u8-set-tests: New file.
7986         * tests/unistr/test-u8-set.c: New file.
7987         * tests/unistr/test-set.h: New file.
7988
7989         Tests for module 'unistr/u32-move'.
7990         * modules/unistr/u32-move-tests: New file.
7991         * tests/unistr/test-u32-move.c: New file.
7992
7993         Tests for module 'unistr/u16-move'.
7994         * modules/unistr/u16-move-tests: New file.
7995         * tests/unistr/test-u16-move.c: New file.
7996
7997         Tests for module 'unistr/u8-move'.
7998         * modules/unistr/u8-move-tests: New file.
7999         * tests/unistr/test-u8-move.c: New file.
8000         * tests/unistr/test-move.h: New file.
8001
8002         Tests for module 'unistr/u32-cpy'.
8003         * modules/unistr/u32-cpy-tests: New file.
8004         * tests/unistr/test-u32-cpy.c: New file.
8005
8006         Tests for module 'unistr/u16-cpy'.
8007         * modules/unistr/u16-cpy-tests: New file.
8008         * tests/unistr/test-u16-cpy.c: New file.
8009
8010         Tests for module 'unistr/u8-cpy'.
8011         * modules/unistr/u8-cpy-tests: New file.
8012         * tests/unistr/test-u8-cpy.c: New file.
8013         * tests/unistr/test-cpy.h: New file.
8014
8015 2010-01-09  Bruno Haible  <bruno@clisp.org>
8016
8017         Tests for module 'unistr/u32-uctomb'.
8018         * modules/unistr/u32-uctomb-tests: New file.
8019         * tests/unistr/test-u32-uctomb.c: New file.
8020
8021         Tests for module 'unistr/u16-uctomb'.
8022         * modules/unistr/u16-uctomb-tests: New file.
8023         * tests/unistr/test-u16-uctomb.c: New file.
8024
8025         Tests for module 'unistr/u8-uctomb'.
8026         * modules/unistr/u8-uctomb-tests: New file.
8027         * tests/unistr/test-u8-uctomb.c: New file.
8028
8029         Tests for module 'unistr/u32-mbtoucr'.
8030         * modules/unistr/u32-mbtoucr-tests: New file.
8031         * tests/unistr/test-u32-mbtoucr.c: New file.
8032
8033         Tests for module 'unistr/u16-mbtoucr'.
8034         * modules/unistr/u16-mbtoucr-tests: New file.
8035         * tests/unistr/test-u16-mbtoucr.c: New file.
8036
8037         Tests for module 'unistr/u8-mbtoucr'.
8038         * modules/unistr/u8-mbtoucr-tests: New file.
8039         * tests/unistr/test-u8-mbtoucr.c: New file.
8040
8041         Tests for module 'unistr/u32-mbtouc'.
8042         * modules/unistr/u32-mbtouc-tests: New file.
8043         * tests/unistr/test-u32-mbtouc.c: New file.
8044
8045         Tests for module 'unistr/u16-mbtouc'.
8046         * modules/unistr/u16-mbtouc-tests: New file.
8047         * tests/unistr/test-u16-mbtouc.c: New file.
8048
8049         Tests for module 'unistr/u8-mbtouc'.
8050         * modules/unistr/u8-mbtouc-tests: New file.
8051         * tests/unistr/test-u8-mbtouc.c: New file.
8052
8053         Tests for module 'unistr/u32-mbtouc-unsafe'.
8054         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
8055         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
8056         * tests/unistr/test-u32-mbtouc.h: New file.
8057
8058         Tests for module 'unistr/u16-mbtouc-unsafe'.
8059         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
8060         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
8061         * tests/unistr/test-u16-mbtouc.h: New file.
8062
8063         Tests for module 'unistr/u8-mbtouc-unsafe'.
8064         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
8065         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
8066         * tests/unistr/test-u8-mbtouc.h: New file.
8067
8068         Tests for module 'unistr/u32-mblen'.
8069         * modules/unistr/u32-mblen-tests: New file.
8070         * tests/unistr/test-u32-mblen.c: New file.
8071
8072         Tests for module 'unistr/u16-mblen'.
8073         * modules/unistr/u16-mblen-tests: New file.
8074         * tests/unistr/test-u16-mblen.c: New file.
8075
8076         Tests for module 'unistr/u8-mblen'.
8077         * modules/unistr/u8-mblen-tests: New file.
8078         * tests/unistr/test-u8-mblen.c: New file.
8079
8080         Tests for module 'unistr/u32-to-u16'.
8081         * modules/unistr/u32-to-u16-tests: New file.
8082         * tests/unistr/test-u32-to-u16.c: New file.
8083
8084         Tests for module 'unistr/u32-to-u8'.
8085         * modules/unistr/u32-to-u8-tests: New file.
8086         * tests/unistr/test-u32-to-u8.c: New file.
8087
8088         Tests for module 'unistr/u16-to-u32'.
8089         * modules/unistr/u16-to-u32-tests: New file.
8090         * tests/unistr/test-u16-to-u32.c: New file.
8091
8092         Tests for module 'unistr/u16-to-u8'.
8093         * modules/unistr/u16-to-u8-tests: New file.
8094         * tests/unistr/test-u16-to-u8.c: New file.
8095
8096         Tests for module 'unistr/u8-to-u32'.
8097         * modules/unistr/u8-to-u32-tests: New file.
8098         * tests/unistr/test-u8-to-u32.c: New file.
8099
8100         Tests for module 'unistr/u8-to-u16'.
8101         * modules/unistr/u8-to-u16-tests: New file.
8102         * tests/unistr/test-u8-to-u16.c: New file.
8103
8104         Tests for module 'unistr/u32-check'.
8105         * modules/unistr/u32-check-tests: New file.
8106         * tests/unistr/test-u32-check.c: New file.
8107
8108         Tests for module 'unistr/u16-check'.
8109         * modules/unistr/u16-check-tests: New file.
8110         * tests/unistr/test-u16-check.c: New file.
8111
8112         Tests for module 'unistr/u8-check'.
8113         * modules/unistr/u8-check-tests: New file.
8114         * tests/unistr/test-u8-check.c: New file.
8115
8116         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
8117         (category_equals): New function.
8118         (main): Add more tests.
8119         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
8120
8121         * tests/unictype/test-bidi_byname.c (main): Add more tests.
8122
8123 2010-01-10  Bruno Haible  <bruno@clisp.org>
8124
8125         unistr/u*-strcoll: Try harder to distinguish different strings.
8126         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
8127         compare s1 and s2 to see if they are different.
8128
8129 2010-01-10  Bruno Haible  <bruno@clisp.org>
8130
8131         unistr/u*-stpncpy: Fix the return value.
8132         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
8133         description of the return value consistent with stpncpy in glibc.
8134         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
8135         written non-NUL unit.
8136
8137 2010-01-10  Bruno Haible  <bruno@clisp.org>
8138
8139         unistr/u*-next: Add missing dependencies.
8140         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
8141         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
8142         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
8143
8144 2010-01-10  Bruno Haible  <bruno@clisp.org>
8145
8146         unistr/u8-mbsnlen: Fix return value for incomplete character.
8147         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
8148         u8_mblen.
8149         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
8150         Remove unistr/u8-mblen.
8151         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
8152         u16_mblen.
8153         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
8154         Remove unistr/u16-mblen.
8155
8156 2010-01-10  Bruno Haible  <bruno@clisp.org>
8157
8158         wchar: Fix compilation error when <wchar.h> is used from coreutils.
8159         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
8160         Reported by Brian Gough <bjg@gnu.org> and
8161         Chris Clayton <chris2553@googlemail.com> via
8162         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
8163
8164 2010-01-09  Bruno Haible  <bruno@clisp.org>
8165
8166         unistr/u16-to-u32: Reject invalid input.
8167         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
8168         u16_mbtouc.
8169         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
8170         Remove unistr/u16-mbtouc.
8171
8172         unistr/u16-to-u8: Reject invalid input.
8173         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
8174         u16_mbtouc.
8175         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
8176         Remove unistr/u16-mbtouc.
8177
8178         unistr/u8-to-u32: Reject invalid input.
8179         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
8180         u8_mbtouc.
8181         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
8182         Remove unistr/u8-mbtouc.
8183
8184         unistr/u8-to-u16: Reject invalid input.
8185         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
8186         u8_mbtouc.
8187         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
8188         Remove unistr/u8-mbtouc.
8189
8190 2010-01-09  Bruno Haible  <bruno@clisp.org>
8191
8192         Tests for module 'getlogin'.
8193         * modules/getlogin-tests: New file.
8194         * tests/test-getlogin.c: New file.
8195
8196         New module 'getlogin'.
8197         * lib/unistd.in.h (getlogin): New declaration.
8198         * lib/getlogin.c: New file.
8199         * m4/getlogin.m4: New file.
8200         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
8201         HAVE_GETLOGIN.
8202         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
8203         HAVE_GETLOGIN.
8204         * modules/getlogin: New file.
8205         * doc/posix-functions/getlogin.texi: Mention the new module.
8206         Reported by John W. Eaton <jwe@gnu.org>.
8207
8208 2010-01-09  Bruno Haible  <bruno@clisp.org>
8209
8210         getlogin_r: Support for native Windows.
8211         * lib/getlogin_r.c: Include <windows.h>
8212         (getlogin_r): Implement for native Windows.
8213         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
8214         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
8215         via John W. Eaton <jwe@gnu.org>.
8216
8217 2010-01-09  Bruno Haible  <bruno@clisp.org>
8218
8219         getlogin_r: Small fixes.
8220         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
8221         succeeds.
8222         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
8223         before testing whether getlogin_r is declared. No need to set
8224         HAVE_DECL_GETLOGIN_R to 1.
8225         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
8226
8227 2010-01-09  Bruno Haible  <bruno@clisp.org>
8228
8229         * lib/unistd.in.h (getlogin_r): Add comment.
8230
8231 2010-01-09  Bruno Haible  <bruno@clisp.org>
8232
8233         Tests for module 'getlogin_r'.
8234         * modules/getlogin_r-tests: New file.
8235         * tests/test-getlogin_r.c: New file.
8236
8237 2010-01-09  Jim Meyering  <meyering@redhat.com>
8238
8239         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
8240         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
8241         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
8242
8243 2010-01-08  Simon Josefsson  <simon@josefsson.org>
8244
8245         * lib/dup2.c (rpl_dup2): Improve comment.
8246
8247 2010-01-08  Eric Blake  <ebb9@byu.net>
8248
8249         maint.mk: allow packages to add makefile @@ exceptions
8250         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
8251         (sc_makefile_check): Rename...
8252         (sc_makefile_at_at_check): ...to this, and use hook.
8253
8254         dup2: work around mingw bug
8255         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
8256         Reported by Simon Josefsson.
8257
8258 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
8259
8260         glob: Fix C++ compilation.
8261         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
8262         C++.
8263
8264 2010-01-07  Bruno Haible  <bruno@clisp.org>
8265
8266         Fix indentation of wctype.in.h, broken since 2007-01-06.
8267         * lib/wctype.in.h: Fix indentation of preprocessor directives.
8268
8269 2010-01-07  Bruno Haible  <bruno@clisp.org>
8270
8271         mbslen: Avoid collision with system function.
8272         * lib/string.in.h [MirBSD]: Include <wchar.h>.
8273         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
8274         * m4/mbslen.m4: New file.
8275         * modules/mbslen (Files): Add it.
8276         (configure.ac): Invoke gl_MBSLEN.
8277         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
8278         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
8279         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
8280         via Ian Beckwith <ianb@erislabs.net>.
8281
8282 2010-01-07  Bruno Haible  <bruno@clisp.org>
8283
8284         dirent: Document the last fix.
8285         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
8286
8287 2010-01-07  Bruno Haible  <bruno@clisp.org>
8288
8289         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
8290         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
8291         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
8292         va_list are defined.
8293         * doc/posix-headers/stdio.texi: Document the bug of missing types.
8294         Reported by Eric Blake.
8295
8296 2010-01-07  Bruno Haible  <bruno@clisp.org>
8297
8298         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
8299         * modules/xlist (Depends-on): Add 'list',
8300         * modules/xoset (Depends-on): Add 'oset'.
8301         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8302
8303 2010-01-07  Bruno Haible  <bruno@clisp.org>
8304
8305         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
8306         * doc/posix-functions/strncasecmp.texi: Likewise.
8307
8308 2010-01-07  Bruno Haible  <bruno@clisp.org>
8309
8310         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
8311
8312 2010-01-07  John W. Eaton  <jwe@octave.org>
8313
8314         wctype: allow C++ use
8315         * lib/wctype.in.h: Add extern "C" block for C++.
8316
8317 2010-01-06  Eric Blake  <ebb9@byu.net>
8318
8319         maint.mk: detect incorrect GFDL usage
8320         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
8321
8322 2010-01-06  Jim Meyering  <meyering@redhat.com>
8323         and Eric Blake  <ebb9@byu.net>
8324
8325         maint.mk: ignore multi-line copyright in NEWS
8326         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
8327
8328 2010-01-06  Eric Blake  <ebb9@byu.net>
8329
8330         select: add missing dependency
8331         * modules/select-tests (Depends-on): Move sockets dependency...
8332         * modules/select (Depends-on): ...here.
8333         Reported by Ian Beckwith.
8334
8335         doc: regenerate INSTALL
8336         * doc/INSTALL: Reflect recent autoconf update.
8337         * doc/INSTALL.ISO: Likewise.
8338         * doc/INSTALL.UTF-8: Likewise.
8339
8340         pread: fix compilation on glibc
8341         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
8342         Reported by Ralf Wildenhues.
8343
8344         dirent: fix test failure
8345         * lib/dirent.in.h (includes): Guarantee ino_t.
8346         Reported by Ralf Wildenhues.
8347
8348 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
8349
8350         linkat, renameat: avoid bad free
8351         * lib/at-func2.c (at_func2): Fix typo.
8352         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
8353
8354 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8355
8356         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
8357         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
8358         to avoid failure of symlink test later.
8359
8360 2010-01-06  Eric Blake  <ebb9@byu.net>
8361
8362         stdio, unistd: guarantee ssize_t
8363         * lib/unistd.in.h (includes): Ensure that types required by POSIX
8364         2008 are exposed when needed.
8365         * lib/stdio.in.h (includes): Likewise.
8366         Reported by Ralf Wildenhues.
8367
8368 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
8369
8370         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
8371         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
8372         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
8373
8374 2010-01-06  Jim Meyering  <meyering@redhat.com>
8375
8376         readtokens: this module *does* require xalloc.h
8377         It uses only functions that were omitted by the old syntax-check rule.
8378         * lib/readtokens.c: Include "xalloc.h" once again.
8379         * modules/readtokens (Depends-on): Add xalloc.
8380         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
8381
8382 2010-01-05  Eric Blake  <ebb9@byu.net>
8383
8384         maint: support 'make announcement' from a VPATH build
8385         * top/maint.mk (announcement): Look for correct NEWS file.
8386
8387 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
8388
8389         utimens (fdutimens): ignore a negative FD, per contract
8390         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
8391         when we have a valid file descriptor.  Otherwise, using a brand
8392         new glibc (with just-patched futimens that now fails with EBADF)
8393         would cause this function to fail with ENOSYS.
8394         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
8395         See also http://bugzilla.redhat.com/552320.
8396
8397 2010-01-05  Eric Blake  <ebb9@byu.net>
8398
8399         strcase: document what it provides
8400         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
8401         gnulib module.
8402         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
8403         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
8404
8405 2010-01-05  Jim Meyering  <meyering@redhat.com>
8406
8407         maint: remove useless inclusions of "xalloc.h"
8408         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
8409         * lib/readtokens.c: Likewise.
8410         * lib/same.c: Likewise.
8411         * modules/getloadavg (Depends-on): Remove xalloc.
8412         * modules/readtokens: Likewise.
8413         * modules/same: Likewise.
8414
8415         maint.mk: include 4 more function names in alloca.h-checking regexp
8416         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
8417         regexp.  Before, we would give a false-positive (saying alloca.h
8418         is included unnecessarily) when the only uses involved omitted symbols.
8419
8420         xalloc.h: use consistent formatting
8421         * lib/xalloc.h: Move declarations to start in the first column.
8422
8423 2010-01-05  Eric Blake  <ebb9@byu.net>
8424
8425         mkdir: avoid xalloc
8426         * lib/mkdir.c (includes): Drop unused header.
8427         Reported by John W. Eaton.
8428
8429 2010-01-04  Jim Meyering  <meyering@redhat.com>
8430
8431         nl_langinfo: avoid configure-time syntax error
8432         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
8433         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
8434         the empty string.  Don't let that provoke a shell syntax error.
8435
8436         regcomp, regexec, fnmatch: avoid array bounds read error
8437         * lib/regcomp.c (build_equiv_class): From glibc:
8438         Use only the low 24 bits of a findidx return value as an index
8439         into the weights array.  Patch by Ulrich Drepper:
8440         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
8441         * lib/regexec.c (check_node_accept_bytes): Likewise.
8442         * lib/fnmatch_loop.c (FCT): Likewise.
8443
8444         regcomp: skip collseq lookup when there are no rules
8445         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
8446         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
8447
8448         regcomp: recognize ill-formed { } expressions
8449         * lib/regcomp.c (parse_dup_op): From glibc:
8450         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
8451
8452         regcomp: fix typo in comment
8453         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
8454         s/satisfy/satisfies/.
8455
8456         regcomp: sync from glibc: remove dead store
8457         * lib/regcomp.c (duplicate_node_closure): Remove useless
8458         search_duplicated_node call and dead store.
8459
8460         regcomp: sync from glibc; always use nl_langinfo
8461         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
8462         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
8463         * modules/regex (Depends-on): Add nl_langinfo.
8464
8465 2010-01-04  Eric Blake  <ebb9@byu.net>
8466
8467         fdopendir: fix configure test
8468         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
8469
8470 2010-01-01  Bruno Haible  <bruno@clisp.org>
8471
8472         wchar: Remove unused configure check.
8473         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
8474
8475 2010-01-01  Eric Blake  <ebb9@byu.net>
8476
8477         headers: make check of system header explicit
8478         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
8479         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
8480         ourselves.
8481         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
8482         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
8483         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
8484         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
8485         internals.
8486         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
8487         missing.
8488         Suggested by Bruno Haible.
8489
8490 2010-01-01  Jim Meyering  <meyering@redhat.com>
8491
8492         ChangeLog: tweak to eliminate unnecessary copyright line
8493         * ChangeLog: Remove a copyright line that was mistakenly updated
8494         by today's update-copyright run.  Reported by Eric Blake.
8495
8496         test-update-copyright: don't let envvar setting cause test failure
8497         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
8498
8499 2010-01-01  Bruno Haible  <bruno@clisp.org>
8500
8501         localename: Avoid gcc warning.
8502         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
8503         function if it is not used.
8504
8505 2010-01-01  Jim Meyering  <meyering@redhat.com>
8506
8507         update nearly all FSF copyright year lists to include 2010
8508         Use the same procedure as for 2009, outlined in
8509         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
8510
8511         version-etc: set COPYRIGHT_YEAR to 2010
8512         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
8513
8514 2009-12-31  Eric Blake  <ebb9@byu.net>
8515
8516         doc: correct availability of cygwin 1.5.x getopt
8517         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
8518         variables.
8519         * doc/posix-functions/opterr.texi (opterr): Likewise.
8520         * doc/posix-functions/optind.texi (optind): Likewise.
8521         * doc/posix-functions/optopt.texi (optopt): Likewise.
8522         * doc/posix-functions/tzname.texi (tzname): Likewise.
8523
8524         openat: update maintainer
8525         * modules/openat (Maintainer): Add myself.
8526
8527         utimens: avoid shadowing warning
8528         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
8529         buffers into one, to avoid shadowing, as well as avoiding a
8530         redundant stat.
8531         Reported by Jim Meyering.
8532
8533         test-dup2: avoid compiler warning
8534         * tests/test-dup2.c (is_inheritable): Only define if used.
8535
8536 2010-01-01  Bruno Haible  <bruno@clisp.org>
8537
8538         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
8539         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
8540         defined, use wctomb instead of wcrtomb.
8541
8542 2010-01-01  Bruno Haible  <bruno@clisp.org>
8543
8544         iconv: Reject native Solaris iconv.
8545         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
8546         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
8547
8548 2009-12-31  Bruno Haible  <bruno@clisp.org>
8549
8550         * tests/test-signal.c (main): Remove test of 'SIG'.
8551
8552 2009-12-31  Bruno Haible  <bruno@clisp.org>
8553
8554         spawn: Fix incomplete fix.
8555         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
8556         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
8557         warnings for GNULIB_POSIXCHECK again.
8558         Reported by Eric Blake.
8559
8560 2009-12-31  Bruno Haible  <bruno@clisp.org>
8561
8562         Avoid namespace pollution on glibc systems.
8563         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
8564         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
8565         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
8566         glibc systems.
8567
8568 2009-12-31  Bruno Haible  <bruno@clisp.org>
8569
8570         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
8571         (gl_REPLACE_WCHAR_H): Turn into a no-op.
8572         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
8573         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
8574         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
8575         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
8576         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
8577
8578 2009-12-31  Bruno Haible  <bruno@clisp.org>
8579
8580         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
8581         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
8582         afterwards.
8583
8584 2009-12-31  Bruno Haible  <bruno@clisp.org>
8585
8586         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
8587         SYS_UTSNAME_H.
8588
8589 2009-12-31  Bruno Haible  <bruno@clisp.org>
8590
8591         spawn: Fix misapplied patch.
8592         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
8593         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
8594         warnings for GNULIB_POSIXCHECK.
8595
8596 2009-12-31  Bruno Haible  <bruno@clisp.org>
8597
8598         times: Update after sys_times changed.
8599         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
8600         * modules/times (Files): Add it.
8601         (configure.ac): Invoke gl_FUNC_TIMES.
8602
8603 2009-12-31  Bruno Haible  <bruno@clisp.org>
8604
8605         Use AC_C_INLINE where necessary.
8606         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
8607         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
8608         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
8609         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
8610         * m4/mbfile.m4 (gl_MBFILE): Likewise.
8611         * m4/mbiter.m4 (gl_MBITER): Likewise.
8612         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
8613         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
8614         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
8615         * modules/u64 (configure.ac): Likewise.
8616
8617 2009-12-31  Bruno Haible  <bruno@clisp.org>
8618
8619         Use AC_C_INLINE instead of module 'inline' where possible.
8620         * modules/inline (Description): Clarify purpose.
8621         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
8622         * modules/count-one-bits (Depends-on): Remove inline.
8623         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
8624         * modules/openat (Depends-on): Remove inline.
8625         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
8626         instead of depending on module 'inline'.
8627         * modules/filevercmp (Depends-on, configure.ac): Likewise.
8628         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
8629         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
8630         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
8631         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
8632         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
8633         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
8634         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
8635         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
8636         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
8637         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
8638         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
8639         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
8640         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
8641         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
8642         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
8643         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
8644         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
8645         Likewise.
8646         * modules/unictype/property-ascii-hex-digit (Depends-on,
8647         configure.ac): Likewise.
8648         * modules/unictype/property-bidi-arabic-digit (Depends-on,
8649         configure.ac): Likewise.
8650         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
8651         configure.ac): Likewise.
8652         * modules/unictype/property-bidi-block-separator (Depends-on,
8653         configure.ac): Likewise.
8654         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
8655         configure.ac): Likewise.
8656         * modules/unictype/property-bidi-common-separator (Depends-on,
8657         configure.ac): Likewise.
8658         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
8659         Likewise.
8660         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
8661         configure.ac): Likewise.
8662         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
8663         configure.ac): Likewise.
8664         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
8665         configure.ac): Likewise.
8666         * modules/unictype/property-bidi-european-digit (Depends-on,
8667         configure.ac): Likewise.
8668         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
8669         configure.ac): Likewise.
8670         * modules/unictype/property-bidi-left-to-right (Depends-on,
8671         configure.ac): Likewise.
8672         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
8673         configure.ac): Likewise.
8674         * modules/unictype/property-bidi-other-neutral (Depends-on,
8675         configure.ac): Likewise.
8676         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
8677         Likewise.
8678         * modules/unictype/property-bidi-segment-separator (Depends-on,
8679         configure.ac): Likewise.
8680         * modules/unictype/property-bidi-whitespace (Depends-on,
8681         configure.ac): Likewise.
8682         * modules/unictype/property-combining (Depends-on, configure.ac):
8683         Likewise.
8684         * modules/unictype/property-composite (Depends-on, configure.ac):
8685         Likewise.
8686         * modules/unictype/property-currency-symbol (Depends-on,
8687         configure.ac): Likewise.
8688         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
8689         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
8690         Likewise.
8691         * modules/unictype/property-default-ignorable-code-point (Depends-on,
8692         configure.ac): Likewise.
8693         * modules/unictype/property-deprecated (Depends-on, configure.ac):
8694         Likewise.
8695         * modules/unictype/property-diacritic (Depends-on, configure.ac):
8696         Likewise.
8697         * modules/unictype/property-extender (Depends-on, configure.ac):
8698         Likewise.
8699         * modules/unictype/property-format-control (Depends-on, configure.ac):
8700         Likewise.
8701         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
8702         Likewise.
8703         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
8704         Likewise.
8705         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
8706         Likewise.
8707         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
8708         Likewise.
8709         * modules/unictype/property-hyphen (Depends-on, configure.ac):
8710         Likewise.
8711         * modules/unictype/property-id-continue (Depends-on, configure.ac):
8712         Likewise.
8713         * modules/unictype/property-id-start (Depends-on, configure.ac):
8714         Likewise.
8715         * modules/unictype/property-ideographic (Depends-on, configure.ac):
8716         Likewise.
8717         * modules/unictype/property-ids-binary-operator (Depends-on,
8718         configure.ac): Likewise.
8719         * modules/unictype/property-ids-trinary-operator (Depends-on,
8720         configure.ac): Likewise.
8721         * modules/unictype/property-ignorable-control (Depends-on,
8722         configure.ac): Likewise.
8723         * modules/unictype/property-iso-control (Depends-on, configure.ac):
8724         Likewise.
8725         * modules/unictype/property-join-control (Depends-on, configure.ac):
8726         Likewise.
8727         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
8728         Likewise.
8729         * modules/unictype/property-line-separator (Depends-on, configure.ac):
8730         Likewise.
8731         * modules/unictype/property-logical-order-exception (Depends-on,
8732         configure.ac): Likewise.
8733         * modules/unictype/property-lowercase (Depends-on, configure.ac):
8734         Likewise.
8735         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
8736         * modules/unictype/property-non-break (Depends-on, configure.ac):
8737         Likewise.
8738         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
8739         Likewise.
8740         * modules/unictype/property-numeric (Depends-on, configure.ac):
8741         Likewise.
8742         * modules/unictype/property-other-alphabetic (Depends-on,
8743         configure.ac): Likewise.
8744         * modules/unictype/property-other-default-ignorable-code-point
8745         (Depends-on, configure.ac): Likewise.
8746         * modules/unictype/property-other-grapheme-extend (Depends-on,
8747         configure.ac): Likewise.
8748         * modules/unictype/property-other-id-continue (Depends-on,
8749         configure.ac): Likewise.
8750         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
8751         Likewise.
8752         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
8753         Likewise.
8754         * modules/unictype/property-other-math (Depends-on, configure.ac):
8755         Likewise.
8756         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
8757         Likewise.
8758         * modules/unictype/property-paired-punctuation (Depends-on,
8759         configure.ac): Likewise.
8760         * modules/unictype/property-paragraph-separator (Depends-on,
8761         configure.ac): Likewise.
8762         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
8763         Likewise.
8764         * modules/unictype/property-pattern-white-space (Depends-on,
8765         configure.ac): Likewise.
8766         * modules/unictype/property-private-use (Depends-on, configure.ac):
8767         Likewise.
8768         * modules/unictype/property-punctuation (Depends-on, configure.ac):
8769         Likewise.
8770         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
8771         Likewise.
8772         * modules/unictype/property-radical (Depends-on, configure.ac):
8773         Likewise.
8774         * modules/unictype/property-sentence-terminal (Depends-on,
8775         configure.ac): Likewise.
8776         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
8777         Likewise.
8778         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
8779         * modules/unictype/property-terminal-punctuation (Depends-on,
8780         configure.ac): Likewise.
8781         * modules/unictype/property-titlecase (Depends-on, configure.ac):
8782         Likewise.
8783         * modules/unictype/property-unassigned-code-value (Depends-on,
8784         configure.ac): Likewise.
8785         * modules/unictype/property-unified-ideograph (Depends-on,
8786         configure.ac): Likewise.
8787         * modules/unictype/property-uppercase (Depends-on, configure.ac):
8788         Likewise.
8789         * modules/unictype/property-variation-selector (Depends-on,
8790         configure.ac): Likewise.
8791         * modules/unictype/property-white-space (Depends-on, configure.ac):
8792         Likewise.
8793         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
8794         Likewise.
8795         * modules/unictype/property-xid-start (Depends-on, configure.ac):
8796         Likewise.
8797         * modules/unictype/property-zero-width (Depends-on, configure.ac):
8798         Likewise.
8799         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
8800         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
8801         Likewise.
8802
8803 2009-12-31  Bruno Haible  <bruno@clisp.org>
8804
8805         Remove unnecessary AC_C_INLINE invocation.
8806         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
8807         since 2009-08-21.
8808
8809 2009-12-31  Jim Meyering  <meyering@redhat.com>
8810
8811         maint.mk: don't require explicit gpg_key_ID in cfg.mk
8812         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
8813         With this change, we can all remove the gpg_key_ID = ... definition
8814         from our respective cfg.mk files.
8815
8816         maint.mk: create announcement template in ~/, not in /tmp
8817         * top/maint.mk (emit_upload_commands): Adjust.
8818         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
8819         Remove temporary file, .ci-msg.
8820
8821 2009-12-31  Eric Blake  <ebb9@byu.net>
8822
8823         link-warning: always build headers with link warnings
8824         * modules/arpa_inet (Makefile.am): Always build replacement
8825         header.
8826         * modules/ctype (Makefile.am): Likewise.
8827         * modules/dirent (Makefile.am): Likewise.
8828         * modules/inttypes (Makefile.am): Likewise.
8829         * modules/langinfo (Makefile.am): Likewise.
8830         * modules/locale (Makefile.am): Likewise.
8831         * modules/spawn (Makefile.am): Likewise.
8832         * modules/sys_file (Makefile.am): Likewise.
8833         * modules/sys_ioctl (Makefile.am): Likewise.
8834         * modules/sys_select (Makefile.am): Likewise.
8835         * modules/sys_socket (Makefile.am): Likewise.
8836         * modules/sys_times (Makefile.am): Likewise.
8837         * modules/sys_utsname (Makefile.am): Likewise.
8838         * modules/sys_wait (Makefile.am): Likewise.
8839         * modules/wchar (Makefile.am): Likewise.
8840         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
8841         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
8842         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
8843         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
8844         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
8845         Likewise.
8846         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
8847         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
8848         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
8849         Likewise.
8850         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
8851         Likewise.
8852         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
8853         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
8854         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
8855         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
8856         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
8857         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
8858         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
8859         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
8860         (gl_WCHAR_H_DEFAULTS): Likewise.
8861
8862 2009-12-31  Eric Blake  <ebb9@byu.net>
8863
8864         signal, spawn: use link warnings
8865         * lib/signal.in.h (sigset_t): Make unconditional.
8866         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
8867         (sigpending, sigprocmask, sigaction): Add link warnings.
8868         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
8869         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
8870         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
8871         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
8872         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
8873         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
8874         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
8875         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
8876         (posix_spawn_file_actions_destroy)
8877         (posix_spawn_file_actions_addopen)
8878         (posix_spawn_file_actions_addclose)
8879         (posix_spawn_file_actions_adddup2): Likewise.
8880         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
8881         * tests/test-signal.c (main): Enhance test.
8882
8883         spawn: improve wrapper support
8884         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
8885         (gl_SPAWN_H_DEFAULTS): New defaults.
8886         * modules/spawn (Makefile.am): Substitute them.
8887         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
8888         Only declare if missing or broken.
8889
8890         sys_times, sys_utsname: use include_next
8891         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
8892         header.
8893         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
8894         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
8895         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
8896         * modules/sys_times (Depends-on): Add include_next.
8897         (Makefile.am): Substitute additional values.
8898         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
8899         * lib/sys_times.in.h (includes): Include native header, if
8900         available.
8901         * lib/sys_utsname.in.h (includes): Likewise.
8902         * tests/test-sys_times.c (main): Enhance test.
8903
8904         fdutimensat: revert prior patch
8905         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
8906         utimens.h.
8907         Reported by Bruno Haible.
8908
8909 2009-12-30  Eric Blake  <ebb9@byu.net>
8910
8911         sys_wait: drop link-warning dependency
8912         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
8913         link-warning efforts.
8914         * lib/sys_wait.in.h: Likewise.
8915
8916         fdutimensat: remove bogus dependency
8917         * modules/fdutimensat (Depends-on): Drop inline.
8918
8919         unistd: fix typo
8920         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
8921
8922 2009-12-30  Bruno Haible  <bruno@clisp.org>
8923
8924         Fix compilation error with Solaris cc.
8925         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
8926         * lib/unicase/u16-is-invariant.c: Likewise.
8927         * lib/unicase/u32-is-invariant.c: Likewise.
8928         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
8929
8930 2009-12-30  Bruno Haible  <bruno@clisp.org>
8931
8932         Fix test crash.
8933         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
8934         locales.
8935         Reported by Simon Josefsson <simon@josefsson.org>.
8936
8937 2009-12-30  Bruno Haible  <bruno@clisp.org>
8938
8939         Fix compilation error on most platforms.
8940         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
8941         Reported by Simon Josefsson <simon@josefsson.org>
8942         and Nelson H. F. Beebe <beebe@math.utah.edu>.
8943
8944 2009-12-30  Eric Blake  <ebb9@byu.net>
8945
8946         futimens, utimensat: work around ntfs-3g bug
8947         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
8948         a ctime bug is present, and expand workaround to cover ntfs-3g.
8949         * lib/utimens.c (fdutimens, lutimens): Likewise.
8950         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
8951         (validate_timespec): Adjust return value.
8952         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
8953         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
8954         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
8955
8956 2009-12-29  Eric Blake  <ebb9@byu.net>
8957
8958         link-warning: make usage consistent
8959         * modules/ctype (Depends-on): Add link-warning.
8960         (Makefile.am): Update rules accordingly.
8961         * modules/langinfo (Depends-on, Makefile.am): Likewise.
8962         * modules/locale (Depends-on, Makefile.am): Likewise.
8963         * modules/sys_file (Makefile.am): Likewise.
8964         * modules/getopt-posix (Makefile.am): Delete unused link warning
8965         efforts.
8966         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
8967         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
8968         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
8969         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
8970
8971         stdio: remove unused variables
8972         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
8973         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
8974         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
8975
8976         tests: test more substitute headers
8977         * modules/ctype-tests: New file.
8978         * modules/dirent-tests: Likewise.
8979         * modules/spawn-tests: Likewise.
8980         * modules/sys_file-tests: Likewise.
8981         * modules/sys_ioctl-tests: Likewise.
8982         * modules/sys_wait-tests: Likewise.
8983         * tests/test-ctype.c: Likewise.
8984         * tests/test-dirent.c: Likewise.
8985         * tests/test-spawn.c: Likewise.
8986         * tests/test-sys_file.c: Likewise.
8987         * tests/test-sys_ioctl.c: Likewise.
8988         * tests/test-sys_wait.c: Likewise.
8989         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
8990         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
8991         whether or not flock is in use.
8992
8993         tests: remove License section from module
8994         * modules/arpa_inet-tests: Remove unneeded section.
8995         * modules/byteswap-tests: Likewise.
8996         * modules/ceilf-tests: Likewise.
8997         * modules/ceill-tests: Likewise.
8998         * modules/crypto/des-tests: Likewise.
8999         * modules/crypto/gc-arcfour-tests: Likewise.
9000         * modules/crypto/gc-arctwo-tests: Likewise.
9001         * modules/crypto/gc-des-tests: Likewise.
9002         * modules/crypto/gc-hmac-md5-tests: Likewise.
9003         * modules/crypto/gc-hmac-sha1-tests: Likewise.
9004         * modules/crypto/gc-md2-tests: Likewise.
9005         * modules/crypto/gc-md4-tests: Likewise.
9006         * modules/crypto/gc-md5-tests: Likewise.
9007         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
9008         * modules/crypto/gc-rijndael-tests: Likewise.
9009         * modules/crypto/gc-sha1-tests: Likewise.
9010         * modules/crypto/gc-tests: Likewise.
9011         * modules/crypto/md2-tests: Likewise.
9012         * modules/crypto/md4-tests: Likewise.
9013         * modules/fcntl-h-tests: Likewise.
9014         * modules/floorf-tests: Likewise.
9015         * modules/floorl-tests: Likewise.
9016         * modules/frexp-nolibm-tests: Likewise.
9017         * modules/frexp-tests: Likewise.
9018         * modules/frexpl-nolibm-tests: Likewise.
9019         * modules/frexpl-tests: Likewise.
9020         * modules/getaddrinfo-tests: Likewise.
9021         * modules/inttypes-tests: Likewise.
9022         * modules/isfinite-tests: Likewise.
9023         * modules/isinf-tests: Likewise.
9024         * modules/ldexpl-tests: Likewise.
9025         * modules/locale-tests: Likewise.
9026         * modules/math-tests: Likewise.
9027         * modules/netdb-tests: Likewise.
9028         * modules/netinet_in-tests: Likewise.
9029         * modules/printf-frexp-tests: Likewise.
9030         * modules/printf-frexpl-tests: Likewise.
9031         * modules/priv-set-tests: Likewise.
9032         * modules/random_r-tests: Likewise.
9033         * modules/round-tests: Likewise.
9034         * modules/roundf-tests: Likewise.
9035         * modules/roundl-tests: Likewise.
9036         * modules/search-tests: Likewise.
9037         * modules/select-tests: Likewise.
9038         * modules/signal-tests: Likewise.
9039         * modules/stdbool-tests: Likewise.
9040         * modules/stddef-tests: Likewise.
9041         * modules/stdint-tests: Likewise.
9042         * modules/stdio-tests: Likewise.
9043         * modules/stdlib-tests: Likewise.
9044         * modules/string-tests: Likewise.
9045         * modules/strings-tests: Likewise.
9046         * modules/sys_select-tests: Likewise.
9047         * modules/sys_socket-tests: Likewise.
9048         * modules/sys_stat-tests: Likewise.
9049         * modules/sys_time-tests: Likewise.
9050         * modules/sys_utsname-tests: Likewise.
9051         * modules/sysexits-tests: Likewise.
9052         * modules/time-tests: Likewise.
9053         * modules/trunc-tests: Likewise.
9054         * modules/truncf-tests: Likewise.
9055         * modules/truncl-tests: Likewise.
9056         * modules/tsearch-tests: Likewise.
9057         * modules/unistd-tests: Likewise.
9058         * modules/wchar-tests: Likewise.
9059         * modules/wctype-tests: Likewise.
9060
9061         tests: fix license on several tests
9062         * tests/test-des.c: Update to GPLv3+.
9063         * tests/test-flock.c: Likewise.
9064         * tests/test-fsync.c: Likewise.
9065         * tests/test-futimens.h: Likewise.
9066         * tests/test-gc-arcfour.c: Likewise.
9067         * tests/test-gc-arctwo.c: Likewise.
9068         * tests/test-gc-des.c: Likewise.
9069         * tests/test-gc-hmac-md5.c: Likewise.
9070         * tests/test-gc-hmac-sha1.c: Likewise.
9071         * tests/test-gc-md2.c: Likewise.
9072         * tests/test-gc-md4.c: Likewise.
9073         * tests/test-gc-md5.c: Likewise.
9074         * tests/test-gc-pbkdf2-sha1.c: Likewise.
9075         * tests/test-gc-rijndael.c: Likewise.
9076         * tests/test-gc-sha1.c: Likewise.
9077         * tests/test-gc.c: Likewise.
9078         * tests/test-getcwd.c: Likewise.
9079         * tests/test-link.c: Likewise.
9080         * tests/test-link.h: Likewise.
9081         * tests/test-lutimens.h: Likewise.
9082         * tests/test-md2.c: Likewise.
9083         * tests/test-md4.c: Likewise.
9084         * tests/test-mkdir.h: Likewise.
9085         * tests/test-rename.c: Likewise.
9086         * tests/test-rename.h: Likewise.
9087         * tests/test-safe-alloc.c: Likewise.
9088         * tests/test-utimens-common.h: Likewise.
9089         * tests/test-utimens.h: Likewise.
9090
9091         maint: sync license texts
9092         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
9093         * doc/gpl-3.0.texi: Revert copyright year update.
9094         * doc/lgpl-3.0.texi: Likewise.
9095
9096 2009-12-29  Jim Meyering  <meyering@redhat.com>
9097
9098         update nearly all FSF copyright year lists to include 2009
9099         The files named by the following are exempted:
9100             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
9101               test -f "$dst" && { echo "$dst"; continue; }
9102               test -d "$dst" || continue
9103               echo "$dst"/$(basename "$src")
9104             done > exempt
9105             git ls-files tests/unictype >> exempt
9106         In the remaining files, convert to all-interval notation if
9107         - there is already at least one year interval like 2000-2003
9108         - the file is maintained by me
9109         - the file is in lib/uni*/, where that style already prevails
9110         Otherwise, use update-copyright's default.
9111
9112 2009-12-29  Simon Josefsson  <simon@josefsson.org>
9113         and Eric Blake  <ebb9@byu.net>
9114
9115         tests: don't require debug system() to pass
9116         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
9117         * tests/test-rmdir.h (test_rmdir_func): Likewise.
9118         * tests/test-unlink.h (test_unlink_func): Likewise.
9119         * tests/test-fstatat.c (main): ...into callers.
9120         * tests/test-lstat.c (main): Likewise.
9121         * tests/test-rmdir.c (main): Likewise.
9122         * tests/test-unlink.c (main): Likewise.
9123         * tests/test-unlinkat.c (main): Likewise.
9124         * tests/test-areadlink-with-size.c (main): Don't require a
9125         debug-only system call to pass, aiding cross-testing to mingw.
9126         * tests/test-areadlink.c (main): Likewise.
9127         * tests/test-areadlinkat-with-size.c (main): Likewise.
9128         * tests/test-areadlinkat.c (main): Likewise.
9129         * tests/test-canonicalize-lgpl.c (main): Likewise.
9130         * tests/test-canonicalize.c (main): Likewise.
9131         * tests/test-chown.c (main): Likewise.
9132         * tests/test-fchownat.c (main): Likewise.
9133         * tests/test-lchown.c (main): Likewise.
9134         * tests/test-fdutimensat.c (main): Likewise.
9135         * tests/test-futimens.c (main): Likewise.
9136         * tests/test-link.c (main): Likewise.
9137         * tests/test-linkat.c (main): Likewise.
9138         * tests/test-mkdir.c (main): Likewise.
9139         * tests/test-mkdirat.c (main): Likewise.
9140         * tests/test-mkfifo.c (main): Likewise.
9141         * tests/test-mkfifoat.c (main): Likewise.
9142         * tests/test-mknod.c (main): Likewise.
9143         * tests/test-readlink.c (main): Likewise.
9144         * tests/test-remove.c (main): Likewise.
9145         * tests/test-rename.c (main): Likewise.
9146         * tests/test-renameat.c (main): Likewise.
9147         * tests/test-symlink.c (main): Likewise.
9148         * tests/test-symlinkat.c (main): Likewise.
9149         * tests/test-utimens.c (main): Likewise.
9150         * tests/test-utimensat.c (main): Likewise.
9151
9152 2009-12-29  Simon Josefsson  <simon@josefsson.org>
9153
9154         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
9155         on $(UNUSED_PARAMETER_H) to avoid build failure.
9156
9157 2009-12-28  Jim Meyering  <meyering@redhat.com>
9158
9159         update-copyright: you may specify a max. line length other than 72
9160         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
9161
9162         maint: use consistent FSF copyright line syntax
9163         * lib/posixtm.c: Add missing comma in FSF copyright line.
9164         * lib/posixtm.h: Likewise.
9165         * lib/getugroups.c: Add missing ", Inc.".
9166
9167         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
9168         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
9169         FSF copyright line.  Remove trailing blanks.
9170
9171 2009-12-28  Eric Blake  <ebb9@byu.net>
9172
9173         test-dup2: reduce dependencies
9174         * modules/cloexec (Configure.ac): Set witness.
9175         * modules/dup2-tests (Depends-on): Drop cloexec.
9176         * tests/test-dup2.c (main): Skip portion of test if cloexec module
9177         not present.
9178         Suggested by Bruno Haible.
9179
9180 2009-12-26  Bruno Haible  <bruno@clisp.org>
9181
9182         Remove an unneeded dependency.
9183         * modules/fseterr (Depends-on): Remove dup2.
9184
9185 2009-12-26  Eric Blake  <ebb9@byu.net>
9186
9187         tests: use macros.h in more places
9188         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
9189         (ASSERT_STREAM): Provide default of stderr.
9190         * tests/test-dirent-safer.c: Include macros.h, using alternate
9191         stream for assertions.
9192         * tests/test-dup-safer.c: Likewise.
9193         * tests/test-freopen-safer.c: Likewise.
9194         * tests/test-getopt.c: Likewise.
9195         * tests/test-openat-safer.c: Likewise.
9196         * tests/test-pipe.c: Likewise.
9197         * tests/test-popen-safer.c: Likewise.
9198         * modules/dirent-safer-tests (Files): Include macros.h.
9199         * modules/unistd-safer-tests (Files): Likewise.
9200         * modules/freopen-safer-tests (Files): Likewise.
9201         * modules/getopt-posix-tests (Files): Likewise.
9202         * modules/openat-safer-tests (Files): Likewise.
9203         * modules/pipe-tests (Files): Likewise.
9204
9205 2009-12-26  Bruno Haible  <bruno@clisp.org>
9206
9207         javacomp: Portability fix.
9208         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
9209         that it also works on Solaris.
9210
9211 2009-12-26  Bruno Haible  <bruno@clisp.org>
9212
9213         localename: Fix storage allocation of gl_locale_name_thread's result.
9214         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
9215         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
9216         all platforms that have 'uselocale'.
9217         (gl_locale_name_thread_unsafe): New function, extracted from
9218         gl_locale_name_thread.
9219         (gl_locale_name_thread): Call struniq on all platforms that have
9220         'uselocale'.
9221         * tests/test-localename.c (test_locale_name_thread): Check that the
9222         resulting strings are permanently allocated.
9223         * modules/localename-tests (Depends-on): Add strdup.
9224
9225 2009-12-26  Bruno Haible  <bruno@clisp.org>
9226
9227         * tests/test-localename.c (categories): Fill in the strings.
9228
9229 2009-12-26  Jim Meyering  <meyering@redhat.com>
9230
9231         isdir: complete the removal of m4/isdir.m4
9232         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
9233
9234         isdir: clean up, since at least grep still uses it
9235         * lib/isdir.c: Include "isdir.h".
9236         (S_ISDIR): Remove now-unneeded definition.
9237         * modules/isdir (Files): Add lib/isdir.h.
9238         * lib/isdir.h: New file, with declaration.
9239         * m4/isdir.m4: Remove file -- unneeded.
9240
9241 2009-12-25  Bruno Haible  <bruno@clisp.org>
9242
9243         selinux-h: Make generated .h files standalone.
9244         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
9245         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
9246         * lib/se-selinux.in.h: Likewise.
9247         * modules/selinux-h (Depends-on): Add unused-parameter.
9248         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
9249         selinux/selinux.h and selinux/context.h.
9250         Suggested by Eric Blake.
9251
9252 2009-12-25  Bruno Haible  <bruno@clisp.org>
9253
9254         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
9255         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
9256         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
9257         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
9258         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
9259
9260 2009-12-24  Bruno Haible  <bruno@clisp.org>
9261
9262         openat: Fix warning.
9263         * lib/openat-proc.c: Include <unistd.h>.
9264
9265 2009-12-24  Bruno Haible  <bruno@clisp.org>
9266
9267         New module 'unused-parameter'.
9268         * build-aux/unused-parameter.h: New file, extracted from earlier
9269         gnulib-common.m4.
9270         * modules/unused-parameter: New file.
9271         * lib/unistr.h: Include unused-parameter.h.
9272         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
9273         _GL_UNUSED.
9274         * modules/unistr/base (Depends-on): Add unused-parameter.
9275
9276 2009-12-24  Bruno Haible  <bruno@clisp.org>
9277
9278         Add missing dependencies to 'extensions' module.
9279         * m4/extensions.m4: Add comment.
9280         * modules/accept4 (Depends-on): Add extensions.
9281         * modules/dup3 (Depends-on): Likewise.
9282         * modules/fcntl (Depends-on): Likewise.
9283         * modules/futimens (Depends-on): Likewise.
9284         * modules/mknod (Depends-on): Likewise.
9285         * modules/pipe2 (Depends-on): Likewise.
9286         * modules/stat-time (Depends-on): Likewise.
9287         * modules/strcasestr-simple (Depends-on): Likewise.
9288         * modules/strsignal (Depends-on): Likewise.
9289         * modules/utimensat (Depends-on): Likewise.
9290         * modules/localcharset (Depends-on): Likewise. Needed because of
9291         gl_FCNTL_O_FLAGS.
9292         * modules/wcrtomb (Depends-on): Likewise. Needed because of
9293         AC_TYPE_MBSTATE_T.
9294         * modules/wcsnrtombs (Depends-on): Likewise.
9295         * modules/wcsrtombs (Depends-on): Likewise.
9296
9297 2009-12-24  Bruno Haible  <bruno@clisp.org>
9298
9299         binary-io: Avoid gcc warning due to SET_BINARY.
9300         * lib/binary-io.h (SET_BINARY): Cast the result to void.
9301         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
9302
9303 2009-12-24  Bruno Haible  <bruno@clisp.org>
9304
9305         Avoid future namespace pollution on glibc systems.
9306         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
9307         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
9308         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
9309         glibc systems.
9310
9311 2009-12-24  Bruno Haible  <bruno@clisp.org>
9312
9313         Refactor common macros used in tests.
9314         * tests/macros.h: New file.
9315         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
9316         and/or <stdlib.h>, if appropriate.
9317         (ASSERT, SIZEOF): Remove macros.
9318         * tests/test-areadlink-with-size.c: Likewise.
9319         * tests/test-areadlinkat.c: Likewise.
9320         * tests/test-areadlinkat-with-size.c: Likewise.
9321         * tests/test-argmatch.c: Likewise.
9322         * tests/test-argv-iter.c: Likewise.
9323         * tests/test-array-mergesort.c: Likewise.
9324         * tests/test-array_list.c: Likewise.
9325         * tests/test-array_oset.c: Likewise.
9326         * tests/test-avltree_list.c: Likewise.
9327         * tests/test-avltree_oset.c: Likewise.
9328         * tests/test-avltreehash_list.c: Likewise.
9329         * tests/test-base64.c: Likewise.
9330         * tests/test-binary-io.c: Likewise.
9331         * tests/test-bitrotate.c: Likewise.
9332         * tests/test-btowc.c: Likewise.
9333         * tests/test-byteswap.c: Likewise.
9334         * tests/test-c-ctype.c: Likewise.
9335         * tests/test-c-stack.c: Likewise.
9336         * tests/test-c-strcasecmp.c: Likewise.
9337         * tests/test-c-strcasestr.c: Likewise.
9338         * tests/test-c-strncasecmp.c: Likewise.
9339         * tests/test-c-strstr.c: Likewise.
9340         * tests/test-canonicalize-lgpl.c: Likewise.
9341         * tests/test-canonicalize.c: Likewise.
9342         * tests/test-carray_list.c: Likewise.
9343         * tests/test-ceilf1.c: Likewise.
9344         * tests/test-ceilf2.c: Likewise.
9345         * tests/test-ceill.c: Likewise.
9346         * tests/test-chown.c: Likewise.
9347         * tests/test-cloexec.c: Likewise.
9348         * tests/test-copy-acl.c: Likewise.
9349         * tests/test-copy-file.c: Likewise.
9350         * tests/test-count-one-bits.c: Likewise.
9351         * tests/test-dprintf-posix.c: Likewise.
9352         * tests/test-dup2.c: Likewise.
9353         * tests/test-dup3.c: Likewise.
9354         * tests/test-duplocale.c: Likewise.
9355         * tests/test-fbufmode.c: Likewise.
9356         * tests/test-fchdir.c: Likewise.
9357         * tests/test-fchownat.c: Likewise.
9358         * tests/test-fcntl-safer.c: Likewise.
9359         * tests/test-fcntl.c: Likewise.
9360         * tests/test-fdopendir.c: Likewise.
9361         * tests/test-fdutimensat.c: Likewise.
9362         * tests/test-fflush2.c: Likewise.
9363         * tests/test-file-has-acl.c: Likewise.
9364         * tests/test-filevercmp.c: Likewise.
9365         * tests/test-flock.c: Likewise.
9366         * tests/test-floorf1.c: Likewise.
9367         * tests/test-floorf2.c: Likewise.
9368         * tests/test-floorl.c: Likewise.
9369         * tests/test-fnmatch.c: Likewise.
9370         * tests/test-fopen.h: Likewise.
9371         * tests/test-fpending.c: Likewise.
9372         * tests/test-fprintf-posix.c: Likewise.
9373         * tests/test-fpurge.c: Likewise.
9374         * tests/test-freadable.c: Likewise.
9375         * tests/test-freadahead.c: Likewise.
9376         * tests/test-freading.c: Likewise.
9377         * tests/test-freadptr.c: Likewise.
9378         * tests/test-freadptr2.c: Likewise.
9379         * tests/test-freadseek.c: Likewise.
9380         * tests/test-freopen.c: Likewise.
9381         * tests/test-frexp.c: Likewise.
9382         * tests/test-frexpl.c: Likewise.
9383         * tests/test-fseek.c: Likewise.
9384         * tests/test-fseeko.c: Likewise.
9385         * tests/test-fstatat.c: Likewise.
9386         * tests/test-fstrcmp.c: Likewise.
9387         * tests/test-fsync.c: Likewise.
9388         * tests/test-ftell.c: Likewise.
9389         * tests/test-ftello.c: Likewise.
9390         * tests/test-func.c: Likewise.
9391         * tests/test-futimens.c: Likewise.
9392         * tests/test-fwritable.c: Likewise.
9393         * tests/test-fwriting.c: Likewise.
9394         * tests/test-getcwd.c: Likewise.
9395         * tests/test-getdate.c: Likewise.
9396         * tests/test-getdelim.c: Likewise.
9397         * tests/test-getdtablesize.c: Likewise.
9398         * tests/test-getgroups.c: Likewise.
9399         * tests/test-getline.c: Likewise.
9400         * tests/test-getndelim2.c: Likewise.
9401         * tests/test-glob.c: Likewise.
9402         * tests/test-hash.c: Likewise.
9403         * tests/test-i-ring.c: Likewise.
9404         * tests/test-iconv-utf.c: Likewise.
9405         * tests/test-iconv.c: Likewise.
9406         * tests/test-idpriv-drop.c: Likewise.
9407         * tests/test-idpriv-droptemp.c: Likewise.
9408         * tests/test-inet_ntop.c: Likewise.
9409         * tests/test-inet_pton.c: Likewise.
9410         * tests/test-isblank.c: Likewise.
9411         * tests/test-isfinite.c: Likewise.
9412         * tests/test-isinf.c: Likewise.
9413         * tests/test-isnan.c: Likewise.
9414         * tests/test-isnand.h: Likewise.
9415         * tests/test-isnanf.h: Likewise.
9416         * tests/test-isnanl.h: Likewise.
9417         * tests/test-lchown.c: Likewise.
9418         * tests/test-ldexpl.c: Likewise.
9419         * tests/test-link.c: Likewise.
9420         * tests/test-linkat.c: Likewise.
9421         * tests/test-linked_list.c: Likewise.
9422         * tests/test-linkedhash_list.c: Likewise.
9423         * tests/test-localename.c: Likewise.
9424         * tests/test-lseek.c: Likewise.
9425         * tests/test-lstat.c: Likewise.
9426         * tests/test-mbmemcasecmp.c: Likewise.
9427         * tests/test-mbmemcasecoll.c: Likewise.
9428         * tests/test-mbrtowc.c: Likewise.
9429         * tests/test-mbscasecmp.c: Likewise.
9430         * tests/test-mbscasestr1.c: Likewise.
9431         * tests/test-mbscasestr2.c: Likewise.
9432         * tests/test-mbscasestr3.c: Likewise.
9433         * tests/test-mbscasestr4.c: Likewise.
9434         * tests/test-mbschr.c: Likewise.
9435         * tests/test-mbscspn.c: Likewise.
9436         * tests/test-mbsinit.c: Likewise.
9437         * tests/test-mbsncasecmp.c: Likewise.
9438         * tests/test-mbsnrtowcs.c: Likewise.
9439         * tests/test-mbspbrk.c: Likewise.
9440         * tests/test-mbspcasecmp.c: Likewise.
9441         * tests/test-mbsrchr.c: Likewise.
9442         * tests/test-mbsrtowcs.c: Likewise.
9443         * tests/test-mbsspn.c: Likewise.
9444         * tests/test-mbsstr1.c: Likewise.
9445         * tests/test-mbsstr2.c: Likewise.
9446         * tests/test-mbsstr3.c: Likewise.
9447         * tests/test-memchr.c: Likewise.
9448         * tests/test-memchr2.c: Likewise.
9449         * tests/test-memcmp.c: Likewise.
9450         * tests/test-memmem.c: Likewise.
9451         * tests/test-memrchr.c: Likewise.
9452         * tests/test-mkdir.c: Likewise.
9453         * tests/test-mkdirat.c: Likewise.
9454         * tests/test-mkfifo.c: Likewise.
9455         * tests/test-mkfifoat.c: Likewise.
9456         * tests/test-mknod.c: Likewise.
9457         * tests/test-nanosleep.c: Likewise.
9458         * tests/test-nl_langinfo.c: Likewise.
9459         * tests/test-obstack-printf.c: Likewise.
9460         * tests/test-open.c: Likewise.
9461         * tests/test-openat.c: Likewise.
9462         * tests/test-pipe-filter-gi1.c: Likewise.
9463         * tests/test-pipe-filter-gi2-main.c: Likewise.
9464         * tests/test-pipe-filter-ii1.c: Likewise.
9465         * tests/test-pipe-filter-ii2-main.c: Likewise.
9466         * tests/test-pipe2.c: Likewise.
9467         * tests/test-popen.h: Likewise.
9468         * tests/test-posixtm.c: Likewise.
9469         * tests/test-pread.c: Likewise.
9470         * tests/test-printf-frexp.c: Likewise.
9471         * tests/test-printf-frexpl.c: Likewise.
9472         * tests/test-printf-posix.c: Likewise.
9473         * tests/test-priv-set.c: Likewise.
9474         * tests/test-quotearg.c: Likewise.
9475         * tests/test-random_r.c: Likewise.
9476         * tests/test-rawmemchr.c: Likewise.
9477         * tests/test-rbtree_list.c: Likewise.
9478         * tests/test-rbtree_oset.c: Likewise.
9479         * tests/test-rbtreehash_list.c: Likewise.
9480         * tests/test-readlink.c: Likewise.
9481         * tests/test-remove.c: Likewise.
9482         * tests/test-rename.c: Likewise.
9483         * tests/test-renameat.c: Likewise.
9484         * tests/test-rmdir.c: Likewise.
9485         * tests/test-round1.c: Likewise.
9486         * tests/test-roundf1.c: Likewise.
9487         * tests/test-roundl.c: Likewise.
9488         * tests/test-safe-alloc.c: Likewise.
9489         * tests/test-sameacls.c: Likewise.
9490         * tests/test-set-mode-acl.c: Likewise.
9491         * tests/test-setenv.c: Likewise.
9492         * tests/test-sigaction.c: Likewise.
9493         * tests/test-signbit.c: Likewise.
9494         * tests/test-sleep.c: Likewise.
9495         * tests/test-snprintf-posix.c: Likewise.
9496         * tests/test-snprintf.c: Likewise.
9497         * tests/test-sprintf-posix.c: Likewise.
9498         * tests/test-stat-time.c: Likewise.
9499         * tests/test-stat.c: Likewise.
9500         * tests/test-strcasestr.c: Likewise.
9501         * tests/test-strchrnul.c: Likewise.
9502         * tests/test-strerror.c: Likewise.
9503         * tests/test-striconv.c: Likewise.
9504         * tests/test-striconveh.c: Likewise.
9505         * tests/test-striconveha.c: Likewise.
9506         * tests/test-strsignal.c: Likewise.
9507         * tests/test-strstr.c: Likewise.
9508         * tests/test-strtod.c: Likewise.
9509         * tests/test-strverscmp.c: Likewise.
9510         * tests/test-symlink.c: Likewise.
9511         * tests/test-symlinkat.c: Likewise.
9512         * tests/test-trunc1.c: Likewise.
9513         * tests/test-trunc2.c: Likewise.
9514         * tests/test-truncf1.c: Likewise.
9515         * tests/test-truncf2.c: Likewise.
9516         * tests/test-truncl.c: Likewise.
9517         * tests/test-uname.c: Likewise.
9518         * tests/test-unlink.c: Likewise.
9519         * tests/test-unlinkat.c: Likewise.
9520         * tests/test-unsetenv.c: Likewise.
9521         * tests/test-usleep.c: Likewise.
9522         * tests/test-utimens.c: Likewise.
9523         * tests/test-utimensat.c: Likewise.
9524         * tests/test-vasnprintf-posix.c: Likewise.
9525         * tests/test-vasnprintf-posix2.c: Likewise.
9526         * tests/test-vasnprintf.c: Likewise.
9527         * tests/test-vasprintf-posix.c: Likewise.
9528         * tests/test-vasprintf.c: Likewise.
9529         * tests/test-vdprintf-posix.c: Likewise.
9530         * tests/test-vfprintf-posix.c: Likewise.
9531         * tests/test-vprintf-posix.c: Likewise.
9532         * tests/test-vsnprintf-posix.c: Likewise.
9533         * tests/test-vsnprintf.c: Likewise.
9534         * tests/test-vsprintf-posix.c: Likewise.
9535         * tests/test-wcrtomb.c: Likewise.
9536         * tests/test-wcsnrtombs.c: Likewise.
9537         * tests/test-wcsrtombs.c: Likewise.
9538         * tests/test-wctype.c: Likewise.
9539         * tests/test-wcwidth.c: Likewise.
9540         * tests/test-xfprintf-posix.c: Likewise.
9541         * tests/test-xmemdup0.c: Likewise.
9542         * tests/test-xprintf-posix.c: Likewise.
9543         * tests/test-xvasprintf.c: Likewise.
9544         * tests/unicase/test-locale-language.c: Likewise.
9545         * tests/unicase/test-mapping-part1.h: Likewise.
9546         * tests/unicase/test-predicate-part1.h: Likewise.
9547         * tests/unicase/test-u8-casecmp.c: Likewise.
9548         * tests/unicase/test-u8-casecoll.c: Likewise.
9549         * tests/unicase/test-u8-casefold.c: Likewise.
9550         * tests/unicase/test-u8-is-cased.c: Likewise.
9551         * tests/unicase/test-u8-is-casefolded.c: Likewise.
9552         * tests/unicase/test-u8-is-lowercase.c: Likewise.
9553         * tests/unicase/test-u8-is-titlecase.c: Likewise.
9554         * tests/unicase/test-u8-is-uppercase.c: Likewise.
9555         * tests/unicase/test-u8-tolower.c: Likewise.
9556         * tests/unicase/test-u8-totitle.c: Likewise.
9557         * tests/unicase/test-u8-toupper.c: Likewise.
9558         * tests/unicase/test-u16-casecmp.c: Likewise.
9559         * tests/unicase/test-u16-casecoll.c: Likewise.
9560         * tests/unicase/test-u16-casefold.c: Likewise.
9561         * tests/unicase/test-u16-is-cased.c: Likewise.
9562         * tests/unicase/test-u16-is-casefolded.c: Likewise.
9563         * tests/unicase/test-u16-is-lowercase.c: Likewise.
9564         * tests/unicase/test-u16-is-titlecase.c: Likewise.
9565         * tests/unicase/test-u16-is-uppercase.c: Likewise.
9566         * tests/unicase/test-u16-tolower.c: Likewise.
9567         * tests/unicase/test-u16-totitle.c: Likewise.
9568         * tests/unicase/test-u16-toupper.c: Likewise.
9569         * tests/unicase/test-u32-casecmp.c: Likewise.
9570         * tests/unicase/test-u32-casecoll.c: Likewise.
9571         * tests/unicase/test-u32-casefold.c: Likewise.
9572         * tests/unicase/test-u32-is-cased.c: Likewise.
9573         * tests/unicase/test-u32-is-casefolded.c: Likewise.
9574         * tests/unicase/test-u32-is-lowercase.c: Likewise.
9575         * tests/unicase/test-u32-is-titlecase.c: Likewise.
9576         * tests/unicase/test-u32-is-uppercase.c: Likewise.
9577         * tests/unicase/test-u32-tolower.c: Likewise.
9578         * tests/unicase/test-u32-totitle.c: Likewise.
9579         * tests/unicase/test-u32-toupper.c: Likewise.
9580         * tests/unicase/test-ulc-casecmp.c: Likewise.
9581         * tests/unicase/test-ulc-casecoll.c: Likewise.
9582         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
9583         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
9584         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
9585         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
9586         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
9587         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
9588         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
9589         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
9590         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
9591         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
9592         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
9593         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
9594         * tests/unictype/test-bidi_byname.c: Likewise.
9595         * tests/unictype/test-bidi_name.c: Likewise.
9596         * tests/unictype/test-bidi_of.c: Likewise.
9597         * tests/unictype/test-bidi_test.c: Likewise.
9598         * tests/unictype/test-block_list.c: Likewise.
9599         * tests/unictype/test-block_of.c: Likewise.
9600         * tests/unictype/test-block_test.c: Likewise.
9601         * tests/unictype/test-categ_and.c: Likewise.
9602         * tests/unictype/test-categ_and_not.c: Likewise.
9603         * tests/unictype/test-categ_byname.c: Likewise.
9604         * tests/unictype/test-categ_name.c: Likewise.
9605         * tests/unictype/test-categ_none.c: Likewise.
9606         * tests/unictype/test-categ_of.c: Likewise.
9607         * tests/unictype/test-categ_or.c: Likewise.
9608         * tests/unictype/test-categ_test_withtable.c: Likewise.
9609         * tests/unictype/test-combining.c: Likewise.
9610         * tests/unictype/test-decdigit.c: Likewise.
9611         * tests/unictype/test-digit.c: Likewise.
9612         * tests/unictype/test-mirror.c: Likewise.
9613         * tests/unictype/test-numeric.c: Likewise.
9614         * tests/unictype/test-pr_byname.c: Likewise.
9615         * tests/unictype/test-pr_test.c: Likewise.
9616         * tests/unictype/test-predicate-part1.h: Likewise.
9617         * tests/unictype/test-scripts.c: Likewise.
9618         * tests/unictype/test-sy_c_ident.c: Likewise.
9619         * tests/unictype/test-sy_java_ident.c: Likewise.
9620         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
9621         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
9622         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
9623         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
9624         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
9625         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
9626         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
9627         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
9628         * tests/uninorm/test-canonical-decomposition.c: Likewise.
9629         * tests/uninorm/test-compat-decomposition.c: Likewise.
9630         * tests/uninorm/test-composition.c: Likewise.
9631         * tests/uninorm/test-decomposing-form.c: Likewise.
9632         * tests/uninorm/test-decomposition.c: Likewise.
9633         * tests/uninorm/test-u8-nfc.c: Likewise.
9634         * tests/uninorm/test-u8-nfd.c: Likewise.
9635         * tests/uninorm/test-u8-nfkc.c: Likewise.
9636         * tests/uninorm/test-u8-nfkd.c: Likewise.
9637         * tests/uninorm/test-u8-normcmp.c: Likewise.
9638         * tests/uninorm/test-u8-normcoll.c: Likewise.
9639         * tests/uninorm/test-u16-nfc.c: Likewise.
9640         * tests/uninorm/test-u16-nfd.c: Likewise.
9641         * tests/uninorm/test-u16-nfkc.c: Likewise.
9642         * tests/uninorm/test-u16-nfkd.c: Likewise.
9643         * tests/uninorm/test-u16-normcmp.c: Likewise.
9644         * tests/uninorm/test-u16-normcoll.c: Likewise.
9645         * tests/uninorm/test-u32-nfc.c: Likewise.
9646         * tests/uninorm/test-u32-nfd.c: Likewise.
9647         * tests/uninorm/test-u32-nfkc.c: Likewise.
9648         * tests/uninorm/test-u32-nfkd.c: Likewise.
9649         * tests/uninorm/test-u32-normalize-big.c: Likewise.
9650         * tests/uninorm/test-u32-normcmp.c: Likewise.
9651         * tests/uninorm/test-u32-normcoll.c: Likewise.
9652         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
9653         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
9654         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
9655         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
9656         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
9657         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
9658         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
9659         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
9660         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
9661         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
9662         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
9663         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
9664         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
9665         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
9666         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
9667         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
9668         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
9669         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
9670         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
9671         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
9672         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
9673         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
9674         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
9675         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
9676         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
9677         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
9678         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
9679         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
9680         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
9681         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
9682         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
9683         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
9684         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
9685         * tests/uniwidth/test-u8-strwidth.c: Likewise.
9686         * tests/uniwidth/test-u8-width.c: Likewise.
9687         * tests/uniwidth/test-u16-strwidth.c: Likewise.
9688         * tests/uniwidth/test-u16-width.c: Likewise.
9689         * tests/uniwidth/test-u32-strwidth.c: Likewise.
9690         * tests/uniwidth/test-u32-width.c: Likewise.
9691         * tests/uniwidth/test-uc_width.c: Likewise.
9692         * tests/uniwidth/test-uc_width2.c: Likewise.
9693         * modules/acl-tests (Files): Add tests/macros.h.
9694         * modules/areadlink-tests (Files): Likewise.
9695         * modules/areadlink-with-size-tests (Files): Likewise.
9696         * modules/areadlinkat-tests (Files): Likewise.
9697         * modules/areadlinkat-with-size-tests (Files): Likewise.
9698         * modules/argmatch-tests (Files): Likewise.
9699         * modules/argv-iter-tests (Files): Likewise.
9700         * modules/array-list-tests (Files): Likewise.
9701         * modules/array-mergesort-tests (Files): Likewise.
9702         * modules/array-oset-tests (Files): Likewise.
9703         * modules/avltree-list-tests (Files): Likewise.
9704         * modules/avltree-oset-tests (Files): Likewise.
9705         * modules/avltreehash-list-tests (Files): Likewise.
9706         * modules/base64-tests (Files): Likewise.
9707         * modules/binary-io-tests (Files): Likewise.
9708         * modules/bitrotate-tests (Files): Likewise.
9709         * modules/btowc-tests (Files): Likewise.
9710         * modules/byteswap-tests (Files): Likewise.
9711         * modules/c-ctype-tests (Files): Likewise.
9712         * modules/c-stack-tests (Files): Likewise.
9713         * modules/c-strcase-tests (Files): Likewise.
9714         * modules/c-strcasestr-tests (Files): Likewise.
9715         * modules/c-strstr-tests (Files): Likewise.
9716         * modules/canonicalize-lgpl-tests (Files): Likewise.
9717         * modules/canonicalize-tests (Files): Likewise.
9718         * modules/carray-list-tests (Files): Likewise.
9719         * modules/ceilf-tests (Files): Likewise.
9720         * modules/ceill-tests (Files): Likewise.
9721         * modules/chown-tests (Files): Likewise.
9722         * modules/cloexec-tests (Files): Likewise.
9723         * modules/copy-file-tests (Files): Likewise.
9724         * modules/count-one-bits-tests (Files): Likewise.
9725         * modules/dprintf-posix-tests (Files): Likewise.
9726         * modules/dup2-tests (Files): Likewise.
9727         * modules/dup3-tests (Files): Likewise.
9728         * modules/duplocale-tests (Files): Likewise.
9729         * modules/fbufmode-tests (Files): Likewise.
9730         * modules/fchdir-tests (Files): Likewise.
9731         * modules/fcntl-safer-tests (Files): Likewise.
9732         * modules/fcntl-tests (Files): Likewise.
9733         * modules/fdopendir-tests (Files): Likewise.
9734         * modules/fdutimensat-tests (Files): Likewise.
9735         * modules/fflush-tests (Files): Likewise.
9736         * modules/filevercmp-tests (Files): Likewise.
9737         * modules/flock-tests (Files): Likewise.
9738         * modules/floorf-tests (Files): Likewise.
9739         * modules/floorl-tests (Files): Likewise.
9740         * modules/fnmatch-tests (Files): Likewise.
9741         * modules/fopen-safer-tests (Files): Likewise.
9742         * modules/fopen-tests (Files): Likewise.
9743         * modules/fpending-tests (Files): Likewise.
9744         * modules/fprintf-posix-tests (Files): Likewise.
9745         * modules/fpurge-tests (Files): Likewise.
9746         * modules/freadable-tests (Files): Likewise.
9747         * modules/freadahead-tests (Files): Likewise.
9748         * modules/freading-tests (Files): Likewise.
9749         * modules/freadptr-tests (Files): Likewise.
9750         * modules/freadseek-tests (Files): Likewise.
9751         * modules/freopen-tests (Files): Likewise.
9752         * modules/frexp-nolibm-tests (Files): Likewise.
9753         * modules/frexp-tests (Files): Likewise.
9754         * modules/frexpl-nolibm-tests (Files): Likewise.
9755         * modules/frexpl-tests (Files): Likewise.
9756         * modules/fseek-tests (Files): Likewise.
9757         * modules/fseeko-tests (Files): Likewise.
9758         * modules/fstrcmp-tests (Files): Likewise.
9759         * modules/fsync-tests (Files): Likewise.
9760         * modules/ftell-tests (Files): Likewise.
9761         * modules/ftello-tests (Files): Likewise.
9762         * modules/func-tests (Files): Likewise.
9763         * modules/futimens-tests (Files): Likewise.
9764         * modules/fwritable-tests (Files): Likewise.
9765         * modules/fwriting-tests (Files): Likewise.
9766         * modules/getcwd-tests (Files): Likewise.
9767         * modules/getdate-tests (Files): Likewise.
9768         * modules/getdelim-tests (Files): Likewise.
9769         * modules/getdtablesize-tests (Files): Likewise.
9770         * modules/getgroups-tests (Files): Likewise.
9771         * modules/getline-tests (Files): Likewise.
9772         * modules/getndelim2-tests (Files): Likewise.
9773         * modules/glob-tests (Files): Likewise.
9774         * modules/hash-tests (Files): Likewise.
9775         * modules/i-ring-tests (Files): Likewise.
9776         * modules/iconv-tests (Files): Likewise.
9777         * modules/iconv_open-utf-tests (Files): Likewise.
9778         * modules/idpriv-drop-tests (Files): Likewise.
9779         * modules/idpriv-droptemp-tests (Files): Likewise.
9780         * modules/inet_ntop-tests (Files): Likewise.
9781         * modules/inet_pton-tests (Files): Likewise.
9782         * modules/isblank-tests (Files): Likewise.
9783         * modules/isfinite-tests (Files): Likewise.
9784         * modules/isinf-tests (Files): Likewise.
9785         * modules/isnan-tests (Files): Likewise.
9786         * modules/isnand-nolibm-tests (Files): Likewise.
9787         * modules/isnand-tests (Files): Likewise.
9788         * modules/isnanf-nolibm-tests (Files): Likewise.
9789         * modules/isnanf-tests (Files): Likewise.
9790         * modules/isnanl-nolibm-tests (Files): Likewise.
9791         * modules/isnanl-tests (Files): Likewise.
9792         * modules/lchown-tests (Files): Likewise.
9793         * modules/ldexpl-tests (Files): Likewise.
9794         * modules/link-tests (Files): Likewise.
9795         * modules/linkat-tests (Files): Likewise.
9796         * modules/linked-list-tests (Files): Likewise.
9797         * modules/linkedhash-list-tests (Files): Likewise.
9798         * modules/localename-tests (Files): Likewise.
9799         * modules/lseek-tests (Files): Likewise.
9800         * modules/lstat-tests (Files): Likewise.
9801         * modules/mbmemcasecmp-tests (Files): Likewise.
9802         * modules/mbmemcasecoll-tests (Files): Likewise.
9803         * modules/mbrtowc-tests (Files): Likewise.
9804         * modules/mbscasecmp-tests (Files): Likewise.
9805         * modules/mbscasestr-tests (Files): Likewise.
9806         * modules/mbschr-tests (Files): Likewise.
9807         * modules/mbscspn-tests (Files): Likewise.
9808         * modules/mbsinit-tests (Files): Likewise.
9809         * modules/mbsncasecmp-tests (Files): Likewise.
9810         * modules/mbsnrtowcs-tests (Files): Likewise.
9811         * modules/mbspbrk-tests (Files): Likewise.
9812         * modules/mbspcasecmp-tests (Files): Likewise.
9813         * modules/mbsrchr-tests (Files): Likewise.
9814         * modules/mbsrtowcs-tests (Files): Likewise.
9815         * modules/mbsspn-tests (Files): Likewise.
9816         * modules/mbsstr-tests (Files): Likewise.
9817         * modules/memchr-tests (Files): Likewise.
9818         * modules/memchr2-tests (Files): Likewise.
9819         * modules/memcmp-tests (Files): Likewise.
9820         * modules/memmem-tests (Files): Likewise.
9821         * modules/memrchr-tests (Files): Likewise.
9822         * modules/mkdir-tests (Files): Likewise.
9823         * modules/mkfifo-tests (Files): Likewise.
9824         * modules/mkfifoat-tests (Files): Likewise.
9825         * modules/mknod-tests (Files): Likewise.
9826         * modules/nanosleep-tests (Files): Likewise.
9827         * modules/nl_langinfo-tests (Files): Likewise.
9828         * modules/obstack-printf-tests (Files): Likewise.
9829         * modules/open-tests (Files): Likewise.
9830         * modules/openat-tests (Files): Likewise.
9831         * modules/pipe-filter-gi-tests (Files): Likewise.
9832         * modules/pipe-filter-ii-tests (Files): Likewise.
9833         * modules/pipe2-tests (Files): Likewise.
9834         * modules/popen-safer-tests (Files): Likewise.
9835         * modules/popen-tests (Files): Likewise.
9836         * modules/posixtm-tests (Files): Likewise.
9837         * modules/pread-tests (Files): Likewise.
9838         * modules/printf-frexp-tests (Files): Likewise.
9839         * modules/printf-frexpl-tests (Files): Likewise.
9840         * modules/printf-posix-tests (Files): Likewise.
9841         * modules/priv-set-tests (Files): Likewise.
9842         * modules/quotearg-tests (Files): Likewise.
9843         * modules/random_r-tests (Files): Likewise.
9844         * modules/rawmemchr-tests (Files): Likewise.
9845         * modules/rbtree-list-tests (Files): Likewise.
9846         * modules/rbtree-oset-tests (Files): Likewise.
9847         * modules/rbtreehash-list-tests (Files): Likewise.
9848         * modules/readlink-tests (Files): Likewise.
9849         * modules/remove-tests (Files): Likewise.
9850         * modules/rename-tests (Files): Likewise.
9851         * modules/renameat-tests (Files): Likewise.
9852         * modules/rmdir-tests (Files): Likewise.
9853         * modules/round-tests (Files): Likewise.
9854         * modules/roundf-tests (Files): Likewise.
9855         * modules/roundl-tests (Files): Likewise.
9856         * modules/safe-alloc-tests (Files): Likewise.
9857         * modules/setenv-tests (Files): Likewise.
9858         * modules/sigaction-tests (Files): Likewise.
9859         * modules/signbit-tests (Files): Likewise.
9860         * modules/sleep-tests (Files): Likewise.
9861         * modules/snprintf-posix-tests (Files): Likewise.
9862         * modules/snprintf-tests (Files): Likewise.
9863         * modules/sprintf-posix-tests (Files): Likewise.
9864         * modules/stat-tests (Files): Likewise.
9865         * modules/stat-time-tests (Files): Likewise.
9866         * modules/strcasestr-tests (Files): Likewise.
9867         * modules/strchrnul-tests (Files): Likewise.
9868         * modules/strerror-tests (Files): Likewise.
9869         * modules/striconv-tests (Files): Likewise.
9870         * modules/striconveh-tests (Files): Likewise.
9871         * modules/striconveha-tests (Files): Likewise.
9872         * modules/strsignal-tests (Files): Likewise.
9873         * modules/strstr-tests (Files): Likewise.
9874         * modules/strtod-tests (Files): Likewise.
9875         * modules/strverscmp-tests (Files): Likewise.
9876         * modules/symlink-tests (Files): Likewise.
9877         * modules/symlinkat-tests (Files): Likewise.
9878         * modules/trunc-tests (Files): Likewise.
9879         * modules/truncf-tests (Files): Likewise.
9880         * modules/truncl-tests (Files): Likewise.
9881         * modules/uname-tests (Files): Likewise.
9882         * modules/unicase/cased-tests (Files): Likewise.
9883         * modules/unicase/ignorable-tests (Files): Likewise.
9884         * modules/unicase/locale-language-tests (Files): Likewise.
9885         * modules/unicase/tolower-tests (Files): Likewise.
9886         * modules/unicase/totitle-tests (Files): Likewise.
9887         * modules/unicase/toupper-tests (Files): Likewise.
9888         * modules/unicase/u8-casecmp-tests (Files): Likewise.
9889         * modules/unicase/u8-casecoll-tests (Files): Likewise.
9890         * modules/unicase/u8-casefold-tests (Files): Likewise.
9891         * modules/unicase/u8-is-cased-tests (Files): Likewise.
9892         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
9893         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
9894         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
9895         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
9896         * modules/unicase/u8-tolower-tests (Files): Likewise.
9897         * modules/unicase/u8-totitle-tests (Files): Likewise.
9898         * modules/unicase/u8-toupper-tests (Files): Likewise.
9899         * modules/unicase/u16-casecmp-tests (Files): Likewise.
9900         * modules/unicase/u16-casecoll-tests (Files): Likewise.
9901         * modules/unicase/u16-casefold-tests (Files): Likewise.
9902         * modules/unicase/u16-is-cased-tests (Files): Likewise.
9903         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
9904         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
9905         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
9906         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
9907         * modules/unicase/u16-tolower-tests (Files): Likewise.
9908         * modules/unicase/u16-totitle-tests (Files): Likewise.
9909         * modules/unicase/u16-toupper-tests (Files): Likewise.
9910         * modules/unicase/u32-casecmp-tests (Files): Likewise.
9911         * modules/unicase/u32-casecoll-tests (Files): Likewise.
9912         * modules/unicase/u32-casefold-tests (Files): Likewise.
9913         * modules/unicase/u32-is-cased-tests (Files): Likewise.
9914         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
9915         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
9916         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
9917         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
9918         * modules/unicase/u32-tolower-tests (Files): Likewise.
9919         * modules/unicase/u32-totitle-tests (Files): Likewise.
9920         * modules/unicase/u32-toupper-tests (Files): Likewise.
9921         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
9922         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
9923         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
9924         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
9925         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
9926         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
9927         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
9928         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
9929         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
9930         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
9931         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
9932         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
9933         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
9934         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
9935         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
9936         * modules/unictype/bidicategory-name-tests (Files): Likewise.
9937         * modules/unictype/bidicategory-of-tests (Files): Likewise.
9938         * modules/unictype/bidicategory-test-tests (Files): Likewise.
9939         * modules/unictype/block-list-tests (Files): Likewise.
9940         * modules/unictype/block-of-tests (Files): Likewise.
9941         * modules/unictype/block-test-tests (Files): Likewise.
9942         * modules/unictype/category-C-tests (Files): Likewise.
9943         * modules/unictype/category-Cc-tests (Files): Likewise.
9944         * modules/unictype/category-Cf-tests (Files): Likewise.
9945         * modules/unictype/category-Cn-tests (Files): Likewise.
9946         * modules/unictype/category-Co-tests (Files): Likewise.
9947         * modules/unictype/category-Cs-tests (Files): Likewise.
9948         * modules/unictype/category-L-tests (Files): Likewise.
9949         * modules/unictype/category-Ll-tests (Files): Likewise.
9950         * modules/unictype/category-Lm-tests (Files): Likewise.
9951         * modules/unictype/category-Lo-tests (Files): Likewise.
9952         * modules/unictype/category-Lt-tests (Files): Likewise.
9953         * modules/unictype/category-Lu-tests (Files): Likewise.
9954         * modules/unictype/category-M-tests (Files): Likewise.
9955         * modules/unictype/category-Mc-tests (Files): Likewise.
9956         * modules/unictype/category-Me-tests (Files): Likewise.
9957         * modules/unictype/category-Mn-tests (Files): Likewise.
9958         * modules/unictype/category-N-tests (Files): Likewise.
9959         * modules/unictype/category-Nd-tests (Files): Likewise.
9960         * modules/unictype/category-Nl-tests (Files): Likewise.
9961         * modules/unictype/category-No-tests (Files): Likewise.
9962         * modules/unictype/category-P-tests (Files): Likewise.
9963         * modules/unictype/category-Pc-tests (Files): Likewise.
9964         * modules/unictype/category-Pd-tests (Files): Likewise.
9965         * modules/unictype/category-Pe-tests (Files): Likewise.
9966         * modules/unictype/category-Pf-tests (Files): Likewise.
9967         * modules/unictype/category-Pi-tests (Files): Likewise.
9968         * modules/unictype/category-Po-tests (Files): Likewise.
9969         * modules/unictype/category-Ps-tests (Files): Likewise.
9970         * modules/unictype/category-S-tests (Files): Likewise.
9971         * modules/unictype/category-Sc-tests (Files): Likewise.
9972         * modules/unictype/category-Sk-tests (Files): Likewise.
9973         * modules/unictype/category-Sm-tests (Files): Likewise.
9974         * modules/unictype/category-So-tests (Files): Likewise.
9975         * modules/unictype/category-Z-tests (Files): Likewise.
9976         * modules/unictype/category-Zl-tests (Files): Likewise.
9977         * modules/unictype/category-Zp-tests (Files): Likewise.
9978         * modules/unictype/category-Zs-tests (Files): Likewise.
9979         * modules/unictype/category-and-not-tests (Files): Likewise.
9980         * modules/unictype/category-and-tests (Files): Likewise.
9981         * modules/unictype/category-byname-tests (Files): Likewise.
9982         * modules/unictype/category-name-tests (Files): Likewise.
9983         * modules/unictype/category-none-tests (Files): Likewise.
9984         * modules/unictype/category-of-tests (Files): Likewise.
9985         * modules/unictype/category-or-tests (Files): Likewise.
9986         * modules/unictype/category-test-withtable-tests (Files): Likewise.
9987         * modules/unictype/combining-class-tests (Files): Likewise.
9988         * modules/unictype/ctype-alnum-tests (Files): Likewise.
9989         * modules/unictype/ctype-alpha-tests (Files): Likewise.
9990         * modules/unictype/ctype-blank-tests (Files): Likewise.
9991         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
9992         * modules/unictype/ctype-digit-tests (Files): Likewise.
9993         * modules/unictype/ctype-graph-tests (Files): Likewise.
9994         * modules/unictype/ctype-lower-tests (Files): Likewise.
9995         * modules/unictype/ctype-print-tests (Files): Likewise.
9996         * modules/unictype/ctype-punct-tests (Files): Likewise.
9997         * modules/unictype/ctype-space-tests (Files): Likewise.
9998         * modules/unictype/ctype-upper-tests (Files): Likewise.
9999         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
10000         * modules/unictype/decimal-digit-tests (Files): Likewise.
10001         * modules/unictype/digit-tests (Files): Likewise.
10002         * modules/unictype/mirror-tests (Files): Likewise.
10003         * modules/unictype/numeric-tests (Files): Likewise.
10004         * modules/unictype/property-alphabetic-tests (Files): Likewise.
10005         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
10006         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
10007         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
10008         Likewise.
10009         * modules/unictype/property-bidi-block-separator-tests (Files):
10010         Likewise.
10011         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
10012         Likewise.
10013         * modules/unictype/property-bidi-common-separator-tests (Files):
10014         Likewise.
10015         * modules/unictype/property-bidi-control-tests (Files): Likewise.
10016         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
10017         Likewise.
10018         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
10019         Likewise.
10020         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
10021         Likewise.
10022         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
10023         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
10024         Likewise.
10025         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
10026         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
10027         Likewise.
10028         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
10029         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
10030         * modules/unictype/property-bidi-segment-separator-tests (Files):
10031         Likewise.
10032         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
10033         * modules/unictype/property-byname-tests (Files): Likewise.
10034         * modules/unictype/property-combining-tests (Files): Likewise.
10035         * modules/unictype/property-composite-tests (Files): Likewise.
10036         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
10037         * modules/unictype/property-dash-tests (Files): Likewise.
10038         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
10039         * modules/unictype/property-default-ignorable-code-point-tests (Files):
10040         Likewise.
10041         * modules/unictype/property-deprecated-tests (Files): Likewise.
10042         * modules/unictype/property-diacritic-tests (Files): Likewise.
10043         * modules/unictype/property-extender-tests (Files): Likewise.
10044         * modules/unictype/property-format-control-tests (Files): Likewise.
10045         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
10046         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
10047         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
10048         * modules/unictype/property-hex-digit-tests (Files): Likewise.
10049         * modules/unictype/property-hyphen-tests (Files): Likewise.
10050         * modules/unictype/property-id-continue-tests (Files): Likewise.
10051         * modules/unictype/property-id-start-tests (Files): Likewise.
10052         * modules/unictype/property-ideographic-tests (Files): Likewise.
10053         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
10054         * modules/unictype/property-ids-trinary-operator-tests (Files):
10055         Likewise.
10056         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
10057         * modules/unictype/property-iso-control-tests (Files): Likewise.
10058         * modules/unictype/property-join-control-tests (Files): Likewise.
10059         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
10060         * modules/unictype/property-line-separator-tests (Files): Likewise.
10061         * modules/unictype/property-logical-order-exception-tests (Files):
10062         Likewise.
10063         * modules/unictype/property-lowercase-tests (Files): Likewise.
10064         * modules/unictype/property-math-tests (Files): Likewise.
10065         * modules/unictype/property-non-break-tests (Files): Likewise.
10066         * modules/unictype/property-not-a-character-tests (Files): Likewise.
10067         * modules/unictype/property-numeric-tests (Files): Likewise.
10068         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
10069         * modules/unictype/property-other-default-ignorable-code-point-tests
10070         (Files): Likewise.
10071         * modules/unictype/property-other-grapheme-extend-tests (Files):
10072         Likewise.
10073         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
10074         * modules/unictype/property-other-id-start-tests (Files): Likewise.
10075         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
10076         * modules/unictype/property-other-math-tests (Files): Likewise.
10077         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
10078         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
10079         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
10080         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
10081         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
10082         * modules/unictype/property-private-use-tests (Files): Likewise.
10083         * modules/unictype/property-punctuation-tests (Files): Likewise.
10084         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
10085         * modules/unictype/property-radical-tests (Files): Likewise.
10086         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
10087         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
10088         * modules/unictype/property-space-tests (Files): Likewise.
10089         * modules/unictype/property-terminal-punctuation-tests (Files):
10090         Likewise.
10091         * modules/unictype/property-test-tests (Files): Likewise.
10092         * modules/unictype/property-titlecase-tests (Files): Likewise.
10093         * modules/unictype/property-unassigned-code-value-tests (Files):
10094         Likewise.
10095         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
10096         * modules/unictype/property-uppercase-tests (Files): Likewise.
10097         * modules/unictype/property-variation-selector-tests (Files): Likewise.
10098         * modules/unictype/property-white-space-tests (Files): Likewise.
10099         * modules/unictype/property-xid-continue-tests (Files): Likewise.
10100         * modules/unictype/property-xid-start-tests (Files): Likewise.
10101         * modules/unictype/property-zero-width-tests (Files): Likewise.
10102         * modules/unictype/scripts-tests (Files): Likewise.
10103         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
10104         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
10105         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
10106         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
10107         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
10108         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
10109         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
10110         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
10111         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
10112         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
10113         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
10114         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
10115         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
10116         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
10117         * modules/uninorm/composition-tests (Files): Likewise.
10118         * modules/uninorm/decomposing-form-tests (Files): Likewise.
10119         * modules/uninorm/decomposition-tests (Files): Likewise.
10120         * modules/uninorm/filter-tests (Files): Likewise.
10121         * modules/uninorm/nfc-tests (Files): Likewise.
10122         * modules/uninorm/nfd-tests (Files): Likewise.
10123         * modules/uninorm/nfkc-tests (Files): Likewise.
10124         * modules/uninorm/nfkd-tests (Files): Likewise.
10125         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
10126         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
10127         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
10128         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
10129         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
10130         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
10131         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
10132         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
10133         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
10134         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
10135         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
10136         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
10137         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
10138         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
10139         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
10140         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
10141         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
10142         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
10143         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
10144         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
10145         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
10146         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
10147         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
10148         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
10149         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
10150         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
10151         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
10152         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
10153         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
10154         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
10155         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
10156         * modules/uniwidth/u8-width-tests (Files): Likewise.
10157         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
10158         * modules/uniwidth/u16-width-tests (Files): Likewise.
10159         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
10160         * modules/uniwidth/u32-width-tests (Files): Likewise.
10161         * modules/uniwidth/width-tests (Files): Likewise.
10162         * modules/unlink-tests (Files): Likewise.
10163         * modules/unsetenv-tests (Files): Likewise.
10164         * modules/usleep-tests (Files): Likewise.
10165         * modules/utimens-tests (Files): Likewise.
10166         * modules/utimensat-tests (Files): Likewise.
10167         * modules/vasnprintf-posix-tests (Files): Likewise.
10168         * modules/vasnprintf-tests (Files): Likewise.
10169         * modules/vasprintf-posix-tests (Files): Likewise.
10170         * modules/vasprintf-tests (Files): Likewise.
10171         * modules/vdprintf-posix-tests (Files): Likewise.
10172         * modules/vfprintf-posix-tests (Files): Likewise.
10173         * modules/vprintf-posix-tests (Files): Likewise.
10174         * modules/vsnprintf-posix-tests (Files): Likewise.
10175         * modules/vsnprintf-tests (Files): Likewise.
10176         * modules/vsprintf-posix-tests (Files): Likewise.
10177         * modules/wcrtomb-tests (Files): Likewise.
10178         * modules/wcsnrtombs-tests (Files): Likewise.
10179         * modules/wcsrtombs-tests (Files): Likewise.
10180         * modules/wctype-tests (Files): Likewise.
10181         * modules/wcwidth-tests (Files): Likewise.
10182         * modules/xmemdup0-tests (Files): Likewise.
10183         * modules/xprintf-posix-tests (Files): Likewise.
10184         * modules/xvasprintf-tests (Files): Likewise.
10185
10186 2009-12-24  Eric Blake  <ebb9@byu.net>
10187
10188         test-nanosleep: fix typo
10189         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
10190         patch.
10191         Reported by Bruno Haible.
10192
10193 2009-12-24  Bruno Haible  <bruno@clisp.org>
10194
10195         Reduce namespace pollution on glibc systems.
10196         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
10197         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
10198         systems.
10199         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
10200         <getopt.h> on glibc systems.
10201         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
10202         systems.
10203         * lib/fcntl.c: Include <unistd.h> here instead.
10204
10205 2009-12-24  Bruno Haible  <bruno@clisp.org>
10206
10207         * lib/stdlib.in.h (includes): Fix typo in today's commit.
10208
10209 2009-12-24  Eric Blake  <ebb9@byu.net>
10210
10211         tests: add signature checks
10212         * tests/signature.h (SIGNATURE_CHECK): New file.
10213         * modules/atexit-tests (Files): Use it.
10214         * modules/btowc-tests (Files): Likewise.
10215         * modules/canonicalize-lgpl-tests (Files): Likewise.
10216         * modules/ceilf-tests (Files): Likewise.
10217         * modules/ceill-tests (Files): Likewise.
10218         * modules/chown-tests (Files): Likewise.
10219         * modules/dprintf-posix-tests (Files): Likewise.
10220         * modules/dup2-tests (Files): Likewise.
10221         * modules/dup3-tests (Files): Likewise.
10222         * modules/duplocale-tests (Files): Likewise.
10223         * modules/fchdir-tests (Files): Likewise.
10224         * modules/fcntl-tests (Files): Likewise.
10225         * modules/fdopendir-tests (Files): Likewise.
10226         * modules/fflush-tests (Files): Likewise.
10227         * modules/flock-tests (Files): Likewise.
10228         * modules/floorf-tests (Files): Likewise.
10229         * modules/floorl-tests (Files): Likewise.
10230         * modules/fnmatch-tests (Files): Likewise.
10231         * modules/fopen-tests (Files): Likewise.
10232         * modules/fprintf-posix-tests (Files): Likewise.
10233         * modules/freopen-tests (Files): Likewise.
10234         * modules/frexp-nolibm-tests (Files): Likewise.
10235         * modules/frexp-tests (Files): Likewise.
10236         * modules/frexpl-nolibm-tests (Files): Likewise.
10237         * modules/frexpl-tests (Files): Likewise.
10238         * modules/fseek-tests (Files): Likewise.
10239         * modules/fseeko-tests (Files): Likewise.
10240         * modules/fsync-tests (Files): Likewise.
10241         * modules/ftell-tests (Files): Likewise.
10242         * modules/ftello-tests (Files): Likewise.
10243         * modules/futimens-tests (Files): Likewise.
10244         * modules/getaddrinfo-tests (Files): Likewise.
10245         * modules/getcwd-tests (Files): Likewise.
10246         * modules/getdelim-tests (Files): Likewise.
10247         * modules/getdtablesize-tests (Files): Likewise.
10248         * modules/getgroups-tests (Files): Likewise.
10249         * modules/gethostname-tests (Files): Likewise.
10250         * modules/getline-tests (Files): Likewise.
10251         * modules/getopt-posix-tests (Files): Likewise.
10252         * modules/gettimeofday-tests (Files): Likewise.
10253         * modules/glob-tests (Files): Likewise.
10254         * modules/iconv-tests (Files): Likewise.
10255         * modules/inet_ntop-tests (Files): Likewise.
10256         * modules/inet_pton-tests (Files): Likewise.
10257         * modules/isblank-tests (Files): Likewise.
10258         * modules/lchown-tests (Files): Likewise.
10259         * modules/ldexpl-tests (Files): Likewise.
10260         * modules/link-tests (Files): Likewise.
10261         * modules/linkat-tests (Files): Likewise.
10262         * modules/lseek-tests (Files): Likewise.
10263         * modules/lstat-tests (Files): Likewise.
10264         * modules/mbrtowc-tests (Files): Likewise.
10265         * modules/mbsinit-tests (Files): Likewise.
10266         * modules/mbsnrtowcs-tests (Files): Likewise.
10267         * modules/mbsrtowcs-tests (Files): Likewise.
10268         * modules/memchr-tests (Files): Likewise.
10269         * modules/memcmp-tests (Files): Likewise.
10270         * modules/memmem-tests (Files): Likewise.
10271         * modules/memrchr-tests (Files): Likewise.
10272         * modules/mkdir-tests (Files): Likewise.
10273         * modules/mkfifo-tests (Files): Likewise.
10274         * modules/mkfifoat-tests (Files): Likewise.
10275         * modules/mknod-tests (Files): Likewise.
10276         * modules/nanosleep-tests (Files): Likewise.
10277         * modules/nl_langinfo-tests (Files): Likewise.
10278         * modules/obstack-printf-tests (Files): Likewise.
10279         * modules/open-tests (Files): Likewise.
10280         * modules/openat-tests (Files): Likewise.
10281         * modules/perror-tests (Files): Likewise.
10282         * modules/pipe2-tests (Files): Likewise.
10283         * modules/poll-tests (Files): Likewise.
10284         * modules/popen-tests (Files): Likewise.
10285         * modules/posix_spawn-tests (Files): Likewise.
10286         * modules/posix_spawnp-tests (Files): Likewise.
10287         * modules/pread-tests (Files): Likewise.
10288         * modules/printf-posix-tests (Files): Likewise.
10289         * modules/pty-tests (Files): Likewise.
10290         * modules/random_r-tests (Files): Likewise.
10291         * modules/rawmemchr-tests (Files): Likewise.
10292         * modules/readlink-tests (Files): Likewise.
10293         * modules/remove-tests (Files): Likewise.
10294         * modules/rename-tests (Files): Likewise.
10295         * modules/renameat-tests (Files): Likewise.
10296         * modules/rmdir-tests (Files): Likewise.
10297         * modules/round-tests (Files): Likewise.
10298         * modules/roundf-tests (Files): Likewise.
10299         * modules/roundl-tests (Files): Likewise.
10300         * modules/select-tests (Files): Likewise.
10301         * modules/setenv-tests (Files): Likewise.
10302         * modules/sigaction-tests (Files): Likewise.
10303         * modules/sleep-tests (Files): Likewise.
10304         * modules/snprintf-posix-tests (Files): Likewise.
10305         * modules/snprintf-tests (Files): Likewise.
10306         * modules/sprintf-posix-tests (Files): Likewise.
10307         * modules/stat-tests (Files): Likewise.
10308         * modules/strcasestr-tests (Files): Likewise.
10309         * modules/strchrnul-tests (Files): Likewise.
10310         * modules/strerror-tests (Files): Likewise.
10311         * modules/strsignal-tests (Files): Likewise.
10312         * modules/strstr-tests (Files): Likewise.
10313         * modules/strtod-tests (Files): Likewise.
10314         * modules/strverscmp-tests (Files): Likewise.
10315         * modules/symlink-tests (Files): Likewise.
10316         * modules/symlinkat-tests (Files): Likewise.
10317         * modules/times-tests (Files): Likewise.
10318         * modules/trunc-tests (Files): Likewise.
10319         * modules/truncf-tests (Files): Likewise.
10320         * modules/truncl-tests (Files): Likewise.
10321         * modules/tsearch-tests (Files): Likewise.
10322         * modules/uname-tests (Files): Likewise.
10323         * modules/unlink-tests (Files): Likewise.
10324         * modules/unsetenv-tests (Files): Likewise.
10325         * modules/usleep-tests (Files): Likewise.
10326         * modules/utimensat-tests (Files): Likewise.
10327         * modules/vasprintf-tests (Files): Likewise.
10328         * modules/vdprintf-posix-tests (Files): Likewise.
10329         * modules/vfprintf-posix-tests (Files): Likewise.
10330         * modules/vprintf-posix-tests (Files): Likewise.
10331         * modules/vsnprintf-posix-tests (Files): Likewise.
10332         * modules/vsnprintf-tests (Files): Likewise.
10333         * modules/vsprintf-posix-tests (Files): Likewise.
10334         * modules/wcrtomb-tests (Files): Likewise.
10335         * modules/wcsnrtombs-tests (Files): Likewise.
10336         * modules/wcsrtombs-tests (Files): Likewise.
10337         * modules/wcwidth-tests (Files): Likewise.
10338         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
10339         * tests/test-isinf.c (isinf): Likewise.
10340         * tests/test-isnan.c (isnan): Likewise.
10341         * tests/test-signbit.c (signbit): Likewise.
10342         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
10343         declaration, either as macro or with correct signature.
10344         (select): Ensure function under test is declared with correct
10345         signature in correct header.
10346         * tests/test-atexit.c (atexit): Likewise.
10347         * tests/test-btowc.c (btowc): Likewise.
10348         * tests/test-canonicalize-lgpl.c (realpath)
10349         (canonicalize_file_name): Likewise.
10350         * tests/test-ceilf1.c (ceilf): Likewise.
10351         * tests/test-ceill.c (ceill): Likewise.
10352         * tests/test-chown.c (chown): Likewise.
10353         * tests/test-dprintf-posix.c (dprintf): Likewise.
10354         * tests/test-dup2.c (dup2): Likewise.
10355         * tests/test-dup3.c (dup3): Likewise.
10356         * tests/test-duplocale.c (duplocale): Likewise.
10357         * tests/test-fchdir.c (fchdir): Likewise.
10358         * tests/test-fchownat.c (fchownat): Likewise.
10359         * tests/test-fcntl.c (fcntl): Likewise.
10360         * tests/test-fdopendir.c (fdopendir): Likewise.
10361         * tests/test-fflush.c (fflush): Likewise.
10362         * tests/test-flock.c (flock): Likewise.
10363         * tests/test-floorf1.c (floorf): Likewise.
10364         * tests/test-floorl.c (floorl): Likewise.
10365         * tests/test-fnmatch.c (fnmatch): Likewise.
10366         * tests/test-fopen.c (fopen): Likewise.
10367         * tests/test-fprintf-posix.c (fprintf): Likewise.
10368         * tests/test-freopen.c (freopen): Likewise.
10369         * tests/test-frexp.c (frexp): Likewise.
10370         * tests/test-frexpl.c (frexpl): Likewise.
10371         * tests/test-fseek.c (fseek): Likewise.
10372         * tests/test-fseeko.c (fseeko): Likewise.
10373         * tests/test-fstatat.c (fstatat): Likewise.
10374         * tests/test-fsync.c (fsync): Likewise.
10375         * tests/test-ftell.c (ftell): Likewise.
10376         * tests/test-ftello.c (ftello): Likewise.
10377         * tests/test-futimens.c (futimens): Likewise.
10378         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
10379         (gai_strerror): Likewise.
10380         * tests/test-getcwd.c (getcwd): Likewise.
10381         * tests/test-getdelim.c (getdelim): Likewise.
10382         * tests/test-getdtablesize.c (getdtablesize): Likewise.
10383         * tests/test-getgroups.c (getgroups): Likewise.
10384         * tests/test-gethostname.c (gethostname): Likewise.
10385         * tests/test-getline.c (getline): Likewise.
10386         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
10387         Likewise.
10388         * tests/test-gettimeofday.c (gettimeofday): Likewise.
10389         * tests/test-glob.c (glob, globfree): Likewise.
10390         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
10391         * tests/test-inet_ntop.c (inet_ntop): Likewise.
10392         * tests/test-inet_pton.c (inet_pton): Likewise.
10393         * tests/test-isblank.c (isblank): Likewise.
10394         * tests/test-lchown.c (lchown): Likewise.
10395         * tests/test-ldexpl.c (ldexpl): Likewise.
10396         * tests/test-link.c (link): Likewise.
10397         * tests/test-linkat.c (linkat): Likewise.
10398         * tests/test-lseek.c (lseek): Likewise.
10399         * tests/test-lstat.c (lstat): Likewise.
10400         * tests/test-mbrtowc.c (mbrtowc): Likewise.
10401         * tests/test-mbsinit.c (mbsinit): Likewise.
10402         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
10403         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
10404         * tests/test-memchr.c (memchr): Likewise.
10405         * tests/test-memcmp.c (memcmp): Likewise.
10406         * tests/test-memmem.c (memmem): Likewise.
10407         * tests/test-memrchr.c (memrchr): Likewise.
10408         * tests/test-mkdir.c (mkdir): Likewise.
10409         * tests/test-mkdirat.c (mkdirat): Likewise.
10410         * tests/test-mkfifo.c (mkfifo): Likewise.
10411         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
10412         * tests/test-mknod.c (mknod): Likewise.
10413         * tests/test-nanosleep.c (nanosleep): Likewise.
10414         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
10415         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
10416         Likewise.
10417         * tests/test-open.c (open): Likewise.
10418         * tests/test-openat.c (openat): Likewise.
10419         * tests/test-perror.c (perror): Likewise.
10420         * tests/test-pipe2.c (pipe2): Likewise.
10421         * tests/test-poll.c (poll): Likewise.
10422         * tests/test-popen.c (popen, pclose): Likewise.
10423         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
10424         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
10425         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
10426         (posix_spawn_file_actions_destroy)
10427         (posix_spawn_file_actions_addclose)
10428         (posix_spawn_file_actions_addopen)
10429         (posix_spawn_file_actions_adddup2): Likewise.
10430         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
10431         * tests/test-pread.c (pread): Likewise.
10432         * tests/test-printf-posix.c (printf): Likewise.
10433         * tests/test-pty.c (openpty, forkpty): Likewise.
10434         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
10435         (random_r): Likewise.
10436         * tests/test-rawmemchr.c (rawmemchr): Likewise.
10437         * tests/test-readlink.c (readlink): Likewise.
10438         * tests/test-remove.c (remove): Likewise.
10439         * tests/test-rename.c (rename): Likewise.
10440         * tests/test-renameat.c (renameat): Likewise.
10441         * tests/test-rmdir.c (rmdir): Likewise.
10442         * tests/test-round1.c (round): Likewise.
10443         * tests/test-roundf1.c (roundf): Likewise.
10444         * tests/test-roundl.c (roundl): Likewise.
10445         * tests/test-setenv.c (setenv): Likewise.
10446         * tests/test-sigaction.c (sigaction): Likewise.
10447         * tests/test-sleep.c (sleep): Likewise.
10448         * tests/test-snprintf.c (snprintf): Likewise.
10449         * tests/test-sprintf-posix.c (sprintf): Likewise.
10450         * tests/test-stat.c (stat): Likewise.
10451         * tests/test-stpncpy.c (stpncpy): Likewise.
10452         * tests/test-strcasestr.c (strcasestr): Likewise.
10453         * tests/test-strchrnul.c (strchrnul): Likewise.
10454         * tests/test-strerror.c (strerror): Likewise.
10455         * tests/test-strsignal.c (strsignal): Likewise.
10456         * tests/test-strstr.c (strstr): Likewise.
10457         * tests/test-strtod.c (strtod): Likewise.
10458         * tests/test-strverscmp.c (strverscmp): Likewise.
10459         * tests/test-symlink.c (symlink): Likewise.
10460         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
10461         * tests/test-times.c (times): Likewise.
10462         * tests/test-trunc1.c (trunc): Likewise.
10463         * tests/test-truncf1.c (truncf): Likewise.
10464         * tests/test-truncl.c (truncl): Likewise.
10465         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
10466         Likewise.
10467         * tests/test-uname.c (uname): Likewise.
10468         * tests/test-unlink.c (unlink): Likewise.
10469         * tests/test-unlinkat.c (unlinkat): Likewise.
10470         * tests/test-unsetenv.c (unsetenv): Likewise.
10471         * tests/test-usleep.c (usleep): Likewise.
10472         * tests/test-utimensat.c (utimensat): Likewise.
10473         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
10474         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
10475         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
10476         * tests/test-vprintf-posix.c (vprintf): Likewise.
10477         * tests/test-vsnprintf.c (vsnprintf): Likewise.
10478         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
10479         * tests/test-wcrtomb.c (wcrtomb): Likewise.
10480         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
10481         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
10482         * tests/test-wcwidth.c (wcwidth): Likewise.
10483
10484         build: pull in conditional headers during GNULIB_POSIXCHECK
10485         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
10486         definitions from any conditionally-included headers.
10487         * lib/stdlib.in.h (includes): Likewise.
10488         * lib/unistd.in.h (includes): Likewise.
10489
10490 2009-12-24  Bruno Haible  <bruno@clisp.org>
10491
10492         * tests/test-argv-iter.c: Include header file being tested immediately
10493         after config.h.
10494         * tests/test-base64.c: Likewise.
10495         * tests/test-flock.c: Likewise.
10496         * tests/test-fsync.c: Likewise.
10497         * tests/test-getdate.c: Likewise.
10498         * tests/test-getndelim2.c: Likewise.
10499         * tests/test-isfinite.c: Likewise.
10500         * tests/test-isinf.c: Likewise.
10501         * tests/test-strerror.c: Likewise.
10502         * tests/test-strsignal.c: Likewise.
10503
10504 2009-12-23  Eric Blake  <ebb9@byu.net>
10505
10506         unistd: work around cygwin bug
10507         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
10508         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
10509         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
10510
10511 2009-12-23  Bruno Haible  <bruno@clisp.org>
10512
10513         localename: More tests.
10514         * tests/test-localename.c (SIZEOF): New macro.
10515         (categories): New variable.
10516         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
10517         test_locale_name_default): Add test w.r.t. thread locale.
10518         (test_locale_name_thread): New function.
10519         (main): Invoke it.
10520
10521         localename: Make aware of thread locale.
10522         * lib/localename.h (gl_locale_name_thread): New declaration.
10523         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
10524         behaviour with respect to thread locale.
10525         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
10526         <langinfo.h>, glthread/lock.h.
10527         (SIZE_BITS): New macro.
10528         (string_hash): New function.
10529         (struct hash_node): New type.
10530         (HASH_TABLE_SIZE): New macro.
10531         (struniq_hash_table, struniq_lock): New variables.
10532         (struniq): New function.
10533         (gl_locale_name_thread): New function.
10534         (gl_locale_name): Invoke it.
10535         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
10536         * modules/localename (Depends-on): Add lock.
10537         Reported by Mike Gran <spk121@yahoo.com>.
10538
10539 2009-12-23  Eric Blake  <ebb9@byu.net>
10540
10541         va-args: new module
10542         * modules/va-args: New file.
10543         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
10544         * MODULES.html.sh (Core language properties): Mention it.
10545
10546         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
10547         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
10548         named alias for __attribute__((__unused__)).
10549         * lib/chown.c: Update client.
10550         * lib/fchmodat.c: Likewise.
10551         * lib/fts.c: Likewise.
10552         * lib/getdate.y: Likewise.
10553         * lib/getgroups.c: Likewise.
10554         * lib/getopt.c: Likewise.
10555         * lib/getugroups.c: Likewise.
10556         * lib/mkdir.c: Likewise.
10557         * lib/mkfifo.c: Likewise.
10558         * lib/mkfifoat.c: Likewise.
10559         * lib/mknod.c: Likewise.
10560         * lib/mknodat.c: Likewise.
10561         * lib/readlink.c: Likewise.
10562         * lib/se-context.in.h: Likewise.
10563         * lib/se-selinux.in.h: Likewise.
10564         * lib/sockets.c: Likewise.
10565         * lib/symlink.c: Likewise.
10566         * lib/symlinkat.c: Likewise.
10567         * lib/unicodeio.c: Likewise.
10568         * lib/unistr.h: Likewise.
10569         * tests/test-areadlink.c: Likewise.
10570         * tests/test-areadlinkat.c: Likewise.
10571         * tests/test-filenamecat.c: Likewise.
10572         * tests/test-fseeko.c: Likewise.
10573         * tests/test-ftello.c: Likewise.
10574         * tests/test-getdate.c: Likewise.
10575         * tests/test-getgroups.c: Likewise.
10576         * tests/test-gethostname.c: Likewise.
10577         * tests/test-quotearg.c: Likewise.
10578         * tests/test-version-etc.c: Likewise.
10579         * tests/test-xalloc-die.c: Likewise.
10580         * tests/test-xfprintf-posix.c: Likewise.
10581         * tests/test-xprintf-posix.c: Likewise.
10582         * tests/test-xvasprintf.c: Likewise.
10583
10584         tests: avoid compiler warnings
10585         * tests/test-fcntl.c (main): Delete unused parameters.
10586         * tests/test-freopen-safer.c (main): Likewise.
10587         * tests/test-xalloc-die.c (main): Mark unused parameters.
10588         * tests/test-fseeko.c (main): Likewise.
10589         * tests/test-ftello.c (main): Likewise.
10590         * tests/test-nanosleep.c (main): Avoid declaration warning.
10591         * tests/test-sleep.c (main): Likewise.
10592         * tests/test-unsetenv.c (main): Silence warning about string
10593         literal.
10594         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
10595
10596 2009-12-23  Bruno Haible  <bruno@clisp.org>
10597
10598         * tests/test-localename.c (test_locale_name): New function, extracted
10599         from main. Also test mixed situations.
10600         (test_locale_name_posix, test_locale_name_environ,
10601         test_locale_name_default): New functions.
10602         (main): Invoke them all.
10603         * modules/localename-tests (configure.ac): Test for newlocale.
10604
10605 2009-12-23  Bruno Haible  <bruno@clisp.org>
10606
10607         unistd: Ensure getcwd gets declared before being overridden.
10608         * lib/unistd.in.h: Conditionally include <io.h>.
10609
10610 2009-12-22  Bruno Haible  <bruno@clisp.org>
10611
10612         wchar: Diagnose broken combination of glibc and gcc versions and flags.
10613         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
10614         (gl_WCHAR_H): Invoke it.
10615         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
10616         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
10617         Reported by Karl Berry <karl@freefriends.org>.
10618
10619 2009-12-22  Eric Blake  <ebb9@byu.net>
10620
10621         math, unistd: avoid redundant includes
10622         * lib/math.in.h (isnan): No need to re-include <math.h>.
10623         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
10624
10625         getsubopt: work around cygwin bug
10626         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
10627         avoid conflicting with system getsubopt.
10628         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
10629         bug.
10630
10631         getopt: synchronize from glibc
10632         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
10633         parameter order.  Adjust all callers.
10634         (_getopt_internal_r, main): Adjust quoting in error messages.
10635         Drop considerations for outdated POSIX 1003.2 error message.
10636         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
10637         callers.
10638         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
10639
10640         test-getopt: test stderr behavior
10641         * modules/getopt-posix-tests (Depends-on): Add dup2.
10642         * tests/test-getopt.c (ASSERT): Avoid stderr.
10643         (main): Move stderr to a temporary file.
10644         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
10645         Instead, add parameter to inform caller if output occurred.
10646         (test_getopt): Adjust all existing tests to expect silence, and
10647         add new tests of leading ":".
10648         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
10649         glibc shortcomings with leading "-:" or "+:" in optstring.
10650         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
10651         Likewise.
10652         * doc/posix-functions/getopt.texi (getopt): Likewise.
10653
10654         test-getopt: enhance test
10655         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
10656         supports optind=0.
10657         * tests/test-getopt.c (OPTIND_MIN): Move...
10658         * tests/test-getopt.h (OPTIND_MIN): ...here.
10659         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
10660         Require that optind=0 works, since modern BSD supports it in
10661         addition to optreset, and since coreutils expects it.
10662         (test_getopt_long_only): New test.
10663         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
10664         glibc shortcomings with 'W;', and enforcement of optind=0.
10665         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
10666         Likewise.
10667
10668 2009-12-21  Bruno Haible  <bruno@clisp.org>
10669
10670         localename: Improvements for MacOS X and Cygwin.
10671         * lib/localename.h (gl_locale_name_environ): New declaration.
10672         * lib/localename.c (gl_locale_name_environ): New function, extracted from
10673         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
10674         (gl_locale_name_posix): Invoke it.
10675         (gl_locale_name_default): Add comments. Use Windows native API also on
10676         Cygwin.
10677
10678 2009-12-21  Bruno Haible  <bruno@clisp.org>
10679
10680         Update list of Win32 locale ids.
10681         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
10682         (LANG_SAMI): Renamed from LANG_SAAMI.
10683         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
10684         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
10685         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
10686         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
10687         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
10688         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
10689         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
10690         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
10691         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
10692         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
10693         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
10694         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
10695         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
10696         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
10697         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
10698         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
10699         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
10700         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
10701         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
10702         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
10703         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
10704         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
10705         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
10706         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
10707         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
10708         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
10709         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
10710         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
10711         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
10712         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
10713         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
10714         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
10715         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
10716         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
10717         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
10718         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
10719         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
10720         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
10721         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
10722         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
10723         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
10724         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
10725         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
10726         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
10727         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
10728         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
10729         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
10730         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
10731         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
10732         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
10733         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
10734         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
10735         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
10736         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
10737         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
10738         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
10739         Add more languages and countries for Sami, Sorbian. Add more countries
10740         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
10741         for Pashto. Change country for Syriac, Tswana.
10742
10743 2009-12-21  Eric Blake  <ebb9@byu.net>
10744
10745         test-utimens: avoid spurious failure
10746         * tests/test-chown.h (nap): Factor...
10747         * tests/nap.h: ...into new file.
10748         * tests/test-lchown.h (nap): Avoid duplication.
10749         * tests/test-utimens-common.h (nap): Use shared implementation,
10750         necessary on file systems with 1-second resolution.
10751         * modules/chown-tests (Files): Include new file.
10752         * modules/fdutimensat-tests (Files): Likewise.
10753         * modules/futimens-tests (Files): Likewise.
10754         * modules/lchown-tests (Files): Likewise.
10755         * modules/openat-tests (Files): Likewise.
10756         * modules/utimens-tests (Files): Likewise.
10757         * modules/utimensat-tests (Files): Likewise.
10758
10759 2009-12-19  Eric Blake  <ebb9@byu.net>
10760
10761         futimens, utimensat: work around Linux bug
10762         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
10763         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
10764         * lib/utimensat.c (rpl_utimensat): Work around it.
10765         * lib/futimens.c (rpl_futimens): Adjust comment.
10766
10767         utimens: work around Linux ctime bug
10768         * lib/utimens.c (detect_ctime_bug): New helper function.
10769         (update_timespec): Differentiate between workaround needed for
10770         this bug vs. what is needed for systems that lack utimensat.
10771         (fdutimens, lutimens): Work around bug.
10772
10773         utimens: check for ctime update
10774         * tests/test-utimens-common.h (check_ctime): Define.
10775         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
10776         * tests/test-futimens.h (test_futimens): Likewise.
10777         * tests/test-lutimens.h (test_lutimens): Likewise.
10778         * doc/posix-functions/futimens.texi (futimens): Document the bug.
10779         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
10780
10781 2009-12-19  Bruno Haible  <bruno@clisp.org>
10782
10783         dprintf-posix: Check against memory leak fixed on 2009-12-15.
10784         * tests/test-dprintf-posix2.sh: New file.
10785         * tests/test-dprintf-posix2.c: New file.
10786         * modules/dprintf-posix-tests (Files): Add them.
10787         (configure.ac): Check for getrlimit and setrlimit.
10788         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
10789
10790 2009-12-19  Bruno Haible  <bruno@clisp.org>
10791
10792         fprintf-posix: Check against memory leak fixed on 2009-12-15.
10793         * tests/test-fprintf-posix3.sh: New file.
10794         * tests/test-fprintf-posix3.c: New file.
10795         * modules/fprintf-posix-tests (Files): Add them.
10796         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
10797
10798 2009-12-19  Eric Blake  <ebb9@byu.net>
10799
10800         dirfd: fix prototype
10801         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
10802         * lib/dirfd.c (dirfd): Likewise.
10803
10804         canonicalize: reduce memory usage
10805         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
10806         allocation to size.
10807         Reported by Solar Designer <solar@openwall.com>.
10808
10809 2009-12-19  Bruno Haible  <bruno@clisp.org>
10810
10811         New module attribute 'Applicability'.
10812         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
10813         * gnulib-tool: New option --extract-applicability.
10814         (func_usage): Document it.
10815         (sed_extract_prog): Recognize it.
10816         (func_get_applicability): New function.
10817         (func_import): Generalize handling of 'link-warning' module.
10818         * modules/link-warning (Applicability): New section.
10819         * modules/arg-nonnull (Applicability): New section.
10820         Repoted by Simon Josefsson <simon@josefsson.org>.
10821
10822 2009-12-19  Bruno Haible  <bruno@clisp.org>
10823
10824         fflush: tweak
10825         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
10826         * lib/fseeko.c (rpl_fseeko): Likewise.
10827
10828 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
10829
10830         * lib/gl_list.h: Fix typo in comment.
10831
10832 2009-12-16  Eric Blake  <ebb9@byu.net>
10833
10834         fcntl: use to simplify other modules
10835         * modules/cloexec (Depends-on): Add fcntl.
10836         * modules/fchdir (Depends-on): Likewise.
10837         * modules/fd-safer-flag (Depends-on): Likewise.
10838         * modules/unistd-safer (Depends-on): Likewise.
10839         * modules/dup3 (configure.ac): Set module indicator.
10840         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
10841         missing.
10842         * lib/fchdir.c (_gl_register_dup): Fix comment.
10843         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
10844         * lib/dup-safer.c (dup_safer): Likewise.
10845         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
10846         * lib/dup3.c (dup3): Likewise.
10847         * tests/test-fchdir.c (main): Enhance test.
10848         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
10849
10850         fcntl: port portions of fcntl to mingw
10851         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
10852         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
10853         replacement for mingw.
10854         * modules/fcntl (Description): Update.
10855         (Depends-on): Add dup2.
10856         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
10857         * modules/fcntl-h (Makefile.am): Substitute it.
10858         * lib/fcntl.in.h (fcntl): Update declaration.
10859         (F_DUPFD, F_GETFD): New macros, when needed.
10860         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
10861         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
10862         * tests/test-fcntl.c (check_flags, main): Enhance test for items
10863         we now guarantee.
10864
10865         fcntl: work around cygwin bug in F_DUPFD
10866         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
10867         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
10868         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
10869         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
10870         * doc/posix-functions/fcntl.texi (fcntl): Document it.
10871
10872         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
10873         * modules/fcntl (Files): List new files.
10874         (configure.ac): Run a test.
10875         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
10876         * lib/fcntl.c (rpl_fcntl): Likewise.
10877         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
10878         (gl_FCNTL_H): Always replace fcntl.h.
10879         * modules/fcntl-h (Makefile.am): Substitute witnesses.
10880         * lib/fcntl.in.h (fcntl): Declare replacement.
10881         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
10882         needed, plus a witness.
10883         * doc/posix-functions/fcntl.texi (fcntl): Document this.
10884         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
10885         * tests/test-fcntl.c: New file.
10886         * modules/fcntl-tests: Likewise.
10887
10888         binary-io: avoid potential compilation warning
10889         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
10890         directives.
10891
10892         fflush: avoid compilation error on NetBSD
10893         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
10894         between off_t and fpos_t, since the latter is sometimes a struct.
10895         * lib/fseeko.c (rpl_fseeko): Likewise.
10896         Reported by Alexander Nasonov <alnsn@yandex.ru>.
10897
10898 2009-12-15  Eric Blake  <ebb9@byu.net>
10899
10900         fcntl-h, stdio, sys_ioctl: fix declarations
10901         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
10902         function must not take arguments.
10903         * lib/sys_ioctl.in.h (ioctl): Likewise.
10904         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
10905         (open): Add a link warning.
10906
10907 2009-12-15  Jim Meyering  <meyering@redhat.com>
10908
10909         areadlink, areadlink-with-size: relax license to LGPLv2+
10910         * modules/areadlink (License): Relax to LGPLv2+.
10911         * modules/areadlink-with-size (License): Likewise.
10912
10913 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
10914             Bruno Haible  <bruno@clisp.org>
10915
10916         *printf: Fix memory leak.
10917         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
10918         * lib/vfprintf.c (vfprintf): Likewise.
10919         * lib/dprintf.c (dprintf): Likewise.
10920         * lib/vdprintf.c (vdprintf): Likewise.
10921
10922 2009-12-14  Eric Blake  <ebb9@byu.net>
10923
10924         accept4: adjust module dependencies
10925         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
10926
10927         utimens: one more try at avoiding compiler warning
10928         * lib/utimens.c (lutimens): Lower scope of result.
10929
10930 2009-12-13  Bruno Haible  <bruno@clisp.org>
10931
10932         Move the malloc checking from module 'list' to new module 'xlist'.
10933         * modules/xlist: New file.
10934         * lib/gl_xlist.h: New file.
10935         * lib/gl_xlist.c: New file.
10936         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
10937         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
10938         gl_list_add_last, gl_list_add_before, gl_list_add_after,
10939         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
10940         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
10941         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
10942         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
10943         gl_sortedlist_nx_add): New declarations.
10944         (struct gl_list_implementation): Rename and change methods accordingly.
10945         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
10946         (gl_list_nx_create): Renamed from gl_list_create.
10947         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
10948         (gl_list_nx_set_at): Renamed from gl_list_set_at.
10949         (gl_list_nx_add_first): Renamed from gl_list_add_first.
10950         (gl_list_nx_add_last): Renamed from gl_list_add_last.
10951         (gl_list_nx_add_before): Renamed from gl_list_add_before.
10952         (gl_list_nx_add_after): Renamed from gl_list_add_after.
10953         (gl_list_nx_add_at): Renamed from gl_list_add_at.
10954         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
10955         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
10956         gl_list_create_empty.
10957         (gl_list_nx_create): Renamed from gl_list_create.
10958         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
10959         (gl_list_nx_set_at): Renamed from gl_list_set_at.
10960         (gl_list_nx_add_first): Renamed from gl_list_add_first.
10961         (gl_list_nx_add_last): Renamed from gl_list_add_last.
10962         (gl_list_nx_add_before): Renamed from gl_list_add_before.
10963         (gl_list_nx_add_after): Renamed from gl_list_add_after.
10964         (gl_list_nx_add_at): Renamed from gl_list_add_at.
10965         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
10966         * lib/gl_array_list.c: Don't include xalloc.h.
10967         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
10968         NULL upon out-of-memory.
10969         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
10970         out-of-memory.
10971         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
10972         Change return type to 'int'.
10973         (gl_array_nx_set_at): Renamed from gl_array_set_at.
10974         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
10975         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
10976         upon out-of-memory.
10977         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
10978         upon out-of-memory.
10979         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
10980         upon out-of-memory.
10981         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
10982         upon out-of-memory.
10983         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
10984         out-of-memory.
10985         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
10986         Update.
10987         (gl_array_list_implementation): Update.
10988         * lib/gl_carray_list.c: Don't include xalloc.h.
10989         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
10990         Return NULL upon out-of-memory.
10991         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
10992         out-of-memory.
10993         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
10994         Change return type to 'int'.
10995         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
10996         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
10997         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
10998         upon out-of-memory.
10999         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
11000         upon out-of-memory.
11001         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
11002         out-of-memory.
11003         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
11004         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
11005         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
11006         Update.
11007         (gl_carray_list_implementation): Update.
11008         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
11009         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
11010         gl_linked_create_empty. Return NULL upon out-of-memory.
11011         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
11012         out-of-memory.
11013         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
11014         Change return type to 'int'. Return -1 upon out-of-memory.
11015         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
11016         out-of-memory.
11017         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
11018         upon out-of-memory.
11019         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
11020         upon out-of-memory.
11021         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
11022         NULL upon out-of-memory.
11023         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
11024         upon out-of-memory.
11025         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
11026         out-of-memory.
11027         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
11028         Update.
11029         * lib/gl_linked_list.c: Don't include xalloc.h.
11030         (gl_linked_list_implementation): Update.
11031         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
11032         (add_to_bucket): Change return type to 'int'.
11033         (gl_linkedhash_list_implementation): Update.
11034         * lib/gl_anytree_list1.h (free_subtree): New function.
11035         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
11036         gl_tree_create_empty. Return NULL upon out-of-memory.
11037         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
11038         Change return type to 'int'. Return -1 upon out-of-memory.
11039         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
11040         out-of-memory.
11041         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
11042         (gl_tree_remove_node): New function, moved here from
11043         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
11044         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
11045         Update.
11046         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
11047         malloc, not xmalloc. Return NULL upon out-of-memory.
11048         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
11049         out-of-memory.
11050         (gl_tree_remove_node_from_tree): New function, extracted from
11051         gl_tree_remove_node.
11052         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
11053         upon out-of-memory.
11054         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
11055         out-of-memory.
11056         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
11057         upon out-of-memory.
11058         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
11059         upon out-of-memory.
11060         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
11061         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
11062         not xmalloc. Return NULL upon out-of-memory.
11063         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
11064         out-of-memory.
11065         (gl_tree_remove_node_from_tree): New function, extracted from
11066         gl_tree_remove_node.
11067         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
11068         upon out-of-memory.
11069         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
11070         out-of-memory.
11071         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
11072         upon out-of-memory.
11073         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
11074         upon out-of-memory.
11075         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
11076         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
11077         gl_anytree_list1.h before gl_anyavltree_list2.h.
11078         (gl_avltree_list_implementation): Update.
11079         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
11080         gl_anytree_list1.h before gl_anyavltree_list2.h.
11081         (gl_rbtree_list_implementation): Update.
11082         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
11083         Change return type to 'int'. Return -1 upon out-of-memory. Use
11084         __builtin_expect.
11085         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
11086         (gl_avltreehash_list_implementation): Update.
11087         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
11088         (gl_rbtreehash_list_implementation): Update.
11089         * modules/array-list (Depends-on): Remove xalloc.
11090         * modules/carray-list (Depends-on): Likewise.
11091         * modules/linked-list (Depends-on): Likewise.
11092         * modules/linkedhash-list (Depends-on): Likewise.
11093         * modules/avltree-list (Depends-on): Likewise.
11094         * modules/rbtree-list (Depends-on): Likewise.
11095         * modules/avltreehash-list (Depends-on): Likewise.
11096         * modules/rbtreehash-list (Depends-on): Likewise.
11097
11098         * modules/xsublist: New file.
11099         * lib/gl_xsublist.h: New file.
11100         * lib/gl_xsublist.c: New file.
11101         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
11102         (gl_sublist_nx_create): New declaration.
11103         * lib/gl_sublist.c: Don't include xalloc.h.
11104         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
11105         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
11106         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
11107         Change return type to 'int'. Return -1 upon out-of-memory.
11108         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
11109         upon out-of-memory.
11110         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
11111         NULL upon out-of-memory.
11112         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
11113         upon out-of-memory.
11114         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
11115         NULL upon out-of-memory.
11116         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
11117         NULL upon out-of-memory.
11118         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
11119         upon out-of-memory.
11120         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
11121         (gl_sublist_list_implementation): Update.
11122         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
11123         upon out-of-memory.
11124         * modules/sublist (Depends-on): Remove xalloc.
11125
11126         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
11127         * tests/test-carray_list.c: Likewise.
11128         * tests/test-linked_list.c: Likewise.
11129         * tests/test-linkedhash_list.c: Likewise.
11130         * tests/test-avltree_list.c: Likewise.
11131         * tests/test-rbtree_list.c: Likewise.
11132         * tests/test-avltreehash_list.c: Likewise.
11133         * tests/test-rbtreehash_list.c: Likewise.
11134         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
11135         * modules/carray-list-tests (Makefile.am): Likewise.
11136         * modules/linked-list-tests (Makefile.am): Likewise.
11137         * modules/linkedhash-list-tests (Makefile.am): Likewise.
11138         * modules/avltree-list-tests (Makefile.am): Likewise.
11139         * modules/rbtree-list-tests (Makefile.am): Likewise.
11140         * modules/avltreehash-list-tests (Makefile.am): Likewise.
11141         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
11142
11143         * NEWS: Mention the changes.
11144
11145         * lib/clean-temp.c: Include gl_xlist.h.
11146         * modules/clean-temp (Depends-on): Add xlist.
11147
11148         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
11149         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
11150
11151         * tests/test-array_oset.c: Include gl_xlist.h.
11152         * modules/array-oset-tests (Depends-on): Add xlist.
11153
11154         Reported by José E. Marchesi <jemarch@gnu.org>.
11155
11156 2009-12-13  Bruno Haible  <bruno@clisp.org>
11157
11158         Move the malloc checking from module 'oset' to new module 'xoset'.
11159         * modules/xoset: New file.
11160         * lib/gl_xoset.h: New file.
11161         * lib/gl_xoset.c: New file.
11162         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
11163         declarations.
11164         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
11165         (struct gl_oset_implementation): Rename and change methods accordingly.
11166         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
11167         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
11168         'int'. Mark as __warn_unused_result__.
11169         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
11170         gl_oset_create_empty.
11171         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
11172         'int'.
11173         * lib/gl_array_oset.c: Don't include xalloc.h.
11174         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
11175         malloc, not xmalloc.
11176         (grow): Change return type to 'int'. Don't call xalloc_die.
11177         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
11178         to 'int'.
11179         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
11180         'int'.
11181         (gl_array_oset_implementation): Update.
11182         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
11183         gl_tree_create_empty.
11184         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
11185         'int'.
11186         * lib/gl_avltree_oset.c: Don't include xalloc.h.
11187         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
11188         xmalloc.
11189         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
11190         not xmalloc.
11191         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
11192         xmalloc.
11193         (gl_avltree_oset_implementation): Update.
11194         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
11195         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
11196         xmalloc.
11197         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
11198         not xmalloc.
11199         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
11200         xmalloc.
11201         (gl_rbtree_oset_implementation): Update.
11202         * modules/array-oset (Depends-on): Remove xalloc.
11203         * modules/avltree-oset (Depends-on): Likewise.
11204         * modules/rbtree-oset (Depends-on): Likewise.
11205         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
11206         * tests/test-avltree_oset.c: Likewise.
11207         * tests/test-rbtree_oset.c: Likewise.
11208         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
11209         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
11210         * modules/rbtree-oset-tests (Makefile.am): Likewise.
11211         * NEWS: Mention the change.
11212
11213 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
11214
11215         maint.mk: allow a project to override release-prep commands
11216         * top/maint.mk (alpha, beta, stable): Move release-preparatory
11217         commands into a new rule.
11218         (release-prep): New rule.
11219         (release-prep-hook): New overridable variable.
11220
11221 2009-12-13  Bruno Haible  <bruno@clisp.org>
11222
11223         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
11224
11225 2009-12-13  Jim Meyering  <meyering@redhat.com>
11226
11227         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
11228         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
11229
11230 2009-12-12  Bruno Haible  <bruno@clisp.org>
11231
11232         duplocale: Tweak.
11233         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
11234
11235 2009-12-12  Karl Berry  <karl@gnu.org>
11236
11237         * config/srclist.txt (strtoll.c): tab changes, no more sync.
11238
11239 2009-12-12  Bruno Haible  <bruno@clisp.org>
11240
11241         * m4/po.m4: Undo incorrect untabification.
11242
11243 2009-12-12  Bruno Haible  <bruno@clisp.org>
11244
11245         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
11246         * modules/c-strtod (Depends-on): Add locale.
11247         * modules/c-strtold (Depends-on): Likewise.
11248
11249 2009-12-12  Bruno Haible  <bruno@clisp.org>
11250
11251         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
11252
11253 2009-12-11  Eric Blake  <ebb9@byu.net>
11254
11255         setenv: relax requirement in light of POSIX ruling
11256         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
11257         not NULL.
11258         * tests/test-setenv.c (main): Relax test.
11259         * tests/test-unsetenv.c (main): Likewise.
11260         * doc/posix-functions/setenv.texi (setenv): Document this.
11261         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
11262
11263 2009-12-11  Bruno Haible  <bruno@clisp.org>
11264
11265         New module 'fd-safer-flag'.
11266         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
11267         * lib/dup-safer.c (dup_safer_flag): Remove function.
11268         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
11269         * lib/fd-safer.c (fd_safer_flag): Remove function.
11270         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
11271         * modules/cloexec (configure.ac): Drop indicator macro.
11272         * modules/fd-safer-flag: New file.
11273         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
11274         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
11275         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
11276
11277 2009-12-11  Bruno Haible  <bruno@clisp.org>
11278
11279         Tests for module 'nl_langinfo'.
11280         * modules/nl_langinfo-tests: New file.
11281         * tests/test-nl_langinfo.sh: New file.
11282         * tests/test-nl_langinfo.c: New file.
11283
11284         New module 'nl_langinfo'.
11285         * lib/nl_langinfo.c: New file.
11286         * m4/nl_langinfo.m4: New file.
11287         * modules/nl_langinfo: New file.
11288         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
11289
11290 2009-12-11  Bruno Haible  <bruno@clisp.org>
11291
11292         Tests for module 'langinfo'.
11293         * modules/langinfo-tests: New file.
11294         * tests/test-langinfo.c: New file.
11295
11296         New module 'langinfo'.
11297         * lib/langinfo.in.h: New file.
11298         * m4/langinfo_h.m4: New file.
11299         * modules/langinfo: New file.
11300         * doc/posix-headers/langinfo.texi: Mention the new module.
11301
11302 2009-12-11  Bruno Haible  <bruno@clisp.org>
11303
11304         * lib/config.charset: Untabify.
11305
11306 2009-12-11  Bruno Haible  <bruno@clisp.org>
11307
11308         * modules/unistd-safer (configure.ac): Drop indicator macro.
11309
11310 2009-12-11  Bruno Haible  <bruno@clisp.org>
11311
11312         Move pipe2-safer code to its own file.
11313         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
11314         * lib/pipe-safer.c (pipe2_safer): Remove function.
11315         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
11316         (Makefile.am): Add it to lib_SOURCES.
11317
11318 2009-12-10  Bruno Haible  <bruno@clisp.org>
11319
11320         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
11321
11322 2009-12-10  Bruno Haible  <bruno@clisp.org>
11323
11324         Declare which arguments expect non-NULL values, for GCC and clang.
11325         * build-aux/arg-nonnull.h: New file.
11326         * modules/arg-nonnull: New file.
11327         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
11328         (inet_ntop, inet_pton): Use it.
11329         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
11330         (closedir, dirfd, opendir, scandir, alphasort): Use it.
11331         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
11332         (open, openat): Use it.
11333         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
11334         (fnmatch): Use it.
11335         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
11336         (getopt, getopt_long, getopt_long_only): Use it.
11337         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
11338         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
11339         Use it.
11340         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
11341         (iconv_open): Use it.
11342         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
11343         (strtoimax, strtoumax): Use it.
11344         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
11345         (duplocale): Use it.
11346         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
11347         (frexp, frexpl): Use it.
11348         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
11349         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
11350         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
11351         (tsearch, tfind, tdelete, twalk): Use it.
11352         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
11353         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
11354         sigpending): Use it.
11355         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
11356         (posix_spawn, posix_spawnp, posix_spawnattr_init,
11357         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
11358         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
11359         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
11360         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
11361         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
11362         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
11363         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
11364         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
11365         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
11366         Use it.
11367         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
11368         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
11369         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
11370         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
11371         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
11372         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
11373         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
11374         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
11375         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
11376         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
11377         strtoull, unsetenv): Use it.
11378         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
11379         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
11380         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
11381         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
11382         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
11383         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
11384         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
11385         (strcasecmp, strncasecmp): Use it.
11386         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
11387         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
11388         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
11389         rpl_setsockopt): Use it.
11390         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
11391         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
11392         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
11393         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
11394         (gettimeofday): Use it.
11395         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
11396         (times): Use it.
11397         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
11398         (uname): Use it.
11399         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
11400         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
11401         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
11402         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
11403         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
11404         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
11405         unlinkat, write): Use it.
11406         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
11407         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
11408         * lib/argv-iter.h: Include arg-nonnull.h.
11409         (_ATTRIBUTE_NONNULL_): Remove macro.
11410         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
11411         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
11412         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
11413         optimization.
11414         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
11415         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
11416         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
11417         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
11418         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
11419         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
11420         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
11421         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
11422         * modules/arpa_inet (Depends-on): Add arg-nonnull.
11423         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
11424         * modules/dirent (Depends-on): Add arg-nonnull.
11425         (Makefile.am): Insert arg-nonnull.h into dirent.h.
11426         * modules/fcntl-h (Depends-on): Add arg-nonnull.
11427         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
11428         * modules/fnmatch (Depends-on): Add arg-nonnull.
11429         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
11430         * modules/getopt-posix (Depends-on): Add arg-nonnull.
11431         (Makefile.am): Insert arg-nonnull.h into getopt.h.
11432         * modules/glob (Depends-on): Add arg-nonnull.
11433         (Makefile.am): Insert arg-nonnull.h into glob.h.
11434         * modules/iconv_open (Depends-on): Add arg-nonnull.
11435         (Makefile.am): Insert arg-nonnull.h into iconv.h.
11436         * modules/inttypes (Depends-on): Add arg-nonnull.
11437         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
11438         * modules/locale (Depends-on): Add arg-nonnull.
11439         (Makefile.am): Insert arg-nonnull.h into locale.h.
11440         * modules/math (Depends-on): Add arg-nonnull.
11441         (Makefile.am): Insert arg-nonnull.h into math.h.
11442         * modules/netdb (Depends-on): Add arg-nonnull.
11443         (Makefile.am): Insert arg-nonnull.h into netdb.h.
11444         * modules/search (Depends-on): Add arg-nonnull.
11445         (Makefile.am): Insert arg-nonnull.h into search.h.
11446         * modules/signal (Depends-on): Add arg-nonnull.
11447         (Makefile.am): Insert arg-nonnull.h into signal.h.
11448         * modules/spawn (Depends-on): Add arg-nonnull.
11449         (Makefile.am): Insert arg-nonnull.h into spawn.h.
11450         * modules/stdio (Depends-on): Add arg-nonnull.
11451         (Makefile.am): Insert arg-nonnull.h into stdio.h.
11452         * modules/stdlib (Depends-on): Add arg-nonnull.
11453         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
11454         * modules/string (Depends-on): Add arg-nonnull.
11455         (Makefile.am): Insert arg-nonnull.h into string.h.
11456         * modules/strings (Depends-on): Add arg-nonnull.
11457         (Makefile.am): Insert arg-nonnull.h into strings.h.
11458         * modules/sys_socket (Depends-on): Add arg-nonnull.
11459         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
11460         * modules/sys_stat (Depends-on): Add arg-nonnull.
11461         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
11462         * modules/sys_time (Depends-on): Add arg-nonnull.
11463         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
11464         * modules/sys_times (Depends-on): Add arg-nonnull.
11465         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
11466         * modules/sys_utsname (Depends-on): Add arg-nonnull.
11467         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
11468         * modules/time (Depends-on): Add arg-nonnull.
11469         (Makefile.am): Insert arg-nonnull.h into time.h.
11470         * modules/unistd (Depends-on): Add arg-nonnull.
11471         (Makefile.am): Insert arg-nonnull.h into unistd.h.
11472         * modules/wchar (Depends-on): Add arg-nonnull.
11473         (Makefile.am): Insert arg-nonnull.h into wchar.h.
11474         * modules/argv-iter (Depends-on): Add arg-nonnull.
11475         * tests/test-canonicalize.c (null_ptr): New function.
11476         (main): Use it.
11477         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
11478         (main): Use it.
11479         * tests/test-memmem.c (null_ptr): New function.
11480         (main): Use it.
11481         Reported by Jim Meyering.
11482
11483 2009-12-10  Bruno Haible  <bruno@clisp.org>
11484
11485         Use spaces for indentation, not tabs.
11486         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
11487         * m4/*.m4: Untabify.
11488         * build-aux/*.h: Untabify.
11489         * tests/**/*.[hc]: Untabify.
11490         * README: New section "Indent with spaces, not TABs", based on
11491         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
11492         * NEWS: Mention the change.
11493
11494 2009-12-10  Bruno Haible  <bruno@clisp.org>
11495
11496         pty test: Fix link error.
11497         * modules/pty-tests (Makefile.am): Add the default LDADD value to
11498         test_pty_LDADD.
11499
11500 2009-12-07  Simon Josefsson  <simon@josefsson.org>
11501
11502         * modules/pty: New file.
11503         * modules/pty-tests: New file.
11504         * m4/pty.m4: New file.
11505         * tests/test-pty.c: New file.
11506         * doc/glibc-headers/pty.texi: Modified.
11507         * doc/glibc-functions/forkpty.texi: Modified.
11508         * doc/glibc-functions/openpty.texi: Modified.
11509
11510 2009-12-10  Bruno Haible  <bruno@clisp.org>
11511
11512         Avoid syntax error in C++ mode.
11513         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
11514
11515 2009-12-10  Bruno Haible  <bruno@clisp.org>
11516
11517         Use sed with option -e.
11518         * gnulib-tool (func_version, func_emit_copyright_notice,
11519         func_emit_initmacro_end, func_import, func_create_testdir): Pass
11520         option -e to sed.
11521         * modules/link-warning (Makefile.am): Likewise.
11522
11523 2009-12-10  Jim Meyering  <meyering@redhat.com>
11524
11525         mgetgroups: do not write bytes beyond end of malloc'd buffer
11526         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
11527         username, we call getgroups with a one-element-shorter buffer,
11528         but still told it the length was original, max_n_groups.
11529
11530 2009-12-09  Eric Blake  <ebb9@byu.net>
11531
11532         cloexec: relax license
11533         * modules/cloexec (Maintainer): Add myself.
11534         (License): Use LGPL, not GPL.
11535
11536         link-warning: optimize generation
11537         * modules/link-warning (Makefile.am): Reduce process usage.
11538
11539 2009-12-09  Bruno Haible  <bruno@clisp.org>
11540
11541         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
11542         workaround was added on 2009-11-17.
11543
11544 2009-12-09  Jim Meyering  <meyering@redhat.com>
11545             Bruno Haible  <bruno@clisp.org>
11546
11547         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
11548         * modules/link-warning (Makefile.am): Make the comment-removing sed
11549         command more robust in the face of bootstrap-prepended comment lines.
11550
11551 2009-12-09  Bruno Haible  <bruno@clisp.org>
11552
11553         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
11554         most one group.
11555
11556 2009-12-09  Simon Josefsson <simon@josefsson.org>
11557             Bruno Haible  <bruno@clisp.org>
11558
11559         * build-aux/link-warning.h: Add copyright notice.
11560         * modules/link-warning (Makefile.am): Generate link-warning.h from
11561         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
11562         * NEWS: Mention change in link-warning module.
11563         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
11564         * modules/dirent (Makefile.am): Add dependency to dirent.h.
11565         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
11566         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
11567         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
11568         * modules/math (Makefile.am): Add dependency to math.h.
11569         * modules/search (Makefile.am): Add dependency to search.h.
11570         * modules/signal (Makefile.am): Add dependency to signal.h.
11571         * modules/spawn (Makefile.am): Add dependency to spawn.h.
11572         * modules/stdio (Makefile.am): Add dependency to stdio.h.
11573         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
11574         * modules/string (Makefile.am): Add dependency to string.h.
11575         * modules/strings (Makefile.am): Add dependency to strings.h.
11576         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
11577         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
11578         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
11579         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
11580         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
11581         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
11582         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
11583         * modules/unistd (Makefile.am): Add dependency to unistd.h.
11584         * modules/wchar (Makefile.am): Add dependency to wchar.h.
11585
11586 2009-12-09  Bruno Haible  <bruno@clisp.org>
11587
11588         fchdir: Optimize away rpl_fstat when possible.
11589         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
11590         REPLACE_OPEN_DIRECTORY.
11591         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
11592
11593 2009-12-09  Bruno Haible  <bruno@clisp.org>
11594
11595         * lib/fchdir.c: Update comment.
11596
11597 2009-12-09  Bruno Haible  <bruno@clisp.org>
11598
11599         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
11600
11601 2009-12-08  Eric Blake  <ebb9@byu.net>
11602
11603         fchdir: avoid memory leak on re-registration.
11604         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
11605
11606 2009-12-08  Jim Meyering  <meyering@redhat.com>
11607
11608         init.sh: avoid Solaris 10 /bin/sh portability problem
11609         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
11610         sourced script:
11611           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
11612           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
11613           bar
11614         tests/init.sh relied on that, accepting a --set-path=DIR argument,
11615         and two tests used that idiom.
11616         * tests/init.sh: Update suggested usage comments.
11617         (path_prepend_): New function, to be used in place
11618         of the --src-path=DIR option.
11619         (setup_): Move PATH-prepending code into path_prepend_.
11620         * tests/test-pread.sh: Adapt to new usage.
11621         * tests/test-xalloc-die.sh: Likewise.
11622
11623 2009-12-08  Simon Josefsson  <simon@josefsson.org>
11624
11625         * doc/gnulib.texi (Glibc pty.h): Add.
11626         * doc/glibc-functions/forkpty.texi: Add.
11627         * doc/glibc-functions/openpty.texi: Add.
11628         Suggested by Bruno Haible.
11629
11630 2009-12-08  Eric Blake  <ebb9@byu.net>
11631
11632         fchdir: fix logic bugs
11633         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
11634         * tests/test-fchdir.c (main): Enhance test.
11635         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
11636         is in use.
11637
11638         dup2: fix logic bugs
11639         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
11640         REPLACE_DUP2 to decide when rpl_dup2 is needed.
11641         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
11642         exists.
11643         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
11644
11645 2009-12-07  Eric Blake  <ebb9@byu.net>
11646
11647         unlink: fix m4 detection
11648         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
11649
11650         unistd-safer: add unit test
11651         * modules/unistd-safer-tests: New file.
11652         * tests/test-dup-safer.c: Likewise.
11653         * tests/test-cloexec.c (setmode): Avoid compiler warning.
11654         * tests/test-dup2.c (setmode): Likewise.
11655         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
11656
11657         cloexec: preserve text vs. binary across dup_cloexec
11658         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
11659         mode.
11660         * modules/dup2-tests (Depends-on): Add binary-io.
11661         * modules/cloexec-tests (Depends-on): Likewise.
11662         * tests/test-dup2.c (setmode, is_mode): New helpers.
11663         (main): Add tests that translation mode is preserved.
11664         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
11665         Reported by Bruno Haible.
11666
11667         mgetgroups: reduce duplicate listings
11668         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
11669         resulting array.
11670         * tests/test-chown.h (test_chown): Simplify client.
11671         * tests/test-lchown.h (test_lchown): Likewise.
11672
11673 2009-12-06  Bruno Haible  <bruno@clisp.org>
11674
11675         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
11676         value.
11677
11678 2009-12-06  Bruno Haible  <bruno@clisp.org>
11679
11680         * lib/progname.c: Include stdio.h, stdlib.h.
11681         (set_program_name): Reject a NULL argument.
11682
11683 2009-12-05  Eric Blake  <ebb9@byu.net>
11684
11685         pipe2-safer: new module
11686         * modules/pipe2-safer: New file.
11687         * lib/unistd-safer.h (pipe2_safer): New prototype.
11688         * lib/unistd--.h (pipe2): New wrapper.
11689         * lib/pipe-safer.c (pipe2_safer): New function.
11690         * modules/pipe (Depends-on): Add pipe2-safer.
11691         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
11692
11693         stdlib-safer: preserve cloexec flag for mkostemp[s]
11694         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
11695         fd_safer_flag.
11696
11697         unistd-safer: allow preservation of cloexec status via flag
11698         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
11699         prototypes.
11700         * lib/dup-safer.c (dup_safer_flag): New function.
11701         * lib/fd-safer.c (fd_safer_flag): Likewise.
11702         * modules/cloexec (configure.ac): Set witness.
11703
11704         test-dup2: enhance test
11705         * modules/dup2-tests (Depends-on): Add cloexec.
11706         * tests/test-dup2.c (main): Enhance test.
11707
11708         cloexec: add dup_cloexec
11709         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
11710         header and comments.
11711         * lib/cloexec.c (set_cloexec_flag): Add comments.
11712         (dup_cloexec): New function, with mingw implementation borrowed
11713         from...
11714         * lib/w32spawn.h (dup_noinherit): ...here.
11715         * modules/execute (Depends-on): Add cloexec.
11716         * modules/pipe (Depends-on): Likewise.
11717         * modules/cloexec (Depends-on): Add dup2.
11718         * modules/cloexec-tests (Files): New file.
11719         * tests/test-cloexec.c: Likewise.
11720
11721         test-xalloc-die: fix test for mingw
11722         * modules/xalloc-die-tests (Files): Add tests/init.sh.
11723         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
11724         directory and .exe suffix off argv[0] output.
11725
11726         test-fseeko: fix test for mingw
11727         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
11728         than undefining fseek, so test will pass on mingw.
11729
11730 2009-12-05  Bruno Haible  <bruno@clisp.org>
11731
11732         * lib/progname.h (set_program_name): Clarify specification.
11733         * lib/progname.c (set_program_name): Likewise.
11734         Reported by Jim Meyering.
11735
11736 2009-12-05  Jim Meyering  <meyering@redhat.com>
11737
11738         maint.mk: backslash-escape parens in default regexp
11739         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
11740         backslash-escape the literal parentheses.
11741
11742         maint.mk: news-date-check: use grep -E
11743         * top/maint.mk (today): Define a Make variable, not a...
11744         (news-date-check): ...shell variable.
11745         (news-date-regexp): Use the Make variable.
11746         Use grep's -E option.  Change the failing diagnostic to mention
11747         the variable, $(news-date-regexp).
11748
11749 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
11750
11751         maintainer-makefile: allow customization of NEWS entry format
11752         * top/maint.mk (news-date-regexp): New overridable variable.
11753         (news-date-check): Use it.
11754
11755 2009-12-04  Eric Blake  <ebb9@byu.net>
11756
11757         mgetgroups: add xgetgroups, and avoid ENOSYS failures
11758         * lib/mgetgroups.h (xgetgroups): New prototype.
11759         * lib/mgetgroups.c (xgetgroups): New wrapper.
11760         (mgetgroups): Handle ENOSYS.
11761         * modules/mgetgroups (Depends-on): Add realloc.
11762         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
11763
11764         mgetgroups: avoid argument promotion issues with -1
11765         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
11766         for invalid gid_t.
11767         * tests/test-chown.h (getegid, test_chown): Likewise.
11768         * tests/test-lchown.h (getegid, test_lchown): Likewise.
11769
11770 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
11771
11772         exclude: Fix header file problems.
11773         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
11774
11775 2009-12-01  Jim Meyering  <meyering@redhat.com>
11776
11777         fts: fts_open: do not let an empty string cause immediate failure
11778         This is required in support of GNU rm, for which the command
11779         "rm A '' B" must process and remove both A and B, in spite of
11780         the empty string argument.
11781         * lib/fts.c (fts_open): Do not let the presence of an empty string
11782         cause fts_open to fail immediately.  Most fts-using tools must be
11783         able to process all arguments, in order, and can be expected to
11784         diagnose such arguments themselves.
11785
11786 2009-11-30  Eric Blake  <ebb9@byu.net>
11787
11788         utimens: fix compilation error
11789         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
11790         Declare variable at right scope.
11791
11792 2009-11-29  Jim Meyering  <meyering@redhat.com>
11793
11794         bootstrap: handle perl-5.11's changed --version output
11795         * build-aux/bootstrap (get_version): Handle perl separately,
11796         since perl-5.11's --version output is different.
11797
11798 2009-11-28  Jim Meyering  <meyering@redhat.com>
11799
11800         userspec: depend on the inttostr module, too
11801         * modules/userspec (Depends-on): Add inttostr.
11802
11803         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
11804         * lib/userspec.c (parse_with_separator): Do not accept a user ID
11805         number of MAXUID when it evaluates to (uid_t) -1.
11806         Likewise for group ID.  Reported by Matt McCutchen in
11807         <http://savannah.gnu.org/bugs/?28113>
11808
11809         userspec: reformat to use spaces, not TABs
11810         * lib/userspec.c: Expand TABs to spaces.
11811         Add Emacs' "indent-tabs-mode: nil" hint.
11812
11813 2009-11-27  Eric Blake  <ebb9@byu.net>
11814
11815         getopt-gnu: flush out another BSD bug
11816         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
11817         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
11818         flush out BSD bug.
11819         * tests/test-getopt.h (test_getopt): End lists with NULL.
11820         * tests/test-getopt_long.h (test_getopt_long): Likewise.
11821         (test_getopt_long_posix): Enhance test.
11822         * modules/getopt-posix-tests (Depends-on): Add stdbool.
11823         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
11824         getopt-gnu.
11825         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
11826         Likewise.
11827
11828 2009-11-27  Simon Josefsson  <simon@josefsson.org>
11829
11830         * modules/idpriv-droptemp-tests (Notice): Fix text.
11831
11832 2009-11-27  Jim Meyering  <meyering@redhat.com>
11833
11834         test-xalloc-die: avoid spurious failure due to libtool argv difference
11835         In a libtool-enabled project, this test would fail due to a difference
11836         in the emitted program name, e.g.,
11837         -test-xalloc-die: memory exhausted
11838         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
11839         Use program to avoid that.
11840         * modules/xalloc-die-tests (Depends-on): Add progname.
11841         * tests/test-xalloc-die.c: Include progname.h".
11842         (program_name): Remove decl.
11843         (main): Call set_program_name.
11844         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
11845
11846 2009-11-26  Richard Jones  <rjones@redhat.com>
11847
11848         w32sock: leave win32 error in place.
11849         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
11850
11851 2009-11-26  Eric Blake  <ebb9@byu.net>
11852
11853         init.sh: suggest to use skip_ and fail_ functions in comments
11854         * tests/init.sh: Add a sentence.
11855
11856 2009-11-25  Bruno Haible  <bruno@clisp.org>
11857
11858         init.sh: add documentation in comments
11859         * tests/init.sh: Add some developer and user documentation.
11860
11861 2009-11-26  Jim Meyering  <meyering@redhat.com>
11862
11863         init.sh: accommodate even those who specify bogus srcdir manually
11864         * tests/init.sh: Normally, srcdir is guaranteed by automake and
11865         configure-time tests to be sanitized, so that there is no need to
11866         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
11867         (with no double quotes) suffices.  However, since tests may be
11868         invoked manually, and since you may explicitly set srcdir to the
11869         name of a directory containing spaces, do quote its uses here.
11870         * tests/test-pread.sh: Likewise.
11871         Suggested by Bruno Haible.
11872
11873         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
11874         * tests/test-pread.sh: Write no data into the pipe, because
11875         test-pread actually reads none.  This avoids a diagnostic,
11876         "bash: echo: write error: Broken pipe", that arises in the unusual
11877         event something is ignoring SIGPIPE, and might be interpreted
11878         as some sort of failure.  Reported by Bruno Haible.
11879
11880 2009-11-25  Jim Meyering  <meyering@redhat.com>
11881
11882         test-pread: cover failure with ESPIPE and EINVAL
11883         * tests/test-pread.c (main): Test for failure, too.
11884         * tests/test-pread.sh: Invoke with stdin on a pipe.
11885         Suggested by Eric Blake.
11886
11887         pread: improvement and fix
11888         * modules/pread (Depends-on): Depend on lseek, for portability to
11889         e.g., mingw.  Suggested by Eric Blake.
11890         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
11891
11892         unistd.in.h: correct declaration of pread
11893         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
11894         Reported by Richard W.M. Jones.
11895
11896         test-pread.sh: distribute the test script
11897         * modules/pread-tests (Files): Include test-pread.sh.
11898
11899         test-pread.sh: clean up
11900         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
11901         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
11902         That is unnecessary, since it's always ".".
11903         Suggestion from Eric Blake.
11904
11905         test-pread.sh: make executable
11906         * tests/test-pread.sh: Set executable bit.
11907         Reported by Eric Blake.
11908
11909         correct typo in test-pread.sh
11910         * tests/test-pread.sh: Add #! line.
11911
11912         test pread
11913         * tests/test-pread.c: New file.
11914         * tests/test-pread.sh: Likewise.
11915         * modules/pread-tests: Likewise.
11916
11917         pread: new module
11918         * modules/pread: New file.
11919         * lib/unistd.in.h (pread): Define/declare.
11920         * lib/pread.c (pread): New file.
11921         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
11922         * modules/unistd (Makefile.am): Substitute witnesses.
11923         * doc/posix-functions/pread.texi (pread): Update.
11924         * MODULES.html.sh: Add pread.
11925
11926 2009-11-25  Jim Meyering  <meyering@redhat.com>
11927
11928         tests/init.sh: new file to be used via most *.sh tests
11929         * tests/init.sh: New file.
11930
11931 2009-11-25  Eric Blake  <ebb9@byu.net>
11932
11933         utimens: work around older Linux failure with symlinks
11934         * lib/utimens.c (lutimensat_works_really): New variable.
11935         (fdutimens, lutimens): Use it to manage kernels that support
11936         nanosecond times on files, but not on symlinks.
11937         Reported by OndÅ™ej Vašík.
11938
11939         utimes: fix configure grammar
11940         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
11941
11942 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
11943
11944         regex: Fix fastmap for multibyte character ranges.
11945         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
11946         characters when a multibyte character range is included.
11947
11948 2009-11-22  Andy Wingo  <wingo@pobox.com>
11949
11950         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
11951         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
11952
11953 2009-11-24  Bruno Haible  <bruno@clisp.org>
11954
11955         doc: Most *_l functions exist in MacOS X 10.5.
11956         * doc/posix-functions/duplocale.texi: Update platforms list.
11957         * doc/posix-functions/freelocale.texi: Likewise.
11958         * doc/posix-functions/newlocale.texi: Likewise.
11959         * doc/posix-functions/uselocale.texi: Likewise.
11960         * doc/posix-functions/isalnum_l.texi: Likewise.
11961         * doc/posix-functions/isalpha_l.texi: Likewise.
11962         * doc/posix-functions/isblank_l.texi: Likewise.
11963         * doc/posix-functions/iscntrl_l.texi: Likewise.
11964         * doc/posix-functions/isdigit_l.texi: Likewise.
11965         * doc/posix-functions/isgraph_l.texi: Likewise.
11966         * doc/posix-functions/islower_l.texi: Likewise.
11967         * doc/posix-functions/isprint_l.texi: Likewise.
11968         * doc/posix-functions/ispunct_l.texi: Likewise.
11969         * doc/posix-functions/isspace_l.texi: Likewise.
11970         * doc/posix-functions/isupper_l.texi: Likewise.
11971         * doc/posix-functions/iswalnum_l.texi: Likewise.
11972         * doc/posix-functions/iswalpha_l.texi: Likewise.
11973         * doc/posix-functions/iswblank_l.texi: Likewise.
11974         * doc/posix-functions/iswcntrl_l.texi: Likewise.
11975         * doc/posix-functions/iswctype_l.texi: Likewise.
11976         * doc/posix-functions/iswdigit_l.texi: Likewise.
11977         * doc/posix-functions/iswgraph_l.texi: Likewise.
11978         * doc/posix-functions/iswlower_l.texi: Likewise.
11979         * doc/posix-functions/iswprint_l.texi: Likewise.
11980         * doc/posix-functions/iswpunct_l.texi: Likewise.
11981         * doc/posix-functions/iswspace_l.texi: Likewise.
11982         * doc/posix-functions/iswupper_l.texi: Likewise.
11983         * doc/posix-functions/iswxdigit_l.texi: Likewise.
11984         * doc/posix-functions/isxdigit_l.texi: Likewise.
11985         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
11986         * doc/posix-functions/strcasecmp_l.texi: Likewise.
11987         * doc/posix-functions/strcoll_l.texi: Likewise.
11988         * doc/posix-functions/strfmon_l.texi: Likewise.
11989         * doc/posix-functions/strftime_l.texi: Likewise.
11990         * doc/posix-functions/strncasecmp_l.texi: Likewise.
11991         * doc/posix-functions/strxfrm_l.texi: Likewise.
11992         * doc/posix-functions/tolower_l.texi: Likewise.
11993         * doc/posix-functions/toupper_l.texi: Likewise.
11994         * doc/posix-functions/towctrans_l.texi: Likewise.
11995         * doc/posix-functions/towlower_l.texi: Likewise.
11996         * doc/posix-functions/towupper_l.texi: Likewise.
11997         * doc/posix-functions/wcscoll_l.texi: Likewise.
11998         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
11999         * doc/posix-functions/wctrans_l.texi: Likewise.
12000         * doc/posix-functions/wctype_l.texi: Likewise.
12001         * doc/glibc-functions/strptime_l.texi: Likewise.
12002         * doc/glibc-functions/strtod_l.texi: Likewise.
12003         * doc/glibc-functions/strtof_l.texi: Likewise.
12004         * doc/glibc-functions/strtol_l.texi: Likewise.
12005         * doc/glibc-functions/strtold_l.texi: Likewise.
12006         * doc/glibc-functions/strtoll_l.texi: Likewise.
12007         * doc/glibc-functions/strtoul_l.texi: Likewise.
12008         * doc/glibc-functions/strtoull_l.texi: Likewise.
12009         * doc/glibc-functions/wcsftime_l.texi: Likewise.
12010         * doc/glibc-functions/wcstod_l.texi: Likewise.
12011         * doc/glibc-functions/wcstof_l.texi: Likewise.
12012         * doc/glibc-functions/wcstol_l.texi: Likewise.
12013         * doc/glibc-functions/wcstold_l.texi: Likewise.
12014         * doc/glibc-functions/wcstoll_l.texi: Likewise.
12015         * doc/glibc-functions/wcstoul_l.texi: Likewise.
12016         * doc/glibc-functions/wcstoull_l.texi: Likewise.
12017
12018 2009-11-24  Bruno Haible  <bruno@clisp.org>
12019
12020         duplocale: Fix logic bug.
12021         * lib/duplocale.c: Don't include <langinfo.h>.
12022         (_NL_LOCALE_NAME): Remove macro.
12023         (rpl_duplocale): Use setlocale instead of nl_langinfo.
12024         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
12025
12026 2009-11-23  Jim Meyering  <meyering@redhat.com>
12027
12028         test-update-copyright: don't hard-code /usr/bin/perl
12029         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
12030         perl to print the current year.  Gilles Espinasse reported that
12031         the replaced use of perl was hard-coded as /usr/bin/perl.
12032
12033 2009-11-23  Bruno Haible  <bruno@clisp.org>
12034
12035         duplocale: Add support for glibc 2.3.x.
12036         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
12037
12038 2009-11-22  Bruno Haible  <bruno@clisp.org>
12039
12040         vasnprintf: Tiny optimization.
12041         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
12042         MacOS X.
12043
12044 2009-11-22  Bruno Haible  <bruno@clisp.org>
12045
12046         Tests for module 'duplocale'.
12047         * modules/duplocale-tests: New file.
12048         * tests/test-duplocale.c: New file.
12049
12050         New module 'duplocale'.
12051         * m4/duplocale.m4: New file.
12052         * lib/locale.in.h (duplocale): New declaration.
12053         * lib/duplocale.c: New file.
12054         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
12055         gl_LOCALE_H_DEFAULTS): New macros.
12056         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
12057         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
12058         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
12059         REPLACE_DUPLOCALE.
12060         * modules/duplocale: New file.
12061         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
12062
12063 2009-11-22  Bruno Haible  <bruno@clisp.org>
12064
12065         * modules/locale-tests (configure.ac): Test for newlocale function.
12066         * tests/test-locale.c: When the system has extended locale functions,
12067         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
12068
12069         locale: Make locale_t available when possible.
12070         * lib/locale.in.h: Include <xlocale.h> when it exists.
12071         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
12072         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
12073         * modules/locale (Depends-on): Add extensions.
12074         (Makefile.am): Also substitute HAVE_XLOCALE_H.
12075         * doc/posix-headers/locale.texi: Document the problem with locale_t.
12076
12077 2009-11-22  Bruno Haible  <bruno@clisp.org>
12078
12079         Add comments.
12080         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
12081         invocation.
12082         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
12083         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
12084         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
12085
12086 2009-11-22  Bruno Haible  <bruno@clisp.org>
12087
12088         error: account for the possibility of freopen (stdout).
12089         * lib/error.c: Include <unistd.h>.
12090         (flush_stdout): New function, extracted from error and error_at_line.
12091         Determine stdout's fd dynamically.
12092         (error, error_at_line): Invoke flush_stdout.
12093         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
12094         * modules/error (Depends-on): Add unistd.
12095
12096 2009-11-22  Bruno Haible  <bruno@clisp.org>
12097
12098         diffseq: Add comment.
12099         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
12100
12101 2009-11-22  Jim Meyering  <meyering@redhat.com>
12102
12103         c-stack: avoid defining an unused static function
12104         * lib/c-stack.c (find_stack_direction): Do not define this function
12105         when it will not be used.
12106
12107         diffseq: avoid spurious gcc warnings
12108         * lib/diffseq.h (IF_LINT2): Define.
12109         (compareseq): Use it to initialize two members of "part".
12110         This avoids two used-uninitialized warnings.
12111
12112 2009-11-21  Jim Meyering  <meyering@redhat.com>
12113
12114         c-stack: avoid "ignoring return value of `write'" warning
12115         * lib/c-stack.c: Include "ignore-value.h".
12116         (die): Explicitly ignore each write return value.
12117         * modules/c-stack (Depends-on): Add ignore-value.
12118
12119 2009-11-21  Bruno Haible  <bruno@clisp.org>
12120
12121         diffseq: reduce scope of variable 'best'.
12122         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
12123         variable, earlier used for two different purposes.
12124
12125 2009-11-21  Jim Meyering  <meyering@redhat.com>
12126
12127         diffseq: remove useless assignment to "best"
12128         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
12129         assignment.  At that point "best" is already guaranteed to be zero.
12130
12131 2009-11-20  Eric Blake  <ebb9@byu.net>
12132
12133         build: mention ftp redirector in release announcements
12134         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
12135         values that used to come from cfg.mk; mention FTP redirect URL.
12136         * build-aux/announce-gen: Mention the mirror list.
12137         Suggested by Karl Berry.
12138
12139         nanosleep: improve port to mingw
12140         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
12141         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
12142         LIB_NANOSLEEP, but only when needed.
12143         * modules/select (Link): Document LIBSOCKET.
12144         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
12145         enough.
12146
12147         nanosleep: work around cygwin bug
12148         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
12149         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
12150         bug.
12151         (getnow): Delete, not needed.
12152         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
12153         LIB_CLOCK_GETTIME.
12154         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
12155         clock-time, gettime.
12156         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
12157         bug.
12158         * modules/nanosleep-tests: New test.
12159         * tests/test-nanosleep.c: New file.
12160
12161         sleep: work around cygwin bug
12162         * lib/sleep.c (rpl_sleep): Work around the bug.
12163         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
12164         (gl_PREREQ_SLEEP): Delete unused macro.
12165         * modules/sleep (Depends-on): Add verify.
12166         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
12167         * modules/unistd (Makefile.am): Substitute witness.
12168         * lib/unistd.in.h (sleep): Update prototype.
12169         * doc/posix-functions/sleep.texi (sleep): Document the bug.
12170         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
12171         * modules/sleep-tests (Depends-on): Check for alarm.
12172
12173 2009-11-20  Jim Meyering  <meyering@redhat.com>
12174
12175         maint.mk: improve sc_prohibit_magic_number_exit
12176         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
12177         so it does not match uses like System.exit(1).
12178         Add comments showing how to correct all offenders.
12179
12180 2009-11-19  Eric Blake  <ebb9@byu.net>
12181
12182         xalloc-die-tests: add missing library
12183         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
12184
12185         test-xvasprintf: silence compiler warnings
12186         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
12187         empty string from gcc.
12188
12189 2009-11-19  Jim Meyering  <meyering@redhat.com>
12190
12191         xfreopen: new module, from coreutils
12192         * modules/xfreopen: New module.
12193         * lib/xfreopen.c: New file.
12194         * lib/xfreopen.h: New file.
12195         * MODULES.html.sh (File stream based Input/Output"): Add it.
12196
12197 2009-11-19  Eric Blake  <ebb9@byu.net>
12198
12199         manywarnings: depend on warnings
12200         * modules/manywarnings (Depends-on): Add warnings.
12201
12202         build: avoid compiler warnings
12203         * lib/select.c (rpl_select): Delete unused variable.
12204         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
12205
12206 2009-11-18  Eric Blake  <ebb9@byu.net>
12207
12208         tests: avoid false negative with --with-packager
12209         * tests/test-version-etc.sh: Discard packager information.
12210         * tests/test-argp-version-etc-1.sh: Likewise.
12211         Reported by Mike Frysinger.
12212
12213         utimens: fix regression on Solaris
12214         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
12215         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
12216         can only change fd timestamps via futimesat.  Instead, use an
12217         additional witness macro to avoid BSD bug.
12218         Reported by Jim Meyering.
12219
12220 2009-11-17  Eric Blake  <ebb9@byu.net>
12221
12222         usleep: use it to simplify tests
12223         * modules/stat-time-tests (Depends-on): Add usleep.
12224         (configure.ac): Drop usleep check.
12225         * modules/chown-tests (Depends-on, configure.ac): Likewise.
12226         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
12227         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
12228         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
12229         * modules/openat-tests (Depends-on, configure.ac): Likewise.
12230         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
12231         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
12232         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
12233         Likewise.
12234         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
12235         * tests/test-lchown.h (nap): Likewise.
12236         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
12237         * tests/test-stat-time.c (nap): Likewise.
12238         * tests/test-utimens-common.h (nap): Update comments.
12239
12240         usleep: new module
12241         * modules/usleep: New file.
12242         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
12243         * lib/usleep.c (usleep): Likewise.
12244         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
12245         * modules/unistd (Makefile.am): Substitute witnesses.
12246         * lib/unistd.in.h (usleep): Add declaration.
12247         * doc/pastposix-functions/usleep.texi (usleep): Document this.
12248         * MODULES.html.sh (Date and time): Likewise.
12249         * modules/usleep-tests (Depends-on): New test.
12250         * tests/test-usleep.c: New file.
12251
12252         chown: work around OpenBSD bug
12253         * lib/chown.c (rpl_chown): Work around the bug.
12254         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
12255         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
12256         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
12257         * modules/chown (Depends-on): Add stdbool.
12258         * modules/lchown (Depends-on): Likewise.
12259         * doc/posix-functions/chown.texi (chown): Document the bug.
12260         * doc/posix-functions/lchown.texi (lchown): Likewise.
12261         * tests/test-lchown.h (test_chown): Relax test.
12262
12263         mkstemp: avoid conflict with C++ keyword template
12264         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
12265         * lib/mkostemp.c (mkostemp): Likewise.
12266         * lib/mkostemps.c (mkostemps): Likewise.
12267         * lib/mkstemp.c (mkstemp): Likewise.
12268         * lib/mkstemps.c (mkstemps): Likewise.
12269
12270         xalloc-die-tests: optimize
12271         * tests/test-xalloc-die.sh: Reduce number of processes.
12272
12273 2009-11-17  Simon Josefsson  <simon@josefsson.org>
12274
12275         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
12276         patch from ludo@gnu.org (Ludovic Courtès).
12277
12278 2009-11-17  Jim Meyering  <meyering@redhat.com>
12279
12280         version-etc: use proper license string
12281         * modules/version-etc (License): Use LGPL, not LGPLv3+.
12282         * modules/version-etc-fsf: Likewise.
12283
12284 2009-11-17  Simon Josefsson  <simon@josefsson.org>
12285
12286         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
12287         printed to stdout.  Deal with EOL differences.
12288
12289 2009-11-17  Eric Blake  <ebb9@byu.net>
12290
12291         unsetenv: work around Solaris bug
12292         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
12293         * lib/unsetenv.c (rpl_unsetenv): Work around it.
12294         Reported by Jim Meyering.
12295
12296         vasnprintf: avoid compiler warnings
12297         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
12298         variables.
12299         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
12300
12301 2009-11-17  Simon Josefsson  <simon@josefsson.org>
12302
12303         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
12304         settings since xalloc-die is no longer the self test,
12305         xalloc-die.sh is.
12306
12307 2009-11-17  Jim Meyering  <meyering@redhat.com>
12308
12309         test-xalloc-die.sh: make the code agree with the commit log
12310         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
12311         at the end, just in case you happen to have a test-xalloc-die
12312         program in some other PATH directory.
12313
12314         test-xalloc-die.sh: fix a portability bug
12315         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
12316         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
12317         Otherwise, argv[0] (as often seen in diagnostics) would be too
12318         system-dependent, sometimes with, and sometimes without the leading "./".
12319
12320         version-etc-fsf: relax license to LGPLv3+
12321         * modules/version-etc-fsf (License): Relax license.
12322
12323 2009-11-16  Eric Blake  <ebb9@byu.net>
12324
12325         xalloc-die-tests: avoid printing null pointer
12326         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
12327         shell script.
12328         * tests/test-xalloc-die.c (program_name): Declare.
12329         * tests/test-xalloc-die.sh (tmpfiles): New file.
12330
12331         setenv, unsetenv: work around various bugs
12332         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
12333         (setenv) [HAVE_SETENV]: Work around bugs.
12334         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
12335         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
12336         for bugs.
12337         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
12338         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
12339         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
12340         * modules/stdlib (Makefile.am): Update substitutions.
12341         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
12342         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
12343         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
12344         * modules/setenv-tests: New test.
12345         * modules/unsetenv-tests: Likewise.
12346         * tests/test-setenv.c: New file.
12347         * tests/test-unsetenv.c: Likewise.
12348
12349 2009-11-16  Jim Meyering  <meyering@redhat.com>
12350
12351         version-etc: relax license to LGPLv3+
12352         * modules/version-etc (License): Relax license.
12353
12354         better AC_REQUIRE expanded-before-required-warning avoidance
12355         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
12356         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
12357         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
12358         which is no longer needed.
12359
12360 2009-11-16  Eric Blake  <ebb9@byu.net>
12361
12362         test-freading: clean up temporary file
12363         * tests/test-freading.c (main): Remove file on success, and use
12364         ASSERT more liberally.
12365         Reported by Jim Meyering.
12366
12367 2009-11-16  Jim Meyering  <meyering@redhat.com>
12368
12369         avoid new AC_REQUIRE expanded-before-required warnings
12370         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
12371         merely using it.
12372         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
12373         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
12374
12375 2009-11-15  Simon Josefsson  <simon@josefsson.org>
12376
12377         * tests/test-xalloc-die.c: New file.
12378         * modules/xalloc-die-tests: New file.
12379         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
12380         XFAIL_TESTS so it can be appended by modules.
12381
12382 2009-11-15  Simon Josefsson  <simon@josefsson.org>
12383
12384         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
12385         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
12386
12387 2009-11-14  Eric Blake  <ebb9@byu.net>
12388
12389         fnmatch: avoid compiler warning
12390         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
12391         to silence compiler warning about mismatch signedness in ?:.
12392         Reported by Robert Millan.
12393
12394         intprops: add double-inclusion guard
12395         * lib/intprops.h: Allow idempotent includes.
12396         Suggested by Bruce Korb.
12397
12398         openat: detect Solaris fchownat bug
12399         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
12400         penalizing glibc chownat when only lchownat is broken.
12401         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
12402         trailing slash bugs.
12403         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
12404         * modules/openat-tests (Files): Include more files.
12405         (Depends-on): Add mgetgroups, sleep, stat-time.
12406         (configure.ac): Add additional checks.
12407         (Makefile.am): Build new test.
12408         * tests/test-fchownat.c: New file.
12409
12410         lchown: detect Solaris and FreeBSD bug
12411         * lib/lchown.c (rpl_lchown): Work around bug.
12412         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
12413         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
12414         * modules/unistd (Makefile.am): Populate it.
12415         * lib/unistd.in.h (lchown): Update declaration.
12416         * doc/posix-functions/lchown.texi (lchown): Document the bug.
12417         * modules/lchown-tests: New file.
12418         * tests/test-lchown.h (test_lchown): Likewise.
12419         * tests/test-lchown.c (main): Likewise.
12420
12421         chown: detect Solaris and FreeBSD bug
12422         * lib/chown.c (rpl_chown): Work around bug.
12423         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
12424         (gl_PREREQ_CHOWN): Delete.
12425         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
12426         * modules/unistd (Makefile.am): Populate it.
12427         * lib/unistd.in.h (chown): Update declaration.
12428         * lib/lchown.c (chown): Update client.
12429         * modules/lchown (Depends-on): Add lstat.
12430         * doc/posix-functions/chown.texi (chown): Document the bug.
12431         * doc/posix-functions/getgroups.texi (getgroups): Document
12432         getgroups pitfall.
12433         * modules/chown-tests: New file.
12434         * tests/test-chown.h (test_chown): Likewise.
12435         * tests/test-chown.c (main): Likewise.
12436
12437 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
12438
12439         gnulib-tool: correctly detect absence of m4 directories
12440         * gnulib-tool: Avoid extra newline on data passed to wc -l.
12441
12442 2009-11-14  Jim Meyering  <meyering@redhat.com>
12443
12444         maint.mk: Prohibit inclusion of "xalloc.h" without use.
12445         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
12446
12447 2009-11-14  John W. Eaton  <jwe@gnu.org>
12448
12449         strftime.h: wrap funtion declaration in extern "C" block
12450         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
12451
12452 2009-11-13  Eric Blake  <ebb9@byu.net>
12453
12454         getgroups: avoid compiler warning
12455         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
12456
12457         getgroups: work around FreeBSD bug
12458         * lib/getgroups.c (rpl_getgroups): Work around the bug.
12459         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
12460         * doc/posix-functions/getgroups.texi (getgroups): Document it.
12461         * tests/test-getgroups.c (main): Fix buffer overrun.
12462
12463         getgroups: avoid compilation failure
12464         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
12465         * modules/getgroups (Depends-on): Add stdint.
12466
12467 2009-11-13  Jim Meyering  <meyering@redhat.com>
12468
12469         test-getgroups: avoid compilation failure
12470         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
12471
12472 2009-11-13  Eric Blake  <ebb9@byu.net>
12473
12474         mgetgroups: new module, taken from coreutils
12475         * modules/mgetgroups: New file.
12476         * lib/mgetgroups.h: Likewise.
12477         * lib/mgetgroups.c (mgetgroups): Likewise.
12478         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
12479         * MODULES.html.sh (Users and groups): Mention it.
12480
12481         getgroups: don't expose GETGROUPS_T to user
12482         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
12483         an element at a time if GETGROUPS_T is wrong size.
12484         * lib/getugroups.h (getugroups): Change signature.
12485         * lib/unistd.in.h (getgroups): Likewise.
12486         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
12487         signature needs fixing.
12488         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
12489         AC_TYPE_GETGROUPS.
12490         * modules/group-member (Depends-on): Add getgroups.
12491         * lib/group-member.c (group_info, get_group_info): Use gid_t.
12492         (group_member): Rely on getgroups replacement.
12493         * lib/getugroups.c (getugroups): Use gid_t.
12494         * tests/test-getgroups.c (main): Likewise.
12495         * NEWS: Mention the signature change.
12496         * doc/posix-functions/getgroups.texi (getgroups): Mention the
12497         problem with signature.
12498         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
12499         GETGROUPS_T is still useful for setgroups.
12500
12501         getgroups, getugroups: provide stubs for mingw
12502         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
12503         * lib/getugroups.c (getugroups): Likewise.
12504         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
12505         function.  Modernize replacement scheme.
12506         (gl_PREREQ_GETGROUPS): Delete.
12507         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
12508         * modules/getgroups (configure.ac): Declare witness.
12509         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
12510         * modules/unistd (Depends-on): Substitute witness.
12511         * lib/unistd.in.h (getgroups): Declare replacement.
12512
12513         getgroups: avoid calling exit
12514         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
12515         drop xalloc.
12516         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
12517         dependencies.
12518         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
12519         exiting, in the rare case of malloc failure.
12520
12521         getgroups: fix logic error
12522         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
12523         has more than 20 groups.
12524         * modules/getgroups-tests: New test.
12525         * tests/test-getgroups.c: New file.
12526
12527 2009-11-13  Simon Josefsson  <simon@josefsson.org>
12528
12529         * tests/test-base64.c: Improve.
12530
12531 2009-11-13  Simon Josefsson  <simon@josefsson.org>
12532
12533         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
12534         Blake <ebb9@byu.net>.
12535
12536 2009-11-13  Simon Josefsson  <simon@josefsson.org>
12537
12538         * tests/test-xvasprintf.c: Add %s%s related checks.
12539
12540 2009-11-12  Eric Blake  <ebb9@byu.net>
12541
12542         version-etc: match standards.texi style
12543         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
12544         and use <> only for URLs.
12545
12546 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
12547
12548         fts: do not fail on a submount during traversal
12549         * lib/fts.c (fts_build): Read the stat info again after opening
12550         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
12551         Original report at http://bugzilla.redhat.com/501848.
12552
12553 2009-11-12  Jim Meyering  <meyering@redhat.com>
12554
12555         bootstrap: sync from coreutils
12556         * build-aux/bootstrap (bootstrap_epilogue): New function.
12557         Use git_modules_config in one more place.  This make bootstrap's
12558         --gnulib-srcdir option more useful for testing.
12559
12560         bootstrap: generalize autoheader check
12561         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
12562         AC_CONFIG_HEADERS.
12563
12564 2009-11-11  Eric Blake  <ebb9@byu.net>
12565
12566         mkfifoat: use new modules for Solaris and BSD bugs
12567         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
12568         * lib/mkfifoat.c (mknodat): Split...
12569         * lib/mknodat.c (mknodat): ...into new file.
12570         * modules/mkfifoat (Files): Ship new file.
12571         (Depends-on): Add mkfifo, mknod.
12572         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
12573         (Depends-on): Add symlink.
12574         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
12575         redundant with test_mkfifo.h.
12576         (do_mkfifoat, do_mknodat): New helpers.
12577
12578         mknod: new module
12579         * modules/mknod: New file.
12580         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
12581         * lib/mknod.c (mknod): Likewise.
12582         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
12583         defaults.
12584         * modules/sys_stat (Makefile.am): Substitute them.
12585         * lib/sys_stat.in.h (mknod): Declare replacement.
12586         * MODULES.html.sh (Support for systems lacking POSIX:2008):
12587         Document it.
12588         * doc/posix-functions/mknod.texi (mknod): Likewise.
12589         * modules/mknod-tests: New test.
12590         * tests/test-mknod.c: Likewise.
12591
12592         mkfifo: new module
12593         * modules/mkfifo: New file.
12594         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
12595         * lib/mkfifo.c (mkfifo): Likewise.
12596         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
12597         defaults.
12598         * modules/sys_stat (Makefile.am): Substitute them.
12599         * lib/sys_stat.in.h (mkfifo): Declare replacement.
12600         * MODULES.html.sh (Support for systems lacking POSIX:2008):
12601         Document it.
12602         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
12603         * modules/mkfifo-tests: New test.
12604         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
12605         from test-mkfifoat.c.
12606         * tests/test-mkfifo.c: New file.
12607
12608         readlink: detect FreeBSD bug
12609         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
12610         slash on symlink.
12611         * doc/posix-functions/readlink.texi (readlink): Document the bug.
12612         * tests/test-readlink.h (test_readlink): Enhance test.
12613
12614         symlink: detect FreeBSD bug
12615         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
12616         slash on symlink.
12617         * doc/posix-functions/symlink.texi (symlink): Document the bug.
12618         * tests/test-symlink.h (test_symlink): Enhance test.
12619
12620 2009-11-10  Eric Blake  <ebb9@byu.net>
12621
12622         link: detect FreeBSD bug
12623         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
12624         symlink.
12625         * doc/posix-functions/link.texi (link): Document the bug.
12626         * tests/test-link.h (test_link): Enhance test.
12627         * tests/test-linkat.c (main): Update caller.
12628
12629         unlink, remove: detect FreeBSD bug
12630         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
12631         slash on symlink.
12632         * doc/posix-functions/unlink.texi (unlink): Document the bug.
12633         * doc/posix-functions/remove.texi (remove): Likewise.
12634         * tests/test-unlink.h (test_unlink): Enhance test.
12635         * tests/test-remove.c (main): Likewise.
12636
12637 2009-11-09  Eric Blake  <ebb9@byu.net>
12638
12639         rename: detect FreeBSD bug
12640         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
12641         slash on symlink.
12642         * modules/renameat-tests (Depends-on): Add filenamecat.
12643         * tests/test-rename.h (test_rename): Allow one more errno.
12644         * tests/test-renameat.c (main): Likewise.
12645         * doc/posix-functions/rename.texi (rename): Document the bug.
12646
12647         open: detect FreeBSD bug
12648         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
12649         symlink.
12650         * doc/posix-functions/open.texi (open): Document the bug.
12651         * doc/posix-functions/utimes.texi (utimes): Likewise.
12652         * tests/test-open.h (test_open): Add parameters, and test symlink
12653         handling.
12654         * tests/test-open.c (main): Adjust caller.
12655         * tests/test-fcntl-safer.c (main): Likewise.
12656         * modules/open-tests (Depends-on): Add stdbool, symlink.
12657         * modules/fcntl-safer-tests (Depends-on): Likewise.
12658         * tests/test-openat.c (main): Add test-open tests.
12659
12660         stat: detect FreeBSD bug
12661         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
12662         symlink.
12663         * doc/posix-functions/stat.texi (stat): Document the bug.
12664         * tests/test-stat.h (test_stat_func): Add argument.
12665         * tests/test-stat.c (main): Adjust caller.
12666         * tests/test-fstatat.c (main): Likewise.
12667         * modules/stat-tests (Depends-on): Add stdbool, symlink.
12668         Reported by Jim Meyering.
12669
12670 2009-11-09  James Youngman  <jay@gnu.org>
12671
12672         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
12673         * lib/strftime.c: Correct placement of #include "ignore-value.h".
12674
12675 2009-11-08  Jim Meyering  <meyering@redhat.com>
12676
12677         utimens: remove invalid futimesat call
12678         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
12679         It used the file descriptor of the target file as the DIR_FD
12680         parameter and NULL as the file name.  That caused failure with
12681         errno == EFAULT on FreeBSD-8.0-rc2
12682
12683 2009-11-07  Eric Blake  <ebb9@byu.net>
12684
12685         fflush, freadseek: use fseeko, not fseek
12686         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
12687         (clear_ungetc_buffer): Avoid potential problems on large files.
12688         * lib/freadseek.c (freadseek): Likewise.
12689         * modules/freadseek (Depends-on): Add fseeko.
12690         * modules/fseek (configure.ac): Set a witness.
12691         * tests/test-fflush.c (main): Use fseeko.
12692         * tests/test-fpurge.c (fseek): Disable link warning.
12693         * tests/test-freadable.c (fseek): Likewise.
12694         * tests/test-freading.c (fseek): Likewise.
12695         * tests/test-fseeko.c (fseek): Likewise.
12696         * tests/test-ftell.c (fseek): Likewise.
12697         * tests/test-ftello.c (fseek): Likewise.
12698         * tests/test-fwritable.c (fseek): Likewise.
12699         * tests/test-fwriting.c (fseek): Likewise.
12700
12701 2009-11-06  Simon Josefsson  <simon@josefsson.org>
12702
12703         * modules/memchr (Depends-on): Drop getpagesize dependency.
12704
12705 2009-11-06  Simon Josefsson  <simon@josefsson.org>
12706
12707         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
12708         Reported by Ludovic Courtès.
12709         * build-aux/pmccabe2html: Improve example usage.
12710         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
12711
12712 2009-11-06  Jim Meyering  <meyering@redhat.com>
12713
12714         do-release-commit-and-tag: New module.
12715         Automate the release-commit and tag process.
12716         * build-aux/do-release-commit-and-tag: New script, from coreutils.
12717         * modules/do-release-commit-and-tag: New file.
12718         * MODULES.html.sh (Support for maintaining and releasing): Add it.
12719
12720 2009-11-06  Simon Josefsson  <simon@josefsson.org>
12721
12722         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
12723         because test-select.c uses inet_pton.
12724
12725 2009-11-06  Simon Josefsson  <simon@josefsson.org>
12726
12727         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
12728         GETADDRINFO_LIB.  Bump serial number.
12729         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
12730         Suggested by Eric Blake <ebb9@byu.net>.
12731
12732 2009-11-05  Eric Blake  <ebb9@byu.net>
12733
12734         strtod: detect darwin bug
12735         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
12736         Reported by Leo Davis.
12737
12738         freopen-safer: new module
12739         * modules/freopen-safer: New module.
12740         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
12741         * lib/freopen-safer.c (freopen_safer): New file.
12742         * lib/stdio-safer.h (freopen_safer): New declaration.
12743         * lib/stdio--.h (freopen): New override.
12744         * MODULES.html.sh (File stream based Input/Output): Mention it.
12745         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
12746         freopen-safer module.
12747         * doc/posix-functions/stderr.texi (stderr): Likewise.
12748         * doc/posix-functions/stdin.texi (stdin): Likewise.
12749         * doc/posix-functions/stdout.texi (stdout): Likewise.
12750         * modules/freopen-safer-tests: New test.
12751         * tests/test-reopen-safer.c: New file.
12752
12753 2009-11-05  Jim Meyering  <meyering@redhat.com>
12754
12755         maint.mk: Prohibit inclusion of "close-stream.h" without use.
12756         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
12757
12758 2009-11-05  Simon Josefsson  <simon@josefsson.org>
12759
12760         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
12761
12762 2009-11-05  Simon Josefsson  <simon@josefsson.org>
12763
12764         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
12765
12766 2009-11-05  Simon Josefsson  <simon@josefsson.org>
12767
12768         Fix link error.
12769         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
12770         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
12771
12772 2009-11-05  Simon Josefsson  <simon@josefsson.org>
12773
12774         * tests/test-func.c: Also test value of __func__.
12775
12776 2009-11-05  Simon Josefsson  <simon@josefsson.org>
12777
12778         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
12779         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
12780
12781 2009-11-05  Bruno Haible  <bruno@clisp.org>
12782
12783         Fix link error.
12784         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
12785         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
12786         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
12787
12788 2009-11-05  Bruno Haible  <bruno@clisp.org>
12789
12790         Tests for module 'inet_pton'.
12791         * modules/inet_pton-tests: New file.
12792         * tests/test-inet_pton.c: New file.
12793
12794 2009-11-05  Bruno Haible  <bruno@clisp.org>
12795
12796         Tests for module 'inet_ntop'.
12797         * modules/inet_ntop-tests: New file.
12798         * tests/test-inet_ntop.c: New file.
12799
12800 2009-11-04  Eric Blake  <ebb9@byu.net>
12801
12802         stdlib-safer: wrap all mkstemp variants
12803         * modules/mkostemp (configure.ac): Set witness.
12804         * modules/mkostemps (configure.ac): Likewise.
12805         * modules/mkstemps (configure.ac): Likewise.
12806         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
12807         (mkstemps_safer): Wrap more functions.
12808         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
12809         wrapping.
12810         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
12811         (mkstemps_safer): Implement the wrappers.
12812
12813         mkstemps, mkostemps: new modules
12814         * modules/mkostemps: New module.
12815         * modules/mkstemps: Likewise.
12816         * lib/mkostemps.c (mkostemps): New file.
12817         * lib/mkstemps.c (mkstemps): Likewise.
12818         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
12819         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
12820         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
12821         * modules/stdlib (Makefile.am): Substitute them.
12822         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
12823         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
12824         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
12825         * doc/gnulib.texi (Glibc stdlib.h): Include them.
12826         * MODULES.html.sh (File system functions): Mention them.
12827
12828         tempname: resync from glibc
12829         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
12830         same values for __GT_FILE as glibc.  Abort even when assertions
12831         are disabled.
12832         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
12833         match its value otherwise.  Allow idempotent inclusion.
12834         * lib/mkdtemp.c (mkdtemp): Adjust caller.
12835         * lib/mkostemp.c (mkostemp): Likewise.
12836         * lib/mkstemp.c (mkstemp): Likewise.
12837         * lib/tmpfile.c (tmpfile): Likewise.
12838         * NEWS: Document this.
12839
12840         utimens: fix use of futimens on older Linux
12841         * lib/utimens.c (fdutimens): Use updated, rather than original,
12842         timespec to avoid bug in older Linux kernel.
12843         Reported by Simon Josefsson.
12844
12845 2009-11-04  Bruno Haible  <bruno@clisp.org>
12846
12847         Make num_processors more flexible and consistent.
12848         * lib/nproc.h (enum nproc_query): New type.
12849         (num_processors): Add a 'query' argument.
12850         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
12851         (num_processors): Add a 'query' argument. Test the value of the
12852         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
12853         mingw, count the number of CPUs available for the current process.
12854         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
12855         Check for sched_getaffinity and sched_getaffinity_np.
12856         * modules/nproc (Depends-on): Add c-ctype, extensions.
12857         * NEWS: Mention the change.
12858
12859 2009-11-03  Bruno Haible  <bruno@clisp.org>
12860
12861         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
12862
12863 2009-11-03  Jim Meyering  <meyering@redhat.com>
12864
12865         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
12866         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
12867         if it is defined.
12868
12869 2009-11-02  Eric Blake  <ebb9@byu.net>
12870
12871         mktime, timegm: share common declaration
12872         * lib/mktime-internal.h: New file.
12873         * lib/mktime.c: Use it rather than open-coding a declaration.
12874         * lib/timegm.c: Likewise.
12875         * modules/mktime (Files): Ship it.
12876         * modules/timegm (Files): Likewise.
12877         Suggested by Bruno Haible.
12878
12879         test-update-copyright: update test to match script changes
12880         * tests/test-update-copyright.sh: Avoid hard-coding perl
12881         location.  Don't update *.bak created by earlier runs.
12882
12883 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
12884             Simon Josefsson  <simon@josefsson.org>
12885             Bruno Haible  <bruno@clisp.org>
12886
12887         Fix link error on Solaris 8.
12888         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
12889         also in libnsl. Define also INET_PTON_LIB.
12890         * modules/inet_pton (Link): New section.
12891
12892 2009-11-02  Simon Josefsson  <simon@josefsson.org>
12893             Bruno Haible  <bruno@clisp.org>
12894
12895         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
12896         * modules/inet_ntop (Link): New section.
12897         Reported by Boyan Kasarov <bkasarov@gmail.com>.
12898
12899 2009-11-02  Eric Blake  <ebb9@byu.net>
12900
12901         maint: avoid compiler warnings in m4 macros
12902         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
12903         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
12904
12905 2009-11-02  Simon Josefsson  <simon@josefsson.org>
12906
12907         * m4/pmccabe2html.m4: Remove file.
12908         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
12909         function.  Change maintainer.
12910         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
12911         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
12912         Courtès).
12913
12914 2009-10-31  Eric Blake  <ebb9@byu.net>
12915
12916         fseeko: fix m4 regression
12917         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
12918         regression from 2009-10-27.
12919         Reported by Ralf Wildenhues.
12920
12921 2009-10-31  Jim Meyering  <meyering@redhat.com>
12922
12923         inttostr: aesthetics and improved (compile-time) safety
12924         Define inttype_is_signed rather than inttype_is_unsigned,
12925         since the sole use is via "#if inttype_is_signed".
12926         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
12927         inttype_is_unsigned.
12928         * lib/offtostr.c (inttype_is_signed): Likewise.
12929         * lib/uinttostr.c (inttype_is_signed): Likewise.
12930         * lib/umaxtostr.c (inttype_is_signed): Likewise.
12931         * lib/inttostr.c (inttostr): Use verify to cross-check the
12932         inttype_is_signed value and the signedness of the actual type.
12933         * modules/inttostr (Depends-on): Add verify.
12934
12935 2009-10-30  Eric Blake  <ebb9@byu.net>
12936
12937         build: avoid compiler warnings
12938         * lib/fchmodat.c (lchmod): Mark unused variables.
12939         * lib/getopt.c (_getopt_initialize): Likewise.
12940         * lib/mktime.c (__mktime_internal): Provide prototype.
12941         * lib/inttostr.c (inttostr): Avoid compiler warning even with
12942         older gcc that do not understand #pragma GCC diagnostic.
12943         * lib/uinttostr.c (inttype_is_unsigned): Define.
12944         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
12945
12946 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
12947
12948         stat: fix compilation on AIX
12949         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
12950         only see struct stat64.
12951
12952 2009-10-30  Eric Blake  <ebb9@byu.net>
12953
12954         exclude: make more robust
12955         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
12956         rather than masking a coding bug.
12957         Suggested by Bruno Haible.
12958
12959 2009-10-30  Jim Meyering  <meyering@redhat.com>
12960
12961         perl scripts: remove #!/usr/bin/perl in favor of more portable...
12962         Rather than putting #!/usr/bin/perl on the first line,
12963         start with a variant of what's recommended by "man perlrun" that
12964         invokes the first "perl" program from your shell's search path.
12965         * build-aux/gitlog-to-changelog: Replace #!... as above.
12966         Add a "Local Variables" perl mode setting.
12967         Prompted by a patch from Ludovic Courtès.
12968         Improved by Eric Blake.
12969         * build-aux/useless-if-before-free: Likewise.
12970         * build-aux/announce-gen: Likewise.
12971         * build-aux/update-copyright: Likewise.
12972
12973 2009-10-29  Eric Blake  <ebb9@byu.net>
12974
12975         filenamecat-lgpl: adjust clients
12976         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
12977         filenamecat.
12978         * modules/renameat (Depends-on): Likewise.
12979
12980         filenamecat: split into filenamecat-lgpl
12981         * modules/filenamecat-lgpl: New module.
12982         * modules/filenamecat (Files): Move library-safe files into
12983         filenamecat-lgpl.
12984         (Depends-on): Add filenamecat-lgpl.
12985         (configure.ac): Declare witness.
12986         * lib/filenamecat.h (file_name_concat): Only declare when using
12987         GPL module.
12988         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
12989         Move...
12990         * lib/filenamecat-lgpl.c: ...into new file.
12991         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
12992         (gl_FILE_NAME_CONCAT): Use it.
12993         * MODULES.html.sh (File system functions): Mention new module.
12994
12995         argp: avoid memory leak
12996         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
12997         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
12998         base_name, since the latter malloc()s and can call exit().
12999         Leak introduced 2006-07-03.
13000
13001         dirname-lgpl: adjust clients that don't need full dirname
13002         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
13003         * modules/filenamecat (Depends-on): Likewise.
13004         * modules/linkat (Depends-on): Likewise.
13005         * modules/mkancesdirs (Depends-on): Likewise.
13006         * modules/mkdir (Depends-on): Likewise.
13007         * modules/openat (Depends-on): Likewise.
13008         * modules/savewd (Depends-on): Likewise.
13009         * modules/rename (Depends-on): Likewise.
13010         (License): Relax license.
13011         * modules/mkdir-tests (Depends-on): Drop progname.
13012         (Makefile.am): Delete unneeded LDADD.
13013         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
13014
13015         dirname: split into dirname-lgpl
13016         * modules/dirname-lgpl: New module.
13017         * modules/dirname (Files): Move library-safe files into
13018         dirname-lgpl.
13019         (Depends-on): Add dirname-lgpl.
13020         (configure.ac): Declare witness.
13021         * modules/double-slash-root (License): Relax license.
13022         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
13023         module.
13024         * lib/dirname.c (dir_len, mdir_name): Move...
13025         * lib/dirname-lgpl.c: ...into new file.
13026         * lib/basename.c (last_component, base_len): Move...
13027         * lib/basename-lgpl.c: ...into new file.
13028         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
13029         (gl_DIRNAME): Use it.
13030         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
13031         Mention new module.
13032         * modules/dirname-tests (Depends-on): Add progname.
13033         * tests/test-dirname.c (program_name): Delete.
13034
13035         mkdir: make safe for libraries
13036         * modules/mkdir (Depends-on): Drop xalloc.
13037         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
13038         exit.
13039
13040         tests: avoid some compiler warnings
13041         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
13042         literals.
13043         * tests/test-memchr.c (main): Avoid type mismatch.
13044         * tests/test-arpa_inet.c (main): Avoid unused parameters.
13045         * tests/test-base64.c (main): Likewise.
13046         * tests/test-getdelim.c (main): Likewise.
13047         * tests/test-gethostname.c (main): Likewise.
13048         * tests/test-getline.c (main): Likewise.
13049         * tests/test-netinet_in.c (main): Likewise.
13050         * tests/test-select.c (open_server_socket, main): Likewise.
13051         * tests/test-select-stdin.c (main): Likewise.
13052         * tests/test-sockets.c (main): Likewise.
13053         * tests/test-strsignal.c (main): Likewise.
13054         * tests/test-sys_select.c (main): Likewise.
13055         * tests/test-sys_socket.c (main): Likewise.
13056         * tests/test-u64.c (main): Likewise.
13057         * tests/test-xfprintf-posix.c (main): Likewise.
13058         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
13059
13060         sockets: avoid compiler warning
13061         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
13062
13063         maint: detect usage(1) and other suspicious exits
13064         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
13065
13066 2009-10-29  Jim Meyering  <meyering@redhat.com>
13067
13068         timespec: long-to-int truncation could make timespec_cmp malfunction
13069         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
13070         a multiple of 2^32 nanoseconds as no difference.
13071
13072 2009-10-28  Jim Meyering  <meyering@redhat.com>
13073
13074         fprintftime: wrap macro code argument in "do {...} while(0)"
13075         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
13076         cpy macro must be a statement that can be followed by a semicolon.
13077         Now that the else clause contains a comment and is hence longer
13078         than one line, I require curly braces.  That in turn requires
13079         that we wrap this code block in the standard do...while(0).
13080
13081         fprintftime: remove stray semicolon from previous change
13082         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
13083
13084         fprintftime: avoid a warning about ignored fwrite return value
13085         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
13086         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
13087         that is unsafe.
13088         * modules/fprintftime (Depends-on): Add ignore-value.
13089
13090         exclude: avoid an unwarranted warning
13091         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
13092
13093 2009-10-27  Eric Blake  <ebb9@byu.net>
13094
13095         fseek: avoid compilation failure when fflush is replaced
13096         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
13097         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
13098         module is in use.
13099         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
13100         module is not in use; since REPLACE_FSEEK worked otherwise.
13101         (GNULIB_FTELLO): Likewise for ftell.
13102         Reported by Ian Beckwith and others.
13103
13104 2009-10-27  Bruno Haible  <bruno@clisp.org>
13105
13106         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
13107         Reported by Jim Meyering.
13108
13109 2009-10-27  Jim Meyering  <jim@meyering.net>
13110             Bruno Haible  <bruno@clisp.org>
13111
13112         Avoid warning despite dropping the return value of fwrite.
13113         * lib/unicodeio.c: Include ignore-value.h.
13114         (fwrite_success_callback): Explicitly ignore fwrite's return value.
13115         * modules/unicodeio (Depends-on): Add ignore-value.
13116
13117 2009-10-26  Eric Blake  <ebb9@byu.net>
13118
13119         areadlinkat: fix fallback path
13120         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
13121         pointer and zero.
13122
13123 2009-10-22  Pádraig Brady  <P@draigBrady.com>
13124
13125         Use a better IO block size for modern systems
13126         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
13127         * lib/md2.c: Likewise.
13128         * lib/md4.c: Likewise.
13129         * lib/md5.c: Likewise.
13130         * lib/sha1.c: Likewise.
13131         * lib/sha256.c: Likewise.
13132         * lib/sha512.c: Likewise.
13133
13134 2009-10-22  Eric Blake  <ebb9@byu.net>
13135
13136         tests: avoid several compiler warnings
13137         * tests/test-getcwd.c (main): Avoid buffer underflow.
13138         * tests/test-getdate.c (main): String literals are not safe with
13139         putenv, so use setenv.  Declare unused argument.
13140         * modules/getdate-tests (Depends-on): Add setenv.
13141         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
13142         problems with string literals in char *.
13143         * tests/test-hash.c (main): Avoid shadowing declaration.
13144         (insert_new): Treat string literals as char const *.
13145         * tests/test-getopt.h (test_getopt): Likewise.
13146         (getopt_loop): Alter types to minimize casting elsewhere.
13147         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
13148         (test_getopt_long_posix): Likewise.
13149         (do_getopt_long): Add wrapper to minimize casting.
13150         * tests/test-atexit.c (clear_temp_file): Use void.
13151         * tests/test-areadlink-with-size.c (main): Declare unused
13152         arguments.
13153         * tests/test-areadlink.c (main): Likewise.
13154         * tests/test-areadlinkat-with-size.c (main): Likewise.
13155         * tests/test-areadlinkat.c (main): Likewise.
13156         * tests/test-canonicalize-lgpl.c (main): Likewise.
13157         * tests/test-canonicalize.c (main): Likewise.
13158         * tests/test-dirent-safer.c (main): Likewise.
13159         * tests/test-dirname.c (main): Likewise.
13160         * tests/test-dup2.c (main): Likewise.
13161         * tests/test-fchdir.c (main): Likewise.
13162         * tests/test-fcntl-h.c (main): Likewise.
13163         * tests/test-fcntl-safer.c (main): Likewise.
13164         * tests/test-fdopendir.c (main): Likewise.
13165         * tests/test-fdutimensat.c (main): Likewise.
13166         * tests/test-fflush.c (main): Likewise.
13167         * tests/test-filenamecat.c (main): Likewise.
13168         * tests/test-filevercmp.c (main): Likewise.
13169         * tests/test-fopen-safer.c (main): Likewise.
13170         * tests/test-fopen.c (main): Likewise.
13171         * tests/test-fpending.c (main): Likewise.
13172         * tests/test-fpurge.c (main): Likewise.
13173         * tests/test-freading.c (main): Likewise.
13174         * tests/test-fstatat.c (main): Likewise.
13175         * tests/test-fsync.c (main): Likewise.
13176         * tests/test-futimens.c (main): Likewise.
13177         * tests/test-getndelim2.c (main): Likewise.
13178         * tests/test-gettimeofday.c (main): Likewise.
13179         * tests/test-getopt.c (main): Likewise.
13180         * tests/test-i-ring.c (main): Likewise.
13181         * tests/test-inttypes.c (main): Likewise.
13182         * tests/test-link.c (main): Likewise.
13183         * tests/test-lstat.c (main): Likewise.
13184         * tests/test-math.c (main): Likewise.
13185         * tests/test-md5.c (main): Likewise.
13186         * tests/test-memchr2.c (main): Likewise.
13187         * tests/test-memrchr.c (main): Likewise.
13188         * tests/test-mkdir.c (main): Likewise.
13189         * tests/test-mkdirat.c (main): Likewise.
13190         * tests/test-mkfifoat.c (main): Likewise.
13191         * tests/test-open.c (main): Likewise.
13192         * tests/test-openat-safer.c (main): Likewise.
13193         * tests/test-openat.c (main): Likewise.
13194         * tests/test-quotearg.c (main): Likewise.
13195         * tests/test-rawmemchr.c (main): Likewise.
13196         * tests/test-readlink.c (main): Likewise.
13197         * tests/test-remove.c (main): Likewise.
13198         * tests/test-rename.c (main): Likewise.
13199         * tests/test-renameat.c (main): Likewise.
13200         * tests/test-rmdir.c (main): Likewise.
13201         * tests/test-sha1.c (main): Likewise.
13202         * tests/test-signal.c (main): Likewise.
13203         * tests/test-sigaction.c (main): Likewise.
13204         * tests/test-stat.c (main): Likewise.
13205         * tests/test-stat-time.c (main): Likewise.
13206         * tests/test-stddef.c (main): Likewise.
13207         * tests/test-stdint.c (main): Likewise.
13208         * tests/test-stdio.c (main): Likewise.
13209         * tests/test-stdlib.c (main): Likewise.
13210         * tests/test-strchrnul.c (main): Likewise.
13211         * tests/test-strerror.c (main): Likewise.
13212         * tests/test-string.c (main): Likewise.
13213         * tests/test-strtod.c (main): Likewise.
13214         * tests/test-strverscmp.c (main): Likewise.
13215         * tests/test-symlink.c (main): Likewise.
13216         * tests/test-symlinkat.c (main): Likewise.
13217         * tests/test-sys_stat.c (main): Likewise.
13218         * tests/test-sys_time.c (main): Likewise.
13219         * tests/test-time.c (main): Likewise.
13220         * tests/test-unistd.c (main): Likewise.
13221         * tests/test-unlink.c (main): Likewise.
13222         * tests/test-unlinkat.c (main): Likewise.
13223         * tests/test-utimens.c (main): Likewise.
13224         * tests/test-utimensat.c (main): Likewise.
13225         * tests/test-version-etc.c (main): Likewise.
13226         * tests/test-wchar.c (main): Likewise.
13227         * tests/test-wctype.c (main): Likewise.
13228         * tests/test-xprintf-posix.c (main): Likewise.
13229         * tests/test-posixtm.c (main): Likewise.
13230         (STREQ): Delete unused macro.
13231         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
13232         shadowed variables.
13233         * tests/test-memchr.c (main): Likewise.
13234
13235 2009-10-21  Eric Blake  <ebb9@byu.net>
13236
13237         areadlinkat: avoid failure on older glibc
13238         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
13239         rather than mis-comparing 0 against FUNC_RESULT of char*.
13240
13241 2009-10-21  Bruno Haible  <bruno@clisp.org>
13242
13243         * modules/stpncpy (License): Relicense under LGPLv2+.
13244         Reported by David Lutterkort <lutter@redhat.com>.
13245
13246 2009-10-20  Eric Blake  <ebb9@byu.net>
13247
13248         utimensat: work around Solaris 9 bug
13249         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
13250         has trailing slash bugs.
13251         * tests/test-lutimens.h (test_lutimens): Enhance test.
13252         * tests/test-utimens.h (test_utimens): Likewise.
13253         * doc/posix-functions/utime.texi (utime): Enhance documentation.
13254         * doc/posix-functions/utimes.texi (utimes): Likewise.
13255         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
13256         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
13257         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
13258         * doc/posix-functions/futimens.texi (futimens): Likewise.
13259
13260         fdutimensat: new module
13261         * modules/fdutimensat: New file.
13262         * lib/fdutimensat.c (fdutimensat): Likewise.
13263         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
13264         * MODULES.html.sh (File system functions): Mention module.
13265         * modules/fdutimensat-tests: New test.
13266         * tests/test-fdutimensat.c: Likewise.
13267
13268         doc: regenerate INSTALL
13269         * doc/INSTALL: Reflect recent autoconf update.
13270         * doc/INSTALL.ISO: Likewise.
13271         * doc/INSTALL.UTF-8: Likewise.
13272
13273 2009-10-20  Pádraig Brady  <P@draigBrady.com>
13274
13275         acl: warn if ACL support is not detected
13276         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
13277
13278 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
13279
13280         * lib/nproc.h: Add extern "C" block for C++.
13281
13282 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
13283             Bruno Haible  <bruno@clisp.org>
13284
13285         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
13286         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
13287         * doc/posix-functions/isalpha.texi: Likewise.
13288         * doc/posix-functions/isblank.texi: Likewise.
13289         * doc/posix-functions/iscntrl.texi: Likewise.
13290         * doc/posix-functions/isdigit.texi: Likewise.
13291         * doc/posix-functions/isgraph.texi: Likewise.
13292         * doc/posix-functions/islower.texi: Likewise.
13293         * doc/posix-functions/isprint.texi: Likewise.
13294         * doc/posix-functions/ispunct.texi: Likewise.
13295         * doc/posix-functions/isspace.texi: Likewise.
13296         * doc/posix-functions/isupper.texi: Likewise.
13297         * doc/posix-functions/isxdigit.texi: Likewise.
13298
13299 2009-10-18  Bruno Haible  <bruno@clisp.org>
13300
13301         Tests for module 'isblank'.
13302         * modules/isblank-tests: New file.
13303         * tests/test-isblank.c: New file.
13304
13305         New module 'isblank'.
13306         * lib/isblank.c: New file.
13307         * m4/isblank.m4: New file.
13308         * modules/isblank: New file.
13309         * doc/posix-functions/isblank.texi: Mention the new module.
13310
13311 2009-10-18  Bruno Haible  <bruno@clisp.org>
13312
13313         New module 'ctype'.
13314         * lib/ctype.in.h: New file.
13315         * m4/ctype.m4: New file.
13316         * modules/ctype: New file.
13317         * doc/posix-headers/ctype.texi: Mention the new module.
13318
13319 2009-10-18  Jim Meyering  <meyering@redhat.com>
13320
13321         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
13322         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
13323         right after its initialization, rather than farther down.
13324         Keeping these in close proximity makes it easier to ensure
13325         that each such variable is initialized.  E.g.,
13326
13327             LIB_CLOCK_GETTIME=
13328             AC_SUBST([LIB_CLOCK_GETTIME])
13329
13330         This change also increments these serial numbers.
13331         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
13332         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
13333         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
13334
13335 2009-10-18  Bruno Haible  <bruno@clisp.org>
13336
13337         Don't let environment variables perturb build.
13338         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
13339         (gl_PREREQ_GETHRXTIME): ... not here.
13340
13341 2009-10-18  Bruno Haible  <bruno@clisp.org>
13342
13343         Avoid symlink attack in localcharset module.
13344         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
13345         (O_NOFOLLOW): Define fallback.
13346         (get_charset_aliases): Don't open the file if it is a symbolic link.
13347         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
13348         gl_FCNTL_H.
13349         (gl_FCNTL_H): Require it.
13350         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
13351         * modules/localcharset (Files): Add m4/fcntl_h.m4.
13352         Reported by Fergal Glynn <fglynn@veracode.com>.
13353
13354 2009-10-18  Bruno Haible  <bruno@clisp.org>
13355
13356         Implement nproc for mingw.
13357         * lib/nproc.c: Include <windows.h>
13358         (num_processors): On native Windows platforms, try GetSystemInfo.
13359
13360 2009-10-18  Bruno Haible  <bruno@clisp.org>
13361
13362         Implement nproc for IRIX.
13363         * lib/nproc.c: Include <sys/sysmp.h>.
13364         (num_processors): On IRIX systems, try sysmp.
13365         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
13366
13367 2009-10-18  Bruno Haible  <bruno@clisp.org>
13368
13369         Implement nproc for HP-UX.
13370         * lib/nproc.c: Include <sys/pstat.h>
13371         (num_processors): On HP-UX systems, try pstat_getdynamic.
13372         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
13373         pstat_getdynamic.
13374
13375 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
13376             Bruno Haible  <bruno@clisp.org>
13377
13378         Implement nproc for NetBSD, OpenBSD.
13379         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
13380         (ARRAY_SIZE): New macro.
13381         (num_processors): On BSD systems, try sysctl of HW_NCPU.
13382         * m4/nproc.m4: New file.
13383         * modules/nproc (Files): Add m4/nproc.m4.
13384         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
13385         (Makefile.am): Instead, augment lib_SOURCES.
13386
13387 2009-10-18  Bruno Haible  <bruno@clisp.org>
13388
13389         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
13390         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
13391         sys/param.h.
13392
13393 2009-10-16  Eric Blake  <ebb9@byu.net>
13394
13395         utimensat: new module
13396         * modules/utimensat: New file.
13397         * lib/utimensat.c (utimensat): Likewise.
13398         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
13399         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
13400         so we can work around Linux bugs.
13401         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
13402         * modules/sys_stat (Makefile.am): Substitute them.
13403         * lib/sys_stat.in.h (utimensat): Declare it.
13404         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
13405         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
13406         * modules/utimensat-tests: New test.
13407         * tests/test-utimensat.c: Likewise.
13408
13409         utimens: let lutimens work on non-symlinks
13410         * lib/utimens.c (lutimens): Fall back to utimens rather than
13411         failing with ENOSYS, when file is not a symlink.
13412         (utimens): Reduce redirection.
13413         * tests/test-lutimens.h (test_lutimens): Update test to cover
13414         non-symlinks.
13415         * tests/test-utimens.h (test_utimens): Update test to cover
13416         symlinks.
13417         * tests/test-utimens.c (main): Update caller.
13418
13419         utimens: cache whether utimensat syscall works
13420         * lib/utimens.c (utimensat_works_really): New cache variable.
13421         (fdutimens, lutimens): Use it to avoid failing syscall.
13422
13423         test-stat-time, test-utimens: improve portability
13424         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
13425         ext4 on alpha, and for cygwin.
13426         * tests/test-utimens-common.h: New file.
13427         (nap): Factor delays into single function.
13428         * tests/test-lutimens.h (test_lutimens): Use new header.
13429         * tests/test-futimens.h (test_futimens): Likewise.
13430         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
13431         timestamps to occur from same machine, as was done previously for
13432         test_utimens.
13433         * modules/utimens-tests (Files): Ship new file.
13434         * modules/futimens-tests (Files): Likewise.
13435         Reported in part by Jim Meyering.
13436
13437         sys_stat: sort replacement declarations
13438         * lib/sys_stat.in.h: Sort declarations.
13439         * lib/futimens.c (futimens): Fix typo.
13440
13441 2009-10-15  Jim Meyering  <meyering@redhat.com>
13442
13443         don't let environment settings perturb build
13444         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
13445         could cause a configure-time and/or build-time malfunction.
13446         Typically, a configure-time function-in-library test is performed
13447         via code like this:
13448
13449           LIB_VAR=
13450           AC_SUBST([LIB_VAR])
13451           prefix_saved_LIBS=$LIBS
13452             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
13453                        [test "$ac_cv_search_FUNC" = "none required" ||
13454                         LIB_VAR=$ac_cv_search_FUNC])
13455           LIBS=$prefix_saved_LIBS
13456
13457         However, in each of the files affected by this change, the LIB_VAR=
13458         initialization was omitted.  Thus, when set in the environment, its
13459         value would propagate into generated Makefiles when FUNC is not found
13460         in LIB_NAME.
13461         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
13462         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
13463         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
13464
13465 2009-10-14  Eric Blake  <ebb9@byu.net>
13466
13467         fchdir: avoid infinite recursion in mingw
13468         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
13469         recursing.
13470
13471         test-stat-time: port to mingw
13472         * tests/test-stat-time.c (force_unlink): Return a value.
13473         (test_ctime) [W32]: Fix compilation error.
13474         (nap): Don't call usleep with too large an argument.  Use
13475         force_unlink.
13476         * doc/pastposix-functions/usleep.texi (usleep): Document the
13477         portability issue.
13478
13479 2009-10-13  Jim Meyering  <meyering@redhat.com>
13480
13481         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
13482         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
13483         * modules/pipe-filter-ii: Likewise.
13484         * modules/sys_socket-tests: Likewise.
13485         * modules/tsearch-tests: Likewise.
13486         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
13487         (check): Depend on it.
13488
13489 2009-10-12  Eric Blake  <ebb9@byu.net>
13490
13491         utimens-tests: port to NFS file systems
13492         * tests/test-utimens.h (test_utimens): Refactor utimecmp
13493         comparisons to avoid spurious failures from timestamp drift
13494         between NFS machines.
13495
13496 2009-10-12  Eric Blake  <ebb9@byu.net>
13497
13498         stat-time-tests: minor cleanups
13499         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
13500         * tests/test-stat-time.c (nap): Separate assignment from call.
13501         Suggested by Paolo Bonzini and Bruno Haible.
13502
13503         sys_stat: guarantee struct timespec
13504         * lib/sys_stat.in.h (includes): Always include <time.h>
13505         * modules/sys_stat (Depends-on): Add time.
13506         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
13507         mode_t permission values.
13508         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
13509         get at subsecond timestamps.
13510
13511 2009-10-10  Eric Blake  <ebb9@byu.net>
13512
13513         futimens: new module
13514         * modules/futimens: New file.
13515         * lib/futimens.c (futimens): Likewise.
13516         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
13517         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
13518         we can work around Linux bugs.
13519         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
13520         * modules/sys_stat (Makefile.am): Substitute them.
13521         * lib/sys_stat.in.h (futimens): Declare it.
13522         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
13523         * doc/posix-functions/futimens.texi (futimens): Likewise.
13524         * modules/futimens-tests: New test.
13525         * tests/test-futimens.c: Likewise.
13526
13527         utimens: introduce fdutimens
13528         * lib/utimens.h (fdutimens): New prototype.
13529         * lib/utimens.c (gl_futimens): Move guts...
13530         (fdutimens): ...to new interface.
13531         * tests/test-utimens.c (do_fdutimens): Use it.
13532
13533         utimens: add UTIME_NOW and UTIME_OMIT support
13534         * lib/utimens.c (validate_timespec, update_timespec): New helper
13535         functions.
13536         (gl_futimens, lutimens): Use them.
13537         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
13538         stdbool, sys_stat.
13539         (Link): Mention resulting library dependency.
13540         * modules/utimecmp (Link): Likewise.
13541         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
13542         (Makefile.am): Pick up library dependency.
13543         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
13544         definition.
13545         * tests/test-sys_stat.c: Test the definitions.
13546         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
13547         * NEWS: Document library dependency.
13548
13549         utimecmp: support symlink timestamps
13550         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
13551         hashing when possible.  Use pathconf when available.
13552         (SYSCALL_RESOLUTION): Recognize tighter resolution.
13553         * modules/utimecmp (Depends-on): Add lstat.
13554
13555         utimens: add lutimens interface
13556         * lib/utimens.c (lutimens): New function.
13557         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
13558         * lib/utimens.h (lutimens): Declare new interface.
13559         * tests/test-utimens.c (main): Enhance test.
13560         * tests/test-lutimens.h (test_lutimens): New file.
13561         * modules/utimens-tests (Files): Distribute it.
13562         (Depends-on): Add symlink.
13563         (configure.ac): Check for usleep.
13564
13565         utimens: validate futimens usage
13566         * lib/utimens.c (gl_futimens): Require valid fd up front, using
13567         fewer syscalls on failure later on.  Avoid compiler warning on
13568         mingw.
13569         * modules/utimens (Depends-on): Add dup2.
13570
13571         utimens: add test
13572         * modules/utimens-tests: New test.
13573         * tests/test-utimens.h: New file.
13574         * tests/test-futimens.h: Likewise.
13575         * tests/test-utimens.c: Likewise.
13576
13577         doc: mention timestamp portability issues
13578         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
13579         instead.
13580         * doc/posix-functions/utime.texi (utime): Likewise.
13581         * doc/posix-functions/utimes.texi (utimes): Likewise.
13582         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
13583         instead.
13584         * doc/posix-functions/futimens.texi (futimens): Mention utimens
13585         module.
13586         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
13587         Mention weakness with symlink timestamps.
13588         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
13589         to utimensat/futimens instead.
13590         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
13591
13592         test-dup2: enhance test
13593         * tests/test-dup2.c (main): Also check AT_FDCWD.
13594
13595         test-stat-time: avoid more spurious failures
13596         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
13597         xfs; and avoid race if the two timestamps cross quantization edge.
13598
13599         relocatable: prefer 'file system' over 'filesystem'
13600         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
13601         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
13602         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
13603         * doc/relocatable.texi (Enabling Relocatability): Likewise.
13604         * lib/relocatable.c (compute_curr_prefix): Likewise.
13605
13606 2009-10-10  Jim Meyering  <meyering@redhat.com>
13607
13608         stat-time-tests: check for the usleep function
13609         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
13610
13611 2009-10-10  Bruno Haible  <bruno@clisp.org>
13612
13613         * modules/xnanosleep: Put the Link section after the Include section.
13614
13615 2009-10-09  Eric Blake  <ebb9@byu.net>
13616
13617         dup2: work around FreeBSD 6.1 bug
13618         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
13619         * doc/posix-functions/dup2.texi (dup2): Document it.
13620         Reported by Nelson H. F. Beebe and Jim Meyering.
13621
13622         test-stat-time: port to buggy NFS clients
13623         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
13624         (test_ctime): Also skip test if mtime and ctime are skewed.
13625
13626         maint: prefer 'file system' over 'filesystem'
13627         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
13628         * doc/posix-functions/lstat.texi (lstat): Likewise.
13629         * lib/file-has-acl.c (file_has_acl): Likewise.
13630         * lib/fwriteerror.c [TEST]: Likewise.
13631         * tests/test-areadlink.h (test_areadlink): Likewise.
13632         * tests/test-areadlinkat-with-size.c (main): Likewise.
13633         * tests/test-areadlinkat.c (main): Likewise.
13634         * tests/test-canonicalize-lgpl.c (main): Likewise.
13635         * tests/test-canonicalize.c (main): Likewise.
13636         * tests/test-fstatat.c (main): Likewise.
13637         * tests/test-linkat.c (main): Likewise.
13638         * tests/test-lstat.h (test_lstat_func): Likewise.
13639         * tests/test-mkdir.h (test_mkdir): Likewise.
13640         * tests/test-readlink.h (test_readlink): Likewise.
13641         * tests/test-remove.c (main): Likewise.
13642         * tests/test-rename.h (test_rename): Likewise.
13643         * tests/test-renameat.c (main): Likewise.
13644         * tests/test-rmdir.h (test_rmdir_func): Likewise.
13645         * tests/test-symlink.h (test_symlink): Likewise.
13646         * tests/test-symlinkat.c (main): Likewise.
13647         * tests/test-unlink.h (test_unlink_func): Likewise.
13648         * tests/test-unlinkat.c (main): Likewise.
13649
13650         maint: make realtime library usage explicit
13651         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
13652         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
13653         * modules/settime (Link): Likewise.
13654         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
13655
13656         test-stat-time: speed up execution
13657         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
13658         warning on mingw.
13659         (nap): New helper function.
13660         (prepare_test): Use it to reduce sleep time.
13661         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
13662         execution.
13663         * modules/stat-time-tests (configure.ac): Check for usleep.
13664
13665 2009-10-09  Jim Meyering  <meyering@redhat.com>
13666
13667         selinux-h: always use getfilecon wrappers
13668         * lib/getfilecon.c: New file.
13669         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
13670         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
13671         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
13672         (fgetfilecon): Provide a stub.
13673         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
13674         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
13675         file unconditionally.
13676         When <selinux/selinux.h> is found, arrange to use wrappers.
13677         * modules/selinux-h (Files): Add getfilecon.c.
13678         (Makefile.am): Substitute include-next-related bits
13679         into the now-always-generated selinux/selinux.h file.
13680         * doc/glibc-functions/lgetfilecon.texi: New file.
13681         * doc/glibc-functions/fgetfilecon.texi: New file.
13682         * doc/glibc-functions/getfilecon.texi: New file.
13683         * doc/glibc-functions/getfilecon-desc.texi: New file.
13684         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
13685         which to pull in the new files.
13686         * MODULES.html.sh (Misc): Add selinux-h.
13687
13688 2009-10-08  Jim Meyering  <meyering@redhat.com>
13689
13690         unistd: fix comment typo
13691         * lib/unistd.in.h (euidaccess): Fix a comment typo.
13692
13693 2009-10-08  Eric Blake  <ebb9@byu.net>
13694
13695         areadlink: use SIZE_MAX consistently
13696         * modules/areadlink (Depends-on): Add stdint.
13697         * modules/areadlink-with-size (Depends-on): Likewise.
13698         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
13699         gives NULL; drop sys/types, since unistd gives size_t; and add
13700         stdint for SIZE_MAX.
13701         (SIZE_MAX): Rely on headers.
13702         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
13703         and add stdint.
13704         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
13705         (SIZE_MAX): Likewise.
13706         (INITIAL_BUF_SIZE): Turn into enum.
13707         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
13708
13709 2009-10-08  Jim Meyering  <meyering@redhat.com>
13710
13711         areadlinkat: avoid compilation failure
13712         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
13713         Fix typo in comment.
13714
13715 2009-10-07  Eric Blake  <ebb9@byu.net>
13716
13717         areadlinkat-with-size: new module
13718         * modules/areadlinkat-with-size: New module.
13719         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
13720         * lib/areadlink.h (areadlinkat): Declare it.
13721         * MODULES.html.sh (File system functions): Mention it.
13722         * modules/areadlinkat-with-size-tests: New test.
13723         * tests/test-areadlinkat-with-size.c: New file.
13724
13725         xreadlinkat: new module
13726         * modules/xreadlinkat: New module.
13727         * lib/xreadlinkat.c (xreadlinkat): New file.
13728         * lib/xreadlink.h (xreadlinkat): Declare it.
13729         * MODULES.html.sh (File system functions): Mention it.
13730
13731         areadlinkat: new module
13732         * lib/at-func.c (FUNC_FAIL): New define.
13733         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
13734         * modules/areadlinkat: New module.
13735         * lib/linkat.c (areadlinkat): Move...
13736         * lib/areadlinkat.c (areadlinkat): ...to new file.
13737         * lib/areadlink.h (areadlinkat): Declare it.
13738         * modules/linkat (Depends-on): Add areadlinkat.
13739         * MODULES.html.sh (File system functions): Mention it.
13740         * modules/areadlinkat-tests: New test.
13741         * tests/test-areadlinkat.c: New file.
13742
13743         areadlink, areadlink-with-size: add tests
13744         * modules/areadlink-tests: New test.
13745         * modules/areadlink-with-size-tests: Likewise.
13746         * tests/test-areadlink.h: New file.
13747         * tests/test-areadlink.c: Likewise.
13748         * tests/test-areadlink-with-size.c: Likewise.
13749
13750         maint: minor cleanups
13751         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
13752         _UNUSED_PARAMETER_ instead.
13753         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
13754         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
13755         * modules/linkat-tests (Files): Distribute test-link.h.
13756
13757         openat, utimens: whitespace cleanup
13758         * lib/openat.c: Prefer space throughout, rather than mix of 8
13759         spaces vs. tabs.
13760         * lib/at-func.c: Likewise.
13761         * lib/utimens.c: Likewise.
13762
13763         openat: avoid using wrong fd
13764         * lib/openat.c (openat_permissive): Reject user's fd if saving the
13765         working directory chooses same fd.
13766         * lib/at-func.c (AT_FUNC_NAME): Likewise.
13767
13768         mkdir, mkdirat: fix cygwin 1.5.x bug
13769         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
13770         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
13771         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
13772         bug.
13773         (gl_PREREQ_MKDIR): Delete unused macro.
13774         * modules/mkdir (Files): Track file rename.
13775         (configure.ac): Update macro name.
13776         * modules/openat (Depends-on): Add mkdir.
13777         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
13778
13779         mkdir, mkdirat: add tests
13780         * modules/mkdir-tests: New test.
13781         * tests/test-mkdir.h: New file.
13782         * tests/test-mkdir.c: Likewise.
13783         * tests/test-mkdirat.c: Likewise.
13784         * modules/openat-tests (Files): Add new files.
13785         (Makefile.am): Run new test.
13786
13787 2009-10-06  Eric Blake  <ebb9@byu.net>
13788
13789         doc: tweak *at function documentation
13790         * doc/posix-functions/faccessat.texi (faccessat): Mention
13791         known issue with replacement.
13792         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
13793         * doc/posix-functions/linkat.texi (linkat): Likewise.
13794         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
13795         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
13796         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
13797         * doc/posix-functions/renameat.texi (renameat): Likewise.
13798         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
13799
13800         openat: fix GNU/Hurd bug in unlinkat
13801         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
13802         broken.
13803         * doc/posix-functions/unlink.texi (unlink): Document this.
13804         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
13805
13806         fdopendir: fix GNU/Hurd bug
13807         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
13808         allowing non-directory fds.
13809         * lib/fdopendir.c (rpl_fdopendir): Work around it.
13810         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
13811         * modules/dirent (Makefile.am): Substitute it.
13812         * lib/dirent.in.h (fdopendir): Declare replacement.
13813         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
13814         * tests/test-fdopendir.c (main): Test something other than
13815         /dev/null, since on Hurd that behaves like a directory.
13816
13817         test-symlink: port to GNU/Hurd
13818         * tests/test-symlink.h (test_symlink): Relax expected errno.
13819
13820         doc: tweak more cygwin information
13821         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
13822         now compatible with glibc.
13823         * doc/posix-functions/getopt.texi (getopt): Likewise.
13824
13825         getopt-gnu: add another test
13826         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
13827         guarantee behavior relied on by m4.
13828         * tests/test-getopt.c (main): Use it.
13829         * modules/getopt-posix-tests (Depends-on): Add setenv.
13830         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
13831
13832         getopt: fix compilation on darwin
13833         * lib/getopt.in.h (includes): Leave breadcrumbs during system
13834         include.
13835         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
13836         Reported by Ludovic Courtès.
13837
13838 2009-10-06  Bruno Haible  <bruno@clisp.org>
13839
13840         * modules/size_max (Description): Discourage its use.
13841         Reported by Simon Josefsson.
13842
13843 2009-10-06  Jim Meyering  <meyering@redhat.com>
13844
13845         linkat: avoid compilation failure
13846         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
13847
13848 2009-10-05  Eric Blake  <ebb9@byu.net>
13849
13850         linkat: support Linux 2.6.17
13851         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
13852         linkat on Linux, but allow cache variable override.
13853         * lib/linkat.c (rpl_linkat): Define override.
13854         * modules/linkat (Depends-on): Add symlinkat.
13855         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
13856         * modules/unistd (Makefile.am): Substitute it.
13857         * lib/unistd.in.h (linkat): Declare replacement.
13858         Reported by Pádraig Brady.
13859
13860         quotearg: port test to systems with C.UTF-8 locale
13861         * tests/test-quotearg.c (struct result_strings): Add another
13862         member, differentiating between C.ASCII and C.UTF-8 handling.
13863         (compare_strings): Add parameter.
13864         (main): Adjust all callers.
13865
13866         getopt: avoid clash with FreeBSD _getopt_internal
13867         * lib/getopt.in.h (_getopt_internal): Override the name.
13868         * lib/getopt_int.h (includes): Pick up any overrides.
13869         Reported by Reuben Thomas.
13870
13871         hash: allow C89 compilation
13872         * lib/hash.c (check_tuning): Move declaration before statement.
13873         Reported by Reuben Thomas.
13874
13875 2009-10-05  Karl Berry  <karl@gnu.org>
13876
13877         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
13878
13879 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
13880             Bruno Haible  <bruno@clisp.org>
13881
13882         * lib/uname.c (uname): Use a table-driven algorithm to compute
13883         Windows NT versions.
13884
13885 2009-10-04  Bruno Haible  <bruno@clisp.org>
13886
13887         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
13888         program_invocation_short_name.
13889         * modules/progname (configure.ac): Test for presence of
13890         program_invocation_short_name.
13891         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
13892
13893 2009-10-04  Bruno Haible  <bruno@clisp.org>
13894
13895         * lib/progname.c (set_program_name): Fix comment.
13896         Reported by Jim Meyering.
13897
13898 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
13899             Bruno Haible  <bruno@clisp.org>
13900
13901         * lib/uname.c: Include <string.h>.
13902         (uname): Do only one call to GetVersionEx in the common case.
13903
13904 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
13905             Bruno Haible  <bruno@clisp.org>
13906
13907         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
13908         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
13909         (uname): Add support for Windows CE and various non-x86 CPU types.
13910
13911 2009-10-03  Bruno Haible  <bruno@clisp.org>
13912
13913         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
13914         invocation to tests/configure.ac.
13915         Reported by Ian Beckwith <ianb@erislabs.net>.
13916
13917 2009-10-02  Eric Blake  <ebb9@byu.net>
13918
13919         fchdir: avoid compiler warning
13920         * lib/fchdir.c (canonicalize_file_name)
13921         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
13922
13923         test-open: support mingw errno values
13924         * tests/test-open.h (test_open): Relax test.
13925         * tests/test-fopen.h (test_fopen): Likewise.
13926         * tests/test-openat-safer.c (main): Likewise.
13927
13928         open: fix opening directory on mingw
13929         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
13930
13931         test-open: on GNU/Hurd, /dev/null is a directory
13932         * tests/test-fopen.h (main): Rename...
13933         (test_fopen): ...to this.  Use a guaranteed non-directory when
13934         confirming open behavior on trailing slash.
13935         * tests/test-openat-safer.c (main): Likewise.
13936         * tests/test-open.h (main): Likewise....
13937         (test_open): ...to this.
13938         * tests/test-fopen.c (main): Adjust caller.
13939         * tests/test-fopen-safer.c (main): Likewise.
13940         * tests/test-open.c (main): Likewise.
13941         * tests/test-fcntl-safer.c (main): Likewise.
13942         Reported by Samuel Thibault.
13943
13944         rename, fchdir: don't ignore chdir failure
13945         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
13946         * lib/rename.c (rpl_rename) [W32]: Likewise.
13947         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
13948         an empty destination directory if source cannot be renamed,
13949         although there is still possibility for failure.
13950         * doc/posix-functions/rename.texi (rename): Document the race.
13951         Reported by Jim Meyering.
13952
13953         maint: cleanup whitespace in recent commits
13954         * lib/rename.c (rpl_rename): Remove tabs.
13955         * tests/test-link.h (test_link): Likewise.
13956         * lib/fchdir.c (get_name): Likewise.
13957         Reported by Jim Meyering.
13958
13959 2009-10-02  Ben Pfaff  <blp@gnu.org>
13960
13961         relocatable-prog-wrapper: Add missing dependency on
13962         double-slash-root.
13963         * modules/relocatable-prog-wrapper: Add dependency.
13964         Reported by Ian Beckwith <ianb@erislabs.net>.
13965
13966 2009-10-02  Eric Blake  <ebb9@byu.net>
13967
13968         renameat: fix Solaris bugs
13969         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
13970         needed fixing.
13971         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
13972         * modules/stdio (Makefile.am): Substitute it.
13973         * lib/stdio.in.h (renameat): Declare replacement.
13974         * lib/renameat.c (rpl_renameat): Implement fix.
13975
13976         renameat: new module
13977         * modules/renameat: New file.
13978         * lib/renameat.c (renameat): Likewise.
13979         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
13980         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
13981         * modules/stdio (Makefile.am): Substitute them.
13982         * lib/stdio.in.h (renameat): Declare it.
13983         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
13984         * doc/posix-functions/renameat.texi (renameat): Likewise.
13985         * modules/renameat-tests: New test.
13986         * tests/test-renameat.c: Likewise.
13987
13988         rename: fix mingw bugs
13989         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
13990         directory overwrite bugs.
13991
13992         rename: fix another cygwin 1.5 bug
13993         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
13994         checks.
13995         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
13996         unnecessary cygwin workarounds.  Also work around bug with moving
13997         full directory onto an empty one.
13998         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
13999
14000         rename-dest-slash: merge into rename module
14001         * modules/rename-dest-slash (Status): Mark obsolete.
14002         (Depends-on): Add rename.
14003         (Files): Let rename do it all.
14004         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
14005         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
14006         * m4/rename-dest-slash.m4: ...so this file can be deleted.
14007         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
14008         * lib/rename.c (rpl_rename): Update comments.
14009
14010         rename: fix cygwin 1.5.x bugs
14011         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
14012         * lib/rename.c (rpl_rename): Work around them.
14013         * modules/rename (Depends-on): Add same-inode.
14014
14015         rename: fix Solaris 10 bug
14016         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
14017         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
14018         was the only bug.
14019
14020         rename: fix Solaris 9 bug
14021         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
14022         on non-directory.  Avoid calling exit.
14023         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
14024         strdup.
14025         * modules/rename-tests (Depends-on): Drop lstat.
14026         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
14027         (gl_PREREQ_RENAME): Delete unused macro.
14028
14029         rename-dest-slash: fix NetBSD bug
14030         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
14031         links.
14032         * modules/rename-dest-slash (Depends-on): Add same-inode.
14033
14034         rename-tests: new test, exposes several platform bugs
14035         * modules/rename-tests: New file.
14036         * tests/test-rename.h: Likewise.
14037         * tests/test-rename.c: Likewise.
14038         * doc/posix-functions/rename.texi (rename): Improve documentation,
14039         including bugs that will eventually be fixed in gnulib.
14040
14041 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
14042
14043         * lib/uname.c: Include <stdlib.h>
14044         (uname): Assume version info is available.
14045
14046 2009-10-02  Jim Meyering  <meyering@redhat.com>
14047
14048         gnu-web-doc-update: correct --help output
14049         * build-aux/gnu-web-doc-update: Make --help output relevant.
14050
14051         gnu-web-doc-update: add standard options
14052         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
14053
14054         gnu-web-doc-update: New module.
14055         Use this script to automatically update the on-line web documentation
14056         for your GNU project at http://www.gnu.org/software/$pkg/manual/
14057         * modules/gnu-web-doc-update: New file, from coreutils.
14058         * build-aux/gnu-web-doc-update: New script.
14059
14060 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
14061
14062         link: LoadLibrary is not needed.
14063         * lib/link.c: Use GetModuleHandle.
14064
14065 2009-10-01  Eric Blake  <ebb9@byu.net>
14066
14067         getopt: bump serial number
14068         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
14069         change.
14070
14071         tests: tighten link, rmdir, and remove tests
14072         * tests/test-link.h (includes): No need to use <config.h> here.
14073         Clean up if directory hard link was created, otherwise test for
14074         trailing '.'.
14075         * tests/test-linkat.c (main): Simplify.
14076         * tests/test-remove.c (main): Enhance test for trailing '.'.
14077         * tests/test-rmdir.h (test_rmdir_func): Likewise.
14078
14079 2009-10-01  Jim Meyering  <meyering@redhat.com>
14080
14081         maint.mk: requiring "make major" was annoying, for a "minor" release.
14082         What is intended is "stable", to contrast with alpha and beta,
14083         so require "make stable", not "make major".
14084         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
14085         (get_tool_versions): Likewise.
14086         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
14087
14088 2009-09-30  Ben Pfaff  <blp@gnu.org>
14089
14090         Fix broken build of replacement for Windows tmpfile().
14091         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
14092         flags argument added along with the 'mkostemp' module.
14093
14094 2009-09-28  Bruno Haible  <bruno@clisp.org>
14095
14096         Avoid identifier clash with POSIX function 'remove' defined as a macro.
14097         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
14098         to 'remove_elt'.
14099         (gl_list_remove): Update.
14100         * lib/gl_list.c (gl_list_remove): Update.
14101         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
14102         to 'remove_elt'.
14103         (gl_oset_remove): Update.
14104         * lib/gl_list.c (gl_oset_remove): Update.
14105         Reported by Eric Blake.
14106
14107 2009-09-28  Eric Blake  <ebb9@byu.net>
14108
14109         doc: mention yet more cygwin 1.7 status
14110         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
14111         cygwin.
14112         * doc/glibc-functions/execvpe.texi (execvpe): New file.
14113         * doc/gnulib.texi (Glibc unistd.h): Mention it.
14114
14115         argp: fix test failure
14116         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
14117         that are not upper-case.  Pass correct range to tolower.
14118
14119 2009-09-27  Jim Meyering  <meyering@redhat.com>
14120
14121         test-yesno: work around sparc-dash here-document infelicity
14122         Without this change, the literal \177 byte in a here document
14123         would make dash 0.5.5.1-3 access uninitialized memory.
14124         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
14125         Instead, use a marker, "@", and filter through tr to create the desired
14126         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
14127
14128 2009-09-27  Bruno Haible  <bruno@clisp.org>
14129
14130         Disable untested support for new flavours of ACLs on AIX.
14131         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
14132         progress.
14133         * lib/set-mode-acl.c (qset_acl): Likewise.
14134
14135 2008-12-07  Bruno Haible  <bruno@clisp.org>
14136
14137         Add support for new flavours of ACLs on AIX. (Untested.)
14138         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
14139         (file_has_acl): Add support for newer AIX.
14140         * lib/set-mode-acl.c (qset_acl): Likewise.
14141         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
14142         Rainer Tammer <tammer@tammer.net>.
14143
14144 2009-09-26  Eric Blake  <ebb9@byu.net>
14145
14146         argp: fix compilation of getopt
14147         * lib/getopt.in.h (includes): Use different guard than glibc.
14148         Reported by Sergey Poznyakoff.
14149
14150         doc: mention more cygwin 1.7 status
14151         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
14152         bug.
14153         * doc/posix-functions/execl.texi (execl): Likewise.
14154         * doc/posix-functions/execle.texi (execle): Likewise.
14155         * doc/posix-functions/execlp.texi (execlp): Likewise.
14156         * doc/posix-functions/execv.texi (execv): Likewise.
14157         * doc/posix-functions/execve.texi (execve): Likewise.
14158         * doc/posix-functions/execvp.texi (execvp): Likewise.
14159         * doc/glibc-functions/canonicalize_file_name.texi
14160         (canonicalize_file_name): Cygwin 1.7 now provides this.
14161         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
14162         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
14163         on AT_SYMLINK_NOFOLLOW.
14164
14165 2009-09-24  Eric Blake  <ebb9@byu.net>
14166
14167         test-linkat: make test more robust
14168         * tests/test-linkat.c (main): Avoid collision with EEXIST.
14169
14170         getopt: fix inclusion guards for cygwin
14171         * modules/getopt-posix (Depends-on): Add include-next.
14172         (Makefile.am): Substitute more items in replacement header.
14173         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
14174         <getopt.h>.
14175         * lib/getopt.in.h (includes): Use split inclusion guard, and
14176         prefer <getopt.h> over include <unistd.h> when one is present.
14177         (option): Also override name of 'struct option'.
14178
14179         same-inode: revert prior change; it is not yet ready
14180         * NEWS: Undo mention of this change.
14181         * lib/same-inode.h (same-inode.h): Undo tri-state change.
14182         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
14183         * lib/cycle-check.c (cycle_check): Likewise.
14184         * lib/same.c (same_name): Likewise.
14185         * lib/at-func2.c (at_func2): Likewise.
14186
14187 2009-09-23  Eric Blake  <ebb9@byu.net>
14188
14189         linkat: new module
14190         * modules/linkat: New file.
14191         * lib/at-func2.c (at_func2): Likewise.
14192         * lib/linkat.c (linkat): Likewise.
14193         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
14194         * lib/openat-priv.h (at_func2): Add declaration.
14195         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
14196         * modules/unistd (Makefile.am): Substitute them.
14197         * lib/unistd.in.h (linkat): Declare it.
14198         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
14199         * doc/posix-functions/linkat.texi (linkat): Likewise.
14200         * doc/posix-functions/link.texi (link): Tweak wording.
14201         * tests/test-link.c (main): Move guts...
14202         * tests/test-link.h (test_link): ...into new file.
14203         * modules/linkat-tests: New test.
14204         * tests/test-linkat.c: Likewise.
14205         * modules/link-tests (Files): Ship new file.
14206         (Depends-on): Add stdbool.
14207
14208         dirname: add library-safe mdir_name
14209         * lib/dirname.h (mdir_name): New prototype.
14210         * lib/dirname.c (dir_name): Move guts...
14211         (mdir_name): ...to new function that avoids xalloc_die.
14212
14213         fchdir: another mingw fix
14214         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
14215         * lib/fchdir.c (get_name): New helper method; skips canonicalize
14216         on mingw (where it has not yet been ported), and make it optional
14217         elsewhere.
14218         (_gl_register_fd): Use it.
14219
14220         same-inode: make SAME_INODE tri-state, to port to mingw
14221         * NEWS: Mention this change.
14222         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
14223         st_ino always being 0.
14224         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
14225         * lib/cycle-check.c (cycle_check): Likewise.
14226         * lib/same.c (same_name): Likewise.
14227
14228         lstat: avoid mingw compilation error
14229         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
14230         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
14231         lstat ourselves.
14232         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
14233         was adequate.
14234         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
14235         the checks for lstat.
14236         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
14237
14238         link: fix test failure on Solaris 9
14239         * lib/link.c (rpl_link): Don't assume link will catch bogus
14240         trailing slash on source.
14241
14242         test-symlinkat: enhance test
14243         * tests/test-readlink.c (main): Move guts...
14244         * tests/test-readlink.h (test_readlink): ...into new file.
14245         * tests/test-symlink.c (main): Move guts...
14246         * tests/test-symlink.h (test_symlink): ...into new file.
14247         * tests/test-symlinkat.c (main): Use new files for further
14248         coverage.
14249         (do_symlink, do_readlink): New helper functions.
14250         * modules/symlink-tests (Files): Ship new file.
14251         (Depends-on): Add stdbool.
14252         * modules/readlink-tests (Files): Ship new file.
14253         (Depends-on): Add stdbool.
14254         * modules/symlinkat-tests (Files): Use new files.
14255
14256 2009-09-23  Eric Blake  <ebb9@byu.net>
14257
14258         readlink: document portability issue with symlink length
14259         * doc/posix-functions/lstat.texi (lstat): Mention that some file
14260         systems have bogus st_size on symlinks, and mention the
14261         areadlink-with-size module.
14262         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
14263         * doc/posix-functions/readlink.texi (readlink): Mention the
14264         areadlink module, and ERANGE failure.
14265         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
14266         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
14267
14268         readlink: fix Solaris 9 bug with trailing slash
14269         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
14270         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
14271         * doc/posix-functions/readlink.texi (readlink): Document this.
14272         * modules/readlink-tests: New test.
14273         * tests/test-readlink.c: Likewise.
14274
14275         readlink: fix cygwin 1.5.x bug with return type
14276         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
14277         * lib/unistd.in.h (readlink): Use ssize_t.
14278         * lib/readlink.c (readlink): Likewise.
14279         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
14280         * modules/unistd (Makefile.am): Substitute it.
14281         * lib/unistd.in.h (readlink): Declare replacement.
14282         * doc/posix-functions/readlink.texi (readlink): Document this.
14283
14284         symlink: use throughout gnulib
14285         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
14286         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
14287         symlink is not used.
14288         * modules/symlinkat (Depends-on): Add symlink.
14289         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
14290         * modules/canonicalize-tests (Depends-on): Likewise.
14291         * modules/lstat-tests (Depends-on): Likewise.
14292         * modules/openat-tests (Depends-on): Likewise.
14293         * modules/remove-tests (Depends-on): Likewise.
14294         * modules/rmdir-tests (Depends-on): Likewise.
14295         * modules/unlink-tests (Depends-on): Likewise.
14296         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
14297         * tests/test-canonicalize.c (symlink): Likewise.
14298         * tests/test-fstatat.c (symlink): Likewise.
14299         * tests/test-lstat.c (symlink): Likewise.
14300         * tests/test-remove.c (symlink): Likewise.
14301         * tests/test-rmdir.c (symlink): Likewise.
14302         * tests/test-unlink.c (symlink): Likewise.
14303         * tests/test-unlinkat.c (symlink): Likewise.
14304
14305         symlink: new module, for Solaris 9 bug
14306         * modules/symlink: New file.
14307         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
14308         * lib/symlink.c: Likewise.
14309         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
14310         * modules/unistd (Makefile.am): Substitute them.
14311         * lib/unistd.in.h (symlink): Declare replacement.
14312         * MODULES.html.sh (File system functions): Mention it.
14313         * doc/posix-functions/symlink.texi (symlink): Likewise.
14314         * modules/symlink-tests: New test.
14315         * tests/test-symlink.c: Likewise.
14316
14317 2009-09-23  Bruno Haible  <bruno@clisp.org>
14318
14319         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
14320         when needed.
14321         Test case: gnulib-tool --import --with-tests atexit inttypes.
14322         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
14323
14324 2009-09-23  Bruno Haible  <bruno@clisp.org>
14325
14326         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
14327         subcommand, not in a subshell.
14328
14329 2009-09-22  Eric Blake  <ebb9@byu.net>
14330
14331         unistd: sort replacement declarations
14332         * lib/unistd.in.h: Sort declarations.
14333
14334         open, openat: minor optimization
14335         * lib/open.c (open): If open succeeded, len is non-zero.
14336         * lib/openat.c (rpl_openat): Likewise.
14337
14338         link-follow: ensure correct result
14339         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
14340         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
14341         distinguish between possible failures.
14342
14343 2009-09-21  Eric Blake  <ebb9@byu.net>
14344
14345         fts: avoid compiler warning
14346         * lib/fts.c (dirent_inode_sort_may_be_useful)
14347         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
14348
14349 2009-09-19  Bruno Haible  <bruno@clisp.org>
14350
14351         * lib/progreloc.c (canonicalize_file_name): New declaration.
14352
14353 2009-09-19  Eric Blake  <ebb9@byu.net>
14354
14355         link: fix quoting
14356         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
14357
14358         openat: fix openat bugs on Solaris 9
14359         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
14360         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
14361         * modules/openat (Depends-on): Add open.
14362         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
14363         * modules/fcntl-h (Makefile.am): Substitute it.
14364         * lib/fcntl.in.h (openat): Declare replacement.
14365         * doc/posix-functions/openat.texi (openat): Document this.
14366
14367         openat: move fstatat and unlinkat into correct files
14368         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
14369         compiled.
14370         * lib/openat.c (fstatat, unlinkat): Move...
14371         * lib/fstatat.c (fstatat): ...into correct files.
14372         * lib/unlinkat.c (unlinkat): Likewise.
14373
14374         openat: fix unlinkat bugs on Solaris 9
14375         * lib/unlinkat.c (unlinkat): New file.
14376         * modules/openat (Depends-on): Add unlink.
14377         (Files): Distribute it.
14378         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
14379         trailing slash behavior is broken.
14380         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
14381         * modules/unistd (Makefile.am): Substitute it.
14382         * lib/unistd.in.h (unlinkat): Declare replacement.
14383         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
14384
14385         openat: fix fstatat bugs on Solaris 9
14386         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
14387         stat.
14388         * doc/posix-functions/fstatat.texi (fstatat): Document this.
14389
14390         test-unlinkat: enhance test, to expose Solaris 9 bug
14391         * tests/test-unlink.c (main): Factor guts...
14392         * tests/test-unlink.h (test_rmdir_func): ...into new file.
14393         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
14394         * tests/test-rmdir.c (main): Adjust caller.
14395         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
14396         (unlinker): New helper function.
14397         (rmdirat): Enhance check.
14398         * modules/rmdir-tests (Depends-on): Add stdbool.
14399         * modules/unlink-tests (Depends-on): Likewise.
14400         (Files): Add test-unlink.h.
14401         * modules/openat-tests (Files): Likewise.
14402         (Depends-on): Add unlinkdir.
14403
14404         test-fstatat: new test, to expose Solaris 9 bugs
14405         * tests/test-stat.c (main): Factor guts...
14406         * tests/test-stat.h (test_stat_func): ...into new file.
14407         * tests/test-lstat.c (main): Factor guts...
14408         * tests/test-lstat.h (test_lstat_func): ...into new file.
14409         * tests/test-fstatat.c: New file.
14410         * modules/stat-tests (Files): Add test-stat.h.
14411         * modules/lstat-tests (Files): Add test-lstat.h.
14412         (Depends-on): Add stdbool.
14413         * modules/openat-tests (Depends-on): Add pathmax.
14414         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
14415         (Makefile.am): Run new test.
14416
14417         remove: new module, for mingw and Solaris 9 bugs
14418         * modules/remove: New file.
14419         * lib/remove.c: Likewise.
14420         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
14421         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
14422         * modules/stdio (Makefile.am): Use them.
14423         * lib/stdio.in.h (remove): Declare replacement.
14424         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
14425         * doc/posix-functions/remove.texi (remove): Likewise.
14426         * modules/remove-tests: New test.
14427         * tests/test-remove.c: Likewise.
14428
14429         unlink: new module, for Solaris 9 bug
14430         * modules/unlink: New file.
14431         * lib/unlink.c: Likewise.
14432         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
14433         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
14434         * modules/unistd (Makefile.am): Use them.
14435         * lib/unistd.in.h (stat): Declare replacement.
14436         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
14437         * doc/posix-functions/unlink.texi (unlink): Likewise.
14438         * modules/unlink-tests: New test.
14439         * tests/test-unlink.c: Likewise.
14440
14441         lstat: fix Solaris 9 bug
14442         * lib/lstat.c (lstat): Also check for trailing slash on
14443         non-symlink, non-directories.  Use stat module to simplify logic.
14444         * doc/posix-functions/lstat.texi (lstat): Document it.
14445         * modules/lstat-tests (Depends-on): Add errno, same-inode.
14446         (configure.ac): Check for symlink.
14447         * tests/test-lstat.c (main): Add more tests.
14448
14449         stat: add as dependency to other modules
14450         * modules/chown (Depends-on): Add stat.
14451         * modules/euidaccess (Depends-on): Likewise.
14452         * modules/fchdir (Depends-on): Likewise.
14453         * modules/isdir (Depends-on): Likewise.
14454         * modules/link (Depends-on): Likewise.
14455         * modules/lstat (Depends-on): Likewise.
14456         * modules/mkdir-p (Depends-on): Likewise.
14457         * modules/modechange (Depends-on): Likewise.
14458         * modules/open (Depends-on): Likewise.
14459         * modules/readlink (Depends-on): Likewise.
14460         * modules/same (Depends-on): Likewise.
14461
14462         stat: fix Solaris 9 bug
14463         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
14464         slash.
14465         * lib/stat.c (rpl_stat): Work around it.
14466         * doc/posix-functions/stat.texi (stat): Update documentation.
14467
14468         stat: new module, for mingw bug
14469         * modules/stat: New file.
14470         * lib/stat.c: Likewise.
14471         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
14472         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
14473         * modules/sys_stat (Makefile.am): Use them.
14474         * lib/sys_stat.in.h (stat): Declare replacement.
14475         * lib/openat.c (fstatat): Deal with lstat and stat being function
14476         macros.
14477         * modules/openat (Depends-on): Add inline.
14478         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
14479         * doc/posix-functions/stat.texi (stat): Likewise.
14480         * modules/stat-tests: New test.
14481         * tests/test-stat.c: Likewise.
14482
14483 2009-09-19  Jim Meyering  <meyering@redhat.com>
14484
14485         syntax-check: detect unnecessary inclusion of canonicalize.h
14486         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
14487
14488 2009-09-19  Eric Blake  <ebb9@byu.net>
14489
14490         canonicalize-lgpl: adjust clients to use correct header
14491         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
14492         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
14493         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
14494         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
14495         * lib/progreloc.c (includes): Likewise.
14496
14497 2009-09-19  Jim Meyering  <meyering@redhat.com>
14498
14499         test-posixtm.c: correct a comment
14500         * tests/test-posixtm.c: Correct first-line comment.
14501         Spotted by Eric Blake.
14502
14503 2009-09-16  Jim Meyering  <meyering@redhat.com>
14504
14505         posixtm-tests: make T const-correct; add a test case
14506         * tests/test-posixtm.c (T): Declare const.
14507         Add a test for -(2^31+1).
14508         Remove useless can-succeed-only-in-2002 test.
14509
14510         posixtm-tests: adjust the sole failing test
14511         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
14512         expected output matches what mktime now produces.  Cross-checked via
14513         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
14514
14515         posixtm: move #ifdef'd tests into a new module
14516         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
14517         * tests/test-posixtm.c: ... this new file.
14518         * modules/posixtm-tests: New module.
14519
14520 2009-09-19  Eric Blake  <ebb9@byu.net>
14521
14522         openat: simplify use of at-func.c
14523         * lib/at-func.c (includes): Include prerequisites here, to
14524         simplify requirements on client files.
14525         * lib/openat-priv.h: Add double-inclusion guard.
14526         * lib/faccessat.c (includes): Simplify.
14527         * lib/fchmodat.c (includes): Likewise.
14528         * lib/fchownat.c (includes): Likewise.
14529         * lib/mkdirat.c (includes): Likewise.
14530         * lib/mkfifoat.c (includes): Likewise.
14531         * lib/symlinkat.c (includes): Likewise.
14532
14533         openat: allow return of fd 0
14534         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
14535         * modules/save-cwd (Depends-on): Replace fcntl-safer with
14536         unistd-safer.
14537         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
14538         <fcntl.h>; this module does not leak fds.
14539         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
14540         must be allowed to return 0, leaving openat_safer to add the
14541         safety.
14542         (openat_permissive): Avoid writing to just-opened fd 2 if
14543         restoring the current directory fails.
14544         * lib/openat-die.c (openat_restore_fail): Add comment.
14545         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
14546         (save_cwd): Guarantee safe fd, but without use of open_safer.
14547         * tests/test-openat.c: New test.
14548         * modules/openat-tests (Files, Makefile.am): Distribute and build
14549         new file.
14550
14551         relocatable-prog-wrapper: fix build
14552         * modules/relocatable-prog-wrapper (Files): Update name of
14553         canonicalize m4 file, broken on 2009-09-17.
14554         Reported by emad hajjar <aleppos@hotmail.com>.
14555
14556 2009-09-19  Bruno Haible  <bruno@clisp.org>
14557
14558         * lib/safe-alloc.h: Use the standard header with GPL copyright.
14559         * lib/safe-alloc.c: Likewise.
14560         Reported by Ian Beckwith <ianb@erislabs.net>.
14561
14562 2009-09-18  Bruno Haible  <bruno@clisp.org>
14563
14564         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
14565         Reported by <erobles@sensacd.com.mx>.
14566
14567 2009-09-17  Eric Blake  <ebb9@byu.net>
14568
14569         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
14570         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
14571         slashes when checking if last component is missing.
14572         * tests/test-canonicalize.c (main): Test this.
14573
14574         canonicalize, canonicalize-lgpl: honor // if distinct from /
14575         * modules/canonicalize (Files): Add double-slash-root.m4.
14576         * modules/canonicalize-lgpl (Files): Likewise.
14577         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
14578         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
14579         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
14580         fallback definition.
14581         (canonicalize_filename_mode): Use it to protect //.
14582         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
14583         (__realpath): Likewise.
14584         * tests/test-canonicalize.c (main): Test this.
14585         * tests/test-canonicalize-lgpl.c (main): Likewise.
14586         * modules/canonicalize-tests (Depends-on): Add same-inode.
14587         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
14588
14589         canonicalize-lgpl: fix glibc bug with trailing slash
14590         * m4/canonicalize-lgpl.m4: Move contents...
14591         * m4/canonicalize.m4: ...here.
14592         (gl_CANONICALIZE_LGPL): Factor realpath check...
14593         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
14594         glibc 2.3.5 bug, fixed 2005-04-27.
14595         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
14596         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
14597         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
14598         * modules/canonicalize-lgpl (Files): Manage file rename.
14599         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
14600         * modules/stdlib (Makefile.am): Substitute witness.
14601         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
14602         is needed.
14603         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
14604         replacement is required.
14605         * lib/canonicalize.c (canonicalize_file_name): Likewise.
14606         * doc/glibc-functions/canonicalize_file_name.texi
14607         (canonicalize_file_name): Document this.
14608         * doc/posix-functions/realpath.texi (realpath): Likewise.
14609
14610         canonicalize-lgpl: reject non-directory with trailing slash
14611         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
14612         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
14613         catches failures in glibc 2.3.5.
14614         * tests/test-canonicalize.c (main): Likewise.
14615
14616         canonicalize-lgpl: use native realpath if it works
14617         * lib/canonicalize-lgpl.c (realpath): Guard with
14618         FUNC_REALPATH_WORKS.
14619         * lib/stdlib.in.h (realpath): Make declaration optional based on
14620         HAVE_REALPATH.
14621         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
14622         native realpath works.
14623         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
14624         * modules/stdlib (Makefile.am): Substitute witness.
14625
14626         canonicalize, canonicalize-lgpl: use <stdlib.h>
14627         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
14628         (Include): Mention <stdlib.h>.
14629         (configure.ac): Mention functions we provide.
14630         * modules/canonicalize (configure.ac): Likewise.
14631         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
14632         realpath if canonicalize_file_name is missing.
14633         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
14634         * modules/stdlib (Makefile.am): Substitute witnesses.
14635         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
14636         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
14637         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
14638         * NEWS: Document this.
14639         * doc/glibc-functions/canonicalize_file_name.texi
14640         (canonicalize_file_name): Likewise.
14641         * doc/posix-functions/realpath.texi (realpath): Likewise.
14642         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
14643
14644         test-canonicalize: consolidate into single C program
14645         * tests/test-canonicalize.sh: Delete; move setup into...
14646         * tests/test-canonicalize.c (main): ...the program, making it
14647         easier to run in debugger.  Add some tests.
14648         * modules/canonicalize-tests (Files): Remove unused file.
14649         (Depends-on): Add progname.
14650         (configure.ac, Makefile.am): Simplify.
14651
14652         test-canonicalize-lgpl: consolidate into single C program
14653         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
14654         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
14655         easier to run in debugger.  Add some tests.
14656         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
14657         (configure.ac, Makefile.am): Simplify.
14658
14659         canonicalize: avoid resolvepath
14660         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
14661         unnecessary checks.
14662         * lib/canonicalize.c (includes): Simplify.
14663         (canonicalize_file_name): Drop resolvepath implementation.
14664         * modules/canonicalize (Depends-on): Drop filenamecat.
14665
14666         canonicalize: don't lose errno
14667         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
14668         over calls to free.
14669
14670         canonicalize: simplify errno handling
14671         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
14672         assignment.
14673
14674         canonicalize, canonicalize-lgpl: update module dependencies
14675         * modules/canonicalize (Depends-on): Add extensions, lstat,
14676         pathmax, stdlib.
14677         (Files): Drop pathmax.h.
14678         (configure.ac): Adjust macro name.
14679         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
14680         lstat, stdlib, sys_stat.
14681         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
14682         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
14683         extensions.
14684         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
14685         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
14686         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
14687         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
14688         declaration, if available.
14689         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
14690         we can rely on the readlink module.
14691         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
14692         (includes): Use <unistd.h> unconditionally.
14693
14694 2009-09-17  Eric Blake  <ebb9@byu.net>
14695
14696         maint: make Include sections of modules consistent
14697         * modules/alloca: Use only header name; no need to list #include.
14698         * modules/alloca-opt: Likewise.
14699         * modules/arpa_inet: Likewise.
14700         * modules/canon-host: Likewise.
14701         * modules/configmake: Likewise.
14702         * modules/dirent: Likewise.
14703         * modules/eealloc: Likewise.
14704         * modules/environ: Likewise.
14705         * modules/fchdir: Likewise.
14706         * modules/fcntl: Likewise.
14707         * modules/fcntl-h: Likewise.
14708         * modules/gethrxtime: Likewise.
14709         * modules/gettime: Likewise.
14710         * modules/ignore-value: Likewise.
14711         * modules/inet_ntop: Likewise.
14712         * modules/inet_pton: Likewise.
14713         * modules/inttypes: Likewise.
14714         * modules/isnand-nolibm: Likewise.
14715         * modules/isnanf-nolibm: Likewise.
14716         * modules/mbchar: Likewise.
14717         * modules/mbfile: Likewise.
14718         * modules/mbiter: Likewise.
14719         * modules/mbuiter: Likewise.
14720         * modules/netdb: Likewise.
14721         * modules/netinet_in: Likewise.
14722         * modules/nproc: Likewise.
14723         * modules/pagealign_alloc: Likewise.
14724         * modules/poll: Likewise.
14725         * modules/printf-frexp: Likewise.
14726         * modules/pthread: Likewise.
14727         * modules/putenv: Likewise.
14728         * modules/random_r: Likewise.
14729         * modules/relocatable-prog: Likewise.
14730         * modules/search: Likewise.
14731         * modules/select: Likewise.
14732         * modules/selinux-h: Likewise.
14733         * modules/settime: Likewise.
14734         * modules/signal: Likewise.
14735         * modules/size_max: Likewise.
14736         * modules/socklen: Likewise.
14737         * modules/ssize_t: Likewise.
14738         * modules/stdarg: Likewise.
14739         * modules/stdbool: Likewise.
14740         * modules/stddef: Likewise.
14741         * modules/stdint: Likewise.
14742         * modules/stdio: Likewise.
14743         * modules/stdlib: Likewise.
14744         * modules/string: Likewise.
14745         * modules/strings: Likewise.
14746         * modules/sys_file: Likewise.
14747         * modules/sys_ioctl: Likewise.
14748         * modules/sys_select: Likewise.
14749         * modules/sys_socket: Likewise.
14750         * modules/sys_stat: Likewise.
14751         * modules/sys_time: Likewise.
14752         * modules/sys_times: Likewise.
14753         * modules/sys_utsname: Likewise.
14754         * modules/sys_wait: Likewise.
14755         * modules/sysexits: Likewise.
14756         * modules/time: Likewise.
14757         * modules/times: Likewise.
14758         * modules/tmpfile: Likewise.
14759         * modules/trim: Likewise.
14760         * modules/unistd: Likewise.
14761         * modules/wchar: Likewise.
14762         * modules/wctype: Likewise.
14763
14764 2009-09-17  Bruno Haible  <bruno@clisp.org>
14765
14766         Make getdate.y compile on QNX and NetBSD 5 / i386.
14767         * m4/getdate.m4 (gl_GETDATE): Conditionally define
14768         TIME_T_FITS_IN_LONG_INT.
14769         * lib/getdate.y (long_time_t): New type.
14770         (relative_time): Change type of 'seconds' field to long_time_t.
14771         (get_date): Update types of local variables. Check against overflow
14772         during conversion from long_time_t to time_t.
14773         Reported by Matt Kraai <kraai@ftbfs.org>
14774         and Hasso Tepper <hasso@netbsd.org>.
14775
14776 2009-09-17  Bruno Haible  <bruno@clisp.org>
14777
14778         * modules/COPYING: Update copyright years.
14779         * modules/README: Likeiwse.
14780         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
14781         Reported by Ian Beckwith <ianb@erislabs.net>.
14782
14783 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
14784
14785         * users.txt: Update references for gnuit package.
14786
14787 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
14788
14789         * m4/getdelim.m4: Fix typo in copyright line.
14790
14791 2009-09-17  Bruno Haible  <bruno@clisp.org>
14792
14793         * lib/atoll.c: Use the standard header with GPL copyright.
14794         * lib/argz.in.h: Likewise.
14795         * lib/glob.c: Likewise.
14796         * lib/glob-libc.h: Likewise.
14797         * lib/random_r.c: Likewise.
14798         * lib/siglist.h: Likewise.
14799         * lib/strsignal.c: Likewise.
14800         Reported by Ian Beckwith <ianb@erislabs.net>.
14801
14802 2009-09-17  Eric Blake  <ebb9@byu.net>
14803
14804         rmdir: ensure correct dependency order
14805         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
14806
14807 2009-09-17  Bruno Haible  <bruno@clisp.org>
14808
14809         Disable assertion that fails on NetBSD 5 / i386.
14810         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
14811         Reported by Sam Steingold <sds@gnu.org>
14812         and Hasso Tepper <hasso@netbsd.org>.
14813
14814 2009-09-16  Eric Blake  <ebb9@byu.net>
14815
14816         unlinkdir: port to mingw
14817         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
14818         on which no one can unlink a directory.
14819
14820         stdlib: sort witness names
14821         * modules/stdlib (Makefile.am): Sort replacements.
14822         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
14823         * lib/stdlib.in.h: Likewise.
14824
14825         parse-duration-tests: avoid link failure
14826         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
14827         LIBINTL.
14828         Reported by Tom G. Christensen.
14829
14830         openat-tests: ensure unlinkat behaves like rmdir
14831         * tests/test-rmdir.c (main): Factor guts...
14832         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
14833         * modules/rmdir-tests (Files): Ship new file.
14834         * modules/openat-tests: New test.
14835         * tests/test-unlinkat.c: Likewise.
14836
14837         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
14838         * modules/rmdir-errno (Status, Notice): Now obsolete.
14839
14840         rmdir: work around cygwin 1.5.x and mingw bugs
14841         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
14842         * lib/rmdir.c (rmdir): Work around it.
14843         * modules/rmdir (Status, Notice): No longer obsolete.
14844         (Files): Add dos.m4.
14845         (Depends-on): Add unistd.
14846         (configure.ac): Set witnesses.
14847         (License): Relax to LGPLv2+.
14848         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
14849         * modules/unistd (Makefile.am): Substitute witnesses.
14850         * lib/unistd.in.h (rmdir): Declare replacement.
14851         * doc/posix-functions/rmdir.texi (rmdir): Document this.
14852         * modules/rmdir-tests: New tests.
14853         * tests/test-rmdir.c: Likewise.
14854
14855 2009-09-15  Eric Blake  <ebb9@byu.net>
14856
14857         fchdir: improve use of replacement functions
14858         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
14859         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
14860         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
14861         REPLACE_CLOSEDIR.
14862         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
14863         * modules/sys_stat (Makefile.am): Substitute correct witness.
14864         * modules/dirent (Makefile.am): Likewise.
14865         * modules/unistd (Makefile.am): Likewise.
14866         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
14867         * lib/unistd.in.h (dup): Likewise.
14868         * lib/sys_stat.in.h (fstat): Likewise.
14869
14870         maint: ignore gnulib-tool temp files
14871         * .gitignore: Ignore files created during gnulib-tool --test.
14872
14873 2009-09-13  Jim Meyering  <meyering@redhat.com>
14874
14875         posixtm: don't reject a time that specify "60" as the number of seconds
14876         * lib/posixtm.c (posixtime): The code to reject invalid dates
14877         would also reject a time specified with the .60 suffix.
14878         But POSIX allows that, in order to accommodate leap seconds.
14879         So don't reject it.
14880         (main): Adjust tests accordingly.
14881         * modules/posixtm (Depends-on): Add stpcpy.
14882
14883 2009-09-11  Jim Meyering  <meyering@redhat.com>
14884
14885         announce-gen: include [$release_type] in emitted Subject:
14886         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
14887         e.g., [stable] in the emitted Subject: line.
14888
14889 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14890
14891         Remove obsolete macros from several modules.
14892         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
14893         obsolete Autoconf macros with their modern counterparts.
14894         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
14895         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
14896         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
14897         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
14898         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
14899         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
14900         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
14901         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
14902         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
14903         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
14904         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
14905         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
14906         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
14907         * m4/sockets.m4 (gl_SOCKETS): Likewise.
14908         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
14909         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
14910         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
14911         * m4/time_r.m4 (gl_TIME_R): Likewise.
14912         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
14913         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
14914         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
14915
14916         Fix copyright header in build-aux scripts.
14917         * build-aux/git-version-gen: Fix copyright header to match GPLv3
14918         recommendation.
14919         * build-aux/ncftpput-ftp: Likewise.
14920         * build-aux/update-copyright: Likewise.
14921
14922 2009-09-09  Eric Blake  <ebb9@byu.net>
14923
14924         test-link: allow Linux choice of errno
14925         * tests/test-link.c (main): Relax test for alternate error.
14926
14927         strndup: fix improper m4 caching
14928         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
14929         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
14930         (gl_PREREQ_STRNDUP): Delete.
14931         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
14932         * modules/string (Makefile.am): Substitute it.
14933         * lib/string.in.h (strndup): Modernize prototype.
14934
14935         getcwd: port to mingw
14936         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
14937         different from the POSIX assumptions made throughout the getcwd
14938         module; fortunately, the mingw getcwd does not need replacement.
14939         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
14940         * modules/getcwd-tests: New test.
14941         * tests/test-getcwd.c: Likewise.
14942
14943         link: fix platform bugs
14944         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
14945         * lib/link.c (link): Work around them.  Fix related mingw bug.
14946         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
14947         * modules/unistd (Makefile.am): Substitute it.
14948         * lib/unistd.in.h (link): Declare replacement.
14949         * doc/posix-functions/link.texi (link): Document this.
14950         * modules/link (Depends-on): Add strdup-posix, sys_stat.
14951
14952         test-link: consolidate into single C program, test more cases
14953         * tests/test-link.sh: Delete.
14954         * tests/test-link.c: Test more error conditions.  Exposes bugs on
14955         at least Cygwin and Solaris.
14956         * modules/link-tests (Files): Remove unused file.
14957         (Depends-on): Add errno, sys_stat.
14958         (Makefile.am): Simplify.
14959
14960 2009-09-08  Bruno Haible  <bruno@clisp.org>
14961
14962         Work around towlower, towupper bug on mingw.
14963         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
14964         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
14965         * doc/posix-functions/towlower.texi: Mention the mingw bug.
14966         * doc/posix-functions/towupper.texi: Likewise.
14967         Reported by Eric Blake.
14968
14969 2009-09-08  Jim Meyering  <meyering@redhat.com>
14970
14971         build: don't try to run autoheader if we don't use it
14972         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
14973         is not used in configure.ac.
14974
14975 2009-09-08  Eric Blake  <ebb9@byu.net>
14976
14977         euidaccess: fix compilation error
14978         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
14979
14980         rawmemchr: relax license
14981         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
14982         okay.
14983         Reported by Jim Meyering.
14984
14985         mkfifoat: new module
14986         * modules/mkfifoat: New file.
14987         * lib/mkfifoat.c: Likewise.
14988         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
14989         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
14990         * modules/sys_stat (Makefile.am): Use them.
14991         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
14992         * MODULES.html.sh (File system functions): Mention module.
14993         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
14994         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
14995         * modules/mkfifoat-tests: New test.
14996         * tests/test-mkfifoat.c: Likewise.
14997
14998         strchrnul: relax license
14999         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
15000         okay.
15001         Reported by Jim Meyering.
15002
15003 2009-09-08  Eric Blake  <ebb9@byu.net>
15004
15005         fstatat: fix compilation on Solaris
15006         * lib/fstatat.c (includes): Add fcntl.h.
15007         Reported by Pádraig Brady.
15008
15009 2009-09-07  Eric Blake  <ebb9@byu.net>
15010
15011         rename: modernize replacement
15012         * modules/rename (Depends-on): Add stdio.
15013         (configure.ac): Declare witness.
15014         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
15015         stdio take care of replacement.
15016         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
15017         * modules/stdio (Makefile.am): Substitute them.
15018         * lib/stdio.in.h (rename): Declare replacement.
15019         * lib/rename.c (includes): Allow cross-compilation to non-windows
15020         machines.
15021         * doc/posix-functions/rename.texi (rename): Improve
15022         documentation.
15023
15024         stdio: sort witness names
15025         * modules/stdio (Makefile.am): Sort replacements.
15026         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
15027         * lib/stdio.in.h: Likewise.
15028
15029         getcwd: minor cleanups
15030         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
15031         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
15032
15033         openat: provide more convenience names
15034         * modules/faccessat (configure.ac): Add C witness.
15035         * lib/unistd.in.h (readlinkat): Fix typo.
15036         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
15037         convenience wrappers.
15038         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
15039         wrappers in syntax checks.
15040
15041 2009-09-06  Eric Blake  <ebb9@byu.net>
15042
15043         doc: fix comments in recent patches
15044         * lib/faccessat.c: Mention correct function.
15045         * lib/fchmodat.c: Likewise.
15046         * lib/fchownat.c: Likewise.
15047         * lib/symlinkat.c: Likewise.
15048         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
15049         constants.
15050
15051         faccessat, symlinkat: continue cleanup of previous patch
15052         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
15053         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
15054         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
15055         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
15056         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
15057         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
15058         set.
15059
15060 2009-09-06  Bruno Haible  <bruno@clisp.org>
15061
15062         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
15063         (fstatat): Declare if GNULIB_FSTATAT is set.
15064         (mkdirat): Declare if GNULIB_MKDIRAT is set.
15065         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
15066         (unlinkat): Declare if GNULIB_UNLINKAT is set.
15067         * modules/fcntl-h (Files): Remove m4/openat.m4.
15068         * modules/sys_stat (Files): Remove m4/openat.m4.
15069         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
15070         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
15071         * modules/unistd (Files): Remove m4/openat.m4.
15072         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
15073         GNULIB_OPENAT.
15074         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
15075         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
15076         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
15077         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
15078         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
15079         gl_OPENAT_DEFAULTS.
15080         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
15081         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
15082         Don't require gl_OPENAT_DEFAULTS.
15083         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
15084         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
15085         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
15086         (gl_OPENAT_DEFAULTS): Remove macro.
15087
15088 2009-09-06  Bruno Haible  <bruno@clisp.org>
15089
15090         * modules/openat (configure.ac): Remove unneeded witness.
15091
15092 2009-09-06  Bruno Haible  <bruno@clisp.org>
15093
15094         Set errno to ENOSYS when a function is entirely unsupported.
15095         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
15096         EOPNOTSUPP.
15097         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
15098         * modules/chown (Depends-on): Remove errno.
15099
15100 2009-09-06  Bruno Haible  <bruno@clisp.org>
15101
15102         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
15103
15104 2009-09-06  Bruno Haible  <bruno@clisp.org>
15105
15106         * lib/sys_stat.in.h: Fix preprocessor command indentation.
15107
15108 2009-09-06  Ben Pfaff  <blp@gnu.org>
15109             Bruno Haible  <bruno@clisp.org>
15110
15111         Work around a glibc bug in strtok_r.
15112         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
15113         Undefine if UNDEFINE_STRTOK_R is set.
15114         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
15115         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
15116         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
15117         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
15118         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
15119         UNDEFINE_STRTOK_R.
15120         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
15121
15122 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
15123
15124         exclude: minor fix
15125         * lib/exclude.c: Include wctype.h
15126
15127 2009-09-06  Akim Demaille  <demaille@gostai.com>
15128
15129         bootstrap: improve error message
15130         * build-aux/bootstrap (find_tool): Upon failure, report the list
15131         of candidates.
15132         Honor the initial value of the envvar.
15133
15134 2009-09-05  Eric Blake  <ebb9@byu.net>
15135
15136         symlinkat: new module
15137         * modules/symlinkat: New file.
15138         * lib/symlinkat.c: Likewise.
15139         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
15140         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
15141         * modules/unistd (Makefile.am): Use them.
15142         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
15143         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
15144         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
15145         * MODULES.html.sh (File system functions): Mention module.
15146         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
15147         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
15148         * modules/symlinkat-tests: New test.
15149         * tests/test-symlinkat.c: Likewise.
15150
15151         test-openat-safer: add more checks
15152         * tests/test-openat-safer.c (main): Check more code paths.
15153
15154 2009-09-05  Jim Meyering  <meyering@redhat.com>
15155
15156         syntax-check: detect unnecessary inclusion of openat.h
15157         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
15158
15159 2009-09-05  Bruno Haible  <bruno@clisp.org>
15160
15161         Support towlower, towupper.
15162         * doc/posix-functions/towlower.texi: Mention module wctype.
15163         * doc/posix-functions/towupper.texi: Likewise.
15164         * lib/wctype.in.h (towlower, towupper): New functions.
15165         * tests/test-wctype.c: Include stdio.h, stdlib.h.
15166         (ASSERT): New macro.
15167         (e): New variable.
15168         (main): Test also towlower, towupper. Test WEOF argument.
15169         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
15170
15171 2009-09-05  Bruno Haible  <bruno@clisp.org>
15172
15173         Fix conversion behaviour when the input is invalid.
15174         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
15175         mark occurring in first pass of indirect conversion.
15176         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
15177         input.
15178         Found by clang's static analyzer.
15179
15180 2009-09-05  Bruno Haible  <bruno@clisp.org>
15181
15182         * tests/test-striconveh.c (main): Test indirect conversion on platforms
15183         where direct conversion is possible.
15184
15185 2009-09-04  Eric Blake  <ebb9@byu.net>
15186
15187         openat: fail with ENOENT on empty name
15188         * lib/openat-proc.c (openat_proc_name): Special-case the empty
15189         buffer.
15190
15191         link-follow: fix logic bug in prior patch
15192         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
15193         reversed sense of yes and no in prior patch.  Avoid confusing
15194         compilation failure with desired semantics.
15195
15196         link-follow: accomodate mingw and cross-compilation
15197         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
15198         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
15199         cross-compilation results to -1, to make linkat easier to
15200         implement when cross-compiling.  Trivially support mingw.
15201         * modules/link-follow (configure.ac): Call new name.
15202         * NEWS: Mention this.
15203
15204 2009-09-03  Eric Blake  <ebb9@byu.net>
15205
15206         faccessat: compile replacement
15207         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
15208         needed.
15209
15210         fts: fix compilation error
15211         * lib/fts.c (includes): Re-add "openat.h", for
15212         openat_needs_fchdir.
15213
15214         faccessat: new module
15215         * modules/faccessat: New file.
15216         * lib/faccessat.c: Likewise.
15217         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
15218         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
15219         * modules/unistd (Makefile.am): Use it.
15220         * lib/unistd.in.h (faccessat): Declare it.
15221         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
15222         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
15223         * MODULES.html.sh (File system functions): Mention it.
15224         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
15225         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
15226
15227         euidaccess: prefer POSIX over non-standard implementation
15228         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
15229         * lib/euidaccess.c (euidaccess): Use it if available.
15230
15231         openat: make template easier to use
15232         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
15233         AT_FUNC_F2 to be undefined.
15234         (VALIDATE_FLAG): New macro; use it to reject bad flags.
15235         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
15236         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
15237         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
15238         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
15239         Likewise.
15240         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
15241         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
15242         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
15243         Likewise.
15244
15245         openat: declare in POSIX headers
15246         * NEWS: Mention this.
15247         * modules/openat (configure.ac): Declare witnesses.
15248         (Depends-on): Add fcntl-h, sys_stat, unistd.
15249         (Include): Mention correct headers.
15250         * modules/fcntl-h (Depends-on): Add link-warning.
15251         (Files): Add openat.m4.
15252         (Makefile.am): Substitute witnesses.
15253         * modules/sys_stat (Files, Makefile.am): Likewise.
15254         * modules/unistd (Files, Makefile.am): Likewise.
15255         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
15256         (gl_OPENAT_DEFAULTS): New macro.
15257         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
15258         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
15259         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
15260         (SYS_STAT_H): Remove unused variable.
15261         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
15262         * lib/fcntl--.h (includes): Remove unneeded header.
15263         * lib/openat-safer.c (includes): Likewise.
15264         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
15265         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
15266         appropriate headers.
15267         (__OPENAT_PREFIX): Delete.
15268         * lib/fcntl.in.h (openat): Provide declaration.
15269         (AT_FDCWD): Fix Solaris bug.
15270         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
15271         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
15272         * lib/fchmodat.c (includes):  Adjust to find declaration.
15273         * lib/fchownat.c (includes): Likewise.
15274         * lib/mkdirat.c (includes): Likewise.
15275         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
15276         still visible.
15277
15278 2009-09-02  Eric Blake  <ebb9@byu.net>
15279
15280         errno: use consistently
15281         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
15282         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
15283         * lib/canonicalize.c (ELOOP): Likewise.
15284         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
15285         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
15286         * lib/lchown.c (EOPNOTSUPP): Likewise.
15287         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
15288         * lib/savewd.c (ESTALE): Likewise.
15289         * lib/settime.c (ENOSYS): Likewise.
15290         * lib/utimens.c (ENOSYS): Likewise.
15291         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
15292         * lib/chdir-safer.c (ELOOP): Likewise.
15293         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
15294         * modules/c-stack (Depends-on): Add errno.
15295         * modules/canonicalize (Depends-on): Likewise.
15296         * modules/chdir-safer (Depends-on): Likewise.
15297         * modules/fdopendir (Depends-on): Likewise.
15298         * modules/inet_ntop (Depends-on): Likewise.
15299         * modules/inet_pton (Depends-on): Likewise.
15300         * modules/lchown (Depends-on): Likewise.
15301         * modules/openat (Depends-on): Likewise.
15302         * modules/savewd (Depends-on): Likewise.
15303         * modules/settime (Depends-on): Likewise.
15304         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
15305
15306         fts: avoid leaking fds
15307         * modules/fts (Depends-on): Add cloexec.
15308         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
15309         flag.
15310
15311         fts: make directory fds more robust
15312         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
15313         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
15314
15315         backupfile, chdir-long, fts, savedir: make safer
15316         * lib/backupfile.c (includes): Use "dirent--.h", since
15317         numbered_backup can write to stderr during readdir.
15318         * lib/savedir.c (includes): Likewise.
15319         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
15320         emulation can write to stderr on failure.
15321         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
15322         * lib/getcwd.c: Document why opendir_safer is unused.
15323         * lib/glob.c: Likewise.
15324         * lib/scandir.c: Likewise.
15325         * lib/openat-proc.c: Likewise, for open_safer.
15326         * modules/backupfile (Depends-on): Add dirent-safer.
15327         * modules/savedir (Depends-on): Likewise.
15328         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
15329         * modules/chdir-long (Depends-on): Add openat-safer.
15330
15331         openat-safer: new module
15332         * modules/openat-safer: New file.
15333         * lib/openat-safer.c: Likewise.
15334         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
15335         * lib/fcntl-safer.h (openat_safer): Declare.
15336         * lib/fcntl--.h (openat): Override.
15337         * MODULES.html.sh (File descriptor based I/O): Mention it.
15338         * lib/openat.h: Add double-inclusion guards.
15339         * lib/openat.c (includes): Only include "fcntl-safer.h", not
15340         "fcntl--.h", so we can implement openat.
15341         * modules/openat-safer-tests: New test.
15342         * tests/test-openat-safer.c: New file.
15343
15344         dirent-safer: new module
15345         * modules/dirent-safer: New file.
15346         * lib/dirent--.h: Likewise.
15347         * lib/dirent-safer.h: Likewise.
15348         * lib/opendir-safer.c: Likewise.
15349         * m4/dirent-safer.m4: Likewise.
15350         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
15351         * modules/dirent-safer-tests: New test.
15352         * tests/test-dirent-safer.c: New file.
15353         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
15354
15355         fdopendir: optimize on mingw
15356         * lib/unistd.in.h (_gl_directory_name): New prototype.
15357         * lib/fchdir.c (_gl_directory_name): Implement it.
15358         (fchdir): Use it to simplify implementation.
15359         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
15360         fchdir, when available, to avoid calling [f]chdir().
15361
15362         fdopendir: split into its own module
15363         * lib/openat.c (fdopendir): Move...
15364         * lib/fdopendir.c: ...into new file.
15365         * modules/fdopendir: New module.
15366         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
15367         * modules/openat (Depends-on): Add fdopendir.
15368         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
15369         fdopendir here.
15370         * modules/savedir (Depends-on): Only need fdopendir, not full
15371         openat.
15372         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
15373         * lib/openat.h (fdopendir): Drop prototype.
15374         * lib/dirent.in.h (fdopendir): Provide prototype.
15375         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
15376         * modules/dirent (Makefile.am): Substitute them.
15377         * MODULES.html.sh (File system functions): Mention it.
15378         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
15379         * modules/fdopendir-tests: New file.
15380         * tests/test-fdopendir.c: Likewise.
15381
15382         fchdir: use more consistent macro convention
15383         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
15384         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
15385         REPLACE_FCHDIR, rather than relying on config.h macros.
15386         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
15387         inside a single make-time REPLACE_FCHDIR block, rather than using
15388         the config.h FCHDIR_REPLACEMENT.
15389         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
15390         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
15391         Manage fstat replacement.
15392         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
15393         REPLACE_FCHDIR.
15394         * modules/sys_stat (Files): Add m4/unistd_h.m4.
15395         (Makefile.am): Substitute REPLACE_FCHDIR.
15396         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
15397         FCHDIR_REPLACEMENT.
15398         * lib/dup-safer.c (dup_safer): Likewise.
15399         * lib/dup2.c (rpl_dup2): Likewise.
15400         * lib/dup3.c (rpl_dup3): Likewise.
15401         * lib/open.c (rpl_open): Likewise.
15402
15403         fchdir: simplify error handling, and support dup3
15404         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
15405         stdbool, malloc-posix, realloc-posix.
15406         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
15407         (ensure_dirs_slot): Return false on allocation failure.
15408         (rpl_dup2): Delete.
15409         (_gl_register_dup): New function.
15410         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
15411         (_gl_register_fd): Close fd on allocation failure.
15412         * lib/fcntl.in.h (_gl_register_fd): Update signature.
15413         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
15414         prototype.
15415         (rpl_dup2_fchdir): Delete prototype.
15416         * lib/open.c (open): Update caller.
15417         * lib/dup2.c (dup2): Track fchdir metadata.
15418         * lib/dup3.c (dup3): Likewise.
15419         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
15420         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
15421
15422 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15423
15424         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
15425         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
15426         don't pass arguments to AC_OUTPUT.
15427
15428 2009-09-02  Bruno Haible  <bruno@clisp.org>
15429
15430         * modules/mkdtemp (License): Relicense under LGPLv2+.
15431         Reported by Paolo Bonzini.
15432
15433 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15434
15435         Replace uses of obsolete autoconf macros in Jim's modules.
15436         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
15437         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
15438         can evoke a warning from autoconf when run with -Wobsolete
15439         enabled.  They were declared obsolete for good reasons (see
15440         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
15441         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
15442         should not continue using the deprecated macros.
15443         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
15444         obsolete Autoconf macros with modern counterparts.
15445         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
15446         * m4/dos.m4 (gl_AC_DOS): Likewise.
15447         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
15448         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
15449         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
15450         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
15451         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
15452         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
15453         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
15454         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
15455         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
15456         Likewise.
15457         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
15458         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
15459         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
15460         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
15461         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
15462         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
15463
15464 2009-09-01  Eric Blake  <ebb9@byu.net>
15465
15466         fchdir: fix off-by-one bug in previous patch
15467         * lib/fchdir.c (rpl_fstat): Use correct bounds.
15468         (_gl_unregister_fd): Delete useless if.
15469
15470 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
15471
15472         maint.mk: sort the list of syntax-check rules
15473         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
15474         easier to get a sense of progress when the rules are run sequentially
15475         and take a long time.
15476
15477 2009-09-01  Simon Josefsson  <simon@josefsson.org>
15478
15479         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
15480         * modules/netinet_in: Likewise.
15481         * modules/sys_file: Likewise.
15482         * modules/sys_ioctl: Likewise.
15483         * modules/sys_select: Likewise.
15484         * modules/sys_socket: Likewise.
15485         * modules/sys_stat: Likewise.
15486         * modules/sys_time: Likewise.
15487         * modules/sys_times: Likewise.
15488         * modules/sys_utsname: Likewise.
15489         * modules/sys_wait: Likewise.
15490
15491 2009-09-01  Jim Meyering  <meyering@redhat.com>
15492
15493         fts: help ensure that return values are not ignored
15494         * lib/fts_.h (__GNUC_PREREQ): Define.
15495         (__attribute_warn_unused_result__): Define.
15496         (fts_children, fts_close, fts_open, fts_read): Declare with
15497         __attribute_warn_unused_result__.
15498
15499         fts: fts_close now fails also when closing a dir file descriptor fails
15500         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
15501         and propagate to caller, along with errno.
15502
15503         announce-gen: correct formatting in --help output
15504         * build-aux/announce-gen (usage): Move the one-line description in
15505         --help output "up", to where it belongs, just after Usage:.
15506
15507 2009-08-31  Eric Blake  <ebb9@byu.net>
15508
15509         fchdir: port to mingw
15510         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
15511         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
15512         opened, then use a substitute.
15513         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
15514         replacement.
15515         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
15516         (_gl_register_fd): No need to check stat if open already filters
15517         all directories.
15518         (fchdir): Fix error condition to match POSIX.
15519         * modules/fchdir (Depends-on): Add sys_stat.
15520         * doc/posix-functions/open.texi (open): Document the limitation.
15521         * modules/fchdir-tests: New file.
15522         * tests/test-fchdir.c: Likewise.
15523
15524         canonicalize: allow cross-testing from cygwin to mingw
15525         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
15526         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
15527         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
15528         Likewise.
15529         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
15530         target does not support symlinks.
15531         * tests/test-canonicalize-lgpl.sh: Likewise.
15532
15533         chown: avoid compilation warning on mingw
15534         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
15535         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
15536         mingw.
15537         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
15538         * modules/chown (Depends-on): Add errno.
15539
15540 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
15541
15542         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
15543         command.
15544
15545 2009-08-31  Jim Meyering  <meyering@redhat.com>
15546
15547         canonicalize: remove useless initialization
15548         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
15549         initialization of local, "end".
15550
15551 2009-08-30  Bruno Haible  <bruno@clisp.org>
15552
15553         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
15554         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
15555         ENOSYS.
15556
15557 2009-08-30  Bruno Haible  <bruno@clisp.org>
15558
15559         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
15560         /usr/xpg4/bin/tr when it exists.
15561         * tests/test-pipe-filter-gi1.sh: Likewise.
15562
15563 2009-08-30  Bruno Haible  <bruno@clisp.org>
15564
15565         Work around deficient /usr/bin/id program on Solaris.
15566         * tests/test-file-has-acl.sh (ID): New variable.
15567         * tests/test-set-mode-acl.sh (ID): Likewise.
15568         * tests/test-copy-acl.sh (ID): Likewise.
15569         * tests/test-copy-file.sh (ID): Likewise.
15570
15571 2009-08-30  Bruno Haible  <bruno@clisp.org>
15572
15573         New module 'xstriconveh'.
15574         * lib/xstriconveh.h: New file.
15575         * lib/xstriconveh.c: New file.
15576         * modules/xstriconveh: New file.
15577
15578 2009-08-30  Bruno Haible  <bruno@clisp.org>
15579
15580         Make it easier to use mem_cd_iconveh.
15581         * lib/striconveh.h (iconveh_t): New type.
15582         (iconveh_open, iconveh_close): New declarations.
15583         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
15584         with a single 'const iconveh_t *' argument.
15585         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
15586         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
15587         with a single 'const iconveh_t *' argument.
15588         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
15589         * tests/test-striconveh.c (main): Update.
15590         * NEWS: Mention the change.
15591
15592 2009-08-30  Bruno Haible  <bruno@clisp.org>
15593
15594         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
15595         problem.
15596
15597 2009-08-30  Bruno Haible  <bruno@clisp.org>
15598
15599         Work around iconv_open problem on Solaris.
15600         * lib/iconv_open-solaris.gperf: New file.
15601         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
15602         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
15603         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
15604         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
15605         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
15606         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
15607
15608 2009-08-29  Jim Meyering  <meyering@redhat.com>
15609
15610         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
15611         * top/maint.mk (cvs-check): Remove target; it was just an alias
15612         to the better-named vc-diff-check.
15613         (maintainer-distcheck): Remove rule.  It was used only from
15614         the (alpha/beta/major) target, and all of its commands but one
15615         were coreutils-specific.
15616         (vc-dist): Remove rule.
15617         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
15618         Run vc-diff-check, not vc-dist.
15619         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
15620
15621 2009-08-27  Bruno Haible  <bruno@clisp.org>
15622
15623         * tests/test-bitrotate.c (main): Remove test that uses a shift count
15624         of 0.
15625
15626 2009-08-27  Bruno Haible  <bruno@clisp.org>
15627
15628         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
15629         compilers.
15630         * doc/func.texi: Document the SunPRO C bug.
15631
15632 2009-08-27  Bruno Haible  <bruno@clisp.org>
15633
15634         Fix link error on Solaris.
15635         * tests/test-parse-duration.c (xstrdup): Remove function.
15636
15637 2009-08-26  Pádraig Brady  <P@draigbrady.com>
15638
15639         ignore-value: handle pointer types, too
15640         * lib/ignore-value.h (__attribute__): Remove definition.
15641         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
15642         of a more concise and more-often effective "(void) i" statement.
15643         (ignore_ptr): New function to suppress warnings from functions that
15644         return pointers, and to make it explicit that one function doesn't
15645         handle all cases.
15646
15647 2009-08-25  Bruno Haible  <bruno@clisp.org>
15648
15649         dup2: work around a Linux bug.
15650         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
15651         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
15652         * doc/posix-functions/dup2.texi: Mention the Linux bug.
15653         Reported by Simon Josefsson.
15654
15655 2009-08-25  Jim Meyering  <meyering@redhat.com>
15656
15657         libguestfs uses gnulib
15658         * users.txt: Add libguestfs.
15659
15660 2009-08-24  Eric Blake  <ebb9@byu.net>
15661
15662         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
15663         * lib/pipe2.c (includes): Add binary-io.h.
15664         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
15665
15666 2009-08-24  Bruno Haible  <bruno@clisp.org>
15667
15668         Tolerate declared but missing accept4 syscall.
15669         * lib/accept4.c (accept4): Invoke original accept4 function first, if
15670         available.
15671         * lib/sys_socket.in.h (accept4): If the function is already present,
15672         override it.
15673         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
15674         * modules/accept4 (Makefile.am): Compile accept4.c always.
15675         Reported by Paolo Bonzini and Eric Blake.
15676
15677 2009-08-23  Bruno Haible  <bruno@clisp.org>
15678
15679         New module 'accept4'.
15680         * lib/sys_socket.in.h (accept4): New declaration.
15681         * lib/accept4.c: New file.
15682         * m4/accept4.m4: New file.
15683         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
15684         GNULIB_ACCEPT4, HAVE_ACCEPT4.
15685         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
15686         HAVE_ACCEPT4.
15687         * modules/accept4: New file.
15688         * doc/glibc-functions/accept4.texi: Mention the new module.
15689
15690 2009-08-24  Jim Meyering  <meyering@redhat.com>
15691
15692         progname: also set global program_invocation_name, when possible
15693         Before this change, a libtool-enabled program that calls glibc's
15694         error function would report the program name as
15695         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
15696         * modules/progname (configure.ac): Check for a declaration of
15697         program_invocation_name.
15698         * lib/progname.c:  Include <errno.h>.
15699         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
15700         Set program_invocation_name.
15701
15702 2009-08-23  Bruno Haible  <bruno@clisp.org>
15703
15704         * lib/dup3.c: Include <string.h>.
15705
15706 2009-08-23  Bruno Haible  <bruno@clisp.org>
15707
15708         * lib/dup3.c (dup3): Test only once whether the system actually exists.
15709         * lib/pipe2.c (pipe2): Likewise.
15710         Suggested by Eric Blake.
15711
15712 2009-08-23  Bruno Haible  <bruno@clisp.org>
15713
15714         Tolerate declared but missing dup3 syscall.
15715         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
15716         * lib/unistd.in.h (dup3): If the function is already present,
15717         override it.
15718         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
15719         * modules/dup3 (Makefile.am): Compile dup3.c always.
15720         Reported by Paolo Bonzini.
15721
15722 2009-08-23  Bruno Haible  <bruno@clisp.org>
15723
15724         Tolerate declared but missing pipe2 syscall.
15725         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
15726         available.
15727         * lib/unistd.in.h (pipe2): If the function is already present,
15728         override it.
15729         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
15730         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
15731         Reported by Paolo Bonzini.
15732
15733 2009-08-23  Bruno Haible  <bruno@clisp.org>
15734
15735         * lib/pipe2.c (pipe2): Move #ifs inside function.
15736
15737 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
15738
15739         quotearg: document limitations of quote_these_too
15740         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
15741         those limitations are created.
15742         * lib/quotearg.h (set_char_quoting): Document that digits and
15743         letters that are special after backslash are not permitted.
15744         (quotearg_char): Cross-reference set_char_quoting documentation.
15745
15746 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
15747
15748         quotearg: implement custom_quoting_style
15749         * lib/quotearg.c: (struct quoting_options): Add left_quote and
15750         right_quote fields.
15751         (set_custom_quoting): New public function.
15752         (quotearg_buffer_restyled): Add left_quote and right_quote
15753         arguments, handle them very much like locale quoting, and update
15754         all uses.
15755         (quotearg_n_custom): New public function.
15756         (quotearg_n_custom_mem): New public function.
15757         (quotearg_custom): New public function.
15758         (quotearg_custom_mem): New public function.
15759         * lib/quotearg.h: Prototype and document new public functions.
15760         (enum quoting_style): For escape_quoting_style and
15761         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
15762         ignored even though they're otherwise like c_quoting_style.
15763         Add custom_quoting_style member and document with comparison to
15764         clocale_quoting_style.
15765         * tests/test-quotearg.c (custom_quotes): New array.
15766         (custom_results): New array.
15767         (main): Extend to test custom quoting.
15768
15769 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
15770
15771         quotearg: fix right quote escaping when it's in quote_these_too
15772         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
15773         quote, be sure to prepend only one backslash.
15774         * tests/test-quotearg.c (use_quote_double_quotes): New function.
15775         (main): Test it.
15776
15777 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
15778
15779         quotearg-tests: test escaping of embedded locale quotes
15780         * tests/test-quotearg.c (struct result_strings): Add member for
15781         new input.
15782         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
15783         (inputs): Add new input.
15784         (results_g): Add expected results.
15785         (flag_results): Likewise.
15786         (locale_results): Likewise.
15787         (compare_strings): Check those.
15788
15789 2009-08-23  Bruno Haible  <bruno@clisp.org>
15790
15791         Tests for module 'dup3'.
15792         * modules/dup3-tests: New file.
15793         * tests/test-dup3.c: New file.
15794
15795         New module 'dup3'.
15796         * lib/unistd.in.h (dup3): New declaration.
15797         * lib/dup3.c: New file.
15798         * m4/dup3.m4: New file.
15799         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
15800         HAVE_DUP3.
15801         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
15802         * modules/dup3: New file.
15803         * doc/glibc-functions/dup3.texi: Mention the new module.
15804
15805 2009-08-23  Bruno Haible  <bruno@clisp.org>
15806
15807         Tweak the dup2 test.
15808         * tests/test-dup2.c (main): Create the test file empty. Verify that an
15809         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
15810         the test file is still empty. Fix argument order of lseek.
15811
15812 2009-08-23  Bruno Haible  <bruno@clisp.org>
15813
15814         Avoid test link errors when the modules getopt-gnu, gettext are used.
15815         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
15816         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15817
15818 2009-08-23  Bruno Haible  <bruno@clisp.org>
15819
15820         Fix getdtablesize() on mingw.
15821         * lib/getdtablesize.c (getdtablesize): Implement differently.
15822         * lib/unistd.in.h (getdtablesize): Improve comment.
15823
15824 2009-08-23  Bruno Haible  <bruno@clisp.org>
15825
15826         New module 'mkostemp'.
15827         Based on Ulrich Drepper's 2007-08-10 change in glibc.
15828         * lib/stdlib.in.h (mksotemp): New declaration.
15829         * lib/mkostemp.c: New file, from glibc with modifications.
15830         * lib/tempname.h (GT_FILE): Remove outdated comment.
15831         (gen_tempname): Add flags argument.
15832         * lib/tempname.c (__GT_BIGFILE): Remove macro.
15833         (__GT_FILE): Map to 1.
15834         (small_open, large_open): Remove macros.
15835         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
15836         * lib/mkstemp.c (mkstemp): Update.
15837         * lib/mkdtemp.c (mkdtemp): Likewise.
15838         * m4/mkostemp.m4: New file.
15839         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
15840         HAVE_MKOSTEMP.
15841         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
15842         HAVE_MKOSTEMP.
15843         * modules/mkostemp: New file, based on modules/mkstemp.
15844         * doc/glibc-functions/mkostemp.texi: Mention the new module.
15845         * NEWS: Mention the change.
15846
15847 2009-08-23  Bruno Haible  <bruno@clisp.org>
15848
15849         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
15850         Reported by Eric Blake.
15851
15852 2009-08-23  Bruno Haible  <bruno@clisp.org>
15853
15854         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
15855         Reported by Eric Blake.
15856
15857 2009-08-23  Bruno Haible  <bruno@clisp.org>
15858
15859         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
15860         * modules/pipe2 (Depends-on): Likewise.
15861
15862 2009-08-23  Eric Blake  <ebb9@byu.net>
15863
15864         fcntl-h: add O_TTY_INIT support
15865         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
15866         * tests/test-fcntl-h.c (o): Test it.
15867         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
15868
15869         fcntl-h: rename from fcntl, in preparation for fcntl(2)
15870         * modules/fcntl: Move <fcntl.h> header replacement...
15871         * modules/fcntl-h: ...to new name, so as not to collide with
15872         like-named function.
15873         * tests/test-fcntl.c: Rename...
15874         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
15875         * modules/fcntl-tests: Rename...
15876         * modules/fcntl-h-tests: ...to this.  Update test file name.
15877         * modules/chdir-long (Depends-on): Update clients.
15878         * modules/chdir-safer (Depends-on): Likewise.
15879         * modules/fcntl-safer (Depends-on): Likewise.
15880         * modules/fts (Depends-on): Likewise.
15881         * modules/mkancesdirs (Depends-on): Likewise.
15882         * modules/mkdir-p (Depends-on): Likewise.
15883         * modules/open (Depends-on): Likewise.
15884         * modules/savewd (Depends-on): Likewise.
15885         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
15886         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
15887
15888 2009-08-22  Bruno Haible  <bruno@clisp.org>
15889
15890         * modules/binary-io (License): Relicense under LGPL.
15891         * modules/pipe2 (License): Likewise.
15892
15893 2009-08-22  Bruno Haible  <bruno@clisp.org>
15894
15895         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
15896         return value.
15897         * lib/pipe-filter-gi.c (filter_init): Likewise.
15898         Reported by Eric Blake.
15899
15900 2009-08-22  Bruno Haible  <bruno@clisp.org>
15901
15902         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
15903         * modules/pipe (Depends-on): Add pipe2.
15904
15905 2009-08-22  Bruno Haible  <bruno@clisp.org>
15906
15907         Tests for module 'pipe2'.
15908         * modules/pipe2-tests: New file.
15909         * tests/test-pipe2.c: New file.
15910
15911         New module 'pipe2'.
15912         * lib/unistd.in.h (pipe2): New declaration.
15913         * lib/pipe2.c: New file.
15914         * m4/pipe2.m4: New file.
15915         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
15916         HAVE_PIPE2.
15917         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
15918         * modules/pipe2: New file.
15919         * doc/glibc-functions/pipe2.texi: Mention the new module.
15920
15921 2009-08-22  Bruno Haible  <bruno@clisp.org>
15922
15923         Reference some new glibc functions.
15924         * doc/glibc-functions/accept4.texi: New file.
15925         * doc/glibc-functions/dup3.texi: New file.
15926         * doc/glibc-functions/mkostemp.texi: New file.
15927         * doc/glibc-functions/pipe2.texi: New file.
15928         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
15929         (Glibc sys/socket.h): Refer to accept4.
15930         (Glibc unistd.h): Refer to dup3, pipe2.
15931         Reported by Eric Blake.
15932
15933 2009-08-22  Jim Meyering  <meyering@redhat.com>
15934             Bruno Haible  <bruno@clisp.org>
15935
15936         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
15937         This makes it so packages using automake-1.11's silent-rules option
15938         can print e.g., a single "GEN    configmake.h" line, rather than
15939         the 30+ statements that perform the job.  If you want to see the
15940         actual commands, you can still run "make V=1".
15941         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
15942         so that make output is abbreviated when those variables are defined
15943         appropriately.
15944         * modules/argz: Likewise.
15945         * modules/arpa_inet: Likewise.
15946         * modules/byteswap: Likewise.
15947         * modules/configmake: Likewise.
15948         * modules/dirent: Likewise.
15949         * modules/errno: Likewise.
15950         * modules/fcntl: Likewise.
15951         * modules/float: Likewise.
15952         * modules/fnmatch: Likewise.
15953         * modules/getopt-posix: Likewise.
15954         * modules/glob: Likewise.
15955         * modules/iconv_open: Likewise.
15956         * modules/inttypes: Likewise.
15957         * modules/localcharset: Likewise.
15958         * modules/locale: Likewise.
15959         * modules/math: Likewise.
15960         * modules/netdb: Likewise.
15961         * modules/netinet_in: Likewise.
15962         * modules/poll: Likewise.
15963         * modules/posix_spawnp-tests: Likewise.
15964         * modules/sched: Likewise.
15965         * modules/search: Likewise.
15966         * modules/selinux-h: Likewise.
15967         * modules/signal: Likewise.
15968         * modules/spawn: Likewise.
15969         * modules/stdarg: Likewise.
15970         * modules/stdbool: Likewise.
15971         * modules/stddef: Likewise.
15972         * modules/stdint: Likewise.
15973         * modules/stdio: Likewise.
15974         * modules/stdlib: Likewise.
15975         * modules/string: Likewise.
15976         * modules/strings: Likewise.
15977         * modules/sys_file: Likewise.
15978         * modules/sys_ioctl: Likewise.
15979         * modules/sys_select: Likewise.
15980         * modules/sys_socket: Likewise.
15981         * modules/sys_stat: Likewise.
15982         * modules/sys_time: Likewise.
15983         * modules/sys_times: Likewise.
15984         * modules/sys_utsname: Likewise.
15985         * modules/sys_wait: Likewise.
15986         * modules/sysexits: Likewise.
15987         * modules/time: Likewise.
15988         * modules/unistd: Likewise.
15989         * modules/wchar: Likewise.
15990         * modules/wctype: Likewise.
15991
15992 2009-08-22  Jim Meyering  <meyering@redhat.com>
15993
15994         announce-gen: detect write failure
15995         * build-aux/announce-gen: Add Coda at end.
15996         Remove equivalent-but-more-verbose block at top.
15997
15998 2009-08-19  Akim Demaille  <demaille@gostai.com>
15999
16000         bootstrap: --help to stdout.
16001         * bootstrap (usage): Don't send --help to stderr.
16002         Use a here doc instead of a long string.
16003
16004 2009-08-21  Eric Blake  <ebb9@byu.net>
16005
16006         test-popen-safer: split from test-popen
16007         * tests/test-popen.c (main): Move...
16008         * tests/test-popen.h: ...into new file.
16009         * tests/test-popen-safer2.c: New file.
16010         * modules/popen-tests (Files): Add test-popen.h.
16011         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
16012         Suggested by Bruno Haible.
16013
16014         test-fcntl-safer: split from test-open
16015         * tests/test-open.c (main): Move...
16016         * tests/test-open.h: ...into new file.
16017         * tests/test-fcntl-safer.c: New file.
16018         * modules/open-tests (Files): Add test-open.h.
16019         * modules/fcntl-safer-tests: New file.
16020         Suggested by Bruno Haible.
16021
16022         test-fopen-safer: split from test-fopen
16023         * tests/test-fopen.c (main): Move...
16024         * tests/test-fopen.h: ...into new file.
16025         * tests/test-fopen-safer.c: New file.
16026         * modules/fopen-tests (Files): Add test-fopen.h.
16027         * modules/fopen-safer-tests: New file.
16028         Suggested by Bruno Haible.
16029
16030 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
16031
16032         popen-safer: test O_CLOEXEC at run-time.
16033         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
16034
16035 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
16036
16037         fcntl: move more flags to the header
16038         * lib/cloexec.c: Do not define FD_CLOEXEC here.
16039         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
16040         * lib/fcntl.in.h: Do both things here.
16041
16042 2009-08-21  Jim Meyering  <meyering@redhat.com>
16043
16044         consistently remove $@-t before redirecting to it
16045         * modules/argz: Remove $@-t and $@ before redirecting to the former.
16046         * modules/alloca-opt: Likewise.
16047         * modules/byteswap: Likewise.
16048         * modules/fnmatch: Likewise.
16049         * modules/getopt-posix: Likewise.
16050         * modules/glob: Likewise.
16051         * modules/poll: Likewise.
16052         * modules/posix_spawnp-tests: Likewise.
16053         * modules/sys_socket: Likewise.
16054         * modules/sysexits: Likewise.
16055
16056 2009-08-21  Eric Blake  <ebb9@byu.net>
16057
16058         popen: simplify access to original popen
16059         * lib/popen.c (rpl_popen): No need to worry about popen being a
16060         macro.
16061         Reported by Bruno Haible.
16062
16063 2009-08-20  Eric Blake  <ebb9@byu.net>
16064
16065         build: avoid some compiler warnings
16066         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
16067         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
16068         type.
16069         (new_exclude_segment, excluded_file_pattern_p)
16070         (excluded_file_name_p): Reduce scope.
16071         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
16072         old-style declaration.
16073
16074 2009-08-20  Simon Josefsson  <simon@josefsson.org>
16075
16076         * tests/test-exclude1.sh: Handle Windows EOL.
16077         * tests/test-exclude2.sh: Likewise.
16078         * tests/test-exclude3.sh: Likewise.
16079         * tests/test-exclude4.sh: Likewise.
16080         * tests/test-exclude5.sh: Likewise.
16081         * tests/test-exclude6.sh: Likewise.
16082         * tests/test-exclude7.sh: Likewise.
16083
16084 2009-08-19  Akim Demaille  <demaille@gostai.com>
16085
16086         bootstrap: find sha1sum when named gsha1sum.
16087         * bootstrap (find_tool): New.
16088         ($SHA1SUM): New.
16089         Use it.
16090
16091 2009-08-20  Jim Meyering  <meyering@redhat.com>
16092
16093         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
16094         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
16095         expression that converts "." in a file name to "\." in the resulting
16096         regexp.  Start with a dummy statement, so that prior shell variable
16097         definitions are expanded portably.  Reported by Simon Josefsson.
16098
16099 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
16100
16101         Fix polling for writeability of a screen buffer.
16102         * lib/poll.c: Distinguish input and screen buffers for the
16103         Win32 implementation.
16104         * lib/select.c: Likewise.
16105
16106 2009-08-19  Eric Blake  <ebb9@byu.net>
16107
16108         popen-safer: prevent popen from clobbering std descriptors
16109         * modules/popen-safer: New file.
16110         * lib/popen-safer.c: Likewise.
16111         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
16112         * lib/stdio--.h (popen): Provide override.
16113         * lib/stdio-safer.h (popen_safer): Provide declaration.
16114         * tests/test-popen.c (includes): Partially test this.
16115         * modules/popen-safer-tests: New file, for more tests.
16116         * tests/test-popen-safer.c: Likewise.
16117         * MODULES.html.sh (file stream based Input/Output): Mention it.
16118
16119         tests: test some of the *-safer modules
16120         * modules/fopen-safer (Depends-on): Add fopen.
16121         * modules/fcntl-safer (Depends-on): Add fcntl.
16122         * modules/stdlib-safer (Depends-on): Add stdlib.
16123         (configure.ac): Set indicator.
16124         * modules/unistd-safer (configure.ac): Likewise.
16125         * modules/tmpfile-safer (configure.ac): Likewise.
16126         (Depends-on): Add tmpfile.
16127         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
16128         active.
16129         * tests/test-fopen.c (includes): Test safer versions when they are
16130         in use.
16131         * tests/test-open.c (includes): Likewise.
16132
16133         popen: fix cygwin 1.5 bug when stdin closed
16134         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
16135         * modules/popen: New file.
16136         * modules/popen-tests: Likewise.
16137         * tests/test-popen.c: Likewise.
16138         * m4/popen.m4: Likewise.
16139         * lib/popen.c: Likewise.
16140         * lib/stdio.in.h (popen): New declaration.
16141         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
16142         * modules/stdio (Makefile.am): Likewise.
16143         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
16144
16145 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
16146
16147         maint.mk: give full control over update-copyright exclusions
16148         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
16149         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
16150         (update-copyright): Don't force inclusion of top-level
16151         ChangeLog.  Don't force exclusion of all COPYING files, but make
16152         them the default exclusion instead.
16153
16154 2009-08-16  Bruno Haible  <bruno@clisp.org>
16155
16156         Fix test failures on Solaris 10.
16157         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
16158         tests when Solaris iconv() is used.
16159         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
16160         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
16161         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
16162         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
16163         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
16164
16165 2009-08-16  Bruno Haible  <bruno@clisp.org>
16166
16167         Fix test failures on Solaris 10.
16168         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
16169         'tr' program and pass it as first argument.
16170         * tests/test-pipe-filter-gi1.sh: Likewise.
16171         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
16172         program as first argument.
16173         * tests/test-pipe-filter-gi1.c (main): Likewise.
16174
16175 2009-08-16  Eric Blake  <ebb9@byu.net>
16176
16177         fpurge: fix previous commits
16178         * modules/fpurge (Makefile.am): Make replacement conditional,
16179         partially reverting 2007-04-29 change; missed in previous
16180         attempt.
16181         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
16182         is missing.
16183
16184 2009-08-16  Bruno Haible  <bruno@clisp.org>
16185
16186         Clarify fpurge's effect on the file position.
16187         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
16188         * tests/test-fpurge.c (main): Make a second pass for checking the file
16189         position.
16190
16191 2009-08-16  Bruno Haible  <bruno@clisp.org>
16192
16193         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
16194         declaration of fpurge is missing.
16195         * tests/test-fpurge.c (main): Check that the file has not more contents
16196         than expected. Close the file before removing it.
16197
16198 2009-08-15  Eric Blake  <ebb9@byu.net>
16199
16200         fpurge: don't wrap working cygwin implementation
16201         * lib/fpurge.c (fpurge): Fix comment typo.
16202         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
16203         1.7 to avoid replacement.
16204         * tests/test-fpurge.c (main): Enhance test.
16205
16206 2009-08-15  Eric Blake  <ebb9@byu.net>
16207         and Jim Meyering  <meyering@redhat.com>
16208
16209         test-update-copyright: skip if perl is insufficient
16210         * tests/test-update-copyright.sh: Failure to run maintainer tool
16211         should not cause testsuite failure on cygwin 1.5.
16212
16213 2009-08-14  Eric Blake  <ebb9@byu.net>
16214
16215         doc: mention more functions added in cygwin 1.7.0
16216         * doc/posix-headers/limits.texi (limits.h): Update for recent
16217         cygwin additions.
16218         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
16219         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
16220         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
16221         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
16222         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
16223
16224 2009-08-14  Eric Blake  <ebb9@byu.net>
16225
16226         maint.mk: simplify update-copyright rule
16227         * top/maint.mk (update-copyright-local): Delete, and document how
16228         to do it in cfg.mk instead.
16229         (update-copyright-exclude-regexp): Delete, and document how to do
16230         it in .x-update-copyright instead.
16231         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
16232         exclude ChangeLog.
16233
16234 2009-08-14  Bruno Haible  <bruno@clisp.org>
16235
16236         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
16237
16238 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
16239
16240         maint.mk: support update-copyright-env
16241         * top/maint.mk (update-copyright-env): Define place-holder.
16242         (update-copyright): Expand $(update-copyright-env) before
16243         invoking update-copyright.
16244
16245 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
16246
16247         update-copyright: implement forced reformatting
16248         * build-aux/update-copyright: Implement and document
16249         UPDATE_COPYRIGHT_FORCE.
16250         * tests/test-update-copyright.sh: Test it.
16251
16252 2009-08-14  Eric Blake  <ebb9@byu.net>
16253         and Bruno Haible  <bruno@clisp.org>
16254
16255         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
16256         * tests/test-locale.c: Revert previous patch related to NULL.
16257         * tests/test-stdio.c: Likewise.
16258         * tests/test-stdlib.c: Likewise.
16259         * tests/test-string.c: Likewise.
16260         * tests/test-unistd.c: Likewise.
16261         * modules/time-tests (Depends-on): Add verify.
16262         * modules/wchar-tests (Depends-on): Likewise.
16263         * tests/test-time.c: Test for NULL compliance.
16264         * tests/test-wchar.c: Likewise.
16265         * modules/locale (Depends-on): Add stddef.
16266         * modules/stdio (Depends-on): Likewise.
16267         * modules/stdlib (Depends-on): Likewise.
16268         * modules/string (Depends-on): Likewise.
16269         * modules/time (Depends-on): Likewise.
16270         * modules/unistd (Depends-on): Likewise.
16271         * modules/wchar (Depends-on): Likewise.
16272         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
16273         * lib/stdlib.in.h (includes): Likewise.
16274         * lib/string.in.h (includes): Likewise.
16275         * lib/time.in.h (includes): Likewise.
16276         * lib/unistd.in.h (includes): Likewise.
16277         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
16278         replaced.
16279         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
16280         * m4/stddef_h.m4: New file.
16281         * modules/stddef: Likewise.
16282         * lib/stddef.in.h: Likewise.
16283         * modules/stddef-tests: Likewise.
16284         * tests/test-stddef.c: Likewise.
16285         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
16286         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
16287         * doc/posix-headers/locale.texi (locale.h): Likewise.
16288         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
16289         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
16290         * doc/posix-headers/string.texi (string.h): Likewise.
16291         * doc/posix-headers/time.texi (time.h): Likewise.
16292         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
16293         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
16294
16295 2009-08-14  Eric Blake  <ebb9@byu.net>
16296
16297         doc: improve git diff of texinfo files
16298         * .gitattributes: Add rule for *.texi files, with hint on how to
16299         use it.
16300         Copied from m4, and based on a report by Bruno Haible.
16301
16302 2009-08-14  Bruno Haible  <bruno@clisp.org>
16303
16304         Disable multithread support by default on Cygwin 1.5.x for real.
16305         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
16306
16307 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
16308
16309         update-copyright: much ado about intervals
16310         * build-aux/update-copyright: Implement and document
16311         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
16312         of copyright year intervals.
16313         Also, document UPDATE_COPYRIGHT_YEAR.
16314         * tests/test-update-copyright.sh: Test it.
16315
16316         update-copyright: convert 2-digit to 4-digit years
16317         * build-aux/update-copyright: Implement and document.
16318         * tests/test-update-copyright.sh: Update.
16319
16320 2009-08-14  Jim Meyering  <meyering@redhat.com>
16321
16322         test-exclude: avoid coreutils "make check" failure
16323         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
16324         just as in test-argmatch.c.
16325
16326 2009-08-13  Eric Blake  <ebb9@byu.net>
16327
16328         test-dup2: fix bad assumption
16329         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
16330         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
16331
16332         test-version-etc: fix CRLF portability issue
16333         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
16334         recognize \r.
16335         * tests/test-argp-version-etc-1.sh: Likewise.
16336
16337         getopt: update client modules
16338         * modules/argp (Depends-on): Use getopt-gnu.
16339         * modules/git-merge-changelog (Depends-on): Likewise.
16340         * modules/long-options (Depends-on): Likewise.
16341         * modules/xstrtol (Depends-on): Likewise.
16342
16343 2009-08-13  Simon Josefsson  <simon@josefsson.org>
16344
16345         * tests/test-version-etc.sh: Don't fail on different
16346         project/version.  Don't fail on CRLF differences.  Rewrite to use
16347         multiple -e instead of multiple sed forks, suggested by Eric Blake
16348         <ebb9@byu.net>.
16349         * tests/test-argp-version-etc-1.sh: Likewise.
16350
16351 2009-08-13  Simon Josefsson  <simon@josefsson.org>
16352
16353         * tests/test-version-etc.sh: Don't fail on different
16354         project/version.
16355
16356 2009-08-12  Bruno Haible  <bruno@clisp.org>
16357
16358         Tests for modules 'getopt-posix', 'getopt-gnu'.
16359         * modules/getopt-posix-tests: New file.
16360         * tests/test-getopt.c: New file.
16361         * tests/test-getopt.h: New file.
16362         * tests/test-getopt_long.h: New file.
16363
16364         New modules 'getopt-posix', 'getopt-gnu'.
16365         * modules/getopt-gnu: New file, renamed from modules/getopt.
16366         * modules/getopt-posix: New file.
16367         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
16368         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
16369         (gl_GETOPT): Remove macro.
16370         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
16371         Disable the test against BSD systems that declare optreset. Test
16372         against mingw bug. Test against lack of support of optional arguments
16373         on many platforms.
16374         * doc/glibc-headers/getopt.texi: Update module name and list of
16375         relevant platforms.
16376         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
16377         'getopt-gnu' and more portability problems.
16378         * NEWS: Mention the changes.
16379
16380 2009-08-12  Bruno Haible  <bruno@clisp.org>
16381
16382         Ensure that optarg etc. get declared by <unistd.h>.
16383         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
16384         AC_USE_SYSTEM_EXTENSIONS.
16385         * modules/getopt (Depends-on): Add 'extensions'.
16386
16387 2009-08-12  Bruno Haible  <bruno@clisp.org>
16388
16389         Avoid test link errors.
16390         * modules/pipe-filter-ii-tests (Makefile.am): Define
16391         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
16392         * modules/pipe-filter-gi-tests (Makefile.am): Define
16393         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
16394         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16395
16396 2009-08-12  Bruno Haible  <bruno@clisp.org>
16397
16398         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
16399         gl_GETOPT_SUBSTITUTE before.
16400         (gl_GETOPT): Use it.
16401         * m4/argp.m4 (gl_ARGP): Update.
16402         Reported by Sergey Poznyakoff.
16403
16404         * m4/getopt.m4: Reorder macros.
16405         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
16406         (gl_GETOPT_SUBSTITUTE): Remove macro.
16407
16408 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
16409
16410         Minor improvement in gitlog-to-changelog
16411
16412         * build-aux/gitlog-to-changelog: New option `--format' makes
16413         output format string configurable.
16414
16415 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
16416
16417         Optimize exclude: use hash tables for non-wildcard patterns.
16418
16419         * lib/exclude.c: Include hash.h and mbuiter.h
16420         (struct exclude_pattern, exclude_segment): New data types.
16421         (struct exclude): Rewrite.
16422         (fnmatch_pattern_has_wildcards): New function.
16423         (new_exclude_segment, free_exclude_segment): New functions.
16424         (excluded_file_pattern_p, excluded_file_name_p): New functions.
16425         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
16426         * lib/exclude.h (is_fnmatch_pattern): New prototype.
16427         * modules/exclude: Depend on hash and mbuiter.
16428
16429         * modules/exclude-tests: New file.
16430         * tests/test-exclude.c: New file.
16431         * tests/test-exclude1.sh: New file.
16432         * tests/test-exclude2.sh: New file.
16433         * tests/test-exclude3.sh: New file.
16434         * tests/test-exclude4.sh: New file.
16435         * tests/test-exclude5.sh: New file.
16436         * tests/test-exclude6.sh: New file.
16437         * tests/test-exclude7.sh: New file.
16438
16439 2009-08-12  Bruno Haible  <bruno@clisp.org>
16440
16441         Ensure that getopt() gets declared by <unistd.h>.
16442         * lib/unistd.in.h: Conditionally include getopt.h.
16443         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
16444         Set GNULIB_UNISTD_H_GETOPT.
16445         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
16446         GNULIB_UNISTD_H_GETOPT.
16447         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
16448
16449 2009-08-12  Bruno Haible  <bruno@clisp.org>
16450
16451         Clarify logic.
16452         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
16453         gl_replace_getopt instead of GETOPT_H.
16454
16455 2009-08-12  Bruno Haible  <bruno@clisp.org>
16456
16457         * m4/getopt.m4: Add comments.
16458
16459 2009-08-12  Bruno Haible  <bruno@clisp.org>
16460
16461         Disable multithread support by default on Cygwin 1.5.x.
16462         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
16463         set gl_use_threads=no if not specified otherwise.
16464
16465 2009-08-11  Bruno Haible  <bruno@clisp.org>
16466
16467         Avoid compilation error on NetBSD 5.0.
16468         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
16469         * tests/test-stdio.c: Likewise.
16470         * tests/test-stdlib.c: Likewise.
16471         * tests/test-string.c: Likewise.
16472         * tests/test-unistd.c: Likewise.
16473         Reported by Greg Troxel <gdt@ir.bbn.com>
16474         at <https://savannah.gnu.org/support/?106973>.
16475
16476 2009-08-11  Bruno Haible  <bruno@clisp.org>
16477
16478         * modules/dup2-tests (Depends-on): Remove close.
16479
16480         Undo 2009-07-19 commit.
16481         * modules/acl-tests (Depends-on): Remove close.
16482         * modules/binary-io-tests (Depends-on): Likewise.
16483         * modules/closein-tests (Depends-on): Likewise.
16484         * modules/flock-tests (Depends-on): Likewise.
16485         * modules/fsync-tests (Depends-on): Likewise.
16486         * modules/lseek-tests (Depends-on): Likewise.
16487         * modules/pipe-tests (Depends-on): Likewise.
16488         * modules/posix_spawn-tests (Depends-on): Likewise.
16489         * modules/posix_spawnp-tests (Depends-on): Likewise.
16490         * modules/stat-time-tests (Depends-on): Likewise.
16491         * modules/yesno-tests (Depends-on): Likewise.
16492
16493 2009-08-10  Bruno Haible  <bruno@clisp.org>
16494
16495         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
16496
16497 2009-08-10  Bruno Haible  <bruno@clisp.org>
16498
16499         Fix a gcc warning.
16500         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
16501
16502 2009-08-10  Bruno Haible  <bruno@clisp.org>
16503
16504         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
16505         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
16506         not only the first time.
16507         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
16508         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
16509         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
16510         is 1, not only the the first time.
16511
16512 2009-08-10  Bruno Haible  <bruno@clisp.org>
16513
16514         Make it possible to use module 'gethostname' without module 'close'.
16515         * lib/unistd.in.h (close): Evoke a link error only if
16516         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
16517         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
16518         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
16519         * modules/unistd (Makefile.am): Substitute
16520         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
16521         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
16522         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
16523         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
16524         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
16525         * modules/sys_ioctl (Makefile.am): Substitute
16526         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
16527         * modules/socket (configure.ac): On native Windows, set
16528         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
16529         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
16530         Reported by Sam Steingold <sds@gnu.org>.
16531
16532 2009-08-10  Bruno Haible  <bruno@clisp.org>
16533
16534         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
16535         * modules/ioctl (configure.ac): Likewise.
16536
16537 2009-08-10  Bruno Haible  <bruno@clisp.org>
16538
16539         Avoid collision between gnulib wrapper and libintl wrapper.
16540         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
16541         already defined in intl/printf.c.
16542         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
16543         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
16544
16545 2009-08-09  Bruno Haible  <bruno@clisp.org>
16546
16547         Make <sys/select.h> really self-contained, also on Solaris 10.
16548         * lib/sys_select.in.h: Include <string.h>.
16549         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
16550         Solaris 10 problem.
16551         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
16552         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
16553         Reported by Jim Meyering.
16554
16555 2009-08-09  Bruno Haible  <bruno@clisp.org>
16556
16557         Avoid warnings from 'aclocal' that are due to a use of macro name
16558         AM_XGETTEXT_OPTION that is not defined in automake.
16559         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
16560         automake.
16561         * modules/error (configure.ac): Likewise.
16562         * modules/propername (configure.ac): Likewise.
16563         * modules/vasprintf (configure.ac): Likewise.
16564         * modules/verror (configure.ac): Likewise.
16565         * modules/xprintf (configure.ac): Likewise.
16566         * modules/xvasprintf (configure.ac): Likewise.
16567
16568 2009-08-08  Bruno Haible  <bruno@clisp.org>
16569
16570         Avoid compilation error in C++ mode.
16571         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
16572         Reported by Sam Steingold <sds@gnu.org>.
16573
16574 2009-08-08  Bruno Haible  <bruno@clisp.org>
16575
16576         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
16577         for the various Unix platforms.
16578         * doc/posix-headers/limits.texi: Update platforms list regarding
16579         HOST_NAME_MAX.
16580         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16581
16582 2009-08-07  Jim Meyering  <meyering@redhat.com>
16583
16584         selinux-at: fix typo in a comment
16585         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
16586         Spotted by Paolo Bonzini.
16587
16588         selinux-at: remove redundant m4 code, add documentation
16589         * modules/selinux-at (configure.ac): Remove redundant code.
16590         LIB_SELINUX is already set via the dependent module, selinux-h.
16591         (Include): Add quotes around selinux-at.h.
16592         * lib/selinux-at.h: Add documentation.
16593         Reported by Bruno Haible in
16594         http://marc.info/?l=gnulib-bug&m=124958988300749
16595
16596 2009-08-07  Bruno Haible  <bruno@clisp.org>
16597
16598         Avoid link error on MacOS X 10.3 and 10.4.
16599         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
16600         on non-ELF systems.
16601         * lib/argp-pv.c (argp_program_version): Likewise.
16602         Reported by Simon Josefsson.
16603
16604 2009-08-07  Simon Josefsson  <simon@josefsson.org>
16605
16606         * tests/test-version-etc.sh: Use $EXEEXT.
16607
16608 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
16609
16610         update-copyright: update documentation to point to maint.mk
16611         * build-aux/update-copyright: Here.
16612
16613 2009-08-06  Jim Meyering  <meyering@redhat.com>
16614
16615         maint.mk: support update-copyright-local
16616         * top/maint.mk (update-copyright-local): Define place-holder.
16617         (update-copyright): Depend on $(update-copyright-local).
16618
16619 2009-08-06  Jim Meyering  <meyering@redhat.com>
16620
16621         selinux-at: new module
16622         Initially written for coreutils, this module will soon be
16623         used by findutils, too.
16624         * MODULES.html.sh [Misc]: Add selinux-at.
16625         * lib/selinux-at.h: New file, from coreutils.
16626         * lib/selinux-at.c: Likewise.
16627         * modules/selinux-at: Likewise.
16628         (License): Change from LGPL to GPL, since it depends
16629         on the GPL'd openat module.
16630
16631         doc: update README
16632         * README: Remove references to cogito.
16633         Remove cvs-repo-updating instructions from 2007.
16634         Don't imply that CVS is better if you have limited disk space.
16635
16636 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
16637
16638         update-copyright: support C-style comments
16639         * build-aux/update-copyright: Implement and document.
16640         * tests/test-update-copyright.sh: Test.
16641
16642 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
16643
16644         update-copyright: support omitted "(C)"
16645         * build-aux/update-copyright: Implement and document.  Also,
16646         allow variable whitespace before "(C)".
16647         * tests/test-update-copyright.sh: Test.
16648
16649 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
16650
16651         update-copyright: don't trip on non-FSF copyright statements
16652         * build-aux/update-copyright: Fix so that the first correctly
16653         formatted FSF copyright statement is recognized no matter what
16654         appears before it.  Update documentation.
16655         * tests/test-update-copyright.sh: Test that.
16656
16657 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
16658
16659         update-copyright: clean up code a little
16660         * build-aux/update-copyright: Append "_re" to the name of any
16661         variable holding a regular expression.
16662         Replace "old" and "new" with "stmt" in variable names.
16663         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
16664         handled correctly.
16665         Format code more consistently.
16666
16667 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
16668
16669         update-copyright-tests: improve portability
16670         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
16671         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
16672
16673 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
16674
16675         update-copyright: support @copyright{} and &copy;
16676         * build-aux/update-copyright: Implement and document.
16677         * tests/test-update-copyright.sh: Test.
16678
16679 2009-08-04  Jim Meyering  <meyering@redhat.com>
16680
16681         update-copyright-tests: correctly test EOL=\r\n handling
16682         * tests/test-update-copyright.sh: Put \r at the end of some lines
16683         for the dos-eol tests.  Based on a patch by Joel E. Denny.
16684
16685         maint.mk: make update-copyright exclusion list more configurable
16686         * top/maint.mk (update-copyright): Default to excluding COPYING,
16687         but allow an override, in case someone does want to update that file.
16688
16689         maint.mk: don't update copyright date in COPYING
16690         * top/maint.mk (update-copyright): Exclude COPYING.
16691
16692         maint.mk: add a copyright-updating rule
16693         * top/maint.mk (update-copyright): New rule.
16694         Derived from coreutils/Makefile.am.
16695
16696         update-copyright: rename some variables
16697         * build-aux/update-copyright: Rename a few variables for clarity.
16698         Tweak syntax.  List Joel E. Denny as coauthor.
16699
16700 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
16701
16702         update-copyright: fix bug for 2-digit last year and add tests
16703         * build-aux/update-copyright: Fix bug.
16704         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
16705         specified.
16706         * modules/update-copyright-tests: New
16707         * tests/test-update-copyright.sh: New.
16708
16709 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
16710
16711         update-copyright: handle leading tabs in line prefix
16712         * build-aux/update-copyright: Count leading tabs as 8 spaces
16713         when computing margin.  This helps with the formatting of
16714         ChangeLogs, for example.
16715         Fix documentation a little.
16716
16717 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
16718
16719         update-copyright: support EOL=\r\n
16720         * build-aux/update-copyright: Implement that.
16721
16722 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
16723
16724         update-copyright: automatically format copyright statements
16725         * build-aux/update-copyright: Implement that.
16726         Also, be a little more predictable and safer by always failing
16727         when the full copyright format is not perfectly recognized as an
16728         unbroken whole.  Discussed at
16729         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
16730         Rewrite documentation.
16731
16732 2009-08-03  Bruno Haible  <bruno@clisp.org>
16733
16734         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
16735
16736 2009-08-02  Bruno Haible  <bruno@clisp.org>
16737
16738         Tests for module 'uname'.
16739         * modules/uname-tests: New file.
16740         * tests/test-uname.c: New file.
16741
16742         New module 'uname'.
16743         * lib/uname.c: New file.
16744         * m4/uname.m4: New file.
16745         * modules/uname: New file.
16746         * doc/posix-functions/uname.texi: Mention the new module.
16747
16748 2009-08-02  Bruno Haible  <bruno@clisp.org>
16749
16750         Tests for module 'sys_utsname'.
16751         * modules/sys_utsname-tests: New file.
16752         * tests/test-sys_utsname.c: New file.
16753
16754         New module 'sys_utsname'.
16755         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
16756         * m4/sys_utsname_h.m4: New file.
16757         * modules/sys_utsname: New file.
16758         * doc/posix-headers/sys_utsname.texi: Mention the new module.
16759
16760 2009-08-02  Bruno Haible  <bruno@clisp.org>
16761
16762         Implicitly initialize the sockets library.
16763         * lib/gethostname.c: Include sockets.h.
16764         (rpl_gethostname): Invoke gl_sockets_startup.
16765         * lib/socket.c: Include sockets.h.
16766         (rpl_socket): Invoke gl_sockets_startup.
16767         * modules/gethostname (Depends-on): Add sockets.
16768         * modules/socket (Depends-on): Likewise.
16769         * tests/test-poll.c: Don't include sockets.h.
16770         (main): Don't invoke gl_sockets_startup.
16771         * tests/test-select.c: Don't include sockets.h.
16772         (main): Don't invoke gl_sockets_startup.
16773
16774 2009-08-02  Bruno Haible  <bruno@clisp.org>
16775
16776         Allow multiple calls to gl_sockets_startup.
16777         * lib/sockets.c (initialized_sockets_version): New variable.
16778         (gl_sockets_startup): Do nothing if already called for this or a higher
16779         version.
16780         (gl_sockets_cleanup): Reset initialized_sockets_version.
16781
16782 2009-08-03  Simon Josefsson  <simon@josefsson.org>
16783
16784         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
16785         different project/version.
16786
16787 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
16788             Bruno Haible  <bruno@clisp.org>
16789
16790         Tests for module 'pipe-filter-gi'.
16791         * modules/pipe-filter-gi-tests: New file.
16792         * tests/test-pipe-filter-gi1.sh: New file.
16793         * tests/test-pipe-filter-gi1.c: New file.
16794         * tests/test-pipe-filter-gi2.sh: New file.
16795         * tests/test-pipe-filter-gi2-main.c: New file.
16796         * tests/test-pipe-filter-gi2-child.c: New file.
16797
16798         New module 'pipe-filter-gi'.
16799         * lib/pipe-filter-gi.c: New file.
16800         * modules/pipe-filter-gi: New file.
16801
16802 2009-08-02  Bruno Haible  <bruno@clisp.org>
16803             Paolo Bonzini  <bonzini@gnu.org>
16804
16805         Tests for module 'pipe-filter-ii'.
16806         * modules/pipe-filter-ii-tests: New file.
16807         * tests/test-pipe-filter-ii1.sh: New file.
16808         * tests/test-pipe-filter-ii1.c: New file.
16809         * tests/test-pipe-filter-ii2.sh: New file.
16810         * tests/test-pipe-filter-ii2-main.c: New file.
16811         * tests/test-pipe-filter-ii2-child.c: New file.
16812
16813         New module 'pipe-filter-ii'.
16814         * lib/pipe-filter.h: New file.
16815         * lib/pipe-filter-ii.c: New file.
16816         * lib/pipe-filter-aux.h: New file.
16817         * modules/pipe-filter-ii: New file.
16818
16819 2009-08-02  Simon Josefsson  <simon@josefsson.org>
16820
16821         * lib/gc-libgcrypt.c: Change copyright to FSF.
16822         * lib/gc-gnulib.c: Likewise.
16823
16824 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
16825
16826         * lib/gethostname.c: Include limits.h.
16827
16828 2009-08-02  Simon Josefsson  <simon@josefsson.org>
16829             Bruno Haible  <bruno@clisp.org>
16830
16831         Ensure HOST_NAME_MAX as part of the gethostname module.
16832         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
16833         define also HOST_NAME_MAX.
16834         * tests/test-gethostname.c: Include <limits.h>.
16835         (main): Check also HOST_NAME_MAX.
16836         * doc/posix-headers/limits.texi: Document the mingw problem.
16837
16838 2009-08-02  Bruno Haible  <bruno@clisp.org>
16839
16840         * lib/gethostname.c (gethostname): Fix handling of large len argument.
16841         Add comments.
16842
16843 2009-03-31  Simon Josefsson  <simon@josefsson.org>
16844
16845         * lib/gethostname.c: Add Windows wrapper.
16846         * m4/gethostname.m4: Look for gethostname in -lws2_32.
16847         * modules/gethostname: Depend on sys_socket & errno, for also
16848         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
16849         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
16850
16851 2009-07-31  Jim Meyering  <meyering@redhat.com>
16852
16853         getloadavg: fix symbol name in comment
16854         * lib/getloadavg.c: Correct a typo I introduced when adding
16855         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
16856         Matt Kraai spotted the problem.
16857
16858 2009-07-29  Matt Kraai  <mkraai@beckman.com>
16859
16860         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
16861         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
16862         code also if ! defined N_NAME_POINTER.
16863         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
16864         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
16865         but the n_name member is a 12-byte array.
16866
16867 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
16868
16869         update-copyright: generalize comment handling
16870         * build-aux/update-copyright: Handle copyright statements
16871         within more comment styles.
16872         Document usage.
16873         Report any file with an external copyright holder or parse failure.
16874
16875 2009-07-29  Jim Meyering  <meyering@redhat.com>
16876
16877         mktime: correct setting of REPLACE_MKTIME
16878         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
16879
16880         update-copyright: new module
16881         * modules/update-copyright: New file.
16882         * build-aux/update-copyright: New file.
16883         * MODULES.html.sh (maint+release support): Add update-copyright.
16884
16885 2009-07-27  Bruno Haible  <bruno@clisp.org>
16886
16887         Fix compilation error when <ctime> is used and mktime is replaced.
16888         * lib/time.in.h (mktime): New declaration.
16889         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
16890         REPLACE_MKTIME instead of defining mktime in config.h.
16891         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
16892         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
16893         Reported by Ross McFarland <rwmcfa1@neces.com>.
16894
16895 2009-07-27  Bruno Haible  <bruno@clisp.org>
16896
16897         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
16898         Reported by Matt Kraai <mkraai@beckman.com>.
16899
16900 2009-07-25  Jim Meyering  <meyering@redhat.com>
16901
16902         maint.mk: avoid warnings about missing files
16903         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
16904         diagnostic when .prev-version does not exist.
16905         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
16906         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
16907         nonexistent cfg.mk.
16908         Suggestions from Simon Josefsson.
16909
16910 2009-07-25  Bruno Haible  <bruno@clisp.org>
16911
16912         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
16913         defined as macros. Needed on QNX 6.4.1.
16914         Reported by Matt Kraai <mkraai@beckman.com>.
16915
16916 2009-07-23  Jim Meyering  <meyering@redhat.com>
16917
16918         maint.mk: invoke "make dist" with a working value of XZ_OPT
16919         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
16920
16921 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
16922
16923         Make fseeko.c compile on QNX.
16924         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
16925
16926 2009-07-22  Peter Simons  <simons@cryp.to>
16927
16928         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
16929         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
16930         * lib/md4.h: Likewise.
16931         * lib/md5.h: Likewise.
16932         * lib/sha1.h: Likewise.
16933         * lib/sha256.h: Likewise.
16934         * lib/sha512.h: Likewise.
16935
16936         tests-sha1: don't assign literal string to 'char *' variable
16937         * tests/test-sha1.c (main): Declare locals with "const" to match
16938         attributes of the right hand side.
16939
16940 2009-07-21  Eric Blake  <ebb9@byu.net>
16941
16942         dup2: fix more mingw problems
16943         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
16944         fd to itself.
16945         * doc/posix-functions/dup2.texi (dup2): Document the bug.
16946         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
16947         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
16948         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
16949         care of mingw bugs.
16950
16951 2009-07-21  Jim Meyering  <meyering@redhat.com>
16952
16953         vc-list-files: avoid failure when /bin/sh is dash
16954         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
16955         On some Debian based systems, /bin/sh is a symlink to dash, and running
16956         this command would omit the "/" following each 'tests' prefix:
16957           dash -x build-aux/vc-list-files -C . tests
16958         That is because bash and dash work differently:
16959           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
16960           bash ok
16961           dash odd
16962
16963 2009-07-21  Eric Blake  <ebb9@byu.net>
16964
16965         dup2-tests: test previous patch
16966         * modules/dup2-tests: New file.
16967         * tests/test-dup2.c: Likewise.
16968         * tests/test-open.c (main): Avoid unspecified behavior.
16969         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
16970         test.
16971
16972         dup2: work around mingw and cygwin 1.5 bug
16973         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
16974         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
16975         * modules/unistd (Makefile.am): Substitute it.
16976         * lib/unistd.in.h (dup2): Declare the replacement.
16977         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
16978         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
16979         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
16980         * modules/execute (Depends-on): Add dup2.
16981         * modules/fseterr (Depends-on): Likewise.
16982         * modules/pipe (Depends-on): Likewise.
16983         * modules/posix_spawn-internal (Depends-on): Likewise.
16984
16985 2009-07-21  Bruno Haible  <bruno@clisp.org>
16986
16987         * modules/.gitattributes: New file.
16988
16989 2009-07-20  Bruno Haible  <bruno@clisp.org>
16990
16991         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
16992         (main): Use it.
16993
16994 2009-07-20  Eric Blake  <ebb9@byu.net>
16995
16996         test-pipe: make a bit more robust.
16997         * tests/test-pipe.c (myerr): Allow error messages regardless of
16998         what we do to stderr.
16999         (test_pipe): Rearrange to avoid deadlock.
17000         (child_main): Try a larger read, to ensure we avoided deadlock.
17001         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
17002         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
17003         if misused.
17004
17005 2009-07-19  Jim Meyering  <meyering@redhat.com>
17006
17007         fts: avoid false-positive cycle-detection
17008         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
17009         for each new command line argument.
17010
17011 2009-07-19  Bruno Haible  <bruno@clisp.org>
17012
17013         Fix build error on mingw with the modules sys_select and unistd.
17014         * modules/acl-tests (Depends-on): Add close.
17015         * modules/binary-io-tests (Depends-on): Likewise.
17016         * modules/closein-tests (Depends-on): Likewise.
17017         * modules/flock-tests (Depends-on): Likewise.
17018         * modules/fsync-tests (Depends-on): Likewise.
17019         * modules/lseek-tests (Depends-on): Likewise.
17020         * modules/pipe-tests (Depends-on): Likewise.
17021         * modules/posix_spawn-tests (Depends-on): Likewise.
17022         * modules/posix_spawnp-tests (Depends-on): Likewise.
17023         * modules/stat-time-tests (Depends-on): Likewise.
17024         * modules/yesno-tests (Depends-on): Likewise.
17025
17026 2009-07-19  Bruno Haible  <bruno@clisp.org>
17027
17028         Unify conditionals.
17029         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
17030         macros, not at the compiler macros.
17031         * lib/pipe.c: Likewise.
17032         * lib/execute.c: Likewise.
17033         * lib/spawni.c: Likewise.
17034
17035 2009-07-19  Bruno Haible  <bruno@clisp.org>
17036
17037         Fix handling of closed stdin/stdout/stderr on mingw.
17038         * lib/w32spawn.h: Include unistd.h.
17039         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
17040         file descriptor with O_NOINHERIT flag.
17041         (fd_safer_noinherit): New function, based on fd-safer.c.
17042         (dup_safer_noinherit): New function, based on dup-safer.c.
17043         (undup_safer_noinherit): New function.
17044         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
17045         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
17046         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
17047         instead of fd_safer.
17048         * tests/test-pipe.c: Include <windows.h>.
17049         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
17050
17051         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
17052         from main.
17053         (test_pipe): Pass an extra argument for disambiguation.
17054         (main): Invoke parent_main or child_main.
17055
17056         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
17057         consistently.
17058
17059 2009-07-18  Eric Blake  <ebb9@byu.net>
17060
17061         test-pipe: fix mingw build
17062         * tests/test-pipe.c (main): Avoid fcntl on mingw.
17063
17064 2009-07-18  Bruno Haible  <bruno@clisp.org>
17065
17066         * modules/pipe-tests (Makefile.am): Fix typo.
17067
17068 2009-07-18  Eric Blake  <ebb9@byu.net>
17069
17070         error: fix mingw build
17071         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
17072         Reported by Bruno Haible.
17073
17074         error: avoid undefined use of stdout
17075         * lib/error.c (error, error_at_line): Check that fd 1 is open
17076         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
17077         is handling faults and the close_stdout module wants to report the
17078         detection of closed stdout as an error.
17079
17080 2009-07-17  Eric Blake  <ebb9@byu.net>
17081
17082         pipe: be robust in face of closed fds
17083         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
17084         should cause child to misbehave.
17085         * modules/pipe-tests: New module.
17086         * tests/test-pipe.c: New file.
17087         * tests/test-pipe.sh: New file.
17088         Reported by Akim Demaille.
17089
17090 2009-07-14  Bruno Haible  <bruno@clisp.org>
17091
17092         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
17093         Reported by anonymous kc.
17094
17095 2009-07-07  Jim Meyering  <meyering@redhat.com>
17096
17097         maint.mk: don't look for translatable strings in *.m4 or *.mk
17098         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
17099         when searching for translatable strings.
17100
17101 2009-07-05  Jim Meyering  <meyering@redhat.com>
17102
17103         remove superfluous parentheses in STREQ definition
17104         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
17105         * lib/getugroups.c (STREQ): Likewise.
17106         * lib/fnmatch.c (STREQ): Likewise.
17107         Spotted by Bruno Haible.
17108
17109 2009-07-04  Jim Meyering  <meyering@redhat.com>
17110
17111         argv-iter: new module
17112         * MODULES.html.sh: Add argv-iter.
17113         * lib/argv-iter.c, lib/argv-iter.h: New files.
17114         * modules/argv-iter: New file.
17115         * modules/argv-iter-tests: New file.
17116         * tests/test-argv-iter.c: Test it.
17117
17118 2009-07-04  Bruno Haible  <bruno@clisp.org>
17119
17120         Fix assertion.
17121         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
17122         contains more exact copies of a given entry than file2, leave the extra
17123         copies unpaired rather than aborting.
17124         Reported by Eric Blake.
17125
17126 2009-07-02  Bruno Haible  <bruno@clisp.org>
17127
17128         Speedup git-merge-changelog for git cherry-pick.
17129         * lib/git-merge-changelog.c (struct entries_mapping): New type.
17130         (entries_mapping_get): New function, extracted from compute_mapping.
17131         (entries_mapping_reverse_get): New function.
17132         (compute_mapping): Add a 'full' argument. Return the result in a
17133         'struct entries_mapping'.
17134         (main): Update. Access the mappings through entries_mapping_get.
17135         Reported by Eric Blake.
17136
17137 2009-07-02  Bruno Haible  <bruno@clisp.org>
17138
17139         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
17140         best_i.
17141
17142 2009-07-02  Bruno Haible  <bruno@clisp.org>
17143
17144         Speed up approximate search for matching ChangeLog entries.
17145         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
17146         argument. Call fstrcmp_bounded instead of fstrcmp.
17147         (compute_mapping, try_split_merged_entry, main): Update callers.
17148
17149 2009-07-02  Bruno Haible  <bruno@clisp.org>
17150
17151         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
17152
17153 2009-06-30  Bruno Haible  <bruno@clisp.org>
17154
17155         Reduce the number of uc_is_cased calls.
17156         * lib/unicase.h (casing_suffix_context_t): Add
17157         'first_char_except_ignorable' field.
17158         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
17159         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
17160         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
17161         Update initializer.
17162         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
17163         case-ignorable characters.
17164         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
17165         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
17166         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
17167         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
17168         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
17169
17170 2009-06-30  Bruno Haible  <bruno@clisp.org>
17171
17172         Tests for module 'unicase/ignorable'.
17173         * modules/unicase/ignorable-tests: New file.
17174         * tests/unicase/test-ignorable.c: New file, generated by
17175         gen-uni-tables.
17176
17177         Tests for module 'unicase/cased'.
17178         * modules/unicase/cased-tests: New file.
17179         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
17180         * tests/unicase/test-predicate-part1.h: New file, derived from
17181         tests/unictype/test-predicate-part1.h.
17182         * tests/unicase/test-predicate-part2.h: New file, same as
17183         tests/unictype/test-predicate-part2.h.
17184
17185         Fix evaluation of "Before C" condition of FINAL_SIGMA.
17186         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
17187         (output_casing_properties): New function.
17188         (main): Call it.
17189         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
17190         * lib/unicase/cased.c: Include unictype/bitmap.h.
17191         (uc_is_cased): Define through a bitmap lookup.
17192         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
17193         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
17194         (uc_is_case_ignorable): Define through a bitmap lookup.
17195         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
17196         lib/unictype/bitmap.h.
17197         (Depends-on): Add inline. Clean up.
17198         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
17199         lib/unictype/bitmap.h.
17200         (Depends-on): Add inline. Clean up.
17201         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
17202         recognition.
17203         * tests/unicase/test-u16-tolower.c (main): Likewise.
17204         * tests/unicase/test-u32-tolower.c (main): Likewise.
17205
17206 2009-06-30  Bruno Haible  <bruno@clisp.org>
17207
17208         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
17209         * lib/unicase/u16-casemap.c: Likewise.
17210         * lib/unicase/u32-casemap.c: Likewise.
17211
17212 2009-06-29  Bruno Haible  <bruno@clisp.org>
17213
17214         Define u32_casefold as a wrapper around u32_ct_casefold.
17215         * lib/unicase/u32-casefold.c: Update.
17216         * modules/unicase/u32-casefold (Depends-on): Add
17217         unicase/u32-ct-casefold, unicase/empty-prefix-context,
17218         unicase/empty-suffix-context. Clean up.
17219
17220         Define u16_casefold as a wrapper around u16_ct_casefold.
17221         * lib/unicase/u16-casefold.c: Update.
17222         * modules/unicase/u16-casefold (Depends-on): Add
17223         unicase/u16-ct-casefold, unicase/empty-prefix-context,
17224         unicase/empty-suffix-context. Clean up.
17225
17226         Define u8_casefold as a wrapper around u8_ct_casefold.
17227         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
17228         * lib/unicase/u8-casefold.c: Update.
17229         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
17230         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
17231
17232         Define u32_totitle as a wrapper around u32_ct_totitle.
17233         * lib/unicase/u32-totitle.c: Update.
17234         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
17235         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
17236
17237         Define u16_totitle as a wrapper around u16_ct_totitle.
17238         * lib/unicase/u16-totitle.c: Update.
17239         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
17240         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
17241
17242         Define u8_totitle as a wrapper around u8_ct_totitle.
17243         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
17244         functions.
17245         (FUNC): Delegate to U_CT_TOTITLE.
17246         * lib/unicase/u8-totitle.c: Update.
17247         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
17248         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
17249
17250         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
17251         invocation.
17252         * modules/unicase/u32-tolower (Depends-on): Add
17253         unicase/empty-prefix-context, unicase/empty-suffix-context.
17254
17255         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
17256         invocation.
17257         * modules/unicase/u16-tolower (Depends-on): Add
17258         unicase/empty-prefix-context, unicase/empty-suffix-context.
17259
17260         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
17261         * modules/unicase/u8-tolower (Depends-on): Add
17262         unicase/empty-prefix-context, unicase/empty-suffix-context.
17263
17264         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
17265         invocation.
17266         * modules/unicase/u32-toupper (Depends-on): Add
17267         unicase/empty-prefix-context, unicase/empty-suffix-context.
17268
17269         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
17270         invocation.
17271         * modules/unicase/u16-toupper (Depends-on): Add
17272         unicase/empty-prefix-context, unicase/empty-suffix-context.
17273
17274         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
17275         * modules/unicase/u8-toupper (Depends-on): Add
17276         unicase/empty-prefix-context, unicase/empty-suffix-context.
17277
17278         New module 'unicase/u32-ct-casefold'.
17279         * lib/unicase/u32-ct-casefold.c: New file.
17280         * modules/unicase/u32-ct-casefold: New file.
17281
17282         New module 'unicase/u16-ct-casefold'.
17283         * lib/unicase/u16-ct-casefold.c: New file.
17284         * modules/unicase/u16-ct-casefold: New file.
17285
17286         New module 'unicase/u8-ct-casefold'.
17287         * lib/unicase/u8-ct-casefold.c: New file.
17288         * lib/unicase/u-ct-casefold.h: New file, derived from
17289         lib/unicase/u-casefold.h.
17290         * modules/unicase/u8-ct-casefold: New file.
17291
17292         New module 'unicase/u32-ct-totitle'.
17293         * lib/unicase/u32-ct-totitle.c: New file.
17294         * modules/unicase/u32-ct-totitle: New file.
17295
17296         New module 'unicase/u16-ct-totitle'.
17297         * lib/unicase/u16-ct-totitle.c: New file.
17298         * modules/unicase/u16-ct-totitle: New file.
17299
17300         New module 'unicase/u8-ct-totitle'.
17301         * lib/unicase/u8-ct-totitle.c: New file.
17302         * lib/unicase/u-ct-totitle.h: New file, derived from
17303         lib/unicase/u-totitle.h.
17304         * modules/unicase/u8-ct-totitle: New file.
17305
17306         New module 'unicase/u32-ct-tolower'.
17307         * lib/unicase/u32-ct-tolower.c: New file.
17308         * modules/unicase/u32-ct-tolower: New file.
17309
17310         New module 'unicase/u16-ct-tolower'.
17311         * lib/unicase/u16-ct-tolower.c: New file.
17312         * modules/unicase/u16-ct-tolower: New file.
17313
17314         New module 'unicase/u8-ct-tolower'.
17315         * lib/unicase/u8-ct-tolower.c: New file.
17316         * modules/unicase/u8-ct-tolower: New file.
17317
17318         New module 'unicase/u32-ct-toupper'.
17319         * lib/unicase/u32-ct-toupper.c: New file.
17320         * modules/unicase/u32-ct-toupper: New file.
17321
17322         New module 'unicase/u16-ct-toupper'.
17323         * lib/unicase/u16-ct-toupper.c: New file.
17324         * modules/unicase/u16-ct-toupper: New file.
17325
17326         New module 'unicase/u8-ct-toupper'.
17327         * lib/unicase/u8-ct-toupper.c: New file.
17328         * modules/unicase/u8-ct-toupper: New file.
17329
17330         Add context arguments to u*_casemap functions.
17331         * lib/unicase/unicasemap.h: Include unicase.h.
17332         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
17333         suffix_context arguments.
17334         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
17335         functions.
17336         (FUNC): Add prefix_context and suffix_context arguments. Use
17337         uc_is_cased and uc_is_case_ignorable.
17338         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
17339         * lib/unicase/u16-casemap.c: Likewise.
17340         * lib/unicase/u32-casemap.c: Likewise.
17341         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
17342         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
17343         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
17344         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
17345         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
17346         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
17347
17348         New module 'unicase/u32-suffix-context'.
17349         * lib/unicase/u32-suffix-context.c: New file.
17350         * modules/unicase/u32-suffix-context: New file.
17351
17352         New module 'unicase/u16-suffix-context'.
17353         * lib/unicase/u16-suffix-context.c: New file.
17354         * modules/unicase/u16-suffix-context: New file.
17355
17356         New module 'unicase/u8-suffix-context'.
17357         * lib/unicase/u8-suffix-context.c: New file.
17358         * lib/unicase/u-suffix-context.h: New file.
17359         * modules/unicase/u8-suffix-context: New file.
17360
17361         New module 'unicase/empty-suffix-context'.
17362         * lib/unicase/empty-suffix-context.c: New file.
17363         * modules/unicase/empty-suffix-context: New file.
17364
17365         New module 'unicase/u32-prefix-context'.
17366         * lib/unicase/u32-prefix-context.c: New file.
17367         * modules/unicase/u32-prefix-context: New file.
17368
17369         New module 'unicase/u16-prefix-context'.
17370         * lib/unicase/u16-prefix-context.c: New file.
17371         * modules/unicase/u16-prefix-context: New file.
17372
17373         New module 'unicase/u8-prefix-context'.
17374         * lib/unicase/u8-prefix-context.c: New file.
17375         * lib/unicase/u-prefix-context.h: New file.
17376         * lib/unicase/context.h: New file.
17377         * modules/unicase/u8-prefix-context: New file.
17378
17379         New module 'unicase/empty-prefix-context'.
17380         * lib/unicase/empty-prefix-context.c: New file.
17381         * modules/unicase/empty-prefix-context: New file.
17382
17383         New module 'unicase/ignorable'.
17384         * lib/unicase/ignorable.c: New file.
17385         * modules/unicase/ignorable: New file.
17386
17387         New module 'unicase/cased'.
17388         * lib/unicase/caseprop.h: New file.
17389         * lib/unicase/cased.c: New file.
17390         * modules/unicase/cased: New file.
17391
17392         New functions for case mapping of substrings.
17393         * lib/unicase.h (casing_prefix_context_t): New type.
17394         (unicase_empty_prefix_context): New variable.
17395         (u8_casing_prefix_context, u16_casing_prefix_context,
17396         u32_casing_prefix_context, u8_casing_prefixes_context,
17397         u16_casing_prefixes_context, u32_casing_prefixes_context): New
17398         declarations.
17399         (casing_suffix_context_t): New type.
17400         (unicase_empty_suffix_context): New variable.
17401         (u8_casing_suffix_context, u16_casing_suffix_context,
17402         u32_casing_suffix_context, u8_casing_suffixes_context,
17403         u16_casing_suffixes_context, u32_casing_suffixes_context,
17404         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
17405         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
17406         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
17407         declarations.
17408
17409 2009-06-28  Jim Meyering  <meyering@redhat.com>
17410
17411         boostrap: indent only with spaces
17412         * build-aux/bootstrap: Indent only with spaces, never TABs.
17413
17414         bootstrap: split long lines
17415         * build-aux/bootstrap: Keep line length < 80.
17416
17417         bootstrap: sync from coreutils
17418         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
17419         just as autoreconf does.  Verify a list of prerequisite
17420         package-name,version-number pairs if defined in bootstrap.conf.
17421         Refer to README-prereq, if prerequisites are not satisfied.
17422
17423 2009-06-27  Eric Blake  <ebb9@byu.net>
17424
17425         tests: add test for bogus NULL definition
17426         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
17427         * tests/test-stdlib.c: Likewise.
17428         * tests/test-string.c: Likewise.
17429         * tests/test-locale.c: Likewise.
17430         * tests/test-unistd.c: Likewise.
17431         * modules/stdio-tests (Depends-on): Add verify.
17432         * modules/stdlib-tests (Depends-on): Likewise.
17433         * modules/string-tests (Depends-on): Likewise.
17434         * modules/locale-tests (Depends-on): Likewise.
17435         * modules/unistd-tests (Depends-on): Likewise.
17436
17437 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
17438
17439         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
17440         self-explaining comment.
17441         * m4/selinux-selinux-h: Update serial.
17442         (gl_LIBSELINUX): New macro, adding a warning for missing development
17443         packages to code extracted from...
17444         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
17445         Add warning for missing development packages here, too.
17446
17447 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
17448
17449         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
17450
17451 2009-06-25  Eric Blake  <ebb9@byu.net>
17452
17453         version-etc: fix regression
17454         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
17455         gcc.
17456         (version_etc): Use it, to catch bugs with trailing NULL.
17457         * lib/version-etc.c (version_etc_arn): Delete unused argument.
17458         (version_etc_va): Fix logic bug.
17459         * modules/version-etc-tests: Add test.
17460         * tests/test-version-etc.c: New file.
17461         * tests/test-version-etc.sh: Likewise.
17462
17463 2009-06-25  Sam Steingold  <sds@gnu.org>
17464
17465         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
17466         mbtowc declaration.
17467
17468 2009-06-25  Eric Blake  <ebb9@byu.net>
17469
17470         fpurge: migrate into <stdio.h>
17471         * lib/fpurge.h: Delete...
17472         * lib/stdio.in.h (fpurge): ...and declare here, instead.
17473         * lib/fpurge.c (fpurge): Change declaring header.
17474         * modules/fpurge (Files): Drop deleted file.
17475         (Depends-on): Add stdio.
17476         (configure.ac): Set witness.
17477         * modules/stdio (Makefile.am): Support fpurge macros.
17478         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
17479         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
17480         * lib/fflush.c: Update client.
17481         * tests/test-fpurge.c: Likewise.
17482         * NEWS: Mention the change.
17483
17484 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
17485
17486         * lib/argp-version-etc.c (program_authors): Add const
17487         qualifier.
17488         * lib/version-etc.c: Fix typos in the comments.
17489         * modules/argp-version-etc: Depends on version-etc.
17490
17491 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
17492
17493         argp-version-etc: new module.
17494
17495         * lib/argp-version-etc.c: New file.
17496         * lib/argp-version-etc.h: New file.
17497         * modules/argp-version-etc: New file.
17498         * modules/argp-version-etc-tests: New file.
17499         * tests/test-argp-version-etc.c: New test.
17500         * tests/test-argp-version-etc-1.sh: New test.
17501
17502 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
17503
17504         Provide additional interfaces and documentation for version-etc
17505         module.
17506
17507         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
17508         interfaces.
17509         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
17510         prototypes.
17511
17512 2009-06-24  Bruno Haible  <bruno@clisp.org>
17513
17514         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
17515         HAVE_LIB${NAME} macro.
17516         Reported by Sam Steingold <sds@gnu.org>.
17517
17518 2009-06-23  Simon Josefsson  <simon@josefsson.org>
17519
17520         * modules/hash-tests (test_hash_LDADD): Link to libintl when
17521         needed.
17522
17523 2009-06-21  Bruno Haible  <bruno@clisp.org>
17524
17525         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
17526         work.
17527         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
17528         together with LIB${NAME}, LTLIB${NAME}.
17529         Reported by Sam Steingold <sds@gnu.org>.
17530
17531 2009-06-20  Jim Meyering  <meyering@redhat.com>
17532
17533         tests: make sc_require_test_exit_idiom more generic
17534         * top/maint.mk (Exit_witness_file): New overridable variable.
17535         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
17536         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
17537
17538 2009-06-19  Jim Meyering  <meyering@redhat.com>
17539
17540         hash: reverse order of src/dst parameters in an internal interface
17541         * lib/hash.c (transfer_entries): Reverse order of parameters to
17542         put DST before SRC.  Adjust callers.
17543
17544         tests: test-hash: avoid wholesale duplication
17545         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
17546         Instead, use a loop and add a single conditional.
17547
17548         tests: test-hash: allow seed selection via a command line argument
17549         * tests/test-hash.c (get_seed): New function.
17550         (main): Use it.
17551
17552 2009-06-19  Eric Blake  <ebb9@byu.net>
17553
17554         hash: avoid memory leak on allocation failure
17555         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
17556         failure.  Factor repeated algorithm...
17557         (transfer_entries): ...into new helper routine.
17558         (hash_delete): React to hash_rehash return value.
17559
17560         hash: reduce memory pressure in hash_rehash no-op case
17561         * lib/hash.c (next_prime): Avoid overflow.
17562         (hash_initialize): Factor bucket size computation...
17563         (compute_bucket_size): ...into new helper function.
17564         (hash_rehash): Use new function and open coding to reduce memory
17565         pressure, and avoid a memory leak in USE_OBSTACK code.
17566         Reported by Jim Meyering.
17567
17568 2009-06-18  Eric Blake  <ebb9@byu.net>
17569
17570         hash: make rotation more obvious
17571         * modules/hash (Depends-on): Add bitrotate and stdint.
17572         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
17573         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
17574         (SIZE_MAX): Rely on headers for definition.
17575         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
17576         (raw_hasher): Use rotr_sz.
17577         Suggested by Jim Meyering.
17578
17579         hash: fix memory leak in last patch
17580         * lib/hash.c (hash_rehash): Avoid memory leak.
17581
17582         hash: avoid no-op rehashing
17583         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
17584
17585         hash: provide default callback functions
17586         * lib/hash.c (raw_hasher, raw_comparator): New functions.
17587         (hash_initialize): Use them as defaults.
17588         * tests/test-hash.c (main): Test this.
17589
17590         hash: minor optimization
17591         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
17592         when possible.
17593         (hash_initialize): Document this promise.
17594         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
17595         * tests/test-hash.c (hash_compare_strings): Test this.
17596
17597 2009-06-18  Bruno Haible  <bruno@clisp.org>
17598
17599         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
17600         going to be replaced anyway.
17601
17602 2009-06-18  Bruno Haible  <bruno@clisp.org>
17603
17604         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
17605         in one place.
17606         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
17607         be replaced anyway.
17608
17609 2009-06-18  Eric Blake  <ebb9@byu.net>
17610
17611         hash: check for resize before insertion
17612         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
17613         threshold before insertion, so that a pathological hash_rehash
17614         that fills every bucket can still trigger another rehash.
17615
17616 2009-06-18  Jim Meyering  <meyering@redhat.com>
17617
17618         hash-tests: add a loop around the small tests
17619         * tests/test-hash.c (main): Repeat small tests with selected
17620         small initial table sizes.
17621
17622 2009-06-17  Eric Blake  <ebb9@byu.net>
17623
17624         hash: minor cleanups
17625         * lib/hash.h (hash_entry): Make opaque, by moving...
17626         * lib/hash.c (hash_entry): ...here.
17627         (hash_insert): Clarify restrictions on what can be inserted.
17628         (hash_get_next): Clarify when it is safe to remove an element
17629         during traversal.
17630         (check_tuning): Skip verification when tuning is known safe.
17631         (hash_initialize): Clarify restrictions on tuning.
17632
17633 2009-06-17  Jim Meyering  <jim@meyering.net>
17634         and Eric Blake  <ebb9@byu.net>
17635
17636         hash-tests: new module
17637         * modules/hash-tests: New file.
17638         * tests/test-hash.c: New file.
17639
17640 2009-06-17  Eric Blake  <ebb9@byu.net>
17641
17642         strstr-simple: document new module
17643         * MODULES.html.sh: Document new module.
17644
17645         strstr, strcasestr: replace on platforms with broken memchr
17646         * modules/strstr: Split into...
17647         * modules/strstr-simple: ...new module that does not care about
17648         performance, but does care about glibc bug.
17649         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
17650         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
17651         if platform memchr is broken, per Debian bug 521737.
17652         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
17653         memchr.
17654         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
17655         * doc/posix-functions/strstr.texi (strstr): Document the fix.
17656         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
17657         * modules/mountlist (Depends-on): Add strstr-simple.
17658         * modules/gen-uni-tables (Depends-on): Likewise.
17659         * modules/argz (Depends-on): Add strstr.
17660
17661 2009-06-17  Bruno Haible  <bruno@clisp.org>
17662
17663         * modules/posix_spawn-internal (Depends-on): Add errno.
17664
17665 2009-06-17  Bruno Haible  <bruno@clisp.org>
17666
17667         Define missing ESTALE on Interix 3.5.
17668         * lib/errno.in.h (ESTALE): Assign a value if missing.
17669         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
17670         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
17671         missing.
17672         * doc/posix-headers/errno.texi: Mention the Interix bug.
17673         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
17674
17675 2009-06-15  Eric Blake  <ebb9@byu.net>
17676
17677         memchr, memchr2: add valgrind exception
17678         * lib/memchr.valgrind: New file.
17679         * lib/memchr2.valgrind: New file.
17680         * modules/memchr (Files): Distribute valgrind file.
17681         * modules/memchr2 (Files): Likewise.
17682
17683         docs: memchr is no longer obsolete
17684         * MODULES.html.sh: Move memchr from obsolete to string.h section.
17685         * lib/string.in.h (memchr): Simplify logic.
17686
17687 2009-06-14  Jim Meyering  <meyering@redhat.com>
17688
17689         link-follow: fix the "checking..." message to not mention trailing slash
17690         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
17691         never considered trailing slashes.
17692
17693 2009-06-14  Bruno Haible  <bruno@clisp.org>
17694
17695         * m4/memchr.m4: Mention also the bug on IA-64.
17696         * doc/posix-functions/memchr.texi: Likewise.
17697
17698 2009-06-12  Eric Blake  <ebb9@byu.net>
17699
17700         memchr: detect broken x86_64 and alpha implementations
17701         * modules/memchr-tests (Depends-on): Move mmap detection...
17702         * modules/memchr (Depends-on): ...here.
17703         (configure.ac): Set indicator.
17704         * lib/string.in.h (memchr): Declare replacement.
17705         * modules/string (Makefile.am): Trigger replacement.
17706         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
17707         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
17708         bugs.
17709         * doc/posix-functions/memchr.texi (memchr): Document the bug.
17710         * modules/getpagesize (License): Relax license.
17711
17712 2009-06-11  Bruno Haible  <bruno@clisp.org>
17713
17714         * lib/idpriv.h: Add more references.
17715
17716 2009-06-08  Bruno Haible  <bruno@clisp.org>
17717
17718         Tests for module 'idpriv-droptemp'.
17719         * modules/idpriv-droptemp-tests: New file.
17720         * tests/test-idpriv-droptemp.sh: New file.
17721         * tests/test-idpriv-droptemp.su.sh: New file.
17722         * tests/test-idpriv-droptemp.c: New file.
17723
17724         New module 'idpriv-droptemp'.
17725         * lib/idpriv-droptemp.c: New file.
17726         * modules/idpriv-droptemp: New file.
17727
17728 2009-06-08  Bruno Haible  <bruno@clisp.org>
17729
17730         Tests for module 'idpriv-drop'.
17731         * modules/idpriv-drop-tests: New file.
17732         * tests/test-idpriv-drop.sh: New file.
17733         * tests/test-idpriv-drop.su.sh: New file.
17734         * tests/test-idpriv-drop.c: New file.
17735
17736         New module 'idpriv-drop'.
17737         * lib/idpriv.h: New file.
17738         * lib-idpriv-drop.c: New file.
17739         * m4/idpriv.m4: New file.
17740         * modules/idpriv-drop: New file.
17741
17742 2009-06-08  Bruno Haible  <bruno@clisp.org>
17743
17744         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
17745         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
17746         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
17747         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
17748         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
17749         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
17750         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
17751
17752 2009-06-08  Eric Blake  <ebb9@byu.net>
17753
17754         test-strstr: use memory fence, when possible
17755         * tests/test-strstr.c (main): Use memory fence, in order to be
17756         more likely to trigger Debian bug 521737.
17757         * modules/strstr-tests (Files): Pull in additional files.
17758
17759         memchr: no longer obsolete, for wider field testing
17760         * modules/memchr (Status, Notice): Delete, this module is no
17761         longer obsolete.
17762         * modules/vasnprintf (Depends-on): Add memchr.
17763
17764 2009-06-07  Jim Meyering  <meyering@redhat.com>
17765
17766         hash: declare some functions with the warn_unused_result attribute
17767         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
17768
17769 2009-06-07  Bruno Haible  <bruno@clisp.org>
17770
17771         * tests/test-alignof.c: Don't test int64_t if it does not exist.
17772         Reported by Eric Blake.
17773
17774 2009-06-06  Eric Blake  <ebb9@byu.net>
17775
17776         test-alignof: fix typo with long double
17777         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
17778         compiler error.
17779
17780 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
17781
17782         Escape non-texinfo { and }s.
17783         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
17784         markup error.
17785
17786 2009-06-04  Jim Meyering  <meyering@redhat.com>
17787
17788         gitlog-to-changelog: don't infloop on an empty commit log
17789         * build-aux/gitlog-to-changelog: Warn about an empty log message.
17790         Reported by Boris Petersen <transacid@centerim.org>.
17791
17792 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
17793
17794         version-etc: extend for packagers
17795         Add three new configure options, intended for packagers:
17796           --with-packager="packager name"
17797           --with-packager-version="packager-specific version"
17798           --with-packager-bug-reports="packager bug reporting"
17799         An example with coreutils:
17800           $ ./configure \
17801             --with-packager=Gentoo \
17802             --with-packager-bug-report=http://bugs.gentoo.org/ \
17803             --with-packager-version="patchset 1.6"
17804           $ ./src/ls --version | head -n2
17805           ls (GNU coreutils) 7.1-dirty
17806           Packaged by Gentoo (patchset 1.6)
17807         Note that the bug reporting info via --help doesn't show up because
17808         coreutils uses its own custom emit_bug_reporting_address() implementation
17809         in src/system.h.  If it didn't, it'd look like:
17810           $ ./src/ls --help | tail -n4
17811           Report bugs to <bug-coreutils@gnu.org>.
17812           Report Gentoo bugs to <http://bugs.gentoo.org/>.
17813           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
17814           General help using GNU software: <http://www.gnu.org/gethelp/>.
17815         * lib/version-etc.c: Print new information, if provided.
17816         * m4/version-etc.m4: New file.
17817         * modules/version-etc (Files): Add m4/version-etc.m4.
17818         (configure.ac): Add gl_VERSION_ETC.
17819
17820 2009-05-31  Bruno Haible  <bruno@clisp.org>
17821
17822         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
17823         and 'int64_t'.
17824         * modules/alignof-tests (Dependencies): Add stdint.
17825         Reported by Eric Blake.
17826
17827 2009-05-31  Bruno Haible  <bruno@clisp.org>
17828
17829         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
17830         restriction due to compiler bugs.
17831         Reported by Eric Blake.
17832
17833 2009-05-31  Simon Josefsson  <simon@josefsson.org>
17834             Bruno Haible  <bruno@clisp.org>
17835
17836         Fix test-alignof failure.
17837         * lib/alignof.h (alignof_slot): New macro.
17838         (alignof_type): New macro, with the same semantics as the previous
17839         'alignof'.
17840         (alignof): Alias to alignof_slot.
17841         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
17842         check that the results are usable as constant expressions.
17843
17844 2009-05-31  Bruno Haible  <bruno@clisp.org>
17845
17846         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
17847         * tests/test-memchr.c (main): Check that memchr does not read past the
17848         first occurrence of the byte.
17849         * tests/test-strstr.c (main): Update comment.
17850         Suggested by Eric Blake.
17851
17852 2009-05-30  Bruno Haible  <bruno@clisp.org>
17853
17854         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
17855         detail how to use dumpbin.
17856         Reported by David Byron <dbyron@dbyron.com>.
17857
17858 2009-06-02  Simon Josefsson  <simon@josefsson.org>
17859
17860         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
17861
17862 2009-06-02  Simon Josefsson  <simon@josefsson.org>
17863
17864         * m4/manywarnings.m4: Add GCC 4.4 warnings.
17865
17866 2009-05-28  Bruno Haible  <bruno@clisp.org>
17867
17868         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
17869         build-aux/ files.
17870
17871 2009-05-28  Simon Josefsson  <simon@josefsson.org>
17872
17873         * gnulib-tool (func_import): Transform license on build-aux/ files too.
17874
17875 2009-05-27  Simon Josefsson  <simon@josefsson.org>
17876
17877         * gnulib-tool (sed_transform_main_lib_file)
17878         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
17879         regexps.
17880
17881 2009-05-26  Simon Josefsson  <simon@josefsson.org>
17882
17883         * tests/test-strstr.c: Add another self-test.
17884         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
17885         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
17886
17887 2009-05-23  Bruno Haible  <bruno@clisp.org>
17888
17889         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
17890         change.
17891
17892 2009-05-21  Bruno Haible  <bruno@clisp.org>
17893
17894         Simplify use of mode_t varargs.
17895         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
17896         uses 'mode_t' or 'int'.
17897         * lib/openat.c (openat): Likewise.
17898         * lib/open-safer.c (open_safer): Likewise.
17899         * m4/mode_t.m4: New file.
17900         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
17901         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
17902         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
17903         * modules/open (Files): Add m4/mode_t.m4.
17904         * modules/openat (Files): Likewise.
17905         * modules/fcntl-safer (Files): Likewise.
17906         Suggested by Eric Blake.
17907
17908 2009-05-21  Pádraig Brady  <P@draigbrady.com>
17909
17910         * doc/glibc-functions/fallocate.texi: New file.
17911         * doc/gnulib.texi: Include it.
17912
17913 2009-05-21  Eric Blake  <ebb9@byu.net>
17914             Bruno Haible  <bruno@clisp.org>
17915
17916         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
17917         invocations.
17918         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
17919
17920 2009-05-21  Eric Blake  <ebb9@byu.net>
17921             Bruno Haible  <bruno@clisp.org>
17922
17923         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
17924         include_next. Fix of 2008-11-20 commit.
17925         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
17926         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
17927         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
17928         NEXT_MATH_H.
17929         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
17930         instead of NEXT_MATH_H.
17931
17932 2009-05-21  Bruno Haible  <bruno@clisp.org>
17933
17934         Avoid redefinition warnings for SIZE_MAX.
17935         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
17936         Reported by Simon Josefsson.
17937
17938 2009-05-21  Bruno Haible  <bruno@clisp.org>
17939
17940         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
17941         AC_CACHE_VAL.
17942
17943 2009-05-20  Bruno Haible  <bruno@clisp.org>
17944
17945         Make zeroptr.h work on mingw.
17946         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
17947         mprotect.
17948         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
17949         * modules/memchr2-tests (configure.ac): Likewise.
17950         * modules/memcmp-tests (configure.ac): Likewise.
17951         * modules/memmem-tests (configure.ac): Likewise.
17952         * modules/memrchr-tests (configure.ac): Likewise.
17953         Reported by Simon Josefsson.
17954
17955 2009-05-20  Simon Josefsson  <simon@josefsson.org>
17956
17957         * tests/test-glob.c: Include string.h for strcmp prototype.
17958
17959 2009-05-20  Simon Josefsson  <simon@josefsson.org>
17960
17961         * modules/getdelim (Depends-on): Add explicit stdint, although it
17962         was implicitly already pulled in via realloc-posix.
17963         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
17964
17965 2009-05-20  Simon Josefsson  <simon@josefsson.org>
17966
17967         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
17968         G. Christensen" <tgc@jupiterrise.com>.
17969         * m4/sys_socket_h.m4: Check for sa_family_t.
17970         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
17971         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
17972         * tests/test-sys_socket.c: Check that sa_family_t works.
17973
17974 2009-05-18  Eric Blake  <ebb9@byu.net>
17975
17976         maint.mk: allow gnulib_dir in VPATH build
17977         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
17978
17979 2009-05-15  Jim Meyering  <meyering@redhat.com>
17980
17981         maint.mk: Give gnulib_dir a default definition.
17982         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
17983         Thus, most packages no longer need to specify this variable in cfg.mk
17984
17985 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
17986
17987         rename.m4: fix typos that would make non-mingw cross-configure fail
17988         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
17989
17990 2009-05-13  Eric Blake  <ebb9@byu.net>
17991
17992         mmap-anon: avoid out-of-order autoconf expansion
17993         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
17994         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
17995         * modules/memchr-tests (Depends-on): Add extensions.
17996         * modules/memchr2-tests (Depends-on): Add extensions.
17997         * modules/memcmp-tests (Depends-on): Add extensions.
17998         * modules/memmem-tests (Depends-on): Add extensions.
17999         * modules/memrchr-tests (Depends-on): Add extensions.
18000
18001 2009-05-13  Bruno Haible  <bruno@clisp.org>
18002
18003         Make some tests ISO C 99 compliant.
18004         * tests/zerosize-ptr.h: New file.
18005         * tests/test-memchr.c: Include zerosize-ptr.h.
18006         (main): Use a zero-size object pointer instead of NULL.
18007         * tests/test-memchr2.c: Include zerosize-ptr.h.
18008         (main): Use a zero-size object pointer instead of NULL.
18009         * tests/test-memcmp.c: Include zerosize-ptr.h.
18010         (main): Use a zero-size object pointer instead of NULL.
18011         * tests/test-memmem.c: Include zerosize-ptr.h.
18012         (main): Use a zero-size object pointer instead of NULL.
18013         * tests/test-memrchr.c: Include zerosize-ptr.h.
18014         (main): Use a zero-size object pointer instead of NULL.
18015         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
18016         m4/mmap-anon.m4.
18017         (Depends-on): Add getpagesize.
18018         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
18019         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
18020         m4/mmap-anon.m4.
18021         (Depends-on): Add getpagesize.
18022         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
18023         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
18024         m4/mmap-anon.m4.
18025         (Depends-on): Add getpagesize.
18026         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
18027         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
18028         m4/mmap-anon.m4.
18029         (Depends-on): Add getpagesize.
18030         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
18031         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
18032         m4/mmap-anon.m4.
18033         (Depends-on): Add getpagesize.
18034         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
18035
18036 2009-05-12  Bruno Haible  <bruno@clisp.org>
18037
18038         Tests for module 'alignof'.
18039         * modules/alignof-tests: New file.
18040         * tests/test-alignof.c: New file.
18041
18042 2009-05-12  Bruno Haible  <bruno@clisp.org>
18043
18044         Fix alignof macro.
18045         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
18046         vendor compilers that are always correct.
18047
18048 2009-05-12  Bruno Haible  <bruno@clisp.org>
18049
18050         Make the MAP_ANONYMOUS detection work on HP-UX 11.
18051         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
18052         not whether its fully works.
18053
18054 2009-05-12  Bruno Haible  <bruno@clisp.org>
18055
18056         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
18057
18058 2009-05-12  Jim Meyering  <meyering@redhat.com>
18059
18060         * top/maint.mk: Adjust backslash alignment.
18061
18062 2009-05-11  Simon Josefsson  <simon@josefsson.org>
18063
18064         * top/maint.mk: Make $(srcdir)/build-aux configurable.
18065
18066 2009-05-11  Eric Blake  <ebb9@byu.net>
18067
18068         argp: avoid undefined behavior
18069         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
18070         macros.
18071
18072 2009-05-08  Simon Josefsson  <simon@josefsson.org>
18073
18074         * tests/test-vc-list-files-git.sh: Do git config of user.email and
18075         user.name to prevent git commit from complaining.
18076
18077 2009-05-10  Bruno Haible  <bruno@clisp.org>
18078
18079         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
18080         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
18081         it rewrites every file name only once.
18082         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
18083
18084 2009-05-08  Bruno Haible  <bruno@clisp.org>
18085
18086         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
18087         instead of 'max'.
18088
18089 2009-05-08  Simon Josefsson  <simon@josefsson.org>
18090
18091         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
18092         sockaddr_storage test.
18093
18094 2009-05-07  Simon Josefsson  <simon@josefsson.org>
18095
18096         * modules/sys_socket (Makefile.am): Substitute
18097         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
18098         * m4/sys_socket_h.m4: Check for sockaddr_storage.
18099         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
18100         * tests/test-sys_socket.c: Check sockaddr_storage.
18101
18102 2009-05-08  Bruno Haible  <bruno@clisp.org>
18103
18104         New module 'alignof'.
18105         * lib/alignof.h: New file.
18106         * modules/alignof: New file.
18107
18108 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
18109             Bruno Haible  <bruno@clisp.org>
18110
18111         Fix test-file-has-acl on FreeBSD.
18112         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
18113         mask is implicitly added.
18114         * tests/test-file-has-acl.c: Include <signal.h>.
18115         (main): Terminate the test after 5 seconds.
18116         * modules/acl-tests (configure.ac): Check for alarm function.
18117
18118 2009-05-04  Bruno Haible  <bruno@clisp.org>
18119
18120         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
18121         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
18122         * modules/errno (configure.ac): Drop AC_REQUIRE.
18123         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
18124         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
18125
18126 2009-05-04  Simon Josefsson  <simon@josefsson.org>
18127
18128         * modules/glob-tests: New module.
18129         * tests/test-glob.c: Add.
18130
18131 2009-05-04  Simon Josefsson  <simon@josefsson.org>
18132
18133         * modules/fnmatch-tests: New module.
18134         * tests/test-fnmatch.c: Add.
18135
18136 2009-05-04  Eric Blake  <ebb9@byu.net>
18137
18138         maint: make the new no-submodule-changes rule VPATH-safe
18139         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
18140
18141 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
18142             Bruno Haible  <bruno@clisp.org>
18143
18144         acl: Fix infinite loop on FreeBSD.
18145         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
18146         of return value from acl_get_entry.
18147         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
18148         Likewise.
18149
18150 2009-05-03  Bruno Haible  <bruno@clisp.org>
18151
18152         * lib/acl-internal.h (acl_entries): Clarify return value.
18153         * lib/acl_entries.c (acl_entries): Likewise.
18154
18155 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
18156
18157         Bug fix in acl module.
18158         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
18159
18160 2009-05-03  Bruno Haible  <bruno@clisp.org>
18161
18162         Create gperf-generated file in the source dir, not in the build dir.
18163         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
18164         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
18165         * modules/unicase/locale-language (unicase/locale-languages.h):
18166         Likewise.
18167         * modules/unicase/special-casing (unicase/special-casing-table.h):
18168         Likewise.
18169         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
18170         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
18171         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
18172         Reported by Ralf Wildenhues.
18173
18174 2009-05-03  Bruno Haible  <bruno@clisp.org>
18175
18176         * modules/fnmatch (Description, configure.ac): Taken from
18177         fnmatch-posix.
18178         * modules/fnmatch-posix: Turn into a symbolic reference to the
18179         'fnmatch' module, and deprecate.
18180         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
18181
18182 2009-05-03  Bruno Haible  <bruno@clisp.org>
18183
18184         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
18185         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
18186         Reported by Ralf Wildenhues.
18187
18188 2009-05-04  Simon Josefsson  <simon@josefsson.org>
18189
18190         * m4/fnmatch.m4: Fix fnmatch re-define.
18191
18192 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
18193
18194         priv-set: new module and tests; adapt write-any-file
18195         * lib/priv-set.c: New file.
18196         * lib/priv-set.h: New file.
18197         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
18198         * lib/write-any-file.c: Simplify by using priv-set module.
18199         * m4/priv-set.m4: New file.
18200         * modules/priv-set: New file.
18201         * modules/unlinkdir: Add dependency on priv-set module.
18202         * modules/write-any-file: Likewise.
18203
18204         Tests for module 'priv-set'.
18205         * modules/priv-set-tests: New file.
18206         * tests/test-priv-set.c: New file.
18207
18208 2009-05-03  Jim Meyering  <meyering@redhat.com>
18209             Bruno Haible  <bruno@clisp.org>
18210
18211         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
18212         use the converted UTF-8 variant of the name instead.
18213
18214 2009-05-03  Jim Meyering  <meyering@redhat.com>
18215
18216         tests: tighten some getdate tests
18217         * tests/test-getdate.c (main): Tighten tests: require equality,
18218         not just greater than.  Set TZ envvar to UTC0.
18219
18220 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
18221
18222         getdate: correctly interpret "next monday" when run on a Monday
18223         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
18224         that e.g., "next tues" (when run on a tuesday) results in a date
18225         that is one week in the future, and not today's date.
18226         I.e., add a week when the wday is the same as the current one.
18227         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
18228         and earlier by Martin Bernreuther and Jan Minář.
18229         * tests/test-getdate.c (main): Check that "next DAY" is always in
18230         the future and that "last DAY" is always in the past.
18231
18232 2009-05-02  Jim Meyering  <meyering@redhat.com>
18233
18234         build: ensure that a release build fails when a submodule is unclean
18235         * top/maint.mk (no-submodule-changes): New rule.
18236         (alpha beta major): Depend on it.
18237
18238 2009-05-02  Bruno Haible  <bruno@clisp.org>
18239
18240         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
18241         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
18242         shell variable gl_fnmatch_required to detect which variant is
18243         requested.
18244         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
18245         gl_FUNC_FNMATCH_POSIX.
18246         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
18247         exclude fnmatch-posix.
18248
18249 2009-05-02  Bruno Haible  <bruno@clisp.org>
18250
18251         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
18252         * modules/mbsrtowcs (License): Change to LGPLv2+.
18253         * modules/strnlen1 (License): Likewise.
18254         Reported by Simon Josefsson.
18255
18256 2009-05-02  Bruno Haible  <bruno@clisp.org>
18257
18258         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
18259         "cross".
18260         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
18261         gnulib-tool was called with option --source-base=lib.
18262
18263 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18264
18265         Use automake *-local hooks without commands, for extensibility.
18266         * modules/localcharset (Makefile.am): Rename install-exec-local
18267         rule to install-exec-localcharset, and make it a prerequisite of
18268         install-exec-local.  Likewise, rename the uninstall-local rule to
18269         uninstall-localcharset, and make it a prerequisite of the former.
18270
18271 2009-05-01  Bruno Haible  <bruno@clisp.org>
18272
18273         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
18274         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
18275         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
18276         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
18277         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
18278         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
18279         m4/locale-zh.m4, m4/codeset.m4.
18280
18281         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
18282         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
18283         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
18284         m4/locale-zh.m4.
18285
18286         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
18287         REPLACE_WCRTOMB if mbstate_t must be replaced.
18288         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
18289         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
18290
18291 2009-05-01  Bruno Haible  <bruno@clisp.org>
18292
18293         Avoid compiler warnings when redefining macros defined by <libintl.h>.
18294         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
18295         dngettext, dcngettext, textdomain, bindtextdomain,
18296         bind_textdomain_codeset): Undefine before redefining.
18297
18298 2009-04-30  Bruno Haible  <bruno@clisp.org>
18299
18300         Fix bug introduced on 2009-04-25.
18301         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
18302         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
18303         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
18304         is defined.
18305         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
18306         is defined.
18307         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
18308         is defined.
18309         Reported by Elbert_Pol <elbert.pol@gmail.com>.
18310
18311 2009-04-28  Bruno Haible  <bruno@clisp.org>
18312
18313         Comment tweaks.
18314         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
18315         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
18316         * lib/unicase.h (u*_casexfrm): Likewise.
18317         Reported by Paolo Bonzini.
18318
18319 2009-04-28  Bruno Haible  <bruno@clisp.org>
18320
18321         Fix a compilation error.
18322         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
18323         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
18324         Reported by Jim Meyering.
18325
18326 2009-04-27  Bruno Haible  <bruno@clisp.org>
18327
18328         New module 'libunistring'.
18329         * modules/libunistring: New file.
18330         * m4/libunistring.m4: New file.
18331         * MODULES.html.sh (Unicode string functions): Add it.
18332
18333 2009-04-27  Eric Blake  <ebb9@byu.net>
18334
18335         maint.mk: allow package-specific header to provide <config.h>
18336         * top/maint.mk (sc_require_config_h): New variable.
18337         (sc_require_config_h, sc_require_config_h_first): Use it.
18338
18339 2009-04-27  Simon Josefsson  <simon@josefsson.org>
18340
18341         * top/maint.mk (sc_avoid_if_before_free): Except
18342         useless-if-before-free script.
18343
18344 2009-04-27  Eric Blake  <ebb9@byu.net>
18345
18346         maintainer-makefile: depend on all required helper scripts
18347         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
18348         useless-if-before-free.
18349         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
18350         version, rather than assuming gnulib checkout is available.
18351         Reported by Simen Josefsson.
18352
18353 2009-04-26  Bruno Haible  <bruno@clisp.org>
18354
18355         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
18356         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
18357         "../" or "..".
18358
18359 2009-04-26  Bruno Haible  <bruno@clisp.org>
18360
18361         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
18362         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
18363         AC_LIB_HAVE_LINKFLAGS.
18364
18365 2009-04-26  Bruno Haible  <bruno@clisp.org>
18366
18367         Simplify calling convention of u*_conv_from_encoding.
18368         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
18369         u32_conv_from_encoding): Expect a resultbuf argument and return the
18370         result directly as a pointer.
18371         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
18372         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
18373         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
18374         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
18375         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
18376         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
18377         Update.
18378         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
18379         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
18380         * lib/vasnprintf.c (VASNPRINTF): Update.
18381         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
18382         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
18383         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
18384         * NEWS: Mention the change.
18385
18386 2009-04-26  Bruno Haible  <bruno@clisp.org>
18387
18388         Simplify calling convention of u*_conv_to_encoding.
18389         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
18390         u32_conv_to_encoding): Expect a resultbuf argument and return the
18391         result directly as a pointer.
18392         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
18393         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
18394         freeing scaled_offsets if mem_iconveha failed.
18395         * lib/unicase/u-casexfrm.h (FUNC): Update.
18396         * lib/uninorm/u-normxfrm.h (FUNC): Update.
18397         * lib/vasnprintf.c (VASNPRINTF): Update.
18398         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
18399         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
18400         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
18401         * NEWS: Mention the change.
18402
18403 2009-04-26  Bruno Haible  <bruno@clisp.org>
18404
18405         Avoid test failures on AIX and OSF/1.
18406         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
18407         malloc(0).
18408         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
18409         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
18410         Likewise.
18411         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
18412         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
18413         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
18414         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
18415         * doc/posix-functions/malloc.texi: Document the portability problem
18416         related to malloc(0).
18417
18418 2009-04-26  Bruno Haible  <bruno@clisp.org>
18419
18420         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
18421         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
18422         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
18423
18424 2009-04-25  Bruno Haible  <bruno@clisp.org>
18425
18426         Avoid link error when creating a namespace clean library.
18427         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
18428         as macro with arguments if already defined as an alias.
18429         * lib/signbitf.c (gl_signbitf): Don't undefine.
18430         * lib/signbitd.c (gl_signbitd): Don't undefine.
18431         * lib/signbitl.c (gl_signbitl): Don't undefine.
18432
18433 2009-04-25  Jim Meyering  <meyering@redhat.com>
18434
18435         vc-list-files: fix another quoting bug
18436         * build-aux/vc-list-files: Avoid sed backslash expansion
18437         of pathological directory names.
18438
18439 2009-04-25  Eric Blake  <ebb9@byu.net>
18440
18441         vc-list-files: fix shell quoting error
18442         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
18443         timestamp.
18444
18445 2009-04-25  Jim Meyering  <meyering@redhat.com>
18446
18447         vc-list-files: restore lost functionality with subdir argument
18448         * build-aux/vc-list-files: When given a non-"." sub-directory
18449         argument, substitute the $dir/ prefix back onto each resulting name.
18450         Otherwise, coreutils' root_tests check would fail.
18451
18452 2009-04-24  Eric Blake  <ebb9@byu.net>
18453
18454         vc-list-files: ignore git symlinks
18455         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
18456         than ls-files, to ignore git symlinks.
18457
18458         maint.mk: import improvements from m4
18459         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
18460         (move_if_change): Delete unused macro.
18461         (news-date-check, vc-diff-check): Support VPATH builds.
18462         (announcement): Likewise.  Split --bootstrap-tools list...
18463         (boostrap-tools): ...into separate list, which can be overridden
18464         in cfg.mk.
18465         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
18466         requiring dependency on useless-if-before-free module.
18467         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
18468         Support VPATH builds.
18469
18470 2009-04-24  Jim Meyering  <meyering@redhat.com>
18471
18472         maint.mk: remove coreutils-specific rules and variables
18473         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
18474         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
18475         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
18476
18477         maint.mk: remove obsolete rule
18478         * top/maint.mk (rel-check): Remove rule.
18479         (WGET, WGETFLAGS): Remove now-unused variables.
18480
18481 2009-04-24  Simon Josefsson  <simon@josefsson.org>
18482
18483         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
18484         consistency.
18485
18486         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
18487         '$(PATH_SEPARATOR)' instead of ':'.
18488
18489 2009-04-24  Simon Josefsson  <simon@josefsson.org>
18490
18491         * lib/getopt1.c (main): Use 'const' for static array.
18492
18493 2009-04-24  Simon Josefsson  <simon@josefsson.org>
18494
18495         * top/maint.mk: Sync with coreutils.
18496         * NEWS: Explain incompatibilities.
18497
18498 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
18499             Bruno Haible  <bruno@clisp.org>
18500
18501         Fix cross-compilation results.
18502         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
18503         statement, as third argument of AC_TRY_RUN.
18504         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
18505         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
18506         Likewise.
18507         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
18508         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
18509         Likewise.
18510         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
18511         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
18512         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
18513
18514 2009-04-20  Bruno Haible  <bruno@clisp.org>
18515
18516         Avoid test failure on mingw.
18517         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
18518
18519 2009-04-20  Bruno Haible  <bruno@clisp.org>
18520
18521         Avoid compilation error on mingw.
18522         * modules/localename-tests (Depends-on): Add locale.
18523
18524 2009-04-19  Bruno Haible  <bruno@clisp.org>
18525
18526         Support for building a shared library on Windows platforms.
18527         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
18528         (main): Test the presence of UNINORM_NFC here.
18529         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
18530         (main): Test the presence of UNINORM_NFD here.
18531         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
18532         (main): Test the presence of UNINORM_NFKC here.
18533         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
18534         (main): Test the presence of UNINORM_NFKD here.
18535
18536 2009-04-19  Bruno Haible  <bruno@clisp.org>
18537
18538         Avoid a compiler warning.
18539         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
18540         Change type of variable 'sequence'.
18541
18542 2009-04-19  Bruno Haible  <bruno@clisp.org>
18543
18544         * modules/configmake (Makefile.am): When the contents of configmake.h
18545         does not change, arrange to preserve its modification time.
18546
18547 2009-04-17  Simon Josefsson  <simon@josefsson.org>
18548
18549         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
18550         gettext domain.
18551
18552 2009-04-16  Jim Meyering  <meyering@redhat.com>
18553
18554         useless-if-before-free: improve conversion code
18555         * build-aux/useless-if-before-free: Adjust code-in-comment to match
18556         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
18557
18558 2009-04-14  Bruno Haible  <bruno@clisp.org>
18559
18560         * modules/fcntl (Depends-on): Add extensions.
18561         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
18562
18563 2009-04-12  Ben Pfaff  <blp@gnu.org>
18564
18565         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
18566         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
18567
18568 2009-03-20  Ben Pfaff  <blp@gnu.org>
18569
18570         Make rename replace existing destinations on Windows.
18571         * m4/rename.m4: Add test for Mingw.
18572         * lib/rename.c: Add rename replacement that uses MoveFileEx with
18573         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
18574         * doc/posix-functions/rename.texi: Document.
18575
18576 2009-04-10  Bruno Haible  <bruno@clisp.org>
18577
18578         New include file "iconveh.h".
18579         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
18580         * lib/striconveh.h: Include it.
18581         (enum iconv_ilseq_handler): Remove definition.
18582         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
18583         striconveh.h.
18584         * lib/striconveha.c: Include striconveh.h.
18585         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
18586         * modules/striconveh (Files): Add lib/iconveh.h.
18587         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
18588         lib/striconveh.h.
18589
18590 2009-04-10  Bruno Haible  <bruno@clisp.org>
18591
18592         * lib/uniconv.h: Update comment.
18593
18594 2009-04-10  Bruno Haible  <bruno@clisp.org>
18595
18596         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
18597         always.
18598         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
18599         * lib/unistr/u16-mbtouc-aux.c: Likewise.
18600         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
18601         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
18602         "unistring-notinline.h", so that the function gets defined always.
18603         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
18604         * lib/unistr/u8-uctomb.c: Likewise.
18605         * lib/unistr/u16-mbtouc.c: Likewise.
18606         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
18607         * lib/unistr/u16-uctomb.c: Likewise.
18608         * lib/unistr/u32-mbtouc.c: Likewise.
18609         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
18610         * lib/unistr/u32-uctomb.c: Likewise.
18611
18612 2009-04-10  Bruno Haible  <bruno@clisp.org>
18613
18614         Mark 'utime' obsolete.
18615         * modules/utime (Status, Notice): New sections.
18616         Suggested by Jim Meyering.
18617
18618         Fix cross-compile guess for utime test.
18619         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
18620         autoconf.
18621         * doc/posix-functions/utime.texi: Give more precisions.
18622         Reported by Jan <ipif@ymail.com>.
18623
18624 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
18625
18626         filevercmp: correct today's change
18627         * lib/filevercmp.c: Also handle coreutils' test inputs.
18628         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
18629
18630         Fix regression in 'filevercmp' module. Thanks Sven Joachim
18631         for reporting it.
18632         * lib/filevercmp.c: Special handle for "", "." and "..".
18633         * tests/test-filevercmp.c: Enlarge the set suite.
18634
18635 2009-04-07  Jim Meyering  <meyering@redhat.com>
18636
18637         useless-if-before-free: show how to remove braced useless free, too
18638         * build-aux/useless-if-before-free: still only in a comment, though.
18639
18640 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
18641
18642         maint.mk: import changes to syntax-check macros from coreutils
18643         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
18644         Use them in the relevant macros.
18645
18646 2009-04-06  Bruno Haible  <bruno@clisp.org>
18647
18648         Fix unportable use of bit-fields.
18649         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
18650         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
18651         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
18652
18653 2009-04-06  Bruno Haible  <bruno@clisp.org>
18654
18655         Avoid test failures on AIX and OSF/1.
18656         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
18657         that malloc(0) = NULL.
18658         * tests/unicase/test-u8-tolower.c (check): Likewise.
18659         * tests/unicase/test-u8-totitle.c (check): Likewise.
18660         * tests/unicase/test-u8-toupper.c (check): Likewise.
18661         * tests/unicase/test-u16-casefold.c (check): Likewise.
18662         * tests/unicase/test-u16-tolower.c (check): Likewise.
18663         * tests/unicase/test-u16-totitle.c (check): Likewise.
18664         * tests/unicase/test-u16-toupper.c (check): Likewise.
18665         * tests/unicase/test-u32-casefold.c (check): Likewise.
18666         * tests/unicase/test-u32-tolower.c (check): Likewise.
18667         * tests/unicase/test-u32-totitle.c (check): Likewise.
18668         * tests/unicase/test-u32-toupper.c (check): Likewise.
18669         * tests/uninorm/test-u8-nfc.c (check): Likewise.
18670         * tests/uninorm/test-u8-nfd.c (check): Likewise.
18671         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
18672         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
18673         * tests/uninorm/test-u16-nfc.c (check): Likewise.
18674         * tests/uninorm/test-u16-nfd.c (check): Likewise.
18675         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
18676         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
18677         * tests/uninorm/test-u32-nfc.c (check): Likewise.
18678         * tests/uninorm/test-u32-nfd.c (check): Likewise.
18679         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
18680         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
18681
18682 2009-04-05  Bruno Haible  <bruno@clisp.org>
18683
18684         Work around an autoconf limitation.
18685         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
18686         comment line if it would be longer than 3 KB.
18687
18688 2009-04-05  Bruno Haible  <bruno@clisp.org>
18689
18690         Avoid test failure with libiconv-1.13.
18691         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
18692         of the expected test results.
18693
18694 2009-04-05  Bruno Haible  <bruno@clisp.org>
18695
18696         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
18697         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
18698         that it should be installed.
18699
18700 2009-04-05  Bruno Haible  <bruno@clisp.org>
18701
18702         * gnulib-tool: New option --copy-file.
18703         (func_usage): Document it.
18704         (func_dest_tmpfilename): Moved out of func_import.
18705         (func_add_file, func_update_file): New functions, extracted from
18706         func_import.
18707         (func_import): Update.
18708
18709 2009-04-05  Karl Berry  <karl@gnu.org>
18710
18711         * README: prominently mention gnulib-tool.
18712         Rearrange sections so getting the code is near the top.
18713
18714 2009-04-05  Bruno Haible  <bruno@clisp.org>
18715
18716         * lib/unicase.h: Mention u*_cmp2.
18717         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
18718         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
18719         * lib/unicase/ulc-casecmp.c: Likewise.
18720         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
18721         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
18722         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
18723         unistr/u8-cmp.
18724         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
18725         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
18726         unistr/u16-cmp.
18727         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
18728         unistr/u32-cmp.
18729
18730         * lib/uninorm.h: Mention u*_cmp2.
18731         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
18732         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
18733         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
18734         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
18735         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
18736         unistr/u8-cmp.
18737         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
18738         unistr/u16-cmp.
18739         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
18740         unistr/u32-cmp.
18741
18742         New module 'unistr/u32-cmp2'.
18743         * lib/unistr/u32-cmp2.c: New file.
18744         * modules/unistr/u32-cmp2: New file.
18745
18746         New module 'unistr/u16-cmp2'.
18747         * lib/unistr/u16-cmp2.c: New file.
18748         * modules/unistr/u16-cmp2: New file.
18749
18750         New module 'unistr/u8-cmp2'.
18751         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
18752         * lib/unistr/u8-cmp2.c: New file.
18753         * lib/unistr/u-cmp2.h: New file.
18754         * modules/unistr/u8-cmp2: New file.
18755
18756 2009-04-05  Bruno Haible  <bruno@clisp.org>
18757
18758         * lib/unictype.h (uc_property_is_valid): New macro.
18759         * tests/unictype/test-pr_byname.c (main): Use it.
18760
18761         * lib/unistr.h: Doc fixes.
18762         * lib/uniconv.h: Doc fixes.
18763         * lib/unictype.h: Doc fixes.
18764
18765 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
18766
18767         Port coreutils 7.2 to Solaris 8.
18768
18769         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
18770         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
18771         for Solaris 8.  This is a bit of a hack, as it means it's the
18772         caller's responsibility to add -lnsl if needed, but most likely it
18773         won't be needed since only getaddrinfo uses this and getaddrinfo
18774         isn't needed on Solaris 8.
18775
18776         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
18777         problem to Solaris 8 encountered with coreutils 7.2, which
18778         resulted in a message "fnmatch.c:292: warning: passing argument 4
18779         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
18780         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
18781
18782 2009-04-03  Simon Josefsson  <simon@josefsson.org>
18783
18784         * m4/ld-version-script.m4: Add FIXME comment.
18785
18786 2009-04-02  Simon Josefsson  <simon@josefsson.org>
18787
18788         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
18789         SOVERSION variable.
18790
18791 2009-04-02  Bruno Haible  <bruno@clisp.org>
18792
18793         * Makefile (info, html, dvi, pdf): Combine the rules.
18794         Suggested by Jim Meyering.
18795
18796 2009-04-01  Bruno Haible  <bruno@clisp.org>
18797
18798         * Makefile (info, html, dvi, pdf): New targets.
18799         Reported by Reuben Thomas <rrt@sc3d.org>.
18800
18801 2009-04-01  Bruno Haible  <bruno@clisp.org>
18802
18803         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
18804         can be put into PATH.
18805         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
18806
18807 2009-04-01  Bruno Haible  <bruno@clisp.org>
18808
18809         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
18810
18811 2009-04-01  Bruno Haible  <bruno@clisp.org>
18812
18813         Rename module 'visibility'.
18814         * modules/lib-symbol-visibility: Renamed from modules/visibility.
18815         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
18816         * doc/gnulib.texi: Update.
18817         * MODULES.html.sh (Misc): Update.
18818         * NEWS: Mention the change.
18819
18820 2009-04-01  Simon Josefsson  <simon@josefsson.org>
18821
18822         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
18823         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
18824         Eric Blake <ebb9@byu.net> for review.
18825         * MODULES.html.sh: Add lib-msvc-compat.
18826         * doc/gnulib.texi: Link to new section.
18827         * m4/ld-output-def.m4: New file.
18828         * doc/ld-output-def.texi: New file.
18829
18830 2009-04-01  Simon Josefsson  <simon@josefsson.org>
18831
18832         Rename ld-version-script to lib-symbol-versions.  Suggested by
18833         Bruno Haible <bruno@clisp.org>.
18834         * modules/ld-version-script: Renamed to lib-symbol-versions.
18835         * doc/ld-version-script.texi: Fix module name.
18836         * MODULES.html.sh: Add lib-symbol-versions.
18837
18838 2009-03-31  Simon Josefsson  <simon@josefsson.org>
18839
18840         * modules/u64-tests: New file.
18841         * tests/test-u64.c: New file.
18842
18843 2009-03-04  Simon Josefsson  <simon@josefsson.org>
18844
18845         * MODULES.html.sh: Mention u64.
18846         * modules/u64: New module.
18847         * modules/crypto/sha512: Depend on u64 module instead of providing
18848         u64.h.
18849
18850 2009-03-27  Eric Blake  <ebb9@byu.net>
18851
18852         test-strerror: make debugging EAI_SYSTEM easier
18853         * modules/getaddrinfo-tests (Depends-on): Add strerror.
18854         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
18855         failure was EAI_SYSTEM.
18856
18857 2009-03-25  Bruno Haible  <bruno@clisp.org>
18858
18859         Fix a problem with --enable-relocatable on Solaris 7.
18860         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
18861         since 2008-02-24.
18862
18863 2009-03-25  Eric Blake  <ebb9@byu.net>
18864
18865         test-sockets: avoid gcc warning
18866         * tests/test-sockets.c (main): Silence compiler warning.
18867
18868 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
18869
18870         New modules nproc, pthread, contributed by Glen Lenker.
18871
18872         * MODULES.html.sh: Add pthread, nproc.
18873         * lib/nproc.c: New file.
18874         * lib/nproc.h: New file.
18875         * lib/pthread.in.h: New file.
18876         * m4/pthread.m4: New file.
18877         * modules/nproc: New file.
18878         * modules/pthread: New file.
18879
18880 2009-03-24  Simon Josefsson  <simon@josefsson.org>
18881
18882         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
18883         New variable.
18884
18885 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
18886
18887         filevercmp: handle simple~ and numbered.~3~ backup suffixes
18888         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
18889         * tests/test-filevercmp.c: Add tests for backup suffixes.
18890
18891 2009-03-24  Simon Josefsson  <simon@josefsson.org>
18892
18893         * modules/stdlib (Depends-on): Add stdint, needed when defining
18894         struct random_data on, for example, HP-UX 10.20.  Reported by
18895         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18896
18897 2009-03-24  Simon Josefsson  <simon@josefsson.org>
18898
18899         * lib/readline.c (readline): Call fflush on stdout after printing
18900         prompt.
18901
18902 2009-03-20  Bruno Haible  <bruno@clisp.org>
18903
18904         Remove dependency from 'close' module to -lws2_32 on native Windows.
18905         * lib/close-hook.h: New file.
18906         * lib/close-hook.c: New file.
18907         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
18908         w32sock.h.
18909         (_gl_close_fd_maybe_socket): Remove function.
18910         (rpl_close): Invoke execute_all_close_hooks instead of
18911         _gl_close_fd_maybe_socket.
18912         * lib/sockets.c: Include close-hook.h, w32sock.h.
18913         (close_fd_maybe_socket): New function, essentially from lib/close.c.
18914         (close_sockets_hook): New variable.
18915         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
18916         (gl_sockets_cleanup): Unregister it.
18917         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
18918         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
18919         * modules/close-hook: New file.
18920         * modules/close (Files): Remove lib/w32sock.h.
18921         (Depends-on): Add close-hook.
18922         (Link): Remove section.
18923         * modules/sockets (Files): Add lib/w32sock.h.
18924         (Depends-on): Add close-hook.
18925         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
18926         invocation.
18927         * NEWS: Mention that LIB_CLOSE is gone.
18928
18929 2009-03-23  Eric Blake  <ebb9@byu.net>
18930
18931         signal-tests: test previous patch
18932         * tests/test-signal.c: New file.
18933         * modules/signal-tests: Likewise.
18934
18935         signal.h: always support 'volatile sig_atomic_t'
18936         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
18937         (gl_SIGNAL_H_DEFAULTS): Add a default.
18938         * modules/signal (Makefile.am): Substitute if needed.
18939         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
18940         users can blindly add volatile.
18941         * doc/posix-headers/signal.texi (signal.h): Document it.
18942         Reported by Matthew Woehlke.
18943
18944 2009-03-23  Jim Meyering  <meyering@redhat.com>
18945
18946         pathmax: PATH_MAX: use pathconf only when available
18947         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
18948         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
18949         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
18950         This avoids a link failure in a PSP cross-compilation environment
18951         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
18952
18953         * lib/vasnprintf.c (divide): Fix typo in comment.
18954
18955 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18956
18957         * gnulib-tool (func_filter_filelist): Fix comment.
18958
18959 2009-03-20  Bruno Haible  <bruno@clisp.org>
18960
18961         Make sockets.h self-contained.
18962         * lib/sockets.c: Include sockets.h first.
18963         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
18964
18965 2009-03-19  Eric Blake  <ebb9@byu.net>
18966
18967         doc: mention more functions added in cygwin 1.7.0
18968         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
18969         addition.
18970         * doc/posix-functions/log2f.texi: Likewise.
18971
18972 2009-03-19  Jim Meyering  <meyering@redhat.com>
18973
18974         fsusage: avoid syntax error due to statement-before-declaration
18975         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
18976         after all declarations.  Reported by Matthew Woehlke in
18977         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
18978
18979 2009-03-18  Eric Blake  <ebb9@byu.net>
18980
18981         build-aux/compile: sync from automake
18982         * build-aux/compile: New file, from automake.
18983         * config/srclist.txt: Mention build-aux/compile.
18984
18985 2009-03-17  Bruno Haible  <bruno@clisp.org>
18986
18987         * lib/git-merge-changelog.c: Fix typo in comment.
18988         Reported by Reuben Thomas <rrt@sc3d.org>.
18989
18990 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
18991
18992         * m4/regex.m4: update and improve help for
18993         --without-included-regex.
18994
18995 2009-03-17  Simon Josefsson  <simon@josefsson.org>
18996
18997         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
18998         failure on missing include files.
18999
19000 2009-03-17  Eric Blake  <ebb9@byu.net>
19001
19002         doc: mention more functions added in cygwin 1.7.0
19003         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
19004         addition.
19005         * doc/posix-functions/fwscanf.texi: Likewise.
19006         * doc/posix-functions/swprintf.texi: Likewise.
19007         * doc/posix-functions/swscanf.texi: Likewise.
19008         * doc/posix-functions/vfwprintf.texi: Likewise.
19009         * doc/posix-functions/vfwscanf.texi: Likewise.
19010         * doc/posix-functions/vswprintf.texi: Likewise.
19011         * doc/posix-functions/vswscanf.texi: Likewise.
19012         * doc/posix-functions/vwprintf.texi: Likewise.
19013         * doc/posix-functions/vwscanf.texi: Likewise.
19014         * doc/posix-functions/wcscasecmp.texi: Likewise.
19015         * doc/posix-functions/wcsdup.texi: Likewise.
19016         * doc/posix-functions/wcsftime.texi: Likewise.
19017         * doc/posix-functions/wcsncasecmp.texi: Likewise.
19018         * doc/posix-functions/wprintf.texi: Likewise.
19019         * doc/posix-functions/wscanf.texi: Likewise.
19020         * doc/glibc-functions/gethostbyname2.texi: Likewise.
19021
19022 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19023
19024         maint.mk: really add $(AM_MAKEFLAGS)
19025         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
19026         was inadvertently omitted in the last commit.
19027         Spotted by Bruno Haible.
19028
19029         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
19030         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
19031         $(AM_MAKEFLAGS)' rather than plain `make'.
19032
19033         gnulib-tool: execute $MAKE not make
19034         * gnulib-tool: Default $MAKE to 'make'.
19035         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
19036         than make.  Initialize $MAKE in the do-autobuild script.
19037
19038         gnulib-tool: use $MAKE not make in generated files
19039         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
19040         make, in generated files.  Initialize $MAKE in the do-autobuild
19041         script.
19042
19043         * top/GNUmakefile (_have-git-version-gen): Fix typo.
19044
19045         GNUmakefile: disable parallelism only for multiple, recursive targets
19046         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
19047         additions in the Makefile.
19048         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
19049         by Automake.
19050         (.NOTPARALLEL): Only disable parallel builds if multiple targets
19051         are listed on the command line and at least one of them is
19052         listed in $(ALL_RECURSIVE_TARGETS).
19053
19054 2009-03-14  Bruno Haible  <bruno@clisp.org>
19055
19056         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
19057         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
19058         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
19059         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
19060         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
19061         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
19062         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
19063         unistr/u8-uctomb.
19064         * modules/unistr/u8-strchr (Depends-on): Likewise.
19065         * modules/unistr/u8-strrchr (Depends-on): Likewise.
19066         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
19067         unistr/u16-uctomb.
19068         * modules/unistr/u16-strchr (Depends-on): Likewise.
19069         * modules/unistr/u16-strrchr (Depends-on): Likewise.
19070
19071 2009-03-12  Bruno Haible  <bruno@clisp.org>
19072
19073         Work around select() bug on Interix 3.5.
19074         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
19075         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
19076         * m4/select.m4: New file.
19077         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
19078         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
19079         * modules/select (Files): Add m4/select.m4.
19080         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
19081         * modules/nanosleep (Depends-on): Add select.
19082         * modules/poll (Depends-on): Likewise.
19083         * doc/posix-functions/select.texi: Mention the Interix bug.
19084         Reported by Markus Duft <mduft@gentoo.org>.
19085
19086         * lib/select.c: Renamed from lib/winsock-select.c.
19087         * modules/select (Files): Add lib/select.c, remove
19088         lib/winsock-select.c.
19089         (configure.ac): Update.
19090
19091 2009-03-12  Jim Meyering  <meyering@redhat.com>
19092
19093         avoid gcc warnings about unused macro definitions
19094         * lib/readtokens.c (STREQ): Remove unused definition.
19095         * lib/xmalloc.c (SIZE_MAX): Likewise.
19096         * lib/openat-die.c (N_): Likewise.
19097         * lib/mountlist.c (SIZE_MAX): Remove definition.
19098         Instead, include <stdint.h>.
19099         * lib/readutmp.c: Likewise.
19100         * modules/readutmp (Depends-on): Add stdint.
19101         * modules/mountlist (Depends-on): Add stdint.
19102         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
19103
19104 2009-03-10  Bruno Haible  <bruno@clisp.org>
19105
19106         Tests for module 'mbmemcasecoll'.
19107         * modules/mbmemcasecoll-tests: New file.
19108         * tests/test-mbmemcasecoll1.sh: New file.
19109         * tests/test-mbmemcasecoll2.sh: New file.
19110         * tests/test-mbmemcasecoll3.sh: New file.
19111         * tests/test-mbmemcasecoll.c: New file.
19112
19113         New module 'mbmemcasecoll'.
19114         * lib/mbmemcasecoll.h: New file.
19115         * lib/mbmemcasecoll.c: New file.
19116         * modules/mbmemcasecoll: New file.
19117
19118         * tests/test-mbmemcasecmp.h: New file, extracted from
19119         tests/test-mbmemcasecmp.c.
19120         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
19121         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
19122         (main): Update.
19123         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
19124
19125 2009-03-09  Bruno Haible  <bruno@clisp.org>
19126
19127         Tests for module 'mbmemcasecmp'.
19128         * modules/mbmemcasecmp-tests: New file.
19129         * tests/test-mbmemcasecmp1.sh: New file.
19130         * tests/test-mbmemcasecmp2.sh: New file.
19131         * tests/test-mbmemcasecmp3.sh: New file.
19132         * tests/test-mbmemcasecmp.c: New file.
19133
19134         New module 'mbmemcasecmp'.
19135         * lib/mbmemcasecmp.h: New file.
19136         * lib/mbmemcasecmp.c: New file.
19137         * modules/mbmemcasecmp: New file.
19138
19139 2009-03-09  Bruno Haible  <bruno@clisp.org>
19140
19141         Tests for module 'unicase/ulc-casecoll'.
19142         * modules/unicase/ulc-casecoll-tests: New file.
19143         * tests/unicase/test-ulc-casecoll1.sh: New file.
19144         * tests/unicase/test-ulc-casecoll2.sh: New file.
19145         * tests/unicase/test-ulc-casecoll.c: New file.
19146
19147         New module 'unicase/ulc-casecoll'.
19148         * lib/unicase.h (ulc_casecoll): New declaration.
19149         * lib/unicase/ulc-casecoll.c: New file.
19150         * modules/unicase/ulc-casecoll: New file.
19151
19152         New module 'unicase/ulc-casexfrm'.
19153         * lib/unicase.h (ulc_casexfrm): New declaration.
19154         * lib/unicase/ulc-casexfrm.c: New file.
19155         * modules/unicase/ulc-casexfrm: New file.
19156
19157 2009-03-09  Bruno Haible  <bruno@clisp.org>
19158
19159         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
19160         invocations.
19161
19162         * m4/mbscasecmp.m4: Remove file.
19163         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
19164         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
19165
19166         * m4/mbscasestr.m4: Remove file.
19167         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
19168         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
19169
19170         * m4/mbschr.m4: Remove file.
19171         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
19172         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
19173
19174         * m4/mbscspn.m4: Remove file.
19175         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
19176         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
19177
19178         * m4/mbslen.m4: Remove file.
19179         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
19180         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
19181
19182         * m4/mbsncasecmp.m4: Remove file.
19183         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
19184         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
19185
19186         * m4/mbsnlen.m4: Remove file.
19187         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
19188         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
19189
19190         * m4/mbspbrk.m4: Remove file.
19191         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
19192         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
19193
19194         * m4/mbspcasecmp.m4: Remove file.
19195         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
19196         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
19197
19198         * m4/mbsrchr.m4: Remove file.
19199         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
19200         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
19201
19202         * m4/mbssep.m4: Remove file.
19203         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
19204         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
19205
19206         * m4/mbsspn.m4: Remove file.
19207         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
19208         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
19209
19210         * m4/mbsstr.m4: Remove file.
19211         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
19212         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
19213
19214         * m4/mbstok_r.m4: Remove file.
19215         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
19216         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
19217
19218         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
19219
19220         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
19221         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
19222
19223         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
19224
19225 2009-03-08  Bruno Haible  <bruno@clisp.org>
19226
19227         Tests for module 'unicase/ulc-casecmp'.
19228         * modules/unicase/ulc-casecmp-tests: New file.
19229         * tests/unicase/test-ulc-casecmp1.sh: New file.
19230         * tests/unicase/test-ulc-casecmp2.sh: New file.
19231         * tests/unicase/test-ulc-casecmp.c: New file.
19232
19233         New module 'unicase/ulc-casecmp'.
19234         * lib/unicase.h (ulc_casecmp): New declaration.
19235         * lib/unicase/ulc-casecmp.c: New file.
19236         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
19237         'const SRC_UNIT *'.
19238         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
19239         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
19240         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
19241         * modules/unicase/ulc-casecmp: New file.
19242
19243         Tests for module 'unicase/u32-is-cased'.
19244         * modules/unicase/u32-is-cased-tests: New file.
19245         * tests/unicase/test-u32-is-cased.c: New file.
19246
19247         Tests for module 'unicase/u16-is-cased'.
19248         * modules/unicase/u16-is-cased-tests: New file.
19249         * tests/unicase/test-u16-is-cased.c: New file.
19250
19251         Tests for module 'unicase/u8-is-cased'.
19252         * modules/unicase/u8-is-cased-tests: New file.
19253         * tests/unicase/test-u8-is-cased.c: New file.
19254         * tests/unicase/test-is-cased.h: New file.
19255
19256         New module 'unicase/u32-is-cased'.
19257         * lib/unicase/u32-is-cased.c: New file.
19258         * modules/unicase/u32-is-cased: New file.
19259
19260         New module 'unicase/u16-is-cased'.
19261         * lib/unicase/u16-is-cased.c: New file.
19262         * modules/unicase/u16-is-cased: New file.
19263
19264         New module 'unicase/u8-is-cased'.
19265         * lib/unicase/u8-is-cased.c: New file.
19266         * lib/unicase/u-is-cased.h: New file.
19267         * modules/unicase/u8-is-cased: New file.
19268
19269         Tests for module 'unicase/u32-is-casefolded'.
19270         * modules/unicase/u32-is-casefolded-tests: New file.
19271         * tests/unicase/test-u32-is-casefolded.c: New file.
19272
19273         Tests for module 'unicase/u16-is-casefolded'.
19274         * modules/unicase/u16-is-casefolded-tests: New file.
19275         * tests/unicase/test-u16-is-casefolded.c: New file.
19276
19277         Tests for module 'unicase/u8-is-casefolded'.
19278         * modules/unicase/u8-is-casefolded-tests: New file.
19279         * tests/unicase/test-u8-is-casefolded.c: New file.
19280         * tests/unicase/test-is-casefolded.h: New file.
19281
19282         New module 'unicase/u32-is-casefolded'.
19283         * lib/unicase/u32-is-casefolded.c: New file.
19284         * modules/unicase/u32-is-casefolded: New file.
19285
19286         New module 'unicase/u16-is-casefolded'.
19287         * lib/unicase/u16-is-casefolded.c: New file.
19288         * modules/unicase/u16-is-casefolded: New file.
19289
19290         New module 'unicase/u8-is-casefolded'.
19291         * lib/unicase/u8-is-casefolded.c: New file.
19292         * modules/unicase/u8-is-casefolded: New file.
19293
19294         Tests for module 'unicase/u32-is-titlecase'.
19295         * modules/unicase/u32-is-titlecase-tests: New file.
19296         * tests/unicase/test-u32-is-titlecase.c: New file.
19297
19298         Tests for module 'unicase/u16-is-titlecase'.
19299         * modules/unicase/u16-is-titlecase-tests: New file.
19300         * tests/unicase/test-u16-is-titlecase.c: New file.
19301
19302         Tests for module 'unicase/u8-is-titlecase'.
19303         * modules/unicase/u8-is-titlecase-tests: New file.
19304         * tests/unicase/test-u8-is-titlecase.c: New file.
19305         * tests/unicase/test-is-titlecase.h: New file.
19306
19307         New module 'unicase/u32-is-titlecase'.
19308         * lib/unicase/u32-is-titlecase.c: New file.
19309         * modules/unicase/u32-is-titlecase: New file.
19310
19311         New module 'unicase/u16-is-titlecase'.
19312         * lib/unicase/u16-is-titlecase.c: New file.
19313         * modules/unicase/u16-is-titlecase: New file.
19314
19315         New module 'unicase/u8-is-titlecase'.
19316         * lib/unicase/u8-is-titlecase.c: New file.
19317         * modules/unicase/u8-is-titlecase: New file.
19318
19319         Tests for module 'unicase/u32-is-lowercase'.
19320         * modules/unicase/u32-is-lowercase-tests: New file.
19321         * tests/unicase/test-u32-is-lowercase.c: New file.
19322
19323         Tests for module 'unicase/u16-is-lowercase'.
19324         * modules/unicase/u16-is-lowercase-tests: New file.
19325         * tests/unicase/test-u16-is-lowercase.c: New file.
19326
19327         Tests for module 'unicase/u8-is-lowercase'.
19328         * modules/unicase/u8-is-lowercase-tests: New file.
19329         * tests/unicase/test-u8-is-lowercase.c: New file.
19330         * tests/unicase/test-is-lowercase.h: New file.
19331
19332         New module 'unicase/u32-is-lowercase'.
19333         * lib/unicase/u32-is-lowercase.c: New file.
19334         * modules/unicase/u32-is-lowercase: New file.
19335
19336         New module 'unicase/u16-is-lowercase'.
19337         * lib/unicase/u16-is-lowercase.c: New file.
19338         * modules/unicase/u16-is-lowercase: New file.
19339
19340         New module 'unicase/u8-is-lowercase'.
19341         * lib/unicase/u8-is-lowercase.c: New file.
19342         * modules/unicase/u8-is-lowercase: New file.
19343
19344         Tests for module 'unicase/u32-is-uppercase'.
19345         * modules/unicase/u32-is-uppercase-tests: New file.
19346         * tests/unicase/test-u32-is-uppercase.c: New file.
19347
19348         Tests for module 'unicase/u16-is-uppercase'.
19349         * modules/unicase/u16-is-uppercase-tests: New file.
19350         * tests/unicase/test-u16-is-uppercase.c: New file.
19351
19352         Tests for module 'unicase/u8-is-uppercase'.
19353         * modules/unicase/u8-is-uppercase-tests: New file.
19354         * tests/unicase/test-u8-is-uppercase.c: New file.
19355         * tests/unicase/test-is-uppercase.h: New file.
19356
19357         New module 'unicase/u32-is-uppercase'.
19358         * lib/unicase/u32-is-uppercase.c: New file.
19359         * modules/unicase/u32-is-uppercase: New file.
19360
19361         New module 'unicase/u16-is-uppercase'.
19362         * lib/unicase/u16-is-uppercase.c: New file.
19363         * modules/unicase/u16-is-uppercase: New file.
19364
19365         New module 'unicase/u8-is-uppercase'.
19366         * lib/unicase/u8-is-uppercase.c: New file.
19367         * modules/unicase/u8-is-uppercase: New file.
19368
19369         New module 'unicase/u32-is-invariant'.
19370         * lib/unicase/u32-is-invariant.c: New file.
19371         * modules/unicase/u32-is-invariant: New file.
19372
19373         New module 'unicase/u16-is-invariant'.
19374         * lib/unicase/u16-is-invariant.c: New file.
19375         * modules/unicase/u16-is-invariant: New file.
19376
19377         New module 'unicase/u8-is-invariant'.
19378         * lib/unicase/u8-is-invariant.c: New file.
19379         * lib/unicase/invariant.h: New file.
19380         * lib/unicase/u-is-invariant.h: New file.
19381         * modules/unicase/u8-is-invariant: New file.
19382
19383         Tests for module 'unicase/u32-casecoll'.
19384         * modules/unicase/u32-casecoll-tests: New file.
19385         * tests/unicase/test-u32-casecoll.c: New file.
19386
19387         Tests for module 'unicase/u16-casecoll'.
19388         * modules/unicase/u16-casecoll-tests: New file.
19389         * tests/unicase/test-u16-casecoll.c: New file.
19390
19391         Tests for module 'unicase/u8-casecoll'.
19392         * modules/unicase/u8-casecoll-tests: New file.
19393         * tests/unicase/test-u8-casecoll.c: New file.
19394
19395         New module 'unicase/u32-casecoll'.
19396         * lib/unicase/u32-casecoll.c: New file.
19397         * modules/unicase/u32-casecoll: New file.
19398
19399         New module 'unicase/u16-casecoll'.
19400         * lib/unicase/u16-casecoll.c: New file.
19401         * modules/unicase/u16-casecoll: New file.
19402
19403         New module 'unicase/u8-casecoll'.
19404         * lib/unicase/u8-casecoll.c: New file.
19405         * lib/unicase/u-casecoll.h: New file.
19406         * modules/unicase/u8-casecoll: New file.
19407
19408         New module 'unicase/u32-casexfrm'.
19409         * lib/unicase/u32-casexfrm.c: New file.
19410         * modules/unicase/u32-casexfrm: New file.
19411
19412         New module 'unicase/u16-casexfrm'.
19413         * lib/unicase/u16-casexfrm.c: New file.
19414         * modules/unicase/u16-casexfrm: New file.
19415
19416         New module 'unicase/u8-casexfrm'.
19417         * lib/unicase/u8-casexfrm.c: New file.
19418         * lib/unicase/u-casexfrm.h: New file.
19419         * modules/unicase/u8-casexfrm: New file.
19420
19421         Tests for module 'unicase/u32-casecmp'.
19422         * modules/unicase/u32-casecmp-tests: New file.
19423         * tests/unicase/test-u32-casecmp.c: New file.
19424
19425         Tests for module 'unicase/u16-casecmp'.
19426         * modules/unicase/u16-casecmp-tests: New file.
19427         * tests/unicase/test-u16-casecmp.c: New file.
19428
19429         Tests for module 'unicase/u8-casecmp'.
19430         * modules/unicase/u8-casecmp-tests: New file.
19431         * tests/unicase/test-u8-casecmp.c: New file.
19432         * tests/unicase/test-casecmp.h: New file.
19433
19434         New module 'unicase/u32-casecmp'.
19435         * lib/unicase/u32-casecmp.c: New file.
19436         * modules/unicase/u32-casecmp: New file.
19437
19438         New module 'unicase/u16-casecmp'.
19439         * lib/unicase/u16-casecmp.c: New file.
19440         * modules/unicase/u16-casecmp: New file.
19441
19442         New module 'unicase/u8-casecmp'.
19443         * lib/unicase/u8-casecmp.c: New file.
19444         * lib/unicase/u-casecmp.h: New file.
19445         * modules/unicase/u8-casecmp: New file.
19446
19447         Tests for module 'unicase/u32-casefold'.
19448         * modules/unicase/u32-casefold-tests: New file.
19449         * tests/unicase/test-u32-casefold.c: New file.
19450
19451         Tests for module 'unicase/u16-casefold'.
19452         * modules/unicase/u16-casefold-tests: New file.
19453         * tests/unicase/test-u16-casefold.c: New file.
19454
19455         Tests for module 'unicase/u8-casefold'.
19456         * modules/unicase/u8-casefold-tests: New file.
19457         * tests/unicase/test-u8-casefold.c: New file.
19458
19459         New module 'unicase/u32-casefold'.
19460         * lib/unicase/u32-casefold.c: New file.
19461         * modules/unicase/u32-casefold: New file.
19462
19463         New module 'unicase/u16-casefold'.
19464         * lib/unicase/u16-casefold.c: New file.
19465         * modules/unicase/u16-casefold: New file.
19466
19467         New module 'unicase/u8-casefold'.
19468         * lib/unicase/u8-casefold.c: New file.
19469         * lib/unicase/u-casefold.h: New file.
19470         * modules/unicase/u8-casefold: New file.
19471
19472         New module 'unicase/tocasefold'.
19473         * lib/unicase/casefold.h: New file.
19474         * lib/unicase/tocasefold.c: New file.
19475         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
19476         * modules/unicase/tocasefold: New file.
19477
19478         Tests for module 'unicase/u32-totitle'.
19479         * modules/unicase/u32-totitle-tests: New file.
19480         * tests/unicase/test-u32-totitle.c: New file.
19481
19482         Tests for module 'unicase/u16-totitle'.
19483         * modules/unicase/u16-totitle-tests: New file.
19484         * tests/unicase/test-u16-totitle.c: New file.
19485
19486         Tests for module 'unicase/u8-totitle'.
19487         * modules/unicase/u8-totitle-tests: New file.
19488         * tests/unicase/test-u8-totitle.c: New file.
19489
19490         New module 'unicase/u32-totitle'.
19491         * lib/unicase/u32-totitle.c: New file.
19492         * modules/unicase/u32-totitle: New file.
19493
19494         New module 'unicase/u16-totitle'.
19495         * lib/unicase/u16-totitle.c: New file.
19496         * modules/unicase/u16-totitle: New file.
19497
19498         New module 'unicase/u8-totitle'.
19499         * lib/unicase/u8-totitle.c: New file.
19500         * lib/unicase/u-totitle.h: New file.
19501         * modules/unicase/u8-totitle: New file.
19502
19503         Tests for module 'unicase/u32-tolower'.
19504         * modules/unicase/u32-tolower-tests: New file.
19505         * tests/unicase/test-u32-tolower.c: New file.
19506
19507         Tests for module 'unicase/u16-tolower'.
19508         * modules/unicase/u16-tolower-tests: New file.
19509         * tests/unicase/test-u16-tolower.c: New file.
19510
19511         Tests for module 'unicase/u8-tolower'.
19512         * modules/unicase/u8-tolower-tests: New file.
19513         * tests/unicase/test-u8-tolower.c: New file.
19514
19515         New module 'unicase/u32-tolower'.
19516         * lib/unicase/u32-tolower.c: New file.
19517         * modules/unicase/u32-tolower: New file.
19518
19519         New module 'unicase/u16-tolower'.
19520         * lib/unicase/u16-tolower.c: New file.
19521         * modules/unicase/u16-tolower: New file.
19522
19523         New module 'unicase/u8-tolower'.
19524         * lib/unicase/u8-tolower.c: New file.
19525         * modules/unicase/u8-tolower: New file.
19526
19527         Tests for module 'unicase/u32-toupper'.
19528         * modules/unicase/u32-toupper-tests: New file.
19529         * tests/unicase/test-u32-toupper.c: New file.
19530
19531         Tests for module 'unicase/u16-toupper'.
19532         * modules/unicase/u16-toupper-tests: New file.
19533         * tests/unicase/test-u16-toupper.c: New file.
19534
19535         Tests for module 'unicase/u8-toupper'.
19536         * modules/unicase/u8-toupper-tests: New file.
19537         * tests/unicase/test-u8-toupper.c: New file.
19538
19539         New module 'unicase/u32-toupper'.
19540         * lib/unicase/u32-toupper.c: New file.
19541         * modules/unicase/u32-toupper: New file.
19542
19543         New module 'unicase/u16-toupper'.
19544         * lib/unicase/u16-toupper.c: New file.
19545         * modules/unicase/u16-toupper: New file.
19546
19547         New module 'unicase/u8-toupper'.
19548         * lib/unicase/u8-toupper.c: New file.
19549         * modules/unicase/u8-toupper: New file.
19550
19551         New module 'unicase/u32-casemap'.
19552         * lib/unicase/u32-casemap.c: New file.
19553         * modules/unicase/u32-casemap: New file.
19554
19555         New module 'unicase/u16-casemap'.
19556         * lib/unicase/u16-casemap.c: New file.
19557         * modules/unicase/u16-casemap: New file.
19558
19559         New module 'unicase/u8-casemap'.
19560         * lib/unicase/unicasemap.h: New file.
19561         * lib/unicase/u8-casemap.c: New file.
19562         * lib/unicase/u-casemap.h: New file.
19563         * modules/unicase/u8-casemap: New file.
19564
19565         New module 'unicase/special-casing'.
19566         * lib/unicase/special-casing.h: New file.
19567         * lib/unicase/special-casing.c: New file.
19568         * lib/unicase/special-casing-table.gperf: New file, generated by
19569         gen-uni-tables.c.
19570         * modules/unicase/special-casing: New file.
19571
19572         Tests for module 'unicase/locale-language'.
19573         * modules/unicase/locale-language-tests: New file.
19574         * tests/unicase/test-locale-language.sh: New file.
19575         * tests/unicase/test-locale-language.c: New file.
19576
19577         New module 'unicase/locale-language'.
19578         * lib/unicase/locale-language.c: New file.
19579         * lib/unicase/locale-languages.gperf: New file.
19580         * modules/unicase/locale-language: New file.
19581
19582         Generate more tables for case conversion and case folding.
19583         * lib/gen-uni-tables.c (SCC_*): New enum items.
19584         (struct special_casing_rule): New type.
19585         (casing_rules, num_casing_rules, allocated_casing_rules): New
19586         variables.
19587         (add_casing_rule, fill_casing_rules): New functions.
19588         (struct casefold_rule): New type.
19589         (casefolding_rules, num_casefolding_rules,
19590         allocated_casefolding_rules): New variables.
19591         (fill_casefolding_rules): New function.
19592         (unicode_casefold): New variable.
19593         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
19594         sort_casing_rules, output_casing_rules): New functions.
19595         (main): Accept to more arguments: SpecialCasing.txt and
19596         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
19597         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
19598         Output mapping for casefolding.
19599
19600         * lib/unicase.h: Include stdbool.h, uninorm.h.
19601         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
19602         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
19603         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
19604         arguments.
19605         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
19606         resultp arguments.
19607         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
19608         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
19609         resultp arguments.
19610         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
19611         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
19612         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
19613         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
19614         declarations.
19615         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
19616
19617 2009-03-08  Bruno Haible  <bruno@clisp.org>
19618
19619         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
19620         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
19621         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
19622         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
19623
19624 2009-03-07  Bruno Haible  <bruno@clisp.org>
19625
19626         Adjust u*_normcmp, u*_normcoll API.
19627         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
19628         u16_normcoll, u32_normcoll): Change failure conventions.
19629         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
19630         errno and return -1.
19631         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
19632
19633 2009-03-07  Bruno Haible  <bruno@clisp.org>
19634
19635         Tests for module 'uninorm/u32-normcoll'.
19636         * modules/uninorm/u32-normcoll-tests: New file.
19637         * tests/uninorm/test-u32-normcoll.c: New file.
19638
19639         Tests for module 'uninorm/u16-normcoll'.
19640         * modules/uninorm/u16-normcoll-tests: New file.
19641         * tests/uninorm/test-u16-normcoll.c: New file.
19642
19643         Tests for module 'uninorm/u8-normcoll'.
19644         * modules/uninorm/u8-normcoll-tests: New file.
19645         * tests/uninorm/test-u8-normcoll.c: New file.
19646
19647 2009-03-07  Bruno Haible  <bruno@clisp.org>
19648
19649         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
19650         tests/uninorm/test-u32-normcmp.c.
19651         * tests/uninorm/test-u32-normcmp.c: Include it.
19652         (test_nonascii): New function, extracted from main. Add some more
19653         tests.
19654         (main): Invoke test_ascii and test_nonascii.
19655         * modules/uninorm/u32-normcmp-tests (Files): Add
19656         tests/uninorm/test-u32-normcmp.h.
19657         (Depends-on): Remove uninorm/u32-normcmp.
19658
19659         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
19660         tests/uninorm/test-u16-normcmp.c.
19661         * tests/uninorm/test-u16-normcmp.c: Include it.
19662         (test_nonascii): New function, extracted from main. Add some more
19663         tests.
19664         (main): Invoke test_ascii and test_nonascii.
19665         * modules/uninorm/u16-normcmp-tests (Files): Add
19666         tests/uninorm/test-u16-normcmp.h.
19667         (Depends-on): Remove uninorm/u16-normcmp.
19668
19669         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
19670         tests/uninorm/test-u8-normcmp.c.
19671         * tests/uninorm/test-u8-normcmp.c: Include it.
19672         (test_nonascii): New function, extracted from main. Add some more
19673         tests.
19674         (main): Invoke test_ascii and test_nonascii.
19675         * modules/uninorm/u8-normcmp-tests (Files): Add
19676         tests/uninorm/test-u8-normcmp.h.
19677         (Depends-on): Remove uninorm/u8-normcmp.
19678
19679 2009-03-07  Bruno Haible  <bruno@clisp.org>
19680
19681         New module 'uninorm/u32-normcoll'.
19682         * lib/uninorm/u32-normcoll.c: New file.
19683         * modules/uninorm/u32-normcoll: New file.
19684
19685         New module 'uninorm/u16-normcoll'.
19686         * lib/uninorm/u16-normcoll.c: New file.
19687         * modules/uninorm/u16-normcoll: New file.
19688
19689         New module 'uninorm/u8-normcoll'.
19690         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
19691         declarations.
19692         * lib/uninorm/u8-normcoll.c: New file.
19693         * lib/uninorm/u-normcoll.h: New file.
19694         * modules/uninorm/u8-normcoll: New file.
19695
19696         New module 'uninorm/u32-normxfrm'.
19697         * lib/uninorm/u32-normxfrm.c: New file.
19698         * modules/uninorm/u32-normxfrm: New file.
19699
19700         New module 'uninorm/u16-normxfrm'.
19701         * lib/uninorm/u16-normxfrm.c: New file.
19702         * modules/uninorm/u16-normxfrm: New file.
19703
19704         New module 'uninorm/u8-normxfrm'.
19705         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
19706         declarations.
19707         * lib/uninorm/u8-normxfrm.c: New file.
19708         * lib/uninorm/u-normxfrm.h: New file.
19709         * modules/uninorm/u8-normxfrm: New file.
19710
19711 2009-03-07  Bruno Haible  <bruno@clisp.org>
19712
19713         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
19714         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
19715         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
19716
19717 2009-03-07  Bruno Haible  <bruno@clisp.org>
19718
19719         New module 'memxfrm'.
19720         * lib/memxfrm.h: New file.
19721         * lib/memxfrm.c: New file.
19722         * modules/memxfrm: New file.
19723
19724 2009-03-07  Bruno Haible  <bruno@clisp.org>
19725
19726         New module 'memcmp2'.
19727         * lib/memcmp2.h: New file.
19728         * lib/memcmp2.c: New file.
19729         * modules/memcmp2: New file.
19730
19731 2009-03-07  Bruno Haible  <bruno@clisp.org>
19732
19733         Tests for module 'uninorm/decomposing-form'.
19734         * modules/uninorm/decomposing-form-tests: New file.
19735         * tests/uninorm/test-decomposing-form.c: New file.
19736
19737         New module 'uninorm/decomposing-form'.
19738         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
19739         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
19740         Add 'decomposing_variant' field.
19741         * lib/uninorm/decomposing-form.c: New file.
19742         * lib/uninorm/nfc.c (uninorm_nfc): Update.
19743         * lib/uninorm/nfd.c (uninorm_nfd): Update.
19744         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
19745         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
19746         * modules/uninorm/decomposing-form: New file.
19747         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
19748         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
19749
19750 2009-03-07  Bruno Haible  <bruno@clisp.org>
19751
19752         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
19753         strings.
19754
19755 2009-03-06  Bruno Haible  <bruno@clisp.org>
19756
19757         Tests for module 'uninorm/u32-normcmp'.
19758         * tests/uninorm/test-u32-normcmp.c: New file.
19759         * modules/uninorm/u32-normcmp-tests: New file.
19760
19761         Tests for module 'uninorm/u16-normcmp'.
19762         * tests/uninorm/test-u16-normcmp.c: New file.
19763         * modules/uninorm/u16-normcmp-tests: New file.
19764
19765         Tests for module 'uninorm/u8-normcmp'.
19766         * tests/uninorm/test-u8-normcmp.c: New file.
19767         * modules/uninorm/u8-normcmp-tests: New file.
19768
19769         New module 'uninorm/u32-normcmp'.
19770         * lib/uninorm/u32-normcmp.c: New file.
19771         * modules/uninorm/u32-normcmp: New file.
19772
19773         New module 'uninorm/u16-normcmp'.
19774         * lib/uninorm/u16-normcmp.c: New file.
19775         * modules/uninorm/u16-normcmp: New file.
19776
19777         New module 'uninorm/u8-normcmp'.
19778         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
19779         declarations.
19780         * lib/uninorm/u8-normcmp.c: New file.
19781         * lib/uninorm/u-normcmp.h: New file.
19782         * modules/uninorm/u8-normcmp: New file.
19783
19784 2009-03-06  Bruno Haible  <bruno@clisp.org>
19785
19786         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
19787         Reported by Eric Blake.
19788
19789 2009-03-06  Eric Blake  <ebb9@byu.net>
19790             Bruno Haible  <bruno@clisp.org>
19791
19792         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
19793         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
19794         condition.
19795         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
19796         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
19797         condition.
19798         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
19799
19800 2009-03-06  Eric Blake  <ebb9@byu.net>
19801
19802         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
19803         to avoid compiler warnings.
19804         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
19805
19806 2009-03-05  Bruno Haible  <bruno@clisp.org>
19807
19808         * tests/test-ftell.c (main): Disable test beyond end of file on
19809         FreeMiNT.
19810         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
19811
19812 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
19813
19814         * lib/filevercmp.c: Move hidden files up in ordering.
19815         * tests/test-filevercmp.c: Add tests for hidden files.
19816
19817 2009-03-04  Bruno Haible  <bruno@clisp.org>
19818
19819         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
19820         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
19821         AM_CFLAGS.
19822         Reported by Simon Josefsson.
19823
19824 2009-03-03  Bruno Haible  <bruno@clisp.org>
19825
19826         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
19827         Reported by Simon Josefsson.
19828
19829         * doc/ld-version-script.texi: Update node reference.
19830
19831 2009-03-03  Bruno Haible  <bruno@clisp.org>
19832
19833         * modules/visibility (License): Change to 'unlimited'.
19834         Suggested by Simon Josefsson.
19835
19836 2009-03-03  Jim Meyering  <meyering@redhat.com>
19837
19838         unlinkdir: cannot_unlink_dir may modify process state
19839         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
19840         it's neither thread-safe nor appropriate for use in a library.
19841
19842 2009-03-03  Eric Blake  <ebb9@byu.net>
19843
19844         test-closein: silence test under Darwin
19845         * tests/test-closein.sh: Ignore stderr from cat, since we don't
19846         care if it dies from EPIPE or EBADF.
19847
19848 2009-03-03  Bruno Haible  <bruno@clisp.org>
19849
19850         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
19851         earlier.
19852         * doc/visibility.texi: Fix @node and @section.
19853
19854 2009-03-03  Simon Josefsson  <simon@josefsson.org>
19855
19856         * doc/gnulib.texi: Link to sections for ld version script and
19857         visibility.
19858         * doc/visibility.texi: Add @node and @section.
19859         * modules/ld-version-script: New module.
19860         * m4/ld-version-script.m4: New file.
19861         * doc/ld-version-script.texi: New file.
19862
19863 2009-03-02  David Lutterkort  <lutter@redhat.com>
19864
19865         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
19866         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19867
19868 2009-03-02  Bruno Haible  <bruno@clisp.org>
19869
19870         * doc/visibility.texi: Mention libtool's -export-symbols option.
19871
19872 2009-03-02  Jim Meyering  <meyering@redhat.com>
19873
19874         announce-gen: new option: --no-print-checksums
19875         * build-aux/announce-gen (usage): Describe it.
19876         (print_checksums): Print a newline here, not in the [*] footnote.
19877         (main): Honor it.
19878
19879 2009-03-01  Bruno Haible  <bruno@clisp.org>
19880
19881         Use socklen_t in the native Windows replacements prototypes.
19882         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
19883         instead of 'int'.
19884         * lib/getsockopt.c (rpl_getsockopt): Likewise.
19885         * lib/setsockopt.c (rpl_setsockopt): Likewise.
19886         * modules/getsockopt (Depends-on): Add socklen.
19887         * modules/setsockopt (Depends-on): Add socklen.
19888
19889 2009-03-01  Bruno Haible  <bruno@clisp.org>
19890
19891         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
19892         least 4.2.
19893
19894 2009-03-01  Eric Blake  <ebb9@byu.net>
19895             Bruno Haible  <bruno@clisp.org>
19896
19897         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
19898         error messages.
19899         * lib/wait-process.c (wait_subprocess): Omit error message about
19900         deadly signal sent to the child of termsigp != NULL.
19901
19902 2009-03-01  Eric Blake  <ebb9@byu.net>
19903
19904         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
19905
19906 2009-03-01  Bruno Haible  <bruno@clisp.org>
19907
19908         Avoid a gcc warning.
19909         * tests/test-sched.c (b): Make global.
19910         Reported by Eric Blake.
19911
19912 2009-01-19  Martin Lambers  <marlam@marlam.de>
19913
19914         Provide POSIX semantics for socket timeout options on W32.
19915         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
19916         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
19917         * modules/setsockopt: Depend on sys_time module for struct timeval.
19918         * modules/getsockopt: Depend on sys_time module for struct timeval.
19919
19920 2009-03-01  Simon Josefsson  <simon@josefsson.org>
19921
19922         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
19923         __USE_GNU, for consistency with netdb.in.h.
19924         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
19925
19926 2009-03-01  Bruno Haible  <bruno@clisp.org>
19927
19928         More support for FreeMiNT.
19929         * lib/fseeko.c (rpl_fseeko): Complete last commit.
19930         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
19931
19932 2009-03-01  Bruno Haible  <bruno@clisp.org>
19933
19934         More support for FreeMiNT.
19935         * lib/fpurge.c (fpurge): Correct last commit.
19936         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
19937
19938 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19939
19940         Fix unportable awk script in vc-list-files.
19941         * build-aux/vc-list-files: In the replacement awk script, use
19942         substr with a second argument of 1, not zero.
19943         Report by Simon Josefsson.
19944
19945 2009-02-28  Bruno Haible  <bruno@clisp.org>
19946
19947         More support for FreeMiNT.
19948         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
19949         to FreeMiNT today.
19950         * lib/fwriting.c (fwriting): Likewise.
19951         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
19952
19953 2009-02-28  Bruno Haible  <bruno@clisp.org>
19954
19955         * tests/test-freadseek.c (main): Disable test beyond end of file on
19956         FreeMiNT.
19957         * tests/test-ftello.c (main): Likewise.
19958         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
19959
19960 2009-02-28  Bruno Haible  <bruno@clisp.org>
19961
19962         Add tentative support for FreeMiNT.
19963         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
19964         * lib/fpurge.c (fpurge): Likewise.
19965         * lib/freadable.c (freadable): Likewise.
19966         * lib/freading.c (freading): Likewise.
19967         * lib/freadptr.c (freadptr): Likewise.
19968         * lib/freadseek.c (freadptrinc): Likewise.
19969         * lib/fseeko.c (rpl_fseeko): Likewise.
19970         * lib/fseterr.c (fseterr): Likewise.
19971         * lib/fwritable.c (fwritable): Likewise.
19972         * lib/fwriting.c (fwriting): Likewise.
19973         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
19974         Hourihane.
19975         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
19976
19977 2009-02-28  Bruno Haible  <bruno@clisp.org>
19978
19979         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
19980         SIGCHLD.
19981         Reported by Jim Meyering.
19982
19983 2009-02-28  Bruno Haible  <bruno@clisp.org>
19984
19985         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
19986         Mention the results of these tests on various platforms.
19987         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
19988         order.
19989         * doc/posix-functions/printf.texi: Likewise.
19990         * doc/posix-functions/snprintf.texi: Likewise.
19991         * doc/posix-functions/sprintf.texi: Likewise.
19992         * doc/posix-functions/vfprintf.texi: Likewise.
19993         * doc/posix-functions/vprintf.texi: Likewise.
19994         * doc/posix-functions/vsnprintf.texi: Likewise.
19995         * doc/posix-functions/vsprintf.texi: Likewise.
19996         * doc/glibc-functions/obstack_printf.texi: Likewise.
19997         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
19998
19999 2009-02-28  Bruno Haible  <bruno@clisp.org>
20000
20001         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
20002         Reported by Loïc Minier <lool@dooz.org>.
20003
20004 2009-02-27  Bruno Haible  <bruno@clisp.org>
20005
20006         * gnulib-tool (func_import): Make the sed expression used to create the
20007         sed script for updating the .gitignore file POSIX compliant.
20008         Reported by Eric Blake.
20009
20010 2009-02-27  Bruno Haible  <bruno@clisp.org>
20011
20012         * gnulib-tool (sed): Don't alias as "sed --posix".
20013         Reported by Eric Blake.
20014
20015 2009-02-27  Bruno Haible  <bruno@clisp.org>
20016
20017         Avoid test link errors.
20018         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
20019         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
20020         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
20021         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
20022         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20023
20024 2009-02-27  Bruno Haible  <bruno@clisp.org>
20025
20026         Avoid spurious "(cached)" in configure output.
20027         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
20028         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
20029         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
20030         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
20031         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
20032         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
20033         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
20034         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
20035         Reported by Eric Blake.
20036
20037 2009-02-27  Eric Blake  <ebb9@byu.net>
20038
20039         printf: fix regression in previous patch
20040         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
20041
20042 2009-02-27  Bruno Haible  <bruno@clisp.org>
20043
20044         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
20045         value.
20046         * lib/stdint.in.h: Likewise.
20047         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
20048
20049 2009-02-27  Eric Blake  <ebb9@byu.net>
20050
20051         doc: mention more functions added in cygwin 1.7.0
20052         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
20053         addition.
20054         * doc/posix-functions/open_wmemstream.texi: Likewise.
20055         * doc/posix-functions/wcsnlen.texi: Likewise.
20056         * doc/posix-functions/wcsnrtombs.texi: Likewise.
20057         * doc/posix-functions/wcstod.texi: Likewise.
20058         * doc/posix-functions/wcstof.texi: Likewise.
20059         * doc/posix-functions/wcstoimax.texi: Likewise.
20060         * doc/posix-functions/wcstok.texi: Likewise.
20061         * doc/posix-functions/wcstoumax.texi: Likewise.
20062
20063         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
20064         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
20065         * doc/posix-functions/fprintf.texi: Update.
20066         * doc/posix-functions/printf.texi: Update.
20067         * doc/posix-functions/snprintf.texi: Update.
20068         * doc/posix-functions/sprintf.texi: Update.
20069         * doc/posix-functions/vfprintf.texi: Update.
20070         * doc/posix-functions/vprintf.texi: Update.
20071         * doc/posix-functions/vsnprintf.texi: Update.
20072         * doc/posix-functions/vsprintf.texi: Update.
20073         * doc/glibc-functions/obstack_printf.texi: Update.
20074         * doc/glibc-functions/obstack_vprintf.texi: Update.
20075
20076 2009-02-26  Eric Blake  <ebb9@byu.net>
20077
20078         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
20079         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
20080         compilation bug by using runtime conversion.
20081         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
20082         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
20083         * modules/ceill-tests (Files): Use nan.h.
20084         * modules/floorl-tests (Files): Likewise.
20085         * modules/frexpl-tests (Files): Likewise.
20086         * modules/isnanl-tests (Files): Likewise.
20087         * modules/ldexpl-tests (Files): Likewise.
20088         * modules/roundl-tests (Files): Likewise.
20089         * modules/truncl-tests (Files): Likewise.
20090         * tests/test-ceill.c (main): Use a working NaN.
20091         * tests/test-floorl.c (main): Likewise.
20092         * tests/test-frexpl.c (main): Likewise.
20093         * tests/test-isnan.c (test_long_double): Likewise.
20094         * tests/test-isnanl.h (main): Likewise.
20095         * tests/test-ldexpl.h (main): Likewise.
20096         * tests/test-roundl.h (main): Likewise.
20097         * tests/test-truncl.h (main): Likewise.
20098         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
20099
20100 2009-02-26  Eric Blake  <ebb9@byu.net>
20101             Bruno Haible  <bruno@clisp.org>
20102
20103         Work around a *printf bug with %ls on Solaris.
20104         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
20105         precision is specified, sprintf stops converting the wide string
20106         argument when the number of bytes that have been produced by this
20107         conversion equals or exceeds the precision.
20108         * doc/posix-functions/fprintf.texi: Update.
20109         * doc/posix-functions/printf.texi: Update.
20110         * doc/posix-functions/snprintf.texi: Update.
20111         * doc/posix-functions/sprintf.texi: Update.
20112         * doc/posix-functions/vfprintf.texi: Update.
20113         * doc/posix-functions/vprintf.texi: Update.
20114         * doc/posix-functions/vsnprintf.texi: Update.
20115         * doc/posix-functions/vsprintf.texi: Update.
20116         * doc/glibc-functions/obstack_printf.texi: Update.
20117         * doc/glibc-functions/obstack_vprintf.texi: Update.
20118
20119 2009-02-26  Eric Blake  <ebb9@byu.net>
20120
20121         stdlib: favor compiler check of random.h
20122         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
20123         to avoid an ObjC random.h installed by Swarm.
20124
20125 2009-02-26  Bruno Haible  <bruno@clisp.org>
20126
20127         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
20128         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
20129         Reported by Gary V. Vaughan <gary@gnu.org>.
20130
20131 2009-02-26  Bruno Haible  <bruno@clisp.org>
20132
20133         Fix *printf behaviour regarding the %ls directive.
20134         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
20135         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
20136         NEED_PRINTF_DIRECTIVE_LS.
20137         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
20138         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
20139         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
20140         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
20141         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
20142         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
20143         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
20144         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
20145         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
20146         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
20147         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
20148         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
20149         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
20150         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
20151         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
20152         * doc/posix-functions/fprintf.texi: Update.
20153         * doc/posix-functions/printf.texi: Update.
20154         * doc/posix-functions/snprintf.texi: Update.
20155         * doc/posix-functions/sprintf.texi: Update.
20156         * doc/posix-functions/vfprintf.texi: Update.
20157         * doc/posix-functions/vprintf.texi: Update.
20158         * doc/posix-functions/vsnprintf.texi: Update.
20159         * doc/posix-functions/vsprintf.texi: Update.
20160         * doc/glibc-functions/obstack_printf.texi: Update.
20161         * doc/glibc-functions/obstack_vprintf.texi: Update.
20162         Reported by Eric Blake.
20163
20164 2009-02-25  Bruno Haible  <bruno@clisp.org>
20165
20166         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
20167         with known value.
20168         Reported by Gary V. Vaughan <gary@gnu.org>.
20169
20170 2009-02-25  Bruno Haible  <bruno@clisp.org>
20171
20172         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
20173         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
20174         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
20175         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
20176         Reported by Gary V. Vaughan <gary@gnu.org>.
20177
20178 2009-02-25  Bruno Haible  <bruno@clisp.org>
20179
20180         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
20181         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
20182         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
20183         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
20184         Reported by Gary V. Vaughan <gary@gnu.org>.
20185
20186 2009-02-25  Eric Blake  <ebb9@byu.net>
20187
20188         tests: skip fseek/ftell tests if ungetc is broken
20189         * m4/ungetc.m4: New file.
20190         * modules/fseek-tests: Split test, so ungetc dependency is
20191         separate from rest of test.
20192         * modules/fseeko-tests: Likewise.
20193         * modules/ftell-tests: Likewise.
20194         * modules/ftello-tests: Likewise.
20195         * tests/test-fseek.c (main): Isolate ungetc dependency.
20196         * tests/test-fseeko.c (main): Likewise.
20197         * tests/test-ftell.c (main): Likewise.
20198         * tests/test-ftello.c (main): Likewise.
20199         * tests/test-fseek2.sh: New file.
20200         * tests/test-fseeko2.sh: Likewise.
20201         * tests/test-ftell2.sh: Likewise.
20202         * tests/test-ftello2.sh: Likewise.
20203
20204 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
20205
20206         test-getaddrinfo: fix usage of skip return code 77
20207         * tests/test-gettaddrinfo.c: Return skip code 77 only
20208         for first occurance of skip (4x77 is not 77)
20209
20210 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
20211
20212         strtod: avoid C99 decl-after-statement
20213         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
20214
20215 2009-02-24  Eric Blake  <ebb9@byu.net>
20216
20217         strtod: detect HP-UX 11.31 bug
20218         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
20219         Reported by Gary V. Vaughan.
20220
20221 2009-02-23  Bruno Haible  <bruno@clisp.org>
20222
20223         Fix invalid read past end of memory block.
20224         * lib/vasnprintf.c (DCHAR_SET): Define.
20225         (local_wcslen): Define only when needed.
20226         (local_strnlen, local_wcsnlen): New functions.
20227         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
20228         directives that involve a conversion ourselves.
20229         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
20230         wcsnlen, mbrtowc, wcrtomb.
20231         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
20232         * tests/test-vasprintf-posix.c (test_function): Likewise.
20233         * tests/test-snprintf-posix.h (test_function): Likewise.
20234         * tests/test-sprintf-posix.h (test_function): Likewise.
20235         Reported by Ben Pfaff <blp@cs.stanford.edu>.
20236
20237 2009-02-22  Bruno Haible  <bruno@clisp.org>
20238
20239         Implement new clarified decomposition of Hangul syllables.
20240         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
20241         of type LTV, return only a pairwise decomposition.
20242         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
20243         Likewise.
20244         * tests/uninorm/test-decomposition.c (main): Updated expected result.
20245         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
20246         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
20247
20248 2009-02-22  Bruno Haible  <bruno@clisp.org>
20249
20250         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
20251         zero-length results and shrink excess allocated memory.
20252         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
20253         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
20254         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
20255         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
20256         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
20257         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
20258         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
20259         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
20260         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
20261         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
20262         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
20263         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
20264
20265 2009-02-21  Bruno Haible  <bruno@clisp.org>
20266
20267         * doc/gnulib.texi: Include safe-alloc.texi earlier.
20268         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
20269         spaces after a period. Put a space between a macro name and its
20270         argument list. Trivial rewordings.
20271         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
20272         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
20273         (main): Return 0 explicitly.
20274
20275 2009-02-21  Bruno Haible  <bruno@clisp.org>
20276
20277         Tests for module 'uninorm/filter'.
20278         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
20279         * modules/uninorm/filter-tests: New file.
20280
20281         New module 'uninorm/filter'.
20282         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
20283         uninorm_filter_flush, uninorm_filter_free): New declarations.
20284         * lib/uninorm/uninorm-filter.c: New file.
20285         * modules/uninorm/filter: New file.
20286
20287 2009-02-21  Bruno Haible  <bruno@clisp.org>
20288
20289         Tests for module 'uninorm/nfkc'.
20290         * tests/uninorm/test-nfkc.c: New file.
20291         * tests/uninorm/test-u8-nfkc.c: New file.
20292         * tests/uninorm/test-u16-nfkc.c: New file.
20293         * tests/uninorm/test-u32-nfkc.c: New file.
20294         * tests/uninorm/test-u32-nfkc-big.sh: New file.
20295         * tests/uninorm/test-u32-nfkc-big.c: New file.
20296         * modules/uninorm/nfkc-tests: New file.
20297
20298         New module 'uninorm/nfkc'.
20299         * lib/uninorm/nfkc.c: New file.
20300         * modules/uninorm/nfkc: New file.
20301
20302         Tests for module 'uninorm/nfkd'.
20303         * tests/uninorm/test-nfkd.c: New file.
20304         * tests/uninorm/test-u8-nfkd.c: New file.
20305         * tests/uninorm/test-u16-nfkd.c: New file.
20306         * tests/uninorm/test-u32-nfkd.c: New file.
20307         * tests/uninorm/test-u32-nfkd-big.sh: New file.
20308         * tests/uninorm/test-u32-nfkd-big.c: New file.
20309         * modules/uninorm/nfkd-tests: New file.
20310
20311         New module 'uninorm/nfkd'.
20312         * lib/uninorm/nfkd.c: New file.
20313         * modules/uninorm/nfkd: New file.
20314
20315         Tests for module 'uninorm/nfc'.
20316         * tests/uninorm/test-nfc.c: New file.
20317         * tests/uninorm/test-u8-nfc.c: New file.
20318         * tests/uninorm/test-u16-nfc.c: New file.
20319         * tests/uninorm/test-u32-nfc.c: New file.
20320         * tests/uninorm/test-u32-nfc-big.sh: New file.
20321         * tests/uninorm/test-u32-nfc-big.c: New file.
20322         * modules/uninorm/nfc-tests: New file.
20323
20324         New module 'uninorm/nfc'.
20325         * lib/uninorm/nfc.c: New file.
20326         * modules/uninorm/nfc: New file.
20327
20328         Tests for module 'uninorm/nfd'.
20329         * tests/uninorm/test-nfd.c: New file.
20330         * tests/uninorm/test-u8-nfd.c: New file.
20331         * tests/uninorm/test-u16-nfd.c: New file.
20332         * tests/uninorm/test-u32-nfd.c: New file.
20333         * tests/uninorm/test-u32-nfd-big.sh: New file.
20334         * tests/uninorm/test-u32-nfd-big.c: New file.
20335         * tests/uninorm/test-u32-normalize-big.h: New file.
20336         * tests/uninorm/test-u32-normalize-big.c: New file.
20337         * tests/uninorm/NormalizationTest.txt: New file, created from
20338         Unicode 5.1.0 NormalizationTest.txt.
20339         * modules/uninorm/nfd-tests: New file.
20340
20341         New module 'uninorm/nfd'.
20342         * lib/uninorm/nfd.c: New file.
20343         * modules/uninorm/nfd: New file.
20344
20345         New module 'uninorm/u32-normalize'.
20346         * lib/uninorm/u32-normalize.c: New file.
20347         * modules/uninorm/u32-normalize: New file.
20348
20349         New module 'uninorm/u16-normalize'.
20350         * lib/uninorm/u16-normalize.c: New file.
20351         * modules/uninorm/u16-normalize: New file.
20352
20353         New module 'uninorm/u8-normalize'.
20354         * lib/uninorm/u8-normalize.c: New file.
20355         * lib/uninorm/normalize-internal.h: New file.
20356         * lib/uninorm/u-normalize-internal.h: New file.
20357         * modules/uninorm/u8-normalize: New file.
20358
20359         New module 'uninorm/decompose-internal'.
20360         * lib/uninorm/decompose-internal.c: New file.
20361         * modules/uninorm/decompose-internal: New file.
20362
20363         Tests for module 'uninorm/composition'.
20364         * tests/uninorm/test-composition.c: New file.
20365         * modules/uninorm/composition-tests: New file.
20366
20367         New module 'uninorm/composition'.
20368         * lib/uninorm/composition.c: New file.
20369         * lib/uninorm/composition-table.gperf: New file, generated by
20370         gen-uni-tables.
20371         * modules/uninorm/composition: New file.
20372
20373         Tests for module 'uninorm/compat-decomposition'.
20374         * tests/uninorm/test-compat-decomposition.c: New file.
20375         * modules/uninorm/compat-decomposition-tests: New file.
20376
20377         New module 'uninorm/compat-decomposition'.
20378         * lib/uninorm/decompose-internal.h: New file.
20379         * lib/uninorm/compat-decomposition.c: New file.
20380         * modules/uninorm/compat-decomposition: New file.
20381
20382         Tests for module 'uninorm/canonical-decomposition'.
20383         * tests/uninorm/test-canonical-decomposition.c: New file.
20384         * modules/uninorm/canonical-decomposition-tests: New file.
20385
20386         New module 'uninorm/canonical-decomposition'.
20387         * lib/uninorm/canonical-decomposition.c: New file.
20388         * modules/uninorm/canonical-decomposition: New file.
20389
20390         Tests for module 'uninorm/decomposition'.
20391         * tests/uninorm/test-decomposition.c: New file.
20392         * modules/uninorm/decomposition-tests: New file.
20393
20394         New module 'uninorm/decomposition'.
20395         * lib/uninorm/decomposition.c: New file.
20396         * modules/uninorm/decomposition: New file.
20397
20398         New module 'uninorm/decomposition-table'.
20399         * lib/uninorm/decomposition-table.h: New file.
20400         * lib/uninorm/decomposition-table.c: New file.
20401         * lib/uninorm/decomposition-table1.h: New file, generated by
20402         gen-uni-tables.
20403         * lib/uninorm/decomposition-table2.h: New file, generated by
20404         gen-uni-tables.
20405         * modules/uninorm/decomposition-table: New file.
20406
20407         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
20408         (UC_DECOMP_*): New enumeration items.
20409         (get_decomposition): New function.
20410         (struct decomp_table): New type.
20411         (output_decomposition, output_decomposition_tables): New functions.
20412         (unicode_composition_exclusions): New variable.
20413         (fill_composition_exclusions, debug_output_composition_tables): New
20414         functions.
20415         (main): Accept one more argument. Invoke fill_composition_exclusions.
20416         Output decomposition and composition tables.
20417
20418         New module 'uninorm/base'.
20419         * lib/uninorm.h: New file.
20420         * lib/unictype.h: Update comment.
20421         * modules/uninorm/base: New file.
20422
20423 2009-02-21  David Lutterkort  <lutter@redhat.com>
20424
20425         Tests for module 'safe-alloc'.
20426         * tests/test-safe-alloc.c: New file.
20427         * modules/safe-alloc-tests: New file.
20428
20429         New module 'safe-alloc'.
20430         * lib/safe-alloc.h: New file.
20431         * lib/safe-alloc.c: New file.
20432         * m4/safe-alloc.m4: New file.
20433         * modules/safe-alloc: New file.
20434         * doc/safe-alloc.texi: New file.
20435         * doc/gnulib.texi: Include it.
20436         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
20437         safe-alloc.
20438
20439 2009-02-18  Bruno Haible  <bruno@clisp.org>
20440
20441         Fix link error on non-glibc systems.
20442         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
20443         variable.
20444         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20445
20446 2009-02-18  Jim Meyering  <meyering@redhat.com>
20447
20448         fts: avoid used-uninitialized error due to recent change
20449         * lib/fts.c (fts_read): Guard uses of the new member,
20450         parent->fts_n_dirs_remaining, since it's not relevant for
20451         the parent of a directory specified on the command-line.
20452
20453 2009-02-17  James Youngman  <jay@gnu.org>
20454             Bruno Haible  <bruno@clisp.org>
20455
20456         * m4/include_next.m4: Reformulate comment.
20457
20458 2009-02-16  Jim Meyering  <meyering@redhat.com>
20459
20460         fts: add #if guards so that the fts_lgpl module still builds
20461         * lib/fts.c: Guard just-added hash-table-using parts with
20462         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
20463         Reported by Simon Josefsson.
20464
20465 2009-02-15  Bruno Haible  <bruno@clisp.org>
20466
20467         * modules/array-mergesort-tests: New file.
20468         * tests/test-array-mergesort.c: New file.
20469
20470         New module 'array-mergesort'.
20471         * modules/array-mergesort: New file.
20472         * lib/array-mergesort.h: New file.
20473
20474 2009-02-15  Bruno Haible  <bruno@clisp.org>
20475
20476         Fix 2009-02-07 commit.
20477         * lib/gen-uni-tables.c (output_predicate, output_category,
20478         output_combclass, output_bidi_category, output_decimal_digit,
20479         output_digit, output_numeric, output_mirror, output_scripts,
20480         output_ident_category, output_simple_mapping): Fix format directives.
20481         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
20482
20483 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
20484
20485         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
20486         fixes are available from IBM.
20487
20488 2009-02-13  Jim Meyering  <meyering@redhat.com>
20489
20490         fts: arrange not to stat non-directories in more cases
20491         This makes GNU find (when it doesn't need to stat each file)
20492         *much* more efficient at traversing reiserfs file systems.
20493         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
20494         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
20495         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
20496         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
20497         (leaf_optimization_applies): New function.
20498         (LCO_hash, LCO_compare): New helper functions.
20499         (link_count_optimize_ok): New function.
20500         (fts_stat): Initialize new member (if dir).
20501         (fts_read): Decrement parent's fts_n_dirs_remaining count if
20502         we've just stat'ed a directory.  Skip the stat call when possible.
20503         ---
20504         Note this AFS-related exchange:
20505         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
20506         and note find's pioctl call in find/fstype.c.
20507         But that is necessary only if you want to enable the
20508         optimization for AFS, and for now, I don't.
20509
20510         fts: move a function definition "up" (no semantic change)
20511         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
20512         "up" to precede upcoming use of a related function.
20513
20514 2009-02-11  Jim Meyering  <meyering@redhat.com>
20515
20516         fts: correct internal computation of nlinks (optimization-related)
20517         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
20518         whether the current entry is a directory, so don't test it.
20519
20520 2009-02-10  Bruno Haible  <bruno@clisp.org>
20521
20522         Tests for module 'uniwbrk/ulc-wordbreaks'.
20523         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
20524         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
20525         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
20526
20527         Tests for module 'uniwbrk/u32-wordbreaks'.
20528         * modules/uniwbrk/u32-wordbreaks-tests: New file.
20529         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
20530
20531         Tests for module 'uniwbrk/u16-wordbreaks'.
20532         * modules/uniwbrk/u16-wordbreaks-tests: New file.
20533         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
20534
20535         Tests for module 'uniwbrk/u8-wordbreaks'.
20536         * modules/uniwbrk/u8-wordbreaks-tests: New file.
20537         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
20538
20539 2009-02-10  Bruno Haible  <bruno@clisp.org>
20540
20541         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
20542         property.
20543         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
20544         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
20545         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
20546
20547 2009-02-10  Simon Josefsson  <simon@josefsson.org>
20548
20549         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
20550         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
20551
20552 2009-02-10  Bruno Haible  <bruno@clisp.org>
20553
20554         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
20555         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
20556         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
20557         * lib/unilbrk/u8-possible-linebreaks.c: Update.
20558         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
20559         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
20560
20561 2009-02-09  Simon Josefsson  <simon@josefsson.org>
20562
20563         * lib/sockets.h (gl_fd_to_handle): New function.
20564
20565         * tests/test-sockets.c: Call gl_fd_to_handle.
20566
20567 2009-02-09  Bruno Haible  <bruno@clisp.org>
20568
20569         * doc/havelib.texi: Document the conventions on bi-arch systems.
20570
20571 2009-02-08  Bruno Haible  <bruno@clisp.org>
20572
20573         Document the AC_LIB_LINKFLAGS macro.
20574         * doc/havelib.texi: New file, mostly written on 2005-05-24.
20575         * doc/gnulib.texi: Include it.
20576
20577 2009-02-08  Bruno Haible  <bruno@clisp.org>
20578
20579         Fix wrong order of sections, compared to TOC.
20580         * doc/gnulib.texi: Include relocatable-maint.texi after the
20581         "Regular expressions" node, not before.
20582
20583 2009-02-08  Bruno Haible  <bruno@clisp.org>
20584
20585         Tests for module 'unicase/totitle'.
20586         * modules/unicase/totitle-tests: New file.
20587
20588         Tests for module 'unicase/tolower'.
20589         * modules/unicase/tolower-tests: New file.
20590
20591         Tests for module 'unicase/toupper'.
20592         * modules/unicase/toupper-tests: New file.
20593         * tests/unicase/test-mapping-part1.h: New file.
20594         * tests/unicase/test-mapping-part2.h: New file.
20595
20596         New module 'unicase/totitle'.
20597         * modules/unicase/totitle: New file.
20598         * lib/unicase/totitle.c: New file.
20599
20600         New module 'unicase/tolower'.
20601         * modules/unicase/tolower: New file.
20602         * lib/unicase/tolower.c: New file.
20603
20604         New module 'unicase/toupper'.
20605         * modules/unicase/toupper: New file.
20606         * lib/unicase/toupper.c: New file.
20607         * lib/unicase/simple-mapping.h: New file.
20608
20609         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
20610         (mapping_table): New structure.
20611         (output_simple_mapping): New function.
20612         (main): Invoke output_simple_mapping_test and output_simple_mapping.
20613         * modules/gen-uni-tables (Description): Update.
20614         * lib/unicase/toupper.h: New file, automatically generated by
20615         gen-uni-tables.
20616         * lib/unicase/tolower.h: New file, automatically generated by
20617         gen-uni-tables.
20618         * lib/unicase/totitle.h: New file, automatically generated by
20619         gen-uni-tables.
20620         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
20621         gen-uni-tables.
20622         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
20623         gen-uni-tables.
20624         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
20625         gen-uni-tables.
20626
20627         New module 'unicase/base'.
20628         * modules/unicase/base: New file.
20629         * lib/unicase.h: New file.
20630
20631 2009-02-08  Bruno Haible  <bruno@clisp.org>
20632
20633         New module 'uniwbrk/ulc-wordbreaks'.
20634         * modules/uniwbrk/ulc-wordbreaks: New file.
20635         * lib/uniwbrk/ulc-wordbreaks.c: New file.
20636
20637         New module 'uniwbrk/u32-wordbreaks'.
20638         * modules/uniwbrk/u32-wordbreaks: New file.
20639         * lib/uniwbrk/u32-wordbreaks.c: New file.
20640
20641         New module 'uniwbrk/u16-wordbreaks'.
20642         * modules/uniwbrk/u16-wordbreaks: New file.
20643         * lib/uniwbrk/u16-wordbreaks.c: New file.
20644
20645         New module 'uniwbrk/u8-wordbreaks'.
20646         * modules/uniwbrk/u8-wordbreaks: New file.
20647         * lib/uniwbrk/u8-wordbreaks.c: New file.
20648         * lib/uniwbrk/u-wordbreaks.h: New file.
20649
20650         New module 'uniwbrk/table'.
20651         * modules/uniwbrk/table: New file.
20652         * lib/uniwbrk/wbrktable.h: New file.
20653         * lib/uniwbrk/wbrktable.c: New file.
20654
20655         New module 'uniwbrk/wordbreak-property'.
20656         * modules/uniwbrk/wordbreak-property: New file.
20657         * lib/uniwbrk/wordbreak-property.c: New file.
20658
20659         * lib/gen-uni-tables.c (WBP_*): New enum items.
20660         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
20661         (unicode_org_wbp): New variable.
20662         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
20663         New functions.
20664         (wbp_table): New structure.
20665         (output_wbp, output_wbrk_tables): New functions.
20666         (main): Accept additional argument. Invoke fill_org_wbp,
20667         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
20668         output_wbrk_tables.
20669         * modules/gen-uni-tables (Description): Update.
20670         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
20671         gen-uni-tables.
20672
20673         New module 'uniwbrk/base'.
20674         * modules/uniwbrk/base: New file.
20675         * lib/uniwbrk.h: New file.
20676
20677 2009-02-08  Bruno Haible  <bruno@clisp.org>
20678
20679         Update to Unicode 5.1.0.
20680         * lib/gen-uni-tables.c (is_property_alphabetic): Include
20681         U+2185..U+2188.
20682         (is_property_default_ignorable_code_point): Don't include characters
20683         of category Cc or Cs and not-a-characters.
20684         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
20685         U+0D79, U+109E, U+109F, U+A60C.
20686         * lib/unictype/bidi_of.h: Regenerated.
20687         * lib/unictype/blocks.h: Regenerated.
20688         * lib/unictype/categ_C.h: Regenerated.
20689         * lib/unictype/categ_Cf.h: Regenerated.
20690         * lib/unictype/categ_Cn.h: Regenerated.
20691         * lib/unictype/categ_L.h: Regenerated.
20692         * lib/unictype/categ_Ll.h: Regenerated.
20693         * lib/unictype/categ_Lm.h: Regenerated.
20694         * lib/unictype/categ_Lo.h: Regenerated.
20695         * lib/unictype/categ_Lu.h: Regenerated.
20696         * lib/unictype/categ_M.h: Regenerated.
20697         * lib/unictype/categ_Mc.h: Regenerated.
20698         * lib/unictype/categ_Me.h: Regenerated.
20699         * lib/unictype/categ_Mn.h: Regenerated.
20700         * lib/unictype/categ_N.h: Regenerated.
20701         * lib/unictype/categ_Nd.h: Regenerated.
20702         * lib/unictype/categ_Nl.h: Regenerated.
20703         * lib/unictype/categ_No.h: Regenerated.
20704         * lib/unictype/categ_P.h: Regenerated.
20705         * lib/unictype/categ_Pd.h: Regenerated.
20706         * lib/unictype/categ_Pe.h: Regenerated.
20707         * lib/unictype/categ_Pf.h: Regenerated.
20708         * lib/unictype/categ_Pi.h: Regenerated.
20709         * lib/unictype/categ_Po.h: Regenerated.
20710         * lib/unictype/categ_Ps.h: Regenerated.
20711         * lib/unictype/categ_S.h: Regenerated.
20712         * lib/unictype/categ_Sk.h: Regenerated.
20713         * lib/unictype/categ_Sm.h: Regenerated.
20714         * lib/unictype/categ_So.h: Regenerated.
20715         * lib/unictype/categ_of.h: Regenerated.
20716         * lib/unictype/combining.h: Regenerated.
20717         * lib/unictype/ctype_alnum.h: Regenerated.
20718         * lib/unictype/ctype_alpha.h: Regenerated.
20719         * lib/unictype/ctype_graph.h: Regenerated.
20720         * lib/unictype/ctype_lower.h: Regenerated.
20721         * lib/unictype/ctype_print.h: Regenerated.
20722         * lib/unictype/ctype_punct.h: Regenerated.
20723         * lib/unictype/ctype_upper.h: Regenerated.
20724         * lib/unictype/decdigit.h: Regenerated.
20725         * lib/unictype/digit.h: Regenerated.
20726         * lib/unictype/mirror.h: Regenerated.
20727         * lib/unictype/numeric.h: Regenerated.
20728         * lib/unictype/pr_alphabetic.h: Regenerated.
20729         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
20730         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
20731         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
20732         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
20733         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
20734         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
20735         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
20736         * lib/unictype/pr_combining.h: Regenerated.
20737         * lib/unictype/pr_dash.h: Regenerated.
20738         * lib/unictype/pr_decimal_digit.h: Regenerated.
20739         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
20740         * lib/unictype/pr_deprecated.h: Regenerated.
20741         * lib/unictype/pr_diacritic.h: Regenerated.
20742         * lib/unictype/pr_extender.h: Regenerated.
20743         * lib/unictype/pr_format_control.h: Regenerated.
20744         * lib/unictype/pr_grapheme_base.h: Regenerated.
20745         * lib/unictype/pr_grapheme_extend.h: Regenerated.
20746         * lib/unictype/pr_grapheme_link.h: Regenerated.
20747         * lib/unictype/pr_id_continue.h: Regenerated.
20748         * lib/unictype/pr_id_start.h: Regenerated.
20749         * lib/unictype/pr_ideographic.h: Regenerated.
20750         * lib/unictype/pr_ignorable_control.h: Regenerated.
20751         * lib/unictype/pr_lowercase.h: Regenerated.
20752         * lib/unictype/pr_math.h: Regenerated.
20753         * lib/unictype/pr_numeric.h: Regenerated.
20754         * lib/unictype/pr_other_alphabetic.h: Regenerated.
20755         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
20756         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
20757         * lib/unictype/pr_other_id_continue.h: Regenerated.
20758         * lib/unictype/pr_other_lowercase.h: Regenerated.
20759         * lib/unictype/pr_other_math.h: Regenerated.
20760         * lib/unictype/pr_punctuation.h: Regenerated.
20761         * lib/unictype/pr_sentence_terminal.h: Regenerated.
20762         * lib/unictype/pr_soft_dotted.h: Regenerated.
20763         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
20764         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
20765         * lib/unictype/pr_unified_ideograph.h: Regenerated.
20766         * lib/unictype/pr_uppercase.h: Regenerated.
20767         * lib/unictype/pr_xid_continue.h: Regenerated.
20768         * lib/unictype/pr_xid_start.h: Regenerated.
20769         * lib/unictype/pr_zero_width.h: Regenerated.
20770         * lib/unictype/scripts.h: Regenerated.
20771         * lib/unictype/scripts_byname.gperf: Regenerated.
20772         * lib/unictype/sy_java_ident.h: Regenerated.
20773         * lib/unilbrk/lbrkprop1.h: Regenerated.
20774         * lib/unilbrk/lbrkprop2.h: Regenerated.
20775         * tests/unictype/test-categ_C.c: Regenerated.
20776         * tests/unictype/test-categ_Cf.c: Regenerated.
20777         * tests/unictype/test-categ_Cn.c: Regenerated.
20778         * tests/unictype/test-categ_L.c: Regenerated.
20779         * tests/unictype/test-categ_Ll.c: Regenerated.
20780         * tests/unictype/test-categ_Lm.c: Regenerated.
20781         * tests/unictype/test-categ_Lo.c: Regenerated.
20782         * tests/unictype/test-categ_Lu.c: Regenerated.
20783         * tests/unictype/test-categ_M.c: Regenerated.
20784         * tests/unictype/test-categ_Mc.c: Regenerated.
20785         * tests/unictype/test-categ_Me.c: Regenerated.
20786         * tests/unictype/test-categ_Mn.c: Regenerated.
20787         * tests/unictype/test-categ_N.c: Regenerated.
20788         * tests/unictype/test-categ_Nd.c: Regenerated.
20789         * tests/unictype/test-categ_Nl.c: Regenerated.
20790         * tests/unictype/test-categ_No.c: Regenerated.
20791         * tests/unictype/test-categ_P.c: Regenerated.
20792         * tests/unictype/test-categ_Pd.c: Regenerated.
20793         * tests/unictype/test-categ_Pe.c: Regenerated.
20794         * tests/unictype/test-categ_Pf.c: Regenerated.
20795         * tests/unictype/test-categ_Pi.c: Regenerated.
20796         * tests/unictype/test-categ_Po.c: Regenerated.
20797         * tests/unictype/test-categ_Ps.c: Regenerated.
20798         * tests/unictype/test-categ_S.c: Regenerated.
20799         * tests/unictype/test-categ_Sk.c: Regenerated.
20800         * tests/unictype/test-categ_Sm.c: Regenerated.
20801         * tests/unictype/test-categ_So.c: Regenerated.
20802         * tests/unictype/test-ctype_alnum.c: Regenerated.
20803         * tests/unictype/test-ctype_alpha.c: Regenerated.
20804         * tests/unictype/test-ctype_graph.c: Regenerated.
20805         * tests/unictype/test-ctype_lower.c: Regenerated.
20806         * tests/unictype/test-ctype_print.c: Regenerated.
20807         * tests/unictype/test-ctype_punct.c: Regenerated.
20808         * tests/unictype/test-ctype_upper.c: Regenerated.
20809         * tests/unictype/test-decdigit.h: Regenerated.
20810         * tests/unictype/test-digit.h: Regenerated.
20811         * tests/unictype/test-numeric.h: Regenerated.
20812         * tests/unictype/test-pr_alphabetic.c: Regenerated.
20813         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
20814         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
20815         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
20816         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
20817         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
20818         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
20819         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
20820         * tests/unictype/test-pr_combining.c: Regenerated.
20821         * tests/unictype/test-pr_dash.c: Regenerated.
20822         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
20823         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
20824         * tests/unictype/test-pr_deprecated.c: Regenerated.
20825         * tests/unictype/test-pr_diacritic.c: Regenerated.
20826         * tests/unictype/test-pr_extender.c: Regenerated.
20827         * tests/unictype/test-pr_format_control.c: Regenerated.
20828         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
20829         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
20830         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
20831         * tests/unictype/test-pr_id_continue.c: Regenerated.
20832         * tests/unictype/test-pr_id_start.c: Regenerated.
20833         * tests/unictype/test-pr_ideographic.c: Regenerated.
20834         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
20835         * tests/unictype/test-pr_lowercase.c: Regenerated.
20836         * tests/unictype/test-pr_math.c: Regenerated.
20837         * tests/unictype/test-pr_numeric.c: Regenerated.
20838         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
20839         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
20840         Regenerated.
20841         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
20842         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
20843         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
20844         * tests/unictype/test-pr_other_math.c: Regenerated.
20845         * tests/unictype/test-pr_punctuation.c: Regenerated.
20846         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
20847         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
20848         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
20849         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
20850         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
20851         * tests/unictype/test-pr_uppercase.c: Regenerated.
20852         * tests/unictype/test-pr_xid_continue.c: Regenerated.
20853         * tests/unictype/test-pr_xid_start.c: Regenerated.
20854         * tests/unictype/test-pr_zero_width.c: Regenerated.
20855
20856         Update to Unicode 5.1.0.
20857         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
20858         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
20859         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
20860         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
20861         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
20862         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
20863         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
20864         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
20865         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
20866         (nonspacing_table_ind): Update.
20867         * tests/uniwidth/test-uc_width2.sh: Update expected result.
20868
20869         Update to Unicode 5.1.0.
20870         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
20871         code transform.
20872         * lib/uniname/uniname.c (unicode_character_name,
20873         unicode_name_character): Add the range 0x1Fxxx to the code transform.
20874         * lib/uniname/uninames.h: Regenerated.
20875         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
20876
20877 2009-02-07  Bruno Haible  <bruno@clisp.org>
20878
20879         Merge gen-ctype and gen-lbrk into a single program.
20880         * lib/gen-uni-tables.c: New file, incorporating
20881         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
20882         Add directory prefixes to the names of the generated files.
20883         * lib/unictype/gen-ctype.c: Remove file.
20884         * lib/unilbrk/gen-lbrk.c: Remove file.
20885         * modules/gen-uni-tables: New file.
20886         * modules/unictype/gen-ctype: Remove file.
20887         * modules/unilbrk/gen-lbrk: Remove file.
20888
20889 2009-02-07  Bruno Haible  <bruno@clisp.org>
20890
20891         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
20892
20893         New module 'unistr/u32-strcoll'.
20894         * modules/unistr/u32-strcoll: New file.
20895         * lib/unistr/u32-strcoll.c: New file.
20896
20897         New module 'unistr/u16-strcoll'.
20898         * modules/unistr/u16-strcoll: New file.
20899         * lib/unistr/u16-strcoll.c: New file.
20900
20901         New module 'unistr/u8-strcoll'.
20902         * modules/unistr/u8-strcoll: New file.
20903         * lib/unistr/u8-strcoll.c: New file.
20904         * lib/unistr/u-strcoll.h: New file.
20905
20906 2009-02-07  Bruno Haible  <bruno@clisp.org>
20907
20908         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
20909         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
20910         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
20911         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
20912         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
20913         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
20914
20915 2009-02-07  Bruno Haible  <bruno@clisp.org>
20916
20917         Make 64-bit clean.
20918         * lib/unictype/gen-ctype.c (output_predicate, output_category,
20919         output_combclass, output_bidi_category, output_decimal_digit,
20920         output_digit, output_numeric, output_mirror, output_scripts,
20921         output_ident_category): Use proper width specifier in format strings.
20922
20923 2009-02-07  Bruno Haible  <bruno@clisp.org>
20924
20925         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
20926         failure behaviour.
20927
20928 2009-02-07  Jim Meyering  <meyering@redhat.com>
20929
20930         regex: avoid compilation failure with upcoming gcc-4.4
20931         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
20932         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
20933         "... error: integer overflow in preprocessor expression".
20934
20935 2009-02-05  Ben Pfaff  <blp@gnu.org>
20936
20937         Fix link errors on Windows when close module is used.
20938         * modules/close: Add $(LIB_CLOSE) to Link section.
20939         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
20940         $(LIB_CLOSE) on Windows.
20941
20942 2009-02-05  Jim Meyering  <meyering@redhat.com>
20943
20944         still avoid unused-parameter warnings, but do it cleanly
20945         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
20946         (get_fs_usage): Cast to void instead.
20947         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
20948         (dev_from_mount_options, read_file_system_list): Cast to void.
20949         Prompted by Bruno Haible.
20950
20951 2009-02-04  Jim Meyering  <meyering@redhat.com>
20952
20953         fsusage.c: correct copyright year
20954         * lib/fsusage.c: Reflect year in which the change is pushed into
20955
20956         avoid misc. warnings
20957         * lib/fsusage.c (UNUSED_PARAM): Define.
20958         (get_fs_usage): Mark parameter "disk" as unused.
20959         * lib/getugroups.c (getgrent): Use "void" in prototype.
20960         * lib/mountlist.c: Mark unused parameters.
20961         (read_file_system_list): Declare a local with "const".
20962         * lib/nanosleep.c (getnow): Declare static.
20963         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
20964
20965         dirfd: set errno upon failure
20966         * lib/dirfd.c: Include <errno.h>.
20967         Set errno to ENOTSUP when returning -1.
20968         * modules/dirfd (Depends-on): Add errno.
20969         Suggested by John Kodis <kodis@comcast.net>.
20970
20971 2009-02-01  Bruno Haible  <bruno@clisp.org>
20972
20973         Don't assume sizeof (long) >= sizeof (void *).
20974         * lib/memcmp.c: Include stdint.h.
20975         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
20976         srcp2 to 'const byte *'.
20977         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
20978         types to uintptr_t.
20979         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
20980         * modules/memcmp (Depends-on): Add stdint.
20981         Reported by Ozkan Sezer <sezeroz@gmail.com>.
20982
20983 2009-01-30  Eric Blake  <ebb9@byu.net>
20984
20985         fix more require-before-expand issues
20986         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
20987         expand, AC_PROG_AWK.
20988         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
20989
20990 2009-01-28  Eric Blake  <ebb9@byu.net>
20991
20992         version-etc: use consistent URL formatting
20993         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
20994         Improve formatting.  Use fputs for string without %.
20995
20996 2009-01-28  Jim Meyering  <meyering@redhat.com>
20997
20998         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
20999         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
21000         "underquoted definition of NAME" from autoconf-2.59.
21001
21002 2009-01-28  Bruno Haible  <bruno@clisp.org>
21003
21004         * doc/gnulib.texi: Add "Obsolete modules" to index.
21005
21006 2009-01-28  Jim Meyering  <meyering@redhat.com>
21007
21008         useless-if-before-free: recognize more variants
21009         * build-aux/useless-if-before-free: Also recognize e.g.,
21010         if (NULL != p) free (p);
21011
21012 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
21013
21014         test-getaddrinfo: skip (don't fail) this test when there's no network
21015         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
21016         on the presumption that it means you lack network access.
21017
21018 2009-01-26  Jim Meyering  <meyering@redhat.com>
21019
21020         fflush: avoid warnings on modern systems
21021         * lib/fflush.c (rpl_fflush): Move declarations of locals,
21022         pos and result, into scopes where they're used.
21023
21024 2009-01-26  Eric Blake  <ebb9@byu.net>
21025
21026         Silence warning reintroduced by recent extensions patch.
21027         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
21028         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
21029         autoconf.
21030
21031         Backport improved autoconf semantics of AC_DEFUN_ONCE.
21032         * m4/00gnulib.m4: New file.
21033         * gnulib-tool (func_get_filelist): Always use it.
21034         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
21035         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
21036
21037 2009-01-25  Bruno Haible  <bruno@clisp.org>
21038
21039         Make test-quotearg work on MacOS X and AIX.
21040         * tests/test-quotearg.sh: New file.
21041         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
21042         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
21043         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
21044         include <libintl.h>.
21045         (fake_locale): Remove variable.
21046         (gettext, dgettext, dcgettext): Remove functions.
21047         (main): Instead of setting a fake locale, set a real locale. Call
21048         textdomain and bindtextdomain.
21049         * modules/quotearg-tests (Files): Add the new files.
21050         (Depends-on): Add gettext, setenv, unsetenv.
21051         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
21052         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
21053         Augment TESTS_ENVIRONMENT.
21054
21055 2009-01-25  Bruno Haible  <bruno@clisp.org>
21056
21057         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
21058         fr_FR.ISO8859-1 locale on MacOS X.
21059         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
21060         ja_JP.eucJP locale on MacOS X.
21061         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
21062         zh_CN.GB18030 locale on MacOS X.
21063
21064 2009-01-25  Bruno Haible  <bruno@clisp.org>
21065
21066         Avoid link errors on MacOS X 10.3.
21067         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
21068         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
21069
21070 2009-01-25  Bruno Haible  <bruno@clisp.org>
21071
21072         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
21073         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
21074         * modules/pipe (Files): Remove m4/posix_spawn.m4.
21075         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
21076         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
21077         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
21078         posix_spawnattr_init, posix_spawnattr_setsigmask,
21079         posix_spawnattr_setflags, posix_spawnattr_destroy.
21080
21081         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
21082         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
21083         * modules/execute (Files): Remove m4/posix_spawn.m4.
21084         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
21085         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
21086         posix_spawnattr_init, posix_spawnattr_setsigmask,
21087         posix_spawnattr_setflags, posix_spawnattr_destroy.
21088
21089 2009-01-25  Bruno Haible  <bruno@clisp.org>
21090
21091         * lib/glthread/threadlib.c: Include <stdlib.h>.
21092
21093 2009-01-25  Bruno Haible  <bruno@clisp.org>
21094
21095         * lib/glthread/threadlib.c (dummy): New declaration.
21096
21097 2009-01-25  Bruno Haible  <bruno@clisp.org>
21098
21099         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
21100         multibyte characters also for the GB18030 encoding. Don't crash when
21101         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
21102
21103 2009-01-25  Bruno Haible  <bruno@clisp.org>
21104
21105         Avoid redefining 'struct random_data' on OSF/1 5.1.
21106         * lib/stdlib.in.h: Include <random.h> if it exists.
21107         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
21108         HAVE_RANDOM_H. Include <random.h> when testing whether
21109         'struct random_data' exists.
21110         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
21111
21112 2009-01-25  Bruno Haible  <bruno@clisp.org>
21113
21114         Don't install charset.alias on MacOS X >= 10.3.
21115         * lib/localcharset.c (DARWIN7): New macro.
21116         (get_charset_aliases): Hardcode the result for Darwin7.
21117         * modules/localcharset (install-exec-local): Don't install
21118         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
21119
21120 2009-01-25  Bruno Haible  <bruno@clisp.org>
21121
21122         Don't install charset.alias on mingw and Cygwin.
21123         * modules/localcharset (install-exec-local): Don't install
21124         charset.alias on mingw and Cygwin, if the file does not yet exist.
21125         The result for these platforms is hardcoded in localcharset.c.
21126
21127 2009-01-25  Bruno Haible  <bruno@clisp.org>
21128
21129         Make it possible again to use AC_GNU_SOURCE together with gnulib.
21130         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
21131         before requiring AC_USE_SYSTEM_EXTENSIONS.
21132
21133 2009-01-25  Jim Meyering  <meyering@redhat.com>
21134
21135         c-strtod: avoid warnings
21136         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
21137         "assignment discards qualifiers from pointer target type" warnings.
21138
21139 2009-01-24  Bruno Haible  <bruno@clisp.org>
21140
21141         Add support for non-UTF-8 locales on MacOS X.
21142         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
21143         canonical encodings. For Darwin 7 and newer, don't map traditional
21144         encodings to UTF-8.
21145         Reported by Vincent Lefevre <vincent@vinc17.org>
21146         at <http://savannah.gnu.org/bugs/?25235>.
21147
21148 2009-01-24  Bruno Haible  <bruno@clisp.org>
21149
21150         * doc/gnulib.texi (Obsolete modules): New section.
21151         Reported by Mike Frysinger <vapier@gentoo.org>.
21152
21153 2009-01-24  Bruno Haible  <bruno@clisp.org>
21154
21155         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
21156         (%.dvi): New rule.
21157
21158 2009-01-24  Bruno Haible  <bruno@clisp.org>
21159
21160         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
21161         Reported by Eric Blake.
21162
21163 2009-01-24  Bruno Haible  <bruno@clisp.org>
21164
21165         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
21166         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
21167         Reported by Gary V. Vaughan <gary@gnu.org>.
21168
21169 2009-01-24  Bruno Haible  <bruno@clisp.org>
21170
21171         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
21172
21173 2009-01-23  Bruno Haible  <bruno@clisp.org>
21174
21175         Make c-strtod, c-strtold usable in libraries.
21176         * lib/c-strtod.c: Include string.h instead of xalloc.h.
21177         (C_STRTOD): Call strdup instead of xstrdup.
21178         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
21179         * modules/c-strtold (Depends-on): Likewise.
21180         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
21181         * NEWS: Mention the change.
21182         Reported by Michael Gold <mgold@ncf.ca>.
21183
21184 2009-01-23  Jim Meyering  <meyering@redhat.com>
21185
21186         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
21187         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
21188         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
21189
21190 2009-01-23  Simon Josefsson  <simon@josefsson.org>
21191
21192         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
21193         GNU CoreUtils.
21194         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
21195         * modules/version-etc (Description): Update.
21196
21197 2009-01-22  Bruno Haible  <bruno@clisp.org>
21198
21199         Cache the C locale object.
21200         * lib/c-strtod.c (c_locale_cache): New variable.
21201         (c_locale): New function.
21202         (C_STRTOD): Use it, and don't call freelocale.
21203         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
21204         Suggested by Paolo Bonzini.
21205
21206 2009-01-21  Bruno Haible  <bruno@clisp.org>
21207
21208         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
21209         conditions other than overflow.
21210
21211 2009-01-21  Bruno Haible  <bruno@clisp.org>
21212
21213         * lib/c-strtod.c: Include errno.h.
21214         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
21215         value from STRTOD_L and STRTOD.
21216
21217 2009-01-21  Bruno Haible  <bruno@clisp.org>
21218         and Jim Meyering  <meyering@redhat.com>
21219
21220         nanosleep: skip configure test (fail it) for apple universal builds
21221         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
21222         universal builds, assume that nanosleep does not work.
21223         * modules/nanosleep (Depends-on): Add multiarch.
21224
21225         mktime: skip configure test (fail it) for apple universal builds
21226         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
21227         universal builds, assume that mktime does not work.
21228         * modules/mktime (Depends-on): Add multiarch.
21229
21230 2009-01-21  Eric Blake  <ebb9@byu.net>
21231
21232         multiarch: avoid expand-before-require warning
21233         * modules/multiarch (configure.ac): Require, rather than expand,
21234         gl_MULTIARCH.
21235         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
21236         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
21237         enforce that all clients require it.  Partial reversion of
21238         2008-12-29 patch.
21239
21240         error: avoid expand-before-require warning
21241         * modules/errno (configure.ac): Require, rather than expand,
21242         gl_HEADER_ERRNO_H.
21243         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
21244         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
21245         enforce that all clients require it.
21246
21247         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
21248         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
21249         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
21250         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
21251
21252 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
21253
21254         Revert:
21255         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
21256
21257         regex: do not depend on obsolete modules.
21258         * modules/regex: Remove memcmp and memmove.
21259
21260 2009-01-20  Bruno Haible  <bruno@clisp.org>
21261
21262         Make the 'link' module link on Windows NT 4.
21263         * lib/link.c (_WIN32_WINNT): Don't define.
21264         (CreateHardLinkFuncType): New type.
21265         (CreateHardLinkFunc, initialized): New variables.
21266         (initialize): New function.
21267         (link): Invoke CreateHardLink indirectly through the function pointer.
21268
21269 2009-01-20  Bruno Haible  <bruno@clisp.org>
21270
21271         Fix compilation failure on mingw.
21272         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
21273
21274 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
21275
21276         * doc/c-strtod.texi: Mention a couple of restrictions.
21277
21278 2009-01-20  Jim Meyering  <meyering@redhat.com>
21279
21280         gettimeofday: move more declarations out of functions
21281         * lib/gettimeofday.c: Move extern declarations of tzset and
21282         gmtime out of containing functions.  Prompted by Bruno Haible.
21283
21284 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
21285
21286         regex: do not depend on obsolete modules.
21287         * modules/regex: Remove memcmp and memmove.
21288
21289 2009-01-19  Bruno Haible  <bruno@clisp.org>
21290
21291         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
21292         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
21293         gl_BIGENDIAN, not AC_C_BIGENDIAN.
21294         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
21295         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
21296
21297 2009-01-19  Bruno Haible  <bruno@clisp.org>
21298
21299         * tests/test-link.c: Include <errno.h>.
21300         (main): Exit with code 77 when a hard link cannot be created due to
21301         the file system.
21302         * tests/test-link.sh: Skip test when a hard link cannot be created due
21303         to the file system.
21304         Suggested by Eric Blake.
21305
21306 2009-01-19  Martin Lambers  <marlam@marlam.de>
21307
21308         * modules/link-tests: New file.
21309         * tests/test-link.sh: New file.
21310         * tests/test-link.c: New file.
21311
21312 2009-01-19  Eric Blake  <ebb9@byu.net>
21313
21314         doc: mention another function added in cygwin 1.7.0
21315         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
21316         Another new function in cygwin 1.7.
21317
21318 2009-01-19  Bruno Haible  <bruno@clisp.org>
21319
21320         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
21321         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
21322         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
21323         gl_BIGENDIAN, not AC_C_BIGENDIAN.
21324         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
21325         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
21326         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
21327         * m4/md4.m4 (gl_MD4): Likewise.
21328         * m4/md5.m4 (gl_MD5): Likewise.
21329         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
21330         * m4/sha1.m4 (gl_SHA1): Likewise.
21331         * m4/sha256.m4 (gl_SHA256): Likewise.
21332         * m4/sha512.m4 (gl_SHA512): Likewise.
21333
21334 2009-01-19  Bruno Haible  <bruno@clisp.org>
21335
21336         * modules/uniname/uniname-tests (Depends-on): Add progname.
21337         * tests/uniname/test-uninames.c: Include progname.h.
21338         (main): Call set_program_name.
21339
21340         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
21341         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
21342         (main): Call set_program_name.
21343
21344         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
21345         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
21346         (main): Call set_program_name.
21347
21348         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
21349         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
21350         (main): Call set_program_name.
21351
21352         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
21353         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
21354         (main): Call set_program_name.
21355
21356         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
21357         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
21358         (main): Call set_program_name.
21359
21360         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
21361         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
21362         (main): Call set_program_name.
21363
21364         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
21365         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
21366         (main): Call set_program_name.
21367
21368         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
21369         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
21370         (main): Call set_program_name.
21371
21372 2009-01-19  Eric Blake  <ebb9@byu.net>
21373
21374         test-unistd: test previous patch
21375         * tests/test-unistd.c: Test *_FILENO macros.
21376
21377         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
21378         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
21379         Guarantee a definition.
21380         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
21381         * modules/unistd-safer (Depends-on): Add dependency on unistd.
21382         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
21383         * lib/dup-safer.c (STDERR_FILENO): Likewise.
21384         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
21385         Likewise.
21386         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
21387         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
21388         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
21389         Likewise.
21390         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
21391         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
21392         (STDERR_FILENO): Likewise.
21393         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
21394         (STDERR_FILENO): Likewise.
21395         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
21396         (STDERR_FILENO): Likewise.
21397         Reported by Elbert Pol.
21398
21399 2009-01-19  Eric Blake  <ebb9@byu.net>
21400
21401         doc: mention more functions added in cygwin 1.7.0
21402         * doc/posix-functions/abort.texi (abort): Update wording related
21403         to cygwin.
21404         * doc/posix-functions/daylight.texi (daylight): Likewise.
21405         * doc/posix-functions/optarg.texi (optarg): Likewise.
21406         * doc/posix-functions/optarg.texi (opterr): Likewise.
21407         * doc/posix-functions/optarg.texi (optind): Likewise.
21408         * doc/posix-functions/optarg.texi (optopt): Likewise.
21409         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
21410         worked in 1.5.x, and was withdrawn in 1.7.
21411         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
21412         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
21413         cygwin versions.
21414         * doc/posix-functions/perror.texi (perror): Likewise.
21415         * doc/posix-functions/printf.texi (printf): Likewise.
21416         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
21417         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
21418         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
21419         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
21420         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
21421         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
21422         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
21423         Likewise.
21424         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
21425         Likewise.
21426         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
21427         this function.
21428         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
21429         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
21430         Likewise.
21431         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
21432         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
21433         * doc/posix-functions/confstr.texi (confstr): Likewise.
21434         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
21435         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
21436         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
21437         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
21438         * doc/posix-functions/fputws.texi (fputws): Likewise.
21439         * doc/posix-functions/fwide.texi (fwide): Likewise.
21440         * doc/posix-functions/getwc.texi (getwc): Likewise.
21441         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
21442         * doc/posix-functions/putwc.texi (putwc): Likewise.
21443         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
21444         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
21445         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
21446         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
21447         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
21448         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
21449         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
21450         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
21451         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
21452         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
21453         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
21454
21455 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
21456
21457         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
21458         * lib/ioctl.c: Include <sys/ioctl.h>.
21459
21460 2009-01-19  Simon Josefsson  <simon@josefsson.org>
21461
21462         * modules/getdate-tests (Depends-on): Add progname.
21463         * tests/test-getdate.c: Use progname module, to avoid link errors
21464         on non-glibc systems.
21465
21466 2009-01-18  Simon Josefsson  <simon@josefsson.org>
21467
21468         * modules/filenamecat-tests (Depends-on): Add progname.
21469         * modules/fstrcmp-tests (Depends-on): Likewise.
21470
21471         * tests/test-filenamecat.c: Use progname module, to avoid link
21472         errors on non-glibc systems.
21473         * tests/test-fstrcmp.c: Likewise.
21474
21475 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
21476
21477         gettimeofday: avoid warning: nested extern declaration of 'localtime'
21478         * lib/gettimeofday.c: Move extern declaration out of function.
21479
21480 2009-01-18  Bruno Haible  <bruno@clisp.org>
21481
21482         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
21483         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
21484         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
21485
21486 2009-01-18  Bruno Haible  <bruno@clisp.org>
21487
21488         * lib/strftime.c (MEMPCPY): Remove unused macro.
21489         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
21490
21491 2009-01-18  Martin Lambers  <marlam@marlam.de>
21492
21493         New module 'link'.
21494         * lib/unistd.in.h (link): New declaration.
21495         * lib/link.c: New file.
21496         * m4/link.m4: New file.
21497         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
21498         HAVE_LINK.
21499         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
21500         * modules/link: New file.
21501         * doc/posix-functions/link.texi: Mention the new module.
21502
21503 2009-01-18  Bruno Haible  <bruno@clisp.org>
21504
21505         * tests/test-avltree_list.c (main): Call set_program_name.
21506         * tests/test-avltree_oset.c (main): Likewise.
21507         * tests/test-obstack-printf.c: Include progname.h.
21508         (main): Call set_program_name.
21509         * tests/test-quotearg.c: Include progname.h.
21510         (main): Call set_program_name.
21511         * tests/test-xmemdup0.c: Include progname.h.
21512         (main): Call set_program_name.
21513
21514 2009-01-18  Bruno Haible  <bruno@clisp.org>
21515
21516         New module 'alphasort'.
21517         * lib/dirent.in.h (alphasort): New declaration.
21518         * lib/alphasort.c: New file, from glibc with modifications.
21519         * m4/alphasort.m4: New file.
21520         * modules/alphasort: New file.
21521         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
21522         HAVE_ALPHASORT.
21523         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
21524         HAVE_ALPHASORT.
21525         * doc/posix-functions/alphasort.texi: Mention the new module and the
21526         portability problems.
21527
21528 2009-01-18  Bruno Haible  <bruno@clisp.org>
21529
21530         New module 'scandir'.
21531         * lib/dirent.in.h (scandir): New declaration.
21532         * lib/scandir.c: New file, from glibc with modifications.
21533         * m4/scandir.m4: New file.
21534         * modules/scandir: New file.
21535         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
21536         HAVE_SCANDIR.
21537         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
21538         HAVE_SCANDIR.
21539         * doc/posix-functions/scandir.texi: Mention the new module and the
21540         portability problems.
21541
21542 2009-01-17  Bruno Haible  <bruno@clisp.org>
21543
21544         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
21545         Update documentation.
21546         (func_remove_suffix): Escape all dots in the suffix. Update
21547         documentation.
21548         (func_filter_filelist): Update documentation.
21549         Reported by Ralf Wildenhues.
21550
21551 2009-01-17  Bruno Haible  <bruno@clisp.org>
21552
21553         * modules/dprintf-posix-tests: New file.
21554         * tests/test-dprintf-posix.sh: New file.
21555         * tests/test-dprintf-posix.c: New file.
21556
21557         New modules 'dprintf', 'dprintf-posix'.
21558         * lib/stdio.in.h (dprintf): New declaration.
21559         * lib/dprintf.c: New file.
21560         * m4/dprintf.m4: New file.
21561         * m4/dprintf-posix.m4: New file.
21562         * modules/dprintf: New file.
21563         * modules/dprintf-posix: New file.
21564         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
21565         HAVE_DPRINTF, REPLACE_DPRINTF.
21566         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
21567         HAVE_DPRINTF, REPLACE_DPRINTF.
21568         * doc/posix-functions/dprintf.texi: Mention the new modules.
21569
21570 2009-01-17  Bruno Haible  <bruno@clisp.org>
21571
21572         * modules/vdprintf-posix-tests: New file.
21573         * tests/test-vdprintf-posix.sh: New file.
21574         * tests/test-vdprintf-posix.c: New file.
21575
21576         New modules 'vdprintf', 'vdprintf-posix'.
21577         * lib/stdio.in.h (vdprintf): New declaration.
21578         * lib/vdprintf.c: New file.
21579         * m4/vdprintf.m4: New file.
21580         * m4/vdprintf-posix.m4: New file.
21581         * modules/vdprintf: New file.
21582         * modules/vdprintf-posix: New file.
21583         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
21584         HAVE_VDPRINTF, REPLACE_VDPRINTF.
21585         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
21586         HAVE_VDPRINTF, REPLACE_VDPRINTF.
21587         * doc/posix-functions/vdprintf.texi: Mention the new modules.
21588
21589 2009-01-17  Bruno Haible  <bruno@clisp.org>
21590
21591         Fix replacement of fopen on mingw.
21592         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
21593         mingw.
21594
21595 2009-01-17  Bruno Haible  <bruno@clisp.org>
21596
21597         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
21598         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
21599
21600 2009-01-17  Bruno Haible  <bruno@clisp.org>
21601
21602         Avoid test-fflush2.sh failure on mingw.
21603         * tests/test-fflush2.c: Include binary-io.h.
21604         (main): Put standard input into binary mode.
21605         * modules/fflush-tests (Depends-on): Add binary-io.
21606
21607 2009-01-17  Bruno Haible  <bruno@clisp.org>
21608
21609         * lib/wchar.in.h: In another particular situation, include only the
21610         system's <wchar.h> file.
21611         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
21612         Reported by Albert Chin-A-Young <china@thewrittenword.com>
21613         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
21614
21615 2009-01-17  Bruno Haible  <bruno@clisp.org>
21616
21617         Support for stripping executables in --enable-relocatable.
21618         * build-aux/install-reloc: Expect one more argument, or an environment
21619         variable RELOC_STRIP_PROG. If set, strip the destination program and
21620         its wrapper.
21621         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
21622         RELOC_STRIP_PROG.
21623         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
21624         to set RELOCATABLE_STRIP.
21625         * NEWS: Mention the new Makefile requirement.
21626
21627 2009-01-17  Bruno Haible  <bruno@clisp.org>
21628
21629         * build-aux/install-reloc: Remove debugging information left over by
21630         C compiler on MacOS X.
21631
21632 2009-01-17  Bruno Haible  <bruno@clisp.org>
21633
21634         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
21635         * lib/progreloc.c (find_executable): Fix type of pointer passed to
21636         _NSGetExecutablePath.
21637
21638 2009-01-16  Jim Meyering  <meyering@redhat.com>
21639
21640         strerror: avoid warnings about discarding "const"
21641         * lib/strerror.c (rpl_strerror): Instead of returning a const
21642         string from each and every "case", use a variable, and add a single
21643         cast after the switch.
21644
21645 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
21646
21647         * lib/arpa_inet.in.h: Add extern "C" block for C++.
21648
21649 2009-01-16  Bruno Haible  <bruno@clisp.org>
21650
21651         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
21652         array initializer syntax that also works in C++ mode.
21653         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
21654
21655 2009-01-16  Jim Meyering  <meyering@redhat.com>
21656
21657         poll: suppress a warning
21658         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
21659         to ignore "...unsigned expression < 0 is always false" warnings.
21660
21661 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
21662
21663         poll: remove declarations of unused variables
21664         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
21665         sockbuf and optlen.
21666
21667 2009-01-15  Bruno Haible  <bruno@clisp.org>
21668
21669         Make fflush-after-ungetc POSIX compliant on BSD systems.
21670         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
21671         (clear_ungetc_buffer): Implement also for other systems.
21672         (rpl_fflush): On glibc systems, invoke
21673         clear_ungetc_buffer_preserving_position. Otherwise, invoke
21674         clear_ungetc_buffer after fetching the stream's position, not before.
21675
21676 2009-01-15  Bruno Haible  <bruno@clisp.org>
21677
21678         Make fflush-after-ungetc POSIX compliant on glibc systems.
21679         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
21680         after ungetc.
21681         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
21682         (rpl_fflush): On glibc systems, simply call the system's fflush
21683         function after clearing the ungetc buffer.
21684         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
21685         Instead, lseek only to the end of file, then use the system's fseeko
21686         for the rest. On glibc systems, reset the EOF indicator bit.
21687
21688 2009-01-15  Jim Meyering  <meyering@redhat.com>
21689
21690         openmp.m4: revert quote-adding change, for portability to older autoconf
21691         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
21692         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
21693         Simon Josefsson noticed the problem when using autoconf-2.61.
21694
21695 2009-01-15  Bruno Haible  <bruno@clisp.org>
21696
21697         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
21698         * tests/test-fflush2.c (ASSERT): Always fail.
21699         (main): Add two tests for fflush() after ungetc(), taking into account
21700         the Austin Group's clarification.
21701         Suggested by Eric Blake.
21702
21703 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
21704
21705         mktime.m4: remove K&R-style function prototypes
21706         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
21707         for the Sun C++ compiler.
21708
21709 2009-01-14  Bruno Haible  <bruno@clisp.org>
21710
21711         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
21712         while including <wchar.h>.
21713         * lib/wchar.in.h: In two particular situations on HP-UX, include only
21714         the system's <wchar.h> file.
21715         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
21716
21717 2009-01-14  Bruno Haible  <bruno@clisp.org>
21718
21719         * m4/csharp.m4: Don't mention gettext on the serial number line.
21720         * m4/csharpexec.m4: Likewise.
21721         * m4/eaccess.m4: Likewise.
21722         * m4/javaexec.m4: Likewise.
21723         * m4/sig_atomic_t.m4: Likewise.
21724         * m4/tmpdir.m4: Likewise.
21725         * m4/intldir.m4: Bump gettext version.
21726         * m4/lib-ld.m4: Likewise.
21727
21728 2009-01-14  Bruno Haible  <bruno@clisp.org>
21729
21730         * lib/progname.c (set_program_name): Add more comments.
21731         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
21732
21733 2009-01-14  Simon Josefsson  <simon@josefsson.org>
21734
21735         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
21736         were sys/stat.h does not define it.
21737
21738 2009-01-14  Jim Meyering  <meyering@redhat.com>
21739
21740         many *.m4 files: improve m4 quoting
21741         99% of this change was performed by running the following commands:
21742         git ls-files | grep '\.m4$' | xargs perl -pi \
21743           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
21744           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
21745           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
21746           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
21747         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
21748         The remainder were to add Copyright dates, increment serial numbers,
21749         undo some changes in comments, exclude m4/intl.m4, and add quotes
21750         around the "1" in ",1" where the unusual spacing prohibited the
21751         above regexps from doing the job.  For more details, see
21752         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
21753         * m4/acl.m4: Modified.
21754         * m4/afs.m4: Likewise.
21755         * m4/alloca.m4: Likewise.
21756         * m4/argp.m4: Likewise.
21757         * m4/argz.m4: Likewise.
21758         * m4/atexit.m4: Likewise.
21759         * m4/bison-i18n.m4: Likewise.
21760         * m4/bison.m4: Likewise.
21761         * m4/byteswap.m4: Likewise.
21762         * m4/c-stack.m4: Likewise.
21763         * m4/c-strtod.m4: Likewise.
21764         * m4/calloc.m4: Likewise.
21765         * m4/canonicalize-lgpl.m4: Likewise.
21766         * m4/chown.m4: Likewise.
21767         * m4/clock_time.m4: Likewise.
21768         * m4/codeset.m4: Likewise.
21769         * m4/copy-file.m4: Likewise.
21770         * m4/csharp.m4: Likewise.
21771         * m4/csharpcomp.m4: Likewise.
21772         * m4/csharpexec.m4: Likewise.
21773         * m4/d-ino.m4: Likewise.
21774         * m4/d-type.m4: Likewise.
21775         * m4/dirfd.m4: Likewise.
21776         * m4/double-slash-root.m4: Likewise.
21777         * m4/eaccess.m4: Likewise.
21778         * m4/eealloc.m4: Likewise.
21779         * m4/environ.m4: Likewise.
21780         * m4/errno_h.m4: Likewise.
21781         * m4/euidaccess.m4: Likewise.
21782         * m4/execute.m4: Likewise.
21783         * m4/fatal-signal.m4: Likewise.
21784         * m4/fchdir.m4: Likewise.
21785         * m4/fcntl_h.m4: Likewise.
21786         * m4/fileblocks.m4: Likewise.
21787         * m4/filenamecat.m4: Likewise.
21788         * m4/findprog.m4: Likewise.
21789         * m4/flexmember.m4: Likewise.
21790         * m4/fnmatch.m4: Likewise.
21791         * m4/fopen.m4: Likewise.
21792         * m4/fpending.m4: Likewise.
21793         * m4/fprintf-posix.m4: Likewise.
21794         * m4/free.m4: Likewise.
21795         * m4/frexp.m4: Likewise.
21796         * m4/frexpl.m4: Likewise.
21797         * m4/fsusage.m4: Likewise.
21798         * m4/ftruncate.m4: Likewise.
21799         * m4/gc-camellia.m4: Likewise.
21800         * m4/gc-random.m4: Likewise.
21801         * m4/gc.m4: Likewise.
21802         * m4/getaddrinfo.m4: Likewise.
21803         * m4/getcwd-abort-bug.m4: Likewise.
21804         * m4/getcwd-path-max.m4: Likewise.
21805         * m4/getdate.m4: Likewise.
21806         * m4/getdomainname.m4: Likewise.
21807         * m4/getgroups.m4: Likewise.
21808         * m4/gethostname.m4: Likewise.
21809         * m4/gethrxtime.m4: Likewise.
21810         * m4/getline.m4: Likewise.
21811         * m4/getloadavg.m4: Likewise.
21812         * m4/getndelim2.m4: Likewise.
21813         * m4/getpass.m4: Likewise.
21814         * m4/gettext.m4: Likewise.
21815         * m4/gettime.m4: Likewise.
21816         * m4/gettimeofday.m4: Likewise.
21817         * m4/gnulib-common.m4: Likewise.
21818         * m4/group-member.m4: Likewise.
21819         * m4/host-os.m4: Likewise.
21820         * m4/iconv.m4: Likewise.
21821         * m4/iconv_open.m4: Likewise.
21822         * m4/inet_ntop.m4: Likewise.
21823         * m4/inet_pton.m4: Likewise.
21824         * m4/inline.m4: Likewise.
21825         * m4/intldir.m4: Likewise.
21826         * m4/intlmacosx.m4: Likewise.
21827         * m4/intmax.m4: Likewise.
21828         * m4/intmax_t.m4: Likewise.
21829         * m4/inttypes.m4: Likewise.
21830         * m4/inttypes_h.m4: Likewise.
21831         * m4/inttypes-pri.m4: Likewise.
21832         * m4/isapipe.m4: Likewise.
21833         * m4/isnand.m4: Likewise.
21834         * m4/isnanf.m4: Likewise.
21835         * m4/isnanl.m4: Likewise.
21836         * m4/javacomp.m4: Likewise.
21837         * m4/javaexec.m4: Likewise.
21838         * m4/jm-winsz1.m4: Likewise.
21839         * m4/jm-winsz2.m4: Likewise.
21840         * m4/lchown.m4: Likewise.
21841         * m4/lcmessage.m4: Likewise.
21842         * m4/ldexpl.m4: Likewise.
21843         * m4/lib-ld.m4: Likewise.
21844         * m4/lib-link.m4: Likewise.
21845         * m4/libsigsegv.m4: Likewise.
21846         * m4/link-follow.m4: Likewise.
21847         * m4/localcharset.m4: Likewise.
21848         * m4/locale-fr.m4: Likewise.
21849         * m4/locale-ja.m4: Likewise.
21850         * m4/locale-tr.m4: Likewise.
21851         * m4/locale-zh.m4: Likewise.
21852         * m4/lock.m4: Likewise.
21853         * m4/longlong.m4: Likewise.
21854         * m4/ls-mntd-fs.m4: Likewise.
21855         * m4/lstat.m4: Likewise.
21856         * m4/malloc.m4: Likewise.
21857         * m4/mathl.m4: Likewise.
21858         * m4/mbrtowc.m4: Likewise.
21859         * m4/mbstate_t.m4: Likewise.
21860         * m4/mbswidth.m4: Likewise.
21861         * m4/memchr.m4: Likewise.
21862         * m4/memcmp.m4: Likewise.
21863         * m4/memcpy.m4: Likewise.
21864         * m4/memmem.m4: Likewise.
21865         * m4/memmove.m4: Likewise.
21866         * m4/mempcpy.m4: Likewise.
21867         * m4/memrchr.m4: Likewise.
21868         * m4/memset.m4: Likewise.
21869         * m4/minmax.m4: Likewise.
21870         * m4/mkdir-slash.m4: Likewise.
21871         * m4/mkdtemp.m4: Likewise.
21872         * m4/mktime.m4: Likewise.
21873         * m4/mmap-anon.m4: Likewise.
21874         * m4/mountlist.m4: Likewise.
21875         * m4/nanosleep.m4: Likewise.
21876         * m4/nls.m4: Likewise.
21877         * m4/nocrash.m4: Likewise.
21878         * m4/open.m4: Likewise.
21879         * m4/openat.m4: Likewise.
21880         * m4/openmp.m4: Likewise.
21881         * m4/pathmax.m4: Likewise.
21882         * m4/perl.m4: Likewise.
21883         * m4/physmem.m4: Likewise.
21884         * m4/pipe.m4: Likewise.
21885         * m4/po.m4: Likewise.
21886         * m4/poll.m4: Likewise.
21887         * m4/posixtm.m4: Likewise.
21888         * m4/posixver.m4: Likewise.
21889         * m4/printf-frexp.m4: Likewise.
21890         * m4/printf-frexpl.m4: Likewise.
21891         * m4/printf-posix.m4: Likewise.
21892         * m4/printf-posix-rpl.m4: Likewise.
21893         * m4/printf.m4: Likewise.
21894         * m4/progtest.m4: Likewise.
21895         * m4/putenv.m4: Likewise.
21896         * m4/readline.m4: Likewise.
21897         * m4/readlink.m4: Likewise.
21898         * m4/readutmp.m4: Likewise.
21899         * m4/realloc.m4: Likewise.
21900         * m4/regex.m4: Likewise.
21901         * m4/relocatable.m4: Likewise.
21902         * m4/relocatable-lib.m4: Likewise.
21903         * m4/rename-dest-slash.m4: Likewise.
21904         * m4/rename.m4: Likewise.
21905         * m4/rmdir-errno.m4: Likewise.
21906         * m4/rmdir.m4: Likewise.
21907         * m4/roundf.m4: Likewise.
21908         * m4/roundl.m4: Likewise.
21909         * m4/rpmatch.m4: Likewise.
21910         * m4/save-cwd.m4: Likewise.
21911         * m4/selinux-selinux-h.m4: Likewise.
21912         * m4/setenv.m4: Likewise.
21913         * m4/settime.m4: Likewise.
21914         * m4/sig2str.m4: Likewise.
21915         * m4/sig_atomic_t.m4: Likewise.
21916         * m4/signalblocking.m4: Likewise.
21917         * m4/signbit.m4: Likewise.
21918         * m4/sigpipe.m4: Likewise.
21919         * m4/sockets.m4: Likewise.
21920         * m4/sockpfaf.m4: Likewise.
21921         * m4/st_dm_mode.m4: Likewise.
21922         * m4/stat-time.m4: Likewise.
21923         * m4/stdbool.m4: Likewise.
21924         * m4/stdint.m4: Likewise.
21925         * m4/stdint_h.m4: Likewise.
21926         * m4/stpcpy.m4: Likewise.
21927         * m4/stpncpy.m4: Likewise.
21928         * m4/strcase.m4: Likewise.
21929         * m4/strchrnul.m4: Likewise.
21930         * m4/strcspn.m4: Likewise.
21931         * m4/strdup.m4: Likewise.
21932         * m4/strftime.m4: Likewise.
21933         * m4/strndup.m4: Likewise.
21934         * m4/strnlen.m4: Likewise.
21935         * m4/strpbrk.m4: Likewise.
21936         * m4/strptime.m4: Likewise.
21937         * m4/strsep.m4: Likewise.
21938         * m4/strtod.m4: Likewise.
21939         * m4/strtoimax.m4: Likewise.
21940         * m4/strtok_r.m4: Likewise.
21941         * m4/strtol.m4: Likewise.
21942         * m4/strtoll.m4: Likewise.
21943         * m4/strtoul.m4: Likewise.
21944         * m4/strtoull.m4: Likewise.
21945         * m4/strtoumax.m4: Likewise.
21946         * m4/strverscmp.m4: Likewise.
21947         * m4/threadlib.m4: Likewise.
21948         * m4/timegm.m4: Likewise.
21949         * m4/tm_gmtoff.m4: Likewise.
21950         * m4/tmpdir.m4: Likewise.
21951         * m4/tmpfile.m4: Likewise.
21952         * m4/tzset.m4: Likewise.
21953         * m4/uintmax_t.m4: Likewise.
21954         * m4/unlinkdir.m4: Likewise.
21955         * m4/unlocked-io.m4: Likewise.
21956         * m4/uptime.m4: Likewise.
21957         * m4/userspec.m4: Likewise.
21958         * m4/utimbuf.m4: Likewise.
21959         * m4/utime.m4: Likewise.
21960         * m4/utimes-null.m4: Likewise.
21961         * m4/utimes.m4: Likewise.
21962         * m4/vararrays.m4: Likewise.
21963         * m4/vasnprintf.m4: Likewise.
21964         * m4/vfprintf-posix.m4: Likewise.
21965         * m4/vprintf-posix.m4: Likewise.
21966         * m4/wait-process.m4: Likewise.
21967         * m4/wchar_t.m4: Likewise.
21968         * m4/wint_t.m4: Likewise.
21969         * m4/write-any-file.m4: Likewise.
21970         * m4/yield.m4: Likewise.
21971
21972 2009-01-13  Bruno Haible  <bruno@clisp.org>
21973
21974         Avoid test-copy-file.sh failures when ACL support insufficient.
21975         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
21976         TESTS_ENVIRONMENT.
21977         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
21978         Reported by Jim Meyering.
21979
21980 2009-01-13  Bruno Haible  <bruno@clisp.org>
21981
21982         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
21983         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
21984         * modules/unistdio/u8-printf-parse (Files): Likewise.
21985         * modules/unistdio/u32-printf-parse (Files): Likewise.
21986         * modules/unistdio/ulc-printf-parse (Files): Likewise.
21987
21988 2009-01-13  Simon Josefsson  <simon@josefsson.org>
21989
21990         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
21991         and m4/inttypes_h.m4 too.
21992
21993 2009-01-12  Eric Blake  <ebb9@byu.net>
21994
21995         tests: IRIX 6.2 cc can't compile -0.0 into .data
21996         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
21997         rather than at compile-time.
21998         * tests/test-floorl.c (minus_zero): Likewise.
21999         * tests/test-frexpl.c (minus_zero): Likewise.
22000         * tests/test-isnan.c (minus_zerol): Likewise.
22001         * tests/test-isnanl.h (minus_zero): Likewise.
22002         * tests/test-ldexpl.c (minus_zero): Likewise.
22003         * tests/test-roundl.c (minus_zero): Likewise.
22004         * tests/test-signbit.c (minus_zerol): Likewise.
22005         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
22006         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
22007         * tests/test-truncl.c (minus_zero): Likewise.
22008         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
22009         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
22010         Reported by Tom G. Christensen and Nelson H. F. Beebe.
22011
22012 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
22013
22014         regex: fix glibc bug 9697
22015         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
22016         handling.
22017
22018 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
22019
22020         regex: fix glibc bug 697
22021         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
22022         being NULL also if there are no backreferences.
22023
22024 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
22025
22026         regex: merge glibc changes
22027         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
22028         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
22029         re_string_skip_chars, re_string_reconstruct): Likewise.
22030         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
22031
22032 2009-01-07  Jim Meyering  <meyering@redhat.com>
22033
22034         poll: filter through cppi
22035         * lib/poll.c: Indent cpp directives to reflect nesting.
22036
22037 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
22038
22039         poll: don't return uninitialized
22040         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
22041
22042 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
22043
22044         avoid compile failure on AIX 6.1
22045         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
22046         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
22047
22048 2009-01-04  Jim Meyering  <meyering@redhat.com>
22049
22050         remove duplicate inclusion of <stdio.h>
22051         * tests/test-fprintf-posix.c: Likewise.
22052         * tests/test-printf-posix.c: Likewise.
22053         * tests/test-snprintf-posix.c: Likewise.
22054         * tests/test-sprintf-posix.c: Likewise.
22055         * tests/test-vasprintf-posix.c: Likewise.
22056         * tests/test-vfprintf-posix.c: Likewise.
22057         * tests/test-vprintf-posix.c: Likewise.
22058         * tests/test-vsnprintf-posix.c: Likewise.
22059         * tests/test-vsprintf-posix.c: Likewise.
22060
22061 2009-01-03  Jim Meyering  <meyering@redhat.com>
22062
22063         gnulib-tool: fix sed-based filtering
22064         * gnulib-tool (func_filter_filelist): Remove extra backslash
22065         in sed_fff_filter definition.
22066
22067 2009-01-02  Jim Meyering  <meyering@redhat.com>
22068
22069         strftime: avoid compilation failure on Solaris 2.6
22070         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
22071         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
22072         Don't #define mbrlen or mbsinit, since now they're guaranteed to
22073         be available.  Reported by Tom G. Christensen.  Details in
22074         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
22075
22076 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22077             Bruno Haible  <bruno@clisp.org>
22078
22079         Speed up gnulib-tool by doing more string processing through shell
22080         built-ins.
22081         * gnulib-tool (fast_func_append): New variable.
22082         (func_remove_prefix, func_remove_suffix): New functions.
22083         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
22084         (func_filter_filelist): New function.
22085         (func_get_dependencies): Use func_remove_suffix instead of sed.
22086         (func_get_automake_snippet): Use func_filter_filelist instead of a
22087         subshell and sed invocation.
22088
22089 2009-01-01  Bruno Haible  <bruno@clisp.org>
22090
22091         Fix a security bug.
22092         * gnulib-tool (func_import, import, update): Don't allow the characters
22093         '"', '$', '`', '\' in macro arguments that become part of commands that
22094         are evaluated.
22095
22096 2009-01-01  Bruno Haible  <bruno@clisp.org>
22097
22098         * gnulib-tool (func_reset_sigpipe): Add more comments.
22099
22100 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22101
22102         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
22103         func_emit_tests_Makefile_am, func_import): Abort loops early if we
22104         already know the answer.
22105
22106 2009-01-01  Jim Meyering  <meyering@redhat.com>
22107
22108         * lib/version-etc.c (version_etc_va): Update copyright year.
22109
22110 2008-12-30  Bruno Haible  <bruno@clisp.org>
22111
22112         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
22113         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
22114         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
22115
22116 2008-12-29  Eric Blake  <ebb9@byu.net>
22117
22118         multiarch: avoid autoconf AC_REQUIRE bug
22119         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
22120         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
22121         2.63 and older.
22122         Reported by Bruno Haible, and analyzed in
22123         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
22124
22125 2008-12-29  Bruno Haible  <bruno@clisp.org>
22126
22127         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
22128         files in subdirectories correctly.
22129         Reported by Ralf Wildenhues.
22130
22131 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22132
22133         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
22134         rather than 'join FILE -', for Solaris join.
22135
22136 2008-12-29  Bruno Haible  <bruno@clisp.org>
22137
22138         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
22139         quoting.
22140         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
22141         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
22142         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
22143         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
22144         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
22145         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
22146         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
22147         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
22148         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
22149         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
22150         * m4/nls.m4 (AM_NLS): Likewise.
22151         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
22152         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
22153         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
22154         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
22155         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
22156         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
22157         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
22158         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
22159         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
22160         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
22161         * m4/xsize.m4 (gl_XSIZE): Likewise.
22162         Suggested by Jim Meyering.
22163
22164 2008-11-17  Bruce Korb  <bkorb@gnu.org>
22165
22166         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
22167         * lib/parse-duration.c: use a switch instead of cascading if's.
22168
22169 2008-12-29  Eric Blake  <ebb9@byu.net>
22170
22171         wchar.h: supply WEOF on Irix 5.3
22172         * lib/wchar.in.h (wint_t): Also supply WEOF.
22173         * lib/wctype.in.h (wint_t): Likewise.
22174         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
22175         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
22176         Reported by Tom G. Christensen.
22177
22178 2008-12-26  Bruno Haible  <bruno@clisp.org>
22179
22180         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
22181         i486, i586, i686.
22182
22183 2008-12-26  Bruno Haible  <bruno@clisp.org>
22184
22185         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
22186
22187 2008-12-26  Bruno Haible  <bruno@clisp.org>
22188
22189         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
22190         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
22191         not __STDC_CONSTANT_MACROS.
22192         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
22193
22194 2008-12-25  Bruno Haible  <bruno@clisp.org>
22195
22196         Add support for universal builds to vasnprintf.
22197         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
22198         universal builds, guess no.
22199         * modules/vasnprintf-posix (Depends-on): Add multiarch.
22200         * modules/vasprintf-posix (Depends-on): Likewise.
22201         * modules/fprintf-posix (Depends-on): Likewise.
22202         * modules/vfprintf-posix (Depends-on): Likewise.
22203         * modules/snprintf-posix (Depends-on): Likewise.
22204         * modules/vsnprintf-posix (Depends-on): Likewise.
22205         * modules/sprintf-posix (Depends-on): Likewise.
22206         * modules/vsprintf-posix (Depends-on): Likewise.
22207         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
22208         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
22209         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
22210         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
22211         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
22212         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
22213         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
22214
22215         Add support for universal builds to <inttypes.h>.
22216         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
22217         _SCNu64_PREFIX): In Apple
22218         universal builds, define directly, using _LP64.
22219         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
22220         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
22221         * modules/inttypes (Depends-on): Add multiarch.
22222         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
22223
22224         Add support for universal builds to <stdint.h>.
22225         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
22226         universal builds, define directly, using _LP64.
22227         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
22228         Apple universal builds, don't test for the size and suffix of ptrdiff_t
22229         and size_t.
22230         * modules/stdint (Depends-on): Add multiarch.
22231         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
22232
22233         New module 'multiarch'.
22234         * modules/multiarch: New file.
22235         * m4/multiarch.m4: New file.
22236
22237 2008-12-25  Bruno Haible  <bruno@clisp.org>
22238
22239         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
22240
22241 2008-12-25  Bruno Haible  <bruno@clisp.org>
22242
22243         * modules/btowc (License): Relicense under LGPLv2+.
22244         * modules/mbsinit (License): Likewise.
22245         * modules/mbrtowc (License): Likewise.
22246         * modules/wcrtomb (License): Likewise.
22247         * modules/streq (License): Likewise.
22248         Reported by David Lutterkort <lutter@redhat.com>.
22249
22250 2008-12-23  Bruno Haible  <bruno@clisp.org>
22251
22252         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
22253
22254 2008-12-23  Bruno Haible  <bruno@clisp.org>
22255
22256         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
22257         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
22258         GETADDRINFO_LIB, not in LIBS.
22259         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
22260         * modules/canon-host (Link): Likewise.
22261         * NEWS: Mention the change.
22262         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
22263         GETADDRINFO_LIB.
22264
22265 2008-12-22  Bruno Haible  <bruno@clisp.org>
22266
22267         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
22268         * doc/posix-functions/iswalpha_l.texi: Likewise.
22269         * doc/posix-functions/iswblank_l.texi: Likewise.
22270         * doc/posix-functions/iswcntrl_l.texi: Likewise.
22271         * doc/posix-functions/iswctype_l.texi: Likewise.
22272         * doc/posix-functions/iswdigit_l.texi: Likewise.
22273         * doc/posix-functions/iswgraph_l.texi: Likewise.
22274         * doc/posix-functions/iswlower_l.texi: Likewise.
22275         * doc/posix-functions/iswprint_l.texi: Likewise.
22276         * doc/posix-functions/iswpunct_l.texi: Likewise.
22277         * doc/posix-functions/iswspace_l.texi: Likewise.
22278         * doc/posix-functions/iswupper_l.texi: Likewise.
22279         * doc/posix-functions/iswxdigit_l.texi: Likewise.
22280         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
22281         * doc/posix-functions/open_wmemstream.texi: Likewise.
22282         * doc/posix-functions/swscanf.texi: Likewise.
22283         * doc/posix-functions/towctrans_l.texi: Likewise.
22284         * doc/posix-functions/towlower.texi: Likewise.
22285         * doc/posix-functions/towlower_l.texi: Likewise.
22286         * doc/posix-functions/towupper.texi: Likewise.
22287         * doc/posix-functions/towupper_l.texi: Likewise.
22288         * doc/posix-functions/vfwprintf.texi: Likewise.
22289         * doc/posix-functions/vfwscanf.texi: Likewise.
22290         * doc/posix-functions/vswscanf.texi: Likewise.
22291         * doc/posix-functions/vwprintf.texi: Likewise.
22292         * doc/posix-functions/vwscanf.texi: Likewise.
22293         * doc/posix-functions/wcpcpy.texi: Likewise.
22294         * doc/posix-functions/wcpncpy.texi: Likewise.
22295         * doc/posix-functions/wcscasecmp.texi: Likewise.
22296         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
22297         * doc/posix-functions/wcscoll_l.texi: Likewise.
22298         * doc/posix-functions/wcsdup.texi: Likewise.
22299         * doc/posix-functions/wcsncasecmp.texi: Likewise.
22300         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
22301         * doc/posix-functions/wcsnlen.texi: Likewise.
22302         * doc/posix-functions/wcsnrtombs.texi: Likewise.
22303         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
22304         * doc/posix-functions/wctrans_l.texi: Likewise.
22305         * doc/posix-functions/wctype_l.texi: Likewise.
22306         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
22307         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
22308         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
22309         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
22310         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
22311         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
22312         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
22313         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
22314         * doc/glibc-functions/wcschrnul.texi: Likewise.
22315         * doc/glibc-functions/wcsftime_l.texi: Likewise.
22316         * doc/glibc-functions/wcstod_l.texi: Likewise.
22317         * doc/glibc-functions/wcstof_l.texi: Likewise.
22318         * doc/glibc-functions/wcstol_l.texi: Likewise.
22319         * doc/glibc-functions/wcstold_l.texi: Likewise.
22320         * doc/glibc-functions/wcstoll_l.texi: Likewise.
22321         * doc/glibc-functions/wcstoq.texi: Likewise.
22322         * doc/glibc-functions/wcstoul_l.texi: Likewise.
22323         * doc/glibc-functions/wcstoull_l.texi: Likewise.
22324         * doc/glibc-functions/wcstouq.texi: Likewise.
22325         * doc/glibc-functions/wmempcpy.texi: Likewise.
22326
22327 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
22328             Eric Blake  <ebb9@byu.net>
22329             Paolo Bonzini  <bonzini@gnu.org>
22330             Bruno Haible  <bruno@clisp.org>
22331
22332         Make c-stack work on Haiku.
22333         * lib/c-stack.c (SA_ONSTACK): Define fallback.
22334         (c_stack_action): Use SA_ONSTACK flag.
22335
22336 2008-12-22  Bruno Haible  <bruno@clisp.org>
22337
22338         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
22339
22340 2008-12-22  Bruno Haible  <bruno@clisp.org>
22341
22342         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
22343         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
22344         being overridden.
22345         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
22346         New macros.
22347         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
22348         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
22349         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
22350         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
22351
22352 2008-12-22  Bruno Haible  <bruno@clisp.org>
22353
22354         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
22355         from test code.
22356
22357 2008-12-22  Eric Blake  <ebb9@byu.net>
22358
22359         Avoid gcc warnings on cygwin.
22360         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
22361         Avoid unused variable.
22362         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
22363         Likewise.
22364
22365 2008-12-22  Bruno Haible  <bruno@clisp.org>
22366
22367         Remove HAVE_MBRTOWC conditionals.
22368         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
22369         (mbscasecmp): Assume mbrtowc function.
22370         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
22371         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
22372         * lib/mbschr.c: Include mbuiter.h unconditionally.
22373         (mbschr): Assume mbrtowc function.
22374         * lib/mbscspn.c: Include mbuiter.h unconditionally.
22375         (mbscspn): Assume mbrtowc function.
22376         * lib/mbslen.c: Include mbuiter.h unconditionally.
22377         (mbslen): Assume mbrtowc function.
22378         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
22379         (mbsncasecmp): Assume mbrtowc function.
22380         * lib/mbsnlen.c: Include mbiter.h unconditionally.
22381         (mbsnlen): Assume mbrtowc function.
22382         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
22383         (mbspbrk): Assume mbrtowc function.
22384         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
22385         (mbspcasecmp): Assume mbrtowc function.
22386         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
22387         (mbsrchr): Assume mbrtowc function.
22388         * lib/mbssep.c: Include mbuiter.h unconditionally.
22389         (mbssep): Assume mbrtowc function.
22390         * lib/mbsspn.c: Include mbuiter.h unconditionally.
22391         (mbsspn): Assume mbrtowc function.
22392         * lib/mbsstr.c: Include mbuiter.h unconditionally.
22393         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
22394         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
22395         (mbstok_r): Assume mbrtowc function.
22396         * lib/propername.c: Include mbuiter.h unconditionally.
22397         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
22398         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
22399         (trim2): Assume mbrtowc function.
22400         * lib/mbswidth.c (mbsinit): Remove fallback definition.
22401         (mbsnwidth): Assume mbrtowc function.
22402         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
22403         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
22404         fallback definitions.
22405         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
22406
22407 2008-12-22  Bruno Haible  <bruno@clisp.org>
22408
22409         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
22410
22411 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
22412
22413         * modules/regex: Request emulations for the mb*/wc* functions we need.
22414         * m4/regex.m4: Don't look for those functions here.
22415         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
22416
22417 2008-12-22  Bruno Haible  <bruno@clisp.org>
22418
22419         * modules/fnmatch (Depends-on): Remove duplicated dependency.
22420
22421 2008-12-21  Bruno Haible  <bruno@clisp.org>
22422
22423         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
22424         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
22425         (Include): Remove conditionalization.
22426         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
22427         (Include): Remove conditionalization.
22428         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
22429         (Include): Remove conditionalization.
22430         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
22431         * m4/mbfile.m4 (gl_MBFILE): Likewise.
22432         * NEWS: Mention the change.
22433         Reported by Alan Hourihane <alanh@fairlite.co.uk>
22434         via Sergey Poznyakoff <gray@gnu.org.ua>.
22435
22436 2008-12-21  Bruno Haible  <bruno@clisp.org>
22437
22438         * MODULES.html.sh (Extended multibyte and wide character utilities
22439         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
22440         wcrtomb, wcsrtombs.
22441         (Support for systems lacking POSIX:2008): Add accept, bind, close,
22442         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
22443         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
22444         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
22445
22446 2008-12-21  Bruno Haible  <bruno@clisp.org>
22447
22448         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
22449
22450 2008-12-21  Bruno Haible  <bruno@clisp.org>
22451
22452         * modules/wcsnrtombs-tests: New file.
22453         * tests/test-wcsnrtombs1.sh: New file.
22454         * tests/test-wcsnrtombs2.sh: New file.
22455         * tests/test-wcsnrtombs3.sh: New file.
22456         * tests/test-wcsnrtombs4.sh: New file.
22457         * tests/test-wcsnrtombs.c: New file.
22458
22459         New module 'wcsnrtombs'.
22460         * lib/wchar.in.h (wcsnrtombs): New declaration.
22461         * lib/wcsnrtombs.c: New file.
22462         * lib/wcsrtombs-state.c: New file.
22463         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
22464         (internal_state): Remove variable.
22465         * m4/wcsnrtombs.m4: New file.
22466         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
22467         compilation units.
22468         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
22469         HAVE_WCSNRTOMBS.
22470         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
22471         HAVE_WCSNRTOMBS.
22472         * modules/wcsnrtombs: New file.
22473         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
22474         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
22475
22476 2008-12-21  Bruno Haible  <bruno@clisp.org>
22477
22478         * modules/wcsrtombs-tests: New file.
22479         * tests/test-wcsrtombs1.sh: New file.
22480         * tests/test-wcsrtombs2.sh: New file.
22481         * tests/test-wcsrtombs3.sh: New file.
22482         * tests/test-wcsrtombs4.sh: New file.
22483         * tests/test-wcsrtombs.c: New file.
22484
22485         New module 'wcsrtombs'.
22486         * lib/wchar.in.h (wcsrtombs): New declaration.
22487         * lib/wcsrtombs.c: New file.
22488         * m4/wcsrtombs.m4: New file.
22489         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
22490         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
22491         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
22492         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
22493         * modules/wcsrtombs: New file.
22494         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
22495         bugs.
22496
22497 2008-12-21  Bruno Haible  <bruno@clisp.org>
22498
22499         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
22500         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
22501         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
22502         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
22503         if not correct.
22504         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
22505         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
22506         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
22507         m4/locale-zh.m4, m4/codeset.m4.
22508         * doc/posix-functions/wcrtomb.texi: Document the bug.
22509
22510 2008-12-21  Bruno Haible  <bruno@clisp.org>
22511
22512         Work around a btowc() bug on IRIX 6.5.
22513         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
22514         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
22515         REPLACE_WTOBC if not.
22516         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
22517         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
22518         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
22519
22520 2008-12-21  Bruno Haible  <bruno@clisp.org>
22521
22522         * modules/wcrtomb-tests: New file.
22523         * tests/test-wcrtomb.sh: New file.
22524         * tests/test-wcrtomb.c: New file.
22525
22526         New module 'wcrtomb'.
22527         * lib/wchar.in.h (wcrtomb): New declaration.
22528         * lib/wcrtomb.c: New file.
22529         * m4/wcrtomb.m4: New file.
22530         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
22531         HAVE_WCRTOMB.
22532         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
22533         HAVE_WCRTOMB.
22534         * modules/wcrtomb: New file.
22535         * doc/posix-functions/wcrtomb.texi: Mention the new module.
22536
22537 2008-12-21  Bruno Haible  <bruno@clisp.org>
22538
22539         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
22540         * modules/mbsrtowcs (Files): Likewise.
22541         * modules/wctob (Files): Likewise.
22542         * modules/c-strcase-tests (Files): Likewise.
22543         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
22544         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
22545         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
22546         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
22547         * modules/vasnprintf-posix-tests (Files): Likewise.
22548
22549 2008-12-21  William Pursell  <bill.pursell@gmail.com>
22550
22551         gitlog-to-changelog: pass all command-line arguments to git-log
22552         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
22553         it is sometimes convenient to filter the commits in various ways.
22554         gitlog-to-changelog only allows --since to specify a start date,
22555         but git-log itself supports many other filtering mechanisms.
22556         At the moment, I want to filter by branch name.  Rather than
22557         adding a --branch option to gitlog-to-changelog, it seems more
22558         flexible to simply pass all options directly to git-log and let
22559         git do the work.  Notice that this effectively makes --since a
22560         redundant option for gitlog-to-changelog, but removing it would
22561         require current usage to change since calls would then require
22562         an additional '--'.
22563
22564 2008-12-21  Bruno Haible  <bruno@clisp.org>
22565
22566         * modules/mbsnrtowcs-tests: New file.
22567         * tests/test-mbsnrtowcs1.sh: New file.
22568         * tests/test-mbsnrtowcs2.sh: New file.
22569         * tests/test-mbsnrtowcs3.sh: New file.
22570         * tests/test-mbsnrtowcs4.sh: New file.
22571         * tests/test-mbsnrtowcs.c: New file.
22572
22573         New module 'mbsnrtowcs'.
22574         * lib/wchar.in.h (mbsnrtowcs): New declaration.
22575         * lib/mbsnrtowcs.c: New file.
22576         * lib/mbsrtowcs-state.c: New file.
22577         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
22578         (internal_state): Remove variable.
22579         * m4/mbsnrtowcs.m4: New file.
22580         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
22581         compilation units.
22582         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
22583         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
22584         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
22585         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
22586         * modules/mbsnrtowcs: New file.
22587         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
22588         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
22589         portability problem.
22590
22591 2008-12-21  Bruno Haible  <bruno@clisp.org>
22592
22593         Work around mbsrtowcs bug.
22594         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
22595         (gl_FUNC_MBSRTOWCS): Invoke it.
22596         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
22597         m4/locale-zh.m4.
22598         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
22599
22600 2008-12-21  Bruno Haible  <bruno@clisp.org>
22601
22602         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
22603
22604 2008-12-21  Bruno Haible  <bruno@clisp.org>
22605
22606         Update doc for AIX.
22607         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
22608         16-bit wchar_t type.
22609         * doc/posix-functions/btowc.texi: Likewise.
22610         * doc/posix-functions/fgetwc.texi: Likewise.
22611         * doc/posix-functions/fgetws.texi: Likewise.
22612         * doc/posix-functions/fputwc.texi: Likewise.
22613         * doc/posix-functions/fputws.texi: Likewise.
22614         * doc/posix-functions/fwide.texi: Likewise.
22615         * doc/posix-functions/fwprintf.texi: Likewise.
22616         * doc/posix-functions/fwscanf.texi: Likewise.
22617         * doc/posix-functions/getwchar.texi: Likewise.
22618         * doc/posix-functions/getwc.texi: Likewise.
22619         * doc/posix-functions/iswalnum.texi: Likewise.
22620         * doc/posix-functions/iswalpha.texi: Likewise.
22621         * doc/posix-functions/iswblank.texi: Likewise.
22622         * doc/posix-functions/iswcntrl.texi: Likewise.
22623         * doc/posix-functions/iswctype.texi: Likewise.
22624         * doc/posix-functions/iswdigit.texi: Likewise.
22625         * doc/posix-functions/iswgraph.texi: Likewise.
22626         * doc/posix-functions/iswlower.texi: Likewise.
22627         * doc/posix-functions/iswprint.texi: Likewise.
22628         * doc/posix-functions/iswpunct.texi: Likewise.
22629         * doc/posix-functions/iswspace.texi: Likewise.
22630         * doc/posix-functions/iswupper.texi: Likewise.
22631         * doc/posix-functions/iswxdigit.texi: Likewise.
22632         * doc/posix-functions/mbrtowc.texi: Likewise.
22633         * doc/posix-functions/mbsrtowcs.texi: Likewise.
22634         * doc/posix-functions/mbstowcs.texi: Likewise.
22635         * doc/posix-functions/mbtowc.texi: Likewise.
22636         * doc/posix-functions/putwchar.texi: Likewise.
22637         * doc/posix-functions/putwc.texi: Likewise.
22638         * doc/posix-functions/swprintf.texi: Likewise.
22639         * doc/posix-functions/tolower.texi: Likewise.
22640         * doc/posix-functions/toupper.texi: Likewise.
22641         * doc/posix-functions/towctrans.texi: Likewise.
22642         * doc/posix-functions/ungetwc.texi: Likewise.
22643         * doc/posix-functions/vswprintf.texi: Likewise.
22644         * doc/posix-functions/wcrtomb.texi: Likewise.
22645         * doc/posix-functions/wcscat.texi: Likewise.
22646         * doc/posix-functions/wcschr.texi: Likewise.
22647         * doc/posix-functions/wcscmp.texi: Likewise.
22648         * doc/posix-functions/wcscoll.texi: Likewise.
22649         * doc/posix-functions/wcscpy.texi: Likewise.
22650         * doc/posix-functions/wcscspn.texi: Likewise.
22651         * doc/posix-functions/wcsftime.texi: Likewise.
22652         * doc/posix-functions/wcslen.texi: Likewise.
22653         * doc/posix-functions/wcsncat.texi: Likewise.
22654         * doc/posix-functions/wcsncmp.texi: Likewise.
22655         * doc/posix-functions/wcsncpy.texi: Likewise.
22656         * doc/posix-functions/wcspbrk.texi: Likewise.
22657         * doc/posix-functions/wcsrchr.texi: Likewise.
22658         * doc/posix-functions/wcsrtombs.texi: Likewise.
22659         * doc/posix-functions/wcsspn.texi: Likewise.
22660         * doc/posix-functions/wcsstr.texi: Likewise.
22661         * doc/posix-functions/wcstod.texi: Likewise.
22662         * doc/posix-functions/wcstof.texi: Likewise.
22663         * doc/posix-functions/wcstoimax.texi: Likewise.
22664         * doc/posix-functions/wcstok.texi: Likewise.
22665         * doc/posix-functions/wcstold.texi: Likewise.
22666         * doc/posix-functions/wcstoll.texi: Likewise.
22667         * doc/posix-functions/wcstol.texi: Likewise.
22668         * doc/posix-functions/wcstombs.texi: Likewise.
22669         * doc/posix-functions/wcstoull.texi: Likewise.
22670         * doc/posix-functions/wcstoul.texi: Likewise.
22671         * doc/posix-functions/wcstoumax.texi: Likewise.
22672         * doc/posix-functions/wcswidth.texi: Likewise.
22673         * doc/posix-functions/wcsxfrm.texi: Likewise.
22674         * doc/posix-functions/wctob.texi: Likewise.
22675         * doc/posix-functions/wctomb.texi: Likewise.
22676         * doc/posix-functions/wctrans.texi: Likewise.
22677         * doc/posix-functions/wctype.texi: Likewise.
22678         * doc/posix-functions/wcwidth.texi: Likewise.
22679         * doc/posix-functions/wmemchr.texi: Likewise.
22680         * doc/posix-functions/wmemcmp.texi: Likewise.
22681         * doc/posix-functions/wmemcpy.texi: Likewise.
22682         * doc/posix-functions/wmemmove.texi: Likewise.
22683         * doc/posix-functions/wmemset.texi: Likewise.
22684         * doc/posix-functions/wprintf.texi: Likewise.
22685         * doc/posix-functions/wscanf.texi: Likewise.
22686
22687 2008-12-21  Bruno Haible  <bruno@clisp.org>
22688
22689         Update doc for HP-UX 11.11.
22690         * doc/posix-functions/btowc.texi: Clarify that the function is missing
22691         in HP-UX version 11.00, not in all versions of HP-UX 11.
22692         * doc/posix-functions/fwide.texi: Likewise.
22693         * doc/posix-functions/fwprintf.texi: Likewise.
22694         * doc/posix-functions/fwscanf.texi: Likewise.
22695         * doc/posix-functions/inet_ntop.texi: Likewise.
22696         * doc/posix-functions/inet_pton.texi: Likewise.
22697         * doc/posix-functions/mbrlen.texi: Likewise.
22698         * doc/posix-functions/mbrtowc.texi: Likewise.
22699         * doc/posix-functions/mbsinit.texi: Likewise.
22700         * doc/posix-functions/mbsrtowcs.texi: Likewise.
22701         * doc/posix-functions/swprintf.texi: Likewise.
22702         * doc/posix-functions/swscanf.texi: Likewise.
22703         * doc/posix-functions/towctrans.texi: Likewise.
22704         * doc/posix-functions/vfwprintf.texi: Likewise.
22705         * doc/posix-functions/vswprintf.texi: Likewise.
22706         * doc/posix-functions/vwprintf.texi: Likewise.
22707         * doc/posix-functions/wcrtomb.texi: Likewise.
22708         * doc/posix-functions/wcsrtombs.texi: Likewise.
22709         * doc/posix-functions/wcsstr.texi: Likewise.
22710         * doc/posix-functions/wctob.texi: Likewise.
22711         * doc/posix-functions/wctrans.texi: Likewise.
22712         * doc/posix-functions/wmemchr.texi: Likewise.
22713         * doc/posix-functions/wmemcmp.texi: Likewise.
22714         * doc/posix-functions/wmemcpy.texi: Likewise.
22715         * doc/posix-functions/wmemmove.texi: Likewise.
22716         * doc/posix-functions/wmemset.texi: Likewise.
22717         * doc/posix-functions/wprintf.texi: Likewise.
22718         * doc/posix-functions/wscanf.texi: Likewise.
22719
22720 2008-12-21  Bruno Haible  <bruno@clisp.org>
22721
22722         Work around a portability problem.
22723         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
22724         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
22725
22726 2008-12-20  Bruno Haible  <bruno@clisp.org>
22727
22728         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
22729         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
22730         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
22731         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
22732         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
22733
22734         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
22735         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
22736         set.
22737         (GNULIB_defined_mbstate_t): New macro.
22738         (mbsinit): Redefine if REPLACE_MBSINIT is set.
22739         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
22740         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
22741         reuses the system's mbrtowc function but works around the bugs.
22742         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
22743         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
22744         macros.
22745         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
22746         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
22747         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
22748         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
22749         REPLACE_MBSINIT if mbsinit needs to be overridden.
22750         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
22751         REPLACE_MBSINIT, REPLACE_MBRTOWC.
22752         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
22753         REPLACE_MBSINIT, REPLACE_MBRTOWC.
22754         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
22755         m4/locale-zh.m4.
22756         (Depends): Add mbsinit.
22757         * modules/mbsinit (Depends): Add mbrtowc.
22758         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
22759
22760 2008-12-20  Bruno Haible  <bruno@clisp.org>
22761
22762         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
22763         so that there are no conversion errors on AIX.
22764         * tests/test-mbsrtowcs.c (main): LIkewise.
22765
22766 2008-12-20  Bruno Haible  <bruno@clisp.org>
22767
22768         Work around wctob bug on Solaris <= 9.
22769         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
22770         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
22771         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
22772         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
22773         * modules/wctob (Files): Add m4/locale-fr.m4.
22774         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
22775
22776 2008-12-20  Bruno Haible  <bruno@clisp.org>
22777
22778         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
22779         /dev/null.
22780         * tests/test-select-in.sh: Likewise.
22781         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22782
22783 2008-12-20  Bruno Haible  <bruno@clisp.org>
22784
22785         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
22786         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
22787         Cygwin 1.5.x.
22788
22789 2008-12-20  Bruno Haible  <bruno@clisp.org>
22790
22791         Ensure mbstate_t is defined on HP-UX 11.11.
22792         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
22793         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
22794         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
22795         AC_USE_SYSTEM_EXTENSIONS.
22796         * modules/fnmatch (Depends-on): Add extensions.
22797         * modules/mbrlen (Depends-on): Likewise.
22798         * modules/mbrtowc (Depends-on): Likewise.
22799         * modules/mbsinit (Depends-on): Likewise.
22800         * modules/mbsrtowcs (Depends-on): Likewise.
22801         * modules/mbswidth (Depends-on): Likewise.
22802         * modules/quotearg (Depends-on): Likewise.
22803         * modules/strftime (Depends-on): Likewise.
22804
22805 2008-12-20  Bruno Haible  <bruno@clisp.org>
22806
22807         Ensure wctob is declared on IRIX 6.5.
22808         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
22809         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
22810         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
22811         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
22812         of HAVE_WCTOB.
22813         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
22814         HAVE_WCTOB.
22815         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
22816
22817 2008-12-19  Bruno Haible  <bruno@clisp.org>
22818
22819         * modules/mbsrtowcs-tests: New file.
22820         * tests/test-mbsrtowcs1.sh: New file.
22821         * tests/test-mbsrtowcs2.sh: New file.
22822         * tests/test-mbsrtowcs3.sh: New file.
22823         * tests/test-mbsrtowcs4.sh: New file.
22824         * tests/test-mbsrtowcs.c: New file.
22825
22826         New module 'mbsrtowcs'.
22827         * lib/wchar.in.h (mbsrtowcs): New declaration.
22828         * lib/mbsrtowcs.c: New file.
22829         * m4/mbsrtowcs.m4: New file.
22830         * modules/mbsrtowcs: New file.
22831         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
22832         HAVE_MBSRTOWCS.
22833         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
22834         HAVE_MBSRTOWCS.
22835         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
22836
22837 2008-12-19  Bruno Haible  <bruno@clisp.org>
22838
22839         New module 'mbrlen'.
22840         * lib/wchar.in.h (mbrlen): New declaration.
22841         * lib/mbrlen.c: New file.
22842         * m4/mbrlen.m4: New file.
22843         * modules/mbrlen: New file.
22844         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
22845         HAVE_MBRLEN.
22846         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
22847         HAVE_MBRLEN.
22848         * doc/posix-functions/mbrlen.texi: Document the new module.
22849
22850 2008-12-19  Bruno Haible  <bruno@clisp.org>
22851
22852         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
22853         * modules/mbrtowc (Depends-on): Add verify.
22854         Suggested by Paul Eggert.
22855
22856 2008-12-18  Bruno Haible  <bruno@clisp.org>
22857
22858         * modules/mbsinit-tests: New file.
22859         * tests/test-mbsinit.sh: New file.
22860         * tests/test-mbsinit.c: New file.
22861
22862 2008-12-18  Bruno Haible  <bruno@clisp.org>
22863
22864         * modules/mbrtowc-tests: New file.
22865         * tests/test-mbrtowc1.sh: New file.
22866         * tests/test-mbrtowc2.sh: New file.
22867         * tests/test-mbrtowc3.sh: New file.
22868         * tests/test-mbrtowc4.sh: New file.
22869         * tests/test-mbrtowc.c: New file.
22870
22871         New module 'mbrtowc'.
22872         * lib/wchar.in.h (mbstate_t): Override when the system does not have
22873         mbsinit and mbrtowc.
22874         (mbrtowc): New declaration.
22875         * lib/mbrtowc.c: New file.
22876         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
22877         * modules/mbrtowc: New file.
22878         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
22879         HAVE_MBRTOWC.
22880         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
22881         HAVE_MBRTOWC.
22882         * doc/posix-functions/mbrtowc.texi: Document the new module.
22883
22884 2008-12-18  Bruno Haible  <bruno@clisp.org>
22885
22886         New module 'wctob'.
22887         * lib/wchar.in.h (wctob): New declaration.
22888         * lib/wctob.c: New file.
22889         * m4/wctob.m4: New file.
22890         * modules/wctob: New file.
22891         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
22892         HAVE_WCTOB.
22893         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
22894         * doc/posix-functions/wctob.texi: Document the new module.
22895
22896 2008-12-18  Bruno Haible  <bruno@clisp.org>
22897
22898         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
22899         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
22900
22901 2008-12-18  Simon Josefsson  <simon@josefsson.org>
22902
22903         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
22904         G. Christensen" <tgc@jupiterrise.com>.
22905
22906         * lib/flock.c: Need to include errno.h.  Reported by "Tom
22907         G. Christensen" <tgc@jupiterrise.com>.
22908
22909         * lib/flock.c: Need to include string.h.  Reported by "Tom
22910         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
22911         <ebb9@byu.net>.
22912
22913 2008-12-18  Bruno Haible  <bruno@clisp.org>
22914
22915         * m4/locale-ja.m4: New file, from GNU gettext.
22916
22917 2008-12-17  Bruno Haible  <bruno@clisp.org>
22918
22919         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
22920         Suggested by Eric Blake.
22921
22922 2008-12-17  Bruno Haible  <bruno@clisp.org>
22923
22924         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
22925
22926 2008-12-17  Bruno Haible  <bruno@clisp.org>
22927
22928         * lib/mbsinit.c: Include verify.h. Verify an assumption.
22929         * modules/mbsinit (Depends-on): Add verify.
22930         Suggested by Paul Eggert.
22931
22932 2008-12-17  Bruno Haible  <bruno@clisp.org>
22933
22934         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
22935         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
22936         gl_FUNC_MBRTOWC.
22937         * m4/mbiter.m4 (gl_MBITER): LIkewise.
22938         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
22939         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
22940         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
22941         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
22942         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
22943         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
22944         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
22945         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
22946         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
22947         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
22948         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
22949         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
22950         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
22951         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
22952         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
22953         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
22954         * modules/trim (configure.ac): Likewise.
22955
22956 2008-12-17  Bruno Haible  <bruno@clisp.org>
22957
22958         * modules/btowc-tests: New file.
22959         * tests/test-btowc1.sh: New file.
22960         * tests/test-btowc2.sh: New file.
22961         * tests/test-btowc.c: New file.
22962
22963         New module 'btowc'.
22964         * lib/wchar.in.h (btowc): New declaration.
22965         * lib/btowc.c: New file.
22966         * m4/btowc.m4: New file.
22967         * modules/btowc: New file.
22968         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
22969         HAVE_BTOWC.
22970         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
22971         * doc/posix-functions/btowc.texi: Document the new module.
22972
22973 2008-12-17  Bruno Haible  <bruno@clisp.org>
22974
22975         New module 'mbsinit'.
22976         * lib/wchar.in.h (mbsinit): New declaration.
22977         * lib/mbsinit.c: New file.
22978         * m4/mbsinit.m4: New file.
22979         * modules/mbsinit: New file.
22980         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
22981         HAVE_MBSINIT.
22982         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
22983         HAVE_MBSINIT.
22984         * doc/posix-functions/mbsinit.texi: Document the new module.
22985
22986 2008-12-16  Bruno Haible  <bruno@clisp.org>
22987
22988         * lib/unistd.in.h: Add comment.
22989         * tests/test-environ.c: Don't include <stdlib.h>.
22990
22991 2008-12-16  Bruno Haible  <bruno@clisp.org>
22992
22993         * lib/parse-duration.h (parse_duration): Document return value
22994         convention.
22995         * lib/parse-duration.c: Include specification header first. Add
22996         comments.
22997         (_): Remove macro.
22998         (parse_year_month_day, parse_hour_minute_second): Move side effects
22999         outside of strchr call.
23000         (parse_non_iso8601): Move side effects outside of isspace call.
23001         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
23002         call.
23003
23004 2008-12-16  Bruno Haible  <bruno@clisp.org>
23005
23006         * tests/test-parse-duration.sh: Produce no output when the test
23007         succeeds.
23008
23009 2008-12-16  Bruno Haible  <bruno@clisp.org>
23010
23011         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
23012         expressions.
23013
23014 2008-12-15  Bruno Haible  <bruno@clisp.org>
23015
23016         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
23017         * doc/glibc-functions/flistxattr.texi: Likewise.
23018         * doc/glibc-functions/fopencookie.texi: Likewise.
23019         * doc/glibc-functions/fremovexattr.texi: Likewise.
23020         * doc/glibc-functions/fsetxattr.texi: Likewise.
23021         * doc/glibc-functions/getxattr.texi: Likewise.
23022         * doc/glibc-functions/lgetxattr.texi: Likewise.
23023         * doc/glibc-functions/listxattr.texi: Likewise.
23024         * doc/glibc-functions/llistxattr.texi: Likewise.
23025         * doc/glibc-functions/lremovexattr.texi: Likewise.
23026         * doc/glibc-functions/lsetxattr.texi: Likewise.
23027         * doc/glibc-functions/removexattr.texi: Likewise.
23028         * doc/glibc-functions/setxattr.texi: Likewise.
23029         * doc/posix-functions/open_memstream.texi: Likewise.
23030
23031 2008-12-15  Eric Blake  <ebb9@byu.net>
23032
23033         Update doc for cygwin 1.7.
23034         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
23035         functions.
23036         * doc/posix-functions/fchmodat.texi: Likewise.
23037         * doc/posix-functions/fchownat.texi: Likewise.
23038         * doc/posix-functions/fdopendir.texi: Likewise.
23039         * doc/posix-functions/fmemopen.texi: Likewise.
23040         * doc/posix-functions/freeaddrinfo.texi: Likewise.
23041         * doc/posix-functions/fstatat.texi: Likewise.
23042         * doc/posix-functions/futimens.texi: Likewise.
23043         * doc/posix-functions/gai_strerror.texi: Likewise.
23044         * doc/posix-functions/getaddrinfo.texi: Likewise.
23045         * doc/posix-functions/getnameinfo.texi: Likewise.
23046         * doc/posix-functions/if_freenameindex.texi: Likewise.
23047         * doc/posix-functions/if_indextoname.texi: Likewise.
23048         * doc/posix-functions/if_nameindex.texi: Likewise.
23049         * doc/posix-functions/if_nametoindex.texi: Likewise.
23050         * doc/posix-functions/insque.texi: Likewise.
23051         * doc/posix-functions/linkat.texi: Likewise.
23052         * doc/posix-functions/llrint.texi: Likewise.
23053         * doc/posix-functions/llrintf.texi: Likewise.
23054         * doc/posix-functions/llrintl.texi: Likewise.
23055         * doc/posix-functions/lockf.texi: Likewise.
23056         * doc/posix-functions/lrintl.texi: Likewise.
23057         * doc/posix-functions/mkdirat.texi: Likewise.
23058         * doc/posix-functions/mkfifoat.texi: Likewise.
23059         * doc/posix-functions/mknodat.texi: Likewise.
23060         * doc/posix-functions/mq_close.texi: Likewise.
23061         * doc/posix-functions/mq_getattr.texi: Likewise.
23062         * doc/posix-functions/mq_notify.texi: Likewise.
23063         * doc/posix-functions/mq_open.texi: Likewise.
23064         * doc/posix-functions/mq_receive.texi: Likewise.
23065         * doc/posix-functions/mq_send.texi: Likewise.
23066         * doc/posix-functions/mq_setattr.texi: Likewise.
23067         * doc/posix-functions/mq_timedreceive.texi: Likewise.
23068         * doc/posix-functions/mq_timedsend.texi: Likewise.
23069         * doc/posix-functions/mq_unlink.texi: Likewise.
23070         * doc/posix-functions/open_memstream.texi: Likewise.
23071         * doc/posix-functions/openat.texi: Likewise.
23072         * doc/posix-functions/posix_fadvise.texi: Likewise.
23073         * doc/posix-functions/posix_fallocate.texi: Likewise.
23074         * doc/posix-functions/posix_madvise.texi: Likewise.
23075         * doc/posix-functions/posix_memalign.texi: Likewise.
23076         * doc/posix-functions/posix_openpt.texi: Likewise.
23077         * doc/posix-functions/readlinkat.texi: Likewise.
23078         * doc/posix-functions/remque.texi: Likewise.
23079         * doc/posix-functions/renameat.texi: Likewise.
23080         * doc/posix-functions/rintl.texi: Likewise.
23081         * doc/posix-functions/sem_unlink.texi: Likewise.
23082         * doc/posix-functions/shm_open.texi: Likewise.
23083         * doc/posix-functions/shm_unlink.texi: Likewise.
23084         * doc/posix-functions/signgam.texi: Likewise.
23085         * doc/posix-functions/sigset.texi: Likewise.
23086         * doc/posix-functions/stpcpy.texi: Likewise.
23087         * doc/posix-functions/stpncpy.texi: Likewise.
23088         * doc/posix-functions/strerror.texi: Likewise.
23089         * doc/posix-functions/strtod.texi: Likewise.
23090         * doc/posix-functions/symlinkat.texi: Likewise.
23091         * doc/posix-functions/unlinkat.texi: Likewise.
23092         * doc/posix-functions/utimensat.texi: Likewise.
23093         * doc/glibc-functions/bindresvport.texi: Likewise.
23094         * doc/glibc-functions/dn_expand.texi: Likewise.
23095         * doc/glibc-functions/exp10.texi: Likewise.
23096         * doc/glibc-functions/exp10f.texi: Likewise.
23097         * doc/glibc-functions/fgetxattr.texi: Likewise.
23098         * doc/glibc-functions/flistxattr.texi: Likewise.
23099         * doc/glibc-functions/fopencookie.texi: Likewise.
23100         * doc/glibc-functions/freeifaddrs.texi: Likewise.
23101         * doc/glibc-functions/fremovexattr.texi: Likewise.
23102         * doc/glibc-functions/fsetxattr.texi: Likewise.
23103         * doc/glibc-functions/getifaddrs.texi: Likewise.
23104         * doc/glibc-functions/getxattr.texi: Likewise.
23105         * doc/glibc-functions/lgetxattr.texi: Likewise.
23106         * doc/glibc-functions/listxattr.texi: Likewise.
23107         * doc/glibc-functions/llistxattr.texi: Likewise.
23108         * doc/glibc-functions/lremovexattr.texi: Likewise.
23109         * doc/glibc-functions/lsetxattr.texi: Likewise.
23110         * doc/glibc-functions/pow10.texi: Likewise.
23111         * doc/glibc-functions/pow10f.texi: Likewise.
23112         * doc/glibc-functions/rcmd_af.texi: Likewise.
23113         * doc/glibc-functions/removexattr.texi: Likewise.
23114         * doc/glibc-functions/res_init.texi: Likewise.
23115         * doc/glibc-functions/res_mkquery.texi: Likewise.
23116         * doc/glibc-functions/res_query.texi: Likewise.
23117         * doc/glibc-functions/res_querydomain.texi: Likewise.
23118         * doc/glibc-functions/res_send.texi: Likewise.
23119         * doc/glibc-functions/rresvport_af.texi: Likewise.
23120         * doc/glibc-functions/setxattr.texi: Likewise.
23121         * doc/glibc-functions/strcasestr.texi: Likewise.
23122
23123 2008-12-15  Bruno Haible  <bruno@clisp.org>
23124
23125         Fix compilation error on OSF/1 4.0.
23126         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
23127         <sys/time.h>, simply delegate to the system header.
23128         Reported by Daniel Richard G. <oss@teragram.com>.
23129
23130 2008-12-15  Bruno Haible  <bruno@clisp.org>
23131
23132         * doc/posix-functions/openat.texi: Mention the 'openat' module.
23133         * doc/posix-functions/fchmodat.texi: Likewise.
23134         * doc/posix-functions/fchownat.texi: Likewise.
23135         * doc/posix-functions/fdopendir.texi: Likewise.
23136         * doc/posix-functions/fstatat.texi: Likewise.
23137         * doc/posix-functions/mkdirat.texi: Likewise.
23138         * doc/posix-functions/unlinkat.texi: Likewise.
23139
23140 2008-12-14  Bruno Haible  <bruno@clisp.org>
23141
23142         Update doc for POSIX:2008.
23143         * doc/posix-functions/faccessat.texi: New file.
23144         * doc/posix-functions/fchmodat.texi: New file.
23145         * doc/posix-functions/fchownat.texi: New file.
23146         * doc/posix-functions/fdopendir.texi: New file.
23147         * doc/posix-functions/fstatat.texi: New file.
23148         * doc/posix-functions/futimens.texi: New file.
23149         * doc/posix-functions/linkat.texi: New file.
23150         * doc/posix-functions/mkdirat.texi: New file.
23151         * doc/posix-functions/mkfifoat.texi: New file.
23152         * doc/posix-functions/mknodat.texi: New file.
23153         * doc/posix-functions/open_wmemstream.texi: New file.
23154         * doc/posix-functions/openat.texi: New file.
23155         * doc/posix-functions/psiginfo.texi: New file.
23156         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
23157         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
23158         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
23159         * doc/posix-functions/readlinkat.texi: New file.
23160         * doc/posix-functions/renameat.texi: New file.
23161         * doc/posix-functions/strerror_l.texi: New file.
23162         * doc/posix-functions/symlinkat.texi: New file.
23163         * doc/posix-functions/unlinkat.texi: New file.
23164         * doc/posix-functions/utimensat.texi: New file.
23165         * doc/gnulib.texi (Function Substitutes): Add these subsections.
23166
23167 2008-12-14  Bruno Haible  <bruno@clisp.org>
23168
23169         Update doc for POSIX:2008.
23170         * doc/posix-functions/alphasort.texi: Renamed from
23171         doc/glibc-functions/alphasort.texi.
23172         * doc/posix-functions/dirfd.texi: Renamed from
23173         doc/glibc-functions/dirfd.texi.
23174         * doc/posix-functions/dprintf.texi: Renamed from
23175         doc/glibc-functions/dprintf.texi.
23176         * doc/posix-functions/duplocale.texi: Renamed from
23177         doc/glibc-functions/duplocale.texi.
23178         * doc/posix-functions/fexecve.texi: Renamed from
23179         doc/glibc-functions/fexecve.texi.
23180         * doc/posix-functions/fmemopen.texi: Renamed from
23181         doc/glibc-functions/fmemopen.texi.
23182         * doc/posix-functions/freelocale.texi: Renamed from
23183         doc/glibc-functions/freelocale.texi.
23184         * doc/posix-functions/getdate_err.texi: Renamed from
23185         doc/glibc-functions/getdate_err.texi.
23186         * doc/posix-functions/isalnum_l.texi: Renamed from
23187         doc/glibc-functions/isalnum_l.texi.
23188         * doc/posix-functions/isalpha_l.texi: Renamed from
23189         doc/glibc-functions/isalpha_l.texi.
23190         * doc/posix-functions/isblank_l.texi: Renamed from
23191         doc/glibc-functions/isblank_l.texi.
23192         * doc/posix-functions/iscntrl_l.texi: Renamed from
23193         doc/glibc-functions/iscntrl_l.texi.
23194         * doc/posix-functions/isdigit_l.texi: Renamed from
23195         doc/glibc-functions/isdigit_l.texi.
23196         * doc/posix-functions/isgraph_l.texi: Renamed from
23197         doc/glibc-functions/isgraph_l.texi.
23198         * doc/posix-functions/islower_l.texi: Renamed from
23199         doc/glibc-functions/islower_l.texi.
23200         * doc/posix-functions/isprint_l.texi: Renamed from
23201         doc/glibc-functions/isprint_l.texi.
23202         * doc/posix-functions/ispunct_l.texi: Renamed from
23203         doc/glibc-functions/ispunct_l.texi.
23204         * doc/posix-functions/isspace_l.texi: Renamed from
23205         doc/glibc-functions/isspace_l.texi.
23206         * doc/posix-functions/isupper_l.texi: Renamed from
23207         doc/glibc-functions/isupper_l.texi.
23208         * doc/posix-functions/iswalnum_l.texi: Renamed from
23209         doc/glibc-functions/iswalnum_l.texi.
23210         * doc/posix-functions/iswalpha_l.texi: Renamed from
23211         doc/glibc-functions/iswalpha_l.texi.
23212         * doc/posix-functions/iswblank_l.texi: Renamed from
23213         doc/glibc-functions/iswblank_l.texi.
23214         * doc/posix-functions/iswcntrl_l.texi: Renamed from
23215         doc/glibc-functions/iswcntrl_l.texi.
23216         * doc/posix-functions/iswctype_l.texi: Renamed from
23217         doc/glibc-functions/iswctype_l.texi.
23218         * doc/posix-functions/iswdigit_l.texi: Renamed from
23219         doc/glibc-functions/iswdigit_l.texi.
23220         * doc/posix-functions/iswgraph_l.texi: Renamed from
23221         doc/glibc-functions/iswgraph_l.texi.
23222         * doc/posix-functions/iswlower_l.texi: Renamed from
23223         doc/glibc-functions/iswlower_l.texi.
23224         * doc/posix-functions/iswprint_l.texi: Renamed from
23225         doc/glibc-functions/iswprint_l.texi.
23226         * doc/posix-functions/iswpunct_l.texi: Renamed from
23227         doc/glibc-functions/iswpunct_l.texi.
23228         * doc/posix-functions/iswspace_l.texi: Renamed from
23229         doc/glibc-functions/iswspace_l.texi.
23230         * doc/posix-functions/iswupper_l.texi: Renamed from
23231         doc/glibc-functions/iswupper_l.texi.
23232         * doc/posix-functions/iswxdigit_l.texi: Renamed from
23233         doc/glibc-functions/iswxdigit_l.texi.
23234         * doc/posix-functions/isxdigit_l.texi: Renamed from
23235         doc/glibc-functions/isxdigit_l.texi.
23236         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
23237         doc/glibc-functions/mbsnrtowcs.texi.
23238         * doc/posix-functions/mkdtemp.texi: Renamed from
23239         doc/glibc-functions/mkdtemp.texi.
23240         * doc/posix-functions/newlocale.texi: Renamed from
23241         doc/glibc-functions/newlocale.texi.
23242         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
23243         doc/glibc-functions/nl_langinfo_l.texi.
23244         * doc/posix-functions/open_memstream.texi: Renamed from
23245         doc/glibc-functions/open_memstream.texi.
23246         * doc/posix-functions/opterr.texi: Renamed from
23247         doc/glibc-functions/opterr.texi.
23248         * doc/posix-functions/optind.texi: Renamed from
23249         doc/glibc-functions/optind.texi.
23250         * doc/posix-functions/optopt.texi: Renamed from
23251         doc/glibc-functions/optopt.texi.
23252         * doc/posix-functions/psignal.texi: Renamed from
23253         doc/glibc-functions/psignal.texi.
23254         * doc/posix-functions/scandir.texi: Renamed from
23255         doc/glibc-functions/scandir.texi.
23256         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
23257         doc/glibc-functions/sched_get_priority_min.texi.
23258         * doc/posix-functions/signgam.texi: Renamed from
23259         doc/glibc-functions/signgam.texi.
23260         * doc/posix-functions/stpcpy.texi: Renamed from
23261         doc/glibc-functions/stpcpy.texi.
23262         * doc/posix-functions/stpncpy.texi: Renamed from
23263         doc/glibc-functions/stpncpy.texi.
23264         * doc/posix-functions/strcasecmp_l.texi: Renamed from
23265         doc/glibc-functions/strcasecmp_l.texi.
23266         * doc/posix-functions/strcoll_l.texi: Renamed from
23267         doc/glibc-functions/strcoll_l.texi.
23268         * doc/posix-functions/strfmon_l.texi: Renamed from
23269         doc/glibc-functions/strfmon_l.texi.
23270         * doc/posix-functions/strftime_l.texi: Renamed from
23271         doc/glibc-functions/strftime_l.texi.
23272         * doc/posix-functions/strncasecmp_l.texi: Renamed from
23273         doc/glibc-functions/strncasecmp_l.texi.
23274         * doc/posix-functions/strndup.texi: Renamed from
23275         doc/glibc-functions/strndup.texi.
23276         * doc/posix-functions/strnlen.texi: Renamed from
23277         doc/glibc-functions/strnlen.texi.
23278         * doc/posix-functions/strsignal.texi: Renamed from
23279         doc/glibc-functions/strsignal.texi.
23280         * doc/posix-functions/strxfrm_l.texi: Renamed from
23281         doc/glibc-functions/strxfrm_l.texi.
23282         * doc/posix-functions/timer_gettime.texi: Renamed from
23283         doc/glibc-functions/timer_gettime.texi.
23284         * doc/posix-functions/tolower_l.texi: Renamed from
23285         doc/glibc-functions/tolower_l.texi.
23286         * doc/posix-functions/toupper_l.texi: Renamed from
23287         doc/glibc-functions/toupper_l.texi.
23288         * doc/posix-functions/towctrans_l.texi: Renamed from
23289         doc/glibc-functions/towctrans_l.texi.
23290         * doc/posix-functions/towlower_l.texi: Renamed from
23291         doc/glibc-functions/towlower_l.texi.
23292         * doc/posix-functions/towupper_l.texi: Renamed from
23293         doc/glibc-functions/towupper_l.texi.
23294         * doc/posix-functions/uselocale.texi: Renamed from
23295         doc/glibc-functions/uselocale.texi.
23296         * doc/posix-functions/vdprintf.texi: Renamed from
23297         doc/glibc-functions/vdprintf.texi.
23298         * doc/posix-functions/wcpcpy.texi:
23299         Renamed from doc/glibc-functions/wcpcpy.texi.
23300         * doc/posix-functions/wcpncpy.texi: Renamed from
23301         doc/glibc-functions/wcpncpy.texi.
23302         * doc/posix-functions/wcscasecmp.texi: Renamed from
23303         doc/glibc-functions/wcscasecmp.texi.
23304         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
23305         doc/glibc-functions/wcscasecmp_l.texi.
23306         * doc/posix-functions/wcscoll_l.texi: Renamed from
23307         doc/glibc-functions/wcscoll_l.texi.
23308         * doc/posix-functions/wcsdup.texi: Renamed from
23309         doc/glibc-functions/wcsdup.texi.
23310         * doc/posix-functions/wcsncasecmp.texi: Renamed from
23311         doc/glibc-functions/wcsncasecmp.texi.
23312         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
23313         doc/glibc-functions/wcsncasecmp_l.texi.
23314         * doc/posix-functions/wcsnlen.texi: Renamed from
23315         doc/glibc-functions/wcsnlen.texi.
23316         * doc/posix-functions/wcsnrtombs.texi: Renamed from
23317         doc/glibc-functions/wcsnrtombs.texi.
23318         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
23319         doc/glibc-functions/wcsxfrm_l.texi.
23320         * doc/posix-functions/wctrans_l.texi: Renamed from
23321         doc/glibc-functions/wctrans_l.texi.
23322         * doc/posix-functions/wctype_l.texi: Renamed from
23323         doc/glibc-functions/wctype_l.texi.
23324         * doc/gnulib.texi (Function Substitutes): Add these subsections.
23325         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
23326         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
23327         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
23328         these subsections.
23329         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
23330         Remove sections.
23331
23332 2008-12-14  Bruno Haible  <bruno@clisp.org>
23333
23334         Update doc for POSIX:2008.
23335         * doc/posix-functions/*.texi: Update URL of POSIX specification.
23336
23337 2008-12-14  Bruno Haible  <bruno@clisp.org>
23338
23339         Update doc for POSIX:2008.
23340         * doc/pastposix-functions/bcmp.texi: Renamed from
23341         doc/posix-functions/bcmp.texi.
23342         * doc/pastposix-functions/bcopy.texi: Renamed from
23343         doc/posix-functions/bcopy.texi.
23344         * doc/pastposix-functions/bsd_signal.texi: Renamed from
23345         doc/posix-functions/bsd_signal.texi.
23346         * doc/pastposix-functions/bzero.texi: Renamed from
23347         doc/posix-functions/bzero.texi.
23348         * doc/pastposix-functions/ecvt.texi: Renamed from
23349         doc/posix-functions/ecvt.texi.
23350         * doc/pastposix-functions/fcvt.texi: Renamed from
23351         doc/posix-functions/fcvt.texi.
23352         * doc/pastposix-functions/ftime.texi: Renamed from
23353         doc/posix-functions/ftime.texi.
23354         * doc/pastposix-functions/gcvt.texi: Renamed from
23355         doc/posix-functions/gcvt.texi.
23356         * doc/pastposix-functions/getcontext.texi: Renamed from
23357         doc/posix-functions/getcontext.texi.
23358         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
23359         doc/posix-functions/gethostbyaddr.texi.
23360         * doc/pastposix-functions/gethostbyname.texi: Renamed from
23361         doc/posix-functions/gethostbyname.texi.
23362         * doc/pastposix-functions/getwd.texi: Renamed from
23363         doc/posix-functions/getwd.texi.
23364         * doc/pastposix-functions/h_errno.texi: Renamed from
23365         doc/posix-functions/h_errno.texi.
23366         * doc/pastposix-functions/index.texi: Renamed from
23367         doc/posix-functions/index.texi.
23368         * doc/pastposix-functions/makecontext.texi: Renamed from
23369         doc/posix-functions/makecontext.texi.
23370         * doc/pastposix-functions/mktemp.texi: Renamed from
23371         doc/posix-functions/mktemp.texi.
23372         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
23373         doc/posix-functions/pthread_attr_getstackaddr.texi.
23374         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
23375         doc/posix-functions/pthread_attr_setstackaddr.texi.
23376         * doc/pastposix-functions/rindex.texi: Renamed from
23377         doc/posix-functions/rindex.texi.
23378         * doc/pastposix-functions/scalb.texi: Renamed from
23379         doc/posix-functions/scalb.texi.
23380         * doc/pastposix-functions/setcontext.texi: Renamed from
23381         doc/posix-functions/setcontext.texi.
23382         * doc/pastposix-functions/swapcontext.texi: Renamed from
23383         doc/posix-functions/swapcontext.texi.
23384         * doc/pastposix-functions/ualarm.texi: Renamed from
23385         doc/posix-functions/ualarm.texi.
23386         * doc/pastposix-functions/usleep.texi: Renamed from
23387         doc/posix-functions/usleep.texi.
23388         * doc/pastposix-functions/vfork.texi: Renamed from
23389         doc/posix-functions/vfork.texi.
23390         * doc/pastposix-functions/wcswcs.texi: Renamed from
23391         doc/posix-functions/wcswcs.texi.
23392         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
23393         (Function Substitutes): Update.
23394
23395 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23396
23397         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
23398         m4/strerror.m4.
23399
23400 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23401             Bruno Haible  <bruno@clisp.org>
23402
23403         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
23404
23405 2008-12-13  Bruno Haible  <bruno@clisp.org>
23406
23407         * modules/strtoull (Depends-on): Remove unistd.
23408
23409 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23410
23411         * modules/strtoull (Depends-on): Add stdlib.
23412
23413 2008-12-11  Simon Josefsson  <simon@josefsson.org>
23414
23415         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
23416
23417 2008-12-10  Jim Meyering  <meyering@redhat.com>
23418
23419         gl_ASSERT: don't say assertions are disabled when they're not
23420         * m4/assert.m4 (gl_ASSERT): Do not make configure report
23421         "checking whether to enable assertions... no", when they are in
23422         fact enabled.  This is solely a bug in the output of configure.
23423         In spite of saying "no", NDEBUG was not defined in that case.
23424         Also, as noted by Eric Blake, leave assertions enabled upon
23425         --enable-assert=INVALID.
23426
23427 2008-12-10  Bruno Haible  <bruno@clisp.org>
23428
23429         Change MODULES.html to refer to POSIX:2008 where possible.
23430         * MODULES.html.sh (POSIX2008_URL): New variable.
23431         (posix_headers): Remove sys/timeb, ucontext.
23432         (posix2001_headers): New variable.
23433         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
23434         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
23435         index, makecontext, mktemp, pthread_attr_getstackaddr,
23436         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
23437         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
23438         (posix2001_functions): New variable.
23439         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
23440         otherwise.
23441
23442 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23443
23444         add missing include to parse-duration.c
23445         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
23446         * modules/parse-duration (Depends-on): Add xalloc.
23447
23448         fix sed script reading maint.mk
23449         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
23450         (syntax-check-rules): Use it.
23451
23452 2008-12-09  Bruno Haible  <bruno@clisp.org>
23453
23454         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
23455         MacOS X 10.4/PowerPC.
23456         Reported by Simon Josefsson.
23457
23458 2008-12-08  Jim Meyering  <meyering@redhat.com>
23459
23460         work around mingw's lack of some S_IF definitions
23461         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
23462         Reported by Simon Josefsson.
23463
23464 2008-12-08  Bruno Haible  <bruno@clisp.org>
23465
23466         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
23467         applied to variables. Needed on MacOS X 10.4/PowerPC.
23468         Reported by Simon Josefsson.
23469
23470 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
23471         and Eric Blake  <ebb9@byu.net>
23472
23473         assert: honor --enable-assert
23474         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
23475         order to honor --enable-assert, rather than treating it as a
23476         synonym for --disable-assert.
23477
23478 2008-12-08  Jim Meyering  <meyering@redhat.com>
23479
23480         * lib/posixtm.c: Remove now-useless declaration of mktime.
23481
23482         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
23483
23484 2008-12-07  Bruno Haible  <bruno@clisp.org>
23485
23486         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
23487         test_once): Mark functions as static.
23488         * tests/test-tls.c (test_tls): Likewise.
23489
23490 2008-12-07  Bruno Haible  <bruno@clisp.org>
23491
23492         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
23493         iconv_register_autodetect.
23494
23495 2008-12-07  Jim Meyering  <meyering@redhat.com>
23496
23497         posixtm.c: avoid a warning
23498         * lib/posixtm.c (posixtime): Don't initialize tm0.
23499         It's no longer needed to placate gcc4's -Wuninitialized,
23500         and the attempt to placate would elicit a new warning.
23501
23502         unicodeio.c: mark unused parameters
23503         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
23504         (fallback_failure_callback): Likewise.
23505
23506 2008-12-07  Bruno Haible  <bruno@clisp.org>
23507
23508         * gnulib-tool (func_create_testdir): When building the tests
23509         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
23510         Reported by Simon Josefsson.
23511
23512 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23513
23514         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
23515
23516 2008-12-06  Bruno Haible  <bruno@clisp.org>
23517
23518         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
23519         Suggested by Eric Blake.
23520
23521 2008-12-06  Bruno Haible  <bruno@clisp.org>
23522
23523         Fix a c-stack test failure on MacOS X.
23524         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
23525         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
23526         handler for SIGBUS as well.
23527         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
23528         install a signal handler for SIGBUS as well.
23529         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
23530
23531 2008-12-06  Bruno Haible  <bruno@clisp.org>
23532
23533         Advocacy documentation.
23534         * doc/gnulib-intro.texi (Benefits): New section.
23535         * doc/gnulib.texi: Update.
23536
23537 2008-12-06  Bruno Haible  <bruno@clisp.org>
23538
23539         Document the 'manywarnings' module.
23540         * doc/manywarnings.texi: New file.
23541         * doc/gnulib.texi: Include it.
23542
23543 2008-12-05  Eric Blake  <ebb9@byu.net>
23544
23545         tests: silence some gcc warnings
23546         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
23547         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
23548         type mismatches.
23549
23550 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23551             Bruno Haible  <bruno@clisp.org>
23552
23553         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
23554
23555 2008-11-29  Jim Meyering  <meyering@redhat.com>
23556
23557         unicodeio.c: mark unused parameters
23558         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
23559         (fallback_failure_callback): Likewise.
23560
23561         fts: fix a thinko
23562         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
23563         (set_stat_type): Return S_IF*-valued "type" directly.
23564         Prompted by James Youngman's spotting a related bug.
23565         Confirmed by further testing through find.
23566
23567         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
23568         * lib/fts.c (D_TYPE): Define.
23569         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
23570         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
23571         (s_ifmt_shift_bits): New function.
23572         (set_stat_type): New function.
23573         (fts_build): When not calling fts_stat, call set_stat_type
23574         to propagate dirent.d_type info to fts_read caller.
23575         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
23576         fts_statp->st_mode type information may be valid.
23577
23578 2008-11-28  Simon Josefsson  <simon@josefsson.org>
23579
23580         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
23581         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
23582         <sds@gnu.org>.
23583
23584 2008-11-20  Bruno Haible  <bruno@clisp.org>
23585
23586         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
23587         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
23588         INCLUDE_NEXT.
23589         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
23590         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
23591         * modules/math (Makefile.am): Substitute
23592         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
23593         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
23594
23595 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
23596             Bruno Haible  <bruno@clisp.org>
23597
23598         * lib/stdint.in.h: Define all type macros so that their expansion is
23599         a single typedef'ed token. Fixes a compilation failure in Boost which
23600         does "using ::int8_t;".
23601
23602 2008-11-18  Simon Josefsson  <simon@josefsson.org>
23603
23604         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
23605         gl_MANYWARN_ALL_GCC.
23606         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
23607         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
23608         * modules/manywarnings: New file.
23609         * MODULES.html.sh: Mention manywarnings module.
23610
23611 2008-11-18  Bruno Haible  <bruno@clisp.org>
23612
23613         * doc/gnulib-tool.texi (Unit tests): New section.
23614
23615 2008-11-18  Simon Josefsson  <simon@josefsson.org>
23616
23617         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
23618         paths like 'lib/po/foo.po'.
23619
23620 2008-11-17  Simon Josefsson  <simon@josefsson.org>
23621
23622         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
23623         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
23624
23625 2008-11-17  Simon Josefsson  <simon@josefsson.org>
23626
23627         * m4/warnings.m4: Use CPPFLAGS to really check whether the
23628         parameter works.
23629
23630 2008-11-17  Simon Josefsson  <simon@josefsson.org>
23631
23632         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
23633
23634 2008-11-17  Bruce Korb  <bkorb@gnu.org>
23635
23636         * modules/parse-duration-tests: New file.
23637         * tests/test-parse-duration.sh: New file.
23638         * tests/test-parse-duration.c: New file.
23639
23640         New module 'parse-duration'.
23641         * lib/parse-duration.h: New file.
23642         * lib/parse-duration.c: New file.
23643         * modules/parse-duration: New file.
23644
23645 2008-11-17  Bruno Haible  <bruno@clisp.org>
23646
23647         * tests/test-select-out.sh: Comment out the first pipe test.
23648         Reported by Simon Josefsson.
23649
23650 2008-11-17  Bruno Haible  <bruno@clisp.org>
23651
23652         * modules/getaddrinfo (Depends-on): Add servent, hostent.
23653         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
23654         gl_HOSTENT.
23655
23656 2008-11-17  Bruno Haible  <bruno@clisp.org>
23657
23658         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
23659         -lnetwork and -lnet. Needed for Haiku and BeOS.
23660
23661 2008-11-16  Bruno Haible  <bruno@clisp.org>
23662
23663         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
23664
23665 2008-11-16  Bruno Haible  <bruno@clisp.org>
23666
23667         Avoid test failure on Haiku.
23668         * tests/test-fsync.c: Include <errno.h>.
23669         (main): Don't require that fsync (0) fails.
23670
23671 2008-11-15  Bruno Haible  <bruno@clisp.org>
23672
23673         New module 'hostent'.
23674         * modules/hostent: New file.
23675         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
23676
23677 2008-11-15  Bruno Haible  <bruno@clisp.org>
23678
23679         New module 'servent'.
23680         * modules/servent: New file.
23681         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
23682
23683 2008-11-15  Bruno Haible  <bruno@clisp.org>
23684
23685         Avoid generating same test program with two different rules.
23686         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
23687         test-frexp to test-frexp-nolibm.
23688         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
23689         test-frexpl to test-frexpl-nolibm.
23690
23691 2008-11-15  Bruno Haible  <bruno@clisp.org>
23692
23693         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
23694         $(FREXPL_LIBM).
23695
23696 2008-11-15  Bruno Haible  <bruno@clisp.org>
23697
23698         * lib/netdb.in.h: Activate the definitions also when the system's
23699         <netdb.h> has 'struct addrinfo'.
23700         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
23701         EAI_OVERFLOW or AI_NUMERICSERV.
23702         * doc/posix-headers/netdb.texi: Document the problem.
23703
23704 2008-11-15  Bruno Haible  <bruno@clisp.org>
23705
23706         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
23707
23708         Make the 'sched' module work on platforms where <sched.h> exists but
23709         is incomplete (such as Haiku).
23710         * lib/sched.in.h; Include the system's <sched.h> if it exists.
23711         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
23712         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
23713         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
23714         HAVE_STRUCT_SCHED_PARAM.
23715         * modules/sched (Depends-on): Add include_next.
23716         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
23717         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
23718         * doc/posix-headers/sched.texi: Document the issue.
23719
23720 2008-11-13  Jim Meyering  <meyering@redhat.com>
23721
23722         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
23723         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
23724         test would fail due to the difference in the Report bugs to ...
23725         line.  The expected address is empty, "<>", while the actual
23726         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
23727
23728 2008-11-12  Bruno Haible  <bruno@clisp.org>
23729
23730         lstat: don't compile lstat.c on systems lacking lstat
23731         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
23732         which don't have lstat; this is handled by lib/sys_stat.in.h already.
23733         Reported by Daniel P. Berrange via Jim Meyering.
23734
23735 2008-11-12  Jim Meyering  <meyering@redhat.com>
23736
23737         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
23738
23739 2008-11-12  Simon Josefsson  <simon@josefsson.org>
23740
23741         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
23742         instead.
23743
23744 2008-11-12  Bruno Haible  <bruno@clisp.org>
23745
23746         * lib/unicodeio.c: Include unistr.h.
23747         (utf8_wctomb): Remove function.
23748         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
23749
23750 2008-11-12  Simon Josefsson  <simon@josefsson.org>
23751
23752         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
23753         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
23754         <bruno@clisp.org>.
23755         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
23756
23757 2008-11-12  Simon Josefsson  <simon@josefsson.org>
23758
23759         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
23760         * doc/gnulib.texi: Add section for warnings.
23761
23762 2008-11-11  Bruno Haible  <bruno@clisp.org>
23763
23764         * lib/sockets.h: Add a comment.
23765
23766 2008-11-11  Karl Berry  <karl@gnu.org>
23767
23768         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
23769
23770 2008-11-11  Eric Blake  <ebb9@byu.net>
23771
23772         fdl.texi: avoid git symlinks
23773         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
23774
23775 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
23776
23777         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
23778
23779 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
23780
23781         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
23782         (gl_WARN_ADD): Substitute $2 if literal.
23783
23784 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
23785
23786         * m4/warning.m4: Remove.
23787
23788 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
23789
23790         * m4/warnings.m4: Almost complete rewrite. :-)
23791
23792 2008-11-10  Simon Josefsson  <simon@josefsson.org>
23793
23794         * modules/warnings: New module.
23795         * m4/warnings.m4: New file.
23796         * MODULES.html.sh: Mention warnings module.
23797         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
23798         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
23799
23800 2008-11-10  Eric Blake  <ebb9@byu.net>
23801
23802         fdl.texi: make a symlink to the latest version
23803         * doc/standards.texi: Revert today's earlier change.
23804         * doc/fdl-1.2.texi: Rename from old fdl.texi...
23805         * doc/fdl.texi: ...and replace this with a symlink to the newer
23806         fdl-1.3.texi.
23807
23808 2008-11-10  Bruno Haible  <bruno@clisp.org>
23809
23810         * tests/test-select-fd.c (main): Accept the result file name as fourth
23811         argument.
23812         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
23813         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
23814
23815 2008-11-10  Bruno Haible  <bruno@clisp.org>
23816
23817         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
23818         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
23819         as autoconf-substituted macros.
23820         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
23821         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
23822         gl_NETDB_H_DEFAULTS. Set these variables.
23823         * modules/netdb (Makefile.am): Substitute these variables.
23824
23825 2008-11-10  Eric Blake  <ebb9@byu.net>
23826
23827         standards.texi: include correct file for FDL 1.3
23828         * doc/standards.texi (GNU Free Documentation License): Change
23829         include file to pull in FDL 1.3, not 1.2.
23830
23831         fdl.texi: revert accidental change to license
23832         * doc/fdl.texi: This is FDL 1.2, not 1.3.
23833
23834 2008-11-10  Bruno Haible  <bruno@clisp.org>
23835
23836         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
23837         cross-compiling guesses also when the native compile gives no result.
23838
23839 2008-11-10  Bruno Haible  <bruno@clisp.org>
23840
23841         * lib/spawni.c (__spawni): Force variable into the stack.
23842
23843 2008-11-10  Bruno Haible  <bruno@clisp.org>
23844
23845         Add support for Haiku.
23846         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
23847         glibc and BeOS, but also on Haiku.
23848         * lib/fpurge.c (fpurge): Likewise.
23849         * lib/freadable.c (freadable): Likewise.
23850         * lib/freadahead.c (freadahead): Likewise.
23851         * lib/freading.c (freading): Likewise.
23852         * lib/freadptr.c (freadptr): Likewise.
23853         * lib/freadseek.c (freadptrinc): Likewise.
23854         * lib/fseeko.c (rpl_fseeko): Likewise.
23855         * lib/fseterr.c (fseterr): Likewise.
23856         * lib/fwritable.c (fwritable): Likewise.
23857         * lib/fwriting.c (fwriting): Likewise.
23858         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
23859
23860 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
23861
23862         * lib/config.charset: Treat Haiku like BeOS.
23863
23864 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
23865
23866         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
23867         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
23868
23869 2008-11-08  Bruno Haible  <bruno@clisp.org>
23870
23871         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
23872         AC_CACHE_CHECK.
23873
23874 2008-11-08  Bruno Haible  <bruno@clisp.org>
23875
23876         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
23877
23878 2008-11-08  Bruno Haible  <bruno@clisp.org>
23879
23880         * tests/test-select-fd.c: New file.
23881         * tests/test-select-in.sh: New file.
23882         * tests/test-select-out.sh: New file.
23883         * tests/test-select-stdin.c: New file.
23884         * modules/select-tests (Files): Add the new files.
23885         (Depends-on): Add gettimeofday.
23886         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
23887         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
23888         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
23889
23890 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
23891             Bruno Haible  <bruno@clisp.org>
23892
23893         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
23894
23895 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
23896
23897         * build-aux/pmccabe2html: Added support for C++ source files.
23898
23899 2008-11-05  Ben Pfaff  <blp@gnu.org>
23900
23901         Fix lib/close.c build on Windows.
23902         * modules/close (Files): Add lib/w32sock.h.
23903
23904 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
23905
23906         Accept Bison's NEWS format.
23907         * build-aux/announce-gen (print_news_deltas): Tweak
23908         $re_prefix.
23909
23910 2008-11-04  Bruno Haible  <bruno@clisp.org>
23911
23912         * modules/random_r (Maintainer): Add glibc.
23913
23914 2008-11-04  Simon Josefsson  <simon@josefsson.org>
23915
23916         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
23917         by karl@freefriends.org (Karl Berry).
23918         * doc/alloca.texi: Likewise.
23919         * doc/c-ctype.texi: Likewise.
23920         * doc/c-strcase.texi: Likewise.
23921         * doc/c-strcaseeq.texi: Likewise.
23922         * doc/c-strcasestr.texi: Likewise.
23923         * doc/c-strstr.texi: Likewise.
23924         * doc/c-strtod.texi: Likewise.
23925         * doc/c-strtold.texi: Likewise.
23926         * doc/ctime.texi: Likewise.
23927         * doc/error.texi: Likewise.
23928         * doc/fdl.texi: Likewise.
23929         * doc/gcd.texi: Likewise.
23930         * doc/getdate.texi: Likewise.
23931         * doc/gnulib-intro.texi: Likewise.
23932         * doc/gnulib-tool.texi: Likewise.
23933         * doc/gnulib.texi: Likewise.
23934         * doc/inet_ntoa.texi: Likewise.
23935         * doc/maintain.texi: Likewise.
23936         * doc/make-stds.texi: Likewise.
23937         * doc/quote.texi: Likewise.
23938         * doc/regexprops-generic.texi: Likewise.
23939         * doc/standards.texi: Likewise.
23940         * doc/verify.texi: Likewise.
23941         * doc/visibility.texi: Likewise.
23942         * doc/gnulib.texi (GNU Free Documentation License): Include
23943         fdl-1.3.texi instead of fdl.texi.
23944
23945 2008-11-04  Simon Josefsson  <simon@josefsson.org>
23946
23947         * doc/fdl-1.3.texi: New file, from
23948         <http://www.gnu.org/licenses/fdl-1.3.texi>.
23949         * modules/fdl-1.3: Add.
23950         * MODULES.html.sh: Add fdl-1.3.
23951
23952 2008-11-03  Bruno Haible  <bruno@clisp.org>
23953
23954         Make determination of absolute name of header file work with AIX xlc.
23955         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
23956         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
23957         preprocessing.
23958         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
23959         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
23960
23961 2008-11-03  Simon Josefsson  <simon@josefsson.org>
23962
23963         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
23964         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
23965         <ludo@gnu.org>.
23966
23967 2008-11-02  Bruno Haible  <bruno@clisp.org>
23968
23969         Mark 'strpbrk' obsolete.
23970         * modules/strpbrk (Status, Notice): New sections.
23971         * modules/strtok_r (Depends-on): Add strpbrk.
23972
23973 2008-11-02  Bruno Haible  <bruno@clisp.org>
23974
23975         Mark 'strdup' obsolete.
23976         * modules/strdup (Status, Notice): New sections.
23977         * modules/findprog (Depends-on): Add strdup.
23978         * modules/getaddrinfo (Depends-on): Likewise.
23979         * modules/localename (Depends-on): Likewise.
23980         * modules/relocatable-lib (Depends-on): Likewise.
23981         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
23982         * modules/relocatable-prog (Depends-on): Likewise.
23983         * modules/trim (Depends-on): Likewise.
23984         * modules/unictype/gen-ctype (Depends-on): Likewise.
23985         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
23986
23987 2008-11-02  Bruno Haible  <bruno@clisp.org>
23988
23989         Mark 'strcspn' obsolete.
23990         * modules/strcspn (Status, Notice): New sections.
23991
23992 2008-11-02  Bruno Haible  <bruno@clisp.org>
23993
23994         Mark 'rmdir' obsolete.
23995         * modules/rmdir (Status, Notice): New sections.
23996         * modules/clean-temp (Depends-on): Add rmdir.
23997         * modules/openat (Depends-on): Likewise.
23998
23999 2008-11-02  Bruno Haible  <bruno@clisp.org>
24000
24001         Mark 'raise' obsolete.
24002         * modules/raise (Status, Notice): New sections.
24003         (Include): Specify <signal.h>.
24004         * modules/stdio (Depends-on): Add raise.
24005         * modules/write (Depends-on): Likewise.
24006
24007 2008-11-02  Bruno Haible  <bruno@clisp.org>
24008
24009         Mark 'memset' obsolete.
24010         * modules/memset (Status, Notice): New sections.
24011
24012 2008-11-02  Bruno Haible  <bruno@clisp.org>
24013
24014         Mark 'memmove' obsolete.
24015         * modules/memmove (Status, Notice): New sections.
24016         * modules/argp (Depends-on): Add memmove.
24017         * modules/argz (Depends-on): Likewise.
24018         * modules/canonicalize (Depends-on): Likewise.
24019         * modules/canonicalize-lgpl (Depends-on): Likewise.
24020         * modules/fts (Depends-on): Likewise.
24021         * modules/getcwd (Depends-on): Likewise.
24022         * modules/human (Depends-on): Likewise.
24023         * modules/regex (Depends-on): Likewise.
24024         * modules/striconveh (Depends-on): Likewise.
24025         * modules/trim (Depends-on): Likewise.
24026         * modules/unistr/u8-move (Depends-on): Likewise.
24027         * modules/unistr/u16-move (Depends-on): Likewise.
24028         * modules/unistr/u32-move (Depends-on): Likewise.
24029
24030 2008-11-02  Bruno Haible  <bruno@clisp.org>
24031
24032         Mark 'memcpy' obsolete.
24033         * modules/memcpy (Status, Notice): New sections.
24034
24035 2008-11-02  Bruno Haible  <bruno@clisp.org>
24036
24037         Mark 'memcmp' obsolete.
24038         * modules/memcmp (Status, Notice): New sections.
24039         * modules/argmatch (Depends-on): Add memchr.
24040         * modules/backupfile (Depends-on): Likewise.
24041         * modules/c-strcasestr (Depends-on): Likewise.
24042         * modules/crypto/des (Depends-on): Likewise.
24043         * modules/csharpcomp (Depends-on): Likewise.
24044         * modules/fnmatch (Depends-on): Likewise.
24045         * modules/git-merge-changelog (Depends-on): Likewise.
24046         * modules/isnand (Depends-on): Likewise.
24047         * modules/isnand-nolibm (Depends-on): Likewise.
24048         * modules/isnanf (Depends-on): Likewise.
24049         * modules/isnanf-nolibm (Depends-on): Likewise.
24050         * modules/isnanl (Depends-on): Likewise.
24051         * modules/isnanl-nolibm (Depends-on): Likewise.
24052         * modules/mbchar (Depends-on): Likewise.
24053         * modules/memcoll (Depends-on): Likewise.
24054         * modules/quotearg (Depends-on): Likewise.
24055         * modules/regex (Depends-on): Likewise.
24056         * modules/relocatable-prog (Depends-on): Likewise.
24057         * modules/same (Depends-on): Likewise.
24058         * modules/signbit (Depends-on): Likewise.
24059         * modules/strcasestr-simple (Depends-on): Likewise.
24060         * modules/unictype/gen-ctype (Depends-on): Likewise.
24061         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
24062         * modules/uniname/uniname (Depends-on): Likewise.
24063         * modules/unistr/u8-cmp (Depends-on): Likewise.
24064
24065 2008-11-02  Bruno Haible  <bruno@clisp.org>
24066
24067         Mark 'memchr' obsolete.
24068         * modules/memchr (Status, Notice): New sections.
24069         * modules/argp (Depends-on): Add memchr.
24070         * modules/base64 (Depends-on): Likewise.
24071         * modules/c-strcasestr (Depends-on): Likewise.
24072         * modules/chdir-long (Depends-on): Likewise.
24073         * modules/fnmatch (Depends-on): Likewise.
24074         * modules/getsubopt (Depends-on): Likewise.
24075         * modules/git-merge-changelog (Depends-on): Likewise.
24076         * modules/glob (Depends-on): Likewise.
24077         * modules/strcasestr-simple (Depends-on): Likewise.
24078         * modules/strnlen (Depends-on): Likewise.
24079
24080 2008-11-02  Bruno Haible  <bruno@clisp.org>
24081
24082         Mark 'atexit' obsolete.
24083         * modules/atexit (Status, Notice): New sections.
24084         * modules/chdir-long (Depends-on): Add atexit.
24085         * modules/wait-process (Depends-on): Likewise.
24086
24087 2008-11-02  Bruno Haible  <bruno@clisp.org>
24088
24089         * gnulib-tool: New option --with-obsolete.
24090         (func_usage): Document it.
24091         (func_modules_transitive_closure): Drop obsolete dependencies if
24092         incobsolete is not true.
24093         (func_import): Read and save the incobsolete variable to the cache.
24094
24095 2008-11-02  Bruno Haible  <bruno@clisp.org>
24096
24097         * modules/TEMPLATE-EXTENDED: New field 'Status'.
24098         * gnulib-tool: New option --extract-status.
24099         (func_usage): Document it.
24100         (sed_extract_prog): Recognize it.
24101         (func_get_status): New function.
24102
24103 2008-10-30  Simon Josefsson  <simon@josefsson.org>
24104
24105         * modules/sockets (License): Change from LGPL to LGPLv2+.
24106
24107 2008-10-28  Simon Josefsson  <simon@josefsson.org>
24108
24109         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
24110
24111 2008-10-28  Simon Josefsson  <simon@josefsson.org>
24112
24113         * MODULES.html.sh (Support for systems lacking POSIX:2001):
24114         Mention times and sys_times.
24115         * modules/sys_times, modules/sys_times-tests: New modules.
24116         * modules/times, modules/times-tests: Likewise
24117         * m4/sys_times_h.m4: New file.
24118         * lib/sys_times.in.h: Likewise
24119         * lib/times.c: Likewise.
24120         * tests/test-sys_times.c: Likewise.
24121         * tests/test-times.c: Likewise.
24122         * doc/posix-headers/sys_times.texi: Update.
24123         * doc/posix-functions/times.texi: Update.
24124
24125 2008-10-28  Jim Meyering  <meyering@redhat.com>
24126
24127         * modules/tempname (Depends-on): Add lstat.
24128
24129         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
24130
24131 2008-10-28  Simon Josefsson  <simon@josefsson.org>
24132
24133         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
24134         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
24135         using idiom used elsewhere in gnulib.
24136
24137 2008-10-27  Jim Meyering  <meyering@redhat.com>
24138
24139         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
24140
24141 2008-10-27  Simon Josefsson  <simon@josefsson.org>
24142
24143         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
24144         TESTS_ENVIRONMENT, for shell scripts that needs to call built
24145         programs.
24146         * tests/test-argp-2.sh: Use $EXEEXT when needed.
24147
24148 2008-10-27  Simon Josefsson  <simon@josefsson.org>
24149
24150         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
24151
24152 2008-10-27  Bruno Haible  <bruno@clisp.org>
24153
24154         * tests/test-lstat.c: Include <stdio.h>.
24155
24156 2008-10-27  Simon Josefsson  <simon@josefsson.org>
24157
24158         * modules/lstat-tests: New module.
24159         * tests/test-lstat.c: New file.
24160
24161 2008-10-26  Jim Meyering  <meyering@redhat.com>
24162
24163         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
24164
24165 2008-10-26  Simon Josefsson  <simon@josefsson.org>
24166             Bruno Haible  <bruno@clisp.org>
24167
24168         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
24169         * modules/configmake (Include): Add a note that the include must come
24170         after all system headers.
24171         * lib/javaversion.c: Include configmake.h after all other includes.
24172
24173 2008-10-26  Bruno Haible  <bruno@clisp.org>
24174
24175         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
24176         HAVE_STRUCT_RANDOM_DATA to 1.
24177         (gl_STDLIB_H): Simplify.
24178
24179 2008-10-26  Simon Josefsson  <simon@josefsson.org>
24180
24181         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
24182         substitute HAVE_STRUCT_RANDOM_DATA.
24183         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
24184         random_data.
24185         * modules/stdlib (Makefile.am): Substitute
24186         HAVE_STRUCT_RANDOM_DATA.
24187
24188 2008-10-26  Simon Josefsson  <simon@josefsson.org>
24189
24190         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
24191         * doc/gnulib-intro.texi (Copyright): Likewise.
24192
24193 2008-10-26  Simon Josefsson  <simon@josefsson.org>
24194
24195         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
24196         findings.
24197
24198 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
24199             Bruno Haible  <bruno@clisp.org>
24200
24201         * lib/unistd.in.h: Include <winsock2.h>.
24202         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
24203         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
24204         Provide dummy declarations.
24205         (gethostname): Override.
24206         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
24207         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
24208         gl_PREREQ_SYS_H_WINSOCK2.
24209         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
24210         * doc/posix-functions/gethostname.texi: More details.
24211
24212 2008-10-25  Bruno Haible  <bruno@clisp.org>
24213
24214         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
24215         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
24216         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
24217
24218         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
24219         here ...
24220         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
24221         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
24222         gl_UNISTD_H_DEFAULTS.
24223
24224 2008-10-25  Eric Blake  <ebb9@byu.net>
24225
24226         signbit: avoid spurious compiler failure
24227         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
24228         declarations inside function.
24229
24230 2008-10-24  Simon Josefsson  <simon@josefsson.org>
24231             Bruno Haible  <bruno@clisp.org>
24232
24233         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
24234         * modules/random_r (Depends-on): Add stdint.
24235
24236 2008-10-24  Bruno Haible  <bruno@clisp.org>
24237
24238         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
24239         Eggert.
24240         * modules/strerror (License): Likewise.
24241
24242 2008-10-24  Jim Meyering  <meyering@redhat.com>
24243
24244         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
24245         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
24246
24247 2008-10-24  Eric Blake  <ebb9@byu.net>
24248
24249         getgroups: fix compilation when getgroups is available
24250         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
24251         but with <config.h> override of getgroups disabled.
24252
24253 2008-10-24  Simon Josefsson  <simon@josefsson.org>
24254
24255         * doc/gnulib.texi (Header files): Add note about C++ problems.
24256         Explained by Bruno Haible <bruno@clisp.org>.
24257
24258 2008-10-23  Bruno Haible  <bruno@clisp.org>
24259
24260         Define a dummy SA_NODEFER macro on Interix.
24261         * lib/signal.in.h (SA_NODEFER): Define fallback.
24262         Reported by Aleksey Cheusov <cheusov@tut.by> via
24263         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
24264
24265 2008-10-23  Bruno Haible  <bruno@clisp.org>
24266
24267         * modules/freadahead (License): Change to LGPLv2+.
24268         Suggested by Simon Josefsson.
24269
24270 2008-10-23  Jim Meyering  <meyering@redhat.com>
24271
24272         random_r: new module
24273         * modules/random_r: New file.
24274         * m4/random_r.m4: New file.
24275         * lib/random_r.c: New file, from glibc.
24276         * modules/random_r-tests: New file.
24277         * tests/test-random_r.c: New file.
24278         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
24279          Declare.
24280         (RAND_MAX): Define.
24281         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
24282         * modules/stdlib: Substitute them, too.
24283         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
24284         * doc/glibc-functions/initstate_r.texi: Mention the new module.
24285         * doc/glibc-functions/random_r.texi: Likewise.
24286         * doc/glibc-functions/setstate_r.texi: Likewise.
24287         * doc/glibc-functions/srandom_r.texi: Likewise.
24288         * config/srclist.txt: Mention it.
24289
24290 2008-10-23  David Lutterkort  <lutter@redhat.com>
24291
24292         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
24293         link requirement
24294
24295 2008-10-23  Jim Meyering  <meyering@redhat.com>
24296
24297         selinux-h: mark parameters of stub functions as intentionally unused
24298         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
24299         * lib/se-context.in.h: Likewise.
24300
24301 2008-10-22  Simon Josefsson  <simon@josefsson.org>
24302
24303         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
24304
24305 2008-10-22  Simon Josefsson  <simon@josefsson.org>
24306
24307         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
24308
24309 2008-10-22  Eric Blake  <ebb9@byu.net>
24310
24311         glthread/thread: avoid compiler warning
24312         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
24313         Add unreachable abort to silence compiler.
24314
24315 2008-10-22  Eric Blake  <ebb9@byu.net>
24316
24317         netdb: also supply struct addrinfo for cygwin 1.5.x
24318         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
24319         older cygwin.
24320         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
24321         cygwin.
24322         * doc/posix-headers/netdb.texi (netdb.h): Document this.
24323
24324 2008-10-22  Bruno Haible  <bruno@clisp.org>
24325
24326         * users.txt: Update entry about pspp.
24327
24328 2008-10-21  Bruno Haible  <bruno@clisp.org>
24329
24330         Simplification.
24331         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
24332         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
24333
24334         Simplification.
24335         * lib/ioctl.c (ioctl): Don't undefine.
24336         * lib/socket.c (socket): Don't undefine.
24337
24338         Remove unused module indicator macros.
24339         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
24340         GNULIB_$1 as a C macro.
24341
24342         * doc/posix-functions/close.texi: Undo last change.
24343         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
24344         Windows platforms.
24345
24346 2008-10-21  Bruno Haible  <bruno@clisp.org>
24347
24348         Add gethostname() declaration to <unistd.h>.
24349         * lib/unistd.in.h (gethostname): New declaration.
24350         * lib/gethostname.c: Include <unistd.h>.
24351         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
24352         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
24353         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
24354         and HAVE_GETHOSTNAME.
24355         * modules/gethostname (Depends-on): Add unistd.
24356         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
24357         (Include): Specify <unistd.h>.
24358         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
24359         HAVE_GETHOSTNAME.
24360         * tests/test-gethostname.c: Include <unistd.h> first.
24361
24362 2008-10-21  Bruno Haible  <bruno@clisp.org>
24363
24364         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
24365         * modules/select-tests (Depends-on): Likewise.
24366         Reported by Simon Josefsson.
24367
24368 2008-10-21  Simon Josefsson  <simon@josefsson.org>
24369
24370         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
24371         * lib/accept.c: New file, based on winsock.c.
24372         * lib/bind.c: New file, based on winsock.c.
24373         * lib/connect.c: New file, based on winsock.c.
24374         * lib/getpeername.c: New file, based on winsock.c.
24375         * lib/getsockname.c: New file, based on winsock.c.
24376         * lib/getsockopt.c: New file, based on winsock.c.
24377         * lib/ioctl.c: New file, based on winsock.c.
24378         * lib/listen.c: New file, based on winsock.c.
24379         * lib/recv.c: New file, based on winsock.c.
24380         * lib/recvfrom.c: New file, based on winsock.c.
24381         * lib/send.c: New file, based on winsock.c.
24382         * lib/sendto.c: New file, based on winsock.c.
24383         * lib/setsockopt.c: New file, based on winsock.c.
24384         * lib/shutdown.c: New file, based on winsock.c.
24385         * lib/socket.c: New file, based on winsock.c.
24386         * lib/w32sock.h: New file, based on winsock.c.
24387         * lib/winsock.c: Remove file.
24388         * modules/accept: Likewise.
24389         * modules/bind: Likewise.
24390         * modules/connect: Likewise.
24391         * modules/getpeername: Likewise.
24392         * modules/getsockname: Likewise.
24393         * modules/getsockopt: Likewise.
24394         * modules/ioctl: Likewise.
24395         * modules/listen: Likewise.
24396         * modules/recv: Likewise.
24397         * modules/recvfrom: Likewise.
24398         * modules/send: Likewise.
24399         * modules/sendto: Likewise.
24400         * modules/setsockopt: Likewise.
24401         * modules/shutdown: Likewise.
24402         * modules/socket: Use socket.c instead of winsock.c.
24403         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
24404         * doc/posix-functions/accept.texi: Doc fix.
24405         * doc/posix-functions/bind.texi: Doc fix.
24406         * doc/posix-functions/close.texi: Doc fix.
24407         * doc/posix-functions/connect.texi: Doc fix.
24408         * doc/posix-functions/getpeername.texi: Doc fix.
24409         * doc/posix-functions/getsockname.texi: Doc fix.
24410         * doc/posix-functions/getsockopt.texi: Doc fix.
24411         * doc/posix-functions/ioctl.texi: Doc fix.
24412         * doc/posix-functions/listen.texi: Doc fix.
24413         * doc/posix-functions/recv.texi: Doc fix.
24414         * doc/posix-functions/recvfrom.texi: Doc fix.
24415         * doc/posix-functions/send.texi: Doc fix.
24416         * doc/posix-functions/sendto.texi: Doc fix.
24417         * doc/posix-functions/setsockopt.texi: Doc fix.
24418         * doc/posix-functions/shutdown.texi: Doc fix.
24419         * doc/posix-functions/socket.texi: Doc fix.
24420
24421 2008-10-20  Bruno Haible  <bruno@clisp.org>
24422
24423         Take into account the role of SIGABRT_COMPAT on Windows 2008.
24424         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
24425         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
24426         as an alias for SIGABRT.
24427         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
24428         (sigaction): Map it to SIGABRT.
24429         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
24430
24431 2008-10-20  Bruno Haible  <bruno@clisp.org>
24432
24433         * lib/fts.c: Don't include lstat.h.
24434         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
24435
24436         Move the lstat() declaration to <sys/stat.h>.
24437         * lib/lstat.h: Remove file.
24438         * lib/sys_stat.in.h: Add special invocation convention.
24439         (lstat): New declaration.
24440         * lib/lstat.c (orig_lstat): New function.
24441         (rpl_lstat): Use orig_lstat instead of lstat.
24442         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
24443         AC_C_INLINE. Set REPLACE_LSTAT.
24444         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
24445         and REPLACE_LSTAT.
24446         * modules/lstat (Files): Remove lib/lstat.h.
24447         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
24448         (Include): Specify <sys/stat.h> instead of lstat.h.
24449         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
24450         REPLACE_LSTAT.
24451         * NEWS: Mention the change.
24452
24453 2008-10-20  Bruno Haible  <bruno@clisp.org>
24454
24455         * modules/posix_spawn-tests: New file.
24456         * tests/test-posix_spawn3.c: New file.
24457
24458 2008-10-20  Bruno Haible  <bruno@clisp.org>
24459
24460         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
24461         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
24462         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
24463         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
24464         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
24465
24466 2008-10-20  Bruno Haible  <bruno@clisp.org>
24467
24468         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
24469         of posix_spawn on AIX 5.3.
24470
24471 2008-10-20  Bruno Haible  <bruno@clisp.org>
24472
24473         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
24474
24475 2008-10-20  Bruno Haible  <bruno@clisp.org>
24476
24477         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
24478         of AC_LANG_PROGRAM.
24479
24480 2008-10-20  Simon Josefsson  <simon@josefsson.org>
24481
24482         * lib/netdb.in.h: Don't define GNU specific constants until they
24483         are supported or needed.  Reported by Bruno Haible
24484         <bruno@clisp.org>.
24485
24486 2008-10-20  Simon Josefsson  <simon@josefsson.org>
24487
24488         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
24489
24490 2008-10-20  Simon Josefsson  <simon@josefsson.org>
24491
24492         * lib/getaddrinfo.h: Remove file.
24493         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
24494         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
24495         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
24496         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
24497         * modules/netdb: Substitute GNULIB_GETADDRINFO.
24498         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
24499         * tests/test-getaddrinfo.c: Likewise.
24500         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
24501         * NEWS: Mention change.
24502
24503 2008-10-19  Bruno Haible  <bruno@clisp.org>
24504
24505         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
24506
24507 2008-10-19  Bruno Haible  <bruno@clisp.org>
24508
24509         * lib/wait-process.c: Include simply <sys/wait.h>.
24510         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
24511         WIFSTOPPED): Remove fallback definitions.
24512         * modules/wait-process (Depends-on): Add sys_wait.
24513
24514         New module 'sys_wait'.
24515         * modules/sys_wait: New file.
24516         * lib/sys_wait.in.h: New file, partially copied from
24517         lib/wait-process.c.
24518         * m4/sys_wait_h.m4: New file.
24519         * doc/posix-headers/sys_wait.texi: Mention the new module.
24520
24521 2008-10-19  Bruno Haible  <bruno@clisp.org>
24522
24523         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
24524
24525 2008-10-19  Bruno Haible  <bruno@clisp.org>
24526
24527         Assume that waitpid() fills an 'int' status, not a 'union wait'.
24528         * lib/wait-process.c (WAIT_T): Remove type.
24529         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
24530         (wait_subprocess): Update.
24531
24532 2008-10-19  Bruno Haible  <bruno@clisp.org>
24533
24534         New module 'atoll'.
24535         * modules/atoll: New file.
24536         * lib/stdlib.in.h (atoll): New declaration.
24537         * lib/atoll.c: New file, from glibc with modifications.
24538         * m4/atoll.m4: New file.
24539         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
24540         HAVE_ATOLL.
24541         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
24542         * doc/posix-functions/atoll.texi: Mention the new module.
24543
24544 2008-10-19  Bruno Haible  <bruno@clisp.org>
24545
24546         Add strtoull() declaration to <stdlib.h>.
24547         * lib/stdlib.in.h (strtoull): New declaration.
24548         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
24549         Set HAVE_STRTOULL.
24550         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
24551         HAVE_STRTOULL.
24552         * modules/strtoull (Depends-on): Add stdlib.
24553         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
24554         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
24555         HAVE_STRTOULL.
24556
24557 2008-10-19  Bruno Haible  <bruno@clisp.org>
24558
24559         Add strtoll() declaration to <stdlib.h>.
24560         * lib/stdlib.in.h (strtoll): New declaration.
24561         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
24562         Set HAVE_STRTOLL.
24563         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
24564         HAVE_STRTOLL.
24565         * modules/strtoll (Depends-on): Add stdlib.
24566         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
24567         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
24568
24569 2008-10-19  Bruno Haible  <bruno@clisp.org>
24570
24571         * modules/bcopy (Depends-on): Add strings.
24572         (Include): Specify <strings.h>.
24573
24574 2008-10-19  Bruno Haible  <bruno@clisp.org>
24575
24576         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
24577
24578 2008-10-19  Bruno Haible  <bruno@clisp.org>
24579
24580         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
24581         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
24582         mingw.
24583
24584 2008-10-19  Bruno Haible  <bruno@clisp.org>
24585
24586         * lib/atanl.c: Don't include isnanl.h.
24587         * lib/cosl.c: Likewise.
24588         * lib/ldexpl.c: Likewise.
24589         * lib/logl.c: Likewise.
24590         * lib/sinl.c: Likewise.
24591         * lib/sqrtl.c: Likewise.
24592         * lib/tanl.c: Likewise.
24593
24594         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
24595         * lib/isnanf.h: Remove file.
24596         * lib/isnand.h: Remove file.
24597         * lib/isnanl.h: Remove file.
24598         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
24599         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
24600         macros.
24601         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
24602         HAVE_ISNANF, don't define it as a C macro.
24603         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
24604         HAVE_ISNAND, don't define it as a C macro.
24605         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
24606         HAVE_ISNANL, don't define it as a C macro.
24607         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
24608         HAVE_ISNAN[FDL].
24609         * modules/isnanf (Files): Remove lib/isnanf.h.
24610         (Depends-on): Add math.
24611         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
24612         (Include): Specify <math.h> instead of isnanf.h.
24613         * modules/isnand (Files): Remove lib/isnand.h.
24614         (Depends-on): Add math.
24615         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
24616         (Include): Specify <math.h> instead of isnand.h.
24617         * modules/isnanl (Files): Remove lib/isnanl.h.
24618         (Depends-on): Add math.
24619         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
24620         (Include): Specify <math.h> instead of isnanl.h.
24621         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
24622         HAVE_ISNAN[FDL].
24623         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
24624         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
24625         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
24626         * NEWS: Mention the change.
24627
24628 2008-10-18  Bruno Haible  <bruno@clisp.org>
24629
24630         Add getusershell(), setusershell(), endusershell() declarations to
24631         <unistd.h>.
24632         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
24633         declarations.
24634         * lib/getusershell.c: Include unistd.h.
24635         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
24636         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
24637         HAVE_GETUSERSHELL.
24638         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
24639         and HAVE_GETUSERSHELL.
24640         * modules/getusershell (Depends-on): Add unistd, extensions.
24641         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
24642         (Include): Specify <unistd.h>.
24643         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
24644         HAVE_GETUSERSHELL.
24645
24646 2008-10-18  Bruno Haible  <bruno@clisp.org>
24647
24648         Add a getloadavg() declaration to <stdlib.h>.
24649         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
24650         getloadavg declaration.
24651         (getloadavg): New declaration.
24652         * lib/getloadavg.c: Include <stdlib.h> first.
24653         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
24654         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
24655         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
24656         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
24657         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
24658         * modules/getloadavg (Depends-on): Add stdlib, extensions.
24659         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
24660         (Include): Specify <stdlib.h>.
24661         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
24662         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
24663
24664 2008-10-18  Bruno Haible  <bruno@clisp.org>
24665
24666         * lib/dirchownmod.c: Don't include lchmod.h.
24667
24668         Move the lchmod() declaration to <sys/stat.h>.
24669         * lib/lchmod.h: Remove file.
24670         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
24671         (lchmod): New declaration, moved here from lib/lchown.h.
24672         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
24673         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
24674         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
24675         and HAVE_LCHMOD.
24676         * modules/lchmod (Files): Remove lib/lchmod.h.
24677         (Depends-on): Add sys_stat, extensions.
24678         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
24679         (Include): Specify <sys/stat.h> instead of lchmod.h.
24680         * modules/sys_stat (Depends-on): Add link-warning.
24681         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
24682         definition of GL_LINK_WARNING.
24683         * NEWS: Mention the change.
24684
24685 2008-10-18  Bruno Haible  <bruno@clisp.org>
24686
24687         * lib/fchdir.c: Don't include dirfd.h.
24688         * lib/fts.c: Likewise.
24689         * lib/getcwd.c: Likewise.
24690         * lib/glob.c: Likewise.
24691
24692         Move the dirfd() declaration to <dirent.h>.
24693         * lib/dirfd.h: Remove file.
24694         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
24695         (dirfd): New declaration.
24696         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
24697         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
24698         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
24699         HAVE_DECL_DIRFD.
24700         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
24701         HAVE_DECL_DIRFD.
24702         * modules/dirfd (Files): Remove lib/dirfd.h.
24703         (Depends-on): Add dirent, extensions.
24704         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
24705         (Include): Specify <dirent.h> instead of dirfd.h.
24706         * modules/dirent (Depends-on): Add link-warning.
24707         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
24708         definition of GL_LINK_WARNING.
24709         * NEWS: Mention the change.
24710
24711 2008-10-18  Bruno Haible  <bruno@clisp.org>
24712
24713         Move the euidaccess() declaration to <unistd.h>.
24714         * lib/euidaccess.h: Remove file.
24715         * lib/unistd.in.h (euidaccess): New declaration.
24716         * lib/euidaccess.c: Don't include euidaccess.h.
24717         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
24718         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
24719         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
24720         and HAVE_EUIDACCESS.
24721         * modules/euidaccess (Files): Remove lib/euidaccess.h.
24722         (Depends-on): Add unistd.
24723         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
24724         (Include): Specify <unistd.h> instead of euidaccess.h.
24725         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
24726         HAVE_EUIDACCESS.
24727         * NEWS: Mention the change.
24728
24729 2008-10-18  Bruno Haible  <bruno@clisp.org>
24730
24731         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
24732
24733         Move the getdomainname() declaration to <unistd.h>.
24734         * lib/getdomainname.h: Remove file.
24735         * lib/unistd.in.h (getdomainname): New declaration.
24736         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
24737         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
24738         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
24739         HAVE_GETDOMAINNAME.
24740         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24741         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
24742         * modules/getdomainname (Files): Remove lib/getdomainname.h.
24743         (Depends-on): Add unistd, extensions.
24744         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
24745         (Includes): Specify <unistd.h> instead of getdomainname.h.
24746         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
24747         HAVE_GETDOMAINNAME.
24748         * NEWS: Mention the change.
24749
24750 2008-10-18  Bruno Haible  <bruno@clisp.org>
24751
24752         * modules/dirent: New file.
24753         * m4/dirent_h.m4: New file.
24754         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
24755         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
24756         * modules/fchdir (Files): Remove lib/dirent.in.h.
24757         (Depends-on): Add dirent.
24758         (Makefile.am): Move rules to modules/dirent.
24759         * doc/posix-headers/dirent.texi: Mention the new module.
24760
24761 2008-10-18  Bruno Haible  <bruno@clisp.org>
24762
24763         Avoid -Wunused-parameter warnings in public gnulib header files.
24764         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
24765         macro.
24766         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
24767
24768 2008-10-18  Bruno Haible  <bruno@clisp.org>
24769
24770         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
24771         * doc/glibc-functions/error.texi: Mention the module 'error'.
24772         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
24773         * doc/glibc-functions/getdomainname.texi: Mention the module
24774         'getdomainname'.
24775         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
24776         * doc/glibc-functions/getpagesize.texi: Mention the module
24777         'getpagesize'.
24778         * doc/glibc-functions/getusershell.texi: Mention the module
24779         'getusershell'.
24780         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
24781         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
24782         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
24783         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
24784         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
24785         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
24786         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
24787         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
24788         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
24789         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
24790         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
24791         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
24792         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
24793         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
24794
24795 2008-10-17  Bruno Haible  <bruno@clisp.org>
24796
24797         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
24798         HP-UX and IRIX, use -0.0L.
24799         * tests/test-ceill.c (minus_zero): Likewise.
24800         * tests/test-floorl.c (minus_zero): Likewise.
24801         * tests/test-frexpl.c (minus_zero): Likewise.
24802         * tests/test-isnan.c (minus_zerol): Likewise.
24803         * tests/test-isnanl.h (minus_zero): Likewise.
24804         * tests/test-ldexpl.c (minus_zero): Likewise.
24805         * tests/test-roundl.c (minus_zero): Likewise.
24806         * tests/test-signbit.c (minus_zerol): Likewise.
24807         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
24808         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
24809         * tests/test-truncl.c (minus_zero): Likewise.
24810         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
24811         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
24812         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
24813         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
24814
24815 2008-10-17  Bruno Haible  <bruno@clisp.org>
24816
24817         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
24818         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
24819         that it gets activated only for gcc >= 3.0.
24820         * lib/dirent.in.h: Likewise.
24821         * lib/errno.in.h: Likewise.
24822         * lib/fcntl.in.h: Likewise.
24823         * lib/float.in.h: Likewise.
24824         * lib/iconv.in.h: Likewise.
24825         * lib/inttypes.in.h: Likewise.
24826         * lib/locale.in.h: Likewise.
24827         * lib/math.in.h: Likewise.
24828         * lib/netdb.in.h: Likewise.
24829         * lib/netinet_in.in.h: Likewise.
24830         * lib/search.in.h: Likewise.
24831         * lib/signal.in.h: Likewise.
24832         * lib/spawn.in.h: Likewise.
24833         * lib/stdarg.in.h: Likewise.
24834         * lib/stdint.in.h: Likewise.
24835         * lib/stdio.in.h: Likewise.
24836         * lib/stdlib.in.h: Likewise.
24837         * lib/string.in.h: Likewise.
24838         * lib/strings.in.h: Likewise.
24839         * lib/sys_file.in.h: Likewise.
24840         * lib/sys_ioctl.in.h: Likewise.
24841         * lib/sys_select.in.h: Likewise.
24842         * lib/sys_socket.in.h: Likewise.
24843         * lib/sys_stat.in.h: Likewise.
24844         * lib/sys_time.in.h: Likewise.
24845         * lib/sysexits.in.h: Likewise.
24846         * lib/time.in.h: Likewise.
24847         * lib/unistd.in.h: Likewise.
24848         * lib/wchar.in.h: Likewise.
24849         * lib/wctype.in.h: Likewise.
24850         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
24851
24852 2008-10-17  Jim Meyering  <meyering@redhat.com>
24853
24854         ignore-value: don't depend on inline module
24855         * modules/ignore-value (Depends-on): Remove 'inline'.
24856         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
24857         Suggestion from Bruno Haible.
24858
24859 2008-10-17  Bruno Haible  <bruno@clisp.org>
24860
24861         New implementation of condition variables for Win32.
24862         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
24863         (gl_linked_waitqueue_t): New type.
24864         (gl_cond_t): Use it.
24865         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
24866         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
24867         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
24868         (glthread_cond_init_func, glthread_cond_wait_func,
24869         glthread_cond_timedwait_func, glthread_cond_signal_func,
24870         glthread_cond_broadcast_func, glthread_cond_destroy_func):
24871         Reimplemented on the basis of gl_linked_waitqueue_t.
24872         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
24873         gl_waitqueue_t.
24874         (gl_rwlock_t): Update.
24875         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
24876
24877 2008-10-17  Simon Josefsson  <simon@josefsson.org>
24878
24879         * modules/recvfrom (Depends-on): Add dependency on getpeername.
24880         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
24881
24882 2008-10-17  Jim Meyering  <meyering@redhat.com>
24883
24884         ignore-value: new module
24885         * modules/ignore-value: New file.
24886         * lib/ignore-value.h: New file.
24887         * MODULES.html.sh (Compiler warning management): New section,
24888         just for this module.  More to come.
24889
24890 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
24891
24892         open-safer.c: avoid 'signed and unsigned in conditional...' warning
24893         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
24894         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
24895
24896 2008-10-16  Jim Meyering  <meyering@redhat.com>
24897
24898         openat-die.c: avoid 'no previous prototype' warning
24899         * lib/openat-die.c: Include "openat.h".
24900         Reported by Reuben Thomas <rrt@sc3d.org>.
24901
24902 2008-10-16  Simon Josefsson  <simon@josefsson.org>
24903
24904         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
24905         * lib/netdb.in.h: Fix typo.
24906         Reported by Bruno Haible  <bruno@clisp.org>
24907
24908         * lib/netdb.in.h: Include sys/socket.h for platforms without
24909         netdb.h, to get structures like hostent on MinGW.
24910         * modules/netdb (Depends-on): Add sys_socket.
24911
24912 2008-10-15  Simon Josefsson  <simon@josefsson.org>
24913
24914         * modules/netdb, modules/netdb-tests: New file.
24915         * m4/netdb_h.m4: New file.
24916         * lib/netdb.in.h: Add, currently just an empty file pending
24917         definitions.
24918         * tests/test-netdb.c: New file.
24919         * doc/posix-headers/netdb.texi: Mention that we replace it if
24920         needed.
24921         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
24922         netdb.
24923
24924 2008-10-15  Simon Josefsson  <simon@josefsson.org>
24925
24926         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
24927         with code.
24928
24929 2008-10-13  Bruno Haible  <bruno@clisp.org>
24930
24931         * lib/glthread/cond.c (glthread_cond_wait_func,
24932         glthread_cond_timedwait_func): Add a comment.
24933
24934 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
24935
24936         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
24937         * tests/test-select.c: Likewise,
24938
24939 2008-10-13  Bruno Haible  <bruno@clisp.org>
24940
24941         * lib/glthread/cond.c (glthread_cond_wait_func,
24942         glthread_cond_timedwait_func): Fix variable name.
24943         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
24944
24945 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
24946
24947         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
24948         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
24949         struct sockaddr.sa_len.
24950         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
24951
24952 2008-10-13  Simon Josefsson  <simon@josefsson.org>
24953
24954         * build-aux/pmccabe2html: Add css and css_url parameters.
24955
24956 2008-10-12  Bruno Haible  <bruno@clisp.org>
24957
24958         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
24959         calling aclx_get.
24960         Reported by Rainer Tammer <tammer@tammer.net>.
24961
24962 2008-10-12  Bruno Haible  <bruno@clisp.org>
24963
24964         Use msvcrt aware primitives for creation/termination of Win32 threads.
24965         * lib/glthread/thread.c: Include <process.h>.
24966         (glthread_create_func): Use _beginthreadex instead of CreateThread.
24967         (wrapper_func): Update signature.
24968         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
24969
24970 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
24971             Bruno Haible  <bruno@clisp.org>
24972
24973         Provide a Win32 implementation of the 'cond' module.
24974         * lib/glthread/cond.h [USE_WIN32]: New implementation.
24975         * lib/glthread/cond.c (glthread_cond_init_func,
24976         glthread_cond_wait_func, glthread_cond_timedwait_func,
24977         glthread_cond_signal_func, glthread_cond_broadcast_func,
24978         glthread_cond_destroy_func) [USE_WIN32]: New functions.
24979         * modules/cond (Dependencies): Add gettimeofday.
24980
24981 2008-10-11  Bruno Haible  <bruno@clisp.org>
24982
24983         Make sleep work on older versions of mingw.
24984         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
24985         only whether it exists.
24986         * doc/posix-functions/sleep.texi: Mention the problem with older
24987         versions of mingw.
24988
24989 2008-10-11  Bruno Haible  <bruno@clisp.org>
24990
24991         New module 'shutdown'.
24992         * modules/shutdown: New file.
24993         * lib/sys_socket.in.h (shutdown): New declaration.
24994         * lib/winsock.c (shutdown): New function.
24995         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
24996         GNULIB_SHUTDOWN.
24997         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
24998         * doc/posix-functions/shutdown.texi: Document the new module.
24999
25000 2008-10-11  Jim Meyering  <meyering@redhat.com>
25001
25002         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
25003
25004 2008-10-11  Bruno Haible  <bruno@clisp.org>
25005
25006         New module 'fclose'.
25007         * modules/fclose: New file.
25008         * lib/stdio.in.h (fclose): New declaration.
25009         * lib/fclose.c: New file.
25010         * m4/fclose.m4: New file.
25011         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
25012         REPLACE_FCLOSE.
25013         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
25014         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
25015         REPLACE_FCLOSE.
25016         * modules/close (Depends-on): fclose.
25017         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
25018
25019 2008-10-11  Bruno Haible  <bruno@clisp.org>
25020
25021         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
25022         set errno and don't call _close.
25023
25024 2008-10-10  Bruno Haible  <bruno@clisp.org>
25025
25026         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
25027         ACL, not afterwards. Fixes test failure on Cygwin.
25028
25029 2008-10-09  Ben Pfaff  <blp@gnu.org>
25030
25031         * build-aux/announce-gen: Fix gnulib version related part of usage
25032         message.  Die with a useful error message if no tarballs are
25033         found.
25034
25035 2008-10-10  Jim Meyering  <meyering@redhat.com>
25036
25037         bootstrap: use git's --depth=N option only if it's supported
25038         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
25039         recognize the --depth option.  Reported by Pádraig Brady.
25040
25041 2008-10-09  Bruno Haible  <bruno@clisp.org>
25042
25043         New module 'ioctl'.
25044         * modules/ioctl: New file.
25045         * lib/sys_socket.in.h (ioctl): Remove declaration.
25046         * lib/winsock.c: Include <sys/ioctl.h>.
25047         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
25048         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
25049         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
25050         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
25051         * doc/posix-functions/ioctl.texi: Mention the new module.
25052
25053 2008-10-09  Bruno Haible  <bruno@clisp.org>
25054
25055         New module 'sys_ioctl'.
25056         * lib/sys_ioctl.in.h: New file.
25057         * m4/sys_ioctl_h.m4: New file.
25058         * modules/sys_ioctl: New file.
25059         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
25060
25061 2008-10-09  Bruno Haible  <bruno@clisp.org>
25062
25063         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
25064         * lib/winsock.c: Include <stdarg.h>.
25065         (rpl_ioctl): Change to second argument 'int' and then varargs.
25066
25067 2008-10-09  Bruno Haible  <bruno@clisp.org>
25068
25069         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
25070         when the sys_socket module is present and the system has <winsock2.h>.
25071
25072 2008-10-09  Bruno Haible  <bruno@clisp.org>
25073
25074         * doc/posix-functions/close.texi: Mention module 'close' instead of
25075         module 'sys_socket'.
25076
25077 2008-10-09  Bruno Haible  <bruno@clisp.org>
25078
25079         * doc/glibc-headers/sys_ioctl.texi: New file.
25080         * doc/gnulib.texi: Include it.
25081
25082 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
25083             Bruno Haible  <bruno@clisp.org>
25084
25085         Combine the two replacements of 'close'.
25086         * lib/sys_socket.in.h (close): Define to a reminder to include
25087         <unistd.h>.
25088         (_gl_close_fd_maybe_socket): New declaration.
25089         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
25090         * lib/winsock.c (close): Remove undefinition.
25091         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
25092         needed for the gnulib module 'close'.
25093         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
25094         define to an error symbol or to a warning, if suitable.
25095         * lib/close.c: Include <sys/socket.h>.
25096         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
25097         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
25098         UNISTD_H_HAVE_WINSOCK2_H.
25099         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
25100         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25101         UNISTD_H_HAVE_WINSOCK2_H.
25102         * modules/sys_socket (Files): Add m4/unistd_h.m4.
25103         (configure.ac): Set a module indicator.
25104         (Makefile.am): Substitute GNULIB_CLOSE.
25105         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
25106         * modules/poll-tests (Depends-on): Add close.
25107         * modules/select-tests (Depends-on): Likewise.
25108
25109 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
25110             Bruno Haible  <bruno@clisp.org>
25111
25112         New module 'close'.
25113         * modules/close: New file.
25114         * lib/unistd.in.h (close): Move declaration out of the
25115         FCHDIR_REPLACEMENT scope.
25116         (_gl_unregister_fd): New declaration.
25117         * lib/close.c: New file.
25118         * lib/fchdir.c (rpl_close): Remove function.
25119         * m4/close.m4: New file.
25120         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
25121         close.
25122         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
25123         REPLACE_CLOSE.
25124         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
25125         REPLACE_CLOSE.
25126         * modules/fchdir (Depends-on): Add close.
25127
25128 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
25129             Bruno Haible  <bruno@clisp.org>
25130
25131         * lib/fcntl.in.h (open): Simplify conditionals.
25132         (_gl_register_fd): New declaration.
25133         * lib/fchdir.c (rpl_open): Remove function.
25134         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
25135         also.
25136         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
25137         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
25138         open.
25139
25140 2008-10-09  Jim Meyering  <meyering@redhat.com>
25141
25142         GNUmakefile: use the more name-space-friendly "_version"
25143         * top/GNUmakefile (_dummy): Update.
25144         (_version): Rename from "version".
25145
25146 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
25147             Bruno Haible  <bruno@clisp.org>
25148
25149         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
25150         rpl_close.
25151         (_gl_register_fd): New function, extracted from rpl_open.
25152         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
25153         (rpl_open, rpl_opendir): Use _gl_register_fd.
25154
25155 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
25156
25157         Fix organization of 'open' replacement.
25158         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
25159         (gl_FUNC_OPEN): Use it.
25160         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
25161
25162 2008-10-08  Bruno Haible  <bruno@clisp.org>
25163
25164         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
25165
25166 2008-10-08  Simon Josefsson  <simon@josefsson.org>
25167
25168         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
25169         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
25170         listen).
25171
25172 2008-10-08  Eric Blake  <ebb9@byu.net>
25173
25174         GNUmakefile: add 'make version' target
25175         * top/GNUmakefile (_curr-ver): Split version update rules...
25176         (version): ...into a target.
25177
25178 2008-10-07  Bruno Haible  <bruno@clisp.org>
25179
25180         Use a more portable replacement expression for -0.0L.
25181         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
25182         instead of -0.0L. Fix m4 quotation.
25183
25184         * tests/test-signbit.c: Include <float.h>.
25185         (minus_zero): New variable.
25186         (test_signbitl): Use minus_zero instead of -zero.
25187         * modules/signbit-tests (Depends-on): Add float.
25188
25189         * tests/test-ceill.c: Include <float.h>.
25190         (zero): Remove variable.
25191         (minus_zero): New variable.
25192         (main): Use minus_zero instead of -zero.
25193         * modules/ceill-tests (Depends-on): Add float.
25194
25195         * tests/test-floorl.c: Include <float.h>.
25196         (zero): Remove variable.
25197         (minus_zero): New variable.
25198         (main): Use minus_zero instead of -zero.
25199         * modules/floorl-tests (Depends-on): Add float.
25200
25201         * tests/test-roundl.c: Include <float.h>.
25202         (zero): Remove variable.
25203         (minus_zero): New variable.
25204         (main): Use minus_zero instead of -zero.
25205         * modules/roundl-tests (Depends-on): Add float.
25206
25207         * tests/test-truncl.c: Include <float.h>.
25208         (zero): Remove variable.
25209         (minus_zero): New variable.
25210         (main): Use minus_zero instead of -zero.
25211         * modules/truncl-tests (Depends-on): Add float.
25212
25213         * tests/test-frexpl.c (zero): Remove variable.
25214         (minus_zero): New variable.
25215         (main): Use minus_zero instead of -zero.
25216         * modules/frexpl-tests (Depends-on): Add float.
25217
25218         * tests/test-isnan.c (zerol): Remove variable.
25219         (minus_zerol): New variable.
25220         (test_long_double): Use minus_zerol instead of -zerol.
25221         * modules/isnan-tests (Depends-on): Add float.
25222
25223         * tests/test-isnanl.h (zero): Remove variable.
25224         (minus_zero): New variable.
25225         (main): Use minus_zero instead of -zero.
25226         * modules/isnanl-nolibm-tests (Depends-on): Add float.
25227         * modules/isnanl-tests (Depends-on): Add float.
25228
25229         * tests/test-ldexpl.c (zero): Remove variable.
25230         (minus_zero): New variable.
25231         (main): Use minus_zero instead of -zero.
25232         * modules/ldexpl-tests (Depends-on): Add float.
25233
25234         * tests/test-snprintf-posix.h (zerol): Remove variable.
25235         (minus_zerol): New variable.
25236         (test_function): Use minus_zerol instead of -zerol.
25237         * modules/snprintf-posix-tests (Depends-on): Add float.
25238         * modules/vsnprintf-posix-tests (Depends-on): Add float.
25239
25240         * tests/test-sprintf-posix.h (zerol): Remove variable.
25241         (minus_zerol): New variable.
25242         (test_function): Use minus_zerol instead of -zerol.
25243         * modules/sprintf-posix-tests (Depends-on): Add float.
25244         * modules/vsprintf-posix-tests (Depends-on): Add float.
25245
25246         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
25247         (minus_zerol): New variable.
25248         (test_function): Use minus_zerol instead of -zerol.
25249         * modules/vasnprintf-posix-tests (Depends-on): Add float.
25250
25251         * tests/test-vasprintf-posix.c (zerol): Remove variable.
25252         (minus_zerol): New variable.
25253         (test_function): Use minus_zerol instead of -zerol.
25254         * modules/vasprintf-posix-tests (Depends-on): Add float.
25255
25256 2008-10-07  Simon Josefsson  <simon@josefsson.org>
25257
25258         * MODULES.html.sh (Support for building documentation): Mention
25259         pmccabe2html.  Sort entries.
25260
25261         Add pmccabe2html module, from gnupdf.
25262         * build-aux/pmccabe.css: New file.
25263         * build-aux/pmccabe2html: New file.
25264         * m4/pmccabe2html.m4: New file.
25265         * modules/pmccabe2html: New file.
25266
25267 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
25268
25269         flock: new module
25270         * MODULES.html.sh: Add to list of modules.
25271         * lib/flock.c: flock implementation for Windows and Unix systems
25272         which have fcntl.
25273         * doc/glibc-functions/flock.texi: Update documentation.
25274         * lib/sys_file.in.h: <sys/file.h> header file.
25275         * m4/flock.m4: M4 macros.
25276         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
25277         * modules/flock: flock module.
25278         * modules/flock-tests: flock tests module.
25279         * modules/sys_file: sys/file.h module.
25280         * tests/test-flock.c: test suite for flock.
25281
25282 2008-10-06  Jim Meyering  <meyering@redhat.com>
25283
25284         bootstrap: check for LT_INIT more portably still ;-)
25285         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
25286         Spotted by Bruno Haible.
25287
25288 2008-10-06  Eric Blake  <ebb9@byu.net>
25289
25290         test-signbit: avoid tripping Irix cc bug on -0.0L
25291         * tests/test-signbit.c (minus_zerol): Delete, and replace with
25292         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
25293         entire testsuite consistent and avoids an Irix 6.2 bug.
25294
25295 2008-10-05  Bruno Haible  <bruno@clisp.org>
25296             Jim Meyering  <jim@meyering.net>
25297
25298         Add an option for ignoring EPIPE during close_stdout.
25299         * lib/closeout.h: Include <stdbool.h>.
25300         (close_stdout_set_ignore_EPIPE): New declaration.
25301         * lib/closeout.c: Include <stdbool.h>.
25302         (ignore_EPIPE): New variable.
25303         (close_stdout_set_ignore_EPIPE): New function.
25304         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
25305         * lib/close-stream.c (close_stream): Mention the possible EPIPE
25306         failure.
25307         * modules/closeout (Depends-on): Add stdbool.
25308
25309 2008-10-05  Bruno Haible  <bruno@clisp.org>
25310
25311         * modules/accept: New file.
25312         * modules/bind: New file.
25313         * modules/connect: New file.
25314         * modules/getpeername: New file.
25315         * modules/getsockname: New file.
25316         * modules/getsockopt: New file.
25317         * modules/listen: New file.
25318         * modules/recv: New file.
25319         * modules/recvfrom: New file.
25320         * modules/send: New file.
25321         * modules/sendto: New file.
25322         * modules/setsockopt: New file.
25323         * modules/socket: New file.
25324         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
25325         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
25326         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
25327         the particular module is requested. Add a link warning when the
25328         particular module is not requested.
25329         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
25330         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
25331         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
25332         the particular module is requested.
25333         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
25334         gl_SYS_SOCKET_H_DEFAULTS): New macros.
25335         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
25336         * modules/sys_socket (Depends-on): Add link-warning.
25337         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
25338         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
25339         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
25340         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
25341         GL_LINK_WARNING.
25342         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
25343         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
25344         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
25345         * doc/posix-functions/getpeername.texi: Mention the new module
25346         'getpeername'.
25347         * doc/posix-functions/getsockname.texi: Mention the new module
25348         'getsockname'.
25349         * doc/posix-functions/getsockopt.texi: Mention the new module
25350         'getsockopt'.
25351         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
25352         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
25353         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
25354         * doc/posix-functions/send.texi: Mention the new module 'send'.
25355         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
25356         * doc/posix-functions/setsockopt.texi: Mention the new module
25357         'setsockopt'.
25358         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
25359         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
25360         listen, connect, accept.
25361         * modules/select-tests (Depends-on): Likewise.
25362
25363 2008-10-05  Bruno Haible  <bruno@clisp.org>
25364
25365         * lib/winsock.c (strerror): Remove unused #undef.
25366         (rpl_close): Remove unused local variable.
25367
25368         * modules/sys_socket (Depends-on); Add errno.
25369
25370 2008-10-05  Bruno Haible  <bruno@clisp.org>
25371
25372         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
25373         (select): Add a link warning when the 'select' module is not used.
25374         * modules/sys_select (Depends-on): Add link-warning.
25375         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
25376         Suggested by Paolo Bonzini.
25377
25378 2008-10-05  Jim Meyering  <meyering@redhat.com>
25379
25380         bootstrap: check for LT_INIT more portably
25381         * build-aux/bootstrap: Avoid using grep -E, since it's not
25382         portable enough.  Suggestion from Bruno Haible.
25383
25384 2008-10-05  Bruno Haible  <bruno@clisp.org>
25385
25386         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
25387         as being fixed by gnulib.
25388
25389 2008-10-05  Bruno Haible  <bruno@clisp.org>
25390
25391         * modules/select-tests: New file, mostly copied from
25392         modules/sys_select-tests.
25393         * tests/test-select.c: New file, mostly copied from
25394         tests/test-sys_select.c.
25395         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
25396         * modules/sys_select-tests (Depends-on): Remove all dependencies.
25397         (Makefile.am): Remove test_sys_select_LDADD.
25398
25399         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
25400         to an undefined symbol, for an error message.
25401         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
25402         (gl_SYS_SELECT_H_DEFAULTS): New macro.
25403         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
25404         winsock-select.c here.
25405         * modules/sys_select (Files): Remove lib/winsock-select.c.
25406         (Depends-on): Remove alloca.
25407         (Makefile.am): Substitute GNULIB_SELECT.
25408         * modules/select: New file.
25409         * doc/posix-functions/select.texi: Update.
25410
25411 2008-10-05  Bruno Haible  <bruno@clisp.org>
25412
25413         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
25414         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
25415         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
25416         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
25417         getdtablesize.
25418         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
25419         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
25420
25421 2008-10-05  Bruno Haible  <bruno@clisp.org>
25422
25423         * modules/getdtablesize-tests: New file.
25424         * tests/test-getdtablesize.c: New file.
25425
25426         New module 'getdtablesize'.
25427         * lib/unistd.in.h (getdtablesize): New declaration.
25428         * lib/getdtablesize.c: New file.
25429         * m4/getdtablesize.m4: New file.
25430         * modules/getdtablesize: New file.
25431         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25432         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
25433         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
25434         HAVE_GETDTABLESIZE.
25435         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
25436
25437 2008-10-05  Bruno Haible  <bruno@clisp.org>
25438
25439         * modules/sched (Makefile.am): Fix typo.
25440         Reported by Simon Josefsson.
25441
25442 2008-10-05  Jim Meyering  <meyering@redhat.com>
25443
25444         bootstrap: check for LT_INIT, too
25445         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
25446         are deprecated.  Suggestion from Ralf Wildenhues.
25447
25448 2008-10-05  Bruno Haible  <bruno@clisp.org>
25449
25450         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
25451         overriding them by ours.
25452         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
25453
25454 2008-10-05  Jim Meyering  <meyering@redhat.com>
25455
25456         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
25457         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
25458         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
25459
25460 2008-10-04  Bruno Haible  <bruno@clisp.org>
25461
25462         * modules/dup2 (License): Change to LGPLv2+.
25463         * modules/sleep (License): Likewise.
25464         * modules/perror (License): Likewise.
25465         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
25466         Blake.
25467         * modules/signal (License): Likewise.
25468         * modules/sigprocmask (License): Likewise.
25469         * modules/raise (License): Change to LGPLv2+, with approval by Jim
25470         Meyering.
25471
25472 2008-10-04  Bruno Haible  <bruno@clisp.org>
25473
25474         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
25475         Reported by Rainer Tammer <tammer@tammer.net>.
25476
25477 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
25478             Bruno Haible  <bruno@clisp.org>
25479
25480         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
25481         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
25482         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
25483
25484 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
25485
25486         filevercmp: new module
25487         * lib/filevercmp.h: New function filevercmp comparing version strings.
25488         * lib/filevercmp.c: Implementation of filevercmp function.
25489         * modules/filevercmp: Module metadata.
25490         * tests/test-filevercmp.c: Unit test for new module.
25491         * modules/filevercmp-tests: Unit test metadata.
25492         * MODULES.html.sh: Add filevercmp module.
25493
25494 2008-10-03  Bruno Haible  <bruno@clisp.org>
25495
25496         * lib/c-ctype.h: Add comment.
25497         Reported by Jim Meyering.
25498
25499 2008-10-02  Bruno Haible  <bruno@clisp.org>
25500
25501         * modules/posix_spawn-internal (Depends-on): Add 'open'.
25502
25503 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
25504
25505         * build-aux/bootstrap: Allow renaming bootstrap, and change the
25506         name of bootstrap.conf accordingly.
25507
25508 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
25509
25510         * build-aux/bootstrap: Install git-merge-changelog configuration
25511         items into .gitconfig if needed.
25512
25513 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
25514
25515         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
25516         git repository, and initialize/update it accordingly.
25517
25518 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
25519
25520         * modules/fsync-tests: New file.
25521         * tests/test-fsync.c: New file.
25522
25523         New module 'fsync'.
25524         * lib/fsync.c: New file.
25525         * m4/fsync.m4: New file.
25526         * modules/fsync: New file.
25527         * lib/unistd.in.h (fsync): New declaration.
25528         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
25529         GNULIB_FSYNC and HAVE_FSYNC.
25530         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
25531         * MODULES.html.sh (posix_functions): Add fsync.
25532         * doc/posix-functions/fsync.texi: Mention the new module.
25533
25534 2008-10-02  Jim Meyering  <meyering@redhat.com>
25535
25536         fts.c: sync with similar code from coreutils' remove.c
25537         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
25538         Guard also with "#if defined __linux__", since for now at least,
25539         this code is Linux-kernel-specific.
25540
25541 2008-10-02  Jim Meyering  <meyering@redhat.com>
25542
25543         fts: bug fixes
25544         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
25545         Include <sys/vfs.h>, not <sys/statfs.h>.
25546
25547         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
25548         Include <sys/vfs.h>, not <sys/statfs.h>.
25549
25550 2008-10-01  Bruno Haible  <bruno@clisp.org>
25551
25552         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
25553         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
25554         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
25555         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
25556         * doc/posix-functions/posix_spawnp.texi: Likewise.
25557         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
25558         whether posix_spawn actually works.
25559         * m4/pipe.m4 (gl_PIPE): Likewise.
25560         * modules/execute (Files): Add m4/posix_spawn.m4.
25561         * modules/pipe (Files): Add m4/posix_spawn.m4.
25562         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
25563
25564 2008-10-01  Jim Meyering  <meyering@redhat.com>
25565
25566         remove trailing spaces
25567         * NEWS: Likewise.
25568         * lib/poll.c (poll): Likewise.
25569         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
25570         * lib/winsock.c (rpl_close): Likewise.
25571         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
25572         * modules/yield: Likewise.
25573         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
25574         * tests/test-sys_select.c (connect_to_socket): Likewise.
25575
25576         fts.c: adjust a new interface to be more generally useful
25577         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
25578         (fts_build): Adjust caller.
25579
25580 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25581
25582         * modules/cond-tests: New file.
25583         * tests/test-cond.c: New file.
25584
25585 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25586             Bruno Haible  <bruno@clisp.org>
25587
25588         * modules/cond (Dependencies): Add errno, time.
25589         * lib/glthread/cond.h: Include <time.h>.
25590         (gl_cond_define, gl_cond_define_initialized): Use the same definition
25591         across platforms.
25592
25593 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25594             Bruno Haible  <bruno@clisp.org>
25595
25596         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
25597
25598 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25599             Bruno Haible  <bruno@clisp.org>
25600
25601         * modules/tls-tests (Depends-on): Add thread, yield.
25602         (configure.ac): Remove all checks.
25603         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
25604         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
25605         gl_thread_self): Remove definitions. Include glthread/thread.h and
25606         glthread/yield.h instead.
25607         (test_tls): Pass an additional NULL argument to gl_thread_join.
25608
25609 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25610             Bruno Haible  <bruno@clisp.org>
25611
25612         * modules/lock-tests (Depends-on): Add thread, yield.
25613         (configure.ac): Remove all checks.
25614         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
25615         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
25616         gl_thread_self): Remove definitions. Include glthread/thread.h and
25617         glthread/yield.h instead.
25618         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
25619         additional NULL argument to gl_thread_join.
25620
25621 2008-09-30  Bruno Haible  <bruno@clisp.org>
25622
25623         Fix the Win32 implementation of the 'thread' module.
25624         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
25625         pointer type.
25626         (gl_thread_self): Invoke gl_thread_self_func.
25627         (gl_thread_self_func): New declaration.
25628         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
25629         (do_init_self_key, init_self_key): New functions.
25630         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
25631         Remove some fields.
25632         (running_threads, running_lock): Remove variables.
25633         (get_current_thread_handle): New function.
25634         (gl_thread_self_func, wrapper_func, glthread_create_func,
25635         glthread_join_func, gl_thread_exit_func): Largely rewritten and
25636         simplified.
25637
25638 2008-09-30  Bruno Haible  <bruno@clisp.org>
25639
25640         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
25641         files.
25642
25643 2008-09-30  Jim Meyering  <meyering@redhat.com>
25644
25645         fts.m4: correct the test for statfs.f_type
25646         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
25647         when checking for statfs.f_type.
25648
25649 2008-09-15  Simon Josefsson  <simon@josefsson.org>
25650
25651         tests: avoid some compiler warnings
25652         * tests/test-memchr.c (main): Pass NULL indirectly.
25653         * tests/test-getdate.c (main): Remove unused variable 'ret'.
25654
25655 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
25656
25657         getdate.y: disallow countable dayshifts like "4 yesterday ago"
25658         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
25659         exactly specified dayshifts.
25660         (dayshift): New rule.
25661         (rel): Add dayshift.
25662         (relative_time_table) [tomorrow, yesterday, today, now]:
25663         Use tDAY_SHIFT in place of tDAY_UNIT.
25664         * tests/test-getdate.c: Add tests for now-disallowed countable
25665         dayshifts, e.g., "4 yesterday ago".
25666
25667 2008-09-29  Bruno Haible  <bruno@clisp.org>
25668
25669         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
25670         * tests/test-posix_spawn1.in.sh: Renamed from
25671         tests/test-posix_spawn.in.sh.
25672         * tests/test-posix_spawn2.c: New file.
25673         * tests/test-posix_spawn2.in.sh: New file.
25674         * modules/posix_spawnp-tests (Files): Update.
25675         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
25676
25677 2008-09-29  Bruno Haible  <bruno@clisp.org>
25678
25679         Propagate effects of putenv/setenv/unsetenv to child processes.
25680         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
25681         * lib/pipe.c (create_pipe): Likewise.
25682
25683 2008-09-29  Bruno Haible  <bruno@clisp.org>
25684
25685         Enable use of shell scripts as executables in mingw.
25686         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
25687         run the program as a shell script.
25688         * lib/pipe.c (create_pipe): Likewise.
25689         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
25690         resulting array.
25691
25692 2008-09-29  Eric Blake  <ebb9@byu.net>
25693
25694         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
25695
25696 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
25697
25698         * doc/posix-functions/accept.texi: Update mingw problems.
25699         * doc/posix-functions/bind.texi: Update mingw problems.
25700         * doc/posix-functions/close.texi: Update mingw problems.
25701         * doc/posix-functions/connect.texi: Update mingw problems.
25702         * doc/posix-functions/getpeername.texi: Update mingw problems.
25703         * doc/posix-functions/getsockname.texi: Update mingw problems.
25704         * doc/posix-functions/getsockopt.texi: Update mingw problems.
25705         * doc/posix-functions/ioctl.texi: Update mingw problems.
25706         * doc/posix-functions/listen.texi: Update mingw problems.
25707         * doc/posix-functions/recv.texi: Update mingw problems.
25708         * doc/posix-functions/recvfrom.texi: Update mingw problems.
25709         * doc/posix-functions/select.texi: Update mingw problems.
25710         * doc/posix-functions/send.texi: Update mingw problems.
25711         * doc/posix-functions/sendto.texi: Update mingw problems.
25712         * doc/posix-functions/setsockopt.texi: Update mingw problems.
25713         * doc/posix-functions/socket.texi: Update mingw problems.
25714
25715 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
25716             Bruno Haible  <bruno@clisp.org>
25717
25718         * lib/sys_select.in.h: Include sys/time.h.
25719         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
25720         * modules/sys_select: Depend on sys_time.
25721         * tests/test-sys_select.c: Test that sys/select.h defines struct
25722         timeval fully.
25723
25724 2008-09-29  Bruno Haible  <bruno@clisp.org>
25725
25726         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
25727         * lib/sys_select.in.h: Likewise.
25728
25729 2008-09-29  Bruno Haible  <bruno@clisp.org>
25730
25731         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
25732
25733 2008-09-29  Bruno Haible  <bruno@clisp.org>
25734
25735         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
25736         Set LIBSOCKET instead of augmenting LIBS.
25737         * modules/sockets (Link): New section.
25738         * modules/sockets-tests (test_sockets_LDADD): New variable.
25739         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
25740         * modules/poll-tests (test_poll_LDADD): New variable.
25741         * NEWS: Document the change.
25742
25743 2008-09-29  Bruno Haible  <bruno@clisp.org>
25744
25745         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
25746         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
25747         ARPA_INET_H directly.
25748         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
25749
25750 2008-09-28  Bruno Haible  <bruno@clisp.org>
25751
25752         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
25753         from gl_HEADER_SYS_SOCKET.
25754         (gl_HEADER_SYS_SOCKET): Invoke it.
25755         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
25756
25757 2008-09-28  Bruno Haible  <bruno@clisp.org>
25758
25759         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
25760         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
25761         Needed on OSF/1 4.0.
25762
25763 2008-09-28  Bruno Haible  <bruno@clisp.org>
25764
25765         Override open more carefully.
25766         * lib/open.c (orig_open): New function.
25767         (rpl_open): Use orig_open instead of open.
25768         * lib/fcntl.in.h: Add special invocation convention.
25769         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
25770         (gl_FUNC_OPEN): Invoke it.
25771
25772         Override freopen more carefully.
25773         * lib/freopen.c (orig_freopen): New function.
25774         (rpl_freopen): Use orig_freopen instead of freopen.
25775         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
25776         (gl_FUNC_FREOPEN): Invoke it.
25777
25778         Override fopen more carefully.
25779         * lib/fopen.c (orig_fopen): New function.
25780         (rpl_fopen): Use orig_fopen instead of fopen.
25781         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
25782         (gl_FUNC_FOPEN): Invoke it.
25783         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
25784
25785 2008-09-28  Bruno Haible  <bruno@clisp.org>
25786
25787         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
25788         SIGPIPE.
25789
25790 2008-09-28  Bruno Haible  <bruno@clisp.org>
25791
25792         * tests/test-sigaction.c (handler, main): Disable the check whether
25793         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
25794         glibc systems with LinuxThreads.
25795
25796 2008-09-28  Bruno Haible  <bruno@clisp.org>
25797
25798         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
25799
25800         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
25801         with AIX xlc.
25802         * lib/fcntl.in.h (open): Likewise.
25803         Reported by Rainer Tammer <tammer@tammer.net>.
25804
25805 2008-09-28  Bruno Haible  <bruno@clisp.org>
25806
25807         * modules/posix_spawnp-tests: New file.
25808         * tests/test-posix_spawn.c: New file.
25809         * tests/test-posix_spawn.in.sh: New file.
25810
25811         New module 'posix_spawnp'.
25812         * modules/posix_spawnp: New file.
25813         * lib/spawnp.c: New file, from GNU libc with modifications.
25814         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
25815
25816         New module 'posix_spawn'.
25817         * modules/posix_spawn: New file.
25818         * lib/spawn.c: New file, from GNU libc with modifications.
25819         * doc/posix-functions/posix_spawn.texi: Mention the new module.
25820
25821         New module 'posix_spawnattr_destroy'.
25822         * modules/posix_spawnattr_destroy: New file.
25823         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
25824         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
25825         module.
25826
25827         New module 'posix_spawnattr_setsigmask'.
25828         * modules/posix_spawnattr_setsigmask: New file.
25829         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
25830         modifications.
25831         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
25832         new module.
25833
25834         New module 'posix_spawnattr_getsigmask'.
25835         * modules/posix_spawnattr_getsigmask: New file.
25836         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
25837         modifications.
25838         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
25839         new module.
25840
25841         New module 'posix_spawnattr_setsigdefault'.
25842         * modules/posix_spawnattr_setsigdefault: New file.
25843         * lib/spawnattr_setdefault.c: New file, from GNU libc with
25844         modifications.
25845         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
25846         new module.
25847
25848         New module 'posix_spawnattr_getsigdefault'.
25849         * modules/posix_spawnattr_getsigdefault: New file.
25850         * lib/spawnattr_getdefault.c: New file, from GNU libc with
25851         modifications.
25852         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
25853         new module.
25854
25855         New module 'posix_spawnattr_setschedpolicy'.
25856         * modules/posix_spawnattr_setschedpolicy: New file.
25857         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
25858         modifications.
25859         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
25860         new module.
25861
25862         New module 'posix_spawnattr_getschedpolicy'.
25863         * modules/posix_spawnattr_getschedpolicy: New file.
25864         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
25865         modifications.
25866         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
25867         new module.
25868
25869         New module 'posix_spawnattr_setschedparam'.
25870         * modules/posix_spawnattr_setschedparam: New file.
25871         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
25872         modifications.
25873         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
25874         new module.
25875
25876         New module 'posix_spawnattr_getschedparam'.
25877         * modules/posix_spawnattr_getschedparam: New file.
25878         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
25879         modifications.
25880         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
25881         new module.
25882
25883         New module 'posix_spawnattr_setpgroup'.
25884         * modules/posix_spawnattr_setpgroup: New file.
25885         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
25886         modifications.
25887         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
25888         module.
25889
25890         New module 'posix_spawnattr_getpgroup'.
25891         * modules/posix_spawnattr_getpgroup: New file.
25892         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
25893         modifications.
25894         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
25895         module.
25896
25897         New module 'posix_spawnattr_setflags'.
25898         * modules/posix_spawnattr_setflags: New file.
25899         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
25900         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
25901         module.
25902
25903         New module 'posix_spawnattr_getflags'.
25904         * modules/posix_spawnattr_getflags: New file.
25905         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
25906         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
25907         module.
25908
25909         New module 'posix_spawnattr_init'.
25910         * modules/posix_spawnattr_init: New file.
25911         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
25912         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
25913         module.
25914
25915         New module 'posix_spawn_file_actions_destroy'.
25916         * modules/posix_spawn_file_actions_destroy: New file.
25917         * lib/spawn_faction_destroy.c: New file, from GNU libc with
25918         modifications.
25919         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
25920         the new module.
25921
25922         New module 'posix_spawn_file_actions_addopen'.
25923         * modules/posix_spawn_file_actions_addopen: New file.
25924         * lib/spawn_faction_addopen.c: New file, from GNU libc with
25925         modifications.
25926         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
25927         the new module.
25928
25929         New module 'posix_spawn_file_actions_adddup2'.
25930         * modules/posix_spawn_file_actions_adddup2: New file.
25931         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
25932         modifications.
25933         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
25934         the new module.
25935
25936         New module 'posix_spawn_file_actions_addclose'.
25937         * modules/posix_spawn_file_actions_addclose: New file.
25938         * lib/spawn_faction_addclose.c: New file, from GNU libc with
25939         modifications.
25940         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
25941         the new module.
25942
25943         New module 'posix_spawn_file_actions_init'.
25944         * modules/posix_spawn_file_actions_init: New file.
25945         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
25946         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
25947         new module.
25948
25949         New module 'posix_spawn-internal'.
25950         * modules/posix_spawn-internal: New file.
25951         * lib/spawn_int.h: New file, from GNU libc with modifications.
25952         * lib/spawni.c: New file, from GNU libc with modifications.
25953         * m4/posix_spawn.m4: New file.
25954
25955         New module 'spawn'.
25956         * modules/spawn: New file.
25957         * lib/spawn.in.h: New file, from GNU libc with modifications.
25958         * m4/spawn_h.m4: New file.
25959         * doc/posix-headers/spawn.texi: Mention the new module.
25960
25961 2008-09-28  Bruno Haible  <bruno@clisp.org>
25962
25963         * modules/sched-tests: New file.
25964         * tests/test-sched.c: New file.
25965
25966         New module 'sched'.
25967         * modules/sched: New file.
25968         * lib/sched.in.h: New file.
25969         * m4/sched_h.m4: New file.
25970         * doc/posix-headers/sched.texi: Mention the new module.
25971
25972 2008-09-27  Eric Blake  <ebb9@byu.net>
25973
25974         Fix previous patch, and tweak references to $0.
25975         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
25976         (func_version, func_gnulib_dir): Don't call this program
25977         gnulib-tool.
25978         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
25979         with using $0 in function.
25980         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
25981         (func_fatal_error): Reuse the name the user invoked us with.
25982
25983 2008-09-27  Bruno Haible  <bruno@clisp.org>
25984
25985         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
25986         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
25987         (gl_ICONV_H): Not here.
25988         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
25989         instead of assigning ICONV_H directly.
25990
25991         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
25992         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
25993         WCHAR_H directly.
25994
25995 2008-09-27  Bruno Haible  <bruno@clisp.org>
25996
25997         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
25998         * modules/arpa_inet (Depends-on): Add link-warning.
25999         (Makefile.am): Insert the definition of GL_LINK-WARNING.
26000         * modules/unistd (Makefile.am): Likewise.
26001
26002 2008-09-26  Bruno Haible  <bruno@clisp.org>
26003
26004         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
26005         variables.
26006         (func_version): Essentially copied from gnulib-tool.
26007         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
26008         func_readlink): Copied from gnulib-tool.
26009
26010 2008-09-26  Bruno Haible  <bruno@clisp.org>
26011
26012         * gnulib-tool (func_version): Change directory to $gnulib_dir before
26013         invoking git-version-gen.
26014
26015 2008-09-26  Bruno Haible  <bruno@clisp.org>
26016
26017         * posix-modules: Update to directory names changed on 2008-01-19.
26018         Remove commas in output before splitting into words. No more need to
26019         avoid 'ftruncate' since 2007-02-19.
26020
26021 2008-09-26  Bruno Haible  <bruno@clisp.org>
26022
26023         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
26024
26025 2008-09-26  Bruno Haible  <bruno@clisp.org>
26026
26027         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
26028         * modules/fwriteerror (Depends-on): Add errno.
26029
26030 2008-09-26  Bruno Haible  <bruno@clisp.org>
26031
26032         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
26033         * tests/test-vc-list-files-cvs.sh: Likewise.
26034
26035 2008-09-26  Bruno Haible  <bruno@clisp.org>
26036
26037         * doc/posix-headers/sys_resource.texi: Reorder items.
26038
26039 2008-09-26  Jim Meyering  <meyering@redhat.com>
26040
26041         fts: tweak inode comparison function
26042         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
26043         inode numbers, as documented.
26044
26045         fts: sort dirent entries on inode number before traversing
26046         This avoids a quadratic, seek-related performance penalty when
26047         operating on a directory containing many entries (measurable at 10k;
26048         3.5 hours at 2 million entries with a cold cache) on certain types
26049         of file systems, including ext3 and ext4, but not tmpfs.
26050         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
26051         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
26052         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
26053         (fs_handles_readdir_ordered_dirents_efficiently): New function.
26054         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
26055         (fts_build): Set the stat.st_ino member from D_INO.
26056         If it is likely to be useful, sort dirent entries on inode number.
26057
26058         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
26059         and the struct statfs.f_type member.
26060         * modules/fts (Depends-on): Add d-ino.
26061
26062 2008-09-26  Bruno Haible  <bruno@clisp.org>
26063
26064         * modules/sigpipe-die (Depends-on): Add sigpipe.
26065
26066         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
26067         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
26068         and GNULIB_STDIO_H_SIGPIPE are set.
26069         * lib/stdio-write.c: New file.
26070         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
26071         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
26072         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
26073         REPLACE_STDIO_WRITE_FUNCS.
26074         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
26075         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
26076         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
26077         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
26078         * modules/stdio (Files): Add lib/stdio-write.c.
26079         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
26080         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
26081         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
26082         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
26083         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
26084         REPLACE_FPRINTF_POSIX.
26085         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
26086         REPLACE_PRINTF_POSIX.
26087         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
26088         REPLACE_VFPRINTF_POSIX.
26089         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
26090         REPLACE_VPRINTF_POSIX.
26091         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
26092         SIGPIPE issue.
26093         * doc/posix-functions/fputc.texi: Likewise.
26094         * doc/posix-functions/fputs.texi: Likewise.
26095         * doc/posix-functions/fwrite.texi: Likewise.
26096         * doc/posix-functions/printf.texi: Likewise.
26097         * doc/posix-functions/putc.texi: Likewise.
26098         * doc/posix-functions/putchar.texi: Likewise.
26099         * doc/posix-functions/puts.texi: Likewise.
26100         * doc/posix-functions/vfprintf.texi: Likewise.
26101         * doc/posix-functions/vprintf.texi: Likewise.
26102
26103         * modules/safe-write (Depends-on): Add write.
26104
26105         * modules/sigpipe-tests: New file.
26106         * tests/test-sigpipe.c: New file.
26107         * tests/test-sigpipe.sh: New file.
26108
26109         * modules/write: New file.
26110         * lib/unistd.in.h: Include <sys/types.h>.
26111         (write): New declaration.
26112         * lib/write.c: New file.
26113         * m4/write.m4: New file.
26114         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
26115         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
26116         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
26117         GNULIB_WRITE, REPLACE_WRITE.
26118         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
26119         and the SIGPIPE issue.
26120
26121         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
26122         (raise): New declaration.
26123         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
26124         (ext_signal): New function.
26125         (rpl_raise): New function.
26126         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
26127         GNULIB_SIGNAL_H_SIGPIPE.
26128         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
26129         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
26130
26131         * modules/sigpipe: New file.
26132         * m4/sigpipe.m4: New file.
26133
26134 2008-09-25  Derek Price  <derek@ximbiot.com>
26135             Bruno Haible  <bruno@clisp.org>
26136
26137         * gnulib-tool (func_import): Report all license incompatibilities, not
26138         just the first one.
26139
26140 2008-09-25  Bruno Haible  <bruno@clisp.org>
26141
26142         * gnulib-tool (func_import): When computing the edits, consider not
26143         only the Makefile.ams that exist but also those that will be generated.
26144
26145 2008-09-25  Simon Josefsson  <simon@josefsson.org>
26146
26147         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
26148         fixes gnulib-tool --test warning about duplicate dependency.
26149
26150 2008-09-25  Bruno Haible  <bruno@clisp.org>
26151
26152         * gnulib-tool: Don't ask the user to perform edits in the generated
26153         Makefile.ams.
26154         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
26155         apply to the Makefile.am being generated.
26156         (func_emit_tests_Makefile_am): Execute edits that apply to the
26157         Makefile.am being generated.
26158         (func_import): Setup list of Makefile.am edits before emitting the
26159         Makefile.ams, not at the end.
26160         (func_create_testdir): Update.
26161         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
26162
26163 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
26164
26165         * gnulib-tool (func_import): Store the --tests-base option in the
26166         comment in gnulib-cache.m4.
26167
26168 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
26169
26170         * NEWS: Document increased portability that sys_select now provides.
26171
26172         * lib/sys_select.in.h: Install select wrapper.
26173         * lib/sys_socket.in.h: Use more descriptive name when there is no
26174         select wrapper.
26175         * lib/winsock-select.c: New.
26176         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
26177         Require gl_HEADER_SYS_SOCKET.
26178         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
26179         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
26180         * tests/test-sys_select.c: Add functional tests.
26181
26182 2008-09-24  Eric Blake  <ebb9@byu.net>
26183
26184         open, fopen: close fd leak in last patch
26185         * lib/open.c (rpl_open): Close fd before returning error.
26186         * lib/fopen.c (rpl_fopen): Close fd before returning error.
26187         * doc/posix-functions/open.texi (open): Document that Irix also
26188         has the bug.
26189         * doc/posix-functions/fopen.texi (fopen): Likewise.
26190         Reported by Paolo Bonzini.
26191
26192 2008-09-24  Bruno Haible  <bruno@clisp.org>
26193
26194         Ensure that a filename ending in a slash cannot be used to access a
26195         non-directory.
26196         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
26197         to check whether it's really a directory.
26198         * lib/fopen.c: Include fcntl.h, unistd.h.
26199         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
26200         and fdopen().
26201         * modules/fopen (Depends-on): Add unistd.
26202         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
26203         * tests/test-fopen.c (main): Likewise.
26204         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
26205         * doc/posix-functions/fopen.texi: Likewise.
26206         Reported by Eric Blake.
26207
26208 2008-09-23  Eric Blake  <ebb9@byu.net>
26209
26210         c-stack: avoid compiler optimizations when provoking overflow
26211         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
26212         recursion harder to optimize, to ensure a stack overflow occurs.
26213         * tests/test-c-stack.c (recurse): Likewise.
26214         Borrowed from libsigsegv.
26215
26216         c-stack: work around Irix sigaltstack bug
26217         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
26218         whether sigaltstack uses wrong end of stack_t (copied in part from
26219         libsigsegv).
26220         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
26221         Irix bug, without requiring an over-allocation.
26222         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
26223         bug.
26224
26225         fopen: document mingw bug on directories
26226         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
26227         not allowing a stream visiting a directory, even though reading
26228         from such a stream is not portable.
26229
26230 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
26231
26232         * lib/poll.c: Rewrite.
26233         * modules/poll: Depend on alloca.
26234
26235 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
26236
26237         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
26238         instead define prototypes for a full set of wrappers.  Ensure
26239         that Cygwin does not use the compatibility code, which is only
26240         for MinGW.
26241         * lib/winsock.c: New.
26242         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
26243         * modules/sys_socket: Add lib/winsock.c.
26244
26245         * modules/poll-tests: Add errno and perror.
26246         * tests/test-poll.c: Use ioctl, not ioctlsocket.
26247
26248 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
26249
26250         * tests/test-poll.c: Downgrade minimum needed Winsock version.
26251
26252 2008-09-23  Bruno Haible  <bruno@clisp.org>
26253
26254         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
26255         * doc/glibc-functions/*: Likewise.
26256
26257 2008-09-23  Simon Josefsson  <simon@josefsson.org>
26258
26259         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
26260         success.
26261
26262 2008-09-22  Eric Blake  <ebb9@byu.net>
26263             Bruno Haible  <bruno@clisp.org>
26264
26265         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
26266         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
26267         supply %A but mishandle pseudo-NaN.
26268         Reported by Simon Josefsson.
26269
26270 2008-09-21  Bruno Haible  <bruno@clisp.org>
26271
26272         * tests/test-lock.c (main): Tweak skip message.
26273         * tests/test-tls.c (main): Likewise.
26274
26275 2008-09-21  Bruno Haible  <bruno@clisp.org>
26276
26277         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
26278         whether 'struct sigaction' has sa_sigaction here...
26279         (gl_PREREQ_SIG_HANDLER_H): ... not here.
26280         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
26281
26282 2008-09-21  Bruno Haible  <bruno@clisp.org>
26283
26284         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
26285         section.
26286         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
26287         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
26288         the new section.
26289         (Support for obsolete systems lacking POSIX:2001): New section.
26290         (String handling <string.h>): Move strdup to the new section.
26291         Suggested by Simon Josefsson and Paolo Bonzini.
26292
26293 2008-09-21  Bruno Haible  <bruno@clisp.org>
26294
26295         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
26296         exponents in %e and %g results on 'long double'. Needed for mingw's
26297         improved *printf functions.
26298         * tests/test-vasprintf-posix.c (test_function): Likewise.
26299         * tests/test-snprintf-posix.h (test_function): Likewise.
26300         * tests/test-sprintf-posix.h (test_function): Likewise.
26301         Reported by Eric Blake.
26302
26303 2008-09-21  Bruno Haible  <bruno@clisp.org>
26304
26305         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
26306         * tests/test-sprintf-posix.h (test_function): Likewise.
26307
26308 2008-09-21  Bruno Haible  <bruno@clisp.org>
26309
26310         * modules/getpass (Depends-on): Add strdup-posix.
26311
26312         New module 'strdup-posix'.
26313         * modules/strdup-posix: New file.
26314         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
26315         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
26316         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
26317         REPLACE_STRDUP.
26318         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
26319         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
26320         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
26321         strdup-posix.
26322
26323         * modules/strdup (Depends-on): Remove malloc-posix.
26324
26325 2008-09-20  Bruno Haible  <bruno@clisp.org>
26326
26327         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
26328         Wildenhues.
26329
26330 2008-09-20  Bruno Haible  <bruno@clisp.org>
26331
26332         Ensure that wint_t gets defined on IRIX 5.3.
26333         * lib/wchar.in.h (wint_t): Define if not defined by the system.
26334         * lib/wctype.in.h (wint_t): Likewise.
26335         (__wctype_wint_t): Remove type.
26336         (isw*): Use wint_t instead of __wctype_wint_t.
26337         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
26338         * modules/wchar (Files): Add m4/wint_t.m4.
26339         (Makefile.am): Substitute HAVE_WINT_T.
26340         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
26341         * tests/test-wctype.c: Check that wint_t is defined.
26342         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
26343         * doc/posix-headers/wctype.texi: Likewise.
26344         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26345
26346 2008-09-18  Bruno Haible  <bruno@clisp.org>
26347
26348         * gnulib-tool (func_exit): Update comment.
26349
26350 2008-09-18  Simon Josefsson  <simon@josefsson.org>
26351
26352         * modules/getaddrinfo (Depends-on): Remove strdup, this module
26353         assumes strdup exists and does not depend on strdup to return
26354         ENOMEM on out of memory conditions.
26355
26356 2008-09-18  Bruno Haible  <bruno@clisp.org>
26357
26358         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
26359         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
26360         digits for the exponent.
26361
26362 2008-09-18  Jim Meyering  <meyering@redhat.com>
26363             Bruno Haible  <bruno@clisp.org>
26364
26365         * lib/vasnprintf.c (decimal_point_char): Define also if
26366         NEED_PRINTF_INFINITE_LONG_DOUBLE.
26367
26368 2008-09-16  Bruno Haible  <bruno@clisp.org>
26369         and Eric Blake  <ebb9@byu.net>
26370
26371         vasnprintf: support Irix 5.3
26372         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
26373         that mishandle long double infinity.
26374         Reported by Tom G. Christensen.
26375
26376 2008-09-16  Bruno Haible  <bruno@clisp.org>
26377
26378         * doc/glibc-functions/scandir.texi: Mention the function is missing on
26379         Solaris 9.
26380         * doc/glibc-functions/alphasort.texi: Likewise.
26381         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
26382
26383 2008-09-16  Jim Meyering  <meyering@redhat.com>
26384
26385         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
26386         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
26387         a umask modification leak out of a subshell.  Otherwise, the
26388         opensolaris /bin/sh would be accepted and thus cause unwarranted
26389         failures in the coreutils test suite.
26390
26391 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
26392
26393         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
26394         to succeed.
26395
26396 2008-09-16  Jim Meyering  <meyering@redhat.com>
26397
26398         avoid spurious test failure when library is built without ACL support
26399         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
26400         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
26401         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
26402         * tests/test-copy-acl.sh: Likewise.
26403
26404 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26405
26406         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
26407         based on character occurrence counts.
26408
26409 2008-09-15  Eric Blake  <ebb9@byu.net>
26410
26411         tests: avoid some compiler warnings
26412         * tests/test-memchr.c (main): Pass NULL indirectly.
26413         * tests/test-closein.c (main): Avoid unused variable.
26414
26415 2008-09-15  Bruno Haible  <bruno@clisp.org>
26416
26417         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
26418         are missing on OpenBSD 4.0 individually.
26419         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
26420
26421 2008-09-15  Bruno Haible  <bruno@clisp.org>
26422
26423         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
26424         * doc/posix-functions/strerror.texi: Mention also Cygwin.
26425         * doc/posix-functions/perror.texi: Likewise.
26426         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
26427         is missing.
26428         Reported by Eric Blake.
26429
26430         * lib/errno.in.h: Use replacement values >= 2000.
26431         Reported by Eric Blake.
26432
26433 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26434
26435         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
26436         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
26437         limit.
26438         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
26439         compareseq was aborted.
26440
26441 2008-09-14  Bruno Haible  <bruno@clisp.org>
26442
26443         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
26444         yvec_edit_count.
26445         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
26446         (fstrcmp_bounded): Simplify result computation accordingly.
26447
26448 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26449
26450         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
26451         (fstrcmp): Define in terms of fstrcmp_bounded.
26452         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
26453         lower_bound argument.
26454         Return quickly if the result is certainly < lower_bound.
26455         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
26456
26457 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26458
26459         * lib/diffseq.h (EARLY_ABORT): New macro.
26460         (compareseq): Change return type to bool. Return true when EARLY_ABORT
26461         evaluates to true.
26462
26463 2008-09-14  Bruno Haible  <bruno@clisp.org>
26464
26465         * modules/perror-tests: New file.
26466         * tests/test-perror.sh: New file.
26467         * tests/test-perror.c: New file.
26468
26469         New module 'perror'.
26470         * lib/stdio.in.h (perror): New declaration.
26471         * lib/perror.c: New file.
26472         * m4/perror.m4: New file.
26473         * modules/perror: New file.
26474         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
26475         * doc/posix-functions/perror.texi: Mention the perror module.
26476         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
26477         REPLACE_PERROR.
26478         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
26479         REPLACE_PERROR.
26480
26481 2008-09-14  Bruno Haible  <bruno@clisp.org>
26482
26483         * modules/stdio (Makefile.am): Reorder to match the order in
26484         lib/stdio.in.h.
26485         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
26486
26487 2008-09-13  Bruno Haible  <bruno@clisp.org>
26488
26489         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
26490
26491 2008-09-13  Bruno Haible  <bruno@clisp.org>
26492
26493         Extend strerror to cover the added errno values.
26494         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
26495         (rpl_strerror): Provide error messages for the added errno values and
26496         for the WSA* values.
26497         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
26498         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
26499         strerror.
26500         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
26501         * modules/strerror (Depends-on): Add errno.
26502         * doc/posix-functions/strerror.texi: Document the change.
26503         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
26504         and EOVERFLOW.
26505
26506 2008-09-13  Bruno Haible  <bruno@clisp.org>
26507
26508         * modules/EOVERFLOW: Remove file.
26509         * m4/eoverflow.m4: Remove file.
26510         * modules/EOVERFLOW-tests: Remove file.
26511         * tests/test-EOVERFLOW.c: Remove file.
26512         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
26513         * modules/ftell (Depends-on): Likewise.
26514         * modules/getdelim (Depends-on): Likewise.
26515         * modules/getugroups (Depends-on): Likewise.
26516         * modules/poll (Depends-on): Likewise.
26517         * modules/snprintf (Depends-on): Likewise.
26518         * modules/sprintf-posix (Depends-on): Likewise.
26519         * modules/vasnprintf (Depends-on): Likewise.
26520         * modules/vasprintf (Depends-on): Likewise.
26521         * modules/vfprintf-posix (Depends-on): Likewise.
26522         * modules/vsnprintf (Depends-on): Likewise.
26523         * modules/vsprintf-posix (Depends-on): Likewise.
26524         * modules/xvasprintf (Depends-on): Likewise.
26525         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
26526         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
26527         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
26528         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
26529         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
26530         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
26531         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
26532         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
26533         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
26534         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
26535         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
26536         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
26537         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
26538         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
26539         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
26540         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
26541         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
26542         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
26543         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
26544         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
26545         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
26546         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
26547         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
26548         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
26549         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
26550         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
26551         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
26552         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
26553         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
26554         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
26555         * MODULES.html.sh: Remove EOVERFLOW.
26556         * NEWS: Mention the change.
26557
26558 2008-09-13  Bruno Haible  <bruno@clisp.org>
26559
26560         * modules/errno-tests: New file.
26561         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
26562
26563         * lib/errno.in.h: New file.
26564         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
26565         * modules/errno: New file.
26566         * doc/posix-headers/errno.texi: Update documentation.
26567         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
26568
26569 2008-09-13  Bruno Haible  <bruno@clisp.org>
26570
26571         * tests/test-poll.c: Use #if for native Windows, rather than testing
26572         __MSVCRT__.
26573
26574 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
26575             Bruno Haible  <bruno@clisp.org>
26576
26577         * lib/glob.c: Don't include <pwd.h> on native Windows.
26578         (WINDOWS32): New macro.
26579         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
26580
26581 2008-09-13  Bruno Haible  <bruno@clisp.org>
26582
26583         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
26584         (ETIMEDOUT): Remove macro.
26585         (glthread_cond_timedwait_multithreaded): New declaration.
26586         (glthread_cond_timedwait): Use it.
26587         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
26588         (glthread_cond_timedwait_multithreaded): New function.
26589
26590 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
26591
26592         * modules/poll-tests: Do not check for io.h.
26593         * tests/test-poll.c: Check for __MSVCRT__ instead.
26594
26595 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
26596
26597         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
26598         * modules/poll-tests: Add inet_pton, stdbool, sockets.
26599         * tests/test-poll.c: Use them.  Use _pipe on Windows.
26600
26601 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
26602
26603         * modules/poll-tests: New.
26604         * tests/test-poll.c: New.
26605
26606 2008-09-12  Eric Blake  <ebb9@byu.net>
26607
26608         frexp: test for NetBSD failure on -0.0
26609         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
26610         not all, bugs from NetBSD 3.0 have been fixed.
26611         * doc/posix-functions/frexp.texi (frexp): Document bug.
26612         Reported by Thomas Klausner.
26613
26614         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
26615         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
26616         literal -0.0.
26617         Reported by Jonathan C. Patschke <jp@centtech.com>.
26618
26619 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
26620
26621         * lib/glthread/cond.h: Use dummy implementation also if
26622         USE_WIN32_THREADS.
26623
26624 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
26625
26626         * modules/fnmatch-posix (License): Change to LGPLv2+.
26627         * modules/fnmatch-gnu (License): Likewise.
26628
26629 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
26630
26631         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
26632
26633 2008-09-11  Jim Meyering  <meyering@redhat.com>
26634
26635         * users.txt: Add gtk-vnc.
26636
26637 2008-09-08  Simon Josefsson  <simon@josefsson.org>
26638
26639         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
26640         rotate amounts.
26641
26642         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
26643         required for 16-bit and 8-bit rotates.
26644         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
26645         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
26646         UINT8_MAX instead of hard-coded constants.
26647         Suggested by Paul Eggert.
26648
26649 2008-09-07  Bruno Haible  <bruno@clisp.org>
26650
26651         * tests/test-striconveh.c (main): Check behaviour when converting from
26652         UTF-7.
26653
26654         Make striconveh work better with stateful encodings.
26655         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
26656         that iconv does not increment the inptr when returning -1/EINVAL.
26657
26658 2008-09-07  Bruno Haible  <bruno@clisp.org>
26659
26660         * build-aux/config.rpath: Update according to libtool-2.2.6.
26661         * build-aux/config.libpath: Likewise.
26662
26663 2008-09-06  Bruno Haible  <bruno@clisp.org>
26664
26665         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
26666         * lib/freadptr.c (freadptr): Likewise.
26667         * lib/freadseek.c (freadptrinc): Likewise.
26668         Reported by Simon Josefsson.
26669
26670 2008-09-06  Bruno Haible  <bruno@clisp.org>
26671
26672         * modules/freadptr (License): Change to LGPLv2+.
26673         * modules/freadseek (License): Likewise.
26674         Suggested by Eric Blake.
26675
26676         * modules/memchr2 (License): Change to LGPLv2+.
26677         Approved by Eric Blake.
26678
26679 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26680             Bruno Haible  <bruno@clisp.org>
26681
26682         Make gnulib-tool work with native 'sed' on AIX.
26683         * gnulib-tool (sed_noop): New variable.
26684         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
26685         func_add_or_update, func_create_testdir): Use it to initialize sed
26686         script variables.
26687         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
26688
26689 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
26690             Bruno Haible  <bruno@clisp.org>
26691
26692         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
26693         also works after #include directives.
26694
26695 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
26696
26697         getdate.y: reject an out-of-range timezone value
26698         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
26699         the range [-24...+24].  When specified with only one or two digits,
26700         * tests/test-getdate.c: Tests for the fix.
26701         * doc/getdate.texi: Document this change.
26702
26703 2008-09-03  Bruno Haible  <bruno@clisp.org>
26704
26705         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
26706
26707 2008-09-02  Simon Josefsson  <simon@josefsson.org>
26708
26709         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
26710         <bruce.korb@gmail.com> with ideas from Ben Pfaff
26711         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
26712         Blake <ebb9@byu.net>.
26713
26714         * tests/test-bitrotate.c: Add more test vectors.
26715
26716 2008-09-02  Eric Blake  <ebb9@byu.net>
26717
26718         vasnprintf-posix: handle large precision via %.*d
26719         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
26720         when handling it ourselves.
26721         * tests/test-vasnprintf-posix.c (test_function): Add test.
26722         * tests/test-snprintf-posix.h (test_function): Likewise.
26723         * tests/test-sprintf-posix.h (test_function): Likewise.
26724         * tests/test-vasprintf-posix.c (test_function): Likewise.
26725         Reported by Alain Guibert.
26726
26727 2008-09-01  Eric Blake  <ebb9@byu.net>
26728
26729         c-stack: make configure-time check more robust
26730         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
26731         successful sigaction call.
26732         Reported by Tom G. Christensen.
26733
26734 2008-09-01  Bruno Haible  <bruno@clisp.org>
26735
26736         New module 'findprog-lgpl'.
26737         * modules/findprog-lgpl: New file.
26738         * lib/findprog-lgpl.c: New file.
26739         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
26740         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
26741         to decide whether to use strdup or xstrdup, concatenated_filename or
26742         xconcatenated_filename.
26743
26744 2008-09-01  Bruno Haible  <bruno@clisp.org>
26745
26746         Split module 'concat-filename' into 'concat-filename' (LGPL) and
26747         'xconcat-filename' (GPL).
26748         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
26749         (License): Change to LGPLv2+.
26750         * modules/xconcat-filename: New file.
26751         * lib/concat-filename.h (concatenated_filename): Change specification.
26752         (xconcatenated_filename): New declaration.
26753         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
26754         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
26755         memory situations.
26756         * lib/xconcat-filename.c: New file.
26757         * NEWS: Mention the change.
26758         * lib/findprog.c: Include concat-filename.h, not filename.h.
26759         (find_in_path): Use xconcatenated_filename instead of
26760         concatenated_filename.
26761         * lib/javacomp.c: Include concat-filename.h, not filename.h.
26762         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
26763         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
26764         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
26765         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
26766         instead of concatenated_filename.
26767         * lib/javaexec.c: Include concat-filename.h, not filename.h.
26768         (execute_java_class): Use xconcatenated_filename instead of
26769         concatenated_filename.
26770         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
26771         * modules/javacomp (Depends-on): Likewise.
26772         * modules/javaexec (Depends-on): Likewise.
26773
26774 2008-09-01  Bruno Haible  <bruno@clisp.org>
26775
26776         Split module 'filename' into 'filename' and 'concat-filename'.
26777         * modules/filename: Keep only lib/filename.h.
26778         (License): Change to LGPLv2+.
26779         * modules/concat-filename: New file, extracted from modules/filename.
26780         * lib/filename.h (concatenated_filename): Remove declaration.
26781         * lib/concat-filename.h: New file, extracted from lib/filename.h.
26782         * lib/concat-filename.c: Include concat-filename.h.
26783         * NEWS: Mention the change.
26784
26785 2008-09-01  Simon Josefsson  <simon@josefsson.org>
26786
26787         * lib/bitrotate.h (rotl8, rotr8): Add.
26788
26789         * modules/bitrotate (configure.ac): Need
26790         AC_REQUIRE([AC_C_INLINE]).
26791         (Description): Mention stdint.h.  Reported by Bruno Haible
26792         <bruno@clisp.org>.
26793
26794         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
26795         Paolo Bonzini <bonzini@gnu.org>.
26796
26797 2008-08-31  Bruno Haible  <bruno@clisp.org>
26798
26799         Assume Solaris specific bi-arch conventions on Solaris systems.
26800         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
26801         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
26802         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
26803         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
26804         like acl_libdirstem.
26805         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
26806         acl_libdirstem.
26807         * NEWS: Mention the change.
26808         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
26809
26810 2008-08-31  Jim Meyering  <meyering@redhat.com>
26811
26812         * lib/strftime.h: Add comments describing the two added arguments.
26813
26814         remove duplicate #include directives
26815         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
26816         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
26817
26818 2008-08-31  Bruno Haible  <bruno@clisp.org>
26819
26820         New module 'sigpipe-die'.
26821         * modules/sigpipe-die: New file.
26822         * lib/sigpipe-die.h: New file.
26823         * lib/sigpipe-die.c: New file.
26824         * MODULES.html.sh (Signal handling): Add sigpipe-die.
26825
26826 2008-08-31  Bruno Haible  <bruno@clisp.org>
26827
26828         Don't override previously installed signal handlers.
26829         * lib/fatal-signal.c (saved_sigactions): New variable.
26830         (uninstall_handlers): Reset the signal to the saved handler, not
26831         to SIG_DFL (except when ignored).
26832         (install_handlers): Save the previous handlers.
26833
26834 2008-08-30  Bruno Haible  <bruno@clisp.org>
26835
26836         * gnulib-tool (func_reset_sigpipe): New function.
26837         (func_get_automake_snippet, func_modules_transitive_closure,
26838         func_import): Invoke it before a join command that reads from stdin,
26839         to avoid "echo: write error: Broken pipe" error messages on stderr.
26840         Reported by Sam Steingold <sds@gnu.org>.
26841
26842 2008-08-30  Bruno Haible  <bruno@clisp.org>
26843
26844         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
26845         Code copied from m4/open.m4.
26846         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
26847         access and the filename ends in a slash. Code copied from lib/open.c.
26848         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
26849         * tests/test-fopen.c (main): Check against bug with trailing slash.
26850
26851 2008-08-29  Bruno Haible  <bruno@clisp.org>
26852
26853         Avoid some "gcc -pedantic" warnings.
26854         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
26855         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
26856         * lib/dirent.in.h: Likewise.
26857         * lib/fcntl.in.h: Likewise.
26858         * lib/float.in.h: Likewise.
26859         * lib/iconv.in.h: Likewise.
26860         * lib/inttypes.in.h: Likewise.
26861         * lib/locale.in.h: Likewise.
26862         * lib/math.in.h: Likewise.
26863         * lib/netinet_in.in.h: Likewise.
26864         * lib/search.in.h: Likewise.
26865         * lib/signal.in.h: Likewise.
26866         * lib/stdarg.in.h: Likewise.
26867         * lib/stdint.in.h: Likewise.
26868         * lib/stdio.in.h: Likewise.
26869         * lib/stdlib.in.h: Likewise.
26870         * lib/string.in.h: Likewise.
26871         * lib/strings.in.h: Likewise.
26872         * lib/sys_select.in.h: Likewise.
26873         * lib/sys_socket.in.h: Likewise.
26874         * lib/sys_stat.in.h: Likewise.
26875         * lib/sys_time.in.h: Likewise.
26876         * lib/sysexits.in.h: Likewise.
26877         * lib/time.in.h: Likewise.
26878         * lib/unistd.in.h: Likewise.
26879         * lib/wchar.in.h: Likewise.
26880         * lib/wctype.in.h: Likewise.
26881         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
26882         * modules/fchdir (Makefile.am): Likewise.
26883         * modules/fcntl (Makefile.am): Likewise.
26884         * modules/float (Makefile.am): Likewise.
26885         * modules/iconv_open (Makefile.am): Likewise.
26886         * modules/inttypes (Makefile.am): Likewise.
26887         * modules/locale (Makefile.am): Likewise.
26888         * modules/math (Makefile.am): Likewise.
26889         * modules/netinet_in (Makefile.am): Likewise.
26890         * modules/search (Makefile.am): Likewise.
26891         * modules/signal (Makefile.am): Likewise.
26892         * modules/stdarg (Makefile.am): Likewise.
26893         * modules/stdint (Makefile.am): Likewise.
26894         * modules/stdio (Makefile.am): Likewise.
26895         * modules/stdlib (Makefile.am): Likewise.
26896         * modules/string (Makefile.am): Likewise.
26897         * modules/strings (Makefile.am): Likewise.
26898         * modules/sys_select (Makefile.am): Likewise.
26899         * modules/sys_socket (Makefile.am): Likewise.
26900         * modules/sys_stat (Makefile.am): Likewise.
26901         * modules/sys_time (Makefile.am): Likewise.
26902         * modules/sysexits (Makefile.am): Likewise.
26903         * modules/time (Makefile.am): Likewise.
26904         * modules/unistd (Makefile.am): Likewise.
26905         * modules/wchar (Makefile.am): Likewise.
26906         * modules/wctype (Makefile.am): Likewise.
26907         Reported by Reuben Thomas <rrt@sc3d.org>.
26908
26909 2008-08-29  Bruno Haible  <bruno@clisp.org>
26910
26911         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
26912         any more.
26913
26914 2008-08-29  Simon Josefsson  <simon@josefsson.org>
26915
26916         * MODULES.html.sh (Misc): Add bitrotate.
26917
26918         * modules/bitrotate: New file.
26919
26920         * lib/bitrotate.h: New file.
26921
26922         * modules/bitrotate-tests: New file.
26923
26924         * tests/test-bitrotate.c: New file.
26925
26926         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
26927         on the bitrotate module.
26928
26929         * lib/arctwo.c: Use new bitrotate module.
26930
26931 2008-08-29  Jim Meyering  <meyering@redhat.com>
26932
26933         bootstrap: merge changes from coreutils
26934         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
26935         of copied files.  Remove a kludge, now that this is fixed.
26936         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
26937         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
26938         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
26939
26940 2008-08-29  Bruno Haible  <bruno@clisp.org>
26941
26942         * MODULES.html.sh: Remove --cvs-urls option.
26943
26944 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
26945
26946         maint.mk: adjust to file name change
26947         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
26948
26949 2008-08-28  Jim Meyering  <meyering@redhat.com>
26950
26951         * modules/getndelim2 (License): Relicense to LGPLv2+.
26952         Approved by Richard Stallman for the version of 1995, and by
26953         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
26954
26955 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
26956
26957         * lib/getdelim.c (flockfile, funlockfile): Make all of them
26958         dummy if one is not available.  Do not touch them if
26959         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
26960         (getc_maybe_unlocked): New.
26961         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
26962
26963 2008-08-26  Eric Blake  <ebb9@byu.net>
26964
26965         doc/INSTALL: resync from autoconf
26966         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
26967         (INSTALL_PRELUDE): Delete; this is done more efficiently by
26968         moving...
26969         * install.texi [!autoconf]: ...here.  Resync from autoconf.
26970         * INSTALL: Regenerate.
26971         * INSTALL.ISO: New file.
26972         * INSTALL.UTF-8: Likewise.
26973
26974 2008-08-26  Jim Meyering  <meyering@redhat.com>
26975
26976         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
26977         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
26978         these definitions conditional, so that they may be overridden, too.
26979
26980 2008-08-26  Bruno Haible  <bruno@clisp.org>
26981
26982         Generate INSTALL file variants with prettier quotes.
26983         * doc/Makefile (INSTALL_PRELUDE): New macro.
26984         (INSTALL): Use it.
26985         (INSTALL.ISO, INSTALL.UTF-8): New rules.
26986
26987 2008-08-26  Bruno Haible  <bruno@clisp.org>
26988
26989         Run makeinfo in an English locale.
26990         * doc/Makefile (MAKEINFO): New variable.
26991
26992 2008-08-26  Bruno Haible  <bruno@clisp.org>
26993
26994         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
26995         Suggested by Eric Blake.
26996
26997 2008-08-25  Bruno Haible  <bruno@clisp.org>
26998
26999         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
27000
27001 2008-08-25  Eric Blake  <ebb9@byu.net>
27002
27003         c-stack: test that stack overflow can be caught
27004         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
27005         that platform allows handling stack overflow; at least OS/2 EMX
27006         has sigaltstack, but crashes before transferring control to
27007         handler on stack overflow.
27008         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
27009         check for HAVE_STACK_OVERFLOW_HANDLING.
27010         Reported by Elbert Pol.
27011
27012 2008-08-25  Bruno Haible  <bruno@clisp.org>
27013
27014         * doc/posix-functions/strftime.texi: Fix description of strftime
27015         module.
27016
27017 2008-08-24  Bruno Haible  <bruno@clisp.org>
27018
27019         * tests/uniwidth/test-uc_width2.c: New file.
27020         * tests/uniwidth/test-uc_width2.sh: New file.
27021         * modules/uniwidth/width-tests (Files): Add the new files.
27022         (TESTS): Add uniwidth/test-uc_width2.sh.
27023         (TESTS_ENVIRONMENT): New variable.
27024         (check_PROGRAMS): Add test-uc_width2.
27025         (test_uc_width2_SOURCES): New variable.
27026
27027         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
27028         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
27029         not 0x00AB.
27030         Reported by Alexander V. Lukyanov <lav@netis.ru>.
27031
27032 2008-08-22  Eric Blake  <ebb9@byu.net>
27033
27034         test-lock, test-tls: mention why a test is skipped
27035         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
27036         skipped.
27037         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
27038
27039         count-one-bits: relax license
27040         * modules/count-one-bits (License): Relicense to LGPLv2+.
27041         Suggested by Ludovic Courtès, approved by Ben Pfaff.
27042
27043 2008-08-22  Andreas Schwab  <schwab@suse.de>
27044
27045         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
27046         Remove spurious space in assignment.
27047
27048 2008-08-21  Simon Josefsson  <simon@josefsson.org>
27049
27050         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
27051         Paul Eggert <eggert@CS.UCLA.EDU>.
27052
27053 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
27054
27055         * modules/gettext: Add m4/threadlib.m4.
27056
27057 2008-08-19  Eric Blake  <ebb9@byu.net>
27058
27059         test-c-stack: fix compilation failure on FreeBSD 5.0
27060         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
27061         headers before <sys/resource.h>.
27062         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
27063         the bug.
27064         Reported by Nelson H. F. Beebe.
27065
27066         strverscmp: migrate from "strverscmp.h" to <string.h>
27067         * modules/string (Makefile.am): Add new hooks.
27068         * modules/strverscmp (Files): Remove strverscmp.h.
27069         (Depends-on): Add string.
27070         (configure.ac): Add indicator.
27071         (Include): Mention new header.
27072         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
27073         defaults.
27074         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
27075         results.
27076         * lib/strverscmp.h: Delete.
27077         * lib/string.in.h (strverscmp): Provide declaration, when needed.
27078         * tests/test-strverscmp.c (includes): Adjust client.
27079         * lib/check-version.c (includes): Likewise.
27080         * NEWS: Document the change.
27081
27082         strverscmp: add unit test
27083         * modules/strverscmp-tests: New file.
27084         * tests/test-strverscmp.c: Likewise.
27085
27086 2008-08-19  Simon Josefsson  <simon@josefsson.org>
27087
27088         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
27089         regarding Windows crypto stuff, from Mono.
27090
27091 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
27092
27093         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
27094         if present, for intel RND.  Return error on failures.
27095
27096 2008-08-18  Ben Pfaff  <blp@gnu.org>
27097
27098         gitlog-to-changelog: give better diagnostic for failed pipe-open
27099         * build-aux/gitlog-to-changelog: Improve error message: suggest
27100         that the version of Git may be too old.
27101
27102 2008-08-18  Simon Josefsson  <simon@josefsson.org>
27103
27104         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
27105         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
27106
27107 2008-08-18  Bruno Haible  <bruno@clisp.org>
27108
27109         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
27110         pthread_in_use().
27111
27112 2008-08-18  Bruno Haible  <bruno@clisp.org>
27113
27114         * lib/glthread/threadlib.c: Include <pthread.h>.
27115
27116 2008-08-18  Bruno Haible  <bruno@clisp.org>
27117
27118         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
27119         glthread_recursive_lock_* macros.
27120         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
27121         Fix syntax error.
27122
27123 2008-08-18  Bruno Haible  <bruno@clisp.org>
27124
27125         * lib/glthread/thread.c: Avoid forcing a context switch right after
27126         thread creation.
27127
27128 2008-08-17  Bruno Haible  <bruno@clisp.org>
27129
27130         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
27131         * lib/glthread/thread.h: Provide Win32 specific implementation.
27132         * modules/thread (Files): Add lib/glthread/thread.c.
27133         (Depends-on): Add lock.
27134         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
27135
27136 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27137
27138         New module 'yield'.
27139         * modules/yield: New file.
27140         * lib/glthread/yield.h: New file.
27141         * m4/yield.m4: New file.
27142         * MODULES.html.sh (Multithreading): Add yield.
27143
27144 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27145
27146         New module 'thread'.
27147         * modules/thread: New file.
27148         * lib/glthread/thread.h: New file.
27149         * m4/thread.m4: New file.
27150         * MODULES.html.sh (Multithreading): Add thread.
27151
27152 2008-08-17  Bruno Haible  <bruno@clisp.org>
27153
27154         * lib/glthread/lock.h: Include <stdlib.h> always.
27155         * lib/glthread/tls.h: Likewise.
27156         * lib/glthread/cond.h: Likewise.
27157
27158 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27159
27160         New module 'cond'.
27161         * modules/cond: New file.
27162         * lib/glthread/cond.h: New file.
27163         * lib/glthread/cond.c: New file.
27164         * m4/cond.m4: New file.
27165         * MODULES.html.sh (Multithreading): Add cond.
27166
27167 2008-08-16  Eric Blake  <ebb9@byu.net>
27168
27169         c-stack: fix regression on Irix 5.3 from 2008-06-21
27170         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
27171         sa_sigaction...
27172         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
27173         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
27174         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
27175         * modules/signal (Makefile.am): Use the value.
27176         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
27177         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
27178         * doc/posix-headers/signal.texi (signal.h): Document this
27179         portability issue.
27180         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
27181         Reported by Tom G. Christensen.
27182
27183 2008-08-17  Bruno Haible  <bruno@clisp.org>
27184
27185         New module 'threadlib'.
27186         * modules/threadlib: New file.
27187         * lib/glthread/threadlib.c: New file, extracted from
27188         lib/glthread/lock.c.
27189         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
27190         functions.
27191         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
27192         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
27193         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
27194         macros.
27195         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
27196         (gl_DISABLE_THREADS): Remove macro.
27197         * modules/lock (Files): Remove build-aux/config.rpath.
27198         (Depends-on): Remove havelib. Add threadlib.
27199         (configure.ac-early): Remove section.
27200         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
27201         * modules/tls (Depends-on): Remove lock. Add threadlib.
27202         (Link): New section, copied from threadlib.
27203         * MODULES.html.sh (Multithreading): Add threadlib.
27204
27205 2008-08-14  Bruno Haible  <bruno@clisp.org>
27206
27207         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
27208         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
27209         glthread_rwlock_unlock, glthread_rwlock_destroy,
27210         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
27211         glthread_recursive_lock_destroy): Define as macros always.
27212         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
27213         glthread_lock_lock.
27214         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
27215         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
27216         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
27217         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
27218         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
27219         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
27220         (glthread_recursive_lock_lock_func): Renamed from
27221         glthread_recursive_lock_lock.
27222         (glthread_recursive_lock_unlock_func): Renamed from
27223         glthread_recursive_lock_unlock.
27224         (glthread_recursive_lock_destroy_func): Renamed from
27225         glthread_recursive_lock_destroy.
27226
27227 2008-08-14  Bruno Haible  <bruno@clisp.org>
27228
27229         * lib/glthread/lock.h: Renamed from lib/lock.h.
27230         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
27231         * lib/glthread/tls.h: Renamed from lib/tls.h.
27232         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
27233         * lib/fstrcmp.c: Update includes.
27234         * lib/strsignal.c: Update includes.
27235         * modules/lock (Files, Makefile.am): Update.
27236         (Include): Change to "glthread/lock.h".
27237         * modules/tls (Files, Makefile.am): Update.
27238         (Include): Change to "glthread/tls.h".
27239         * tests/test-lock.c: Update includes.
27240         * tests/test-tls.c: Update includes.
27241         * NEWS: Mention the renamed header files.
27242
27243 2008-08-11  Jim Meyering  <meyering@redhat.com>
27244
27245         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
27246
27247 2008-08-11  Eric Blake  <ebb9@byu.net>
27248
27249         test-c-stack: avoid C99-ism
27250         * tests/test-c-stack.c (main): Fix whitespace, move declaration
27251         before statement.
27252         Reported by Alain Guibert.
27253
27254 2008-08-10  Jim Meyering  <meyering@redhat.com>
27255
27256         ensure that return value of uinttostr et al are not ignored
27257         * lib/inttostr.h (__GNUC_PREREQ): Define.
27258         (__attribute_warn_unused_result__): Define.
27259         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
27260
27261 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
27262
27263         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
27264         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
27265
27266 2008-08-07  Jim Meyering  <meyering@redhat.com>
27267
27268         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
27269
27270         * modules/mkstemp (License): Relicense under LGPLv2+.
27271         * modules/tempname (License): Likewise.
27272
27273 2008-08-06  Bruno Haible  <bruno@clisp.org>
27274
27275         * lib/poll.c (poll): Further micro-optimization.
27276
27277 2008-08-06  Jim Meyering  <meyering@redhat.com>
27278
27279         inet_pton.c: use locale-independent tolower
27280         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
27281         (inet_pton6): Use c_tolower rather than tolower.
27282         * modules/inet_pton (Depends-on): Add c-ctype.
27283
27284 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
27285
27286         * lib/poll.c (poll): Avoid division when timeout is 0, cache
27287         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
27288
27289 2008-08-06  Jim Meyering  <meyering@redhat.com>
27290
27291         * modules/inet_pton (License): Relicense under LGPLv2+.
27292
27293 2008-08-03  Bruno Haible  <bruno@clisp.org>
27294
27295         Additional non-aborting API for lock and tls.
27296         * lib/lock.h: Include <errno.h>.
27297         (glthread_lock_init): New macro/function.
27298         (gl_lock_init): Define as wrapper around glthread_lock_init.
27299         (glthread_lock_lock): New macro/function.
27300         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
27301         (glthread_lock_unlock): New macro/function.
27302         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
27303         (glthread_lock_destroy): New macro/function.
27304         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
27305         (glthread_rwlock_init): New macro/function.
27306         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
27307         (glthread_rwlock_rdlock): New macro/function.
27308         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
27309         (glthread_rwlock_wrlock): New macro/function.
27310         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
27311         (glthread_rwlock_unlock): New macro/function.
27312         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
27313         (glthread_rwlock_destroy): New macro/function.
27314         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
27315         (glthread_recursive_lock_init): New macro/function.
27316         (gl_recursive_lock_init): Define as wrapper around
27317         glthread_recursive_lock_init.
27318         (glthread_recursive_lock_lock): New macro/function.
27319         (gl_recursive_lock_lock): Define as wrapper around
27320         glthread_recursive_lock_lock.
27321         (glthread_recursive_lock_unlock): New macro/function.
27322         (gl_recursive_lock_unlock): Define as wrapper around
27323         glthread_recursive_lock_unlock.
27324         (glthread_recursive_lock_destroy): New macro/function.
27325         (gl_recursive_lock_destroy): Define as wrapper around
27326         glthread_recursive_lock_destroy.
27327         (glthread_once): New macro/function.
27328         (gl_once): Define as wrapper around glthread_once.
27329         Update function declarations.
27330         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
27331         glthread_rwlock_init. Return error code.
27332         (glthread_rwlock_rdlock_multithreaded): Renamed from
27333         glthread_rwlock_rdlock. Return error code.
27334         (glthread_rwlock_wrlock_multithreaded): Renamed from
27335         glthread_rwlock_wrlock. Return error code.
27336         (glthread_rwlock_unlock_multithreaded): Renamed from
27337         glthread_rwlock_unlock. Return error code.
27338         (glthread_rwlock_destroy_multithreaded): Renamed from
27339         glthread_rwlock_destroy. Return error code.
27340         (glthread_recursive_lock_init_multithreaded): Renamed from
27341         glthread_recursive_lock_init. Return error code.
27342         (glthread_recursive_lock_lock_multithreaded): Renamed from
27343         glthread_recursive_lock_lock. Return error code.
27344         (glthread_recursive_lock_unlock_multithreaded): Renamed from
27345         glthread_recursive_lock_unlock. Return error code.
27346         (glthread_recursive_lock_destroy_multithreaded): Renamed from
27347         glthread_recursive_lock_destroy. Return error code.
27348         (glthread_once_call): Make static.
27349         (glthread_once_multithreaded): Renamed from glthread_once.
27350         * lib/tls.h: Include <errno.h>.
27351         (glthread_tls_key_init): New macro/function.
27352         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
27353         (glthread_tls_set): New macro/function.
27354         (gl_tls_set): Define as wrapper around glthread_tls_set.
27355         (glthread_tls_key_destroy): New macro/function.
27356         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
27357         Update function declarations.
27358         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
27359         glthread_tls_get.
27360         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
27361
27362 2008-08-04  Eric Blake  <ebb9@byu.net>
27363
27364         gnumakefile: use space, not TAB, outside of targets
27365         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
27366
27367 2008-08-02  Jim Meyering  <meyering@redhat.com>
27368
27369         getdate.y: avoid locale-dependent date parsing failure
27370         In Turkish locales, getdate would fail to recognize keywords
27371         containing a lowercase "i".  The solution is not to rely on
27372         locale-sensitive case-conversion.
27373         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
27374         (lookup_word): Use c_toupper in place of toupper.
27375         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
27376         Reported by Vefa Bicakci <bicave@superonline.com> in
27377         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
27378         * modules/getdate (Depends-on): Add c-ctype.
27379
27380 2008-08-02  Bruno Haible  <bruno@clisp.org>
27381
27382         * gnulib-tool (func_import): When updating or creating a .gitignore
27383         file, prepend each added line with a slash, and ignore leading slashes
27384         from the existing lines.
27385         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
27386
27387 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27388
27389         Portability fix for GNU make 3.79.1.
27390         * top/GNUmakefile: Avoid 'else COND', which older GNU make
27391         versions do not understand.
27392
27393 2008-08-01  Bruno Haible  <bruno@clisp.org>
27394
27395         Work around bug of HP-UX 10.20 cc with -0.0 literal.
27396         * tests/test-isnanf.h (zero): New variable.
27397         (main): Avoid literal -0.0f.
27398         * tests/test-isnand.h (zero): New variable.
27399         (main): Avoid literal -0.0.
27400         * tests/test-isnanl.h (zero): New variable.
27401         (main): Avoid literal -0.0L.
27402         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
27403         (test_float, test_double, test_long_double): Avoid literals -0.0f,
27404         -0.0, -0.0L.
27405         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
27406         (test_signbitd): Avoid literal -0.0.
27407         (test_signbitl): Avoid literal -0.0L.
27408         * tests/test-ceilf1.c (zero): New variable.
27409         (main): Avoid literal -0.0f.
27410         * tests/test-ceill.c (zero): New variable.
27411         (main): Avoid literal -0.0L.
27412         * tests/test-floorf1.c (zero): New variable.
27413         (main): Avoid literal -0.0f.
27414         * tests/test-floorl.c (zero): New variable.
27415         (main): Avoid literal -0.0L.
27416         * tests/test-roundf1.c (zero): New variable.
27417         (main): Avoid literal -0.0f.
27418         * tests/test-round1.c (zero): New variable.
27419         (main): Avoid literal -0.0.
27420         * tests/test-roundl.c (zero): New variable.
27421         (main): Avoid literal -0.0L.
27422         * tests/test-truncf1.c (zero): New variable.
27423         (main): Avoid literal -0.0f.
27424         * tests/test-trunc1.c (zero): New variable.
27425         (main): Avoid literal -0.0.
27426         * tests/test-truncl.c (zero): New variable.
27427         (main): Avoid literal -0.0L.
27428         * tests/test-frexp.c (zero): New variable.
27429         (main): Avoid literal -0.0.
27430         * tests/test-frexpl.c (zero): New variable.
27431         (main): Avoid literal -0.0L.
27432         * tests/test-ldexpl.c (zero): New variable.
27433         (main): Avoid literal -0.0L.
27434         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
27435         (zerod, zerol): New variables.
27436         (test_function): Avoid literals -0.0, -0.0L.
27437         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
27438         (zerod, zerol): New variables.
27439         (test_function): Avoid literals -0.0, -0.0L.
27440         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
27441         (zerod, zerol): New variables.
27442         (test_function): Avoid literals -0.0, -0.0L.
27443         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
27444         (zerod, zerol): New variables.
27445         (test_function): Avoid literals -0.0, -0.0L.
27446         * tests/test-strtod.c (zero): New variable.
27447         (main): Avoid literal -0.0.
27448         Reported by Jonathan C. Patschke <jp@centtech.com>.
27449
27450 2008-07-31  Jim Meyering  <meyering@redhat.com>
27451
27452         sha256.h: correct definition of SHA224_DIGEST_SIZE
27453         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
27454         Reported by Paulie Pena IV <paulie4@gmail.com>.
27455         Define as 224 / 8, rather than as a literal.
27456         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
27457         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
27458         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
27459
27460 2008-07-31  Bruno Haible  <bruno@clisp.org>
27461
27462         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
27463         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
27464         Reported by Jonathan Patschke <jp@centtech.com>.
27465
27466 2008-07-31  Bruno Haible  <bruno@clisp.org>
27467
27468         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
27469         Reported by Paolo Bonzini <bonzini@gnu.org>.
27470
27471 2008-07-30  Eric Blake  <ebb9@byu.net>
27472
27473         test-strtod: allow compilation without -lm
27474         * tests/test-strtod.c (main): Avoid link dependence on fabs.
27475         Reported by Dennis Clarke <blastwave@gmail.com>.
27476
27477 2008-07-28  Jim Meyering  <meyering@redhat.com>
27478
27479         bootstrap: work also when there are no .po files in po/
27480         * build-aux/bootstrap (update_po_files): Complete the change
27481         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
27482
27483 2008-07-27  Jim Meyering  <meyering@redhat.com>
27484
27485         * users.txt: Add zile.
27486
27487 2008-07-26  Ben Pfaff  <blp@gnu.org>
27488
27489         Add missing dependencies on new m4/exponent[fdl].m4 files.
27490         * modules/isnanf-nolibm: Add m4/exponentf.m4.
27491         * modules/isnand-nolibm: Add m4/exponentd.m4.
27492         * modules/isnanl-nolibm: Add m4/exponentl.m4.
27493         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
27494         m4/isnan[fdl].m4, because the macros actually used moved.
27495         Reported by Jim Meyering.
27496
27497 2008-07-14  Ben Pfaff  <blp@gnu.org>
27498
27499         Add isinf module.
27500         * lib/isinf.c: New file.
27501         * lib/math.in.h: Define isinf macro if we have decided to replace
27502         it.
27503         * m4/isinf.m4: New file.
27504         * m4/math_h.m4: Initialize and substitute variables for isinf
27505         module.
27506         * modules/isinf: New file.
27507         * modules/isinf-tests: New file.
27508         * modules/math: Add substitutions for new module.
27509         * tests/test-isinf.c: New file.
27510         * doc/posix-functions/isinf.texi: Mention new module.
27511         * MODULES.html.sh: Mention new module.
27512
27513 2008-07-14  Ben Pfaff  <blp@gnu.org>
27514
27515         Factor out some macros for use by additional modules.
27516         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
27517         exponentf.m4.
27518         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
27519         exponentd.m4.
27520         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
27521         file exponentl.m4.
27522         * m4/exponentf.m4: New file.
27523         * m4/exponentd.m4: New file.
27524         * m4/exponentl.m4: New file.
27525         * modules/isnanf: Use new file m4/exponentf.m4.
27526         * modules/isnand: Use new file m4/exponentd.m4.
27527         * modules/isnanl: Use new file m4/exponentl.m4.
27528
27529 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
27530
27531         mktime.c: normalize tp->tm_isdst value to -1/0/1.
27532         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
27533         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
27534         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
27535
27536         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
27537         readlink on platforms without PATH_MAX.
27538
27539 2008-07-21  Eric Blake  <ebb9@byu.net>
27540
27541         Warn, not fail, on stale version.
27542         * top/GNUmakefile (_curr-ver): Tone down previous patch.
27543
27544         Don't allow installation with stale devel version number.
27545         * top/GNUmakefile (_is-install-target): New macro.
27546         (_curr-ver): Forbid installation with stale version number.
27547
27548 2008-07-20  Bruno Haible  <bruno@clisp.org>
27549
27550         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
27551         TESTS_ENVIRONMENT.
27552         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
27553
27554 2008-07-20  Bruno Haible  <bruno@clisp.org>
27555
27556         * lib/c-stack.h (c_stack_action): Add documentation.
27557         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
27558
27559 2008-07-20  Bruno Haible  <bruno@clisp.org>
27560
27561         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
27562         * modules/readlink (License): Likewise.
27563
27564 2008-07-17  Eric Blake  <ebb9@byu.net>
27565
27566         * modules/c-stack (Link): Fix typo.
27567
27568         Make c-stack use libsigsegv, when available.
27569         * modules/c-stack (Depends-on): Add libsigsegv.
27570         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
27571         needed.
27572         * lib/c-stack.c (SIGSTKSZ): Define fallback.
27573         (segv_handler, overflow_handler, c_stack_action)
27574         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
27575         implementation when libsigsegv is available, but only when using
27576         the library is necessary.
27577         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
27578         comment, explaining why XSI check fails on Linux.
27579         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
27580         * tests/test-c-stack2.sh: Tweak skip message.
27581         * NEWS: Document new link-time requirements.
27582
27583 2008-07-16  Eric Blake  <ebb9@byu.net>
27584
27585         c-stack: Expose false positives when not using libsigsegv.
27586         * modules/c-stack-tests (Files): Expand test.
27587         * tests/test-c-stack.c (main): Add means to conditionally trigger
27588         non-overflow SIGSEGV.
27589         * tests/test-c-stack2.sh: New file.
27590
27591 2008-07-14  Bruno Haible  <bruno@clisp.org>
27592
27593         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
27594         Reported by Eric Blake.
27595
27596 2008-07-14  Sam Steingold  <sds@gnu.org>
27597             Bruno Haible  <bruno@clisp.org>
27598
27599         New module libsigsegv.
27600         * modules/libsigsegv: New file.
27601         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
27602         modifications.
27603         * MODULES.html.sh (Signal handling): New section.
27604
27605 2008-07-14  Bruno Haible  <bruno@clisp.org>
27606
27607         * modules/unictype/ctype-* (Description): Add the word "function".
27608         Improves the resulting doc in MODULES.html.
27609
27610 2008-07-12  Ben Pfaff  <blp@gnu.org>
27611
27612         Add longlong module.
27613         * modules/longlong: New file.
27614
27615 2008-07-12  Bruno Haible  <bruno@clisp.org>
27616
27617         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
27618         to empty.
27619
27620 2008-07-10  Ben Pfaff  <blp@gnu.org>
27621
27622         Add isnan module.
27623         * doc/posix-functions/isnan.texi: Mention new module.
27624         * lib/math.in.h: Define isnan macro if we have decided to replace
27625         it.
27626         * m4/isnan.m4: New file.
27627         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
27628         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
27629         also.
27630         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
27631         redundancy.
27632         * m4/math_h.m4: Initialize and substitute variables for isnan
27633         module.
27634         * modules/isnan: New file.
27635         * modules/isnan-tests: New file.
27636         * modules/math: Add substitutions for new module.
27637         * tests/test-isnan.c: New file.
27638         * MODULES.html.sh: Mention new module.
27639
27640 2008-07-10  Ben Pfaff  <blp@gnu.org>
27641
27642         Add isnanf module.
27643         * lib/isnanf.m4: New file.
27644         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
27645         (gl_HAVE_ISNANF_IN_LIBM): New macro.
27646         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
27647         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
27648         * modules/isnanf: New file.
27649         * modules/isnanf-tests: New file.
27650         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
27651         files.
27652         * tests/test-isnanf-nolibm.c: factored most of its contents into
27653         new file tests/test-isnanf.h.
27654         * tests/test-isnanf.h: New file.
27655         * tests/test-isnanf.c: New file.
27656         * MODULES.html.sh: Mention new module.
27657         * doc/glibc-functions/isnanf.texi: Mention new module.
27658
27659 2008-07-10  Ben Pfaff  <blp@gnu.org>
27660
27661         Add isnand module.
27662         * lib/isnand.h: New file.
27663         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
27664         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
27665         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
27666         functionality also.
27667         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
27668         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
27669         (gl_HAVE_ISNAND_IN_LIBM): New macro.
27670         * modules/isnand: New file.
27671         * modules/isnand-tests: New file.
27672         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
27673         files.
27674         * tests/test-isnand-nolibm.c: factored most of its contents into
27675         new file tests/test-isnand.h.
27676         * tests/test-isnand.h: New file.
27677         * tests/test-isnand.c: New file.
27678         * MODULES.html.sh: Mention new module.
27679
27680 2008-07-10  Ben Pfaff  <blp@gnu.org>
27681
27682         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
27683         * lib/isnand.h: Rename lib/isnand-nolibm.h.
27684         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
27685         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
27686         * modules/isnanf-nolibm: Update references to renamed files.
27687         * modules/isnand-nolibm: Likewise.
27688         * modules/isnanf-nolibm-tests: Likewise.
27689         * modules/isnand-nolibm-tests: Likewise.
27690         * lib/frexp.c: Likewise.
27691         * lib/isfinite.c: Likewise.
27692         * lib/signbitd.c: Likewise.
27693         * lib/signbitf.c: Likewise.
27694         * lib/vasnprintf.c: Likewise.
27695         * tests/test-ceilf1.c: Likewise.
27696         * tests/test-ceilf2.c: Likewise.
27697         * tests/test-floorf1.c: Likewise.
27698         * tests/test-floorf2.c: Likewise.
27699         * tests/test-frexp.c: Likewise.
27700         * tests/test-round1.c: Likewise.
27701         * tests/test-round2.c: Likewise.
27702         * tests/test-roundf1.c: Likewise.
27703         * tests/test-strtod.c: Likewise.
27704         * tests/test-trunc1.c: Likewise.
27705         * tests/test-trunc2.c: Likewise.
27706         * tests/test-truncf1.c: Likewise.
27707         * tests/test-truncf2.c: Likewise.
27708         * NEWS: Mention the renamed header files.
27709
27710 2008-07-11  Jim Meyering  <meyering@redhat.com>
27711
27712         vc-list-files: make the last-resort awk code more portable
27713         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
27714         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
27715         does not support it.
27716
27717 2008-07-10  Eric Blake  <ebb9@byu.net>
27718
27719         Work with tar's bootstrap.
27720         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
27721         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
27722         an m4 comment.
27723
27724 2008-07-09  Jim Meyering  <meyering@redhat.com>
27725
27726         posix-shell.m4: fix typo that made this test malfunction
27727         * m4/posix-shell.m4: Remove capitalization in variable name.
27728
27729 2008-07-08  Bruno Haible  <bruno@clisp.org>
27730
27731         * m4/onceonly.m4: Update comments.
27732         Reported by Ben Pfaff <blp@cs.stanford.edu>.
27733
27734 2008-07-04  Jim Meyering  <meyering@redhat.com>
27735
27736         * users.txt: Add vc-dwim.
27737         (bison, coreutils): Use the gitweb URL.
27738
27739 2008-07-03  Jim Meyering  <meyering@redhat.com>
27740
27741         * users.txt: Add libffcall.  From Sam Steingold.
27742
27743 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
27744
27745         getdate.y: do not ignore TZ with relative day, month or year offset
27746         * lib/getdate.y (get_date): Move the tz-handling block to follow the
27747         relative-date-handling, since otherwise, the latter would clobber the
27748         sole output (an updated Start value) of the tz-handling block.
27749         * tests/test-getdate.c: Tests for the fix
27750
27751 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27752
27753         Recognize 'foo_LIBRARIES += libgnu.a'.
27754         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
27755         makefile snippet has already specified an installation location,
27756         also using '+='.
27757
27758 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
27759
27760         getdate.y: factor out common actions
27761         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
27762         Use them in place of open-coded actions.
27763
27764 2008-07-01  Simon Josefsson  <simon@josefsson.org>
27765
27766         Add self-test for getdate module.
27767         * modules/getdate-tests: New file.
27768         * tests/test-getdate.c: New file.
27769
27770 2008-06-29  Bruno Haible  <bruno@clisp.org>
27771
27772         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
27773         .gitignore.
27774         Reported by Sylvain Beucler <beuc@beuc.net>.
27775
27776 2008-06-29  Bruno Haible  <bruno@clisp.org>
27777
27778         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
27779         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
27780
27781 2008-06-29  Bruno Haible  <bruno@clisp.org>
27782
27783         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
27784         EXTRA_DIST.
27785         Reported by Sylvain Beucler <beuc@beuc.net>.
27786
27787 2008-06-26  Jim Meyering  <meyering@redhat.com>
27788
27789         make several modules depend on the "open" module
27790         This provides slightly increased consistency when opening-for-write
27791         the name of a non-directory spelled with a trailing slash.
27792         * modules/chdir-safer: Likewise.
27793         * modules/chown: Likewise.
27794         * modules/clean-temp: Likewise.
27795         * modules/copy-file: Likewise.
27796         * modules/fchdir: Likewise.
27797         * modules/fcntl-safer: Likewise.
27798         * modules/pipe: Likewise.
27799         * modules/utime: Likewise.
27800         Prompted by Eric Blake and Bruno Haible.
27801
27802 2008-06-24  Andreas Schwab  <schwab@suse.de>
27803
27804         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
27805         literals can be used as initializers for global variables.
27806
27807 2008-06-23  Eric Blake  <ebb9@byu.net>
27808
27809         Make gnulib-cache.m4 easier to diff.
27810         * gnulib-tool (func_import): Allow newlines when reading cached
27811         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
27812
27813 2008-06-23  Bruno Haible  <bruno@clisp.org>
27814
27815         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
27816         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
27817         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
27818         m4/signalblocking.m4.
27819         (gl_PREREQ_SIGACTION): Don't invoke it.
27820         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
27821         gl_PREREQ_SIG_HANDLER_H.
27822         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
27823         Don't check for sigaction here.
27824
27825 2008-06-23  Bruno Haible  <bruno@clisp.org>
27826
27827         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
27828         (install_handlers): Don't set the SA_RESETHAND flag.
27829
27830 2008-06-23  Bruno Haible  <bruno@clisp.org>
27831
27832         * m4/sigaction.m4: Comment fixes.
27833         * lib/signal.in.h: Likewise.
27834
27835 2008-06-23  Eric Blake  <ebb9@byu.net>
27836
27837         Fix typo.
27838         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
27839
27840         Avoid SA_ namespace.
27841         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
27842         Reported by Ralf Wildenhues.
27843
27844         Avoid test failure due to SA_RESTORER.
27845         * tests/test-sigaction.c (SA_MASK): New macro.
27846         (main): Avoid failing due to extension flags being set.
27847         Reported by Jim Meyering.
27848
27849         Revert use of sig-handler.h in sigprocmask.c.
27850         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
27851         it requires the existence of struct sigaction.
27852         * lib/sigprocmask.c (handler_t): Restore typedef.
27853         (rpl_signal, old_handlers): Use local type.
27854
27855 2008-06-22  Bruno Haible  <bruno@clisp.org>
27856
27857         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
27858         conditionally.
27859         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
27860
27861 2008-06-22  Bruno Haible  <bruno@clisp.org>
27862
27863         * doc/posix-functions/siginterrupt.texi: Move note.
27864
27865         * lib/signal.in.h (SA_RESTART): New macro.
27866         * lib/sigaction.c: Update comment.
27867
27868         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
27869
27870         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
27871         (gl_PREREQ_SIGPROCMASK): Invoke it.
27872         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
27873
27874         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
27875
27876         * lib/sigprocmask.c: Update a comment.
27877
27878 2008-06-21  Eric Blake  <ebb9@byu.net>
27879
27880         Use sigaction module rather than signal().
27881         * modules/c-stack (Depends-on): Add sigaction.
27882         * modules/fatal-signal (Depends-on): Likewise.
27883         * modules/nanosleep (Depends-on): Likewise.
27884         * modules/sigprocmask (Files): Add sig-handler.h.
27885         * modules/sigaction (Files): Likewise.
27886         * lib/sig-handler.h (get_handler): New file, suggested by Paul
27887         Eggert.
27888         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
27889         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
27890         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
27891         (init_fatal_signals): Likewise.
27892         * lib/nanosleep.c (rpl_nanosleep): Likewise.
27893         (siginterrupt): Delete fallback.
27894         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
27895         instead.
27896         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
27897         siginterrupt.
27898
27899         New module sigaction, for mingw.
27900         * modules/sigaction: New module...
27901         * modules/sigaction-tests: ...and its test.
27902         * m4/sigaction.m4: New file.
27903         * lib/sigaction.c: Likewise.
27904         * tests/test-sigaction.c: Likewise.
27905         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
27906         * modules/signal (Makefile.am): Likewise.
27907         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
27908         needed.
27909         * doc/posix-headers/signal.texi (signal.h): Mention provided
27910         types.
27911         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
27912         that sigaction is preferable.
27913         * doc/posix-functions/sigaction.texi (sigaction): Mention new
27914         module.
27915         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
27916         sigaction.
27917
27918         Improve robustness of sigprocmask by overriding signal.
27919         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
27920         is in use.
27921         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
27922         (SIGKILL, SIGSTOP): Provide fallbacks.
27923         (rpl_signal): Implement.
27924         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
27925         signal can be called inside handlers.
27926
27927         Fix nanosleep module on mingw.
27928         * modules/nanosleep (Depends-on): Add sys_select.
27929         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
27930
27931         Fix licensing of sigprocmask.
27932         * modules/raise (License): Relicense as LGPL.
27933
27934 2008-06-21  Bruno Haible  <bruno@clisp.org>
27935
27936         * lib/propername.c (proper_name_utf8): Don't use the transliterated
27937         result if it contains question marks.
27938         Reported by Michael Geng <linux@michaelgeng.de>.
27939
27940 2008-06-19  Bruno Haible  <bruno@clisp.org>
27941
27942         Fix CVS-ism.
27943         * doc/gnulib.texi: Include updated-stamp.texi.
27944         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
27945         (updated-stamp.texi): New rule.
27946         (gnulib.info): Depend on it.
27947         * doc/.gitignore: Add updated-stamp.texi.
27948         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
27949
27950 2008-06-19  Bruno Haible  <bruno@clisp.org>
27951
27952         * doc/Makefile (gnulib.info): Update and simplify dependencies.
27953         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
27954
27955 2008-06-19  Eric Blake  <ebb9@byu.net>
27956
27957         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
27958         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
27959         Reported by Stepan Kasal.
27960
27961 2008-06-18  Bruno Haible  <bruno@clisp.org>
27962
27963         * lib/fatal-signal.c (init_fatal_signals): Add comment.
27964         Reported by Eric Blake.
27965
27966 2008-06-18  Eric Blake  <ebb9@byu.net>
27967
27968         Work around cygwin 1.5.25 strsignal bug.
27969         * tests/test-strsignal.c: Allow for const char *.
27970         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
27971
27972 2008-06-18  Simon Josefsson  <simon@josefsson.org>
27973
27974         * users.txt: Update URL to article and add author/date
27975         information.
27976
27977 2008-06-17  Bruno Haible  <bruno@clisp.org>
27978
27979         New macro gl_DISABLE_THREADS.
27980         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
27981         if the user did not pass --enable-threads or --disable-threads option.
27982         (gl_DISABLE_THREADS): New macro.
27983         Reported by Eric Blake <ebb9@byu.net>.
27984
27985 2008-06-17  Bruno Haible  <bruno@clisp.org>
27986
27987         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
27988         when the macro ignores it.
27989         Based on a patch by Eric Blake <ebb9@byu.net>.
27990
27991 2008-06-17  Bruno Haible  <bruno@clisp.org>
27992
27993         * modules/tls (License): Change to LGPLv2+.
27994         Reported by Eric Blake.
27995
27996 2008-06-17  Eric Blake  <ebb9@byu.net>
27997
27998         Simplify c-stack prerequisites.
27999         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
28000         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
28001         no longer requires <ucontext.h> to exist.  Optimize setrlimit
28002         check.
28003         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
28004         <sys/resource.h>.
28005
28006         Move c-stack test into testsuite.
28007         * modules/c-stack-tests: New file.
28008         * lib/c-stack.c [DEBUG]: Move test program...
28009         * tests/test-c-stack.c: ...into this new file.  Skip rather than
28010         fail test if sigaltstack is lacking.
28011         * tests/test-c-stack.sh: New driver file.
28012
28013 2008-06-16  Eric Blake  <ebb9@byu.net>
28014
28015         Use raise module consistently.
28016         * modules/fatal-signal (Depends-on): Add raise.
28017         * modules/sigprocmask (Depends-on): Likewise.
28018         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
28019         * lib/sigprocmask.c (sigprocmask): Likewise.
28020         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
28021         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
28022
28023         Fix compliance bug in sigpending.
28024         * lib/sigprocmask.c (sigpending): Return pending array via
28025         parameter, not return value.
28026
28027 2008-06-14  Eric Blake  <ebb9@byu.net>
28028
28029         Improve obstack-printf test code.
28030         * tests/test-obstack-printf.c (test_function): Fix comment, and
28031         simplify usage of obstack_* in macros.  Add a test for coverage.
28032         Reported by Bruno Haible.
28033
28034 2008-06-14  Bruno Haible  <bruno@clisp.org>
28035
28036         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
28037         array size as a constant, not as a const variable.
28038         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
28039         AC_USE_SYSTEM_EXTENSIONS.
28040         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
28041         Test whether the obstack_printf function actually exists.
28042         * modules/obstack-printf (Depends-on): Add extensions.
28043         (Include): Remove obstack.h.
28044         * modules/obstack-printf-posix (Depends-on): Add extensions.
28045         (Include): Remove obstack.h.
28046
28047 2008-06-13  Eric Blake  <ebb9@byu.net>
28048
28049         Add obstack-printf and obstack-printf-posix modules.
28050         * modules/obstack-printf: New file.
28051         * modules/obstack-printf-posix: Likewise.
28052         * MODULES.html.sh (Misc): Mention them.
28053         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
28054         Likewise.
28055         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
28056         Likewise.
28057         * modules/stdio (Makefile.am): Accomodate new modules.
28058         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
28059         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
28060         Declare.
28061         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
28062         functions.
28063         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
28064         (gl_REPLACE_OBSTACK_PRINTF): New macros
28065         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
28066         * tests/test-obstack-printf.c: New file.
28067         * modules/obstack-printf-tests: Likewise.
28068         * modules/obstack-printf-posix-tests: Likewise.
28069
28070 2008-06-11  Bruno Haible  <bruno@clisp.org>
28071
28072         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
28073         * lib/open.c: Include errno.h.
28074         (open): Fail when attempting to write to a file that has a trailing
28075         slash.
28076         * tests/test-open.c (main): Test against trailing slash bug.
28077         * doc/posix-functions/open.texi: Mention the trailing slash bug.
28078
28079 2008-06-10  Bruno Haible  <bruno@clisp.org>
28080
28081         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
28082         for $? to work inside the trap command, with various /bin/sh-s.
28083         * tests/test-vc-list-files-cvs.sh: Likewise.
28084
28085 2008-06-10  Bruno Haible  <bruno@clisp.org>
28086
28087         * lib/acl-internal.h: Don't include gettext.h here.
28088         * lib/set-mode-acl.c: Include gettext.h here.
28089         * lib/copy-acl.c: Likewise.
28090
28091 2008-06-10  Bruno Haible  <bruno@clisp.org>
28092
28093         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
28094         * lib/wait-process.c (wait_subprocess): Likewise.
28095         * lib/execute.h (execute): Add termsigp argument.
28096         * lib/execute.c (execute): Likewise.
28097         * lib/csharpcomp.c (compile_csharp_using_pnet,
28098         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
28099         * lib/csharpexec.c (execute_csharp_using_pnet,
28100         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
28101         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
28102         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
28103         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
28104         is_jikes_present): Update.
28105         * lib/javaexec.c (execute_java_class): Update.
28106         * lib/javaversion.c (execute_and_read_line): Update.
28107         * NEWS: Document the changes.
28108         Reported by Eric Blake.
28109
28110 2008-06-10  Eric Blake  <ebb9@byu.net>
28111
28112         Add missing include.
28113         * tests/test-strstr.c (includes): Add <signal.h>.
28114         * tests/test-strcasestr.c (includes): Likewise.
28115         * tests/test-memmem.c (includes): Likewise.
28116
28117 2008-06-10  Bruno Haible  <bruno@clisp.org>
28118
28119         * lib/wait-process.c (wait_subprocess): Add an assertion.
28120
28121 2008-06-10  Bruno Haible  <bruno@clisp.org>
28122
28123         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
28124
28125 2008-06-10  Bruno Haible  <bruno@clisp.org>
28126
28127         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
28128         using alarm().
28129         * tests/test-strcasestr.c (main): Likewise.
28130         * tests/test-strstr.c (main): Likewise.
28131
28132 2008-06-09  Bruno Haible  <bruno@clisp.org>
28133
28134         Work around the Solaris 10 ACE ACLs ABI change.
28135         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
28136         declare if ACL_NO_TRIVIAL is present.
28137         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
28138         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
28139         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
28140         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
28141         define if ACL_NO_TRIVIAL is present.
28142         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
28143         and use the current ABI.
28144         (file_has_acl): Use same #if condition as elsewhere.
28145         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
28146         in use, and use the current ABI.
28147         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
28148         Reported by Jim Meyering.
28149
28150 2008-06-09  Eric Blake  <ebb9@byu.net>
28151
28152         Work around environments that (stupidly) ignore SIGALRM.
28153         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
28154         before using alarm().
28155         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
28156         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
28157         Reported by Ian Beckwith <ianb@erislabs.net>.
28158
28159         Produce autobuild blurb earlier in log.
28160         * modules/autobuild (configure.ac-early): Move AB_INIT here.
28161
28162 2008-06-09  Jim Meyering  <meyering@redhat.com>
28163         and OndÅ™ej Vašík  <ovasik@redhat.com>
28164
28165         utimens.c: correct kernel bug work-around
28166         OndÅ™ej Vašík found that the invalid return value of 280 indicates
28167         failure, not success, and the kernel bug we're trying to work
28168         around affects not just the utimensat call, but also the fallback
28169         futimens call.
28170         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
28171         not success.
28172         [HAVE_FUTIMENS]: Use the same work-around, here.
28173
28174 2008-06-09  Jim Meyering  <meyering@redhat.com>
28175
28176         add more guards around definition of ACE_-related code
28177         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
28178         ALLOW and ACE_OWNER are also defined.
28179
28180 2008-06-08  Bruno Haible  <bruno@clisp.org>
28181
28182         * lib/acl-internal.h: Add me as co-author.
28183         * lib/file-has-acl.c: Likewise.
28184         * lib/set-mode-acl.c: Likewise.
28185         * lib/copy-acl.c: Likewise.
28186
28187 2008-06-08  Bruno Haible  <bruno@clisp.org>
28188
28189         Add support for AIX ACLs.
28190         * lib/acl-internal.h (acl_nontrivial): New declaration.
28191         * lib/file-has-acl.c (acl_nontrivial): New function.
28192         (file_has_acl): Add implementation using AIX 4 ACL API.
28193         * lib/set-mode-acl.c (qset_acl): Likewise.
28194         * lib/copy-acl.c (qcopy_acl): Likewise.
28195
28196 2008-06-08  Bruno Haible  <bruno@clisp.org>
28197
28198         Add support for HP-UX ACLs.
28199         * lib/acl-internal.h (acl_nontrivial): New declaration.
28200         * lib/file-has-acl.c (acl_nontrivial): New function.
28201         (file_has_acl): Add implementation using HP-UX 11 ACL API.
28202         * lib/set-mode-acl.c (qset_acl): Likewise.
28203         * lib/copy-acl.c (qcopy_acl): Likewise.
28204
28205 2008-06-08  Bruno Haible  <bruno@clisp.org>
28206
28207         Add support for Cygwin ACLs.
28208         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
28209         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
28210         the chmod_or_fchmod call.
28211         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
28212
28213 2008-06-08  Bruno Haible  <bruno@clisp.org>
28214
28215         Fix bug with setuid modes in Solaris 10+ code.
28216         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
28217         succeeded, when the mode contains some special bits.
28218
28219 2008-06-08  Bruno Haible  <bruno@clisp.org>
28220
28221         Add support for Solaris 7..10 ACLs.
28222         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
28223         declarations.
28224         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
28225         functions.
28226         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
28227         * lib/set-mode-acl.c (qset_acl): Likewise.
28228         * lib/copy-acl.c (qcopy_acl): Likewise.
28229
28230 2008-06-08  Bruno Haible  <bruno@clisp.org>
28231
28232         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
28233         declaration.
28234         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
28235         (acl_access_nontrivial): Remove MacOS X case.
28236         (file_has_acl): Use acl_extended_nontrivial.
28237         * lib/copy-acl.c (qcopy_acl): Likewise.
28238
28239 2008-06-08  Bruno Haible  <bruno@clisp.org>
28240
28241         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
28242
28243 2008-06-08  Jim Meyering  <meyering@redhat.com>
28244
28245         * modules/acl (Maintainer): Add Bruno Haible.
28246
28247 2008-06-07  Bruno Haible  <bruno@clisp.org>
28248
28249         Improve support for Tru64 ACLs.
28250         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
28251         ACL on OSF/1.
28252
28253 2008-06-07  Bruno Haible  <bruno@clisp.org>
28254
28255         Add support for MacOS X ACLs.
28256         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
28257         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
28258         * lib/set-mode-acl.c (qset_acl): Likewise.
28259         * lib/copy-acl.c (qcopy_acl): Likewise.
28260
28261 2008-06-07  Bruno Haible  <bruno@clisp.org>
28262
28263         Fix memory leak introduced on 2008-05-22.
28264         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
28265         use.
28266
28267 2008-06-07  Bruno Haible  <bruno@clisp.org>
28268
28269         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
28270         to construct an empty ACL.
28271
28272 2008-06-07  Bruno Haible  <bruno@clisp.org>
28273
28274         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
28275         precisely.
28276         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
28277
28278 2008-06-07  Bruno Haible  <bruno@clisp.org>
28279
28280         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
28281         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
28282
28283 2008-06-07  Bruno Haible  <bruno@clisp.org>
28284
28285         * doc/posix-functions/_setjmp.texi: Explain the use of this function
28286         regardless of POSIX.
28287         * doc/posix-functions/_longjmp.texi: Likewise.
28288         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
28289         SystemV platform in this case.
28290
28291 2008-06-06  Eric Blake  <ebb9@byu.net>
28292
28293         Document abort() bugs.
28294         * doc/posix-functions/abort.texi (abort): Mention anomalies.
28295
28296         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
28297         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
28298         sigsetjmp.
28299         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
28300         siglongjmp, but only as a macro.
28301         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
28302         is obsolete.
28303         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
28304
28305         Tweak documentation to cover cygwin argz bugs.
28306         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
28307         argz bug fix; no code change needed since no cygwin releases
28308         occurred between the last fix and the bug being tested.
28309         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
28310         module and recently fixed cygwin bugs.
28311         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
28312         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
28313         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
28314         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
28315         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
28316         Likewise.
28317         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
28318         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
28319         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
28320         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
28321         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
28322         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
28323         Likewise.
28324
28325         Avoid gcc warning on cygwin.
28326         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
28327         !ACL_NO_TRIVIAL]: Avoid unused variable.
28328
28329 2008-06-05  Eric Blake  <ebb9@byu.net>
28330
28331         Be tolerant of UNKNOWN version in gnulib-tool test dir.
28332         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
28333         git-version-gen fails to come up with a version.
28334         Reported by Simon Josefsson.
28335
28336 2008-06-05  Jim Meyering  <meyering@redhat.com>
28337             Paul Eggert  <eggert@cs.ucla.edu>
28338
28339         utimens.c: work around a probable Linux kernel bug
28340         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
28341         appears to be a kernel bug that causes utimensat to return 280
28342         instead of 0, indicating success.
28343
28344 2008-06-04  Bruno Haible  <bruno@clisp.org>
28345
28346         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
28347         2008-06-01 commit.
28348
28349 2008-06-04  Bruno Haible  <bruno@clisp.org>
28350
28351         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
28352         * lib/file-has-acl.c (acl_access_nontrivial): New function.
28353         (file_has_acl): Use it. Save errno afterwards.
28354         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
28355
28356 2008-06-03  Bruno Haible  <bruno@clisp.org>
28357
28358         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
28359         draft code. Simplify #ifs.
28360         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
28361         Put Solaris code after POSIX-draft code. Fix comments regarding
28362         Solaris 10, HP-UX. Mention Cygwin.
28363         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
28364
28365 2008-06-03  Eric Blake  <ebb9@byu.net>
28366
28367         Provide fallback for older kernels.
28368         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
28369         Provide runtime fallback if kernel lacks support.
28370         Reported by Mike Frysinger.
28371
28372 2008-06-02  Bruno Haible  <bruno@clisp.org>
28373
28374         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
28375         it exists.
28376
28377 2008-06-02  Bruno Haible  <bruno@clisp.org>
28378
28379         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
28380         * lib/copy-acl.c (qcopy_acl): Update comment.
28381
28382 2008-06-02  Bruno Haible  <bruno@clisp.org>
28383
28384         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
28385         like ACL APIs.
28386
28387 2008-06-02  Bruno Haible  <bruno@clisp.org>
28388
28389         * tests/test-file-has-acl.sh: Use different code for Cygwin.
28390         * tests/test-set-mode-acl.sh: Likewise.
28391         * tests/test-copy-acl.sh: Likewise.
28392         * tests/test-copy-file.sh: Likewise.
28393
28394 2008-06-02  Bruno Haible  <bruno@clisp.org>
28395
28396         * tests/test-file-has-acl.sh: Remove unused code.
28397
28398 2008-06-01  Bruno Haible  <bruno@clisp.org>
28399
28400         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
28401         (copy_acl): Just a wrapper around qcopy_acl that emits the error
28402         messages.
28403         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
28404
28405 2008-06-01  Bruno Haible  <bruno@clisp.org>
28406
28407         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
28408         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
28409         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
28410         APIs.
28411         * modules/acl-tests (configure.ac): Remove tests now contained in
28412         m4/acl.m4.
28413
28414 2008-06-02  Jim Meyering  <meyering@redhat.com>
28415
28416         announce-gen: use a better key-server host name
28417         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
28418         it may be more consistently reliable.  Suggested by Werner Koch
28419         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
28420
28421 2008-06-01  Bruno Haible  <bruno@clisp.org>
28422
28423         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
28424         Reported by Voroskoi Andras <voroskoi@gmail.com>.
28425
28426 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
28427
28428         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
28429
28430 2008-06-01  Bruno Haible  <bruno@clisp.org>
28431
28432         New ACL tests.
28433         * tests/test-file-has-acl.sh: New file.
28434         * tests/test-file-has-acl.c: New file.
28435         * tests/test-set-mode-acl.sh: New file.
28436         * tests/test-set-mode-acl.c: New file.
28437         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
28438         * tests/test-copy-acl.c: New file.
28439         * modules/acl-tests: New file, based on modules/copy-file-tests.
28440         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
28441         (Depends-on): Add acl-tests.
28442         (configure.ac): Remove checks.
28443         (Makefile.am): Don't create test-sameacls program here any more.
28444
28445 2008-06-01  Bruno Haible  <bruno@clisp.org>
28446
28447         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
28448         * tests/test-sameacls.c: Include progname.h.
28449         (main): Invoke set_program_name. Portability fixes for MacOS X,
28450         Solaris, HP-UX.
28451
28452 2008-06-01  Bruno Haible  <bruno@clisp.org>
28453
28454         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
28455         function.
28456         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
28457
28458 2008-06-01  Bruno Haible  <bruno@clisp.org>
28459
28460         * modules/rpmatch (Depends-on): Add strdup.
28461
28462 2008-06-01  Bruno Haible  <bruno@clisp.org>
28463
28464         * lib/pipe.c: Include unistd-safer.h.
28465         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
28466         * modules/pipe (Depends-on): Add unistd-safer.
28467
28468 2008-05-30  Simon Josefsson  <simon@josefsson.org>
28469
28470         * modules/autobuild (configure.ac): Call AB_INIT.
28471
28472 2008-05-30  Simon Josefsson  <simon@josefsson.org>
28473
28474         * tests/test-getaddrinfo.c: Don't print debug messages by default.
28475         Suggested by Bruno Haible <bruno@clisp.org>.
28476
28477 2008-05-30  Simon Josefsson  <simon@josefsson.org>
28478
28479         * tests/test-base64.c: Cast size_t to unsigned long when invoking
28480         printf.  Use %lu instead of %d.  Reported by Bruno Haible
28481         <bruno@clisp.org>.
28482
28483 2008-05-29  Eric Blake  <ebb9@byu.net>
28484
28485         Prefer new POSIX 200x interfaces over futimesat.
28486         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
28487         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
28488         when available.
28489         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
28490
28491 2008-05-28  Bruno Haible  <bruno@clisp.org>
28492
28493         * modules/stpcpy (License): Change to LGPLv2+.
28494         Requested by David Lutterkort <dlutter@redhat.com>.
28495
28496 2008-05-27  Bruno Haible  <bruno@clisp.org>
28497
28498         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
28499         current mingw.
28500         Reported by Jose E. Marchesi <jemarch@gnu.org>.
28501
28502 2008-05-27  Bruno Haible  <bruno@clisp.org>
28503
28504         * modules/iconv_open (Link): New section, from module 'iconv'.
28505         * modules/striconv (Link): Likewise.
28506         * modules/striconveh (Link): Likewise.
28507         * modules/xstriconv (Link): Likewise.
28508         * modules/unicodeio (Link): Likewise.
28509         * modules/propername (Link): Likewise.
28510         Reported by Jim Meyering.
28511
28512 2008-05-26  Jim Meyering  <meyering@redhat.com>
28513
28514         sha256: do not artificially restrict buffer length to be < 2^32
28515         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
28516         uint32_t to size_t.
28517         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
28518         to match.
28519
28520         avoid unaligned access errors, e.g., on sparc
28521         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
28522         direct access through a possibly-unaligned uint64* pointer.
28523         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
28524         direct access through a possibly-unaligned uint32* pointer.
28525         Prompted by this patch from Tom "spot" Callaway:
28526         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
28527
28528         sha512.c: fix typo in comment
28529         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
28530
28531 2008-05-25  Bruno Haible  <bruno@clisp.org>
28532
28533         * lib/set-mode-acl.c: Renamed from lib/acl.c.
28534         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
28535         (Makefile.am): Update lib_SOURCES.
28536
28537 2008-05-25  Bruno Haible  <bruno@clisp.org>
28538
28539         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
28540
28541 2008-05-25  Jim Meyering  <meyering@redhat.com>
28542
28543         useless-if-before-free: freed expr may have white-space differences
28544         * build-aux/useless-if-before-free: Recognize cases in which the
28545         freed expression differs from the tested one in embedded white
28546         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
28547         $1 was used, so we can't make any regexp shy.  Improved tests now
28548         detect this.
28549
28550         useless-if-before-free: accept white space in the expression.
28551         * build-aux/useless-if-before-free: For now, any white space
28552         in the expression must be identical in the free argument.
28553
28554         useless-if-before-free: efficiency tweak
28555         * build-aux/useless-if-before-free: Make the expression-matching
28556         regexp "shy".
28557         Make the *outer* regexp shy, not the expr-matching one.
28558
28559         update code-in-comment to accept cast of free arg
28560         * build-aux/useless-if-before-free: Update regexp.
28561
28562 2008-05-25  Bruno Haible  <bruno@clisp.org>
28563
28564         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
28565         * modules/copy-file-tests (Files, Makefile.am): Update.
28566         * tests/test-copy-file.c (func_test_copy): Update.
28567
28568 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
28569
28570         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
28571
28572 2008-05-23  Bruno Haible  <bruno@clisp.org>
28573
28574         Improve support for ACLs on OSF/1.
28575         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
28576         Remove fallback for unknown flavors of ACLs.
28577
28578 2008-05-22  Bruno Haible  <bruno@clisp.org>
28579
28580         Add support for ACLs on OSF/1.
28581         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
28582         replacements.
28583         (acl_free_text): New macro fallback.
28584         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
28585         acl_free.
28586         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
28587         acl_free_text function. Require AC_C_INLINE.
28588
28589 2008-05-22  Bruno Haible  <bruno@clisp.org>
28590
28591         Make copy_acl work on MacOS X 10.5.
28592         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
28593         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
28594         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
28595         If MODE_INSIDE_ACL, don't assume that every system has the same text
28596         representation for ACLs as FreeBSD.
28597         * lib/copy-acl.c (copy_acl): Add support for platforms with
28598         !MODE_INSIDE_ACL.
28599         * lib/file-has-acl.c (file_has_acl): Likewise.
28600         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
28601         FreeBSD, MacOS X, or IRIX, respectively.
28602
28603 2008-05-22  Bruno Haible  <bruno@clisp.org>
28604
28605         * lib/acl.h: Don't include <sys/acl.h>.
28606         (GETACLCNT): Move fallback to lib/acl-internal.h.
28607         * lib/acl-internal.h: Include <sys/acl.h> here.
28608         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
28609
28610 2008-05-22  Bruno Haible  <bruno@clisp.org>
28611
28612         Split off copy_acl function to separate file.
28613         * lib/copy-acl.c: New file, extracted from lib/acl.c.
28614         * lib/acl.c (copy_acl): Moved function to separate file.
28615         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
28616         * modules/acl (Files): Add lib/copy-acl.c.
28617         (Makefiles.am): Augment lib_SOURCES.
28618
28619 2008-05-22  Bruno Haible  <bruno@clisp.org>
28620
28621         * modules/copy-file-tests: New file.
28622         * tests/test-copy-file.sh: New file.
28623         * tests/test-copy-file.c: New file.
28624         * tests/test-copy-file-sameacls.c: New file.
28625
28626 2008-05-22  Eric Blake  <ebb9@byu.net>
28627
28628         Avoid gcc warning.
28629         * tests/test-memcmp.c (main): Pass NULL indirectly.
28630
28631 2008-05-21  Bruno Haible  <bruno@clisp.org>
28632
28633         Add reference doc about ACLs.
28634         * doc/acl-resources.txt: New file.
28635         * doc/acl-cygwin.txt: New file.
28636
28637 2008-05-21  Bruno Haible  <bruno@clisp.org>
28638
28639         Avoid one more warning from gcc.
28640         * lib/vasnprintf.c (IF_LINT): Update comments.
28641         (VASNPRINTF): Use it also for the 'prefix' array initializer.
28642
28643 2008-05-21  Jim Meyering  <meyering@redhat.com>
28644
28645         avoid a warning from gcc
28646         * lib/vasnprintf.c (IF_LINT): Define.
28647         (scale10_round_decimal_long_double):
28648         Use it to avoid a "may be used uninitialized" warning.
28649         (scale10_round_decimal_double): Likewise.
28650
28651 2008-05-21  Simon Josefsson  <simon@josefsson.org>
28652
28653         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
28654         declared.
28655
28656 2008-05-20  Bruno Haible  <bruno@clisp.org>
28657
28658         * tests/test-memcmp.c (main): Test also the sign of the result. Test
28659         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
28660
28661 2008-05-20  Simon Josefsson  <simon@josefsson.org>
28662
28663         * modules/memcmp-tests: New file.
28664         * tests/test-memcmp.c: New file.
28665
28666 2008-05-19  Bruno Haible  <bruno@clisp.org>
28667
28668         * modules/propername (Notice, configure.ac): Put quoted "..." into
28669         --keyword option.
28670         * lib/propername.h: Update comments accordingly.
28671         Reported by Eric Blake.
28672
28673 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
28674
28675         * modules/getpass-gnu (Depends-on): Add fseeko.
28676
28677 2008-05-19  Simon Josefsson  <simon@josefsson.org>
28678
28679         * modules/base64-tests: New file.
28680
28681 2008-05-19  Bo Borgerson <gigabo@gmail.com>
28682
28683         * lib/base64.c (base64_decode_ctx): If a decode context structure
28684         was passed in use it to ignore newlines.  If a context structure
28685         was _not_ passed in, continue to treat newlines as garbage (this
28686         is the historical behavior).  Formerly base64_decode.
28687         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
28688         takes a decode context structure.
28689         * lib/base64.h (base64_decode): Macro for four-argument calls.
28690         (base64_decode_alloc): Likewise.
28691         * lib/base64.c (base64_decode_ctx): If a decode context structure
28692         was passed in use it to ignore newlines.  If a context structure
28693         was _not_ passed in, continue to treat newlines as garbage (this
28694         is the historical behavior).  Formerly base64_decode.
28695         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
28696         takes a decode context structure.
28697         * lib/base64.h (base64_decode): Macro for four-argument calls.
28698         (base64_decode_alloc): Likewise.
28699
28700 2008-05-19  Jim Meyering  <meyering@redhat.com>
28701
28702         avoid a warning from gcc
28703         * lib/trim.c (IF_LINT): Define.
28704         (trim2): Use it to avoid a "may be used uninitialized" warning.
28705
28706         Fix doc typo.
28707         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
28708
28709 2008-05-19  Bruno Haible  <bruno@clisp.org>
28710
28711         * doc/glibc-functions/getpass.texi: Document limits of other
28712         implementations.
28713
28714 2008-05-19  Simon Josefsson  <simon@josefsson.org>
28715             Bruno Haible <bruno@clisp.org>
28716
28717         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
28718
28719 2008-05-18  Bruno Haible  <bruno@clisp.org>
28720
28721         * modules/propername: New file, from GNU gettext.
28722         * lib/propername.h: New file, from GNU gettext.
28723         * lib/propername.c: New file, from GNU gettext.
28724         * MODULES.html.sh (Internationalization functions): Add propername.
28725
28726 2008-05-16  Jim Meyering  <meyering@redhat.com>
28727             Bruno Haible  <bruno@clisp.org>
28728
28729         Avoid some warnings from "gcc -Wshadow".
28730         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
28731
28732 2008-05-15  Eric Blake  <ebb9@byu.net>
28733
28734         Extend previous patch to cygwin 1.7.0.
28735         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
28736         fast implementation in cygwin >= 1.7.0.
28737         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
28738         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
28739
28740 2008-05-15  Bruno Haible  <bruno@clisp.org>
28741
28742         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
28743         implementation in glibc >= 2.9.
28744         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
28745         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
28746
28747 2008-05-15  Bruno Haible  <bruno@clisp.org>
28748
28749         * MODULES.html.sh (Internationalization functions): Remove linebreak.
28750         (Unicode string functions): Add unilbrk/*.
28751         Reported by Karl Berry.
28752
28753 2008-05-15  Eric Blake  <ebb9@byu.net>
28754
28755         Fix violation of <stdbool.h> replacement in regex.
28756         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
28757         * lib/regexec.c (re_search_internal): Likewise.
28758         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
28759
28760 2008-05-15  Jim Meyering  <meyering@redhat.com>
28761
28762         avoid distracting test output when git or cvs is not found
28763         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
28764         * tests/test-vc-list-files-git.sh: Likewise.
28765
28766 2008-05-15  Eric Blake  <ebb9@byu.net>
28767
28768         Glibc finally accepted the memmem speedup code, bugzilla #5514.
28769         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
28770         glibc version.
28771         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
28772         * doc/posix-functions/strstr.texi (strstr): Likewise.
28773         * lib/str-two-way.h (MAX): Sychronize with glibc.
28774
28775 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
28776
28777         * lib/regcomp.c (optimize_utf8): Add a note on why we test
28778         opr.ctx_type.
28779         (calc_first): Initialize constraint field.
28780         (duplicate_node_closure): Use it instead of special casing ANCHORS.
28781         Fix grammar.
28782         (duplicate_node): Merge constraint field for all node types.
28783         (calc_eclosure_iter): Look at constraint field for all node types.
28784         * lib/regex_internal.c (create_cd_newstate): Don't look at
28785         opr.ctx_type.
28786
28787 2008-05-14  Bruno Haible  <bruno@clisp.org>
28788
28789         Help GCC to do better code generation.
28790         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
28791         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
28792         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
28793         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
28794         Declare with attribute 'malloc' if supported.
28795
28796 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
28797
28798         use "echo STR|wc -c" rather than unportable "expr length STR"
28799         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
28800         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
28801
28802 2008-05-14  Jim Meyering  <meyering@redhat.com>
28803
28804         use dd ibs=$n count=1 ... rather than less-portable head -c$n
28805         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
28806         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
28807         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
28808         via Collin Lasse.
28809
28810 2008-05-14  Eric Blake  <ebb9@byu.net>
28811
28812         Avoid quadratic growth in gl_LIBSOURCES.
28813         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
28814         Suggested by Bruno Haible.
28815
28816         Test xmemdup0.
28817         * modules/xmemdup0-tests: New file.
28818         * tests/test-xmemdup0.c: Likewise.
28819
28820 2008-05-13  Eric Blake  <ebb9@byu.net>
28821
28822         Split xmemdup0 into its own module.
28823         * modules/xmemdup0: New file.
28824         * lib/xmemdup0.h: Likewise.
28825         * lib/xmemdup0.c: Likewise.
28826         * MODULES.html.sh (Memory management functions): Add xmemdup0.
28827         * lib/xalloc.h (xmemdup0): Remove.
28828         * lib/xmalloc.c (xmemdup0): Likewise.
28829
28830 2008-05-13  Eric Blake  <ebb9@byu.net>
28831             Bruno Haible  <bruno@clisp.org>
28832
28833         Reduce number of forks required during autoconf.
28834         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
28835         and gl_LIBSOURCES_DIR.
28836         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
28837         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
28838         m4_syscmd per file.
28839         <m4_foreach_w>: Move...
28840         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
28841
28842 2008-05-13  Eric Blake  <ebb9@byu.net>
28843
28844         * gnulib-tool: Fix various comment typos.
28845
28846 2008-05-12  Bruno Haible  <bruno@clisp.org>
28847
28848         Tailor the linebreaking algorithm.
28849         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
28850
28851 2008-05-12  Bruno Haible  <bruno@clisp.org>
28852
28853         Update to Unicode 5.0.0.
28854         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
28855         LBP_JV, LBP_JT. Redistribute values.
28856         (unilbrk_table): Change size.
28857         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
28858         Unicode TR#14 rev. 22.
28859         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
28860         LBP_JV, LBP_JT. Redistribute values.
28861         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
28862         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
28863         Update.
28864         * lib/unilbrk/lbrkprop1.h: Regenerated.
28865         * lib/unilbrk/lbrkprop2.h: Regenerated.
28866         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
28867         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
28868         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
28869         Likewise.
28870         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
28871         Likewise.
28872         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
28873         result.
28874         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
28875         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
28876         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
28877         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
28878         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
28879         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
28880
28881 2008-05-11  Bruno Haible  <bruno@clisp.org>
28882
28883         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
28884
28885 2008-05-11  Bruno Haible  <bruno@clisp.org>
28886
28887         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
28888         * modules/unilbrk/gen-lbrk: New file.
28889
28890 2008-05-11  Bruno Haible  <bruno@clisp.org>
28891
28892         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
28893         * m4/sha512.m4 (gl_SHA512): Likewise.
28894
28895 2008-05-11  Jim Meyering  <meyering@redhat.com>
28896
28897         New modules: crypto/sha256, crypto/sha512 (from coreutils)
28898         * modules/crypto/sha256: New file.
28899         * modules/crypto/sha512: Likewise.
28900         * lib/sha256.c: Likewise.
28901         * lib/sha256.h: Likewise.
28902         * lib/sha512.c: Likewise.
28903         * lib/sha512.h: Likewise.
28904         * lib/u64.h: Likewise.
28905         * m4/sha256.m4: Likewise.
28906         * m4/sha512.m4: Likewise.
28907         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
28908
28909 2008-05-10  Bruno Haible  <bruno@clisp.org>
28910
28911         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
28912         (Input/Output <stdio.h>): Add xprintf.
28913         (Signal handling <signal.h>): Add strsignal.
28914         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
28915         (Core language properties): Add func.
28916         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
28917         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
28918         strings.
28919         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
28920         (Input/output): New section.
28921         (File system functions): Add openat-die, stat-macros.
28922         (Networking functions): Add sockets.
28923         (Unicode string functions): Add unictype/*.
28924         (Support for building libraries and executables): Add gperf.
28925         (Support for building documentation): Add agpl-3.0.
28926         (Misc): Add nocrash.
28927
28928 2008-05-10  Bruno Haible  <bruno@clisp.org>
28929
28930         * modules/unictype/gen-ctype: New file.
28931
28932 2008-05-10  Jim Meyering  <meyering@redhat.com>
28933
28934         Make chdir-safer.c more efficient on a system with no symlinks.
28935         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
28936         also if ELOOP is zero.  Suggested by Bruno Haible.
28937
28938         Make chdir-safer.c slightly safer.
28939         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
28940         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
28941
28942         Avoid compile failure on systems without ELOOP (like mingw).
28943         * lib/chdir-safer.c (ELOOP): Define if not already defined.
28944         Reported by Bruno Haible.
28945
28946 2008-05-10  Bruno Haible  <bruno@clisp.org>
28947
28948         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
28949         (is_utf8_encoding): Use a case-insensitive comparison.
28950         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
28951         streq.
28952
28953 2008-05-10  Bruno Haible  <bruno@clisp.org>
28954
28955         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
28956         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
28957         * lib/unilbrk/ulc-common.h (iconv_string_length,
28958         iconv_string_keeping_offsets): Remove declarations.
28959         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
28960         Don't include <iconv.h>, streq.h, xsize.h.
28961         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
28962         conversion.
28963         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
28964         <iconv.h>, streq.h, xsize.h.
28965         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
28966         conversion.
28967         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
28968         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
28969         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
28970         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
28971
28972 2008-05-10  Bruno Haible  <bruno@clisp.org>
28973
28974         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
28975         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
28976
28977         * modules/unilbrk/u32-width-linebreaks-tests: New file.
28978         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
28979
28980         * modules/unilbrk/u16-width-linebreaks-tests: New file.
28981         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
28982
28983         * modules/unilbrk/u8-width-linebreaks-tests: New file.
28984         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
28985
28986         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
28987         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
28988
28989         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
28990         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
28991
28992         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
28993         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
28994
28995         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
28996         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
28997
28998 2008-05-10  Bruno Haible  <bruno@clisp.org>
28999
29000         Split up 'linebreak' module.
29001         * lib/unilbrk.h: New file, based on lib/linebreak.h.
29002         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
29003         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
29004         modifications.
29005         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
29006         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
29007         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
29008         lib/linebreak.c.
29009         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
29010         lib/linebreak.c.
29011         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
29012         lib/linebreak.c.
29013         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
29014         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
29015         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
29016         lib/linebreak.c.
29017         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
29018         lib/linebreak.c.
29019         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
29020         lib/linebreak.c.
29021         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
29022         lib/linebreak.c.
29023         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
29024         lib/linebreak.c.
29025         * modules/unilbrk/base: New file.
29026         * modules/unilbrk/tables: New file.
29027         * modules/unilbrk/u8-possible-linebreaks: New file.
29028         * modules/unilbrk/u16-possible-linebreaks: New file.
29029         * modules/unilbrk/u32-possible-linebreaks: New file.
29030         * modules/unilbrk/ulc-common: New file.
29031         * modules/unilbrk/ulc-possible-linebreaks: New file.
29032         * modules/unilbrk/u8-width-linebreaks: New file.
29033         * modules/unilbrk/u16-width-linebreaks: New file.
29034         * modules/unilbrk/u32-width-linebreaks: New file.
29035         * modules/unilbrk/ulc-width-linebreaks: New file.
29036         * lib/linebreak.h: Remove file.
29037         * lib/linebreak.c: Remove file.
29038         * m4/linebreak.m4: Remove file.
29039         * modules/linebreak: Remove file.
29040         * NEWS: Mention the changes.
29041
29042 2008-05-09  Eric Blake  <ebb9@byu.net>
29043
29044         Add xmemdup0.
29045         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
29046         implementation.
29047         * lib/xmalloc.c (xmemdup0): New C implementation.
29048
29049 2008-05-08  Bruno Haible  <bruno@clisp.org>
29050
29051         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
29052
29053 2008-05-07  Eric Blake  <ebb9@byu.net>
29054
29055         Support cross-compilation of <wctype.h>.
29056         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
29057         AC_CACHE_CHECK.
29058
29059 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
29060
29061         * build-aux/vc-list-files: Add support for bzr.
29062
29063 2008-05-03  Jim Meyering  <meyering@redhat.com>
29064
29065         avoid failed assertion with tight malloc
29066         * tests/test-getndelim2.c: Correct an off-by-one assertion.
29067
29068 2008-05-03  Simon Josefsson  <simon@josefsson.org>
29069
29070         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
29071         are needed from arpa/inet.h.
29072         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
29073         Reported by Bruno Haible.
29074
29075 2008-05-02  Jim Meyering  <meyering@redhat.com>
29076
29077         avoid compilation error on FreeBSD 6
29078         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
29079
29080 2008-05-01  Jim Meyering  <meyering@redhat.com>
29081
29082         useless-if-before-free: correct --help's exit status description
29083         * build-aux/useless-if-before-free (usage): Like grep, exit 0
29084         for one or more matches, etc.  Reported by Bruno Haible.
29085
29086         vc-list-files: make the stand-alone gnulib test work
29087         * modules/vc-list-files-tests (configure.ac):
29088         Define and AC_SUBST abs_aux_dir.
29089         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
29090         $(abs_top_srcdir) to each script and having each of them
29091         duplicate the work of setting PATH, set PATH here, using
29092         the new variable, abs_aux_dir instead.
29093         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
29094         * tests/test-vc-list-files-git.sh: Likewise.
29095         Reported by Bruno Haible.
29096
29097 2008-05-01  Bruno Haible  <bruno@clisp.org>
29098
29099         * lib/getndelim2.c (getndelim2): Fix newsize computation during
29100         reallocation. Rename 'done' to 'found_delimiter'.
29101
29102 2008-05-01  Jim Meyering  <meyering@redhat.com>
29103
29104         vc-list-files: accommodate /bin/sh like the one from Solaris 10
29105         * build-aux/vc-list-files: Use `...`, not $(...).
29106
29107 2008-04-30  Jim Meyering  <meyering@redhat.com>
29108
29109         add tests for vc-list-files
29110         * modules/vc-list-files-tests: New module.
29111         * tests/test-vc-list-files-cvs.sh: New file.
29112         * tests/test-vc-list-files-git.sh: New file.
29113
29114         avoid a warning from gcc
29115         * lib/getndelim2.c (IF_LINT): Define.
29116         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
29117
29118         vc-list-files: work properly with build-aux/cvsu, too
29119         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
29120         to all cvs-based clauses.
29121
29122         vc-list-files: work properly in the CVS+awk case, too
29123         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
29124
29125         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
29126         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
29127         take more than one file argument, so .  Add quotes, just in case $dir
29128         ever contains a shell meta-character.  Prompted by Soren Hansen in
29129         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
29130
29131 2008-04-29  Eric Blake  <ebb9@byu.net>
29132
29133         Optimize getndelim2 to use block operations when possible.
29134         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
29135         freadseek, and memchr2.
29136         * lib/getndelim2.c (getndelim2): Use them for block reads.
29137
29138 2008-04-29  Bruno Haible  <bruno@clisp.org>
29139
29140         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
29141         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
29142         * modules/inet_ntop (Depends-on): Add extensions.
29143         * modules/inet_pton (Depends-on): Likewise.
29144         Reported by Simon Josefsson.
29145
29146 2008-04-29  Jim Meyering  <meyering@redhat.com>
29147
29148         When the is more than one match in a block, match all of them.
29149         * build-aux/useless-if-before-free: Iterate through each block
29150         until there are no more matches.
29151
29152         Fix broken useless-if-before-free script.
29153         * build-aux/useless-if-before-free: Fix typo: missing "?" after
29154         the expression to match cast of argument to free-like function.
29155
29156 2008-04-29  Eric Blake  <ebb9@byu.net>
29157
29158         Use new header.
29159         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
29160
29161 2008-04-29  Jim Meyering  <meyering@redhat.com>
29162
29163         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
29164         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
29165         by gnulib to exist and to declare e.g., inet_ntop.
29166         Don't include "inet_ntop.h", now removed.
29167
29168         * m4/arpa_inet_h.m4: Remove trailing blanks.
29169
29170 2008-04-29  Eric Blake  <ebb9@byu.net>
29171
29172         Silence valgrind on safe reads beyond potential array bounds.
29173         * lib/rawmemchr.valgrind: New file.
29174         * lib/strchrnul.valgrind: Likewise.
29175         * modules/rawmemchr (Files): Distribute new file.
29176         * modules/strchrnul (Files): Likewise.
29177         Suggested by Bruno Haible.
29178
29179 2008-04-29  Bruno Haible  <bruno@clisp.org>
29180
29181         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
29182         (inet_ntop, inet_pton): Change portability warning's wording.
29183         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
29184         Invoke gl_CHECK_NEXT_HEADERS.
29185         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
29186         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
29187         set ARPA_INET_H.
29188         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
29189         * modules/arpa_inet (Description): No longer only for systems that
29190         lack it.
29191         (Depends-on): Add include_next.
29192         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
29193         HAVE_ARPA_INET_H.
29194
29195 2008-04-29  Jim Meyering  <meyering@redhat.com>
29196
29197         * modules/mkdir (License): Re-license as LGPLv2+.
29198
29199 2008-04-29  Bruno Haible  <bruno@clisp.org>
29200
29201         * modules/rawmemchr (Maintainer): Set to Eric.
29202         * modules/strchrnul (Maintainer): Likewise.
29203
29204 2008-04-29  Simon Josefsson  <simon@josefsson.org>
29205
29206         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
29207         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
29208
29209         * modules/arpa_inet (arpa/inet.h): Use them.
29210
29211 2008-04-28  Eric Blake  <ebb9@byu.net>
29212
29213         Test getndelim2.
29214         * modules/getndelim2-tests: New file.
29215         * tests/test-getndelim2.c: Likewise.
29216         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
29217         stream.
29218         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
29219
29220         * MODULES.html.sh: Document new module.
29221
29222 2008-04-20  Bruno Haible  <bruno@clisp.org>
29223
29224         * lib/c-stack.c (die): Use raise.
29225         * modules/c-stack (Depends-on): Add raise.
29226
29227 2008-04-28  Bruno Haible  <bruno@clisp.org>
29228
29229         Expect rpmatch to be declared.
29230         * lib/yesno.c (rpmatch): Remove declaration.
29231
29232         Declare rpmatch.
29233         * lib/stdlib.in.h (rpmatch): New declaration.
29234         * lib/rpmatch.c: Include <stdlib.h> first.
29235         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
29236         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
29237         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
29238         HAVE_RPMATCH.
29239         * modules/rpmatch (Depends-on): Add stdlib, extensions.
29240         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
29241         (Include): Set to <stdlib.h>.
29242         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
29243         HAVE_RPMATCH.
29244         * NEWS: Document the change.
29245
29246 2008-04-28  Bruno Haible  <bruno@clisp.org>
29247
29248         Change rpmatch to use nl_langinfo when appropriate.
29249         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
29250         (N_): New macro.
29251         (localized_pattern): New function/macro.
29252         (try): Remove match, nomatch arguments. Copy the pattern into safe
29253         memory before caching it.
29254         (rpmatch): Use localized_pattern. Add translator comments.
29255         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
29256         Suggested by Eric Blake.
29257         * modules/rpmatch (Depends-on): Add stdbool.
29258
29259 2008-04-28  Eric Blake  <ebb9@byu.net>
29260
29261         Add rawmemchr module, matching glibc.
29262         * modules/string (Makefile.am): New indicator.
29263         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
29264         * lib/string.in.h (rawmemchr): Declare when appropriate.
29265         * modules/rawmemchr: New file.
29266         * m4/rawmemchr.m4: Likewise.
29267         * lib/rawmemchr.c: Likewise.
29268         * modules/rawmemchr-tests: Likewise.
29269         * tests/test-rawmemchr.c: Likewise.
29270         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
29271         module.
29272         * modules/strchrnul (Depends-on): Add rawmemchr.
29273         * lib/strchrnul.c (strchrnul): Optimize a corner case.
29274
29275         Whitespace cleanup.
29276         * tests/test-strchrnul.c: Reindent.
29277         * lib/strchrnul.c: Likewise.
29278
29279         Optimize and test strchrnul.
29280         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
29281         * modules/strchrnul-tests: New file.
29282         * tests/test-strchrnul.c: Likewise.
29283
29284         Remove intprops dependency.
29285         * modules/memchr (Depends-on): Remove intprops.
29286         * modules/memrchr (Depends-on): Likewise.
29287         * modules/memchr2 (Depends-on): Likewise.
29288         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
29289         * lib/memrchr.c (__memrchr): Likewise.
29290         * lib/memrchr2.c (memchr2): Likewise.
29291         Reported by Simon Josefsson.
29292
29293 2008-04-28  Simon Josefsson  <simon@josefsson.org>
29294
29295         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
29296         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
29297
29298 2008-04-28  Simon Josefsson  <simon@josefsson.org>
29299
29300         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
29301
29302         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
29303
29304         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
29305
29306         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
29307         declarations.
29308         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
29309
29310         * m4/inet_pton.m4: Don't check for header files.
29311
29312         * m4/inet_ntop.m4: Don't check for header files.
29313
29314 2008-04-28  Simon Josefsson  <simon@josefsson.org>
29315
29316         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
29317         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
29318         trigger for cygwin).
29319         Reported by Bruno Haible  <bruno@clisp.org>.
29320
29321 2008-04-28  Bruno Haible  <bruno@clisp.org>
29322
29323         * doc/posix-functions/strdup.texi: Mention mingw problem.
29324
29325 2008-04-27  Bruno Haible  <bruno@clisp.org>
29326
29327         * modules/stat-time-tests (Depends-on): Add sleep.
29328         * tests/test-stat-time.c (force_unlink): New function.
29329         (cleanup): Use it.
29330         (test_mtime): Remove the ctime related tests.
29331         (test_ctime): New function, containing the ctime related tests.
29332         (main): Call test_ctime, except on native Windows platforms.
29333
29334 2008-04-27  Bruno Haible  <bruno@clisp.org>
29335
29336         * lib/rpmatch.c (rpmatch): Add some comments.
29337         Reported by James Youngman <jay@gnu.org>.
29338
29339 2008-04-27  Bruno Haible  <bruno@clisp.org>
29340
29341         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
29342         quiet NaNs.
29343
29344 2008-04-27  Bruno Haible  <bruno@clisp.org>
29345
29346         Make test-yesno.sh work on mingw.
29347         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
29348         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
29349         (main): Set stdin to binary mode.
29350         * modules/yesno-tests (Depends-on): Add binary-io.
29351
29352 2008-04-27  Bruno Haible  <bruno@clisp.org>
29353
29354         Fix 'isfinite' on x86, x86_64, ia64 platforms.
29355         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
29356         argument that lie outside the IEEE 854 domain.
29357         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
29358         (gl_ISFINITE): Use it.
29359         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
29360
29361 2008-04-27  Bruno Haible  <bruno@clisp.org>
29362
29363         Allow local renaming in config.h.
29364         * lib/memrchr.c (memrchr): Don't undefine outside libc.
29365
29366 2008-04-27  Bruno Haible  <bruno@clisp.org>
29367
29368         * lib/memchr.c (__memchr): Change type of 'i'.
29369         * lib/memchr2.c (memchr2): Likewise.
29370
29371 2008-04-26  Eric Blake  <ebb9@byu.net>
29372         and Bruno Haible  <bruno@clisp.org>
29373
29374         Optimize and test memrchr.
29375         * modules/memrchr (Depends-on): Add intprops.
29376         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
29377         * modules/memrchr-tests: New file.
29378         * tests/test-memrchr.c: New file.
29379
29380 2008-04-26  Bruno Haible  <bruno@clisp.org>
29381
29382         Add tentative support for DragonFly BSD.
29383         * lib/stdio-impl.h: Add macros for DragonFly BSD.
29384         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
29385         fp.
29386         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
29387         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
29388         * lib/fpurge.c (fpurge): Likewise.
29389         * lib/freadable.c (freaadable): Likewise.
29390         * lib/freadahead.c (freadahead): Likewise.
29391         * lib/freading.c (freading): Likewise.
29392         * lib/freadptr.c (freadptr): Likewise.
29393         * lib/freadseek.c (freadptrinc): Likewise.
29394         * lib/fseeko.c (fseeko): Likewise.
29395         * lib/fseterr.c (fseterr): Likewise.
29396         * lib/fwritable.c (fwritable): Likewise.
29397         * lib/fwriting.c (fwriting): Likewise.
29398
29399 2008-04-26  Bruno Haible  <bruno@clisp.org>
29400
29401         * lib/stdio-impl.h: New file.
29402         * lib/fbufmode.c: Include stdio-impl.h.
29403         (fbufmode): Use fp_, remove redundant #defines.
29404         * lib/fflush.c: Include stdio-impl.h.
29405         (clear_ungetc_buffer): Remove redundant #defines.
29406         * lib/fpurge.c: Include stdio-impl.h.
29407         (fpurge): Remove redundant #defines.
29408         * lib/freadable.c: Include stdio-impl.h.
29409         (freadable): Remove redundant #defines.
29410         * lib/freadahead.c: Include stdio-impl.h.
29411         (freadahead): Remove redundant #defines.
29412         * lib/freading.c: Include stdio-impl.h.
29413         (freading): Remove redundant #defines.
29414         * lib/freadptr.c: Include stdio-impl.h.
29415         (freadptr): Remove redundant #defines.
29416         * lib/freadseek.c: Include stdio-impl.h.
29417         (freadptrinc): Remove redundant #defines.
29418         * lib/fseeko.c: Include stdio-impl.h.
29419         (rpl_fseeko): Remove redundant #defines.
29420         * lib/fseterr.c: Include stdio-impl.h.
29421         (fseterr): Remove redundant #defines.
29422         * lib/fwritable.c: Include stdio-impl.h.
29423         (fwritable: Remove redundant #defines.
29424         * lib/fwriting.c: Include stdio-impl.h.
29425         (fwriting): Remove redundant #defines.
29426         * modules/fbufmode (Files): Add lib/stdio-impl.h.
29427         * modules/fflush (Files): Likewise.
29428         * modules/fpurge (Files): Likewise.
29429         * modules/freadable (Files): Likewise.
29430         * modules/freadahead (Files): Likewise.
29431         * modules/freading (Files): Likewise.
29432         * modules/freadptr (Files): Likewise.
29433         * modules/freadseek (Files): Likewise.
29434         * modules/fseeko (Files): Likewise.
29435         * modules/fseterr (Files): Likewise.
29436         * modules/fwritable (Files): Likewise.
29437         * modules/fwriting (Files): Likewise.
29438
29439 2008-04-26  Bruno Haible  <bruno@clisp.org>
29440
29441         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
29442         restore_seek_optimization, update_fpos_cache): New functions, extracted
29443         from rpl_fflush.
29444         (rpl_fflush): Use them.
29445         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
29446         (gl_REPLACE_FFLUSH): Use it.
29447
29448 2008-04-26  Bruno Haible  <bruno@clisp.org>
29449
29450         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
29451         on Solaris.
29452         * tests/test-xstrtoimax.sh: Likewise.
29453         * tests/test-xstrtoumax.sh: Likewise.
29454         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
29455
29456 2008-04-26  Bruno Haible  <bruno@clisp.org>
29457
29458         * modules/memchr-tests: New file.
29459         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
29460
29461 2008-04-26  Eric Blake  <ebb9@byu.net>
29462             Bruno Haible  <bruno@clisp.org>
29463
29464         * lib/memchr.c: Include intprops.h.
29465         (__memchr): Optimize parallel detection of matching bytes. Rename local
29466         variables. Add explanatory comments.
29467
29468 2008-04-26  Bruno Haible  <bruno@clisp.org>
29469
29470         Fix module 'memchr', broken since 2000-10-28.
29471         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
29472
29473 2008-04-26  Bruno Haible  <bruno@clisp.org>
29474
29475         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
29476         comments.
29477
29478 2008-04-25  Eric Blake  <ebb9@byu.net>
29479
29480         Use native fstatat on cygwin 1.7.0.
29481         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
29482         first.
29483
29484 2008-04-23  Eric Blake  <ebb9@byu.net>
29485
29486         Improve memchr2 performance.
29487         * lib/memchr2.c (memchr2): Further optimize parallel detection of
29488         NUL bytes.
29489         * modules/memchr2 (Depends-on): Use intprops.h.
29490
29491 2008-04-23  Simon Josefsson  <simon@josefsson.org>
29492
29493         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
29494         an inline function instead of a CPP macro.  Patch by Ben Pfaff
29495         <blp@cs.stanford.edu>.
29496
29497 2008-04-23  Simon Josefsson  <simon@josefsson.org>
29498
29499         * lib/arpa_inet.in.h: New file.
29500
29501         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
29502         (Makefile.am): Sed in substitute header file.
29503
29504         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
29505         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
29506
29507         * modules/inet_ntop (configure.ac): Use
29508         gl_ARPA_INET_MODULE_INDICATOR.
29509
29510         * modules/inet_pton (configure.ac): Use
29511         gl_ARPA_INET_MODULE_INDICATOR.
29512
29513 2008-04-22  Jim Meyering  <meyering@redhat.com>
29514
29515         * modules/verify (License): Re-license as LGPLv2+.
29516
29517 2008-04-22  Simon Josefsson  <simon@josefsson.org>
29518
29519         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
29520         parameter to void* as per POSIX standard (MinGW uses char*).
29521
29522 2008-04-21  Bruno Haible  <bruno@clisp.org>
29523
29524         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
29525         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
29526         Define to replacements if REPLACE_ISWCNTRL is 1.
29527         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
29528         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
29529         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
29530         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
29531         what it fixes.
29532         * doc/posix-functions/iswalpha.texi: Likewise.
29533         * doc/posix-functions/iswblank.texi: Likewise.
29534         * doc/posix-functions/iswcntrl.texi: Likewise.
29535         * doc/posix-functions/iswdigit.texi: Likewise.
29536         * doc/posix-functions/iswgraph.texi: Likewise.
29537         * doc/posix-functions/iswlower.texi: Likewise.
29538         * doc/posix-functions/iswprint.texi: Likewise.
29539         * doc/posix-functions/iswpunct.texi: Likewise.
29540         * doc/posix-functions/iswspace.texi: Likewise.
29541         * doc/posix-functions/iswupper.texi: Likewise.
29542         * doc/posix-functions/iswxdigit.texi: Likewise.
29543         Reported by Alain Guibert.
29544
29545 2008-04-21  Bruno Haible  <bruno@clisp.org>
29546
29547         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
29548         Patch by Alain Guibert.
29549
29550 2008-04-21  Bruno Haible  <bruno@clisp.org>
29551
29552         Fix test failures on mingw.
29553         * tests/test-xstrtol.c (print_no_progname): New function.
29554         (main): Install it in error_print_progname hook.
29555         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
29556         * tests/test-xstrtoimax.sh: Likewise.
29557         * tests/test-xstrtoumax.sh: Likewise.
29558
29559 2008-04-21  Bruno Haible  <bruno@clisp.org>
29560
29561         Fix test failure on mingw.
29562         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
29563
29564 2008-04-21  Bruno Haible  <bruno@clisp.org>
29565
29566         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
29567         Actually assign a value.
29568
29569 2008-04-20  Bruno Haible  <bruno@clisp.org>
29570
29571         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
29572         take 2.
29573         * lib/canonicalize.c (canonicalize_file_name): Elide if the
29574         'canonicalize-lgpl' module is also used.
29575         * lib/canonicalize-lgpl.c: Undo last change.
29576         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
29577
29578 2008-04-20  Bruno Haible  <bruno@clisp.org>
29579
29580         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
29581         config.h. Provide _mkdir based fallback for mingw.
29582         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
29583         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
29584         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
29585         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
29586         rather than defining mkdir in config.h.
29587         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
29588         (gl_SYS_STAT_H_DEFAULTS): New macro.
29589         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
29590         HAVE_IO_H any more.
29591         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
29592         HAVE_DECL_MKDIR and HAVE_IO_H.
29593
29594 2008-04-20  Bruno Haible  <bruno@clisp.org>
29595
29596         * lib/isapipe.c: Port to native Windows platforms.
29597
29598 2008-04-20  Bruno Haible  <bruno@clisp.org>
29599
29600         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
29601
29602 2008-04-21  Eric Blake  <ebb9@byu.net>
29603
29604         Work around preprocessors that don't handle UINTMAX_MAX.
29605         * lib/memchr2.c (memchr2): Avoid embedded #if.
29606         Reported by Alain Guibert, fix suggested by Bruno Haible.
29607
29608 2008-04-21  Simon Josefsson  <simon@josefsson.org>
29609
29610         * doc/posix-functions/strftime.texi (strftime): Explain better
29611         Windows incompatibility.  Suggested by Micah Cowan
29612         <micah@cowan.name>.
29613
29614 2008-04-20  Bruno Haible  <bruno@clisp.org>
29615
29616         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
29617         unistr/u8-mblen.
29618
29619 2008-04-20  Bruno Haible  <bruno@clisp.org>
29620
29621         Fix test failure on platforms with non-GNU iconv.
29622         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
29623         (U_TO_U8): Use it, rather than u16_to_u8.
29624         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
29625         units at the end of the input string.
29626         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
29627
29628 2008-04-20  Bruno Haible  <bruno@clisp.org>
29629
29630         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
29631         when the resulting length is 0.
29632         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
29633
29634 2008-04-20  Bruno Haible  <bruno@clisp.org>
29635
29636         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
29637         works.
29638         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
29639
29640 2008-04-20  Bruno Haible  <bruno@clisp.org>
29641
29642         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
29643         * modules/tsearch-tests (configure.ac): Test for initstate function.
29644
29645 2008-04-20  Bruno Haible  <bruno@clisp.org>
29646
29647         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
29648         for nlink_t if missing.
29649         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
29650
29651 2008-04-19  Bruno Haible  <bruno@clisp.org>
29652
29653         Work around snprintf bug on Linux libc5.
29654         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
29655         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
29656         gl_SNPRINTF_SIZE1.
29657         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
29658         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
29659         that test failed.
29660         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
29661         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
29662         * modules/snprintf (Files): Add m4/printf.m4.
29663         * modules/vsnprintf (Files): Likewise.
29664         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
29665         * doc/posix-functions/vsnprintf.texi: Likewise.
29666
29667 2008-04-19  Bruno Haible  <bruno@clisp.org>
29668
29669         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
29670         from 0.0058 to less than 10^-7.
29671
29672 2008-04-19  Bruno Haible  <bruno@clisp.org>
29673
29674         Fix rounding when a precision is given.
29675         * lib/vasnprintf.c (is_borderline): New function.
29676         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
29677         9...9x.
29678         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
29679         %e, %g.
29680         * tests/test-vasprintf-posix.c (test_function): Likewise.
29681         * tests/test-snprintf-posix.h (test_function): Likewise.
29682         * tests/test-sprintf-posix.h (test_function): Likewise.
29683         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
29684         * tests/test-printf-posix.h (test_function): Likewise.
29685         * tests/test-printf-posix.output: Update.
29686         Reported by John Darrington <john@darrington.wattle.id.au> via
29687         Ben Pfaff <blp@cs.stanford.edu>.
29688
29689 2008-04-18  Simon Josefsson  <simon@josefsson.org>
29690
29691         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
29692         Suggested by Bruno Haible <bruno@clisp.org>.
29693
29694 2008-04-17  Bruno Haible  <bruno@clisp.org>
29695
29696         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
29697         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
29698         implementation.
29699         Patch by Bruce Merry <bmerry@gmail.com>.
29700
29701 2008-04-17  Simon Josefsson  <simon@josefsson.org>
29702
29703         * doc/posix-functions/strftime.texi (strftime): Mention that %e
29704         doesn't work under Windows.
29705
29706 2008-04-16  Bruno Haible  <bruno@clisp.org>
29707
29708         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
29709         New macros.
29710         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
29711         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
29712         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
29713         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
29714         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
29715         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
29716         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
29717         macros.
29718         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
29719         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
29720         Northern Sotho, Uighur.
29721
29722 2008-04-16  Bruno Haible  <bruno@clisp.org>
29723
29724         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
29725         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
29726         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
29727         Reported by Daniel Bergström <daniel@octocode.com>.
29728
29729 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
29730             Bruno Haible  <bruno@clisp.org>
29731
29732         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
29733         function.
29734         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
29735         New functions, mostly extracted from gl_locale_name_default.
29736         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
29737
29738 2008-04-16  Eric Blake  <ebb9@byu.net>
29739
29740         Adjust strtod detection to catch glibc 2.7 bug.
29741         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
29742         Reported by John Gatewood Ham.
29743
29744 2008-04-16  Bruno Haible  <bruno@clisp.org>
29745
29746         Add tentative support for Linux libc5.
29747         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
29748         * lib/fpurge.c (fpurge): Likewise.
29749         * lib/freadable.c (freadable): Likewise.
29750         * lib/freadahead.c (freadahead): Likewise.
29751         * lib/freading.c (freading): Likewise.
29752         * lib/freadptr.c (freadptr): Likewise.
29753         * lib/freadseek.c (freadptrinc): Likewise.
29754         * lib/fseeko.c (rpl_fseeko): Likewise.
29755         * lib/fseterr.c (fseterr): Likewise.
29756         * lib/fwritable.c (fwritable): Likewise.
29757         * lib/fwriting.c (fwriting): Likewise.
29758         Reported by Alain Guibert <alguibert+bts@free.fr>.
29759
29760 2008-04-15  Bruno Haible  <bruno@clisp.org>
29761
29762         * modules/mathl (configure.ac): Define module indicator.
29763
29764 2008-04-15  Bruno Haible  <bruno@clisp.org>
29765
29766         * lib/logl.c (logl): Remove unused variables.
29767
29768 2008-04-15  Bruno Haible  <bruno@clisp.org>
29769
29770         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
29771         fails.
29772
29773 2008-04-15  Bruno Haible  <bruno@clisp.org>
29774
29775         * lib/trim.c (trim2): Fix argument of isspace() macro.
29776
29777 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
29778
29779         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
29780         to 0.
29781         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
29782
29783 2008-04-14  Bruno Haible  <bruno@clisp.org>
29784
29785         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
29786         AC_LANG_PROGRAM argument.
29787         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
29788         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
29789         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
29790         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
29791         * m4/math_h.m4 (gl_MATH_H): Likewise.
29792         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
29793         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
29794         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
29795         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
29796         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
29797         * m4/regex.m4 (gl_REGEX): Likewise.
29798         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
29799         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
29800         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
29801         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
29802         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
29803         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
29804         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
29805         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
29806
29807 2008-04-14  Jim Meyering  <meyering@redhat.com>
29808
29809         test-strtod: fix typos: s/abs/fabs/
29810         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
29811
29812 2008-04-13  Bruno Haible  <bruno@clisp.org>
29813
29814         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
29815         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
29816         module is also used and while not building the reloc-wrapper.
29817
29818 2008-04-13  Bruno Haible  <bruno@clisp.org>
29819
29820         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
29821
29822 2008-04-13  Bruno Haible  <bruno@clisp.org>
29823
29824         Fix AIX compilation failure introduced on 2008-04-02.
29825         * tests/test-frexp.c (exp): Undefine before redefining.
29826         * tests/test-frexpl.c (exp): Likewise.
29827
29828 2008-04-13  Bruno Haible  <bruno@clisp.org>
29829
29830         Work around a HP-UX stdio bug.
29831         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
29832         * tests/test-ftello.c (main): Likewise.
29833         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
29834         * doc/posix-functions/ftello.texi: Likewise.
29835
29836 2008-04-13  Bruno Haible  <bruno@clisp.org>
29837
29838         Make test-signbit pass on HP-UX/hppa.
29839         * tests/test-signbit.c (minus_zerol): New variable.
29840         (test_signbitl): Use it.
29841
29842 2008-04-13  Bruno Haible  <bruno@clisp.org>
29843
29844         Make truncl work on OSF/1 4.0.
29845         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
29846         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
29847         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
29848         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
29849         HAVE_DECL_TRUNCL.
29850         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
29851         HAVE_DECL_TRUNCL.
29852         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
29853
29854 2008-04-13  Bruno Haible  <bruno@clisp.org>
29855
29856         * lib/unictype.h: Remove trailing comma from enumeration definitions.
29857
29858 2008-04-13  Bruno Haible  <bruno@clisp.org>
29859
29860         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
29861         expression, so as to avoid HP-UX 11 cc compiler bug.
29862
29863 2008-04-13  Bruno Haible  <bruno@clisp.org>
29864
29865         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
29866
29867 2008-04-13  Bruno Haible  <bruno@clisp.org>
29868
29869         * lib/git-merge-changelog.c: Remove empty declaration outside of
29870         functions.
29871
29872 2008-04-13  Bruno Haible  <bruno@clisp.org>
29873
29874         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
29875
29876 2008-04-13  Bruno Haible  <bruno@clisp.org>
29877
29878         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
29879         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
29880         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
29881         also if it exists but lacks definitions of the SHUT_* macros.
29882         * modules/sys_socket (Description): Update.
29883         Reported by Elbert Pol <e.pol@chello.nl>.
29884
29885 2008-04-13  Bruno Haible  <bruno@clisp.org>
29886
29887         * lib/localcharset.c (OS2): Don't redefine if already defined.
29888         Reported by Elbert Pol <e.pol@chello.nl>.
29889
29890 2008-04-13  Bruno Haible  <bruno@clisp.org>
29891
29892         * lib/binary-io.h [__EMX__]: Include <io.h>.
29893         Reported by Elbert Pol <e.pol@chello.nl>.
29894
29895 2008-04-12  Bruno Haible  <bruno@clisp.org>
29896
29897         * lib/fpucw.h: Enable the definitions also for x86_64.
29898         Needed for NetBSD/x86_64.
29899         Reported by Thomas Klausner <tk@giga.or.at>.
29900
29901 2008-04-12  Bruno Haible  <bruno@clisp.org>
29902
29903         * tests/test-strtod.c: Include isnand.h.
29904         (main): Use isnand instead of isnan.
29905         Reported by Jim Meyering.
29906
29907 2008-04-12  Bruno Haible  <bruno@clisp.org>
29908
29909         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
29910         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
29911
29912 2008-04-12  Jim Meyering  <meyering@redhat.com>
29913
29914         * m4/math_h.m4 (gl_MATH_H): Fix typos.
29915
29916 2008-04-12  Bruno Haible  <bruno@clisp.org>
29917
29918         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
29919         Reported by Elbert Pol <e.pol@chello.nl>.
29920
29921 2008-04-12  Eric Blake  <ebb9@byu.net>
29922
29923         Work around Solaris 10 math.h bug.
29924         * m4/math_h.m4 (gl_MATH_H): Check for bug.
29925         (gl_MATH_H_DEFAULTS): Set up default.
29926         * modules/math (Makefile.am): Replace new indicators.
29927         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
29928         * tests/test-math.c (main): Test this.
29929         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
29930         * doc/posix-headers/math.texi (math.h): Mention bug.
29931         Reported by Nelson H. F. Beebe and Jim Meyering.
29932
29933 2008-04-11  Bruno Haible  <bruno@clisp.org>
29934
29935         Adapt to future versions of Apple GCC.
29936         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
29937         Reported by Peter O'Gorman <peter@pogma.com>.
29938
29939 2008-04-11  Bruno Haible  <bruno@clisp.org>
29940
29941         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
29942
29943 2008-04-11  Bruno Haible  <bruno@clisp.org>
29944
29945         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
29946
29947         * modules/getaddrinfo-tests (Makefile.am): Define
29948         test_getaddrinfo_LDADD.
29949
29950 2008-04-11  Bruno Haible  <bruno@clisp.org>
29951
29952         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
29953         (init): Fix syntax error.
29954         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
29955         is declared.
29956
29957 2008-04-11  Bruno Haible  <bruno@clisp.org>
29958
29959         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
29960         * modules/glob (Depends-on): Add stdbool.
29961
29962 2008-04-11  Bruno Haible  <bruno@clisp.org>
29963
29964         * lib/trim.c: Include <string.h>.
29965
29966 2008-04-11  Eric Blake  <ebb9@byu.net>
29967
29968         Avoid compile failure on OS/2.
29969         * lib/regex_internal.h (internal_function): Disable optimization
29970         on OS/2 (__EMX__), where it caused compiler error.
29971         Reported by Elbert Pol.
29972
29973 2008-04-11  Bruno Haible  <bruno@clisp.org>
29974
29975         Flush the standard error stream before aborting. Needed on mingw.
29976         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
29977         * tests/test-array_list.c (ASSERT): Likewise.
29978         * tests/test-array_oset.c (ASSERT): Likewise.
29979         * tests/test-avltree_list.c (ASSERT): Likewise.
29980         * tests/test-avltree_oset.c (ASSERT): Likewise.
29981         * tests/test-avltreehash_list.c (ASSERT): Likewise.
29982         * tests/test-binary-io.c (ASSERT): Likewise.
29983         * tests/test-byteswap.c (ASSERT): Likewise.
29984         * tests/test-c-ctype.c (ASSERT): Likewise.
29985         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
29986         * tests/test-c-strcasestr.c (ASSERT): Likewise.
29987         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
29988         * tests/test-c-strstr.c (ASSERT): Likewise.
29989         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
29990         * tests/test-canonicalize.c (ASSERT): Likewise.
29991         * tests/test-carray_list.c (ASSERT): Likewise.
29992         * tests/test-ceilf1.c (ASSERT): Likewise.
29993         * tests/test-ceilf2.c (ASSERT): Likewise.
29994         * tests/test-ceill.c (ASSERT): Likewise.
29995         * tests/test-count-one-bits.c (ASSERT): Likewise.
29996         * tests/test-fbufmode.c (ASSERT): Likewise.
29997         * tests/test-fflush2.c (ASSERT): Likewise.
29998         * tests/test-floorf1.c (ASSERT): Likewise.
29999         * tests/test-floorf2.c (ASSERT): Likewise.
30000         * tests/test-floorl.c (ASSERT): Likewise.
30001         * tests/test-fopen.c (ASSERT): Likewise.
30002         * tests/test-fpending.c (ASSERT): Likewise.
30003         * tests/test-fprintf-posix.c (ASSERT): Likewise.
30004         * tests/test-fpurge.c (ASSERT): Likewise.
30005         * tests/test-freadable.c (ASSERT): Likewise.
30006         * tests/test-freadahead.c (ASSERT): Likewise.
30007         * tests/test-freading.c (ASSERT): Likewise.
30008         * tests/test-freadptr.c (ASSERT): Likewise.
30009         * tests/test-freadptr2.c (ASSERT): Likewise.
30010         * tests/test-freadseek.c (ASSERT): Likewise.
30011         * tests/test-freopen.c (ASSERT): Likewise.
30012         * tests/test-frexp.c (ASSERT): Likewise.
30013         * tests/test-frexpl.c (ASSERT): Likewise.
30014         * tests/test-fseek.c (ASSERT): Likewise.
30015         * tests/test-fseeko.c (ASSERT): Likewise.
30016         * tests/test-fstrcmp.c (ASSERT): Likewise.
30017         * tests/test-ftell.c (ASSERT): Likewise.
30018         * tests/test-ftello.c (ASSERT): Likewise.
30019         * tests/test-func.c (ASSERT): Likewise.
30020         * tests/test-fwritable.c (ASSERT): Likewise.
30021         * tests/test-fwriting.c (ASSERT): Likewise.
30022         * tests/test-getdelim.c (ASSERT): Likewise.
30023         * tests/test-getline.c (ASSERT): Likewise.
30024         * tests/test-i-ring.c (ASSERT): Likewise.
30025         * tests/test-iconv-utf.c (ASSERT): Likewise.
30026         * tests/test-iconv.c (ASSERT): Likewise.
30027         * tests/test-isfinite.c (ASSERT): Likewise.
30028         * tests/test-isnand.c (ASSERT): Likewise.
30029         * tests/test-isnanf.c (ASSERT): Likewise.
30030         * tests/test-isnanl.h (ASSERT): Likewise.
30031         * tests/test-ldexpl.c (ASSERT): Likewise.
30032         * tests/test-linked_list.c (ASSERT): Likewise.
30033         * tests/test-linkedhash_list.c (ASSERT): Likewise.
30034         * tests/test-localename.c (ASSERT): Likewise.
30035         * tests/test-lseek.c (ASSERT): Likewise.
30036         * tests/test-mbscasecmp.c (ASSERT): Likewise.
30037         * tests/test-mbscasestr1.c (ASSERT): Likewise.
30038         * tests/test-mbscasestr2.c (ASSERT): Likewise.
30039         * tests/test-mbscasestr3.c (ASSERT): Likewise.
30040         * tests/test-mbscasestr4.c (ASSERT): Likewise.
30041         * tests/test-mbschr.c (ASSERT): Likewise.
30042         * tests/test-mbscspn.c (ASSERT): Likewise.
30043         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
30044         * tests/test-mbspbrk.c (ASSERT): Likewise.
30045         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
30046         * tests/test-mbsrchr.c (ASSERT): Likewise.
30047         * tests/test-mbsspn.c (ASSERT): Likewise.
30048         * tests/test-mbsstr1.c (ASSERT): Likewise.
30049         * tests/test-mbsstr2.c (ASSERT): Likewise.
30050         * tests/test-mbsstr3.c (ASSERT): Likewise.
30051         * tests/test-memchr2.c (ASSERT): Likewise.
30052         * tests/test-memmem.c (ASSERT): Likewise.
30053         * tests/test-open.c (ASSERT): Likewise.
30054         * tests/test-printf-frexp.c (ASSERT): Likewise.
30055         * tests/test-printf-frexpl.c (ASSERT): Likewise.
30056         * tests/test-printf-posix.c (ASSERT): Likewise.
30057         * tests/test-quotearg.c (ASSERT): Likewise.
30058         * tests/test-rbtree_list.c (ASSERT): Likewise.
30059         * tests/test-rbtree_oset.c (ASSERT): Likewise.
30060         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
30061         * tests/test-round1.c (ASSERT): Likewise.
30062         * tests/test-roundf1.c (ASSERT): Likewise.
30063         * tests/test-roundl.c (ASSERT): Likewise.
30064         * tests/test-signbit.c (ASSERT): Likewise.
30065         * tests/test-sleep.c (ASSERT): Likewise.
30066         * tests/test-snprintf-posix.c (ASSERT): Likewise.
30067         * tests/test-snprintf.c (ASSERT): Likewise.
30068         * tests/test-sprintf-posix.c (ASSERT): Likewise.
30069         * tests/test-stat-time.c (ASSERT): Likewise.
30070         * tests/test-strcasestr.c (ASSERT): Likewise.
30071         * tests/test-strerror.c (ASSERT): Likewise.
30072         * tests/test-striconv.c (ASSERT): Likewise.
30073         * tests/test-striconveh.c (ASSERT): Likewise.
30074         * tests/test-striconveha.c (ASSERT): Likewise.
30075         * tests/test-strsignal.c (ASSERT): Likewise.
30076         * tests/test-strstr.c (ASSERT): Likewise.
30077         * tests/test-strtod.c (ASSERT): Likewise.
30078         * tests/test-trunc1.c (ASSERT): Likewise.
30079         * tests/test-trunc2.c (ASSERT): Likewise.
30080         * tests/test-truncf1.c (ASSERT): Likewise.
30081         * tests/test-truncf2.c (ASSERT): Likewise.
30082         * tests/test-truncl.c (ASSERT): Likewise.
30083         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
30084         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
30085         * tests/test-vasnprintf.c (ASSERT): Likewise.
30086         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
30087         * tests/test-vasprintf.c (ASSERT): Likewise.
30088         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
30089         * tests/test-vprintf-posix.c (ASSERT): Likewise.
30090         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
30091         * tests/test-vsnprintf.c (ASSERT): Likewise.
30092         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
30093         * tests/test-wcwidth.c (ASSERT): Likewise.
30094         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
30095         * tests/test-xprintf-posix.c (ASSERT): Likewise.
30096         * tests/test-xvasprintf.c (ASSERT): Likewise.
30097         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
30098         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
30099         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
30100         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
30101         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
30102         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
30103         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
30104         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
30105         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
30106         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
30107         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
30108         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
30109         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
30110         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
30111         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
30112         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
30113         * tests/unictype/test-block_list.c (ASSERT): Likewise.
30114         * tests/unictype/test-block_of.c (ASSERT): Likewise.
30115         * tests/unictype/test-block_test.c (ASSERT): Likewise.
30116         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
30117         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
30118         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
30119         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
30120         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
30121         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
30122         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
30123         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
30124         * tests/unictype/test-combining.c (ASSERT): Likewise.
30125         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
30126         * tests/unictype/test-digit.c (ASSERT): Likewise.
30127         * tests/unictype/test-mirror.c (ASSERT): Likewise.
30128         * tests/unictype/test-numeric.c (ASSERT): Likewise.
30129         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
30130         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
30131         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
30132         * tests/unictype/test-scripts.c (ASSERT): Likewise.
30133         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
30134         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
30135         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
30136         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
30137         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
30138         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
30139         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
30140         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
30141         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
30142         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
30143         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
30144         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
30145         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
30146         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
30147         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
30148         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
30149         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
30150         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
30151         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
30152         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
30153         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
30154         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
30155         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
30156         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
30157         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
30158         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
30159         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
30160         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
30161         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
30162         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
30163         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
30164         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
30165         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
30166         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
30167         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
30168         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
30169         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
30170         Reported by Eric Blake.
30171
30172 2008-04-11  Bruno Haible  <bruno@clisp.org>
30173
30174         * lib/wchar.in.h: Tweak comment.
30175
30176 2008-04-11  Bruno Haible  <bruno@clisp.org>
30177
30178         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
30179         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
30180         gl_COMMON.
30181         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
30182
30183 2008-04-11  Bruno Haible  <bruno@clisp.org>
30184
30185         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
30186
30187 2008-04-11  Simon Josefsson  <simon@josefsson.org>
30188
30189         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
30190         of attempting to use non-existing /dev/*random.  Based on patch
30191         from Adam Strzelecki <ono@java.pl> in
30192         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
30193
30194 2008-04-08  Bruno Haible  <bruno@clisp.org>
30195
30196         Add tentative support for emx+gcc.
30197         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
30198         * lib/fpurge.c (fpurge): Likewise.
30199         * lib/freadable.c (freadable): Likewise.
30200         * lib/freadahead.c (freadahead): Likewise.
30201         * lib/freading.c (freading): Likewise.
30202         * lib/freadptr.c (freadptr): Likewise.
30203         * lib/freadseek.c (freadptrinc): Likewise.
30204         * lib/fseeko.c (rpl_fseeko): Likewise.
30205         * lib/fseterr.c (fseterr): Likewise.
30206         * lib/fwritable.c (fwritable): Likewise.
30207         * lib/fwriting.c (fwriting): Likewise.
30208         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
30209
30210 2008-04-09  Eric Blake  <ebb9@byu.net>
30211
30212         Avoid some autoconf warnings.
30213         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
30214         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
30215         * m4/afs.m4 (gl_AFS): Likewise.
30216         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
30217         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
30218         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
30219         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
30220         (gl_INTEGER_TYPE_SUFFIX): Likewise.
30221         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
30222         (AC_CHECK_DECLS_ONCE): Likewise.
30223         Rename file...
30224         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
30225         gnulib-tool requires autoconf 2.59 or better.
30226         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
30227
30228 2008-04-08  Eric Blake  <ebb9@byu.net>
30229
30230         Use 'git describe --match' if present (added in git 1.5.5).
30231         * build-aux/git-version-gen: Limit result to tags that match 'v*'
30232         if possible.
30233
30234 2008-04-08  Bruno Haible  <bruno@clisp.org>
30235
30236         Add tentative support for OpenServer.
30237         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
30238         _ptr, _cnt.
30239         * lib/fpurge.c (fpurge): Likewise.
30240         * lib/freadable.c (freadable): Likewise.
30241         * lib/freadahead.c (freadahead): Likewise.
30242         * lib/freading.c (freading): Likewise.
30243         * lib/freadptr.c (freadptr): Likewise.
30244         * lib/freadseek.c (freadptrinc): Likewise.
30245         * lib/fseeko.c (rpl_fseeko): Likewise.
30246         * lib/fseterr.c (fseterr): Likewise.
30247         * lib/fwritable.c (fwritable): Likewise.
30248         * lib/fwriting.c (fwriting): Likewise.
30249         Reported by Roger Cornelius <rac@tenzing.org> and
30250         Brian K. White <brian@aljex.com>.
30251
30252 2008-04-06  Jim Meyering  <meyering@redhat.com>
30253
30254         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
30255
30256 2008-04-06  Bruno Haible  <bruno@clisp.org>
30257
30258         Avoid possible error with non-ASCII bytes in UTF-8 locales.
30259         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
30260         * tests/test-printf-posix.sh: Likewise.
30261         * tests/test-vfprintf-posix.sh: Likewise.
30262         * tests/test-vprintf-posix.sh: Likewise.
30263         * tests/test-xprintf-posix.sh: Likewise.
30264
30265 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30266
30267         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
30268         hide error from 'ls', needed on OS/2.
30269         Report by Elbert Pol <elbert.pol@gmail.com>.
30270
30271 2008-04-04  Eric Blake  <ebb9@byu.net>
30272
30273         Make test-fseeko.c failures meaningful.
30274         * tests/test-fseeko.c: Print line number on failure.
30275         * tests/test-fseek.c: Likewise.
30276         Reported by Nelson H. F. Beebe.
30277
30278         Improve strtod bug detection check.
30279         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
30280         required for Solaris 10.
30281         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
30282
30283 2008-04-04  Bruno Haible  <bruno@clisp.org>
30284
30285         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
30286         by m4/setenv.m4.
30287
30288 2008-04-03  Eric Blake  <ebb9@byu.net>
30289
30290         Ensure sane .version contents.
30291         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
30292         version string.
30293         * build-aux/git-version-gen: Improve documentation.
30294
30295         Make GNU make output nicer.
30296         * top/GNUmakefile [!_have-Makefile]: Add dependency on
30297         MAKECMDGOALS to enforce message for all command line targets.  Set
30298         srcdir for use in maint.mk.
30299
30300         Another maintainer tweak.
30301         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
30302         a target that regenerates version.
30303
30304 2008-04-03  Jim Meyering  <meyering@redhat.com>
30305
30306         vc-list-files: don't cause coreutils "make po-check" failure
30307         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
30308
30309 2008-04-03  Eric Blake  <ebb9@byu.net>
30310
30311         Allow VPATH usage of vc-list-files.
30312         * build-aux/vc-list-files (scriptversion): Add timestamp.
30313         (options): Add --help, --version, -C.
30314         (CVS): Support installed cvsu.
30315
30316 2008-04-02  Bruno Haible  <bruno@clisp.org>
30317
30318         Avoid some "statement with no effect" warnings from gcc.
30319         * tests/test-wctype.c (main): Explicitly ignore unused values.
30320         Reported by Jim Meyering.
30321
30322 2008-04-02  Jim Meyering  <meyering@redhat.com>
30323
30324         Avoid some warnings from "gcc -Wshadow".
30325         * tests/test-frexp.c (exp): Define to a different identifier.
30326         * tests/test-frexpl.c (exp): Likewise.
30327
30328 2008-04-03  Jim Meyering  <meyering@redhat.com>
30329
30330         bootstrap: remove dangling *.[ch] symlinks from lib
30331         * build-aux/bootstrap [dangling symlink removal]: Move find's
30332         -depth option to precede all others, to avoid a warning.
30333         Remove *.[ch] files too, and from "$source_base" (usually lib/).
30334
30335 2008-04-02  Bruno Haible  <bruno@clisp.org>
30336
30337         Avoid some warnings from "gcc -Wshadow".
30338         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
30339         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
30340         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
30341         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
30342         Reported by Jim Meyering.
30343
30344 2008-04-01  Bruno Haible  <bruno@clisp.org>
30345
30346         Fix test to work on IRIX 6.5 with cc.
30347         * tests/test-math.c (numeric_equal): New function.
30348         (main): Use it.
30349
30350 2008-04-01  Bruno Haible  <bruno@clisp.org>
30351
30352         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
30353
30354 2008-04-01  Bruno Haible  <bruno@clisp.org>
30355
30356         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
30357         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
30358         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
30359         (Depends-on): Remove math.
30360
30361         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
30362         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
30363         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
30364         (Depends-on): Remove math.
30365
30366         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
30367         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
30368         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
30369         (Depends-on): Remove math.
30370         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
30371         (Depends-on): Remove math.
30372
30373         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
30374         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
30375         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
30376         (Depends-on): Remove math.
30377         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
30378         (Depends-on): Remove math.
30379
30380         * tests/test-round1.c: Include nan.h.
30381         (main): Use NaNd instead of NAN.
30382         * modules/round-tests (Files): Add tests/nan.h.
30383
30384         * tests/test-trunc1.c: Include nan.h.
30385         (main): Use NaNd instead of NAN.
30386         * modules/trunc-tests (Files): Add tests/nan.h.
30387
30388         * tests/test-roundf1.c: Include nan.h.
30389         (main): Use NaNf instead of NAN.
30390         * modules/roundf-tests (Files): Add tests/nan.h.
30391
30392         * tests/test-truncf1.c: Include nan.h.
30393         (main): Use NaNf instead of NAN.
30394         * modules/truncf-tests (Files): Add tests/nan.h.
30395
30396         * tests/test-ceilf1.c: Include nan.h.
30397         (main): Use NaNf instead of NAN.
30398         * modules/ceilf-tests (Files): Add tests/nan.h.
30399
30400         * tests/test-floorf1.c: Include nan.h.
30401         (main): Use NaNf instead of NAN.
30402         * modules/floorf-tests (Files): Add tests/nan.h.
30403
30404         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
30405         (main): Use NaNf instead of NAN.
30406         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
30407
30408         * tests/test-isnand.c: Include nan.h instead of <math.h>.
30409         (main): Use NaNd instead of NAN.
30410         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
30411
30412         * tests/test-frexp.c: Include nan.h.
30413         (main): Use NaNd instead of NAN.
30414         * modules/frexp-tests (Files): Add tests/nan.h.
30415
30416         * lib/isnan.c: Don't include <math.h>.
30417         (FUNC): Don't use NAN macro.
30418         * modules/isnand-nolibm (Depends-on): Remove math.
30419         * modules/isnanf-nolibm (Depends-on): Remove math.
30420         * modules/isnanl (Depends-on): Remove math.
30421         * modules/isnanl-nolibm (Depends-on): Remove math.
30422
30423         * tests/nan.h: New file.
30424
30425 2008-04-01  Eric Blake  <ebb9@byu.net>
30426
30427         Fix typos.
30428         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
30429         values to be the right type.
30430
30431         For now, cater to gnulib strtod inaccuracies.
30432         * tests/test-strtod.c (main): Allow 1-ulp error on expected
30433         fractional results.  While not as nice from a QoI perspective, it
30434         is a quicker patch than correctly implementing decimal to binary
30435         rounding.
30436
30437 2008-03-31  Eric Blake  <ebb9@byu.net>
30438
30439         Guarantee a definition of NAN.
30440         * lib/math.in.h (NAN): Define if missing.
30441         * tests/test-math.c (main): Test it.
30442         * doc/posix-headers/math.texi (math.h): Document this.
30443         * lib/isnan.c (rpl_isnand): Use it.
30444         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
30445         * tests/test-floorf1.c (NaN): Likewise.
30446         * tests/test-frexp.c (NaN): Likewise.
30447         * tests/test-isnand.c (NaN): Likewise.
30448         * tests/test-isnanf.c (NaN): Likewise.
30449         * tests/test-round1.c (NaN): Likewise.
30450         * tests/test-roundf1.c (NaN): Likewise.
30451         * tests/test-snprintf-posix.h (NaN): Likewise.
30452         * tests/test-sprintf-posix.h (NaN): Likewise.
30453         * tests/test-trunc1.c (NaN): Likewise.
30454         * tests/test-truncf1.c (NaN): Likewise.
30455         * tests/test-vasnprintf-posix.c (NaN): Likewise.
30456         * tests/test-vasprintf-posix.c (NaN): Likewise.
30457         * modules/isnand-nolibm (Depends-on): Add math.
30458         * modules/isnanf-nolibm (Depends-on): Likewise.
30459         * modules/isnanl (Depends-on): Likewise.
30460         * modules/isnanl-nolibm (Depends-on): Likewise.
30461         * modules/snprintf-posix-tests (Depends-on): Likewise.
30462         * modules/sprintf-posix-tests (Depends-on): Likewise.
30463         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
30464         * modules/vsprintf-posix-tests (Depends-on): Likewise.
30465         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
30466         * modules/vasprintf-posix-tests (Depends-on): Likewise.
30467
30468 2008-03-31  Bruno Haible  <bruno@clisp.org>
30469
30470         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
30471         * doc/posix-functions/strtod.texi: Likewise.
30472
30473 2008-03-31  Bruno Haible  <bruno@clisp.org>
30474
30475         * tests/test-strtod.c (main): Don't use C99 syntax.
30476
30477 2008-03-31  Bruno Haible  <bruno@clisp.org>
30478
30479         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
30480         Reported by Eric Blake.
30481
30482 2008-03-31  Jim Meyering  <meyering@redhat.com>
30483
30484         Don't compare actual signbit return values.
30485         * tests/test-strtod.c (main): Rather, compare only their
30486         zero/non-zero nature.
30487
30488 2008-03-31  Eric Blake  <ebb9@byu.net>
30489
30490         More strtod documentation.
30491         * doc/posix-functions/strtod.texi (strtod): Interpret more test
30492         failures as distinct bugs.
30493
30494 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
30495
30496         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
30497         Problem reported by Erik Benada in
30498         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
30499
30500 2008-03-30  Bruno Haible  <bruno@clisp.org>
30501
30502         * tests/test-strtod.c: Add comments about which assertion fails on which
30503         platform.
30504         * doc/posix-functions/strtod.texi: Add info about many more platforms.
30505
30506 2008-03-30  Eric Blake  <ebb9@byu.net>
30507
30508         Test signbit behavior on zeros.
30509         * tests/test-signbit.c (test_signbitf): Add tests for zero.
30510         (test_signbitd, test_signbitl): Likewise.
30511
30512         More strtod touchups.
30513         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
30514         sign of negative underflow, for now.  Use .5, not .1.
30515         * doc/posix-functions/strtod.texi (strtod): Mention these
30516         limitations.
30517         Reported by Jim Meyering.
30518
30519 2008-03-30  Bruno Haible  <bruno@clisp.org>
30520
30521         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
30522         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
30523
30524 2008-03-30  Bruno Haible  <bruno@clisp.org>
30525
30526         Avoid failure when attempting to return empty iconv results on some
30527         platforms.
30528         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
30529         allocation, don't report ENOMEM when the resulting string is empty.
30530
30531 2008-03-30  Bruno Haible  <bruno@clisp.org>
30532
30533         Fix buffer overrun.
30534         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
30535         Don't consider the width for tmp_length. Check count against tmp_length
30536         before doing the padding. Ensure enough allocation during padding.
30537
30538 2008-03-30  Eric Blake  <ebb9@byu.net>
30539
30540         strtod touchups.
30541         * lib/strtod.c (strtod): Avoid compiler warnings.
30542         Reported by Jim Meyering.
30543
30544 2008-03-30  Bruno Haible  <bruno@clisp.org>
30545
30546         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
30547         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
30548         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
30549         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
30550         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
30551         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
30552         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
30553         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
30554
30555         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
30556         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
30557         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
30558         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
30559         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
30560         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
30561         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
30562         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
30563
30564         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
30565         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
30566         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
30567         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
30568         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
30569         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
30570         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
30571         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
30572
30573         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
30574         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
30575
30576         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
30577         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
30578
30579         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
30580         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
30581
30582         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
30583         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
30584         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
30585
30586         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
30587         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
30588         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
30589
30590         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
30591         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
30592         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
30593
30594         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
30595         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
30596         * modules/vasprintf (Depends-on): Add EOVERFLOW.
30597
30598         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
30599         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
30600         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
30601         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
30602         (Depends-on): Add EOVERFLOW.
30603         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
30604         (Depends-on): Add EOVERFLOW.
30605         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
30606         (Depends-on): Add EOVERFLOW.
30607         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
30608         (Depends-on): Add EOVERFLOW.
30609         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
30610         (Depends-on): Add EOVERFLOW.
30611         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
30612         (Depends-on): Add EOVERFLOW.
30613         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
30614         (Depends-on): Add EOVERFLOW.
30615         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
30616         (Depends-on): Add EOVERFLOW.
30617
30618         * lib/sprintf.c (EOVERFLOW): Remove fallback.
30619         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
30620         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
30621
30622         * lib/snprintf.c (EOVERFLOW): Remove fallback.
30623         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
30624         * modules/snprintf (Depends-on): Add EOVERFLOW.
30625
30626         * lib/poll.c (EOVERFLOW): Remove fallback.
30627         * modules/poll (Depends-on): Add EOVERFLOW.
30628
30629         * lib/getugroups.c (EOVERFLOW): Remove fallback.
30630         * modules/getugroups (Depends-on): Add EOVERFLOW.
30631
30632         * lib/getdelim.c (EOVERFLOW): Remove fallback.
30633         * modules/getdelim (Depends-on): Add EOVERFLOW.
30634
30635         * lib/ftell.c (EOVERFLOW): Remove fallback.
30636         * modules/ftell (Depends-on): Add EOVERFLOW.
30637
30638         * lib/fprintf.c (EOVERFLOW): Remove fallback.
30639         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
30640         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
30641
30642         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
30643
30644         * modules/EOVERFLOW-tests: New file.
30645         * tests/test-EOVERFLOW.c: New file.
30646
30647         * modules/EOVERFLOW: New file.
30648         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
30649
30650 2008-03-30  Bruno Haible  <bruno@clisp.org>
30651
30652         Fix bug introduced on 2007-06-10.
30653         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
30654         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
30655
30656 2008-03-30  Bruno Haible  <bruno@clisp.org>
30657
30658         Improve freadseek's efficiency after ungetc.
30659         * lib/freadseek.c: Include freadahead.h.
30660         (freadptrinc): New function, extracted from freadseek.
30661         (freadseek): Use it in a loop. Use freadahead to determine the number
30662         of loop iterations.
30663         * modules/freadseek (Depends-on): Add freadahead.
30664         (configure.ac): Require AC_C_INLINE.
30665
30666 2008-03-30  Bruno Haible  <bruno@clisp.org>
30667
30668         * lib/freadseek.c (freadseek): Don't ignore the return value of
30669         freadptr.
30670
30671 2008-03-29  Eric Blake  <ebb9@byu.net>
30672
30673         Add hex float support.
30674         * modules/strtod (Depends-on): Add c-ctype.
30675         (Link): Mention POW_LIB.
30676         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
30677         whitespace between 'e' and exponent.
30678         * tests/test-strtod.c (main): Enable hex float tests.
30679         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
30680         now provides.
30681
30682         Document various strtod bugs, with some fixes.
30683         * doc/posix-functions/strtod.texi (strtod): Document bugs with
30684         "-0x", "inf", "nan", and hex constants.
30685         * doc/posix-functions/atof.texi (atof): Likewise.
30686         * modules/stdlib (Makefile.am): Support strtod.
30687         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
30688         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
30689         detect additional strtod bugs.
30690         * lib/stdlib.in.h (rpl_strtod): Add declarations.
30691         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
30692         bool where appropriate.  Parse 'inf' and 'nan'.
30693         * tests/test-strtod.c: New file.
30694         * modules/strtod (Depends-on): Add stdbool, stdlib.
30695         (configure.ac): Turn on module indicator.
30696         * modules/strtod-tests: New module.
30697
30698 2008-03-29  Eric Blake  <ebb9@byu.net>
30699
30700         Fix ftell on mingw.
30701         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
30702         * modules/ftell-tests (Depends-on): Add binary-io.
30703         * modules/ftello-tests (Depends-on): Likewise.
30704         * tests/test-ftell.c (main): Enhance test to cover behavior after
30705         ungetc.  Enforce binary mode.
30706         * tests/test-ftello.c (main): Likewise.
30707
30708         Pass test-freadseek on cygwin.
30709         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
30710         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
30711         ungetc buffer.
30712
30713         * tests/test-fflush2.c (main): Fix typo.
30714
30715 2008-03-29  Bruno Haible  <bruno@clisp.org>
30716
30717         * tests/test-fflush2.c (main): Temporarily disable the contents of
30718         this test.
30719         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
30720         Reported by Eric Blake.
30721
30722 2008-03-28  Simon Josefsson  <simon@josefsson.org>
30723
30724         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
30725         (GC_SHA224_DIGEST_SIZE): Add.
30726
30727         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
30728         (gc_hash_digest_length): Likewise.
30729         (gc_hash_buffer): Likewise.
30730
30731 2008-03-25  Bruno Haible  <bruno@clisp.org>
30732
30733         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
30734         detail which gettext release to use.
30735         Reported by Simon Josefsson.
30736
30737 2008-03-26  Jim Meyering  <meyering@redhat.com>
30738
30739         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
30740         * modules/gnumakefile (clean-GNUmakefile): Also, use
30741         test ... && ... || : syntax rather than if-then ... fi.
30742
30743         gnumakefile: Don't double-quote-expand $(VPATH) value.
30744         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
30745
30746 2008-03-24  Eric Blake  <ebb9@byu.net>
30747
30748         Alter GNUmakefile to install into top directory.
30749         * modules/maintainer-makefile: Split, and add dependency...
30750         * modules/gnumakefile: to this new module.
30751         * build-aux/GNUmakefile: Move...
30752         * top/GNUmakefile: ...here.
30753         * build-aux/maint.mk: Move...
30754         * top/maint.mk: ...here.
30755         * MODULES.html.sh (Support for maintaining...): Document new
30756         module.
30757
30758 2008-03-23  Bruno Haible  <bruno@clisp.org>
30759
30760         * gnulib-tool: New options --vc-files, --no-vc-files.
30761         (func_usage): Document them.
30762         (vc_files): New variable.
30763         (func_import): Consider vc_files.
30764         (func_create_testdir): Set vc_files to empty.
30765         Suggested by Jim Meyering and Karl Berry.
30766
30767 2008-03-23  Bruno Haible  <bruno@clisp.org>
30768
30769         Fix regex compilation error on HP-UX 11.
30770         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
30771         * modules/regex (Files): Add m4/mbstate_t.m4.
30772         Reported by Ton Voon <ton.voon@altinity.com>.
30773
30774 2008-03-23  Bruno Haible  <bruno@clisp.org>
30775
30776         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
30777
30778 2008-03-23  Eric Blake  <ebb9@byu.net>
30779             Bruno Haible  <bruno@clisp.org>
30780
30781         Install files from top/ in the destination directory.
30782         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
30783         augmentation also for the files from top/.
30784         (func_import, func_create_testdir): Rewrite file names:
30785         top/filename -> filename.
30786
30787 2008-03-23  Bruno Haible  <bruno@clisp.org>
30788
30789         Tweak "gnulib --version" output.
30790         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
30791
30792 2008-03-23  Bruno Haible  <bruno@clisp.org>
30793
30794         Tweak "gnulib --version" output.
30795         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
30796         rather than contents of ChangeLog, when possible.
30797
30798 2008-03-21  Eric Blake  <ebb9@byu.net>
30799
30800         More --version tweaks.
30801         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
30802         date of last ChangeLog entry.
30803
30804 2008-03-21  Jim Meyering  <meyering@redhat.com>
30805
30806         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
30807
30808 2008-03-20  Eric Blake  <ebb9@byu.net>
30809
30810         VPATH fix.
30811         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
30812
30813 2008-03-20  Simon Josefsson  <simon@josefsson.org>
30814
30815         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
30816         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
30817
30818 2008-03-20  Eric Blake  <ebb9@byu.net>
30819
30820         Sync GNUmakefile with coreutils.
30821         * build-aux/GNUmakefile (have-Makefile): Rename...
30822         (_have-Makefile): ...to this, for namespace consideration.
30823         (GNUmakefile.cfg): Include, if present.
30824         (_autoreconf): Define a default.
30825         (_is-dist-target): New rule for rebuilds to pick up intra-release
30826         version.
30827         (maint-cfg.mk): Rename...
30828         (cfg.mk): ...to this.
30829
30830 2008-03-18  Jim Meyering  <meyering@redhat.com>
30831
30832         New script and module: mktempd
30833         * MODULES.html.sh (maint+release support): Add mktempd.
30834         * build-aux/mktempd: New file.
30835         * modules/mktempd: New file.
30836
30837 2008-03-15  Jim Meyering  <meyering@redhat.com>
30838
30839         Undo last change.
30840         * lib/sha1.c, lib/md5.c: 63 != ~63.
30841         Reported by Andreas Schwab.
30842
30843         sha1.c, md5.c: Hoist a redundant expression.
30844         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
30845         "ctx->buflen" only once, before calling *_process_block.
30846         * lib/md5.c (md5_process_bytes): Likewise.
30847
30848 2008-03-14  Eric Blake  <ebb9@byu.net>
30849
30850         Bump copyright year in files generated by gnulib-tool.
30851         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
30852         gnulib-tool, rather than hard-coding it.
30853
30854         Fix 'gnulib-tool --version' output to work with git.
30855         * gnulib-tool (func_gnulib_dir): New function, extracted from...
30856         (startup): ...here.
30857         (func_version): Use it to invoke git-version-gen, rather than
30858         relying on CVS keyword expansion.  Modernize wording.
30859         (cvsdatestamp, last_checkin_date, version): Kill unused
30860         variables.
30861
30862 2008-03-12  Jim Meyering  <meyering@redhat.com>
30863
30864         Recognize optional cast of the argument to free.
30865         * build-aux/useless-if-before-free: Update regexps.
30866
30867         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
30868
30869 2008-03-11  Bruno Haible  <bruno@clisp.org>
30870
30871         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
30872         by a single package.
30873         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
30874         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
30875         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
30876         Reported by Sam Steingold <sds@gnu.org>.
30877
30878 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
30879
30880         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
30881         repositories.
30882
30883 2008-03-11  Bruno Haible  <bruno@clisp.org>
30884
30885         Avoid conflicts between local macro definitions.
30886         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
30887         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
30888
30889 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
30890             Bruno Haible  <bruno@clisp.org>
30891
30892         Make va_copy work with some version of xlc on AIX 5.1.
30893         * lib/stdarg.in.h: New file.
30894         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
30895         On AIX, use a <stdarg.h> file substitute.
30896         * modules/stdarg (Files): Add lib/stdarg.in.h.
30897         (Depends-on): Add include_next.
30898         (Makefile.am): Build a stdarg.h substitute if requested.
30899         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
30900
30901 2008-03-10  Bruno Haible  <bruno@clisp.org>
30902
30903         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
30904         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
30905         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
30906
30907 2008-03-10  Bruno Haible  <bruno@clisp.org>
30908
30909         * modules/stdlib (Depends-on): Add include_next, remove
30910         absolute-header.
30911
30912 2008-03-09  Bruno Haible  <bruno@clisp.org>
30913
30914         * lib/freadahead.h (freadahead): Document more precisely.
30915         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
30916         the sum of both buffer sizes.
30917         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
30918         * NEWS: Document the change.
30919
30920 2008-03-09  Bruno Haible  <bruno@clisp.org>
30921
30922         Extend freadptr to return also the buffer size.
30923         * lib/freadptr.h (freadptr): Add sizep argument.
30924         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
30925         (freadptr): Add sizep argument. Determine buffer size like freadahead
30926         does.
30927         * tests/test-freadptr.c: Don't include freadahead.h.
30928         (main): Adapt for new calling convention of freadptr.
30929         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
30930         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
30931         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
30932         tests/test-freadptr2.sh.
30933         (Depends): Remove freadahead.
30934         (TESTS): Add test-freadptr2.sh.
30935         (check_PROGRAMS): Add test-freadptr2.
30936
30937 2008-03-09  Bruno Haible  <bruno@clisp.org>
30938
30939         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
30940         Report and solution by Simon Josefsson.
30941
30942 2008-03-06  Bruno Haible  <bruno@clisp.org>
30943
30944         Make fflush after ungetc work on BSD platforms.
30945         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
30946         * tests/test-fflush2.c: New file.
30947         * tests/test-fflush2.sh: New file.
30948         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
30949         tests/test-fflush2.c.
30950         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
30951         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
30952
30953 2008-03-06  Eric Blake  <ebb9@byu.net>
30954
30955         Likewise for ftello.
30956         * modules/ftello (Dependencies): Add extensions.
30957         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
30958
30959 2008-03-06  Bruno Haible  <bruno@clisp.org>
30960
30961         * modules/fseeko (Dependencies): Add extensions.
30962         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
30963         Needed on glibc systems.
30964
30965 2008-03-06  Bruno Haible  <bruno@clisp.org>
30966
30967         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
30968         email address.
30969         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
30970
30971 2008-03-06  Bruno Haible  <bruno@clisp.org>
30972
30973         * users.txt: Add libgnupdf.
30974
30975 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
30976
30977         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
30978         (Header File Substitutes, Function Substitutes,
30979         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
30980         (Build robot for gnulib): Fix typo.
30981
30982 2008-03-06  Bruno Haible  <bruno@clisp.org>
30983
30984         * doc/gnulib-tool.texi (VCS Issues): Small updates.
30985         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
30986
30987 2008-03-06  Bruno Haible  <bruno@clisp.org>
30988
30989         * doc/func.texi: New file, extracted from doc/gnulib.texi.
30990         * doc/gnulib.texi: Include it.
30991
30992 2008-03-06  Simon Josefsson  <simon@josefsson.org>
30993
30994         * modules/func (License): Change license to unlimited; there was
30995         no LGPL parts in the module anyway.
30996
30997 2008-03-06  Simon Josefsson  <simon@josefsson.org>
30998
30999         * modules/__func__: Renamed to modules/func.
31000         * modules/__func__-tests: Renamed to modules/func-tests.
31001         * tests/test-__func__.c: Renamed to tests/test-func.c.
31002         * m4/__func__.m4: Renamed to m4/func.m4.
31003         * doc/gnulib.texi (__func__): Section renamed to func.
31004         Suggested by Eric Blake <ebb9@byu.net>.
31005
31006 2008-03-06  Simon Josefsson  <simon@josefsson.org>
31007
31008         * doc/gnulib.texi (__func__): Use C99 terminology when talking
31009         about __func__.  Make example self-contained.  Suggested by Eric
31010         Blake <ebb9@byu.net>.
31011
31012         * tests/test-__func__.c (main): Avoid extraneous () around __func.
31013         Suggested by Eric Blake <ebb9@byu.net>.
31014
31015 2008-03-06  Simon Josefsson  <simon@josefsson.org>
31016
31017         * modules/__func__: New file.
31018         * modules/__func__-tests: New file.
31019         * tests/test-__func__.c: New file.
31020         * m4/__func__.m4: New file.
31021         * doc/gnulib.texi (__func__): Document __func__ module.
31022
31023 2008-03-05  Simon Josefsson  <simon@josefsson.org>
31024
31025         * modules/byteswap (License): Re-license as LGPLv2+.
31026
31027 2008-03-05  Simon Josefsson  <simon@josefsson.org>
31028
31029         * doc/Makefile: Add pdf target.
31030
31031 2008-03-05  Simon Josefsson  <simon@josefsson.org>
31032
31033         * modules/inline (License): Use 'unlimited', since there are only
31034         *.m4 files in this module.
31035
31036 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
31037             Bruno Haible  <bruno@clisp.org>
31038
31039         Add support for HP C 7.1 on OpenVMS 8.3.
31040         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
31041
31042 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
31043
31044         Update VMS specifics.
31045         * lib/getopt.c [VMS]: Remove include of unixlib.h.
31046
31047 2008-03-02  Jim Meyering  <meyering@redhat.com>
31048
31049         Remove the last dependency on the "free" module.
31050         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
31051         Reported by Bob Proulx.
31052
31053         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
31054
31055         Remove useless "if" tests before free.  Deprecate "free" module.
31056         * doc/posix-functions/free.texi: Mention that this
31057         module is no longer useful.
31058         * modules/free (Notice): Say this module is obsolete.
31059         * modules/readutmp (Depends-on): Remove free.
31060         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
31061         * lib/putenv.c (putenv): Likewise.
31062         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
31063         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
31064         * tests/test-c-strcasestr.c (main): Likewise.
31065         * tests/test-c-strstr.c (main): Likewise.
31066         * tests/test-mbscasestr1.c (main): Likewise.
31067         * tests/test-mbscasestr2.c (main): Likewise.
31068         * tests/test-mbsstr1.c (main): Likewise.
31069         * tests/test-mbsstr2.c (main): Likewise.
31070         * tests/test-memmem.c (main): Likewise.
31071         * tests/test-strcasestr.c (main): Likewise.
31072         * tests/test-striconv.c (main): Likewise.
31073         * tests/test-striconveh.c (main): Likewise.
31074         * tests/test-striconveha.c (main): Likewise.
31075         * tests/test-strstr.c (main): Likewise.
31076
31077         * build-aux/git-version-gen: Adjust a comment and the Usage string.
31078
31079         bootstrap: sync from coreutils again
31080         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
31081
31082 2008-03-01  Jim Meyering  <meyering@redhat.com>
31083
31084         bootstrap: sync from coreutils
31085         * build-aux/bootstrap (update_po_files): Copy a .po file into place
31086         also when the target doesn't exist.
31087
31088 2008-03-01  Eric Blake  <ebb9@byu.net>
31089
31090         Fix bugs in last patch.
31091         * lib/memchr2.c (memchr2): Fix typo.
31092         * tests/test-memchr2.c: Test previous bug, and don't use GNU
31093         extension.
31094         Reported by Bruce Korb.
31095
31096         New module 'memchr2'.
31097         * modules/memchr2: New file.
31098         * modules/memchr2-tests: Likewise.
31099         * lib/memchr2.h: Likewise.
31100         * lib/memchr2.c: Likewise, based on memchr.c.
31101         * tests/test-memchr2.c: New test.
31102         * MODULES.html.sh (String handling): Add memchr2.
31103
31104 2008-02-29  Bruno Haible  <bruno@clisp.org>
31105
31106         * modules/freadseek-tests: New file.
31107         * tests/test-freadseek.sh: New file.
31108         * tests/test-freadseek.c: New file.
31109
31110         New module 'freadseek'.
31111         * modules/freadseek: New file.
31112         * lib/freadseek.h: New file.
31113         * lib/freadseek.c: New file.
31114         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
31115
31116 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
31117
31118         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
31119         wydawca.
31120
31121         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
31122         program_invocation_name and program_invocation_short_name are
31123         present.
31124
31125 2008-02-28  Bruno Haible  <bruno@clisp.org>
31126
31127         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
31128         * tests/test-freadptr.sh: Also test non-seekable stdin.
31129
31130 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
31131
31132         * build-aux/bootstrap (source_base, m4_base)
31133         (doc_base, tests_base): New variables.
31134         (gnulib_tool_options): Do not hardcode base directories, use
31135         the above variables instead.
31136
31137 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
31138
31139         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
31140
31141 2008-02-28  Bruno Haible  <bruno@clisp.org>
31142
31143         * modules/freadptr-tests: New file.
31144         * tests/test-freadptr.sh: New file.
31145         * tests/test-freadptr.c: New file.
31146
31147         New module 'freadptr'.
31148         * modules/freadptr: New file.
31149         * lib/freadptr.h: New file.
31150         * lib/freadptr.c: New file.
31151         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
31152
31153 2008-02-26  Karl Berry  <karl@freefriends.org>
31154
31155         Sync from Libtool:
31156         * libltdl/argz.c (argz_add, argz_count): New functions.
31157         * libltdl/argz.in.h: Declare them.
31158         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
31159
31160 2008-02-22  Bruno Haible  <bruno@clisp.org>
31161
31162         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
31163         is a pointer type.  Needed for HP-UX 10.
31164         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
31165         * doc/posix-functions/gmtime_r.texi: Likewise.
31166         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
31167
31168 2008-02-24  Bruno Haible  <bruno@clisp.org>
31169
31170         * modules/environ-tests: New file.
31171         * tests/test-environ.c: New file.
31172
31173         New module 'environ'.
31174         * modules/environ: New file.
31175         * lib/unistd.in.h (environ): New declaration.
31176         * m4/environ.m4: New file.
31177         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
31178         after use.
31179         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
31180         HAVE_DECL_ENVIRON.
31181         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
31182         HAVE_DECL_ENVIRON.
31183         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
31184         wrong claim that 'environ' is missing on some systems.
31185         * modules/execute (Depends-on): Add environ.
31186         * lib/execute.c (environ): Remove fallback declaration.
31187         * modules/pipe (Depends-on): Add environ.
31188         * lib/pipe.c (environ): Remove fallback declaration.
31189         * modules/setenv (Depends-on): Add environ.
31190         * lib/setenv.c (environ): Remove fallback declaration.
31191         * modules/unsetenv (Depends-on): Add environ.
31192         * lib/unsetenv.c (environ): Remove fallback declaration.
31193         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
31194         m4/environ.m4.
31195         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
31196         (gl_PREREQ_UNSETENV): Likewise.
31197
31198 2008-02-24  Bruno Haible  <bruno@clisp.org>
31199
31200         * doc/posix-functions/environ.texi: Document the MacOS X problem.
31201
31202 2008-02-20  Bob Proulx  <bob@proulx.com>
31203
31204         Enable use of older two part flavor 'git describe'.
31205         * build-aux/git-version-gen: If using the older two part flavor of
31206         git version then recreate the third part now present in the
31207         newer three part flavor of git describe.
31208
31209 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
31210
31211         * lib/fts.c (fts_build): Typo correction to comment.
31212
31213 2008-02-17  Bruno Haible  <bruno@clisp.org>
31214
31215         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
31216         generating no-op conflicts.
31217
31218 2008-02-17  Bruno Haible  <bruno@clisp.org>
31219
31220         Speed up by 10%.
31221         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
31222         result_entries, rather than an index-based loop.
31223
31224 2008-02-17  Bruno Haible  <bruno@clisp.org>
31225
31226         Speed up by 25%.
31227         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
31228         'hashcode_cached'.
31229         (entry_create): New function.
31230         (entry_hashcode): Use the cached hashcode if possible.
31231         (read_changelog_file, try_split_merged_entry): Use entry_create.
31232
31233 2008-02-17  Bruno Haible  <bruno@clisp.org>
31234
31235         Speed up from O(n^2) to O(n) for long ChangeLog files.
31236         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
31237         (read_changelog_file): Change implementation of entries_reversed list
31238         to rbtreehash.
31239         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
31240
31241 2008-02-17  Bruno Haible  <bruno@clisp.org>
31242
31243         New option --split-merged-entry.
31244         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
31245         (find_paragraph_end, try_split_merged_entry): New functions.
31246         (long_options): Add option --split-merged-entry.
31247         (usage): Document option --split-merged-entry.
31248         (main): Implement option --split-merged-entry.
31249         Reported by Eric Blake.
31250
31251 2008-02-17  Bruno Haible  <bruno@clisp.org>
31252
31253         * lib/git-merge-changelog.c: Include c-strstr.h.
31254         (main): Support the "git pull --rebase" situation.
31255         * modules/git-merge-changelog (Depends-on): Add c-strstr.
31256         Reported by Eric Blake.
31257
31258 2008-02-16  Eric Blake  <ebb9@byu.net>
31259
31260         Avoid doubling \ in common case of "c-maybe" quoting style.
31261         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
31262         eliding outer quotes.
31263         * lib/quotearg.h: Document this.
31264         * tests/test-quotearg.c (result_strings, inputs, results_g)
31265         (flag_results, locale_results): Test it by adding a new string to
31266         each test group.
31267         (compare_strings): Test new string.
31268
31269 2008-02-13  Eric Blake  <ebb9@byu.net>
31270
31271         Avoid trigraph quoting in default output.
31272         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
31273         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
31274         unless explicitly requested.
31275         * tests/test-quotearg.c (flag_results, main): Add additional tests.
31276
31277 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
31278
31279         Don't rely on signed integer overflowing to negative value.
31280         * lib/getugroups.c (getugroups): Include <limits.h>.
31281         Instead, compare against INT_MAX, and increment only if the test passes.
31282
31283 2008-02-13  Jim Meyering  <meyering@redhat.com>
31284         and Eric Blake  <ebb9@byu.net>
31285
31286         Avoid shadowing warning and compile errors on Linux.
31287         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
31288         forwarding macros on Linux.
31289         (dcgettext): Define a stub, for Linux.
31290         (results_g, main): Avoid warnings.
31291
31292 2008-02-12  Eric Blake  <ebb9@byu.net>
31293
31294         Silence warning in last patch.
31295         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
31296
31297         Quotearg part 4: add tests, fix c-maybe colon quoting.
31298         * lib/quotearg.h: Improve documentation.
31299         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
31300         escapes when adding outer quotes.  When quoting trigraphs, use
31301         valid C notation.  When quoting NUL, omit extra characters if next
31302         character is not digit.  Alter prototype.
31303         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
31304         callers.
31305         * modules/quotearg-tests: New module.
31306         * tests/test-quotearg.c: New test.
31307
31308 2008-02-07  Eric Blake  <ebb9@byu.net>
31309
31310         Quotearg part 3: add flag to control outer quote elision.
31311         * lib/quotearg.h (c_maybe_quoting_style): New style.
31312         (enum quoting_flags): Better documentation of flags.
31313         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
31314         c-maybe style.
31315         (quotearg_buffer_restyled): Handle new flag to elide outer
31316         quotes.
31317
31318         Quotearg part 2: add flag that can control NUL elision.
31319         * lib/quotearg.h (set_quoting_flags): New prototype.
31320         * lib/quotearg.c (struct quoting_options): Add flag field.
31321         (set_quoting_flags): New function.
31322         (quotearg_buffer_restyled): Add flags parameter.
31323         (quotearg_alloc_mem): Set the flag if length cannot be returned.
31324         (quotearg_n_options): Set the flag, since length cannot be
31325         returned.
31326         (quoting_options_from_style): Default flags correctly.
31327
31328         Quotearg part 1: more wrappers, restore quotearg_char state.
31329         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
31330         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
31331         (quotearg_colon_mem): New wrappers.
31332         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
31333         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
31334         functions.
31335         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
31336         (quotearg_colon_mem): New functions.
31337
31338 2008-02-11  Bruno Haible  <bruno@clisp.org>
31339
31340         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
31341         library in the current directory: it does not work with parallel make.
31342         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31343
31344 2008-02-11  Bruno Haible  <bruno@clisp.org>
31345
31346         * .gitattributes: New file.
31347
31348 2008-02-11  Jim Meyering  <meyering@redhat.com>
31349
31350         useless-if-before-free: Fix reversed exit values.
31351         * build-aux/useless-if-before-free: Use correct values
31352         for EXIT_MATCH and EXIT_NO_MATCH.
31353
31354         * build-aux/useless-if-before-free: Close stdout carefully.
31355
31356 2008-02-10  Bruno Haible  <bruno@clisp.org>
31357
31358         New module 'git-merge-changelog'.
31359         * modules/git-merge-changelog: New file.
31360         * lib/git-merge-changelog.c: New file.
31361
31362 2008-02-10  Jim Meyering  <meyering@redhat.com>
31363
31364         useless-if-before-free: New option: --list (-l).
31365
31366         useless-if-before-free: Don't exit immediately upon open failure.
31367         * build-aux/useless-if-before-free: Exit 2 for errors.
31368         Upon failure to open a file, don't exit immediately.
31369         Rather, just warn and continue with any remaining files.
31370
31371 2008-02-10  Bruno Haible  <bruno@clisp.org>
31372
31373         New abstract list operation 'node_set_value'.
31374         * lib/gl_list.h (gl_list_node_set_value): New function.
31375         (struct gl_list_implementation): New field node_set_value.
31376         * lib/gl_list.c (gl_list_node_set_value): New function.
31377         * lib/gl_array_list.c (gl_array_node_set_value): New function.
31378         (gl_array_list_implementation): Update.
31379         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
31380         (gl_carray_list_implementation): Update.
31381         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
31382         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
31383         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
31384         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
31385         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
31386         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
31387         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
31388         Update.
31389         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
31390         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
31391         (gl_sublist_list_implementation): Update.
31392
31393 2008-02-10  Bruno Haible  <bruno@clisp.org>
31394
31395         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
31396         Needed when ELEMENT is #defined to 'some_type *'.
31397
31398 2008-02-10  Jim Meyering  <meyering@redhat.com>
31399
31400         New script and module: useless-if-before-free
31401         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
31402         * build-aux/useless-if-before-free: New file.
31403         * modules/useless-if-before-free: New file.
31404
31405         * build-aux/gitlog-to-changelog: Use committer date, not author date.
31406
31407         xstrtol_error: Fix typo.
31408         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
31409         s/exit_failure/exit_status/.
31410
31411 2008-02-09  Jim Meyering  <meyering@redhat.com>
31412
31413         New script and module: gitlog-to-changelog
31414         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
31415         * modules/gitlog-to-changelog: New file.
31416         * build-aux/gitlog-to-changelog: New file.
31417
31418 2008-02-08  Jim Meyering  <meyering@redhat.com>
31419
31420         Avoid two "parameter unused" warnings.
31421         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
31422         Mark "st" as used.
31423
31424         Use "git COMMAND", not "git-COMMAND".
31425         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
31426         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
31427         * build-aux/git-version-gen: Use "git status", not "git-status".
31428
31429 2008-02-07  Bruno Haible  <bruno@clisp.org>
31430
31431         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
31432         Avoids a crash on Windows Vista.
31433         Reported by Adam Strzelecki <ono@java.pl> via
31434         Simon Josefsson <simon@josefsson.org>.
31435
31436 2008-02-06  Bruno Haible  <bruno@clisp.org>
31437
31438         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
31439         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
31440         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
31441         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
31442         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
31443         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
31444         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
31445         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
31446         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
31447         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
31448         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
31449         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
31450         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
31451         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
31452         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
31453         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
31454         left-adjust flag.
31455         * tests/test-snprintf-posix.h (test_function): Likewise.
31456         * tests/test-sprintf-posix.h (test_function): Likewise.
31457         * tests/test-vasprintf-posix.c (test_function): Likewise.
31458         * doc/posix-functions/fprintf.texi: Update.
31459         * doc/posix-functions/printf.texi: Update.
31460         * doc/posix-functions/snprintf.texi: Update.
31461         * doc/posix-functions/sprintf.texi: Update.
31462         * doc/posix-functions/vfprintf.texi: Update.
31463         * doc/posix-functions/vprintf.texi: Update.
31464         * doc/posix-functions/vsnprintf.texi: Update.
31465         * doc/posix-functions/vsprintf.texi: Update.
31466         Reported by Peter Fales <psfales@alcatel-lucent.com>.
31467
31468 2008-02-06  Bruno Haible  <bruno@clisp.org>
31469
31470         Fix bug introduced on 2008-01-26.
31471         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
31472
31473 2008-02-06  Bruno Haible  <bruno@clisp.org>
31474
31475         Fix bug introduced on 2007-06-10.
31476         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
31477         !NEED_PRINTF_FLAG_ZERO.
31478
31479 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
31480
31481         getloadavg: use libperfstat on AIX5
31482         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
31483
31484 2008-02-03  Bruno Haible  <bruno@clisp.org>
31485
31486         * lib/diffseq.h: Add comments about required #includes.
31487         Reported by Michael Biggs <gnulib@doubleplum.net>.
31488
31489 2008-02-01  Bruno Haible  <bruno@clisp.org>
31490
31491         * users.txt: Add gnuit.
31492
31493 2008-01-31  Bruno Haible  <bruno@clisp.org>
31494
31495         * lib/md4.c (set_uint32): Mark as inline.
31496         * lib/md5.c (set_uint32): Likewise.
31497         * lib/sha1.c (set_uint32): Likewise.
31498         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
31499         * m4/md5.m4 (gl_MD5): Likewise.
31500         * m4/sha1.m4 (gl_SHA1): Likewise.
31501
31502 2008-01-31  Jim Meyering  <meyering@redhat.com>
31503
31504         Use "sizeof VAR", rather than a literal "4".
31505         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
31506         * lib/md4.c (md4_read_ctx): Likewise.
31507         * lib/sha1.c (sha1_read_ctx): Likewise.
31508
31509 2008-01-31  Simon Josefsson  <simon@josefsson.org>
31510
31511         * tests/test-sha1.c: New file, based on test-md5.c.
31512
31513         * modules/crypto/sha1-tests: New file.
31514
31515 2008-01-31  Simon Josefsson  <simon@josefsson.org>
31516
31517         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
31518
31519 2008-01-31  Jim Meyering  <meyering@redhat.com>
31520
31521         Prefer "sizeof v" over the equivalent "4".
31522         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
31523         * lib/md5.c (set_uint32): Likewise.
31524         * lib/sha1.c (set_uint32): Likewise.
31525
31526 2008-01-31  Simon Josefsson  <simon@josefsson.org>
31527
31528         * lib/sha1.c (set_uint32): Mark function as static.
31529
31530 2008-01-31  Simon Josefsson  <simon@josefsson.org>
31531
31532         md2: clarify comments to say that alignment is not required.
31533         * lib/md2.h: Remove warning about alignment in comment.
31534         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
31535         never been required.
31536
31537 2008-01-31  Simon Josefsson  <simon@josefsson.org>
31538
31539         md4: adapt alignment constraint fix from sha1.
31540         * lib/md4.c (set_uint32): New function, from sha1.c
31541         (md4_read_ctx): Use it.
31542         (md4_finish_ctx): Doc fix.
31543         * lib/md4.h: Doc fix.
31544
31545 2008-01-31  Simon Josefsson  <simon@josefsson.org>
31546
31547         md5: adapt alignment constraint fix from sha1.
31548         * lib/md5.c (set_uint32): New function, from sha1.c
31549         (md5_read_ctx): Use it.
31550         (md5_finish_ctx): Doc fix.
31551         * lib/md5.h: Doc fix.
31552
31553 2008-01-30  Peter Palfrader  <weasel@debian.org>
31554
31555         sha1: remove the result buffer alignment constraint
31556         * lib/sha1.c (set_uint32): New function.
31557         (sha1_read_ctx): Rewrite to remove the result buffer alignment
31558         constraint.
31559         (sha1_finish_ctx): Remove comment warning about alignment constraint.
31560         * lib/sha1.h: Likewise.
31561
31562 2008-01-30  Andreas Schwab  <schwab@suse.de>
31563             Bruno Haible  <bruno@clisp.org>
31564
31565         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
31566         correct definition of LDBL_MIN_EXP.
31567
31568 2008-01-30  Karl Berry  <karl@gnu.org>
31569
31570         * config/srclist-update: try to preserve x bit on updates.
31571         * config/srclistvars.sh: update for karl.
31572
31573 2008-01-29  Jim Meyering  <meyering@redhat.com>
31574
31575         vasnprintf.c: Avoid warning about unused label
31576         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
31577         "overflow" label definition and associated code with the
31578         same cpp condition that guards the sole use of that label.
31579
31580 2008-01-26  Bruno Haible  <bruno@clisp.org>
31581
31582         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
31583         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
31584         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
31585         * lib/isnanl-nolibm.h (isnanl): Likewise.
31586         Reported by Paul Eggert <eggert@cs.ucla.edu>.
31587
31588 2008-01-26  Bruno Haible  <bruno@clisp.org>
31589
31590         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
31591         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
31592
31593 2008-01-26  Bruno Haible  <bruno@clisp.org>
31594
31595         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
31596         GCC >= 4.0 built-in.
31597         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
31598
31599 2008-01-26  Bruno Haible  <bruno@clisp.org>
31600
31601         Rename isnan, applicable to 'double' only, to isnand.
31602         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
31603         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
31604         (configure.ac): Update.
31605         (Include): Replace "isnan.h" with "isnand.h".
31606         * m4/isnand.m4: Renamed from m4/isnan.m4.
31607         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
31608         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
31609         instead of isnan.c.
31610         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
31611         instead of HAVE_ISNAN_IN_LIBC.
31612         (isnand): Renamed from isnan.
31613         * lib/isnand.c: New file.
31614         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
31615         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
31616         (Makefile.am): Update.
31617         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
31618         Include isnand.h instead of isnan.h.
31619         (main): Test isnand instead of isnan.
31620         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
31621         isnan-nolibm.
31622         * modules/frexp (Depends-on): Likewise.
31623         * modules/frexp-tests (Depends-on): Likewise.
31624         * modules/frexp-nolibm (Depends-on): Likewise.
31625         * modules/frexp-nolibm-tests (Depends-on): Likewise.
31626         * modules/isfinite (Depends-on): Likewise.
31627         * modules/round-tests (Depends-on): Likewise.
31628         * modules/signbit (Depends-on): Likewise.
31629         * modules/signbit-tests (Depends-on): Likewise.
31630         * modules/snprintf-posix (Depends-on): Likewise.
31631         * modules/sprintf-posix (Depends-on): Likewise.
31632         * modules/trunc-tests (Depends-on): Likewise.
31633         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
31634         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
31635         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
31636         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
31637         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
31638         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
31639         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
31640         * modules/vasnprintf-posix (Depends-on): Likewise.
31641         * modules/vasprintf-posix (Depends-on): Likewise.
31642         * modules/vfprintf-posix (Depends-on): Likewise.
31643         * modules/vsnprintf-posix (Depends-on): Likewise.
31644         * modules/vsprintf-posix (Depends-on): Likewise.
31645         * lib/frexp.c: Include isnand.h instead of isnan.h.
31646         (ISNAN): Set to isnand instead of isnan.
31647         * lib/isfinite.c: Include isnand.h instead of isnan.h.
31648         (gl_isfinited): Use isnand instead of isnan.
31649         * lib/signbitd.c: Include isnand.h instead of isnan.h.
31650         (gl_signbitd): Use isnand instead of isnan.
31651         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
31652         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
31653         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
31654         (main): Use isnand instead of isnan.
31655         * tests/test-round1.c: Include isnand.h.
31656         (main): Use isnand instead of isnan.
31657         * tests/test-round2.c: Include isnand.h instead of isnan.h.
31658         (ISNAN): Set to isnand instead of isnan.
31659         * tests/test-trunc1.c: Include isnand.h.
31660         (main): Use isnand instead of isnan.
31661         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
31662         (equal): Use isnand instead of isnan.
31663         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
31664         isnand-nolibm.
31665         * NEWS: Mention the change.
31666
31667 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
31668             Bruno Haible  <bruno@clisp.org>
31669
31670         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
31671         the GCC builtins for signbits are present and set
31672         REPLACE_SIGNBIT_USING_GCC if so.
31673         * lib/math.in.h (signbit): Define using GCC builtins if
31674         REPLACE_SIGNBIT_USING_GCC is set.
31675         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
31676         REPLACE_SIGNBIT_USING_GCC.
31677         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
31678
31679 2008-01-25  Jim Meyering  <meyering@redhat.com>
31680
31681         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
31682         * lib/poll.c: Include <config.h>, not "config.h".
31683         * tests/test-getaddrinfo.c: Likewise.
31684
31685 2008-01-25  Simon Josefsson  <simon@josefsson.org>
31686
31687         * modules/sockets-tests: New file.
31688
31689 2008-01-24  Simon Josefsson  <simon@josefsson.org>
31690
31691         * modules/sockets: New module, can be used to call WSA_Startup and
31692         WSA_Cleanup when needed.
31693
31694         * lib/sockets.h, lib/sockets.c: New files.
31695
31696         * m4/sockets.m4: New file.
31697
31698         * tests/test-sockets.c: New file.
31699
31700 2008-01-19  Bruno Haible  <bruno@clisp.org>
31701
31702         * doc/posix-headers: Renamed from doc/headers.
31703         * doc/posix-functions: Renamed from doc/functions.
31704         * doc/gnulib.texi: Update.
31705
31706 2008-01-19  Bruno Haible  <bruno@clisp.org>
31707
31708         * doc/glibc-functions/strcasestr.texi: Include contents of
31709         doc/functions/strcasestr.texi, fixing the list of platforms.
31710         * doc/functions/strcasestr.texi: Remove file.
31711
31712 2008-01-19  Bruno Haible  <bruno@clisp.org>
31713
31714         * doc/glibc-functions/memmem.texi: Include contents of
31715         doc/functions/memmem.texi.
31716         * doc/functions/memmem.texi: Remove file.
31717
31718 2008-01-18  Bruno Haible  <bruno@clisp.org>
31719
31720         * doc/glibc-functions/*.texi: New files.
31721         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
31722         to use the new files.
31723
31724 2008-01-17  Bruno Haible  <bruno@clisp.org>
31725
31726         * tests/test-gethostname.c (main): Fix printf statement.
31727
31728 2008-01-17  Simon Josefsson  <simon@josefsson.org>
31729
31730         * modules/gethostname-tests: New file.
31731
31732         * tests/test-gethostname.c: New file.
31733
31734 2008-01-17  Simon Josefsson  <simon@josefsson.org>
31735
31736         * lib/gethostname.c: Include string.h unconditionally, strncpy is
31737         used by the UNAME case.  Reported by Bruno Haible
31738         <bruno@clisp.org>.
31739
31740 2008-01-17  Eric Blake  <ebb9@byu.net>
31741
31742         Convert c-strcasestr to be more efficient.
31743         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
31744         (Depends-on): Add c-strcase, remove malloca, strnlen.
31745         * tests/test-c-strcasestr.c (main): Enhance test.
31746         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
31747
31748 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
31749
31750         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
31751         Use it in creating po/Makevars.
31752
31753 2008-01-15  Simon Josefsson  <simon@josefsson.org>
31754
31755         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
31756         Applications that requires it should initialize libgcrypt
31757         manually.
31758
31759 2008-01-16  Simon Josefsson  <simon@josefsson.org>
31760
31761         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
31762
31763 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
31764
31765         Fix problem with getdate on mingw32 reported by Simon Josefsson
31766         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
31767         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
31768         tzname", when deciding whether to declare tzname.
31769         * lib/strftime.c (tzname): Likewise.
31770
31771 2008-01-15  Bruno Haible  <bruno@clisp.org>
31772
31773         Work around a MacOS X 10.5 bug in frexpl().
31774         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
31775         * doc/functions/frexpl.texi: Document the bug.
31776         Reported by Elias Pipping <pipping@gentoo.org>.
31777
31778 2008-01-14  Eric Blake  <ebb9@byu.net>
31779
31780         Touch up previous patch.
31781         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
31782         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
31783
31784         Convert strcasestr module to use Two-Way algorithm.
31785         * modules/strcasestr-simple: New module, based on the old
31786         strcasestr, but with Two-Way rather than KMP.
31787         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
31788         * lib/string.in.h (rpl_strcasestr): Declare.
31789         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
31790         performance.
31791         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
31792         * modules/string (Makefile.am): Support strcasestr.
31793         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
31794         * modules/strcasestr-tests (Depends-on): Check for alarm.
31795         * tests/test-strcasestr.c: Augment test.
31796         * lib/str-two-way.h: Clean up stray macro.
31797         * NEWS: Document new module.
31798         * MODULES.html.sh (string handling): Likewise.
31799         * doc/functions/strcasestr.texi: New file.
31800         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
31801         here, since it is not a POSIX function.
31802
31803 2008-01-14  Colin Watson  <cjwatson@debian.org>
31804             Bruno Haible  <bruno@clisp.org>
31805
31806         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
31807         works fine; if not, set REPLACE_STRSIGNAL.
31808         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
31809         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
31810         REPLACE_STRSIGNAL.
31811         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
31812         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
31813         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
31814
31815 2008-01-14  Bruno Haible  <bruno@clisp.org>
31816
31817         * modules/strsignal (Include): Change to <string.h>.
31818
31819 2008-01-14  Colin Watson  <cjwatson@debian.org>
31820
31821         * modules/argp (Notice): Add a notice recommending to change
31822         XGETTEXT_OPTIONS.
31823         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
31824
31825 2008-01-13  Colin Watson  <cjwatson@debian.org>
31826
31827         * modules/strsignal-tests: New file.
31828         * tests/test-strsignal.c: New file.
31829
31830         * lib/strsignal.c: New file, from glibc with modifications.
31831         * lib/siglist.h: New file, from glibc with modifications.
31832         * lib/string.in.h (strsignal): New declaration.
31833         * m4/strsignal.m4: New file.
31834         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
31835         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
31836         * modules/strsignal: New file.
31837         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
31838         HAVE_DECL_STRSIGNAL.
31839
31840 2008-01-13  Bruno Haible  <bruno@clisp.org>
31841
31842         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
31843         locale encoding is not ASCII. Needed for OpenBSD 4.0.
31844         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
31845         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
31846
31847 2008-01-13  Bruno Haible  <bruno@clisp.org>
31848
31849         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
31850         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
31851         * lib/argp.h (__attribute__): Likewise.
31852         * lib/c-stack.c (__attribute__): Likewise.
31853         * lib/error.h (__attribute__): Likewise.
31854         * lib/fts.c (__attribute__): Likewise.
31855         * lib/openat.h (__attribute__): Likewise.
31856         * lib/stdio.in.h (__attribute__): Likewise.
31857         * lib/string.in.h (__attribute__): Likewise.
31858         * lib/utimens.c (__attribute__): Likewise.
31859         * lib/vasnprintf.h (__attribute__): Likewise.
31860         * lib/xalloc.h (__attribute__): Likewise.
31861         * lib/xprintf.h (__attribute__): Likewise.
31862         * lib/xstrtol.h (__attribute__): Likewise.
31863         * lib/xvasprintf.h (__attribute__): Likewise.
31864
31865 2008-01-12  Bruno Haible  <bruno@clisp.org>
31866
31867         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
31868         * doc/glibc-headers/a.out.texi: New file.
31869         * doc/glibc-headers/aliases.texi: New file.
31870         * doc/glibc-headers/alloca.texi: New file.
31871         * doc/glibc-headers/ar.texi: New file.
31872         * doc/glibc-headers/argp.texi: New file.
31873         * doc/glibc-headers/argz.texi: New file.
31874         * doc/glibc-headers/byteswap.texi: New file.
31875         * doc/glibc-headers/crypt.texi: New file.
31876         * doc/glibc-headers/endian.texi: New file.
31877         * doc/glibc-headers/envz.texi: New file.
31878         * doc/glibc-headers/err.texi: New file.
31879         * doc/glibc-headers/error.texi: New file.
31880         * doc/glibc-headers/execinfo.texi: New file.
31881         * doc/glibc-headers/fpu_control.texi: New file.
31882         * doc/glibc-headers/fstab.texi: New file.
31883         * doc/glibc-headers/fts.texi: New file.
31884         * doc/glibc-headers/getopt.texi: New file.
31885         * doc/glibc-headers/ieee754.texi: New file.
31886         * doc/glibc-headers/ifaddrs.texi: New file.
31887         * doc/glibc-headers/libintl.texi: New file.
31888         * doc/glibc-headers/mcheck.texi: New file.
31889         * doc/glibc-headers/mntent.texi: New file.
31890         * doc/glibc-headers/obstack.texi: New file.
31891         * doc/glibc-headers/paths.texi: New file.
31892         * doc/glibc-headers/printf.texi: New file.
31893         * doc/glibc-headers/pty.texi: New file.
31894         * doc/glibc-headers/resolv.texi: New file.
31895         * doc/glibc-headers/shadow.texi: New file.
31896         * doc/glibc-headers/sysexits.texi: New file.
31897         * doc/glibc-headers/ttyent.texi: New file.
31898
31899 2008-01-12  Jim Meyering  <meyering@redhat.com>
31900
31901         announce-gen: emit Gnulib's git-based version string.
31902         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
31903         New option --gnulib-version=V, where V is expected to be
31904         the output of running git describe in the gnulib directory.
31905         (get_tool_versions): Request feedback on xdelta.  I suspect it's
31906         not useful, and plan to stop publishing an xdelta file with each
31907         coreutils release.
31908
31909         * build-aux/announce-gen: Also check for lzma-compressed files.
31910
31911 2008-01-11  Bruno Haible  <bruno@clisp.org>
31912
31913         * tests/test-memmem.c (main): Increase maximum allowed time.
31914         * tests/test-strstr.c (main): Likewise.
31915
31916 2008-01-11  Bruno Haible  <bruno@clisp.org>
31917
31918         * doc/functions/memmem.texi: Add more precisions about platforms.
31919         * doc/functions/strstr.texi: Likewise.
31920
31921 2008-01-10  Eric Blake  <ebb9@byu.net>
31922
31923         * m4/strstr.m4: Delete cruft from copy-n-paste.
31924         Reported by Bruno Haible.
31925
31926 2008-01-10  Bruno Haible  <bruno@clisp.org>
31927
31928         Make c-strstr rely on strstr.
31929         * lib/c-strstr.c: Don't include str-kmp.h.
31930         (c_strstr): Define in terms of strstr.
31931         * modules/c-strstr (Files): Remove lib/str-kmp.h.
31932         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
31933
31934 2008-01-10  Bruno Haible  <bruno@clisp.org>
31935
31936         * doc/gnulib.texi (String Functions in C Locale): New section.
31937         * doc/c-ctype.texi: New file.
31938         * doc/c-strcase.texi: New file.
31939         * doc/c-strcaseeq.texi: New file.
31940         * doc/c-strcasestr.texi: New file.
31941         * doc/c-strstr.texi: New file.
31942         * doc/c-strtod.texi: New file.
31943         * doc/c-strtold.texi: New file.
31944
31945 2008-01-10  Eric Blake  <ebb9@byu.net>
31946
31947         * lib/relocatable.h: Fix a comment.
31948
31949 2008-01-10  Eric Blake  <ebb9@byu.net>
31950
31951         Share two-way algorithm.
31952         * lib/str-two-way.h: New file, merged from...
31953         * lib/memmem.c: ...here...
31954         * lib/strstr.c: ...and here.
31955         * modules/memmem (Files): Use it.
31956         * modules/strstr (Files): Likewise.
31957
31958         Avoid quadratic strstr implementations.
31959         * lib/strstr.c: New file.
31960         * m4/strstr.m4: Likewise.
31961         * modules/strstr: Likewise.
31962         * modules/strstr-tests: Likewise.
31963         * tests/test-strstr.c: Likewise.
31964         * lib/string.in.h (rpl_strstr): Declare.
31965         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
31966         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
31967         * modules/string (Makefile.am): Likewise.
31968         * MODULES.html.sh (string handling): Mention new module.
31969         * doc/functions/strstr.texi (strstr): Document the bug.
31970
31971 2008-01-10  Bruno Haible  <bruno@clisp.org>
31972
31973         * lib/relocatable.h (relocate): State whether result is freshly
31974         allocated or not.
31975         * lib/relocatable.c (relocate): Return a freshly allocated string
31976         instead of a pointer to a privately held string.
31977         Reported by Sylvain Beucler <beuc@gnu.org>.
31978
31979 2008-01-10  Colin Watson  <cjwatson@debian.org>
31980
31981         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
31982         s/S_ISNLK/S_ISLNK/.
31983
31984 2008-01-09  Bruno Haible  <bruno@clisp.org>
31985
31986         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
31987         and other files.
31988         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
31989         if it's only a guess.
31990         * modules/memmem: Simplify by depending on memmem-simple.
31991
31992 2008-01-09  Bruno Haible  <bruno@clisp.org>
31993
31994         Work around OpenBSD 4.0 tdelete() bug.
31995         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
31996         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
31997         macros and don't redefine the enum values.
31998         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
31999         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
32000         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
32001
32002 2008-01-09  Bruno Haible  <bruno@clisp.org>
32003
32004         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
32005         (main): Don't perform the tests if setlocale did not install a UTF-8
32006         locale. Needed on OpenBSD 4.0.
32007         * modules/wcwidth-tests (Depends-on): Add localcharset.
32008
32009 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
32010
32011         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
32012         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
32013         * NEWS: announce this.
32014         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
32015
32016 2008-01-09  Simon Josefsson  <simon@josefsson.org>
32017         and Eric Blake  <ebb9@byu.net>
32018
32019         Add memmem-simple module.
32020         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
32021         (gl_FUNC_MEMMEM): Separate performance from presence checks.
32022         * modules/memmem-simple: New file.
32023         * modules/memmem (Description): Tweak.
32024         * MODULES.html.sh (string handling): Mention new module.
32025         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
32026         addressed by memmem-simple.
32027         * NEWS: Document the difference.
32028
32029 2008-01-09  Eric Blake  <ebb9@byu.net>
32030
32031         Give gcc some memmem optimization hints.
32032         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
32033         (strcasestr): Declare as pure.
32034         * modules/memmem (Maintainer): Claim my implementation.
32035
32036 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32037
32038         Support AIX 6.1 and higher.
32039         * build-aux/config.libpath: Likewise.
32040         * build-aux/config.rpath: Likewise.
32041
32042 2008-01-08  Jim Meyering  <meyering@redhat.com>
32043             Bruno Haible  <bruno@clisp.org>
32044
32045         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
32046         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
32047         Reported by Peter Fales in
32048         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
32049
32050 2008-01-08  Bruno Haible  <bruno@clisp.org>
32051
32052         * modules/unictype/category-of (Depends-on): Add
32053         unictype/category-none.
32054         * modules/unictype/category-and-tests (Depends-on): Add
32055         unictype/category-{L,N,Lu,Nd}.
32056         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
32057         * modules/unictype/category-or-tests (Depends-on): Add
32058         unictype/category-{L,N}.
32059         * modules/unictype/category-name-tests (Depends-on): Add
32060         unictype/category-{Z,Nl}.
32061         Reported by Simon Josefsson.
32062
32063 2008-01-08  Bruno Haible  <bruno@clisp.org>
32064
32065         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
32066         convention better.
32067         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
32068         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
32069         Reported by Peter Miller <millerp@canb.auug.org.au>.
32070
32071 2008-01-08  Eric Blake  <ebb9@byu.net>
32072
32073         Rewrite memmem to guarantee linear complexity without malloc.
32074         * lib/memmem.c (memmem): Use Two-Way rather than
32075         Knuth-Morris-Pratt, to allow O(1) space usage.
32076         (critical_factorization, two_way_short_needle)
32077         (two_way_long_needle): New functions.
32078         (knuth_morris_pratt): Delete.
32079         * modules/memmem (Depends-on): No longer need malloca or stdbool.
32080         Add stdint.
32081         * tests/test-memmem.c (main): Add tests for periodic needle and
32082         sublinear performance.
32083         * doc/functions/memmem.texi (memmem): Document other deficiencies
32084         in cygwin and older glibc.
32085
32086 2008-01-08  Bruno Haible  <bruno@clisp.org>
32087
32088         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
32089         augmentation.
32090
32091 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
32092
32093         Add a configure time option: --disable-acl.
32094         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
32095         AC_ARG_ENABLE(acl).
32096
32097 2008-01-06  Simon Josefsson  <simon@josefsson.org>
32098
32099         * tests/test-localename.c: Don't include obsolete "setenv.h".
32100
32101         * modules/localename-tests (Depends-on): Need unsetenv.
32102
32103 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32104
32105         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
32106
32107 2008-01-06  Colin Watson  <cjwatson@debian.org>
32108
32109         * users.txt: Add man-db.
32110
32111 2008-01-07  Bruno Haible  <bruno@clisp.org>
32112
32113         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
32114         previous section name.
32115
32116 2008-01-07  Bruno Haible  <bruno@clisp.org>
32117
32118         * lib/progname.c (set_program_name): Don't strip off a leading
32119         "lt-" prefix outside a .libs directory.
32120         Suggested by Paul Eggert.
32121
32122 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
32123             Bruno Haible  <bruno@clisp.org>
32124
32125         Improve memory cleanup in 'relocatable' module.
32126         * lib/relocatable.h (compute_curr_prefix): Change return type to
32127         'char *'.
32128         * lib/relocatable.c (compute_curr_prefix): Change return type to
32129         'char *'. Free curr_installdir after use.
32130         (relocate): Free curr_prefix_better after use.
32131         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
32132
32133 2008-01-01  Bruno Haible  <bruno@clisp.org>
32134
32135         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
32136         failure on older glibc systems.
32137         Reported by Peter Fales <psfales@alcatel-lucent.com>.
32138
32139 2008-01-05  Eric Blake  <ebb9@byu.net>
32140
32141         Avoid quadratic system memmem.
32142         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
32143         Reported by Ralf Wildenhues.
32144
32145         Fix memmem test for mingw.
32146         * modules/memmem-tests (configure.ac): Check for alarm.
32147         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
32148         it.
32149         * doc/functions/memmem.texi: New file.
32150         * doc/gnulib.texi (Function Substitutes): Add memmem.
32151         Reported by Bruno Haible.
32152
32153 2008-01-04  Bruno Haible  <bruno@clisp.org>
32154
32155         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
32156         Require gl_HEADER_STRINGS_H_DEFAULTS, not
32157         gl_HEADER_STRING_H_DEFAULTS.
32158
32159 2008-01-04  Eric Blake  <ebb9@byu.net>
32160
32161         Shorten duration of memmem test.
32162         * tests/test-memmem.c (main): Use alarm to declare failure if test
32163         is taking too long.
32164         Reported by Ralf Wildenhues.
32165
32166 2007-12-21  Simon Josefsson  <simon@josefsson.org>
32167
32168         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
32169         string, needed by strerror.
32170
32171 2008-01-03  Colin Watson  <cjwatson@debian.org>
32172             Bruno Haible  <bruno@clisp.org>
32173
32174         * doc/gnulib-tool.texi (Localization): New section.
32175
32176 2008-01-02  Bruno Haible  <bruno@clisp.org>
32177
32178         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
32179         variables to 'unsigned char *' type.
32180         Reported by Paul Eggert.
32181
32182 2008-01-02  Jim Meyering  <jim@meyering.net>
32183
32184         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
32185
32186 2007-12-31  Jim Meyering  <jim@meyering.net>
32187
32188         Avoid use of private FTS type name.
32189         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
32190
32191 2007-12-30  Karl Berry  <karl@gnu.org>
32192
32193         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
32194         work around defect in Texinfo and/or the standalone Info browser.
32195
32196 2007-12-30  Bruno Haible  <bruno@clisp.org>
32197
32198         Unify 5 copies of the KMP code.
32199         * lib/str-kmp.h: New file.
32200         * lib/c-strcasestr.c: Include str-kmp.h.
32201         (knuth_morris_pratt): Remove function.
32202         (c_strcasestr): Update.
32203         * lib/c-strstr.c: Include str-kmp.h.
32204         (knuth_morris_pratt): Remove function.
32205         (c_strcasestr): Update.
32206         * lib/mbscasestr.c: Include str-kmp.h.
32207         (knuth_morris_pratt_unibyte): Remove function.
32208         * lib/mbsstr.c: Include str-kmp.h.
32209         (knuth_morris_pratt_unibyte): Remove function.
32210         * lib/strcasestr.c: Include str-kmp.h.
32211         (knuth_morris_pratt): Remove function.
32212         (strcasestr): Update.
32213         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
32214         * modules/c-strstr (Files): Likewise.
32215         * modules/mbscasestr (Files): Likewise.
32216         * modules/mbsstr (Files): Likewise.
32217         * modules/strcasestr (Files): Likewise.
32218         Suggested by Paul Eggert.
32219
32220 2007-12-30  Bruno Haible  <bruno@clisp.org>
32221
32222         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
32223         defined.
32224
32225 2007-12-30  Bruno Haible  <bruno@clisp.org>
32226
32227         * lib/xmalloca.h: Include xalloc.h.
32228         (xnmalloca): New macro.
32229
32230 2007-12-30  Bruno Haible  <bruno@clisp.org>
32231
32232         * lib/malloca.h (nmalloca): New macro.
32233         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
32234         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
32235         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
32236         knuth_morris_pratt_multibyte): Likewise.
32237         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
32238         knuth_morris_pratt_multibyte): Likewise.
32239         * lib/memmem.c (knuth_morris_pratt): Likewise.
32240         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
32241
32242 2007-12-25  Bruno Haible  <bruno@clisp.org>
32243
32244         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
32245         * lib/glob.c: Don't include openat.h.
32246         (link_exists2_p): Add back the code that deals with the
32247         !GLOB_ALTDIRFUNC case.
32248         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
32249         let it do the filename concatenation.
32250         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
32251         * modules/glob (Depends-on): Remove openat.
32252
32253 2007-12-31  Bruno Haible  <bruno@clisp.org>
32254
32255         * modules/dirfd (License): Change to LGPLv2+.
32256         Approved by Jim Meyering.
32257
32258 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
32259
32260         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
32261         when multiplying M by sizeof (size_t).
32262
32263 2007-12-10  Martin Lambers  <marlam@marlam.de>
32264
32265         Override getpagesize on mingw.
32266         * lib/getpagesize.c: New file.
32267         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
32268         * modules/getpagesize (Files): Add lib/getpagesize.c.
32269         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
32270         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
32271         REPLACE_GETPAGESIZE.
32272         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
32273
32274 2007-12-25  Bruno Haible  <bruno@clisp.org>
32275
32276         * modules/localcharset (Notice): New field.
32277         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
32278         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
32279
32280 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
32281             Bruno Haible  <bruno@clisp.org>
32282
32283         Avoid using the syntax symbol() in formatted documentation.
32284         * MODULES.html.sh (func_module): When replacing symbol() with a
32285         hyperlink, remove the parentheses. Show an error if some remain.
32286         Recognize and render the '...' syntax.
32287         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
32288         Rework. Add paragraph about GCC's inlining.
32289         * doc/alloca.texi: Likewise.
32290         * doc/error.texi: Remove parentheses from symbol reference.
32291         * doc/gnulib-intro.texi: Likewise.
32292         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
32293         * modules/fnmatch (Description): Reword to say "the ... function".
32294         * modules/full-read (Description): Likewise.
32295         * modules/full-write (Description): Likewise.
32296         * modules/safe-read (Description): Likewise.
32297         * modules/safe-write (Description): Likewise.
32298         * modules/strchrnul (Description): Likewise.
32299         * modules/trim (Description): Likewise.
32300         * modules/error (Description): Remove parentheses from symbol
32301         references.
32302         * modules/verror (Description): Likewise.
32303         Reported by Karl Berry.
32304
32305 2007-12-25  Bruno Haible  <bruno@clisp.org>
32306
32307         Fixup after 2007-10-16 commit.
32308         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
32309
32310 2007-12-24  Bruno Haible  <bruno@clisp.org>
32311
32312         Make --enable-relocatable work with DESTDIR.
32313         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
32314         to compute installdir from destprog.
32315         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
32316         also set the RELOC_DESTDIR variable.
32317         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
32318
32319 2007-12-24  Bruno Haible  <bruno@clisp.org>
32320
32321         Fix link error due to xalloc_die().
32322         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
32323         of xreadlink.
32324         * lib/relocwrapper.c: Update comments.
32325         * build-aux/install-reloc: Remove xreadlink.c from file list.
32326         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
32327         xreadlink.c.
32328         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
32329
32330 2007-12-24  Bruno Haible  <bruno@clisp.org>
32331
32332         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
32333         * lib/setenv.h: Remove file.
32334         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
32335         lib/setenv.h.
32336         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
32337         (Depends-on): Add stdlib.
32338         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
32339         gl_FUNC_UNSETENV.
32340         (Include): Replace setenv.h with <stdlib.h>.
32341         * modules/unsetenv: New file.
32342         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
32343         * lib/unsetenv.c: Include <stdlib.h> first.
32344         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
32345         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
32346         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
32347         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
32348         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
32349         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
32350         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
32351         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
32352         * doc/functions/unsetenv.texi: Update.
32353         * modules/xsetenv (Depends-on): Add unsetenv.
32354         * modules/getdate (Depends-on): Likewise.
32355         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
32356         * lib/xsetenv.c: Don't include setenv.h.
32357         * lib/getdate.y: Likewise.
32358         * lib/relocwrapper.c: Likewise.
32359         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
32360         (Depends-on): Add stdlib.
32361         * NEWS: Mention the changes.
32362         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
32363
32364 2007-12-23  Bruno Haible  <bruno@clisp.org>
32365
32366         * lib/memmem.c (memmem): Use lowercase variable names. Tab
32367         indentation.
32368
32369 2007-12-23  Bruno Haible  <bruno@clisp.org>
32370
32371         * lib/c-strcasestr.c: Add more comments.
32372         * lib/c-strstr.c: Likewise.
32373         * lib/mbscasestr.c: Likewise.
32374         * lib/mbsstr.c: Likewise.
32375         * lib/strcasestr.c: Likewise.
32376         * lib/memmem.c: Likewise.
32377
32378 2007-12-23  Bruno Haible  <bruno@clisp.org>
32379
32380         * tests/test-memmem.c: Include <string.h> first.
32381
32382 2007-12-22  Bruno Haible  <bruno@clisp.org>
32383
32384         * gnulib-tool (func_create_testdir): Change $auxdir while generating
32385         the contents of $testsbase.
32386         Reported by Ralf Wildenhues.
32387
32388 2007-12-22  Bruno Haible  <bruno@clisp.org>
32389
32390         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
32391         two variables local_ldadd_before, local_ldadd_last.
32392
32393 2007-12-20  Eric Blake  <ebb9@byu.net>
32394
32395         Work around circular library issue when cross-compiling.
32396         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
32397         that progname.o does not need to pull in rpl_memcmp.
32398
32399 2007-12-19  Eric Blake  <ebb9@byu.net>
32400
32401         Fix memmem to avoid O(n^2) worst-case complexity.
32402         * lib/memmem.c (knuth_morris_pratt): New function.
32403         (memmem): Use it if first few naive iterations fail.
32404         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
32405         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
32406         * modules/memchr (License): Likewise.
32407         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
32408         malloca.
32409         * tests/test-memmem.c: Rewrite, borrowing ideas from
32410         test-mbsstr1.c; the old version wouldn't even compile!
32411         * modules/memmem-tests: New file.
32412         * lib/string.in.h (rpl_memmem): Add declaration.
32413         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
32414         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
32415         REPLACE_MEMMEM.
32416
32417 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
32418
32419         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
32420         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
32421         before any system include files, and undef after them all.  This
32422         should fix a problem on VMS reported by John E. Malmberg in
32423         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
32424
32425 2007-12-17  Eric Blake  <ebb9@byu.net>
32426
32427         Revert addition of verify, for BSD/OS.
32428         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
32429         can't handle large files, for the sake of obsolete platforms.
32430         * modules/fseeko (Depends-on): Remove verify.
32431         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
32432         * doc/functions/ftello.texi (ftello): Likewise.
32433         * doc/functions/fgetpos.texi (fgetpos): Likewise.
32434         Reported by Larry Jones.
32435
32436 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
32437
32438         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
32439         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
32440
32441 2007-12-17  Jim Meyering  <meyering@redhat.com>
32442
32443         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
32444         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
32445         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
32446         * modules/getcwd (Depends-on): Add openat.
32447         Reported by Petr Salinger.
32448
32449 2007-12-17  Bruno Haible  <bruno@clisp.org>
32450
32451         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
32452         avoid a segmentation fault of the configure test on x86_64 systems.
32453
32454 2007-12-15  Jim Meyering  <meyering@redhat.com>
32455
32456         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
32457
32458 2007-12-13  Eric Blake  <ebb9@byu.net>
32459
32460         Another fseek test.
32461         * tests/test-fseek.c (main): Also test ungetc handling.
32462         * tests/test-fseeko.c (main): Likewise.
32463         * modules/fseeko (Depends-on): Add verify.
32464         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
32465         large.
32466         Reported by Larry Jones.
32467
32468         Fix fseeko on mingw.
32469         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
32470         seek.
32471
32472         Beef up fseek tests.
32473         * tests/test-fseek.c (main): Also test eof handling.
32474         * tests/test-fseeko.c (main): Likewise.
32475         Reported by Larry Jones.
32476
32477 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
32478
32479         Fix fseeko on BSD-based platforms.
32480         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
32481         successful seek.
32482
32483 2007-12-12  Eric Blake  <ebb9@byu.net>
32484
32485         Allow circular dependency of separate libtests.a
32486         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
32487         when use_libtests.
32488
32489 2007-12-11  Eric Blake  <ebb9@byu.net>
32490
32491         Fix bug with -0.0L in previous patch.
32492         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
32493         * tests/test-isnan.c (main): Also test on zeroes.
32494         * tests/test-isnanf.c (main): Likewise.
32495         * tests/test-isnanl.h (main): Likewise.
32496
32497         Detect pseudo-denormals on x86 even when cross-compiling.
32498         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
32499         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
32500         invalid bit patterns that happen to satisfy ==.
32501
32502         Avoid link failures with separate libtests.a.
32503         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
32504         last, to satisfy circular dependencies.
32505
32506 2007-12-11  Eric Blake  <ebb9@byu.net>
32507         and Bruno Haible  <bruno@clisp.org>
32508
32509         Fix OpenBSD 4.0 <float.h> handling of long double.
32510         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
32511         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
32512         * doc/headers/float.texi (float.h): Document OpenBSD bug.
32513
32514 2007-12-11  Jim Meyering  <meyering@redhat.com>
32515
32516         * users.txt: Add libvirt.
32517
32518         Support versions of autoconf prior to 2.59c.
32519         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
32520         if it is not already defined.
32521
32522 2007-12-09  Bruno Haible  <bruno@clisp.org>
32523
32524         Let 'gnulib-tool --import' collect sources needed for the tests in
32525         tests/ rather than in lib/.
32526         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
32527         argument. If true, add rules to generate libtests.a, and put libtests.a
32528         into $(LDADD). Consider source files in subdirectories and set
32529         uses_subdirs.
32530         (func_emit_initmacro_start, func_emit_initmacro_end,
32531         func_emit_initmacro_done): Pass all arguments explicitly.
32532         (func_import): Determine two module lists main_modules,
32533         testsrelated_modules. Determine use_libtests. Determine two variables
32534         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
32535         instead of just sed_transform_lib_file. Determine two variables
32536         main_files and testsrelated_files. Compute 'files' as the union of
32537         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
32538         func_add_or_update. In the generated gnulib-comp.m4, collect the
32539         object files for tests/ in different variables than those for lib/.
32540         Substitute LIBTESTS_LIBDEPS.
32541         (func_create_testdir): Combine the uses_subdirs results from
32542         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
32543
32544 2007-12-09  Bruno Haible  <bruno@clisp.org>
32545
32546         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
32547         the build-aux directory.
32548
32549 2007-12-09  Bruno Haible  <bruno@clisp.org>
32550
32551         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
32552         introduced on 2006-09-09.
32553
32554 2007-12-07  Jim Meyering  <meyering@redhat.com>
32555
32556         Let these macros work also with autoconf-2.59.
32557         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
32558         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
32559         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
32560
32561 2007-12-06  Jim Meyering  <meyering@redhat.com>
32562
32563         Avoid a configure-time syntax error in gl_FUNC_ACL.
32564         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
32565         function in each branch, before testing the cache variable.
32566
32567 2007-12-04  Eric Blake  <ebb9@byu.net>
32568
32569         Make scripts executable.
32570         * build-aux/config.guess: Add execute permissions.
32571         * build-aux/config.sub: Likewise.
32572         * build-aux/gendocs.sh: Likewise.
32573
32574         Fix frexp on mingw.
32575         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
32576         cross-compiling.
32577         * doc/functions/frexp.texi (frexp): Document the bug.
32578
32579         Make cygwin fseeko check more reliable.
32580         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
32581         version numbers, rather than unrelated feature check.
32582         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
32583         * doc/functions/ftello.texi (ftello): Likewise.
32584         Reported by Bruno Haible.
32585
32586         * m4/strerror.m4: Bump version number.
32587
32588 2007-12-03  Bruno Haible  <bruno@clisp.org>
32589
32590         * doc/functions/mprotect.texi: Mention the mingw problem.
32591
32592 2007-12-03  Eric Blake  <ebb9@byu.net>
32593
32594         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
32595         REPLACE_STRERROR is initialized before this macro.
32596
32597 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
32598
32599         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
32600         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
32601         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
32602         put -lsec in even for programs other than 'ls'.  This fixes a problem
32603         for gettext reported by Bruno Haible in
32604         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
32605         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
32606         Add support for Solaris 10.  This isn't efficient, but should get the
32607         job done for now.
32608
32609 2007-12-03  James Youngman  <jay@gnu.org>
32610
32611         * doc/regexprops-generic.texi: change "an close-group" to "a
32612         close-group" and "illegal" to "not allowed".
32613
32614 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32615
32616         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
32617         pr_byname.h. Needed for the rare case when the maintainer has done
32618         "make maintainer-clean" in the source directory and then attempts a
32619         build outside the source directory.
32620         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
32621         scripts_byname.h.
32622
32623 2007-12-02  Martin Lambers <marlam@marlam.de>
32624             Bruno Haible  <bruno@clisp.org>
32625
32626         * lib/getpagesize.h: Remove file.
32627         * lib/unistd.in.h: Include declaration of getpagesize here.
32628         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
32629         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
32630         HAVE_SYS_PARAM_H.
32631         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
32632         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
32633         * modules/getpagesize (Files): Remove lib/getpagesize.h.
32634         (Depends-on): Add unistd.
32635         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
32636         (Include): Use <unistd.h> instead of getpagesize.h.
32637         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
32638         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
32639         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
32640         gl_GETPAGESIZE invocation, already handled by module dependency.
32641         * lib/pagealign_alloc.c: Don't include getpagesize.h.
32642
32643 2007-12-02  Bruno Haible  <bruno@clisp.org>
32644
32645         * modules/strings-tests: New file.
32646         * tests/test-strings.c: New file.
32647
32648         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
32649         * lib/strings.in.h: New file.
32650         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
32651         * m4/strings_h.m4: New file.
32652         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
32653         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
32654         * modules/strings: New file.
32655         * modules/string (Makefile.am): Update.
32656         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
32657         Reported by Karl Berry.
32658
32659 2007-12-01  Eric Blake  <ebb9@byu.net>
32660
32661         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
32662         accomodate fix in cygwin 1.5.25.
32663
32664 2007-12-01  Jim Meyering  <meyering@redhat.com>
32665
32666         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
32667         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
32668         that would inhibit utf8-optimization of a regexp containing line-
32669         or buffer-anchors, e.g., `^', `$'.
32670
32671 2007-11-30  Bruno Haible  <bruno@clisp.org>
32672
32673         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
32674         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
32675         glthread_recursive_lock_init.
32676         * lib/lock.c (glthread_recursive_lock_init)
32677         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
32678         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
32679
32680 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
32681
32682         New function qset_acl, like set_acl but with syscall semantics.
32683         * lib/acl.h (qset_acl): New decl.
32684         * lib/acl.c (qset_acl): New function.
32685         (set_acl): Use new function.  Use more-consistent diagnostics.
32686
32687 2007-11-28  Jim Meyering  <meyering@redhat.com>
32688
32689         * modules/physmem (License): Change from GPL to LGPLv2+.
32690
32691 2007-11-26  Bruno Haible  <bruno@clisp.org>
32692
32693         * lib/vasnprintf.c (decode_long_double): Don't abort if the
32694         'long double' type has excess precision.
32695         Reported by Jim Meyering in
32696         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
32697
32698 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32699
32700         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
32701         Sync from <http://gnu.org/licenses>.
32702         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
32703         with license text from same location.
32704         * doc/maintain.texi, doc/standards.texi:  Sync from
32705         <http://savannah.gnu.org/projects/gnustandards>.
32706
32707 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
32708         and Jim Meyering  <meyering@redhat.com>
32709
32710         Adjust getdate' grammar to accept a slightly more regular language.
32711         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
32712         Before, the former was rejected.
32713         * lib/getdate.y (digits_to_date_time): New function, factored
32714         out of ...
32715         (number): ...here.  Just call digits_to_date_time.
32716         (hybrid): New non-terminal to handle an <unsigned number,
32717         signed relative offset> sequence consistently.
32718
32719 2007-11-18  Jim Meyering  <meyering@redhat.com>
32720
32721         Pull my changes from coreutils:
32722         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
32723         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
32724         use of $gnulib_tool_option_extras, so that it's separated from the
32725         preceding argument.
32726
32727         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
32728         * build-aux/bootstrap (cp_mark_as_generated): Create any required
32729         parent destination directories before copying a file into place.
32730
32731 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
32732
32733         bootstrap: work also with 4-argument variant of AC_INIT
32734         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
32735
32736 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
32737
32738         Port test-getaddrinfo to Solaris.
32739         Problem reported by Bruno Haible in
32740         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
32741         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
32742         explanation of setting 'hints'.
32743         Don't reject an implementation merely because it returns EAI_SERVICE.
32744         (EAI_SERVICE): Define to 0 if not defined.
32745
32746 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
32747
32748         The license of gnu-make and posix-shell is now "GPLed build tool".
32749         * modules/gnu-make (License): Likewise.
32750         * modules/posix-shell (License): Likewise.
32751
32752         New module posix-shell, for determining a POSIX shell
32753         or perhaps something that is close enough to a POSIX shell.
32754         * m4/posix-shell.m4: New file.
32755         * modules/posix-shell: New file.
32756
32757         * MODULES.html.sh: Mention new module.
32758
32759         New module gnu-make, for determining whether we're using GNU Make.
32760         * m4/gnu-make.m4: New file.
32761         * modules/gnu-make: New file.
32762         * MODULES.html.sh: Mention new module.
32763
32764 2007-11-14  Jim Meyering  <meyering@redhat.com>
32765
32766         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
32767         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
32768         use this macro to create a function _definition_.
32769         Remove useless "#undef ARGMATCH_DIE".
32770
32771 2007-11-14  Bruno Haible  <bruno@clisp.org>
32772
32773         * lib/config.charset: Update for OpenBSD 4.1.
32774         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
32775
32776 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
32777
32778         Document 64-bit #if problems in stdint.texi.
32779         * doc/headers/stdint.texi (stdint.h): Mention problems with
32780         64-bit-#if, and how to work around them.
32781
32782         Don't insist on 'long long int' support in the preprocessor.  It
32783         breaks too many things.  For example, PRIdMAX still uses a 'long
32784         long int' format with the latest Sun compiler, even though
32785         HAVE_LONG_LONG_INT isn't defined due to that compiler's
32786         preprocessor problem.  This causes the latest coreutils to dump
32787         core on Solaris 10 sparc with the Sun C compiler.
32788         Instead, fix the 2007-10-16 problem in a different way, by evaluating
32789         the troublesome expressions at configure-time, not at #if-time.
32790         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
32791         preprocessor.
32792         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
32793         compile-time C checks, done at 'configure'-time.
32794         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
32795         * modules/inttypes (Makefile): Substitute the new symbols that
32796         gl_INTTYPES_H now generates.
32797         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
32798
32799 2007-11-12  Bruno Haible  <bruno@clisp.org>
32800
32801         Tests for Unicode character classification functions.
32802
32803         * modules/unictype/bidicategory-byname-tests: New file.
32804         * modules/unictype/bidicategory-name-tests: New file.
32805         * modules/unictype/bidicategory-of-tests: New file.
32806         * modules/unictype/bidicategory-test-tests: New file.
32807         * modules/unictype/block-list-tests: New file.
32808         * modules/unictype/block-of-tests: New file.
32809         * modules/unictype/block-test-tests: New file.
32810         * modules/unictype/category-C-tests: New file.
32811         * modules/unictype/category-Cc-tests: New file.
32812         * modules/unictype/category-Cf-tests: New file.
32813         * modules/unictype/category-Cn-tests: New file.
32814         * modules/unictype/category-Co-tests: New file.
32815         * modules/unictype/category-Cs-tests: New file.
32816         * modules/unictype/category-L-tests: New file.
32817         * modules/unictype/category-Ll-tests: New file.
32818         * modules/unictype/category-Lm-tests: New file.
32819         * modules/unictype/category-Lo-tests: New file.
32820         * modules/unictype/category-Lt-tests: New file.
32821         * modules/unictype/category-Lu-tests: New file.
32822         * modules/unictype/category-M-tests: New file.
32823         * modules/unictype/category-Mc-tests: New file.
32824         * modules/unictype/category-Me-tests: New file.
32825         * modules/unictype/category-Mn-tests: New file.
32826         * modules/unictype/category-N-tests: New file.
32827         * modules/unictype/category-Nd-tests: New file.
32828         * modules/unictype/category-Nl-tests: New file.
32829         * modules/unictype/category-No-tests: New file.
32830         * modules/unictype/category-P-tests: New file.
32831         * modules/unictype/category-Pc-tests: New file.
32832         * modules/unictype/category-Pd-tests: New file.
32833         * modules/unictype/category-Pe-tests: New file.
32834         * modules/unictype/category-Pf-tests: New file.
32835         * modules/unictype/category-Pi-tests: New file.
32836         * modules/unictype/category-Po-tests: New file.
32837         * modules/unictype/category-Ps-tests: New file.
32838         * modules/unictype/category-S-tests: New file.
32839         * modules/unictype/category-Sc-tests: New file.
32840         * modules/unictype/category-Sk-tests: New file.
32841         * modules/unictype/category-Sm-tests: New file.
32842         * modules/unictype/category-So-tests: New file.
32843         * modules/unictype/category-Z-tests: New file.
32844         * modules/unictype/category-Zl-tests: New file.
32845         * modules/unictype/category-Zp-tests: New file.
32846         * modules/unictype/category-Zs-tests: New file.
32847         * modules/unictype/category-and-not-tests: New file.
32848         * modules/unictype/category-and-tests: New file.
32849         * modules/unictype/category-byname-tests: New file.
32850         * modules/unictype/category-name-tests: New file.
32851         * modules/unictype/category-none-tests: New file.
32852         * modules/unictype/category-of-tests: New file.
32853         * modules/unictype/category-or-tests: New file.
32854         * modules/unictype/category-test-withtable-tests: New file.
32855         * modules/unictype/combining-class-tests: New file.
32856         * modules/unictype/ctype-alnum-tests: New file.
32857         * modules/unictype/ctype-alpha-tests: New file.
32858         * modules/unictype/ctype-blank-tests: New file.
32859         * modules/unictype/ctype-cntrl-tests: New file.
32860         * modules/unictype/ctype-digit-tests: New file.
32861         * modules/unictype/ctype-graph-tests: New file.
32862         * modules/unictype/ctype-lower-tests: New file.
32863         * modules/unictype/ctype-print-tests: New file.
32864         * modules/unictype/ctype-punct-tests: New file.
32865         * modules/unictype/ctype-space-tests: New file.
32866         * modules/unictype/ctype-upper-tests: New file.
32867         * modules/unictype/ctype-xdigit-tests: New file.
32868         * modules/unictype/decimal-digit-tests: New file.
32869         * modules/unictype/digit-tests: New file.
32870         * modules/unictype/mirror-tests: New file.
32871         * modules/unictype/numeric-tests: New file.
32872         * modules/unictype/property-alphabetic-tests: New file.
32873         * modules/unictype/property-ascii-hex-digit-tests: New file.
32874         * modules/unictype/property-bidi-arabic-digit-tests: New file.
32875         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
32876         * modules/unictype/property-bidi-block-separator-tests: New file.
32877         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
32878         * modules/unictype/property-bidi-common-separator-tests: New file.
32879         * modules/unictype/property-bidi-control-tests: New file.
32880         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
32881         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
32882         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
32883         * modules/unictype/property-bidi-european-digit-tests: New file.
32884         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
32885         * modules/unictype/property-bidi-left-to-right-tests: New file.
32886         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
32887         * modules/unictype/property-bidi-other-neutral-tests: New file.
32888         * modules/unictype/property-bidi-pdf-tests: New file.
32889         * modules/unictype/property-bidi-segment-separator-tests: New file.
32890         * modules/unictype/property-bidi-whitespace-tests: New file.
32891         * modules/unictype/property-byname-tests: New file.
32892         * modules/unictype/property-combining-tests: New file.
32893         * modules/unictype/property-composite-tests: New file.
32894         * modules/unictype/property-currency-symbol-tests: New file.
32895         * modules/unictype/property-dash-tests: New file.
32896         * modules/unictype/property-decimal-digit-tests: New file.
32897         * modules/unictype/property-default-ignorable-code-point-tests: New file.
32898         * modules/unictype/property-deprecated-tests: New file.
32899         * modules/unictype/property-diacritic-tests: New file.
32900         * modules/unictype/property-extender-tests: New file.
32901         * modules/unictype/property-format-control-tests: New file.
32902         * modules/unictype/property-grapheme-base-tests: New file.
32903         * modules/unictype/property-grapheme-extend-tests: New file.
32904         * modules/unictype/property-grapheme-link-tests: New file.
32905         * modules/unictype/property-hex-digit-tests: New file.
32906         * modules/unictype/property-hyphen-tests: New file.
32907         * modules/unictype/property-id-continue-tests: New file.
32908         * modules/unictype/property-id-start-tests: New file.
32909         * modules/unictype/property-ideographic-tests: New file.
32910         * modules/unictype/property-ids-binary-operator-tests: New file.
32911         * modules/unictype/property-ids-trinary-operator-tests: New file.
32912         * modules/unictype/property-ignorable-control-tests: New file.
32913         * modules/unictype/property-iso-control-tests: New file.
32914         * modules/unictype/property-join-control-tests: New file.
32915         * modules/unictype/property-left-of-pair-tests: New file.
32916         * modules/unictype/property-line-separator-tests: New file.
32917         * modules/unictype/property-logical-order-exception-tests: New file.
32918         * modules/unictype/property-lowercase-tests: New file.
32919         * modules/unictype/property-math-tests: New file.
32920         * modules/unictype/property-non-break-tests: New file.
32921         * modules/unictype/property-not-a-character-tests: New file.
32922         * modules/unictype/property-numeric-tests: New file.
32923         * modules/unictype/property-other-alphabetic-tests: New file.
32924         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
32925         * modules/unictype/property-other-grapheme-extend-tests: New file.
32926         * modules/unictype/property-other-id-continue-tests: New file.
32927         * modules/unictype/property-other-id-start-tests: New file.
32928         * modules/unictype/property-other-lowercase-tests: New file.
32929         * modules/unictype/property-other-math-tests: New file.
32930         * modules/unictype/property-other-uppercase-tests: New file.
32931         * modules/unictype/property-paired-punctuation-tests: New file.
32932         * modules/unictype/property-paragraph-separator-tests: New file.
32933         * modules/unictype/property-pattern-syntax-tests: New file.
32934         * modules/unictype/property-pattern-white-space-tests: New file.
32935         * modules/unictype/property-private-use-tests: New file.
32936         * modules/unictype/property-punctuation-tests: New file.
32937         * modules/unictype/property-quotation-mark-tests: New file.
32938         * modules/unictype/property-radical-tests: New file.
32939         * modules/unictype/property-sentence-terminal-tests: New file.
32940         * modules/unictype/property-soft-dotted-tests: New file.
32941         * modules/unictype/property-space-tests: New file.
32942         * modules/unictype/property-terminal-punctuation-tests: New file.
32943         * modules/unictype/property-test-tests: New file.
32944         * modules/unictype/property-titlecase-tests: New file.
32945         * modules/unictype/property-unassigned-code-value-tests: New file.
32946         * modules/unictype/property-unified-ideograph-tests: New file.
32947         * modules/unictype/property-uppercase-tests: New file.
32948         * modules/unictype/property-variation-selector-tests: New file.
32949         * modules/unictype/property-white-space-tests: New file.
32950         * modules/unictype/property-xid-continue-tests: New file.
32951         * modules/unictype/property-xid-start-tests: New file.
32952         * modules/unictype/property-zero-width-tests: New file.
32953         * modules/unictype/scripts-tests: New file.
32954         * modules/unictype/syntax-c-ident-tests: New file.
32955         * modules/unictype/syntax-c-whitespace-tests: New file.
32956         * modules/unictype/syntax-java-ident-tests: New file.
32957         * modules/unictype/syntax-java-whitespace-tests: New file.
32958         * tests/unictype/test-bidi_byname.c: New file.
32959         * tests/unictype/test-bidi_name.c: New file.
32960         * tests/unictype/test-bidi_of.c: New file.
32961         * tests/unictype/test-bidi_test.c: New file.
32962         * tests/unictype/test-block_list.c: New file.
32963         * tests/unictype/test-block_of.c: New file.
32964         * tests/unictype/test-block_test.c: New file.
32965         * tests/unictype/test-categ_and.c: New file.
32966         * tests/unictype/test-categ_and_not.c: New file.
32967         * tests/unictype/test-categ_byname.c: New file.
32968         * tests/unictype/test-categ_name.c: New file.
32969         * tests/unictype/test-categ_none.c: New file.
32970         * tests/unictype/test-categ_of.c: New file.
32971         * tests/unictype/test-categ_or.c: New file.
32972         * tests/unictype/test-categ_test_withtable.c: New file.
32973         * tests/unictype/test-combining.c: New file.
32974         * tests/unictype/test-decdigit.c: New file.
32975         * tests/unictype/test-digit.c: New file.
32976         * tests/unictype/test-mirror.c: New file.
32977         * tests/unictype/test-numeric.c: New file.
32978         * tests/unictype/test-pr_byname.c: New file.
32979         * tests/unictype/test-pr_test.c: New file.
32980         * tests/unictype/test-predicate-part1.h: New file.
32981         * tests/unictype/test-predicate-part2.h: New file.
32982         * tests/unictype/test-scripts.c: New file.
32983         * tests/unictype/test-sy_c_ident.c: New file.
32984         * tests/unictype/test-sy_java_ident.c: New file.
32985
32986         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
32987         for Unicode 5.0.0.
32988         * tests/unictype/test-categ_Cc.c: Likewise.
32989         * tests/unictype/test-categ_Cf.c: Likewise.
32990         * tests/unictype/test-categ_Cn.c: Likewise.
32991         * tests/unictype/test-categ_Co.c: Likewise.
32992         * tests/unictype/test-categ_Cs.c: Likewise.
32993         * tests/unictype/test-categ_L.c: Likewise.
32994         * tests/unictype/test-categ_Ll.c: Likewise.
32995         * tests/unictype/test-categ_Lm.c: Likewise.
32996         * tests/unictype/test-categ_Lo.c: Likewise.
32997         * tests/unictype/test-categ_Lt.c: Likewise.
32998         * tests/unictype/test-categ_Lu.c: Likewise.
32999         * tests/unictype/test-categ_M.c: Likewise.
33000         * tests/unictype/test-categ_Mc.c: Likewise.
33001         * tests/unictype/test-categ_Me.c: Likewise.
33002         * tests/unictype/test-categ_Mn.c: Likewise.
33003         * tests/unictype/test-categ_N.c: Likewise.
33004         * tests/unictype/test-categ_Nd.c: Likewise.
33005         * tests/unictype/test-categ_Nl.c: Likewise.
33006         * tests/unictype/test-categ_No.c: Likewise.
33007         * tests/unictype/test-categ_P.c: Likewise.
33008         * tests/unictype/test-categ_Pc.c: Likewise.
33009         * tests/unictype/test-categ_Pd.c: Likewise.
33010         * tests/unictype/test-categ_Pe.c: Likewise.
33011         * tests/unictype/test-categ_Pf.c: Likewise.
33012         * tests/unictype/test-categ_Pi.c: Likewise.
33013         * tests/unictype/test-categ_Po.c: Likewise.
33014         * tests/unictype/test-categ_Ps.c: Likewise.
33015         * tests/unictype/test-categ_S.c: Likewise.
33016         * tests/unictype/test-categ_Sc.c: Likewise.
33017         * tests/unictype/test-categ_Sk.c: Likewise.
33018         * tests/unictype/test-categ_Sm.c: Likewise.
33019         * tests/unictype/test-categ_So.c: Likewise.
33020         * tests/unictype/test-categ_Z.c: Likewise.
33021         * tests/unictype/test-categ_Zl.c: Likewise.
33022         * tests/unictype/test-categ_Zp.c: Likewise.
33023         * tests/unictype/test-categ_Zs.c: Likewise.
33024         * tests/unictype/test-ctype_alnum.c: Likewise.
33025         * tests/unictype/test-ctype_alpha.c: Likewise.
33026         * tests/unictype/test-ctype_blank.c: Likewise.
33027         * tests/unictype/test-ctype_cntrl.c: Likewise.
33028         * tests/unictype/test-ctype_digit.c: Likewise.
33029         * tests/unictype/test-ctype_graph.c: Likewise.
33030         * tests/unictype/test-ctype_lower.c: Likewise.
33031         * tests/unictype/test-ctype_print.c: Likewise.
33032         * tests/unictype/test-ctype_punct.c: Likewise.
33033         * tests/unictype/test-ctype_space.c: Likewise.
33034         * tests/unictype/test-ctype_upper.c: Likewise.
33035         * tests/unictype/test-ctype_xdigit.c: Likewise.
33036         * tests/unictype/test-decdigit.h: Likewise.
33037         * tests/unictype/test-digit.h: Likewise.
33038         * tests/unictype/test-numeric.h: Likewise.
33039         * tests/unictype/test-pr_alphabetic.c: Likewise.
33040         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
33041         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
33042         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
33043         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
33044         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
33045         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
33046         * tests/unictype/test-pr_bidi_control.c: Likewise.
33047         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
33048         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
33049         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
33050         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
33051         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
33052         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
33053         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
33054         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
33055         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
33056         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
33057         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
33058         * tests/unictype/test-pr_combining.c: Likewise.
33059         * tests/unictype/test-pr_composite.c: Likewise.
33060         * tests/unictype/test-pr_currency_symbol.c: Likewise.
33061         * tests/unictype/test-pr_dash.c: Likewise.
33062         * tests/unictype/test-pr_decimal_digit.c: Likewise.
33063         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
33064         * tests/unictype/test-pr_deprecated.c: Likewise.
33065         * tests/unictype/test-pr_diacritic.c: Likewise.
33066         * tests/unictype/test-pr_extender.c: Likewise.
33067         * tests/unictype/test-pr_format_control.c: Likewise.
33068         * tests/unictype/test-pr_grapheme_base.c: Likewise.
33069         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
33070         * tests/unictype/test-pr_grapheme_link.c: Likewise.
33071         * tests/unictype/test-pr_hex_digit.c: Likewise.
33072         * tests/unictype/test-pr_hyphen.c: Likewise.
33073         * tests/unictype/test-pr_id_continue.c: Likewise.
33074         * tests/unictype/test-pr_id_start.c: Likewise.
33075         * tests/unictype/test-pr_ideographic.c: Likewise.
33076         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
33077         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
33078         * tests/unictype/test-pr_ignorable_control.c: Likewise.
33079         * tests/unictype/test-pr_iso_control.c: Likewise.
33080         * tests/unictype/test-pr_join_control.c: Likewise.
33081         * tests/unictype/test-pr_left_of_pair.c: Likewise.
33082         * tests/unictype/test-pr_line_separator.c: Likewise.
33083         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
33084         * tests/unictype/test-pr_lowercase.c: Likewise.
33085         * tests/unictype/test-pr_math.c: Likewise.
33086         * tests/unictype/test-pr_non_break.c: Likewise.
33087         * tests/unictype/test-pr_not_a_character.c: Likewise.
33088         * tests/unictype/test-pr_numeric.c: Likewise.
33089         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
33090         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
33091         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
33092         * tests/unictype/test-pr_other_id_continue.c: Likewise.
33093         * tests/unictype/test-pr_other_id_start.c: Likewise.
33094         * tests/unictype/test-pr_other_lowercase.c: Likewise.
33095         * tests/unictype/test-pr_other_math.c: Likewise.
33096         * tests/unictype/test-pr_other_uppercase.c: Likewise.
33097         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
33098         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
33099         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
33100         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
33101         * tests/unictype/test-pr_private_use.c: Likewise.
33102         * tests/unictype/test-pr_punctuation.c: Likewise.
33103         * tests/unictype/test-pr_quotation_mark.c: Likewise.
33104         * tests/unictype/test-pr_radical.c: Likewise.
33105         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
33106         * tests/unictype/test-pr_soft_dotted.c: Likewise.
33107         * tests/unictype/test-pr_space.c: Likewise.
33108         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
33109         * tests/unictype/test-pr_titlecase.c: Likewise.
33110         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
33111         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
33112         * tests/unictype/test-pr_uppercase.c: Likewise.
33113         * tests/unictype/test-pr_variation_selector.c: Likewise.
33114         * tests/unictype/test-pr_white_space.c: Likewise.
33115         * tests/unictype/test-pr_xid_continue.c: Likewise.
33116         * tests/unictype/test-pr_xid_start.c: Likewise.
33117         * tests/unictype/test-pr_zero_width.c: Likewise.
33118         * tests/unictype/test-sy_c_whitespace.c: Likewise.
33119         * tests/unictype/test-sy_java_whitespace.c: Likewise.
33120
33121 2007-11-12  Bruno Haible  <bruno@clisp.org>
33122
33123         Unicode character classification functions.
33124         * lib/unictype.h: New file.
33125         * modules/unictype/base: New file.
33126         * modules/unictype/category-L: New file.
33127         * modules/unictype/category-Lu: New file.
33128         * modules/unictype/category-Ll: New file.
33129         * modules/unictype/category-Lt: New file.
33130         * modules/unictype/category-Lm: New file.
33131         * modules/unictype/category-Lo: New file.
33132         * modules/unictype/category-M: New file.
33133         * modules/unictype/category-Mn: New file.
33134         * modules/unictype/category-Mc: New file.
33135         * modules/unictype/category-Me: New file.
33136         * modules/unictype/category-N: New file.
33137         * modules/unictype/category-Nd: New file.
33138         * modules/unictype/category-Nl: New file.
33139         * modules/unictype/category-No: New file.
33140         * modules/unictype/category-P: New file.
33141         * modules/unictype/category-Pc: New file.
33142         * modules/unictype/category-Pd: New file.
33143         * modules/unictype/category-Ps: New file.
33144         * modules/unictype/category-Pe: New file.
33145         * modules/unictype/category-Pi: New file.
33146         * modules/unictype/category-Pf: New file.
33147         * modules/unictype/category-Po: New file.
33148         * modules/unictype/category-S: New file.
33149         * modules/unictype/category-Sm: New file.
33150         * modules/unictype/category-Sc: New file.
33151         * modules/unictype/category-Sk: New file.
33152         * modules/unictype/category-So: New file.
33153         * modules/unictype/category-Z: New file.
33154         * modules/unictype/category-Zs: New file.
33155         * modules/unictype/category-Zl: New file.
33156         * modules/unictype/category-Zp: New file.
33157         * modules/unictype/category-C: New file.
33158         * modules/unictype/category-Cc: New file.
33159         * modules/unictype/category-Cf: New file.
33160         * modules/unictype/category-Cs: New file.
33161         * modules/unictype/category-Co: New file.
33162         * modules/unictype/category-Cn: New file.
33163         * modules/unictype/category-or: New file.
33164         * modules/unictype/category-of: New file.
33165         * modules/unictype/category-test: New file.
33166         * modules/unictype/category-test-withtable: New file.
33167         * modules/unictype/category-byname: New file.
33168         * modules/unictype/category-none: New file.
33169         * modules/unictype/category-and: New file.
33170         * modules/unictype/category-and-not: New file.
33171         * modules/unictype/category-name: New file.
33172         * modules/unictype/combining-class: New file.
33173         * modules/unictype/category-all: New file.
33174         * modules/unictype/bidicategory-all: New file.
33175         * modules/unictype/bidicategory-byname: New file.
33176         * modules/unictype/bidicategory-name: New file.
33177         * modules/unictype/bidicategory-of: New file.
33178         * modules/unictype/bidicategory-test: New file.
33179         * modules/unictype/decimal-digit: New file.
33180         * modules/unictype/digit: New file.
33181         * modules/unictype/numeric: New file.
33182         * modules/unictype/mirror: New file.
33183         * modules/unictype/property-white-space: New file.
33184         * modules/unictype/property-alphabetic: New file.
33185         * modules/unictype/property-other-alphabetic: New file.
33186         * modules/unictype/property-not-a-character: New file.
33187         * modules/unictype/property-default-ignorable-code-point: New file.
33188         * modules/unictype/property-other-default-ignorable-code-point: New
33189         file.
33190         * modules/unictype/property-deprecated: New file.
33191         * modules/unictype/property-logical-order-exception: New file.
33192         * modules/unictype/property-variation-selector: New file.
33193         * modules/unictype/property-private-use: New file.
33194         * modules/unictype/property-unassigned-code-value: New file.
33195         * modules/unictype/property-uppercase: New file.
33196         * modules/unictype/property-other-uppercase: New file.
33197         * modules/unictype/property-lowercase: New file.
33198         * modules/unictype/property-other-lowercase: New file.
33199         * modules/unictype/property-titlecase: New file.
33200         * modules/unictype/property-soft-dotted: New file.
33201         * modules/unictype/property-id-start: New file.
33202         * modules/unictype/property-other-id-start: New file.
33203         * modules/unictype/property-id-continue: New file.
33204         * modules/unictype/property-other-id-continue: New file.
33205         * modules/unictype/property-xid-start: New file.
33206         * modules/unictype/property-xid-continue: New file.
33207         * modules/unictype/property-pattern-white-space: New file.
33208         * modules/unictype/property-pattern-syntax: New file.
33209         * modules/unictype/property-join-control: New file.
33210         * modules/unictype/property-grapheme-base: New file.
33211         * modules/unictype/property-grapheme-extend: New file.
33212         * modules/unictype/property-other-grapheme-extend: New file.
33213         * modules/unictype/property-grapheme-link: New file.
33214         * modules/unictype/property-bidi-control: New file.
33215         * modules/unictype/property-bidi-left-to-right: New file.
33216         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
33217         * modules/unictype/property-bidi-arabic-right-to-left: New file.
33218         * modules/unictype/property-bidi-european-digit: New file.
33219         * modules/unictype/property-bidi-eur-num-separator: New file.
33220         * modules/unictype/property-bidi-eur-num-terminator: New file.
33221         * modules/unictype/property-bidi-arabic-digit: New file.
33222         * modules/unictype/property-bidi-common-separator: New file.
33223         * modules/unictype/property-bidi-block-separator: New file.
33224         * modules/unictype/property-bidi-segment-separator: New file.
33225         * modules/unictype/property-bidi-whitespace: New file.
33226         * modules/unictype/property-bidi-non-spacing-mark: New file.
33227         * modules/unictype/property-bidi-boundary-neutral: New file.
33228         * modules/unictype/property-bidi-pdf: New file.
33229         * modules/unictype/property-bidi-embedding-or-override: New file.
33230         * modules/unictype/property-bidi-other-neutral: New file.
33231         * modules/unictype/property-hex-digit: New file.
33232         * modules/unictype/property-ascii-hex-digit: New file.
33233         * modules/unictype/property-ideographic: New file.
33234         * modules/unictype/property-unified-ideograph: New file.
33235         * modules/unictype/property-radical: New file.
33236         * modules/unictype/property-ids-binary-operator: New file.
33237         * modules/unictype/property-ids-trinary-operator: New file.
33238         * modules/unictype/property-zero-width: New file.
33239         * modules/unictype/property-space: New file.
33240         * modules/unictype/property-non-break: New file.
33241         * modules/unictype/property-iso-control: New file.
33242         * modules/unictype/property-format-control: New file.
33243         * modules/unictype/property-dash: New file.
33244         * modules/unictype/property-hyphen: New file.
33245         * modules/unictype/property-punctuation: New file.
33246         * modules/unictype/property-line-separator: New file.
33247         * modules/unictype/property-paragraph-separator: New file.
33248         * modules/unictype/property-quotation-mark: New file.
33249         * modules/unictype/property-sentence-terminal: New file.
33250         * modules/unictype/property-terminal-punctuation: New file.
33251         * modules/unictype/property-currency-symbol: New file.
33252         * modules/unictype/property-math: New file.
33253         * modules/unictype/property-other-math: New file.
33254         * modules/unictype/property-paired-punctuation: New file.
33255         * modules/unictype/property-left-of-pair: New file.
33256         * modules/unictype/property-combining: New file.
33257         * modules/unictype/property-composite: New file.
33258         * modules/unictype/property-decimal-digit: New file.
33259         * modules/unictype/property-numeric: New file.
33260         * modules/unictype/property-diacritic: New file.
33261         * modules/unictype/property-extender: New file.
33262         * modules/unictype/property-ignorable-control: New file.
33263         * modules/unictype/property-test: New file.
33264         * modules/unictype/property-byname: New file.
33265         * modules/unictype/property-all: New file.
33266         * modules/unictype/scripts: New file.
33267         * modules/unictype/scripts-all: New file.
33268         * modules/unictype/block-of: New file.
33269         * modules/unictype/block-test: New file.
33270         * modules/unictype/block-list: New file.
33271         * modules/unictype/block-all: New file.
33272         * modules/unictype/syntax-c-whitespace: New file.
33273         * modules/unictype/syntax-java-whitespace: New file.
33274         * modules/unictype/syntax-c-ident: New file.
33275         * modules/unictype/syntax-java-ident: New file.
33276         * modules/unictype/ctype-alnum: New file.
33277         * modules/unictype/ctype-alpha: New file.
33278         * modules/unictype/ctype-cntrl: New file.
33279         * modules/unictype/ctype-digit: New file.
33280         * modules/unictype/ctype-graph: New file.
33281         * modules/unictype/ctype-lower: New file.
33282         * modules/unictype/ctype-print: New file.
33283         * modules/unictype/ctype-punct: New file.
33284         * modules/unictype/ctype-space: New file.
33285         * modules/unictype/ctype-upper: New file.
33286         * modules/unictype/ctype-xdigit: New file.
33287         * modules/unictype/ctype-blank: New file.
33288         * lib/unictype/bidi_byname.c: New file.
33289         * lib/unictype/bidi_name.c: New file.
33290         * lib/unictype/bidi_of.c: New file.
33291         * lib/unictype/bidi_test.c: New file.
33292         * lib/unictype/bitmap.h: New file.
33293         * lib/unictype/block_test.c: New file.
33294         * lib/unictype/blocks.c: New file.
33295         * lib/unictype/categ_C.c: New file.
33296         * lib/unictype/categ_Cc.c: New file.
33297         * lib/unictype/categ_Cf.c: New file.
33298         * lib/unictype/categ_Cn.c: New file.
33299         * lib/unictype/categ_Co.c: New file.
33300         * lib/unictype/categ_Cs.c: New file.
33301         * lib/unictype/categ_L.c: New file.
33302         * lib/unictype/categ_Ll.c: New file.
33303         * lib/unictype/categ_Lm.c: New file.
33304         * lib/unictype/categ_Lo.c: New file.
33305         * lib/unictype/categ_Lt.c: New file.
33306         * lib/unictype/categ_Lu.c: New file.
33307         * lib/unictype/categ_M.c: New file.
33308         * lib/unictype/categ_Mc.c: New file.
33309         * lib/unictype/categ_Me.c: New file.
33310         * lib/unictype/categ_Mn.c: New file.
33311         * lib/unictype/categ_N.c: New file.
33312         * lib/unictype/categ_Nd.c: New file.
33313         * lib/unictype/categ_Nl.c: New file.
33314         * lib/unictype/categ_No.c: New file.
33315         * lib/unictype/categ_P.c: New file.
33316         * lib/unictype/categ_Pc.c: New file.
33317         * lib/unictype/categ_Pd.c: New file.
33318         * lib/unictype/categ_Pe.c: New file.
33319         * lib/unictype/categ_Pf.c: New file.
33320         * lib/unictype/categ_Pi.c: New file.
33321         * lib/unictype/categ_Po.c: New file.
33322         * lib/unictype/categ_Ps.c: New file.
33323         * lib/unictype/categ_S.c: New file.
33324         * lib/unictype/categ_Sc.c: New file.
33325         * lib/unictype/categ_Sk.c: New file.
33326         * lib/unictype/categ_Sm.c: New file.
33327         * lib/unictype/categ_So.c: New file.
33328         * lib/unictype/categ_Z.c: New file.
33329         * lib/unictype/categ_Zl.c: New file.
33330         * lib/unictype/categ_Zp.c: New file.
33331         * lib/unictype/categ_Zs.c: New file.
33332         * lib/unictype/categ_and.c: New file.
33333         * lib/unictype/categ_and_not.c: New file.
33334         * lib/unictype/categ_byname.c: New file.
33335         * lib/unictype/categ_name.c: New file.
33336         * lib/unictype/categ_none.c: New file.
33337         * lib/unictype/categ_of.c: New file.
33338         * lib/unictype/categ_or.c: New file.
33339         * lib/unictype/categ_test.c: New file.
33340         * lib/unictype/combining.c: New file.
33341         * lib/unictype/ctype_alnum.c: New file.
33342         * lib/unictype/ctype_alpha.c: New file.
33343         * lib/unictype/ctype_blank.c: New file.
33344         * lib/unictype/ctype_cntrl.c: New file.
33345         * lib/unictype/ctype_digit.c: New file.
33346         * lib/unictype/ctype_graph.c: New file.
33347         * lib/unictype/ctype_lower.c: New file.
33348         * lib/unictype/ctype_print.c: New file.
33349         * lib/unictype/ctype_punct.c: New file.
33350         * lib/unictype/ctype_space.c: New file.
33351         * lib/unictype/ctype_upper.c: New file.
33352         * lib/unictype/ctype_xdigit.c: New file.
33353         * lib/unictype/decdigit.c: New file.
33354         * lib/unictype/digit.c: New file.
33355         * lib/unictype/identsyntaxmap.h: New file.
33356         * lib/unictype/mirror.c: New file.
33357         * lib/unictype/numeric.c: New file.
33358         * lib/unictype/pr_alphabetic.c: New file.
33359         * lib/unictype/pr_ascii_hex_digit.c: New file.
33360         * lib/unictype/pr_bidi_arabic_digit.c: New file.
33361         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
33362         * lib/unictype/pr_bidi_block_separator.c: New file.
33363         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
33364         * lib/unictype/pr_bidi_common_separator.c: New file.
33365         * lib/unictype/pr_bidi_control.c: New file.
33366         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
33367         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
33368         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
33369         * lib/unictype/pr_bidi_european_digit.c: New file.
33370         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
33371         * lib/unictype/pr_bidi_left_to_right.c: New file.
33372         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
33373         * lib/unictype/pr_bidi_other_neutral.c: New file.
33374         * lib/unictype/pr_bidi_pdf.c: New file.
33375         * lib/unictype/pr_bidi_segment_separator.c: New file.
33376         * lib/unictype/pr_bidi_whitespace.c: New file.
33377         * lib/unictype/pr_byname.c: New file.
33378         * lib/unictype/pr_byname.gperf: New file.
33379         * lib/unictype/pr_combining.c: New file.
33380         * lib/unictype/pr_composite.c: New file.
33381         * lib/unictype/pr_currency_symbol.c: New file.
33382         * lib/unictype/pr_dash.c: New file.
33383         * lib/unictype/pr_decimal_digit.c: New file.
33384         * lib/unictype/pr_default_ignorable_code_point.c: New file.
33385         * lib/unictype/pr_deprecated.c: New file.
33386         * lib/unictype/pr_diacritic.c: New file.
33387         * lib/unictype/pr_extender.c: New file.
33388         * lib/unictype/pr_format_control.c: New file.
33389         * lib/unictype/pr_grapheme_base.c: New file.
33390         * lib/unictype/pr_grapheme_extend.c: New file.
33391         * lib/unictype/pr_grapheme_link.c: New file.
33392         * lib/unictype/pr_hex_digit.c: New file.
33393         * lib/unictype/pr_hyphen.c: New file.
33394         * lib/unictype/pr_id_continue.c: New file.
33395         * lib/unictype/pr_id_start.c: New file.
33396         * lib/unictype/pr_ideographic.c: New file.
33397         * lib/unictype/pr_ids_binary_operator.c: New file.
33398         * lib/unictype/pr_ids_trinary_operator.c: New file.
33399         * lib/unictype/pr_ignorable_control.c: New file.
33400         * lib/unictype/pr_iso_control.c: New file.
33401         * lib/unictype/pr_join_control.c: New file.
33402         * lib/unictype/pr_left_of_pair.c: New file.
33403         * lib/unictype/pr_line_separator.c: New file.
33404         * lib/unictype/pr_logical_order_exception.c: New file.
33405         * lib/unictype/pr_lowercase.c: New file.
33406         * lib/unictype/pr_math.c: New file.
33407         * lib/unictype/pr_non_break.c: New file.
33408         * lib/unictype/pr_not_a_character.c: New file.
33409         * lib/unictype/pr_numeric.c: New file.
33410         * lib/unictype/pr_other_alphabetic.c: New file.
33411         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
33412         * lib/unictype/pr_other_grapheme_extend.c: New file.
33413         * lib/unictype/pr_other_id_continue.c: New file.
33414         * lib/unictype/pr_other_id_start.c: New file.
33415         * lib/unictype/pr_other_lowercase.c: New file.
33416         * lib/unictype/pr_other_math.c: New file.
33417         * lib/unictype/pr_other_uppercase.c: New file.
33418         * lib/unictype/pr_paired_punctuation.c: New file.
33419         * lib/unictype/pr_paragraph_separator.c: New file.
33420         * lib/unictype/pr_pattern_syntax.c: New file.
33421         * lib/unictype/pr_pattern_white_space.c: New file.
33422         * lib/unictype/pr_private_use.c: New file.
33423         * lib/unictype/pr_punctuation.c: New file.
33424         * lib/unictype/pr_quotation_mark.c: New file.
33425         * lib/unictype/pr_radical.c: New file.
33426         * lib/unictype/pr_sentence_terminal.c: New file.
33427         * lib/unictype/pr_soft_dotted.c: New file.
33428         * lib/unictype/pr_space.c: New file.
33429         * lib/unictype/pr_terminal_punctuation.c: New file.
33430         * lib/unictype/pr_test.c: New file.
33431         * lib/unictype/pr_titlecase.c: New file.
33432         * lib/unictype/pr_unassigned_code_value.c: New file.
33433         * lib/unictype/pr_unified_ideograph.c: New file.
33434         * lib/unictype/pr_uppercase.c: New file.
33435         * lib/unictype/pr_variation_selector.c: New file.
33436         * lib/unictype/pr_white_space.c: New file.
33437         * lib/unictype/pr_xid_continue.c: New file.
33438         * lib/unictype/pr_xid_start.c: New file.
33439         * lib/unictype/pr_zero_width.c: New file.
33440         * lib/unictype/scripts.c: New file.
33441         * lib/unictype/sy_c_ident.c: New file.
33442         * lib/unictype/sy_c_whitespace.c: New file.
33443         * lib/unictype/sy_java_ident.c: New file.
33444         * lib/unictype/sy_java_whitespace.c: New file.
33445
33446         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
33447         Unicode 5.0.0.
33448         * lib/unictype/blocks.h: Likewise.
33449         * lib/unictype/categ_C.h: Likewise.
33450         * lib/unictype/categ_Cc.h: Likewise.
33451         * lib/unictype/categ_Cf.h: Likewise.
33452         * lib/unictype/categ_Cn.h: Likewise.
33453         * lib/unictype/categ_Co.h: Likewise.
33454         * lib/unictype/categ_Cs.h: Likewise.
33455         * lib/unictype/categ_L.h: Likewise.
33456         * lib/unictype/categ_Ll.h: Likewise.
33457         * lib/unictype/categ_Lm.h: Likewise.
33458         * lib/unictype/categ_Lo.h: Likewise.
33459         * lib/unictype/categ_Lt.h: Likewise.
33460         * lib/unictype/categ_Lu.h: Likewise.
33461         * lib/unictype/categ_M.h: Likewise.
33462         * lib/unictype/categ_Mc.h: Likewise.
33463         * lib/unictype/categ_Me.h: Likewise.
33464         * lib/unictype/categ_Mn.h: Likewise.
33465         * lib/unictype/categ_N.h: Likewise.
33466         * lib/unictype/categ_Nd.h: Likewise.
33467         * lib/unictype/categ_Nl.h: Likewise.
33468         * lib/unictype/categ_No.h: Likewise.
33469         * lib/unictype/categ_P.h: Likewise.
33470         * lib/unictype/categ_Pc.h: Likewise.
33471         * lib/unictype/categ_Pd.h: Likewise.
33472         * lib/unictype/categ_Pe.h: Likewise.
33473         * lib/unictype/categ_Pf.h: Likewise.
33474         * lib/unictype/categ_Pi.h: Likewise.
33475         * lib/unictype/categ_Po.h: Likewise.
33476         * lib/unictype/categ_Ps.h: Likewise.
33477         * lib/unictype/categ_S.h: Likewise.
33478         * lib/unictype/categ_Sc.h: Likewise.
33479         * lib/unictype/categ_Sk.h: Likewise.
33480         * lib/unictype/categ_Sm.h: Likewise.
33481         * lib/unictype/categ_So.h: Likewise.
33482         * lib/unictype/categ_Z.h: Likewise.
33483         * lib/unictype/categ_Zl.h: Likewise.
33484         * lib/unictype/categ_Zp.h: Likewise.
33485         * lib/unictype/categ_Zs.h: Likewise.
33486         * lib/unictype/categ_of.h: Likewise.
33487         * lib/unictype/combining.h: Likewise.
33488         * lib/unictype/ctype_alnum.h: Likewise.
33489         * lib/unictype/ctype_alpha.h: Likewise.
33490         * lib/unictype/ctype_blank.h: Likewise.
33491         * lib/unictype/ctype_cntrl.h: Likewise.
33492         * lib/unictype/ctype_digit.h: Likewise.
33493         * lib/unictype/ctype_graph.h: Likewise.
33494         * lib/unictype/ctype_lower.h: Likewise.
33495         * lib/unictype/ctype_print.h: Likewise.
33496         * lib/unictype/ctype_punct.h: Likewise.
33497         * lib/unictype/ctype_space.h: Likewise.
33498         * lib/unictype/ctype_upper.h: Likewise.
33499         * lib/unictype/ctype_xdigit.h: Likewise.
33500         * lib/unictype/decdigit.h: Likewise.
33501         * lib/unictype/digit.h: Likewise.
33502         * lib/unictype/mirror.h: Likewise.
33503         * lib/unictype/numeric.h: Likewise.
33504         * lib/unictype/pr_alphabetic.h: Likewise.
33505         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
33506         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
33507         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
33508         * lib/unictype/pr_bidi_block_separator.h: Likewise.
33509         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
33510         * lib/unictype/pr_bidi_common_separator.h: Likewise.
33511         * lib/unictype/pr_bidi_control.h: Likewise.
33512         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
33513         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
33514         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
33515         * lib/unictype/pr_bidi_european_digit.h: Likewise.
33516         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
33517         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
33518         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
33519         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
33520         * lib/unictype/pr_bidi_pdf.h: Likewise.
33521         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
33522         * lib/unictype/pr_bidi_whitespace.h: Likewise.
33523         * lib/unictype/pr_combining.h: Likewise.
33524         * lib/unictype/pr_composite.h: Likewise.
33525         * lib/unictype/pr_currency_symbol.h: Likewise.
33526         * lib/unictype/pr_dash.h: Likewise.
33527         * lib/unictype/pr_decimal_digit.h: Likewise.
33528         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
33529         * lib/unictype/pr_deprecated.h: Likewise.
33530         * lib/unictype/pr_diacritic.h: Likewise.
33531         * lib/unictype/pr_extender.h: Likewise.
33532         * lib/unictype/pr_format_control.h: Likewise.
33533         * lib/unictype/pr_grapheme_base.h: Likewise.
33534         * lib/unictype/pr_grapheme_extend.h: Likewise.
33535         * lib/unictype/pr_grapheme_link.h: Likewise.
33536         * lib/unictype/pr_hex_digit.h: Likewise.
33537         * lib/unictype/pr_hyphen.h: Likewise.
33538         * lib/unictype/pr_id_continue.h: Likewise.
33539         * lib/unictype/pr_id_start.h: Likewise.
33540         * lib/unictype/pr_ideographic.h: Likewise.
33541         * lib/unictype/pr_ids_binary_operator.h: Likewise.
33542         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
33543         * lib/unictype/pr_ignorable_control.h: Likewise.
33544         * lib/unictype/pr_iso_control.h: Likewise.
33545         * lib/unictype/pr_join_control.h: Likewise.
33546         * lib/unictype/pr_left_of_pair.h: Likewise.
33547         * lib/unictype/pr_line_separator.h: Likewise.
33548         * lib/unictype/pr_logical_order_exception.h: Likewise.
33549         * lib/unictype/pr_lowercase.h: Likewise.
33550         * lib/unictype/pr_math.h: Likewise.
33551         * lib/unictype/pr_non_break.h: Likewise.
33552         * lib/unictype/pr_not_a_character.h: Likewise.
33553         * lib/unictype/pr_numeric.h: Likewise.
33554         * lib/unictype/pr_other_alphabetic.h: Likewise.
33555         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
33556         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
33557         * lib/unictype/pr_other_id_continue.h: Likewise.
33558         * lib/unictype/pr_other_id_start.h: Likewise.
33559         * lib/unictype/pr_other_lowercase.h: Likewise.
33560         * lib/unictype/pr_other_math.h: Likewise.
33561         * lib/unictype/pr_other_uppercase.h: Likewise.
33562         * lib/unictype/pr_paired_punctuation.h: Likewise.
33563         * lib/unictype/pr_paragraph_separator.h: Likewise.
33564         * lib/unictype/pr_pattern_syntax.h: Likewise.
33565         * lib/unictype/pr_pattern_white_space.h: Likewise.
33566         * lib/unictype/pr_private_use.h: Likewise.
33567         * lib/unictype/pr_punctuation.h: Likewise.
33568         * lib/unictype/pr_quotation_mark.h: Likewise.
33569         * lib/unictype/pr_radical.h: Likewise.
33570         * lib/unictype/pr_sentence_terminal.h: Likewise.
33571         * lib/unictype/pr_soft_dotted.h: Likewise.
33572         * lib/unictype/pr_space.h: Likewise.
33573         * lib/unictype/pr_terminal_punctuation.h: Likewise.
33574         * lib/unictype/pr_titlecase.h: Likewise.
33575         * lib/unictype/pr_unassigned_code_value.h: Likewise.
33576         * lib/unictype/pr_unified_ideograph.h: Likewise.
33577         * lib/unictype/pr_uppercase.h: Likewise.
33578         * lib/unictype/pr_variation_selector.h: Likewise.
33579         * lib/unictype/pr_white_space.h: Likewise.
33580         * lib/unictype/pr_xid_continue.h: Likewise.
33581         * lib/unictype/pr_xid_start.h: Likewise.
33582         * lib/unictype/pr_zero_width.h: Likewise.
33583         * lib/unictype/scripts.h: Likewise.
33584         * lib/unictype/scripts_byname.gperf: Likewise.
33585         * lib/unictype/sy_c_ident.h: Likewise.
33586         * lib/unictype/sy_c_whitespace.h: Likewise.
33587         * lib/unictype/sy_java_ident.h: Likewise.
33588         * lib/unictype/sy_java_whitespace.h: Likewise.
33589
33590         * lib/unictype/Makefile: New file.
33591         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
33592         glibc.
33593         * lib/unictype/3level.h: New file, copied from glibc.
33594         * lib/unictype/3levelbit.h: New file.
33595
33596 2007-11-11  Bruno Haible  <bruno@clisp.org>
33597
33598         * modules/gperf: New file.
33599         * modules/iconv_open (Depends-on): Add it.
33600         (Makefile.am): Remove the GPERF definition.
33601
33602 2007-11-11  Bruno Haible  <bruno@clisp.org>
33603
33604         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
33605         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
33606
33607 2007-11-11  Bruno Haible  <bruno@clisp.org>
33608
33609         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
33610         (usage): Remove function.
33611
33612 2007-11-11  Bruno Haible  <bruno@clisp.org>
33613
33614         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
33615         gl_FUNC_CEILF_LIBS.
33616         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
33617         gl_FUNC_CEIL_LIBS.
33618         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
33619         gl_FUNC_CEILL_LIBS.
33620         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
33621         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
33622         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
33623
33624 2007-11-11  Bruno Haible  <bruno@clisp.org>
33625
33626         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
33627         roundf were declared but do not exist on functions.
33628         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
33629         roundl were declared but do not exist on functions.
33630         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
33631         HAVE_FLOORL_AND_CEILL, respectively.
33632         Needed for Sun C on Solaris 10.
33633
33634 2007-11-11  Bruno Haible  <bruno@clisp.org>
33635
33636         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
33637         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
33638         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
33639         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
33640         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
33641         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
33642         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
33643         HAVE_DECL_ROUNDF.
33644         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
33645         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
33646         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
33647         of HAVE_DECL_ROUND*.
33648         * modules/math (Makefile.am): Update.
33649
33650 2007-11-10  Bruno Haible  <bruno@clisp.org>
33651
33652         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
33653         ptrdiff_t as m4/intl.m4.
33654
33655 2007-11-10  Jim Meyering  <meyering@redhat.com>
33656
33657         Avoid link failure for the argmatch test.
33658         * tests/test-argmatch.c (usage): Define function to avoid a link
33659         failure: argmatch_die requires a usage function.
33660
33661 2007-11-09  Bruno Haible  <bruno@clisp.org>
33662
33663         * doc/functions/snprintf.texi: Mention BeOS deficiency.
33664         * doc/functions/vsnprintf.texi: Likewise.
33665         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
33666         with a size argument < 2.
33667
33668 2007-11-09  Bruno Haible  <bruno@clisp.org>
33669
33670         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
33671         buffer. Fixes an inefficiency introduced on 2007-11-03.
33672
33673 2007-11-09  Bruno Haible  <bruno@clisp.org>
33674
33675         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
33676         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
33677
33678 2007-11-08  Jim Meyering  <meyering@redhat.com>
33679
33680         Change cache variable name prefix "jm_" to "gl_" everywhere.
33681         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
33682         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
33683         * m4/uptime.m4: s/gl_/jm_/
33684
33685 2007-11-07  Bruno Haible  <bruno@clisp.org>
33686
33687         Update to GNU gettext 0.17.
33688         * m4/intl.m4: Update to GNU gettext 0.17.
33689         * m4/po.m4: Likewise.
33690         * modules/gettext (Files): Remove m4/ulonglong.m4.
33691         (configure.ac): Require gettext infrastructure from version 0.17.
33692
33693 2007-11-06  Bruno Haible  <bruno@clisp.org>
33694
33695         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
33696         symbolic values are not defined in a public header.
33697         * lib/freadable.c (freadable) [QNX]: Likewise.
33698         * lib/freadahead.c (freadahead) [QNX]: Likewise.
33699         * lib/freading.c (freading) [QNX]: Likewise.
33700         * lib/fseterr.c (fseterr) [QNX]: Likewise.
33701         * lib/fwritable.c (fwritable) [QNX]: Likewise.
33702         * lib/fwriting.c (fwriting) [QNX]: Likewise.
33703         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
33704         Reported by Alain Magloire.
33705
33706         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
33707
33708 2007-11-05  Bruno Haible  <bruno@clisp.org>
33709
33710         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
33711         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
33712         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
33713         Reported by Eric Blake.
33714
33715 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33716             Bruno Haible  <bruno@clisp.org>
33717
33718         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
33719         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
33720         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
33721         (malloc): Undefine also before including <stdlib.h>.
33722         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
33723         Needed on OSF/1 4.0.
33724
33725 2007-11-05  Jim Meyering  <meyering@redhat.com>
33726
33727         git-version-gen: sync from coreutils.
33728         * build-aux/git-version-gen: Add comments.
33729         Change the first '-' to '.' in the snapshot version string,
33730         e.g., 6.9-377-08144 -> 6.9.377-08144
33731         Remove first parameter.
33732         Don't declare a version "-dirty" merely because a time
33733         stamp has changed.
33734
33735 2007-11-04  Bruno Haible  <bruno@clisp.org>
33736
33737         * lib/lock.h: Protect all macro definitions containing an 'if'
33738         statement through a "do { ... } while (0)".
33739         * lib/tls.h: Likewise.
33740
33741 2007-11-04  Bruno Haible  <bruno@clisp.org>
33742
33743         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
33744
33745 2007-11-04  Bruno Haible  <bruno@clisp.org>
33746
33747         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
33748         * modules/fprintf-posix (Depends-on): Add nocrash.
33749         * modules/snprintf-posix (Depends-on): Likewise.
33750         * modules/sprintf-posix (Depends-on): Likewise.
33751         * modules/vasnprintf-posix (Depends-on): Likewise.
33752         * modules/vasprintf-posix (Depends-on): Likewise.
33753         * modules/vfprintf-posix (Depends-on): Likewise.
33754         * modules/vsnprintf-posix (Depends-on): Likewise.
33755         * modules/vsprintf-posix (Depends-on): Likewise.
33756         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
33757         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
33758         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
33759         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
33760         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
33761         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
33762         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
33763
33764 2007-11-04  Bruno Haible  <bruno@clisp.org>
33765
33766         * modules/nocrash: New file.
33767         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
33768         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
33769
33770 2007-11-04  Bruno Haible  <bruno@clisp.org>
33771
33772         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
33773         precision handling.
33774         * tests/test-vasprintf-posix.c (test_function): Likewise.
33775         * tests/test-snprintf-posix.h (test_function): Likewise.
33776         * tests/test-sprintf-posix.h (test_function): Likewise.
33777
33778         Fix *printf behaviour for large precisions on mingw and BeOS.
33779         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
33780         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
33781         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
33782         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
33783         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
33784         gl_PRINTF_PRECISION and test its result. Invoke
33785         gl_PREREQ_VASNPRINTF_PRECISION.
33786         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
33787         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
33788         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
33789         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
33790         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
33791         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
33792         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
33793         * doc/functions/fprintf.texi: Update.
33794         * doc/functions/printf.texi: Update.
33795         * doc/functions/snprintf.texi: Update.
33796         * doc/functions/sprintf.texi: Update.
33797         * doc/functions/vfprintf.texi: Update.
33798         * doc/functions/vprintf.texi: Update.
33799         * doc/functions/vsnprintf.texi: Update.
33800         * doc/functions/vsprintf.texi: Update.
33801
33802 2007-11-04  Bruno Haible  <bruno@clisp.org>
33803
33804         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
33805
33806 2007-11-04  Bruno Haible  <bruno@clisp.org>
33807
33808         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
33809         Reported by Sylvain Beucler <beuc@gnu.org>.
33810
33811 2007-11-03  Bruno Haible  <bruno@clisp.org>
33812
33813         * tests/test-fprintf-posix2.sh: New file.
33814         * tests/test-fprintf-posix2.c: New file.
33815         * modules/fprintf-posix-tests (Files): Add them.
33816         (TESTS): Add test-fprintf-posix2.sh.
33817         (configure.ac): Check for getrlimit and setrlimit.
33818         (check_PROGRAMS): Add test-fprintf-posix2.
33819
33820         * tests/test-printf-posix2.sh: New file.
33821         * tests/test-printf-posix2.c: New file.
33822         * modules/printf-posix-tests (Files): Add them.
33823         (TESTS): Add test-printf-posix2.sh.
33824         (configure.ac): Check for getrlimit and setrlimit.
33825         (check_PROGRAMS): Add test-printf-posix2.
33826
33827         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
33828         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
33829         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
33830         (decode_double): New function, copied from decode_long_double.
33831         (scale10_round_decimal_decoded): New function, extracted from
33832         scale10_round_decimal_long_double.
33833         (scale10_round_decimal_long_double): Use it.
33834         (scale10_round_decimal_double): New function.
33835         (floorlog10): New function.
33836         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
33837         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
33838         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
33839         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
33840         gl_PRINTF_ENOMEM and test its result. Invoke
33841         gl_PREREQ_VASNPRINTF_ENOMEM.
33842         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
33843         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
33844         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
33845         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
33846         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
33847         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
33848         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
33849         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
33850         * modules/snprintf-posix (Depends-on): Likewise.
33851         * modules/sprintf-posix (Depends-on): Likewise.
33852         * modules/vasnprintf-posix (Depends-on): Likewise.
33853         * modules/vasprintf-posix (Depends-on): Likewise.
33854         * modules/vfprintf-posix (Depends-on): Likewise.
33855         * modules/vsnprintf-posix (Depends-on): Likewise.
33856         * modules/vsprintf-posix (Depends-on): Likewise.
33857         * doc/functions/fprintf.texi: Update.
33858         * doc/functions/printf.texi: Update.
33859         * doc/functions/snprintf.texi: Update.
33860         * doc/functions/sprintf.texi: Update.
33861         * doc/functions/vfprintf.texi: Update.
33862         * doc/functions/vprintf.texi: Update.
33863         * doc/functions/vsnprintf.texi: Update.
33864         * doc/functions/vsprintf.texi: Update.
33865
33866 2007-11-03  Bruno Haible  <bruno@clisp.org>
33867
33868         * modules/frexp-nolibm-tests: New file.
33869
33870         * modules/frexp-nolibm: New file.
33871         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
33872
33873 2007-11-03  Bruno Haible  <bruno@clisp.org>
33874
33875         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
33876         value is C99 compliant.
33877         Needed for OSF/1 5.1.
33878
33879 2007-11-03  Bruno Haible  <bruno@clisp.org>
33880
33881         Fix out-of-memory handling of vasnprintf.
33882         * lib/printf-parse.c: Include <errno.h>.
33883         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
33884         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
33885         is already set.
33886
33887 2007-11-02  Eric Blake  <ebb9@byu.net>
33888
33889         Fix tests on cygwin.
33890         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
33891
33892 2007-11-01  Bruno Haible  <bruno@clisp.org>
33893
33894         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
33895         warning.
33896         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
33897         needed for POSIX compatibility.
33898
33899 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
33900
33901         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
33902         for compatibility with GNU.
33903
33904 2007-11-01  Bruno Haible  <bruno@clisp.org>
33905
33906         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
33907         (putenv): Renamed from rpl_putenv. Change argument type from
33908         'const char *' to 'char *'.
33909         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
33910         of defining putenv in config.h, just set REPLACE_PUTENV.
33911         * modules/putenv (Depends-on): Add stdlib.
33912         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
33913         (Include): Use <stdlib.h>.
33914         * lib/stdlib.in.h (putenv): New declaration.
33915         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
33916         REPLACE_PUTENV.
33917         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
33918         REPLACE_PUTENV.
33919         Needed for MacOS X 10.5.0.
33920         Reported by Peter O'Gorman <peter@pogma.com>.
33921
33922 2007-11-01  Jim Meyering  <meyering@redhat.com>
33923
33924         Treat an empty date string exactly like "0".
33925         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
33926         if the remaining date string (to be parsed) is empty, use "0".
33927         Reported by Mischa Molhoek and discussed in this thread:
33928         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
33929
33930 2007-10-31  Bruno Haible  <bruno@clisp.org>
33931
33932         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
33933         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
33934         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
33935         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
33936         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
33937         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
33938
33939 2007-10-31  Bruno Haible  <bruno@clisp.org>
33940
33941         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
33942         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
33943         (AC_TYPE_LONG_LONG_INT): Use it.
33944         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
33945         it as well.
33946         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
33947         to m4/longlong.m4.
33948         * modules/stdint (Files): Remove m4/ulonglong.m4.
33949         * modules/strtoull (Files): Use m4/longlong.m4 instead of
33950         m4/ulonglong.m4.
33951         * modules/strtoumax (Files): Likewise.
33952
33953 2007-10-30  Bruno Haible  <bruno@clisp.org>
33954
33955         * modules/xvasprintf-posix: New file.
33956         Suggested by Eric Blake.
33957
33958 2007-10-30  Bruno Haible  <bruno@clisp.org>
33959
33960         * modules/xprintf-posix-tests: New file.
33961         * tests/test-xprintf-posix.sh: New file.
33962         * tests/test-xprintf-posix.c: New file.
33963         * tests/test-xfprintf-posix.c: New file.
33964
33965         * modules/xprintf-posix: New file.
33966
33967 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33968
33969         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
33970         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
33971         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
33972
33973 2007-10-29  Bruno Haible  <bruno@clisp.org>
33974
33975         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
33976         contain the special marker '_cv_'.
33977         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
33978         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
33979         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
33980         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
33981         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
33982         Reported by Ralf Wildenhues.
33983
33984 2007-10-29  Bruno Haible  <bruno@clisp.org>
33985
33986         * gnulib-tool (func_import): When --lgpl is not specified, set
33987         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
33988         GPLv3.
33989         Reported by Simon Josefsson.
33990
33991 2007-10-28  Bruno Haible  <bruno@clisp.org>
33992
33993         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
33994         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
33995         HAVE_DECL_ISFINITE.
33996         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
33997         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
33998         HAVE_DECL_ISFINITE.
33999
34000 2007-10-28  Bruno Haible  <bruno@clisp.org>
34001
34002         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
34003         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
34004
34005 2007-10-28  Bruno Haible  <bruno@clisp.org>
34006
34007         Fix link errors with Sun C 5.0 on Solaris 10.
34008         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
34009         function is declared but not present in the compiler's libm.
34010         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
34011         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
34012         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
34013         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
34014         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
34015         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
34016         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
34017         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
34018         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
34019         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
34020         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
34021         HAVE_DECL_FLOORL.
34022
34023 2007-10-28  Bruno Haible  <bruno@clisp.org>
34024
34025         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
34026         gl_FUNC_FLOORL. Cache the result.
34027         (gl_FUNC_FLOORL): Use it.
34028         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
34029         gl_FUNC_CEILL. Cache the result.
34030         (gl_FUNC_CEILL): Use it.
34031
34032         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
34033         gl_FUNC_FLOOR. Cache the result.
34034         (gl_FUNC_FLOOR): Use it.
34035         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
34036         gl_FUNC_CEIL. Cache the result.
34037         (gl_FUNC_CEIL): Use it.
34038
34039         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
34040         gl_FUNC_FLOORF. Cache the result.
34041         (gl_FUNC_FLOORF): Use it.
34042         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
34043         gl_FUNC_CEILF. Cache the result.
34044         (gl_FUNC_CEILF): Use it.
34045
34046 2007-10-28  Bruno Haible  <bruno@clisp.org>
34047
34048         * gnulib-tool: Allow specifying the LGPL version number through
34049         --lgpl=2 or --lgpl=3.
34050         (func_usage): Document --lgpl with argument.
34051         Handle --lgpl=... arguments.
34052         (func_import): Recognize also gl_LGPL calls with an argument. When
34053         --lgpl=2 is used and the module's license is just LGPL, report an
34054         error. Set sed_transform_lib_file according to the lgpl variable. In
34055         the generated files, use --lgpl or gl_LGPL invocations with argument,
34056         if necessary.
34057         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
34058         an LGPv2+ license.
34059         * doc/gnulib-tool.texi (Modified imports): Update explanation of
34060         gl_LGPL macro.
34061
34062 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34063             Bruno Haible  <bruno@clisp.org>
34064
34065         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
34066         (u16_uctomb_aux): Likewise.
34067         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
34068         !HAVE_INLINE.
34069         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
34070
34071 2007-10-28  Bruno Haible  <bruno@clisp.org>
34072
34073         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
34074         Invoke AM_GETTEXT_OPTION if it exists.
34075         * modules/vasprintf: Likewise.
34076         * modules/verror: Likewise.
34077         * modules/xprintf: Likewise.
34078         * modules/xvasprintf: Likewise.
34079
34080 2007-10-27  Ben Pfaff  <blp@gnu.org>
34081
34082         * lib/math.in.h: Define isfinite macro and prototypes for
34083         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
34084         implementations.
34085         * m4/math_h.m4: New substitutions for isfinite module.
34086         * lib/isfinite.c: New file.
34087         * m4/isfinite.m4: New file.
34088         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
34089         * modules/isfinite: New file.
34090         * modules/isfinite-tests: New file.
34091         * tests/tests-isfinite.c: New file.
34092         * doc/functions/isfinite.texi: Mention isfinite module.
34093         * MODULES.html.sh: Mention new module.
34094
34095 2007-10-27  Ben Pfaff  <blp@gnu.org>
34096
34097         Ralf Wildenhues reported that Tru64 4.0D declares the round
34098         functions but does not have definitions.
34099         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
34100         cannot be found in any library, set the output variable to
34101         "missing" instead of "".
34102         * m4/round.m4: Also use our substitute if we cannot find round in
34103         any library, even if it is declared.
34104         * m4/roundf.m4: Likewise for roundf.
34105         * m4/roundl.m4: Likewise for roundl.
34106         * lib/math.in.h: Undefine roundf, round, roundl before defining
34107         their replacements, to allow for hypothetical systems where these
34108         may be defined as macros but not available in libraries.
34109
34110 2007-10-27  Bruno Haible  <bruno@clisp.org>
34111
34112         * doc/gnulib.texi: Invoke @firstparagraphindent.
34113         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
34114         changes in gnulib.
34115         (Source changes): New section.
34116
34117 2007-10-26  Bruno Haible  <bruno@clisp.org>
34118
34119         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
34120         borrowed from autoconf.
34121
34122 2007-10-26  Bruno Haible  <bruno@clisp.org>
34123
34124         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
34125         strerror returned the empty string. Needed on HP-UX 11.00.
34126
34127 2007-10-24  Micah Cowan  <micah@cowan.name>
34128
34129         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
34130         * build-aux/bootstrap: Remove support for now-unnecessary option,
34131         --cvs-user, and envvars CVS_USER, CVS_RSH.
34132
34133 2007-10-24  Jim Meyering  <meyering@redhat.com>
34134
34135         Avoid diagnostics from sha1sum when there is no cached checksum.
34136         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
34137         if the po.s1 file hasn't been created yet.
34138
34139         * build-aux/bootstrap: Sync from coreutils:
34140         2007-10-24  Jim Meyering  <meyering@redhat.com>
34141         Get gnulib from the git repository, not from an obsolete cvs one.
34142         * build-aux/bootstrap: Suggestion from Micah Cowan.
34143         2007-10-04  Jim Meyering  <jim@meyering.net>
34144         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
34145         (update_po_files): Work also when there are no .po files in po/.
34146
34147 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
34148
34149         * README: Append ".git" to git and cg examples.
34150         Problem reported by Benoit Sigoure.
34151
34152 2007-10-23  Micah Cowan  <micah@cowan.name>
34153
34154         * users.txt: Add wget.
34155
34156 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34157
34158         Fix linking of some unistdio tests on FreeBSD.
34159         * modules/unistdio/u16-vsnprintf-tests
34160         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
34161         * modules/unistdio/u16-vsprintf-tests
34162         (test_u16_vsnprintf1_LDADD): Likewise.
34163         * modules/unistdio/u32-vsnprintf-tests
34164         (test_u32_vsnprintf1_LDADD): Likewise.
34165         * modules/unistdio/u32-vsprintf-tests
34166         (test_u32_vsprintf1_LDADD): Likewise.
34167         * modules/unistdio/u8-vsnprintf-tests
34168         (test_u8_vsnprintf1_LDADD): Likewise.
34169         * modules/unistdio/u8-vsprintf-tests
34170         (test_u8_vsprintf1_LDADD): Likewise.
34171         * modules/unistdio/ulc-vsnprintf-tests
34172         (test_ulc_vsnprintf1_LDADD): Likewise.
34173         * modules/unistdio/ulc-vsprintf-tests
34174         (test_ulc_vsprintf1_LDADD): Likewise.
34175
34176         Fix linking of some uniconv tests on FreeBSD.
34177         * modules/uniconv/u16-conv-from-enc-tests
34178         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
34179         * modules/uniconv/u16-conv-to-enc-tests
34180         (test_u16_conv_to_enc_LDADD): Likewise.
34181         * modules/uniconv/u16-strconv-from-enc-tests
34182         (test_u16_strconv_from_enc_LDADD): Likewise.
34183         * modules/uniconv/u16-strconv-to-enc-tests
34184         (test_u16_strconv_to_enc_LDADD): Likewise.
34185         * modules/uniconv/u32-conv-from-enc-tests
34186         (test_u32_conv_from_enc_LDADD): Likewise.
34187         * modules/uniconv/u32-conv-to-enc-tests
34188         (test_u32_conv_to_enc_LDADD): Likewise.
34189         * modules/uniconv/u32-strconv-from-enc-tests
34190         (test_u32_strconv_from_enc_LDADD): Likewise.
34191         * modules/uniconv/u32-strconv-to-enc-tests
34192         (test_u32_strconv_to_enc_LDADD): Likewise.
34193         * modules/uniconv/u8-conv-from-enc-tests
34194         (test_u8_conv_from_enc_LDADD): Likewise.
34195         * modules/uniconv/u8-conv-to-enc-tests
34196         (test_u8_conv_to_enc_LDADD): Likewise.
34197         * modules/uniconv/u8-strconv-from-enc-tests
34198         (test_u8_strconv_from_enc_LDADD): Likewise.
34199         * modules/uniconv/u8-strconv-to-enc-tests
34200         (test_u8_strconv_to_enc_LDADD): Likewise.
34201
34202 2007-10-22  Bruno Haible  <bruno@clisp.org>
34203
34204         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
34205         size.
34206
34207 2007-10-22  Eric Blake  <ebb9@byu.net>
34208
34209         Tweak x*printf documentation.
34210         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
34211         variable name and comments.
34212         Suggested by Bruno Haible.
34213
34214 2007-10-22  Bruno Haible  <bruno@clisp.org>
34215
34216         * lib/acl.c (copy_acl): Fix file name in comment.
34217
34218 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
34219
34220         Fix Tru64 problem with stdbool.h.
34221         * lib/stdbool.in.h (false, true):
34222         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
34223         Don't declare as an enum in this situation; it runs afoul of Tru64.
34224         Problem reported by Steven M. Schweda in
34225         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
34226
34227 2007-10-22  Eric Blake  <ebb9@byu.net>
34228
34229         Also wrap vf?printf.
34230         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
34231         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
34232         (xvprintf, xvfprintf): New functions.
34233
34234 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34235
34236         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
34237         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
34238
34239         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
34240         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
34241
34242 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
34243
34244         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
34245         by Bruno Haible.
34246
34247 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34248
34249         * lib/getloadavg.c
34250         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
34251         Undef `sys' after including sys/table.h, for Tru64 4.0D.
34252
34253         * tests/test-i-ring.c: Work for C89.
34254
34255 2007-10-22  Bruno Haible  <bruno@clisp.org>
34256
34257         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
34258         -1u, in preprocessor expression, so that we don't test for the bug
34259         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
34260         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
34261
34262 2007-10-22  Eric Blake  <ebb9@byu.net>
34263
34264         * tests/test-yesno.sh: Silence stderr during test.
34265
34266 2007-10-22  Simon Josefsson  <simon@josefsson.org>
34267
34268         * modules/crypto/gc-camellia: New file.
34269
34270         * m4/gc-camellia.m4: New file.
34271
34272         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
34273
34274         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
34275
34276 2007-10-22  Simon Josefsson  <simon@josefsson.org>
34277
34278         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
34279         --help to stdout.  Reported by sms@antinode.org (Steven
34280         M. Schweda).
34281
34282 2007-10-22  Simon Josefsson  <simon@josefsson.org>
34283
34284         * users.txt: Fix link to libksba.
34285
34286 2007-10-21  Ben Pfaff  <blp@gnu.org>
34287
34288         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
34289         round.c roundf implementation that depends on floorf and ceilf to
34290         be tested unconditionally.
34291
34292 2007-10-21  Ben Pfaff  <blp@gnu.org>
34293
34294         * m4/check-libm-func.m4: Removed.
34295         * m4/check-math-lib.m4: New file.
34296         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
34297         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
34298         definition and lack of AC_LIBOBJ([roundf]).
34299         * m4/roundl.m4: Ditto, and similarly for roundl.
34300         * modules/round: Reference new m4 file.
34301         * modules/roundf: Ditto.
34302         * modules/roundl: Ditto.
34303         * tests/test-round2.c (main): Use ROUND instead of round.
34304         Bug report from Bruno Haible.
34305
34306 2007-10-21  Bruno Haible  <bruno@clisp.org>
34307
34308         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
34309         context.
34310
34311 2007-10-21  Bruno Haible  <bruno@clisp.org>
34312
34313         * tests/test-wcwidth.c (main): Allow negative result for some control
34314         characters.
34315
34316         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
34317         Needed on OSF/1 5.1.
34318
34319 2007-10-21  Bruno Haible  <bruno@clisp.org>
34320
34321         * tests/test-floorf1.c: Include isnanf.h.
34322         (main): Use isnanf() instead of isnan().
34323         * tests/test-ceilf1.c: Include isnanf.h.
34324         (main): Use isnanf() instead of isnan().
34325         * tests/test-truncf1.c: Include isnanf.h.
34326         (main): Use isnanf() instead of isnan().
34327         * tests/test-roundf1.c: Include isnanf.h.
34328         (main): Use isnanf() instead of isnan().
34329
34330 2007-10-21  Eric Blake  <ebb9@byu.net>
34331
34332         * users.txt: Update URL for m4.
34333
34334 2007-10-21  Bruno Haible  <bruno@clisp.org>
34335
34336         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
34337
34338 2007-10-21  Bruno Haible  <bruno@clisp.org>
34339
34340         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
34341         Git's management files if the CVS files are not present.
34342
34343 2007-10-20  Bruno Haible  <bruno@clisp.org>
34344
34345         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
34346         gcc-3.4.x.
34347
34348 2007-10-20  Ben Pfaff  <blp@gnu.org>
34349
34350         * lib/math.in.h: Declare round, roundf, roundl if we are providing
34351         implementations.
34352         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
34353         * lib/round.c: New file.
34354         * lib/roundf.c: New file.
34355         * lib/roundl.c: New file.
34356         * m4/round.m4: New file.
34357         * m4/roundf.m4: New file.
34358         * m4/roundl.m4: New file.
34359         * m4/check-libm-func-m4: New file.
34360         * modules/math: Replace round, roundf, roundl related @VARS@ in
34361         math.in.h.
34362         * modules/round: New file.
34363         * modules/round-tests: New file.
34364         * modules/roundf: New file.
34365         * modules/roundf-tests: New file.
34366         * modules/roundl: New file.
34367         * modules/roundl-tests: New file.
34368         * tests/test-round1.c: New file.
34369         * tests/test-round2.c: New file.
34370         * tests/test-roundf1.c: New file.
34371         * tests/test-roundf2.c: New file.
34372         * tests/test-roundl.c: New file.
34373         * doc/functions/round.texi: Mention round module.
34374         * doc/functions/roundf.texi: Mention roundf module.
34375         * doc/functions/roundl.texi: Mention roundl module.
34376         * MODULES.html.sh: Mention new modules.
34377         Thanks to Bruno Haible for suggestions.
34378
34379 2007-10-20  Jim Meyering  <meyering@redhat.com>
34380
34381         * lib/xprintf.c: Include <config.h> unconditionally.
34382
34383         Change xprintf's license to GPL.
34384         * modules/xprintf (License): s/LGPL/GPL/, since this module
34385         depends on modules (exit and exitfail) which are GPL.
34386         Suggestion from Bruno Haible.
34387
34388         xprintf fixes.
34389         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
34390         Use a clearer diagnostic.
34391         Patch from Bruno Haible.
34392
34393 2007-10-20  Bruno Haible  <bruno@clisp.org>
34394
34395         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
34396         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
34397         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34398
34399 2007-10-20  Bruno Haible  <bruno@clisp.org>
34400
34401         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
34402         precision in the comparison result > x - 1 or similar.
34403         * tests/test-ceilf2.c (correct_result_p): Likewise.
34404         * tests/test-truncf2.c (correct_result_p): Likewise.
34405         * tests/test-trunc2.c (correct_result_p): Likewise.
34406         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34407
34408 2007-10-20  Bruno Haible  <bruno@clisp.org>
34409
34410         * modules/ceil: New file.
34411         * m4/ceil.m4: New file.
34412         * doc/functions/ceil.texi: Mention the 'ceil' module.
34413
34414 2007-10-20  Bruno Haible  <bruno@clisp.org>
34415
34416         * modules/floor: New file.
34417         * m4/floor.m4: New file.
34418         * doc/functions/floor.texi: Mention the 'floor' module.
34419
34420 2007-10-20  Bruno Haible  <bruno@clisp.org>
34421
34422         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
34423         of %a.
34424         * modules/floorf-tests (Depends-on): Likewise.
34425         * modules/truncf-tests (Depends-on): Likewise.
34426         * modules/trunc-tests (Depends-on): Likewise.
34427         Reported by Ben Pfaff.
34428
34429 2007-10-19  Jim Meyering  <meyering@redhat.com>
34430
34431         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
34432         Don't bother testing specific errno values.  Just test ferror.
34433
34434         New module: xprintf
34435         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
34436
34437 2007-10-19  Bruno Haible  <bruno@clisp.org>
34438
34439         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
34440         syntax.
34441         * modules/javaexec (Makefile.am): Likewise.
34442         * modules/relocatable-prog (Makefile.am): Likewise.
34443         Suggested by Jim Meyering.
34444
34445 2007-10-18  Bruno Haible  <bruno@clisp.org>
34446
34447         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
34448         Reported by Jim Meyering.
34449
34450 2007-10-18  Eric Blake  <ebb9@byu.net>
34451
34452         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
34453
34454 2007-10-18  Bruno Haible  <bruno@clisp.org>
34455
34456         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
34457         the format string into writable memory. Needed in Fortify conditions.
34458
34459 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
34460             Bruno Haible  <bruno@clisp.org>
34461
34462         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
34463         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
34464         * modules/trim (Depends-on): Add mbchar.
34465         (configure.ac): Add gl_FUNC_MBRTOWC.
34466         (Makefile.am): Augment lib_SOURCES.
34467
34468 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
34469
34470         Modify glob.c to use fstatat and dirfd, to simplify it.
34471         Suggested by Eric Blake.
34472         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
34473         Don't include <stdbool.h>; not used.
34474         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
34475         (link_exists_p): Simplify implementation, since we can now assume
34476         dirfd and fstatat.
34477         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
34478
34479 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34480
34481         * gnulib-tool (func_get_dependencies): Fix sed script to
34482         match only tests.
34483
34484 2007-10-17  Bruno Haible  <bruno@clisp.org>
34485
34486         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
34487         allow locale names without encoding suffix.
34488         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
34489         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
34490
34491 2007-10-16  Bruno Haible  <bruno@clisp.org>
34492
34493         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
34494         * lib/getgroups.c (getgroups): Likewise.
34495         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
34496
34497 2007-10-16  Bruno Haible  <bruno@clisp.org>
34498
34499         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
34500         * modules/malloc-posix (License): Likewise.
34501         * modules/realloc-posix (License): Likewise.
34502         * modules/calloc-posix (License): Likewise.
34503         * modules/intprops (License): Change from GPL to LGPL, with
34504         Paul Eggert's approval.
34505
34506 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
34507
34508         Merge glibc changes into lib/glob.c.
34509
34510         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
34511         2007-10-15 04:59:03 UTC.  Here are the changes:
34512
34513         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
34514
34515         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
34516
34517         * lib/glob.c: Add some branch prediction throughout.
34518
34519         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
34520
34521         [BZ #5103]
34522         * lib/glob.c (glob): Recognize patterns starting \/.
34523
34524         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
34525
34526         [BZ #3996]
34527         * lib/glob.c (attribute_hidden): Define if not defined.
34528         (glob): Unescape dirname, filename or username when needed and not
34529         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
34530         is NULL.  Handle unescaped [ in pattern without closing ].
34531         Don't pass GLOB_CHECK down to recursive glob for directories.
34532         (__glob_pattern_type): New function.
34533         (__glob_pattern_p): Implement using __glob_pattern_type.
34534         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
34535         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
34536         Remove unreachable code.
34537
34538         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
34539
34540         * lib/glob.c (glob_in_dir): Add some comments and asserts to
34541         explain why there are no leaks.
34542
34543         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
34544
34545         [BZ #3253]
34546         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
34547         time, rather allocate increasingly bigger arrays of pointers, if
34548         possible with alloca, if too large with malloc.
34549
34550 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
34551
34552         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
34553         Problem reported by H.Merijn Brand in
34554         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
34555         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
34556         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
34557
34558 2007-10-15  Bruno Haible  <bruno@clisp.org>
34559
34560         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
34561         with explicit rpl_ prefix.
34562         * lib/fopen.c (fopen): Likewise.
34563         * lib/freopen.c (freopen): Likewise.
34564         * lib/iconv.c (iconv): Likewise.
34565         * lib/iconv_close.c (iconv_close): Likewise.
34566
34567 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34568
34569         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
34570
34571 2007-10-15  Bruno Haible  <bruno@clisp.org>
34572
34573         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
34574         <stddef.h> instead of <stdlib.h> since we only need NULL.
34575         Reported by Ben Pfaff <blp@cs.stanford.edu>.
34576
34577 2007-10-15  Bruno Haible  <bruno@clisp.org>
34578
34579         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
34580         Replace paragraph talking about LIBOBJS.
34581         Reported by Colin Watson <cjwatson@debian.org>.
34582
34583 2007-10-15  Bruno Haible  <bruno@clisp.org>
34584
34585         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
34586         <stdlib.h> before using NULL.
34587
34588 2007-10-15  Simon Josefsson  <simon@josefsson.org>
34589
34590         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
34591         Reported by Albert Chin <china@thewrittenword.com>.
34592
34593 2007-10-14  Bruno Haible  <bruno@clisp.org>
34594
34595         * modules/iconv_open-utf-tests: New file.
34596         * tests/test-iconv-utf.c: New file.
34597
34598         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
34599         * modules/iconv_open-utf: New file.
34600         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
34601         (iconv, iconv_close): New declarations.
34602         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
34603         be defined.
34604         (iconv_open): Add special handling of conversion between UTF-8 and
34605         UTF-{16,32}{BE,LE}.
34606         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
34607         * lib/iconv_close.c: New file.
34608         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
34609         gl_FUNC_ICONV_OPEN.
34610         (gl_FUNC_ICONV_OPEN): Use it.
34611         (gl_FUNC_ICONV_OPEN_UTF): New macro.
34612         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
34613         and REPLACE_ICONV_UTF.
34614         * modules/iconv_open (Depends-on): Add c-strcase.
34615         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
34616         ICONV_CONST.
34617         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
34618
34619 2007-10-13  Albert Chin  <china@thewrittenword.com>
34620             Bruno Haible  <bruno@clisp.org>
34621
34622         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
34623         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
34624
34625 2007-10-13  Bruno Haible  <bruno@clisp.org>
34626
34627         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
34628         defined, use the ISO C99 inline semantics.
34629         * lib/argp.h (ARGP_EI): Likewise.
34630
34631 2007-10-13  Bruno Haible  <bruno@clisp.org>
34632
34633         Handle 'inline' change in gcc 4.3.0.
34634         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
34635         argp_fmtstream_write, argp_fmtstream_set_lmargin,
34636         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
34637         argp_fmtstream_point): Disable 'extern' declaration if the function
34638         definition is going to be provided inline.
34639         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
34640         semantics, not the ISO C99 inline semantics.
34641         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
34642         'extern' declaration if the function definition is going to be provided
34643         inline.
34644         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
34645         the GNU C inline semantics, not the ISO C99 inline semantics. With
34646         GCC 4.2, avoid a warning.
34647
34648 2007-10-13  Bruno Haible  <bruno@clisp.org>
34649
34650         * lib/freading.h (freading): Enable the use of __freading for
34651         glibc >= 2.7.
34652         * lib/freading.c (freading): Likewise.
34653
34654 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
34655
34656         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
34657         "warning: C99 inline functions are not supported; using GNU89".
34658
34659 2007-10-12  Bruno Haible  <bruno@clisp.org>
34660
34661         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
34662         of 2.
34663         * tests/test-ceilf2.c: New file.
34664         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
34665
34666         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
34667         * modules/ceilf-tests: Update.
34668
34669 2007-10-12  Bruno Haible  <bruno@clisp.org>
34670
34671         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
34672         of 2.
34673         * tests/test-floorf2.c: New file.
34674         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
34675
34676         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
34677         * modules/floorf-tests: Update.
34678
34679 2007-10-12  Bruno Haible  <bruno@clisp.org>
34680
34681         * tests/test-trunc2.c: New file.
34682         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
34683
34684         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
34685         * modules/trunc-tests: Update.
34686
34687 2007-10-12  Bruno Haible  <bruno@clisp.org>
34688
34689         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
34690         of 2.
34691         * tests/test-truncf2.c: New file.
34692         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
34693
34694         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
34695         * modules/truncf-tests: Update.
34696
34697 2007-10-11  Eric Blake  <ebb9@byu.net>
34698
34699         Don't claim strerror is broken on Interix.
34700         * doc/functions/strerror.texi (strerror): Known broken systems are
34701         now Solaris 8, and not Interix.
34702         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
34703         Interix on cross-compile.
34704         Reported by Martin Koeppe in
34705         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
34706
34707 2007-10-11  Bruno Haible  <bruno@clisp.org>
34708
34709         * modules/i-ring-tests: New file.
34710         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
34711         instead of assert.
34712
34713 2007-10-11  Bruno Haible  <bruno@clisp.org>
34714
34715         * modules/filenamecat-tests: New file.
34716         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
34717         * lib/filenamecat.c: Remove test code.
34718
34719 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
34720
34721         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
34722
34723         * lib/strerror.c: Include <string.h> always, to test interface,
34724         and to remove the need for the dummy.
34725         Include intprops.h to compute width instead of doing it ourselves
34726         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
34727         (strerror): Define it to return NULL if there's no system strerror.
34728         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
34729         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
34730         ancient pre-strerror Unix systems well any more.  Saying "unknown
34731         system error" is enough.
34732         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
34733         simpler strerror.c implementation.
34734         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
34735         Simplify the tests to reflect the simpler strerror implementation.
34736         * modules/strerror (Depends-on): Add intprops.
34737
34738 2007-10-09  Eric Blake  <ebb9@byu.net>
34739
34740         Silence test-fpending.
34741         * modules/fpending-tests (Files): Add wrapper script.
34742         * tests/test-fpending.sh: New file.
34743
34744 2007-10-09  Bruno Haible  <bruno@clisp.org>
34745
34746         * MODULES.html.sh (func_module): Don't create a hyperlink for
34747         function names like 'printf_frexp'.
34748         (Misc): Add crc, memxor.
34749         (Characteristics of floating types): New section.
34750         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
34751         isnanf-nolibm, signbit, trunc, truncf, truncl.
34752         (Enhancements for ISO C 99 functions): New subsection Input/output.
34753         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
34754         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
34755         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
34756         (Compatibility checks for POSIX:2001 functions): Add clock-time.
34757         (Enhancements for POSIX:2001 functions): Add chdir-long.
34758         (File system functions): Add areadlink, chdir-safer, read-file.
34759         Remove cycle-check.
34760         (File system as inode set): New section.
34761         (Date and time): Add gethrxtime.
34762         (Multithreading): Add openmp.
34763         (Internationalization functions): Add localename.
34764         (Unicode string functions): Add unistr/u*-mbsnlen.
34765         (Support for maintaining and releasing projects): Add git-version-gen.
34766         (Lone files): Remove directories.
34767
34768 2007-10-08  Ben Pfaff  <blp@gnu.org>
34769
34770         * lib/xmalloca.h: Fix typo in comment.
34771
34772 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
34773
34774         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
34775         when avoiding problems with integer overflow.  Use a portable test
34776         instead.
34777
34778 2007-10-08  Simon Josefsson  <simon@josefsson.org>
34779
34780         * modules/dummy (License): Change to LGPLv2+.
34781         * modules/float (License): Likewise
34782         * modules/realloc (License): Likewise
34783         * modules/stdlib (License): Likewise
34784
34785 2007-10-07  Bruno Haible  <bruno@clisp.org>
34786
34787         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
34788         * floor.c (TWO_MANT_DIG): Likewise.
34789         * ceil.c (TWO_MANT_DIG): Likewise.
34790         Reported by Ben Pfaff.
34791
34792 2007-10-07  Bruno Haible  <bruno@clisp.org>
34793
34794         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
34795         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
34796         * lib/frexp.c (FUNC): Likewise.
34797         * lib/printf-frexp.h (printf_frexp): Likewise.
34798         * lib/printf-frexpl.h (printf_frexpl): Likewise.
34799         * lib/printf-frexp.c (FUNC): Likewise.
34800         Suggested by Jim Meyering.
34801
34802 2007-10-07  Jim Meyering  <meyering@redhat.com>
34803
34804         Make xnanosleep's integer overflow test more robust.
34805         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
34806         so that gcc-4.3.0 doesn't optimize away this test for overflow.
34807
34808 2007-10-07  Bruno Haible  <bruno@clisp.org>
34809
34810         * NEWS: Mention the license change.
34811
34812         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
34813         abbreviations in the modules files.
34814
34815         Change copyright notice from GPLv2+ to GPLv3+.
34816         * README: Change copyright notice.
34817         * MODULES.html.sh: Likewise.
34818         * build-aux/bootstrap.conf: Likewise.
34819         * build-aux/config.libpath: Likewise.
34820         * build-aux/csharpcomp.sh.in: Likewise.
34821         * build-aux/csharpexec.sh.in: Likewise.
34822         * build-aux/install-reloc: Likewise.
34823         * build-aux/javacomp.sh.in: Likewise.
34824         * build-aux/javaexec.sh.in: Likewise.
34825         * build-aux/ldd.sh.in: Likewise.
34826         * build-aux/reloc-ldflags: Likewise.
34827         * build-aux/relocatable.sh.in: Likewise.
34828         * build-aux/x-to-1.in: Likewise.
34829         * check-module: Likewise.
34830         * config/srclistvars.sh: Likewise.
34831         * gnulib-tool: Likewise.
34832         * lib/acl-internal.h: Likewise.
34833         * lib/acl.c: Likewise.
34834         * lib/acl.h: Likewise.
34835         * lib/acl_entries.c: Likewise.
34836         * lib/areadlink-with-size.c: Likewise.
34837         * lib/areadlink.c: Likewise.
34838         * lib/areadlink.h: Likewise.
34839         * lib/argmatch.c: Likewise.
34840         * lib/argmatch.h: Likewise.
34841         * lib/argp-ba.c: Likewise.
34842         * lib/argp-eexst.c: Likewise.
34843         * lib/argp-fmtstream.c: Likewise.
34844         * lib/argp-fmtstream.h: Likewise.
34845         * lib/argp-fs-xinl.c: Likewise.
34846         * lib/argp-help.c: Likewise.
34847         * lib/argp-namefrob.h: Likewise.
34848         * lib/argp-parse.c: Likewise.
34849         * lib/argp-pin.c: Likewise.
34850         * lib/argp-pv.c: Likewise.
34851         * lib/argp-pvh.c: Likewise.
34852         * lib/argp-xinl.c: Likewise.
34853         * lib/argp.h: Likewise.
34854         * lib/at-func.c: Likewise.
34855         * lib/atanl.c: Likewise.
34856         * lib/backupfile.c: Likewise.
34857         * lib/backupfile.h: Likewise.
34858         * lib/basename.c: Likewise.
34859         * lib/binary-io.h: Likewise.
34860         * lib/byteswap.in.h: Likewise.
34861         * lib/c-stack.c: Likewise.
34862         * lib/c-stack.h: Likewise.
34863         * lib/c-strcasestr.c: Likewise.
34864         * lib/c-strcasestr.h: Likewise.
34865         * lib/c-strstr.c: Likewise.
34866         * lib/c-strstr.h: Likewise.
34867         * lib/c-strtod.c: Likewise.
34868         * lib/calloc.c: Likewise.
34869         * lib/canon-host.c: Likewise.
34870         * lib/canon-host.h: Likewise.
34871         * lib/canonicalize-lgpl.c: Likewise.
34872         * lib/canonicalize.c: Likewise.
34873         * lib/canonicalize.h: Likewise.
34874         * lib/ceil.c: Likewise.
34875         * lib/ceilf.c: Likewise.
34876         * lib/ceill.c: Likewise.
34877         * lib/chdir-long.c: Likewise.
34878         * lib/chdir-long.h: Likewise.
34879         * lib/chdir-safer.c: Likewise.
34880         * lib/chdir-safer.h: Likewise.
34881         * lib/chown.c: Likewise.
34882         * lib/classpath.c: Likewise.
34883         * lib/classpath.h: Likewise.
34884         * lib/clean-temp.c: Likewise.
34885         * lib/clean-temp.h: Likewise.
34886         * lib/cloexec.c: Likewise.
34887         * lib/close-stream.c: Likewise.
34888         * lib/closein.c: Likewise.
34889         * lib/closein.h: Likewise.
34890         * lib/closeout.c: Likewise.
34891         * lib/closeout.h: Likewise.
34892         * lib/concat-filename.c: Likewise.
34893         * lib/copy-file.c: Likewise.
34894         * lib/copy-file.h: Likewise.
34895         * lib/count-one-bits.h: Likewise.
34896         * lib/crc.c: Likewise.
34897         * lib/crc.h: Likewise.
34898         * lib/creat-safer.c: Likewise.
34899         * lib/csharpcomp.c: Likewise.
34900         * lib/csharpcomp.h: Likewise.
34901         * lib/csharpexec.c: Likewise.
34902         * lib/csharpexec.h: Likewise.
34903         * lib/cycle-check.c: Likewise.
34904         * lib/cycle-check.h: Likewise.
34905         * lib/diacrit.c: Likewise.
34906         * lib/diacrit.h: Likewise.
34907         * lib/diffseq.h: Likewise.
34908         * lib/dirchownmod.c: Likewise.
34909         * lib/dirent.in.h: Likewise.
34910         * lib/dirfd.c: Likewise.
34911         * lib/dirfd.h: Likewise.
34912         * lib/dirname.c: Likewise.
34913         * lib/dirname.h: Likewise.
34914         * lib/dummy.c: Likewise.
34915         * lib/dup-safer.c: Likewise.
34916         * lib/dup2.c: Likewise.
34917         * lib/eealloc.h: Likewise.
34918         * lib/error.c: Likewise.
34919         * lib/error.h: Likewise.
34920         * lib/euidaccess.c: Likewise.
34921         * lib/exclude.c: Likewise.
34922         * lib/exclude.h: Likewise.
34923         * lib/execute.c: Likewise.
34924         * lib/execute.h: Likewise.
34925         * lib/exitfail.c: Likewise.
34926         * lib/exitfail.h: Likewise.
34927         * lib/expl.c: Likewise.
34928         * lib/fatal-signal.c: Likewise.
34929         * lib/fatal-signal.h: Likewise.
34930         * lib/fbufmode.c: Likewise.
34931         * lib/fbufmode.h: Likewise.
34932         * lib/fchdir.c: Likewise.
34933         * lib/fchmodat.c: Likewise.
34934         * lib/fchownat.c: Likewise.
34935         * lib/fcntl--.h: Likewise.
34936         * lib/fcntl-safer.h: Likewise.
34937         * lib/fcntl.in.h: Likewise.
34938         * lib/fd-safer.c: Likewise.
34939         * lib/fflush.c: Likewise.
34940         * lib/file-has-acl.c: Likewise.
34941         * lib/file-set.c: Likewise.
34942         * lib/file-type.c: Likewise.
34943         * lib/file-type.h: Likewise.
34944         * lib/fileblocks.c: Likewise.
34945         * lib/filemode.c: Likewise.
34946         * lib/filemode.h: Likewise.
34947         * lib/filename.h: Likewise.
34948         * lib/filenamecat.c: Likewise.
34949         * lib/filenamecat.h: Likewise.
34950         * lib/findprog.c: Likewise.
34951         * lib/findprog.h: Likewise.
34952         * lib/float.in.h: Likewise.
34953         * lib/floor.c: Likewise.
34954         * lib/floorf.c: Likewise.
34955         * lib/floorl.c: Likewise.
34956         * lib/fopen-safer.c: Likewise.
34957         * lib/fopen.c: Likewise.
34958         * lib/fpending.c: Likewise.
34959         * lib/fpending.h: Likewise.
34960         * lib/fprintf.c: Likewise.
34961         * lib/fprintftime.h: Likewise.
34962         * lib/fpucw.h: Likewise.
34963         * lib/fpurge.c: Likewise.
34964         * lib/fpurge.h: Likewise.
34965         * lib/freadable.c: Likewise.
34966         * lib/freadable.h: Likewise.
34967         * lib/freadahead.c: Likewise.
34968         * lib/freadahead.h: Likewise.
34969         * lib/freading.c: Likewise.
34970         * lib/freading.h: Likewise.
34971         * lib/free.c: Likewise.
34972         * lib/freopen.c: Likewise.
34973         * lib/frexp.c: Likewise.
34974         * lib/frexpl.c: Likewise.
34975         * lib/fseek.c: Likewise.
34976         * lib/fseterr.c: Likewise.
34977         * lib/fseterr.h: Likewise.
34978         * lib/fstatat.c: Likewise.
34979         * lib/fstrcmp.c: Likewise.
34980         * lib/fstrcmp.h: Likewise.
34981         * lib/fsusage.c: Likewise.
34982         * lib/fsusage.h: Likewise.
34983         * lib/ftell.c: Likewise.
34984         * lib/ftello.c: Likewise.
34985         * lib/fts-cycle.c: Likewise.
34986         * lib/fts.c: Likewise.
34987         * lib/fts_.h: Likewise.
34988         * lib/full-read.c: Likewise.
34989         * lib/full-read.h: Likewise.
34990         * lib/full-write.c: Likewise.
34991         * lib/full-write.h: Likewise.
34992         * lib/fwritable.c: Likewise.
34993         * lib/fwritable.h: Likewise.
34994         * lib/fwriteerror.c: Likewise.
34995         * lib/fwriteerror.h: Likewise.
34996         * lib/fwriting.c: Likewise.
34997         * lib/fwriting.h: Likewise.
34998         * lib/gcd.c: Likewise.
34999         * lib/gcd.h: Likewise.
35000         * lib/getcwd.c: Likewise.
35001         * lib/getdate.h: Likewise.
35002         * lib/getdate.y: Likewise.
35003         * lib/getdomainname.c: Likewise.
35004         * lib/getdomainname.h: Likewise.
35005         * lib/getgroups.c: Likewise.
35006         * lib/gethostname.c: Likewise.
35007         * lib/gethrxtime.c: Likewise.
35008         * lib/gethrxtime.h: Likewise.
35009         * lib/getloadavg.c: Likewise.
35010         * lib/getndelim2.c: Likewise.
35011         * lib/getndelim2.h: Likewise.
35012         * lib/getnline.c: Likewise.
35013         * lib/getnline.h: Likewise.
35014         * lib/getopt.c: Likewise.
35015         * lib/getopt.in.h: Likewise.
35016         * lib/getopt1.c: Likewise.
35017         * lib/getopt_int.h: Likewise.
35018         * lib/getpagesize.h: Likewise.
35019         * lib/getsubopt.c: Likewise.
35020         * lib/gettime.c: Likewise.
35021         * lib/getugroups.c: Likewise.
35022         * lib/getugroups.h: Likewise.
35023         * lib/getusershell.c: Likewise.
35024         * lib/gl_anyavltree_list1.h: Likewise.
35025         * lib/gl_anyavltree_list2.h: Likewise.
35026         * lib/gl_anyhash_list1.h: Likewise.
35027         * lib/gl_anyhash_list2.h: Likewise.
35028         * lib/gl_anylinked_list1.h: Likewise.
35029         * lib/gl_anylinked_list2.h: Likewise.
35030         * lib/gl_anyrbtree_list1.h: Likewise.
35031         * lib/gl_anyrbtree_list2.h: Likewise.
35032         * lib/gl_anytree_list1.h: Likewise.
35033         * lib/gl_anytree_list2.h: Likewise.
35034         * lib/gl_anytree_oset.h: Likewise.
35035         * lib/gl_anytreehash_list1.h: Likewise.
35036         * lib/gl_anytreehash_list2.h: Likewise.
35037         * lib/gl_array_list.c: Likewise.
35038         * lib/gl_array_list.h: Likewise.
35039         * lib/gl_array_oset.c: Likewise.
35040         * lib/gl_array_oset.h: Likewise.
35041         * lib/gl_avltree_list.c: Likewise.
35042         * lib/gl_avltree_list.h: Likewise.
35043         * lib/gl_avltree_oset.c: Likewise.
35044         * lib/gl_avltree_oset.h: Likewise.
35045         * lib/gl_avltreehash_list.c: Likewise.
35046         * lib/gl_avltreehash_list.h: Likewise.
35047         * lib/gl_carray_list.c: Likewise.
35048         * lib/gl_carray_list.h: Likewise.
35049         * lib/gl_linked_list.c: Likewise.
35050         * lib/gl_linked_list.h: Likewise.
35051         * lib/gl_linkedhash_list.c: Likewise.
35052         * lib/gl_linkedhash_list.h: Likewise.
35053         * lib/gl_list.c: Likewise.
35054         * lib/gl_list.h: Likewise.
35055         * lib/gl_oset.c: Likewise.
35056         * lib/gl_oset.h: Likewise.
35057         * lib/gl_rbtree_list.c: Likewise.
35058         * lib/gl_rbtree_list.h: Likewise.
35059         * lib/gl_rbtree_oset.c: Likewise.
35060         * lib/gl_rbtree_oset.h: Likewise.
35061         * lib/gl_rbtreehash_list.c: Likewise.
35062         * lib/gl_rbtreehash_list.h: Likewise.
35063         * lib/gl_sublist.c: Likewise.
35064         * lib/gl_sublist.h: Likewise.
35065         * lib/group-member.c: Likewise.
35066         * lib/group-member.h: Likewise.
35067         * lib/hard-locale.c: Likewise.
35068         * lib/hard-locale.h: Likewise.
35069         * lib/hash-pjw.c: Likewise.
35070         * lib/hash-pjw.h: Likewise.
35071         * lib/hash-triple.c: Likewise.
35072         * lib/hash.c: Likewise.
35073         * lib/hash.h: Likewise.
35074         * lib/human.c: Likewise.
35075         * lib/human.h: Likewise.
35076         * lib/i-ring.c: Likewise.
35077         * lib/i-ring.h: Likewise.
35078         * lib/idcache.c: Likewise.
35079         * lib/imaxabs.c: Likewise.
35080         * lib/imaxdiv.c: Likewise.
35081         * lib/inet_pton.c: Likewise.
35082         * lib/inet_pton.h: Likewise.
35083         * lib/intprops.h: Likewise.
35084         * lib/inttostr.c: Likewise.
35085         * lib/inttostr.h: Likewise.
35086         * lib/inttypes.in.h: Likewise.
35087         * lib/isapipe.c: Likewise.
35088         * lib/isdir.c: Likewise.
35089         * lib/isnan.c: Likewise.
35090         * lib/isnan.h: Likewise.
35091         * lib/isnanf.c: Likewise.
35092         * lib/isnanf.h: Likewise.
35093         * lib/isnanl-nolibm.h: Likewise.
35094         * lib/isnanl.c: Likewise.
35095         * lib/isnanl.h: Likewise.
35096         * lib/javacomp.c: Likewise.
35097         * lib/javacomp.h: Likewise.
35098         * lib/javaexec.c: Likewise.
35099         * lib/javaexec.h: Likewise.
35100         * lib/javaversion.c: Likewise.
35101         * lib/javaversion.h: Likewise.
35102         * lib/javaversion.java: Likewise.
35103         * lib/lbrkprop.h: Likewise.
35104         * lib/lchmod.h: Likewise.
35105         * lib/lchown.c: Likewise.
35106         * lib/ldexpl.c: Likewise.
35107         * lib/linebreak.c: Likewise.
35108         * lib/linebreak.h: Likewise.
35109         * lib/linebuffer.c: Likewise.
35110         * lib/linebuffer.h: Likewise.
35111         * lib/locale.in.h: Likewise.
35112         * lib/logl.c: Likewise.
35113         * lib/long-options.c: Likewise.
35114         * lib/long-options.h: Likewise.
35115         * lib/lstat.c: Likewise.
35116         * lib/lstat.h: Likewise.
35117         * lib/math.in.h: Likewise.
35118         * lib/mbchar.c: Likewise.
35119         * lib/mbchar.h: Likewise.
35120         * lib/mbfile.h: Likewise.
35121         * lib/mbiter.h: Likewise.
35122         * lib/mbscasecmp.c: Likewise.
35123         * lib/mbscasestr.c: Likewise.
35124         * lib/mbschr.c: Likewise.
35125         * lib/mbscspn.c: Likewise.
35126         * lib/mbslen.c: Likewise.
35127         * lib/mbsncasecmp.c: Likewise.
35128         * lib/mbsnlen.c: Likewise.
35129         * lib/mbspbrk.c: Likewise.
35130         * lib/mbspcasecmp.c: Likewise.
35131         * lib/mbsrchr.c: Likewise.
35132         * lib/mbssep.c: Likewise.
35133         * lib/mbsspn.c: Likewise.
35134         * lib/mbsstr.c: Likewise.
35135         * lib/mbstok_r.c: Likewise.
35136         * lib/mbswidth.c: Likewise.
35137         * lib/mbswidth.h: Likewise.
35138         * lib/mbuiter.h: Likewise.
35139         * lib/memcasecmp.c: Likewise.
35140         * lib/memcasecmp.h: Likewise.
35141         * lib/memchr.c: Likewise.
35142         * lib/memcmp.c: Likewise.
35143         * lib/memcoll.c: Likewise.
35144         * lib/memcoll.h: Likewise.
35145         * lib/memcpy.c: Likewise.
35146         * lib/memrchr.c: Likewise.
35147         * lib/mkancesdirs.c: Likewise.
35148         * lib/mkdir-p.c: Likewise.
35149         * lib/mkdir-p.h: Likewise.
35150         * lib/mkdir.c: Likewise.
35151         * lib/mkdirat.c: Likewise.
35152         * lib/mkdtemp.c: Likewise.
35153         * lib/mkstemp-safer.c: Likewise.
35154         * lib/mkstemp.c: Likewise.
35155         * lib/modechange.c: Likewise.
35156         * lib/modechange.h: Likewise.
35157         * lib/mountlist.c: Likewise.
35158         * lib/mountlist.h: Likewise.
35159         * lib/mpsort.c: Likewise.
35160         * lib/nanosleep.c: Likewise.
35161         * lib/obstack.c: Likewise.
35162         * lib/obstack.h: Likewise.
35163         * lib/open-safer.c: Likewise.
35164         * lib/open.c: Likewise.
35165         * lib/openat-die.c: Likewise.
35166         * lib/openat-priv.h: Likewise.
35167         * lib/openat-proc.c: Likewise.
35168         * lib/openat.c: Likewise.
35169         * lib/openat.h: Likewise.
35170         * lib/pagealign_alloc.c: Likewise.
35171         * lib/pagealign_alloc.h: Likewise.
35172         * lib/physmem.c: Likewise.
35173         * lib/physmem.h: Likewise.
35174         * lib/pipe-safer.c: Likewise.
35175         * lib/pipe.c: Likewise.
35176         * lib/pipe.h: Likewise.
35177         * lib/posixtm.c: Likewise.
35178         * lib/posixtm.h: Likewise.
35179         * lib/posixver.c: Likewise.
35180         * lib/printf-frexp.c: Likewise.
35181         * lib/printf-frexp.h: Likewise.
35182         * lib/printf-frexpl.c: Likewise.
35183         * lib/printf-frexpl.h: Likewise.
35184         * lib/printf.c: Likewise.
35185         * lib/progname.c: Likewise.
35186         * lib/progname.h: Likewise.
35187         * lib/progreloc.c: Likewise.
35188         * lib/putenv.c: Likewise.
35189         * lib/quote.c: Likewise.
35190         * lib/quote.h: Likewise.
35191         * lib/quotearg.c: Likewise.
35192         * lib/quotearg.h: Likewise.
35193         * lib/raise.c: Likewise.
35194         * lib/readline.c: Likewise.
35195         * lib/readline.h: Likewise.
35196         * lib/readlink.c: Likewise.
35197         * lib/readtokens.c: Likewise.
35198         * lib/readtokens.h: Likewise.
35199         * lib/readtokens0.c: Likewise.
35200         * lib/readtokens0.h: Likewise.
35201         * lib/readutmp.c: Likewise.
35202         * lib/readutmp.h: Likewise.
35203         * lib/realloc.c: Likewise.
35204         * lib/relocwrapper.c: Likewise.
35205         * lib/rename-dest-slash.c: Likewise.
35206         * lib/rename.c: Likewise.
35207         * lib/rmdir.c: Likewise.
35208         * lib/rpmatch.c: Likewise.
35209         * lib/safe-read.c: Likewise.
35210         * lib/safe-read.h: Likewise.
35211         * lib/safe-write.c: Likewise.
35212         * lib/safe-write.h: Likewise.
35213         * lib/same-inode.h: Likewise.
35214         * lib/same.c: Likewise.
35215         * lib/same.h: Likewise.
35216         * lib/save-cwd.c: Likewise.
35217         * lib/save-cwd.h: Likewise.
35218         * lib/savedir.c: Likewise.
35219         * lib/savedir.h: Likewise.
35220         * lib/savewd.c: Likewise.
35221         * lib/savewd.h: Likewise.
35222         * lib/search.in.h: Likewise.
35223         * lib/setenv.c: Likewise.
35224         * lib/setenv.h: Likewise.
35225         * lib/settime.c: Likewise.
35226         * lib/sh-quote.c: Likewise.
35227         * lib/sh-quote.h: Likewise.
35228         * lib/sig2str.c: Likewise.
35229         * lib/sig2str.h: Likewise.
35230         * lib/signal.in.h: Likewise.
35231         * lib/signbitd.c: Likewise.
35232         * lib/signbitf.c: Likewise.
35233         * lib/signbitl.c: Likewise.
35234         * lib/sigprocmask.c: Likewise.
35235         * lib/sincosl.c: Likewise.
35236         * lib/sleep.c: Likewise.
35237         * lib/sprintf.c: Likewise.
35238         * lib/sqrtl.c: Likewise.
35239         * lib/stat-time.h: Likewise.
35240         * lib/stdio--.h: Likewise.
35241         * lib/stdio-safer.h: Likewise.
35242         * lib/stdlib--.h: Likewise.
35243         * lib/stdlib-safer.h: Likewise.
35244         * lib/stdlib.in.h: Likewise.
35245         * lib/stpcpy.c: Likewise.
35246         * lib/stpncpy.c: Likewise.
35247         * lib/strchrnul.c: Likewise.
35248         * lib/strcspn.c: Likewise.
35249         * lib/strerror.c: Likewise.
35250         * lib/strftime.c: Likewise.
35251         * lib/strftime.h: Likewise.
35252         * lib/striconveh.c: Likewise.
35253         * lib/striconveh.h: Likewise.
35254         * lib/striconveha.c: Likewise.
35255         * lib/striconveha.h: Likewise.
35256         * lib/stripslash.c: Likewise.
35257         * lib/strnlen1.c: Likewise.
35258         * lib/strnlen1.h: Likewise.
35259         * lib/strtod.c: Likewise.
35260         * lib/strtoimax.c: Likewise.
35261         * lib/strtok_r.c: Likewise.
35262         * lib/strtol.c: Likewise.
35263         * lib/strtoll.c: Likewise.
35264         * lib/strtoul.c: Likewise.
35265         * lib/strtoull.c: Likewise.
35266         * lib/sysexits.in.h: Likewise.
35267         * lib/tempname.c: Likewise.
35268         * lib/tempname.h: Likewise.
35269         * lib/timespec.h: Likewise.
35270         * lib/tls.c: Likewise.
35271         * lib/tls.h: Likewise.
35272         * lib/tmpdir.c: Likewise.
35273         * lib/tmpdir.h: Likewise.
35274         * lib/tmpfile-safer.c: Likewise.
35275         * lib/tmpfile.c: Likewise.
35276         * lib/trigl.c: Likewise.
35277         * lib/trigl.h: Likewise.
35278         * lib/trim.c: Likewise.
35279         * lib/trim.h: Likewise.
35280         * lib/trunc.c: Likewise.
35281         * lib/truncf.c: Likewise.
35282         * lib/truncl.c: Likewise.
35283         * lib/tsearch.c: Likewise.
35284         * lib/unicodeio.c: Likewise.
35285         * lib/unicodeio.h: Likewise.
35286         * lib/unistd--.h: Likewise.
35287         * lib/unistd-safer.h: Likewise.
35288         * lib/unistdio/ulc-fprintf.c: Likewise.
35289         * lib/unistdio/ulc-vfprintf.c: Likewise.
35290         * lib/unlinkdir.c: Likewise.
35291         * lib/unlinkdir.h: Likewise.
35292         * lib/unlocked-io.h: Likewise.
35293         * lib/unsetenv.c: Likewise.
35294         * lib/userspec.c: Likewise.
35295         * lib/utime.c: Likewise.
35296         * lib/utimecmp.c: Likewise.
35297         * lib/utimecmp.h: Likewise.
35298         * lib/utimens.c: Likewise.
35299         * lib/verify.h: Likewise.
35300         * lib/verror.c: Likewise.
35301         * lib/verror.h: Likewise.
35302         * lib/version-etc-fsf.c: Likewise.
35303         * lib/version-etc.c: Likewise.
35304         * lib/version-etc.h: Likewise.
35305         * lib/vfprintf.c: Likewise.
35306         * lib/vprintf.c: Likewise.
35307         * lib/vsprintf.c: Likewise.
35308         * lib/w32spawn.h: Likewise.
35309         * lib/wait-process.c: Likewise.
35310         * lib/wait-process.h: Likewise.
35311         * lib/wcwidth.c: Likewise.
35312         * lib/write-any-file.c: Likewise.
35313         * lib/xalloc-die.c: Likewise.
35314         * lib/xalloc.h: Likewise.
35315         * lib/xasprintf.c: Likewise.
35316         * lib/xgetcwd.c: Likewise.
35317         * lib/xgetcwd.h: Likewise.
35318         * lib/xgetdomainname.c: Likewise.
35319         * lib/xgetdomainname.h: Likewise.
35320         * lib/xgethostname.c: Likewise.
35321         * lib/xmalloc.c: Likewise.
35322         * lib/xmalloca.c: Likewise.
35323         * lib/xmalloca.h: Likewise.
35324         * lib/xmemcoll.c: Likewise.
35325         * lib/xnanosleep.c: Likewise.
35326         * lib/xreadlink.c: Likewise.
35327         * lib/xreadlink.h: Likewise.
35328         * lib/xsetenv.c: Likewise.
35329         * lib/xsetenv.h: Likewise.
35330         * lib/xstriconv.c: Likewise.
35331         * lib/xstriconv.h: Likewise.
35332         * lib/xstrndup.c: Likewise.
35333         * lib/xstrndup.h: Likewise.
35334         * lib/xstrtod.c: Likewise.
35335         * lib/xstrtod.h: Likewise.
35336         * lib/xstrtol-error.c: Likewise.
35337         * lib/xstrtol.c: Likewise.
35338         * lib/xstrtol.h: Likewise.
35339         * lib/xtime.h: Likewise.
35340         * lib/xvasprintf.c: Likewise.
35341         * lib/xvasprintf.h: Likewise.
35342         * lib/yesno.c: Likewise.
35343         * lib/yesno.h: Likewise.
35344         * posix-modules: Likewise.
35345         * tests/test-alloca-opt.c: Likewise.
35346         * tests/test-arcfour.c: Likewise.
35347         * tests/test-arctwo.c: Likewise.
35348         * tests/test-argmatch.c: Likewise.
35349         * tests/test-argp-2.sh: Likewise.
35350         * tests/test-argp.c: Likewise.
35351         * tests/test-arpa_inet.c: Likewise.
35352         * tests/test-array_list.c: Likewise.
35353         * tests/test-array_oset.c: Likewise.
35354         * tests/test-atexit.c: Likewise.
35355         * tests/test-avltree_list.c: Likewise.
35356         * tests/test-avltree_oset.c: Likewise.
35357         * tests/test-avltreehash_list.c: Likewise.
35358         * tests/test-base64.c: Likewise.
35359         * tests/test-binary-io.c: Likewise.
35360         * tests/test-byteswap.c: Likewise.
35361         * tests/test-c-ctype.c: Likewise.
35362         * tests/test-c-strcasecmp.c: Likewise.
35363         * tests/test-c-strcasestr.c: Likewise.
35364         * tests/test-c-strncasecmp.c: Likewise.
35365         * tests/test-c-strstr.c: Likewise.
35366         * tests/test-canonicalize-lgpl.c: Likewise.
35367         * tests/test-canonicalize.c: Likewise.
35368         * tests/test-carray_list.c: Likewise.
35369         * tests/test-ceilf.c: Likewise.
35370         * tests/test-ceill.c: Likewise.
35371         * tests/test-count-one-bits.c: Likewise.
35372         * tests/test-crc.c: Likewise.
35373         * tests/test-dirname.c: Likewise.
35374         * tests/test-fbufmode.c: Likewise.
35375         * tests/test-fcntl.c: Likewise.
35376         * tests/test-fflush.c: Likewise.
35377         * tests/test-floorf.c: Likewise.
35378         * tests/test-floorl.c: Likewise.
35379         * tests/test-fopen.c: Likewise.
35380         * tests/test-fprintf-posix.c: Likewise.
35381         * tests/test-fprintf-posix.h: Likewise.
35382         * tests/test-fpurge.c: Likewise.
35383         * tests/test-freadable.c: Likewise.
35384         * tests/test-freadahead.c: Likewise.
35385         * tests/test-freading.c: Likewise.
35386         * tests/test-freopen.c: Likewise.
35387         * tests/test-frexp.c: Likewise.
35388         * tests/test-frexpl.c: Likewise.
35389         * tests/test-fseek.c: Likewise.
35390         * tests/test-fseeko.c: Likewise.
35391         * tests/test-fseterr.c: Likewise.
35392         * tests/test-fstrcmp.c: Likewise.
35393         * tests/test-ftell.c: Likewise.
35394         * tests/test-ftello.c: Likewise.
35395         * tests/test-fwritable.c: Likewise.
35396         * tests/test-fwriting.c: Likewise.
35397         * tests/test-getaddrinfo.c: Likewise.
35398         * tests/test-getpass.c: Likewise.
35399         * tests/test-gettimeofday.c: Likewise.
35400         * tests/test-hmac-md5.c: Likewise.
35401         * tests/test-hmac-sha1.c: Likewise.
35402         * tests/test-iconv.c: Likewise.
35403         * tests/test-iconvme.c: Likewise.
35404         * tests/test-inttypes.c: Likewise.
35405         * tests/test-isnan.c: Likewise.
35406         * tests/test-isnanf.c: Likewise.
35407         * tests/test-isnanl-nolibm.c: Likewise.
35408         * tests/test-isnanl.c: Likewise.
35409         * tests/test-isnanl.h: Likewise.
35410         * tests/test-ldexpl.c: Likewise.
35411         * tests/test-linked_list.c: Likewise.
35412         * tests/test-linkedhash_list.c: Likewise.
35413         * tests/test-locale.c: Likewise.
35414         * tests/test-localename.c: Likewise.
35415         * tests/test-lock.c: Likewise.
35416         * tests/test-lseek.c: Likewise.
35417         * tests/test-malloca.c: Likewise.
35418         * tests/test-math.c: Likewise.
35419         * tests/test-mbscasecmp.c: Likewise.
35420         * tests/test-mbscasestr1.c: Likewise.
35421         * tests/test-mbscasestr2.c: Likewise.
35422         * tests/test-mbscasestr3.c: Likewise.
35423         * tests/test-mbscasestr4.c: Likewise.
35424         * tests/test-mbschr.c: Likewise.
35425         * tests/test-mbscspn.c: Likewise.
35426         * tests/test-mbsncasecmp.c: Likewise.
35427         * tests/test-mbspbrk.c: Likewise.
35428         * tests/test-mbspcasecmp.c: Likewise.
35429         * tests/test-mbsrchr.c: Likewise.
35430         * tests/test-mbsspn.c: Likewise.
35431         * tests/test-mbsstr1.c: Likewise.
35432         * tests/test-mbsstr2.c: Likewise.
35433         * tests/test-mbsstr3.c: Likewise.
35434         * tests/test-md5.c: Likewise.
35435         * tests/test-memmem.c: Likewise.
35436         * tests/test-netinet_in.c: Likewise.
35437         * tests/test-open.c: Likewise.
35438         * tests/test-printf-frexp.c: Likewise.
35439         * tests/test-printf-frexpl.c: Likewise.
35440         * tests/test-printf-posix.c: Likewise.
35441         * tests/test-printf-posix.h: Likewise.
35442         * tests/test-rbtree_list.c: Likewise.
35443         * tests/test-rbtree_oset.c: Likewise.
35444         * tests/test-rbtreehash_list.c: Likewise.
35445         * tests/test-read-file.c: Likewise.
35446         * tests/test-rijndael.c: Likewise.
35447         * tests/test-search.c: Likewise.
35448         * tests/test-signbit.c: Likewise.
35449         * tests/test-sleep.c: Likewise.
35450         * tests/test-snprintf-posix.c: Likewise.
35451         * tests/test-snprintf-posix.h: Likewise.
35452         * tests/test-snprintf.c: Likewise.
35453         * tests/test-sprintf-posix.c: Likewise.
35454         * tests/test-sprintf-posix.h: Likewise.
35455         * tests/test-stat-time.c: Likewise.
35456         * tests/test-stdbool.c: Likewise.
35457         * tests/test-stdint.c: Likewise.
35458         * tests/test-stdio.c: Likewise.
35459         * tests/test-stdlib.c: Likewise.
35460         * tests/test-stpncpy.c: Likewise.
35461         * tests/test-strcasestr.c: Likewise.
35462         * tests/test-striconv.c: Likewise.
35463         * tests/test-striconveh.c: Likewise.
35464         * tests/test-striconveha.c: Likewise.
35465         * tests/test-string.c: Likewise.
35466         * tests/test-sys_select.c: Likewise.
35467         * tests/test-sys_socket.c: Likewise.
35468         * tests/test-sys_stat.c: Likewise.
35469         * tests/test-sys_time.c: Likewise.
35470         * tests/test-sysexits.c: Likewise.
35471         * tests/test-time.c: Likewise.
35472         * tests/test-tls.c: Likewise.
35473         * tests/test-trunc.c: Likewise.
35474         * tests/test-truncf.c: Likewise.
35475         * tests/test-truncl.c: Likewise.
35476         * tests/test-unistd.c: Likewise.
35477         * tests/test-vasnprintf-posix.c: Likewise.
35478         * tests/test-vasnprintf-posix2.c: Likewise.
35479         * tests/test-vasnprintf.c: Likewise.
35480         * tests/test-vasprintf-posix.c: Likewise.
35481         * tests/test-vasprintf.c: Likewise.
35482         * tests/test-verify.c: Likewise.
35483         * tests/test-vfprintf-posix.c: Likewise.
35484         * tests/test-vprintf-posix.c: Likewise.
35485         * tests/test-vsnprintf-posix.c: Likewise.
35486         * tests/test-vsnprintf.c: Likewise.
35487         * tests/test-vsprintf-posix.c: Likewise.
35488         * tests/test-wchar.c: Likewise.
35489         * tests/test-wctype.c: Likewise.
35490         * tests/test-wcwidth.c: Likewise.
35491         * tests/test-xstrtol.c: Likewise.
35492         * tests/test-xvasprintf.c: Likewise.
35493         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
35494         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
35495         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
35496         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
35497         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
35498         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
35499         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
35500         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
35501         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
35502         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
35503         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
35504         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
35505         * tests/uniname/test-uninames.c: Likewise.
35506         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
35507         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
35508         * tests/unistdio/test-u16-printf1.h: Likewise.
35509         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
35510         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
35511         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
35512         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
35513         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
35514         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
35515         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
35516         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
35517         * tests/unistdio/test-u32-printf1.h: Likewise.
35518         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
35519         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
35520         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
35521         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
35522         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
35523         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
35524         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
35525         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
35526         * tests/unistdio/test-u8-printf1.h: Likewise.
35527         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
35528         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
35529         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
35530         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
35531         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
35532         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
35533         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
35534         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
35535         * tests/unistdio/test-ulc-printf1.h: Likewise.
35536         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
35537         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
35538         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
35539         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
35540         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
35541         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
35542         * tests/uniwidth/test-u16-strwidth.c: Likewise.
35543         * tests/uniwidth/test-u16-width.c: Likewise.
35544         * tests/uniwidth/test-u32-strwidth.c: Likewise.
35545         * tests/uniwidth/test-u32-width.c: Likewise.
35546         * tests/uniwidth/test-u8-strwidth.c: Likewise.
35547         * tests/uniwidth/test-u8-width.c: Likewise.
35548         * tests/uniwidth/test-uc_width.c: Likewise.
35549         * config/srclist-update: Likewise.
35550         (fixlicense): Update to GPLv3+.
35551
35552         Change copyright notice from LGPLv2.1+ to LGPLv3+.
35553         * tests/test-tsearch.c: Change copyright notice.
35554
35555         Change copyright notice from LGPLv2.0+ to LGPLv3+.
35556         * lib/c-strcaseeq.h: Change copyright notice.
35557         * lib/streq.h: Likewise.
35558         * lib/uniconv.h: Likewise.
35559         * lib/uniconv/u-conv-from-enc.h: Likewise.
35560         * lib/uniconv/u-conv-to-enc.h: Likewise.
35561         * lib/uniconv/u-strconv-from-enc.h: Likewise.
35562         * lib/uniconv/u-strconv-to-enc.h: Likewise.
35563         * lib/uniconv/u16-conv-from-enc.c: Likewise.
35564         * lib/uniconv/u16-conv-to-enc.c: Likewise.
35565         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
35566         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
35567         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
35568         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
35569         * lib/uniconv/u32-conv-from-enc.c: Likewise.
35570         * lib/uniconv/u32-conv-to-enc.c: Likewise.
35571         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
35572         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
35573         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
35574         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
35575         * lib/uniconv/u8-conv-from-enc.c: Likewise.
35576         * lib/uniconv/u8-conv-to-enc.c: Likewise.
35577         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
35578         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
35579         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
35580         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
35581         * lib/uniname.h: Likewise.
35582         * lib/uniname/uniname.c: Likewise.
35583         * lib/unistdio.h: Likewise.
35584         * lib/unistdio/u-asnprintf.h: Likewise.
35585         * lib/unistdio/u-asprintf.h: Likewise.
35586         * lib/unistdio/u-printf-args.c: Likewise.
35587         * lib/unistdio/u-printf-args.h: Likewise.
35588         * lib/unistdio/u-printf-parse.h: Likewise.
35589         * lib/unistdio/u-snprintf.h: Likewise.
35590         * lib/unistdio/u-sprintf.h: Likewise.
35591         * lib/unistdio/u-vasprintf.h: Likewise.
35592         * lib/unistdio/u-vsnprintf.h: Likewise.
35593         * lib/unistdio/u-vsprintf.h: Likewise.
35594         * lib/unistdio/u16-asnprintf.c: Likewise.
35595         * lib/unistdio/u16-asprintf.c: Likewise.
35596         * lib/unistdio/u16-printf-parse.c: Likewise.
35597         * lib/unistdio/u16-snprintf.c: Likewise.
35598         * lib/unistdio/u16-sprintf.c: Likewise.
35599         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
35600         * lib/unistdio/u16-u16-asprintf.c: Likewise.
35601         * lib/unistdio/u16-u16-snprintf.c: Likewise.
35602         * lib/unistdio/u16-u16-sprintf.c: Likewise.
35603         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
35604         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
35605         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
35606         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
35607         * lib/unistdio/u16-vasnprintf.c: Likewise.
35608         * lib/unistdio/u16-vasprintf.c: Likewise.
35609         * lib/unistdio/u16-vsnprintf.c: Likewise.
35610         * lib/unistdio/u16-vsprintf.c: Likewise.
35611         * lib/unistdio/u32-asnprintf.c: Likewise.
35612         * lib/unistdio/u32-asprintf.c: Likewise.
35613         * lib/unistdio/u32-printf-parse.c: Likewise.
35614         * lib/unistdio/u32-snprintf.c: Likewise.
35615         * lib/unistdio/u32-sprintf.c: Likewise.
35616         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
35617         * lib/unistdio/u32-u32-asprintf.c: Likewise.
35618         * lib/unistdio/u32-u32-snprintf.c: Likewise.
35619         * lib/unistdio/u32-u32-sprintf.c: Likewise.
35620         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
35621         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
35622         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
35623         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
35624         * lib/unistdio/u32-vasnprintf.c: Likewise.
35625         * lib/unistdio/u32-vasprintf.c: Likewise.
35626         * lib/unistdio/u32-vsnprintf.c: Likewise.
35627         * lib/unistdio/u32-vsprintf.c: Likewise.
35628         * lib/unistdio/u8-asnprintf.c: Likewise.
35629         * lib/unistdio/u8-asprintf.c: Likewise.
35630         * lib/unistdio/u8-printf-parse.c: Likewise.
35631         * lib/unistdio/u8-snprintf.c: Likewise.
35632         * lib/unistdio/u8-sprintf.c: Likewise.
35633         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
35634         * lib/unistdio/u8-u8-asprintf.c: Likewise.
35635         * lib/unistdio/u8-u8-snprintf.c: Likewise.
35636         * lib/unistdio/u8-u8-sprintf.c: Likewise.
35637         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
35638         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
35639         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
35640         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
35641         * lib/unistdio/u8-vasnprintf.c: Likewise.
35642         * lib/unistdio/u8-vasprintf.c: Likewise.
35643         * lib/unistdio/u8-vsnprintf.c: Likewise.
35644         * lib/unistdio/u8-vsprintf.c: Likewise.
35645         * lib/unistdio/ulc-asnprintf.c: Likewise.
35646         * lib/unistdio/ulc-asprintf.c: Likewise.
35647         * lib/unistdio/ulc-printf-parse.c: Likewise.
35648         * lib/unistdio/ulc-snprintf.c: Likewise.
35649         * lib/unistdio/ulc-sprintf.c: Likewise.
35650         * lib/unistdio/ulc-vasnprintf.c: Likewise.
35651         * lib/unistdio/ulc-vasprintf.c: Likewise.
35652         * lib/unistdio/ulc-vsnprintf.c: Likewise.
35653         * lib/unistdio/ulc-vsprintf.c: Likewise.
35654         * lib/unistr.h: Likewise.
35655         * lib/unistr/u-cpy-alloc.h: Likewise.
35656         * lib/unistr/u-cpy.h: Likewise.
35657         * lib/unistr/u-endswith.h: Likewise.
35658         * lib/unistr/u-move.h: Likewise.
35659         * lib/unistr/u-set.h: Likewise.
35660         * lib/unistr/u-startswith.h: Likewise.
35661         * lib/unistr/u-stpcpy.h: Likewise.
35662         * lib/unistr/u-stpncpy.h: Likewise.
35663         * lib/unistr/u-strcat.h: Likewise.
35664         * lib/unistr/u-strcpy.h: Likewise.
35665         * lib/unistr/u-strcspn.h: Likewise.
35666         * lib/unistr/u-strdup.h: Likewise.
35667         * lib/unistr/u-strlen.h: Likewise.
35668         * lib/unistr/u-strncat.h: Likewise.
35669         * lib/unistr/u-strncpy.h: Likewise.
35670         * lib/unistr/u-strnlen.h: Likewise.
35671         * lib/unistr/u-strpbrk.h: Likewise.
35672         * lib/unistr/u-strspn.h: Likewise.
35673         * lib/unistr/u-strstr.h: Likewise.
35674         * lib/unistr/u-strtok.h: Likewise.
35675         * lib/unistr/u16-check.c: Likewise.
35676         * lib/unistr/u16-chr.c: Likewise.
35677         * lib/unistr/u16-cmp.c: Likewise.
35678         * lib/unistr/u16-cpy-alloc.c: Likewise.
35679         * lib/unistr/u16-cpy.c: Likewise.
35680         * lib/unistr/u16-endswith.c: Likewise.
35681         * lib/unistr/u16-mblen.c: Likewise.
35682         * lib/unistr/u16-mbsnlen.c: Likewise.
35683         * lib/unistr/u16-mbtouc-aux.c: Likewise.
35684         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
35685         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
35686         * lib/unistr/u16-mbtouc.c: Likewise.
35687         * lib/unistr/u16-mbtoucr.c: Likewise.
35688         * lib/unistr/u16-move.c: Likewise.
35689         * lib/unistr/u16-next.c: Likewise.
35690         * lib/unistr/u16-prev.c: Likewise.
35691         * lib/unistr/u16-set.c: Likewise.
35692         * lib/unistr/u16-startswith.c: Likewise.
35693         * lib/unistr/u16-stpcpy.c: Likewise.
35694         * lib/unistr/u16-stpncpy.c: Likewise.
35695         * lib/unistr/u16-strcat.c: Likewise.
35696         * lib/unistr/u16-strchr.c: Likewise.
35697         * lib/unistr/u16-strcmp.c: Likewise.
35698         * lib/unistr/u16-strcpy.c: Likewise.
35699         * lib/unistr/u16-strcspn.c: Likewise.
35700         * lib/unistr/u16-strdup.c: Likewise.
35701         * lib/unistr/u16-strlen.c: Likewise.
35702         * lib/unistr/u16-strmblen.c: Likewise.
35703         * lib/unistr/u16-strmbtouc.c: Likewise.
35704         * lib/unistr/u16-strncat.c: Likewise.
35705         * lib/unistr/u16-strncmp.c: Likewise.
35706         * lib/unistr/u16-strncpy.c: Likewise.
35707         * lib/unistr/u16-strnlen.c: Likewise.
35708         * lib/unistr/u16-strpbrk.c: Likewise.
35709         * lib/unistr/u16-strrchr.c: Likewise.
35710         * lib/unistr/u16-strspn.c: Likewise.
35711         * lib/unistr/u16-strstr.c: Likewise.
35712         * lib/unistr/u16-strtok.c: Likewise.
35713         * lib/unistr/u16-to-u32.c: Likewise.
35714         * lib/unistr/u16-to-u8.c: Likewise.
35715         * lib/unistr/u16-uctomb-aux.c: Likewise.
35716         * lib/unistr/u16-uctomb.c: Likewise.
35717         * lib/unistr/u32-check.c: Likewise.
35718         * lib/unistr/u32-chr.c: Likewise.
35719         * lib/unistr/u32-cmp.c: Likewise.
35720         * lib/unistr/u32-cpy-alloc.c: Likewise.
35721         * lib/unistr/u32-cpy.c: Likewise.
35722         * lib/unistr/u32-endswith.c: Likewise.
35723         * lib/unistr/u32-mblen.c: Likewise.
35724         * lib/unistr/u32-mbsnlen.c: Likewise.
35725         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
35726         * lib/unistr/u32-mbtouc.c: Likewise.
35727         * lib/unistr/u32-mbtoucr.c: Likewise.
35728         * lib/unistr/u32-move.c: Likewise.
35729         * lib/unistr/u32-next.c: Likewise.
35730         * lib/unistr/u32-prev.c: Likewise.
35731         * lib/unistr/u32-set.c: Likewise.
35732         * lib/unistr/u32-startswith.c: Likewise.
35733         * lib/unistr/u32-stpcpy.c: Likewise.
35734         * lib/unistr/u32-stpncpy.c: Likewise.
35735         * lib/unistr/u32-strcat.c: Likewise.
35736         * lib/unistr/u32-strchr.c: Likewise.
35737         * lib/unistr/u32-strcmp.c: Likewise.
35738         * lib/unistr/u32-strcpy.c: Likewise.
35739         * lib/unistr/u32-strcspn.c: Likewise.
35740         * lib/unistr/u32-strdup.c: Likewise.
35741         * lib/unistr/u32-strlen.c: Likewise.
35742         * lib/unistr/u32-strmblen.c: Likewise.
35743         * lib/unistr/u32-strmbtouc.c: Likewise.
35744         * lib/unistr/u32-strncat.c: Likewise.
35745         * lib/unistr/u32-strncmp.c: Likewise.
35746         * lib/unistr/u32-strncpy.c: Likewise.
35747         * lib/unistr/u32-strnlen.c: Likewise.
35748         * lib/unistr/u32-strpbrk.c: Likewise.
35749         * lib/unistr/u32-strrchr.c: Likewise.
35750         * lib/unistr/u32-strspn.c: Likewise.
35751         * lib/unistr/u32-strstr.c: Likewise.
35752         * lib/unistr/u32-strtok.c: Likewise.
35753         * lib/unistr/u32-to-u16.c: Likewise.
35754         * lib/unistr/u32-to-u8.c: Likewise.
35755         * lib/unistr/u32-uctomb.c: Likewise.
35756         * lib/unistr/u8-check.c: Likewise.
35757         * lib/unistr/u8-chr.c: Likewise.
35758         * lib/unistr/u8-cmp.c: Likewise.
35759         * lib/unistr/u8-cpy-alloc.c: Likewise.
35760         * lib/unistr/u8-cpy.c: Likewise.
35761         * lib/unistr/u8-endswith.c: Likewise.
35762         * lib/unistr/u8-mblen.c: Likewise.
35763         * lib/unistr/u8-mbsnlen.c: Likewise.
35764         * lib/unistr/u8-mbtouc-aux.c: Likewise.
35765         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
35766         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
35767         * lib/unistr/u8-mbtouc.c: Likewise.
35768         * lib/unistr/u8-mbtoucr.c: Likewise.
35769         * lib/unistr/u8-move.c: Likewise.
35770         * lib/unistr/u8-next.c: Likewise.
35771         * lib/unistr/u8-prev.c: Likewise.
35772         * lib/unistr/u8-set.c: Likewise.
35773         * lib/unistr/u8-startswith.c: Likewise.
35774         * lib/unistr/u8-stpcpy.c: Likewise.
35775         * lib/unistr/u8-stpncpy.c: Likewise.
35776         * lib/unistr/u8-strcat.c: Likewise.
35777         * lib/unistr/u8-strchr.c: Likewise.
35778         * lib/unistr/u8-strcmp.c: Likewise.
35779         * lib/unistr/u8-strcpy.c: Likewise.
35780         * lib/unistr/u8-strcspn.c: Likewise.
35781         * lib/unistr/u8-strdup.c: Likewise.
35782         * lib/unistr/u8-strlen.c: Likewise.
35783         * lib/unistr/u8-strmblen.c: Likewise.
35784         * lib/unistr/u8-strmbtouc.c: Likewise.
35785         * lib/unistr/u8-strncat.c: Likewise.
35786         * lib/unistr/u8-strncmp.c: Likewise.
35787         * lib/unistr/u8-strncpy.c: Likewise.
35788         * lib/unistr/u8-strnlen.c: Likewise.
35789         * lib/unistr/u8-strpbrk.c: Likewise.
35790         * lib/unistr/u8-strrchr.c: Likewise.
35791         * lib/unistr/u8-strspn.c: Likewise.
35792         * lib/unistr/u8-strstr.c: Likewise.
35793         * lib/unistr/u8-strtok.c: Likewise.
35794         * lib/unistr/u8-to-u16.c: Likewise.
35795         * lib/unistr/u8-to-u32.c: Likewise.
35796         * lib/unistr/u8-uctomb-aux.c: Likewise.
35797         * lib/unistr/u8-uctomb.c: Likewise.
35798         * lib/unitypes.h: Likewise.
35799         * lib/uniwidth.h: Likewise.
35800         * lib/uniwidth/cjk.h: Likewise.
35801         * lib/uniwidth/u16-strwidth.c: Likewise.
35802         * lib/uniwidth/u16-width.c: Likewise.
35803         * lib/uniwidth/u32-strwidth.c: Likewise.
35804         * lib/uniwidth/u32-width.c: Likewise.
35805         * lib/uniwidth/u8-strwidth.c: Likewise.
35806         * lib/uniwidth/u8-width.c: Likewise.
35807         * lib/uniwidth/width.c: Likewise.
35808
35809 2007-10-07  Bruno Haible  <bruno@clisp.org>
35810
35811         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
35812         The file is still under LGPL (see modules/inttypes).
35813
35814 2007-10-06  Bruno Haible  <bruno@clisp.org>
35815
35816         * modules/trunc (Dependencies): Add 'extensions'.
35817         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
35818         Reported by Ben Pfaff <blp@gnu.org>.
35819
35820 2007-10-06  Bruno Haible  <bruno@clisp.org>
35821
35822         * modules/freopen-tests: New file.
35823         * tests/test-freopen.c: New file.
35824
35825         * modules/fopen-tests: New file.
35826         * tests/test-fopen.c: New file.
35827
35828         * modules/fopen: New file.
35829         * lib/fopen.c: New file.
35830         * m4/fopen.m4: New file.
35831         * modules/freopen: New file.
35832         * lib/freopen.c: New file.
35833         * m4/freopen.m4: New file.
35834         * lib/stdio.in.h (fopen, freopen): New declarations.
35835         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
35836         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
35837         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
35838         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
35839         * doc/functions/fopen.texi: Mention the 'fopen' module.
35840         * doc/functions/freopen.texi: Mention the 'freopen' module.
35841
35842 2007-10-06  Bruno Haible  <bruno@clisp.org>
35843
35844         * modules/open-tests: New file.
35845         * tests/test-open.c: New file.
35846
35847         * modules/open: New file.
35848         * lib/open.c: New file.
35849         * m4/open.m4: New file.
35850         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
35851         lib/open.c does.
35852         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
35853         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
35854         macros.
35855         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
35856         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
35857         REPLACE_OPEN.
35858         * doc/functions/open.texi: Mention the 'open' module.
35859
35860 2007-10-04  Bruno Haible  <bruno@clisp.org>
35861
35862         * modules/ceill-tests: New file.
35863         * tests/test-ceill.c: New file.
35864
35865         * modules/ceill: New file.
35866         * lib/ceill.c: Replace entire file.
35867         * m4/ceill.m4: New file.
35868         * lib/math.in.h (ceill): Replace declaration.
35869         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
35870         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
35871         * doc/functions/ceill.texi: Mention the 'ceill' module.
35872         * modules/mathl (Files): Remove lib/ceill.c.
35873         (Depends-on): Add ceill.
35874
35875 2007-10-04  Bruno Haible  <bruno@clisp.org>
35876
35877         * modules/ceilf-tests: New file.
35878         * tests/test-ceilf.c: New file.
35879
35880         * modules/ceilf: New file.
35881         * lib/ceil.c: New file.
35882         * lib/ceilf.c: New file.
35883         * m4/ceilf.m4: New file.
35884         * lib/math.in.h (ceilf): New declaration.
35885         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
35886         HAVE_DECL_CEILF.
35887         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
35888         HAVE_DECL_CEILF.
35889         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
35890
35891 2007-10-04  Bruno Haible  <bruno@clisp.org>
35892
35893         * modules/floorl-tests: New file.
35894         * tests/test-floorl.c: New file.
35895
35896         * modules/floorl: New file.
35897         * lib/floorl.c: Replace entire file.
35898         * m4/floorl.m4: New file.
35899         * lib/math.in.h (floorl): Replace declaration.
35900         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
35901         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
35902         * doc/functions/floorl.texi: Mention the 'floorl' module.
35903         * modules/mathl (Files): Remove lib/floorl.c.
35904         (Depends-on): Add floorl.
35905
35906 2007-10-04  Bruno Haible  <bruno@clisp.org>
35907
35908         * modules/floorf-tests: New file.
35909         * tests/test-floorf.c: New file.
35910
35911         * modules/floorf: New file.
35912         * lib/floor.c: New file.
35913         * lib/floorf.c: New file.
35914         * m4/floorf.m4: New file.
35915         * lib/math.in.h (floorf): New declaration.
35916         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
35917         HAVE_DECL_FLOORF.
35918         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
35919         HAVE_DECL_FLOORF.
35920         * doc/functions/floorf.texi: Mention the 'floorf' module.
35921
35922 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
35923             Bruno Haible  <bruno@clisp.org>
35924
35925         Advertise for the Git server instead of the CVS server.
35926         * doc/gnulib-intro.texi (Steady Development): Mention the Git
35927         repository instead of the CVS one.
35928         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
35929         about all VCS systems generically.
35930         * doc/gnulib.texi (Introduction): Capitalize `Git'.
35931
35932 2007-10-04  Bruno Haible  <bruno@clisp.org>
35933
35934         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
35935         means.
35936         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
35937
35938 2007-10-04  Bruno Haible  <bruno@clisp.org>
35939
35940         * modules/truncl-tests: New file.
35941         * tests/test-truncl.c: New file.
35942
35943         * modules/truncl: New file.
35944         * lib/truncl.c: New file.
35945         * m4/truncl.m4: New file.
35946         * lib/math.in.h (truncl): New declaration.
35947         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
35948         HAVE_DECL_TRUNCL.
35949         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
35950         HAVE_DECL_TRUNCL.
35951         * doc/functions/truncl.texi: Mention the 'truncl' module.
35952
35953 2007-10-04  Bruno Haible  <bruno@clisp.org>
35954
35955         * modules/truncf-tests: New file.
35956         * tests/test-truncf.c: New file.
35957
35958         * modules/truncf: New file.
35959         * lib/trunc.c: Make paramerizable through USE_* macros.
35960         * lib/truncf.c: New file.
35961         * m4/truncf.m4: New file.
35962         * lib/math.in.h (truncf): New declaration.
35963         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
35964         HAVE_DECL_TRUNCF.
35965         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
35966         HAVE_DECL_TRUNCF.
35967         * doc/functions/truncf.texi: Mention the 'truncf' module.
35968
35969 2007-10-03  Bruno Haible  <bruno@clisp.org>
35970
35971         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
35972         augmentation also for tests modules.
35973         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
35974         * modules/atexit-tests (Makefile.am): Likewise.
35975         * modules/binary-io-tests (Makefile.am): Likewise.
35976         * modules/c-strcase-tests (Makefile.am): Likewise.
35977         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
35978         * modules/canonicalize-tests (Makefile.am): Likewise.
35979         * modules/closein-tests (Makefile.am): Likewise.
35980         * modules/fprintf-posix-tests (Makefile.am): Likewise.
35981         * modules/freadahead-tests (Makefile.am): Likewise.
35982         * modules/fseek-tests (Makefile.am): Likewise.
35983         * modules/fseeko-tests (Makefile.am): Likewise.
35984         * modules/ftell-tests (Makefile.am): Likewise.
35985         * modules/ftello-tests (Makefile.am): Likewise.
35986         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
35987         * modules/isnanl-tests (Makefile.am): Likewise.
35988         * modules/lseek-tests (Makefile.am): Likewise.
35989         * modules/mbscasecmp-tests (Makefile.am): Likewise.
35990         * modules/mbscasestr-tests (Makefile.am): Likewise.
35991         * modules/mbschr-tests (Makefile.am): Likewise.
35992         * modules/mbscspn-tests (Makefile.am): Likewise.
35993         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
35994         * modules/mbspbrk-tests (Makefile.am): Likewise.
35995         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
35996         * modules/mbsrchr-tests (Makefile.am): Likewise.
35997         * modules/mbsspn-tests (Makefile.am): Likewise.
35998         * modules/mbsstr-tests (Makefile.am): Likewise.
35999         * modules/printf-posix-tests (Makefile.am): Likewise.
36000         * modules/snprintf-posix-tests (Makefile.am): Likewise.
36001         * modules/sprintf-posix-tests (Makefile.am): Likewise.
36002         * modules/tsearch-tests (Makefile.am): Likewise.
36003         * modules/uniname/uniname-tests (Makefile.am): Likewise.
36004         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
36005         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
36006         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
36007         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
36008         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
36009         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
36010         * modules/vprintf-posix-tests (Makefile.am): Likewise.
36011         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
36012         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
36013         * modules/xstrtoimax-tests (Makefile.am): Likewise.
36014         * modules/xstrtol-tests (Makefile.am): Likewise.
36015         * modules/xstrtoumax-tests (Makefile.am): Likewise.
36016         * modules/yesno-tests (Makefile.am): Likewise.
36017
36018 2007-10-03  Bruno Haible  <bruno@clisp.org>
36019
36020         * modules/trunc-tests: New file.
36021         * tests/test-trunc.c: New file.
36022
36023         * modules/trunc: New file.
36024         * lib/trunc.c: New file.
36025         * m4/trunc.m4: New file.
36026         * lib/math.in.h (trunc): New declaration.
36027         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
36028         HAVE_DECL_TRUNC.
36029         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
36030         HAVE_DECL_TRUNC.
36031         * doc/functions/trunc.texi: Mention the 'trunc' module.
36032
36033 2007-10-03  Bruno Haible  <bruno@clisp.org>
36034
36035         * tests/test-fpending.c: New file, mostly copied
36036         from coreutils/lib/t-fpending.c.
36037         * modules/fpending-tests: New file.
36038
36039 2007-10-03  Bruno Haible  <bruno@clisp.org>
36040
36041         Port the stdio extensions to QNX (untested).
36042         * lib/fseterr.c (fseterr): Add support for QNX.
36043         * lib/fbufmode.c (fbufmode): Likewise.
36044         * lib/freadable.c (freadable): Likewise.
36045         * lib/fwritable.c (fwritable): Likewise.
36046         * lib/freading.c (freading): Likewise.
36047         * lib/fwriting.c (fwriting): Likewise.
36048         * lib/freadahead.c (freadahed): Likewise.
36049         * lib/fpurge.c (fpurge): Likewise.
36050         * lib/fseeko.c (rpl_fseeko): Likewise.
36051
36052 2007-10-03  Bruno Haible  <bruno@clisp.org>
36053             Jim Meyering  <jim@meyering.net>
36054             Eric Blake  <ebb9@byu.net>
36055
36056         * doc/relocatable.texi: Use @command instead of @program.
36057
36058 2007-10-02  Jim Meyering  <jim@meyering.net>
36059
36060         Perform one more "_.h" -> ".in.h" substitution.
36061         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
36062         instead of unistd_.h here, too.
36063
36064 2007-10-01  Bruno Haible  <bruno@clisp.org>
36065
36066         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
36067         Needed for the alloca-opt module.
36068
36069 2007-09-30  Bruno Haible  <bruno@clisp.org>
36070
36071         * lib/alloca.in.h: Renamed from lib/alloca_.h.
36072         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
36073         alloca_.h.
36074         * lib/argz.in.h: Renamed from lib/argz_.h.
36075         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
36076         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
36077         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
36078         byteswap_.h.
36079         * lib/dirent.in.h: Renamed from lib/dirent_.h.
36080         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
36081         dirent_.h.
36082         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
36083         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
36084         fcntl_.h.
36085         * lib/float.in.h: Renamed from lib/float_.h.
36086         * modules/float (Files, Makefile.am): Use float.in.h instead of
36087         float_.h.
36088         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
36089         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
36090         fnmatch_.h.
36091         * lib/getopt.in.h: Renamed from lib/getopt_.h.
36092         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
36093         getopt_.h.
36094         * lib/glob.in.h: Renamed from lib/glob_.h.
36095         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
36096         * lib/iconv.in.h: Renamed from lib/iconv_.h.
36097         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
36098         iconv_.h.
36099         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
36100         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
36101         inttypes_.h.
36102         * lib/locale.in.h: Renamed from lib/locale_.h.
36103         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
36104         locale_.h.
36105         * lib/math.in.h: Renamed from lib/math_.h.
36106         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
36107         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
36108         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
36109         of netinet_in_.h. Add dependency.
36110         * lib/poll.in.h: Renamed from lib/poll_.h.
36111         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
36112         * lib/search.in.h: Renamed from lib/search_.h.
36113         * modules/search (Files, Makefile.am): Use search.in.h instead of
36114         search_.h.
36115         * lib/signal.in.h: Renamed from lib/signal_.h.
36116         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
36117         _signal.h.
36118         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
36119         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
36120         stdbool_.h.
36121         * lib/stdint.in.h: Renamed from lib/stdint_.h.
36122         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
36123         stdint_.h.
36124         * lib/stdio.in.h: Renamed from lib/stdio_.h.
36125         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
36126         stdio_.h.
36127         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
36128         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
36129         stdlib_.h.
36130         * lib/string.in.h: Renamed from lib/string_.h.
36131         * modules/string (Files, Makefile.am): Use string.in.h instead of
36132         string_.h.
36133         * doc/gnulib-tool.texi (Initial import): Update.
36134         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
36135         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
36136         of sys_select_.h. Add dependency.
36137         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
36138         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
36139         of sys_socket_.h.
36140         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
36141         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
36142         sys_stat_.h.
36143         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
36144         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
36145         sys_time_.h.
36146         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
36147         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
36148         sysexits_.h.
36149         * lib/time.in.h: Renamed from lib/time_.h.
36150         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
36151         * lib/unistd.in.h: Renamed from lib/unistd_.h.
36152         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
36153         unistd_.h.
36154         * lib/wchar.in.h: Renamed from lib/wchar_.h.
36155         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
36156         wchar_.h.
36157         * lib/wctype.in.h: Renamed from lib/wctype_.h.
36158         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
36159         wctype_.h.
36160         * build-aux/bootstrap (slurp): Update.
36161         * lib/.cppi-disable: Update.
36162
36163 2007-09-30  Bruno Haible  <bruno@clisp.org>
36164
36165         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
36166         Needed on BeOS.
36167
36168 2007-09-30  Bruno Haible  <bruno@clisp.org>
36169
36170         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
36171
36172 2007-09-29  Bruno Haible  <bruno@clisp.org>
36173
36174         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
36175
36176 2007-09-29  Bruno Haible  <bruno@clisp.org>
36177
36178         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
36179         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
36180         * build-aux/install-reloc: Compile also areadlink.c.
36181         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
36182
36183 2007-09-29  Bruno Haible  <bruno@clisp.org>
36184
36185         * gnulib-tool (func_emit_initmacro_done): Indentation.
36186
36187 2007-09-29  Bruno Haible  <bruno@clisp.org>
36188
36189         * README: Add CVS checkout update instructions.
36190         Info from Bob Proulx <bob@proulx.com>.
36191
36192 2007-09-28  Eric Blake  <ebb9@byu.net>
36193
36194         Provide move-if-change.
36195         * build-aux/move-if-change: New file, based on best practice
36196         rather than any canonical upstream location.
36197
36198 2007-09-28  Jim Meyering  <jim@meyering.net>
36199
36200         Fix canonicalize loop-detection corner case.
36201         Do not attempt to stat the symlink values stored via seen_triple.
36202         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
36203         on linux-2.6.18, (but not 2.6.22).
36204         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
36205         triple_compare.  The former compares dev,ino,filename, while the latter
36206         would actually stat dirname(filename) when dev and ino were equal.
36207         * lib/hash-triple.c: Install <string.h>.
36208         (STREQ): Define.
36209         (triple_compare_ino_str): New function.
36210         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
36211
36212 2007-09-28  Eric Blake  <ebb9@byu.net>
36213
36214         Enforce that AC_REPLACE_FUNCS files exist.
36215         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
36216         override check for typos.
36217
36218         Fix test-closein on Solaris 10.
36219         * tests/test-closein.c (main): Don't assume stdin can be inherited
36220         closed on all systems.
36221         * tests/test-closein.sh: Likewise.
36222         Reported by Piotr Tarnowski.
36223
36224 2007-09-28  Jim Meyering  <jim@meyering.net>
36225
36226         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
36227
36228 2007-09-27  Jim Meyering  <jim@meyering.net>
36229
36230         canonicalize: Avoid a false-positive cycle failure.
36231         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
36232         Sort.  Remove cycle-check.
36233         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
36234         not cycle-check.h.
36235         (seen_triple): New function.
36236         (canonicalize_filename_mode): Use it instead of cycle-check.
36237         * tests/test-canonicalize.c: Add a test for this bug.
36238         * tests/test-canonicalize.sh: Set up and run the test.
36239
36240         New module, file-set, from coreutils.
36241         * modules/file-set: Define it.
36242         * lib/file-set.c, lib/file-set.h: Implement.
36243
36244         New module, hash-triple, from coreutils.
36245         * modules/hash-triple: Define it.
36246         * lib/hash-triple.c, lib/hash-triple.h: Implement.
36247
36248 2007-09-25  Eric Blake  <ebb9@byu.net>
36249
36250         Fix strerror on Interix.
36251         * lib/string_.h (strerror): Declare replacement.
36252         * doc/functions/strerror.texi (strerror): Document the Interix
36253         shortcoming.
36254         * modules/string (Makefile.am): Support new hooks.
36255         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
36256         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
36257         gl_FUNC_STRERROR_SEPARATE.
36258         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
36259         * lib/strerror.c (rpl_strerror): Provide replacement.
36260         * modules/strerror (Depends-on): Add string.
36261         (configure.ac): Detect use of module.
36262         * tests/test-strerror.c: New file.
36263         * modules/strerror-tests: New test module.
36264         * modules/argp (Depends-on): Add strerror.
36265         * modules/error (Depends-on): Likewise.
36266         Reported by Martin Koeppe.
36267
36268 2007-09-24  Bruno Haible  <bruno@clisp.org>
36269
36270         * README: Update git instructions.
36271
36272 2007-09-24  Eric Blake  <ebb9@byu.net>
36273
36274         Revert fpending breakage from 2007-09-08.
36275         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
36276         __fpending.c.
36277
36278 2007-09-24  Jim Meyering  <jim@meyering.net>
36279
36280         filenamecat.c: Add a test.
36281         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
36282         showing how the function works when DIR is the empty string.
36283
36284 2007-09-21  Simon Josefsson  <simon@josefsson.org>
36285
36286         * tests/test-canonicalize.sh: Turn on executable bit.
36287
36288 2007-09-19  Eric Blake  <ebb9@byu.net>
36289
36290         * README: Update CVS instructions.
36291
36292 2007-09-18  Bruno Haible  <bruno@clisp.org>
36293
36294         * modules/areadlink: New file.
36295         * lib/areadlink.h (areadlink): New declaration.
36296         * lib/areadlink.c: New file, based on lib/xreadlink.c.
36297
36298 2007-09-17  Jim Meyering  <jim@meyering.net>
36299
36300         * lib/savewd.c (ESTALE) [!defined]: Define.
36301         Reported to be required on Interix by Martin Koeppe.
36302
36303 2007-09-17  Bruno Haible  <bruno@clisp.org>
36304
36305         * gnulib-tool (func_version): Use $version.
36306
36307 2007-09-16  Bruno Haible  <bruno@clisp.org>
36308
36309         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
36310         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
36311         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
36312         Reported by Greg Schafer <gschafer@zip.com.au>.
36313
36314 2007-09-15  Bruno Haible  <bruno@clisp.org>
36315
36316         * gnulib-tool (sed): Try a little harder to make bash understand the
36317         alias.
36318         Reported by Bruce Korb <bruce.korb@gmail.com>.
36319
36320 2007-09-13  Eric Blake  <ebb9@byu.net>
36321
36322         * ChangeLog: Remove conflict markers.
36323
36324 2007-09-13  Simon Josefsson  <simon@josefsson.org>
36325
36326         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
36327         Reported by Bruno Haible <bruno@clisp.org>.
36328
36329 2007-09-12  Bruno Haible  <bruno@clisp.org>
36330
36331         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
36332         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
36333         is not defined.
36334
36335 2007-09-12  Eric Blake  <ebb9@byu.net>
36336
36337         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
36338         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
36339         Autoconf definition.
36340         * modules/euidaccess (Depends-on): Add extensions, for
36341         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
36342         * modules/fnmatch (Depends-on): Likewise.
36343         * modules/getaddrinfo (Depends-on): Likewise.
36344         * modules/getdelim (Depends-on): Likewise.
36345         * modules/getline (Depends-on): Likewise.
36346         * modules/getsubopt (Depends-on): Likewise.
36347         * modules/gettext (Depends-on): Likewise.
36348         * modules/group-member (Depends-on): Likewise.
36349         * modules/mbchar (Depends-on): Likewise.
36350         * modules/memmem (Depends-on): Likewise.
36351         * modules/mempcpy (Depends-on): Likewise.
36352         * modules/memrchr (Depends-on): Likewise.
36353         * modules/pagealign_alloc (Depends-on): Likewise.
36354         * modules/readutmp (Depends-on): Likewise.
36355         * modules/stpcpy (Depends-on): Likewise.
36356         * modules/stpncpy (Depends-on): Likewise.
36357         * modules/strchrnul (Depends-on): Likewise.
36358         * modules/strndup (Depends-on): Likewise.
36359         * modules/strsep (Depends-on): Likewise.
36360         * modules/strverscmp (Depends-on): Likewise.
36361         * modules/vasprintf (Depends-on): Likewise.
36362         * modules/wcwidth (Depends-on): Likewise.
36363         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
36364         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
36365         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
36366         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
36367         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
36368         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
36369         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
36370         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
36371         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
36372         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
36373         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
36374         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
36375         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
36376         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
36377         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
36378         * m4/readutmp.m4 (gl_READUTMP): Likewise.
36379         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
36380         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
36381         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
36382         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
36383         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
36384         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
36385         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
36386         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
36387         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
36388         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
36389         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
36390         so that lock.m4 can be used in gettext without extensions module.
36391
36392 2007-09-11  Bruno Haible  <bruno@clisp.org>
36393
36394         * m4/isc-posix.m4: Remove file.
36395         Suggested by Eric Blake.
36396
36397 2007-09-11  Eric Blake  <ebb9@byu.net>
36398
36399         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
36400
36401 2007-09-10  Bruno Haible  <bruno@clisp.org>
36402
36403         * posix-modules: Fix typo in error message.
36404         Reported by Matt <mkraai@beckman.com>.
36405
36406 2007-09-09  Bruno Haible  <bruno@clisp.org>
36407
36408         * doc/functions/getdelim.texi: Update list of platforms lacking the
36409         function.
36410         * doc/functions/getline.texi: Likewise.
36411
36412 2007-09-09  Jim Meyering  <jim@meyering.net>
36413
36414         * lib/hash.c (hash_initialize): Detect calloc failure.
36415         Reported by Bruno Haible.
36416
36417 2007-09-09  Bruno Haible  <bruno@clisp.org>
36418
36419         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
36420         malloc or realloc fails.
36421
36422 2007-09-09  Bruno Haible  <bruno@clisp.org>
36423
36424         * modules/getcwd (Depends-on): Add malloc-posix.
36425         * modules/glob (Depends-on): Likewise.
36426         * modules/putenv (Depends-on): Likewise.
36427         * modules/strdup (Depends-on): Likewise.
36428         * modules/getdelim (Depends-on): Add realloc-posix.
36429         * modules/read-file (Depends-on): Likewise.
36430
36431 2007-09-09  Bruno Haible  <bruno@clisp.org>
36432
36433         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
36434         (gl_FUNC_MALLOC_POSIX): Require it.
36435         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
36436         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
36437         * modules/realloc (Files): Add m4/malloc.m4.
36438         * modules/calloc (Files): Likewise.
36439
36440 2007-09-09  Bruno Haible  <bruno@clisp.org>
36441
36442         * modules/malloc-posix: New file.
36443         * modules/malloc (Depends-on): Add malloc-posix.
36444         * lib/malloc.c: Include errno.h.
36445         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
36446         and a POSIX-compatible malloc into a single function. Set ENOMEM
36447         when returning NULL.
36448         * m4/malloc.m4: New file.
36449         * doc/functions/malloc.texi: Mention the malloc-posix module.
36450         * lib/stdlib_.h (malloc): New declaration.
36451         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
36452         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
36453         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
36454         and HAVE_MALLOC_POSIX.
36455
36456 2007-09-09  Bruno Haible  <bruno@clisp.org>
36457
36458         * modules/realloc-posix: New file.
36459         * modules/realloc (Depends-on): Add realloc-posix.
36460         * lib/realloc.c: Include errno.h.
36461         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
36462         and a POSIX-compatible realloc into a single function. Set ENOMEM
36463         when returning NULL.
36464         * m4/realloc.m4: New file.
36465         * doc/functions/realloc.texi: Mention the realloc-posix module.
36466         * lib/stdlib_.h (realloc): New declaration.
36467         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
36468         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
36469         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
36470         and HAVE_REALLOC_POSIX.
36471
36472 2007-09-09  Bruno Haible  <bruno@clisp.org>
36473
36474         * modules/calloc-posix: New file.
36475         * modules/calloc (Depends-on): Add calloc-posix.
36476         * lib/calloc.c: Include errno.h.
36477         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
36478         and a POSIX-compatible calloc into a single function. Set ENOMEM
36479         when returning NULL.
36480         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
36481         * doc/functions/calloc.texi: Mention the calloc-posix module.
36482         * lib/stdlib_.h (calloc): New declaration.
36483         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
36484         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
36485         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
36486         and HAVE_CALLOC_POSIX.
36487
36488 2007-09-09  Bruno Haible  <bruno@clisp.org>
36489
36490         Allow for modules to show an arbitrary notice.
36491         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
36492         * gnulib-tool: New option --extract-notice.
36493         (func_usage): Document it.
36494         (sed_extract_prog): Update.
36495         (func_get_notice): New function.
36496         (func_modules_notice): New function.
36497         (func_import, func_create_testdir): Invoke it.
36498         Suggested by Jim Meyering.
36499
36500 2007-09-09  Bruno Haible  <bruno@clisp.org>
36501
36502         * gnulib-tool: New options --verbose, --quiet.
36503         (func_usage): Document them.
36504         (verbose): New variable.
36505         (func_execute_command): New function.
36506         (func_import): Don't show the module list and the file list if
36507         $verbose < 0.
36508         (func_create_testdir): Likewise. Use func_execute_command.
36509         (func_create_megatestdir): Use func_execute_command.
36510
36511 2007-09-08  Bruno Haible  <bruno@clisp.org>
36512
36513         * gnulib-tool (func_import): Prefer rsync over wget when available,
36514         for fetching the PO files.
36515
36516 2007-09-08  Bruno Haible  <bruno@clisp.org>
36517
36518         * posix-modules: New file. Portions copied from gnulib-tool.
36519         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
36520
36521 2007-09-08  Jim Meyering  <jim@meyering.net>
36522
36523         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
36524         * lib/fpending.h: Rename from __fpending.h.
36525         * lib/fpending.c: Rename from __fpending.c.
36526         Include "fpending.h", not "__fpending.h".
36527         * lib/__fpending.h, lib/__fpending.c: Remove files.
36528         * modules/fpending (Files): Reflect new file names.
36529         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
36530
36531 2007-09-08  Bruno Haible  <bruno@clisp.org>
36532
36533         * m4/inttypes-h.m4: Remove stub file.
36534
36535 2007-09-07  Simon Josefsson  <simon@josefsson.org>
36536
36537         * doc/headers/stdint.texi: Discuss #include_next issue.
36538
36539 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
36540
36541         * build-aux/bootstrap: Remove obsolete comment about wget --help.
36542
36543 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36544
36545         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
36546         in variable name.
36547
36548 2007-09-03  Jim Meyering  <jim@meyering.net>
36549
36550         New module: git-version-gen.
36551         * modules/git-version-gen: New file.
36552
36553         Import changes from coreutils for bootstrap script.
36554
36555         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
36556
36557         bootstrap: uses rsync to download the .po files
36558         * build-aux/bootstrap (po_download_command_format): New global.
36559         (download_po_files): Use rsync.
36560         (update_po_files): Don't remove .po files after download,
36561         so future rsync runs can take advantage of the copies.
36562
36563         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
36564
36565         Solve the unnecessary-.po-file-regeneration problem once and for all.
36566         * build-aux/bootstrap (download_po_files): New function, renamed from
36567         get_translations.  Now, downloads, but doesn't update LINGUAS.
36568         (update_po_files): New function.
36569
36570         bootstrap: Ignore more.
36571         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
36572         uniwidth to e.g., lib/.gitignore.
36573         (slurp): Handle the sys_stat_.h -> sys mapping, too.
36574
36575         * build-aux/bootstrap: New setting: vc_ignore.
36576         (insert_sorted_if_absent): Create $file if absent.
36577         Adapt to new, possibly empty, list: $vc_ignore.
36578
36579         bootstrap: generate more ignorable names
36580         * build-aux/bootstrap (slurp): When generating ignorable names,
36581         also map .sin to .sed, .gperf to .c, and .y to .c.
36582
36583 2007-09-03  Jim Meyering  <jim@meyering.net>
36584
36585         * build-aux/git-version-gen: New file, from coreutils.  For details, see
36586         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
36587
36588 2007-09-02  Bruno Haible  <bruno@clisp.org>
36589
36590         Fix mis-recognition of 'mcs' on QNX 6.
36591         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
36592         output contains the string "Mono".
36593         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
36594         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
36595
36596 2007-09-01  Bruno Haible  <bruno@clisp.org>
36597
36598         Fix collision between uniwidth/* and linebreak modules.
36599         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
36600         u32_width): Remove declarations.
36601         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
36602         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
36603         streq3, streq2, streq1, streq0): Remove functions.
36604         (STREQ): Remove macro.
36605         (is_cjk_encoding): Remove function.
36606         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
36607         (uc_width, u8_width, u16_width, u32_width): Remove functions.
36608         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
36609         * NEWS: Document the change.
36610
36611 2007-09-01  Bruno Haible  <bruno@clisp.org>
36612
36613         * lib/streq.h: Add double-inclusion guard.
36614
36615 2007-09-01  Karl Berry  <karl@gnu.org>
36616
36617         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
36618
36619 2007-08-28  Jim Meyering  <jim@meyering.net>
36620
36621         Rename mreadlink_with_size to areadlink_with_size.
36622         * NEWS: Document the change.
36623         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
36624         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
36625         * lib/mreadlink.h: Rename this to...
36626         * lib/areadlink.h: ...this.
36627         * modules/mreadlink-with-size: Rename this to...
36628         * modules/areadlink-with-size: ...this.
36629         * lib/canonicalize.c: Reflect the renaming.
36630         * modules/canonicalize: Likewise.
36631
36632 2007-08-26  Bruno Haible  <bruno@clisp.org>
36633
36634         * gnulib-tool (func_import): When deciding which files to remove,
36635         consider also dangling symbolic links.
36636         Reported by Eric Blake.
36637
36638 2007-08-26  Bruno Haible  <bruno@clisp.org>
36639
36640         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
36641
36642 2007-08-23  Simon Josefsson  <simon@josefsson.org>
36643
36644         * lib/readline.c: Don't include getline.h, the prototype is now
36645         found in stdio.h.
36646
36647 2007-08-23  Jim Meyering  <jim@meyering.net>
36648
36649         Getdelim touchup.
36650         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
36651         around the funlockfile call, since funlockfile never sets errno.
36652         Don't set errno upon failed realloc.
36653
36654 2007-08-22  Eric Blake  <ebb9@byu.net>
36655
36656         Getline touchups.
36657         * lib/getdelim.c (getdelim): Revert regression that required *n to
36658         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
36659         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
36660         getdelim, rather than whether implementation is missing.
36661         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
36662         * lib/stdio_.h (getline): Also declare if replacement is
36663         required.
36664         * doc/functions/getdelim.texi: New file.
36665         * doc/functions/getline.texi: Likewise.
36666         * doc/gnulib.texi (Function Substitutes): Add new files.
36667         Reported by Bruno Haible.
36668
36669 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
36670
36671         * users.txt: Add Guile.
36672
36673 2007-08-22  Eric Blake  <ebb9@byu.net>
36674
36675         * tests/test-getdelim.c (main): Use remove, not unlink.
36676         * tests/test-getline.c (main): Likewise.
36677
36678         Move getline and getdelim into stdio.h, per POSIX 200x.
36679         * modules/getline (Files): Remove getline.h.
36680         (Depends-on): Add stdio.
36681         (configure.ac): Add module indicator.
36682         * modules/getdelim (Files): Remove getdelim.h.
36683         (Depends-on): Add stdio.
36684         (configure.ac): Add module indicator.
36685         * modules/stdio (Makefile.am): Work with new indicators.
36686         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
36687         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
36688         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
36689         * lib/getdelim.h: Delete.
36690         * lib/getline.h: Delete.
36691         * lib/stdio_.h (getdelim, getline): Declare.
36692         * modules/getdelim-tests: New module.
36693         * modules/getline-tests: Likewise.
36694         * tests/test-getdelim.c: New file.
36695         * tests/test-getline.c: Likewise.
36696         * NEWS: Document the change.
36697         * lib/getline.c: Update choice of header.
36698         * lib/csharpcomp.c: Likewise.
36699         * lib/getpass.c: Likewise.
36700         * lib/javacomp.c: Likewise.
36701         * lib/javaversion.c: Likewise.
36702         * lib/yesno.c: Likewise.
36703         * lib/getdelim.c: Likewise.
36704         (getdelim): Set errno on failure, and avoid memory leak.
36705
36706 2007-08-19  Bruno Haible  <bruno@clisp.org>
36707
36708         * modules/closein (Depends-on): Add freadahead.
36709         * lib/closein.c: Include freadahead.h.
36710         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
36711         is zero.
36712
36713 2007-08-19  Bruno Haible  <bruno@clisp.org>
36714
36715         * modules/freadahead-tests: New file.
36716         * tests/test-freadahead.sh: New file.
36717         * tests/test-freadahead.c: New file.
36718
36719         * modules/freadahead: New file.
36720         * lib/freadahead.h: New file.
36721         * lib/freadahead.c: New file.
36722         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
36723         fbufmode, fpurge, freadable, fwritable.
36724
36725 2007-08-19  Eric Blake  <ebb9@byu.net>
36726
36727         Test yesno in combination with closein.
36728         * lib/yesno.c (yesno): Document use of stdin.
36729         * modules/yesno-tests (Files): New module.
36730         * tests/test-yesno.c (main): New file.
36731         * tests/test-yesno.sh: Likewise.
36732
36733 2007-08-19  Bruno Haible  <bruno@clisp.org>
36734
36735         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
36736         * lib/fseeko.c (rpl_fseeko): Likewise.
36737         * lib/fseterr.c (fseterr): Likewise.
36738
36739 2007-08-19  Bruno Haible  <bruno@clisp.org>
36740
36741         * tests/test-lseek.c (main): Disable a test for BeOS.
36742         * doc/functions/lseek.texi: Document the BeOS bug.
36743
36744 2007-08-19  Bruno Haible  <bruno@clisp.org>
36745             Eric Blake  <ebb9@byu.net>
36746
36747         * lib/lseek.c: Include <sys/stat.h>.
36748         (rpl_lseek): Add workaround code also for Unix platforms.
36749         Needed for BeOS.
36750         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
36751         * doc/functions/lseek.texi: Document BeOS definiency.
36752
36753 2007-08-18  Bruno Haible  <bruno@clisp.org>
36754
36755         * modules/fstrcmp-tests: New file.
36756         * tests/test-fstrcmp.c: New file.
36757
36758 2007-08-18  Bruno Haible  <bruno@clisp.org>
36759
36760         * modules/fstrcmp: New file, from GNU gettext with modifications.
36761         * lib/fstrcmp.h: New file, from GNU gettext.
36762         * lib/fstrcmp.c: New file, from GNU gettext.
36763         * MODULES.html.sh (String handling): Add fstrcmp.
36764
36765 2007-08-18  Bruno Haible  <bruno@clisp.org>
36766
36767         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
36768         'bool'.
36769         (diag, compareseq): Remove const from the ctxt argument.
36770         (USE_HEURISTIC): Undefine at the end.
36771
36772 2007-08-18  Jim Meyering  <jim@meyering.net>
36773
36774         New file: lib/idcache.h
36775         * NEWS: Mention the addition.
36776         * modules/idcache (Files): Add lib/idcache.h
36777         * lib/idcache.c: Include "idcache.h".
36778         Don't include <sys/types.h>.
36779         Add a FIXME comment.
36780         Move file-scoped "static" declarations to the top.
36781         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
36782
36783 2007-08-17  Bruno Haible  <bruno@clisp.org>
36784         and Paul Eggert  <eggert@cs.ucla.edu>
36785
36786         * MODULES.html.sh: Add diffseq.
36787         * modules/diffseq: New file.
36788         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
36789         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
36790
36791 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
36792
36793         Import changes from coreutils for bootstrap script.
36794
36795         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
36796
36797         * build-aux/bootstrap (slurp): Work even in environments where
36798         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
36799         current code does not slurp files whose names start with ".", and
36800         this looks like it might be a troublesome area.
36801
36802         2007-07-11  Jim Meyering  <jim@meyering.net>
36803
36804         If there's a GPL vN copyright comment, require that N == 3.
36805
36806         2007-07-08  Jim Meyering  <jim@meyering.net>
36807
36808         Run the coreutils-specific code only if tests/Makefile.am.in exists.
36809         * build-aux/bootstrap (mam_template): Move definition out of loop.
36810
36811         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
36812
36813         * build-aux/bootstrap (symlink_to_dir): Rename function from
36814         symlink_to_gnulib.  Add a directory parameter.  Update all
36815         callers.
36816         (cp_mark_as_generated): Also check for -- and link to -- files in
36817         gl/.
36818
36819         2007-07-08  Jim Meyering  <jim@meyering.net>
36820
36821         Adapt to deeper hierarchy in gnulib.
36822         * build-aux/bootstrap (symlink_to_dir): If the destination
36823         directory doesn't exist, create it. This is required at least for
36824         "lib/uniwidth/cjk.h".
36825
36826         2007-05-15  Jim Meyering  <jim@meyering.net>
36827
36828         * build-aux/bootstrap: Now that generated Makefile.am files
36829         are no longer under version control, they must be created at
36830         bootstrap time.
36831
36832 2007-08-14  Ben Pfaff  <blp@gnu.org>
36833
36834         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
36835
36836 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
36837
36838         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
36839         given the changes below.
36840         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
36841         even on hosts that have padding bits beyond the supported 64.
36842
36843 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
36844
36845         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
36846         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
36847         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
36848         depends on it.
36849         (xstrtol_error): Remove.
36850         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
36851         but with a different signature.
36852         (ATTRIBUTE_NORETURN, __attribute__): New macros.
36853         * lib/xstrtol-error.c: Include exitfail.h.
36854         (xstrtol_fatal): New function, with a different signature from the
36855         old xstrtol_error, so that the caller need not worry about passing
36856         in an exit status, or about storage management of the option argument.
36857         (xstrtol_error): Now a static function.  Redo signature to
36858         implement xstrtol_fatal.  Output the correct number of hyphens in
36859         front of the option so that the caller need not worry about
36860         storage management.
36861         (N_): New macro.
36862         (_): Remove; not used now.
36863         * modules/xstrtol: Depend on getopt.
36864         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
36865         of old STRTOL_FATAL_ERROR macro.
36866         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
36867         of test program.
36868         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
36869         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
36870
36871 2007-08-08  Eric Blake  <ebb9@byu.net>
36872
36873         * lib/xstrtol-error.c: Add missing include.
36874
36875         Move xstrtol messages into gnulib domain, when --pobase is used.
36876         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
36877         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
36878         * modules/xstrtol (Files): Distribute new file.
36879         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
36880         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
36881         * tests/test-xstrtol.c: ...into new file.
36882         * tests/test-xstrtoul.c: Also test xstrtoul.
36883         * tests/test-xstrtoimax.c: Also test xstrtoimax.
36884         * tests/test-xstrtoumax.c: Also test xstrtoumax.
36885         * tests/test-xstrtol.sh: Drive the tests.
36886         * tests/test-xstrtoimax.sh: Likewise.
36887         * tests/test-xstrtoumax.sh: Likewise.
36888         * modules/xstrtol-tests: New module.
36889         * modules/xstrtoimax-tests: Likewise.
36890         * modules/xstrtoumax-tests: Likewise.
36891
36892 2007-08-08  Jim Meyering  <jim@meyering.net>
36893
36894         New function: mfile_name_concat.
36895         * lib/filenamecat.c (mfile_name_concat): New function, just like
36896         file_name_concat, but return NULL upon failure rather than exiting
36897         with a diagnostic.
36898         * lib/filenamecat.h: Declare it.
36899
36900 2007-08-07  Bruno Haible  <bruno@clisp.org>
36901
36902         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
36903         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
36904         warning from gcc.
36905         Reported by Eric Blake.
36906
36907 2007-08-07  Simon Josefsson  <simon@josefsson.org>
36908
36909         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
36910         * modules/crypto/arcfour (License): Likewise.
36911         * modules/crypto/des-tests (License): Likewise.
36912         * modules/crypto/gc-arctwo-tests (License): Likewise.
36913         * modules/crypto/gc-des-tests (License): Likewise.
36914         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
36915         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
36916         * modules/crypto/gc-md2-tests (License): Likewise.
36917         * modules/crypto/gc-md4-tests (License): Likewise.
36918         * modules/crypto/gc-md5-tests (License): Likewise.
36919         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
36920         * modules/crypto/gc-rijndael-tests (License): Likewise.
36921         * modules/crypto/gc-sha1-tests (License): Likewise.
36922         * modules/crypto/gc-tests (License): Likewise.
36923         * modules/crypto/hmac-md5 (License): Likewise.
36924         * modules/crypto/hmac-sha1 (License): Likewise.
36925         * modules/crypto/md2-tests (License): Likewise.
36926         * modules/crypto/md4-tests (License): Likewise.
36927         * modules/crypto/md5 (License): Likewise.
36928         * modules/crypto/rijndael (License): Likewise.
36929         * modules/crypto/sha1 (License): Likewise.
36930         * modules/memxor (License): Likewise.
36931
36932 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
36933         and Bruno Haible  <bruno@clisp.org>
36934
36935         * NEWS: Describe interface changes to human, xstrtol.
36936         * lib/human.h: Include <xstrtol.h>.
36937         (human_options): Return enum strtol_error, not int.  Remove
36938         bool arg; take int * instead.
36939         * lib/human.c: Don't include "gettext.h".
36940         (_): Remove; no longer used.
36941         Don't include <xstrtol.h>, since human.h does it.
36942         (human_options): Adjust to abovementioned interface changes.
36943         Do not report error to stderr; that's now the caller's
36944         responsibility.
36945         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
36946         interface change.
36947         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
36948         Str, Argument_type_string.  All uses changed.  Put " argument"
36949         in diagnostics to make them clearer.  Change wording of suffix
36950         message for clarity.
36951         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
36952         Argument_type_string.
36953         (STRTOL_FATAL_WARN): Remove; no longer used.
36954         * modules/human (Depends-on): Remove gettext-h.
36955
36956 2007-08-06  Simon Josefsson  <simon@josefsson.org>
36957
36958         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
36959
36960 2007-07-31  Bruno Haible  <bruno@clisp.org>
36961
36962         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
36963         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
36964         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
36965
36966 2007-07-31  Bruno Haible  <bruno@clisp.org>
36967
36968         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
36969         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
36970
36971 2007-07-30  Bruno Haible  <bruno@clisp.org>
36972
36973         * modules/base64 (License): Use the synonymous term "LGPLv2+".
36974         * modules/c-ctype (License): Likewise.
36975         * modules/c-strcase (License): Likewise.
36976         * modules/check-version (License): Likewise.
36977         * modules/iconv (License): Likewise.
36978         * modules/iconv_open (License): Likewise.
36979         * modules/read-file (License): Likewise.
36980         * modules/striconv (License): Likewise.
36981         * modules/strverscmp (License): Likewise.
36982         * modules/vasprintf (License): Likewise.
36983         * modules/crypto/des (License): Likewise.
36984         * modules/crypto/gc (License): Likewise.
36985         * modules/crypto/gc-arcfour (License): Likewise.
36986         * modules/crypto/gc-arctwo (License): Likewise.
36987         * modules/crypto/gc-des (License): Likewise.
36988         * modules/crypto/gc-hmac-md5 (License): Likewise.
36989         * modules/crypto/gc-hmac-sha1 (License): Likewise.
36990         * modules/crypto/gc-md2 (License): Likewise.
36991         * modules/crypto/gc-md4 (License): Likewise.
36992         * modules/crypto/gc-md5 (License): Likewise.
36993         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
36994         * modules/crypto/gc-random (License): Likewise.
36995         * modules/crypto/gc-rijndael (License): Likewise.
36996         * modules/crypto/gc-sha1 (License): Likewise.
36997         * modules/crypto/md2 (License): Likewise.
36998         * modules/crypto/md4 (License): Likewise.
36999
37000 2007-07-30  Jim Meyering  <jim@meyering.net>
37001
37002         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
37003         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
37004         it has valid stat data.  This bug would cause du not to count the
37005         sizes of inaccessible directories.
37006         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
37007         in <http://bugzilla.redhat.com/250077>.
37008
37009 2007-07-25  Peter O'Gorman  <peter@pogma.com>
37010             Bruno Haible  <bruno@clisp.org>
37011
37012         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
37013         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
37014         #include_next, gives a diagnostic about it, but reports no error in
37015         the exit code.
37016         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
37017
37018 2007-07-24  Ben Pfaff  <blp@gnu.org>
37019
37020         Improve name: "count-one-bits" is better than "popcount".
37021         * MODULES.html.sh: Update name.
37022         * lib/popcount.h: Renamed lib/count-one-bits.h.
37023         (popcount): Renamed count_one_bits.
37024         (popcountl): Renamed count_one_bits_l.
37025         (popcountll): Renamed count_one_bits_ll.
37026         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
37027         * modules/popcount: Renamed module/count-one-bits.
37028         * modules/popcount-tests: Renamed module/count-one-bits-tests.
37029         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
37030
37031 2007-07-23  Ben Pfaff  <blp@gnu.org>
37032
37033         * lib/popcount.h (popcount32): Reduce size of constants, to allow
37034         better code generation, and add U to large constants to avoid
37035         warnings, in non-GCC case.
37036         Suggested by Bruno Haible.
37037
37038 2007-07-23  Ben Pfaff  <blp@gnu.org>
37039
37040         * lib/popcount.h: Use verify_true instead of if...abort.
37041         * modules/popcount: Depend on verify module.
37042         Suggested by Jim Meyering.
37043
37044 2007-07-23  Bruno Haible  <bruno@clisp.org>
37045
37046         * gnulib-tool (func_import): Create a .cvsignore file also when the
37047         directory is not yet in CVS but the toplevel directory is. When
37048         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
37049         Reported by Karl Berry.
37050
37051 2007-07-22  Ben Pfaff  <blp@gnu.org>
37052
37053         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
37054         case.
37055         Suggested by Eric Blake.
37056
37057 2007-07-22  Ben Pfaff  <blp@gnu.org>
37058
37059         New module: popcount.
37060         * MODULES.html.sh: Add popcount.
37061         * modules/popcount: New file.
37062         * modules/popcount-tests: New file.
37063         * tests/test-popcount.c: New file.
37064         * lib/popcount.h: New file.
37065         * m4/popcount.m4: New file.
37066
37067 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
37068
37069         * build-aux/announce-gen: Update to GPLv3.
37070
37071         * build-aux/config.guess: Update from config.
37072
37073 2007-07-21  Bruno Haible  <bruno@clisp.org>
37074
37075         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
37076         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
37077
37078 2007-07-20  Jim Meyering  <jim@meyering.net>
37079
37080         * check-module: Diagnose a self-dependency.
37081
37082 2007-07-19  Bruno Haible  <bruno@clisp.org>
37083
37084         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
37085         empty.
37086         Reported by Eric Blake.
37087
37088 2007-07-18  Bruno Haible  <bruno@clisp.org>
37089
37090         * gnulib-tool: New options --po-base, --po-domain.
37091         (func_usage): Document them.
37092         (pobase, po_domain): New variables.
37093         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
37094         DEFAULT_TEXT_DOMAIN.
37095         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
37096         (func_import): Consider pobase and po_domain. Create a po/ directory.
37097         (func_create_testdir): Set pobase and po_domain to empty.
37098         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
37099         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
37100
37101 2007-07-18  Bruno Haible  <bruno@clisp.org>
37102
37103         * gnulib-tool (func_get_automake_snippet): Synthesize also an
37104         EXTRA_DIST augmentation for files in build-aux/.
37105
37106 2007-07-16  Bruno Haible  <bruno@clisp.org>
37107
37108         * modules/lseek (License): Use the synonymous term "LGPLv2+".
37109         * modules/getdelim (License): Likewise.
37110
37111 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37112
37113         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
37114         * modules/d-type (License): Likewise.
37115         * modules/extensions (License): Likewise.
37116         * modules/fnmatch (License): Likewise.
37117         * modules/fseeko (License): Likewise.
37118         * modules/getaddrinfo (License): Likewise.
37119         * modules/getline (License): Likewise.
37120         * modules/getlogin_r (License): Likewise.
37121         * modules/getpass (License): Likewise.
37122         * modules/gettimeofday (License): Likewise.
37123         * modules/glob (License): Likewise.
37124         * modules/inet_ntop (License): Likewise.
37125         * modules/malloc (License): Likewise.
37126         * modules/malloca (License): Likewise.
37127         * modules/memmem (License): Likewise.
37128         * modules/mempcpy (License): Likewise.
37129         * modules/memset (License): Likewise.
37130         * modules/minmax (License): Likewise.
37131         * modules/mktime (License): Likewise.
37132         * modules/netinet_in (License): Likewise.
37133         * modules/pathmax (License): Likewise.
37134         * modules/poll (License): Likewise.
37135         * modules/regex (License): Likewise.
37136         * modules/snprintf (License): Likewise.
37137         * modules/stdbool (License): Likewise.
37138         * modules/stdint (License): Likewise.
37139         * modules/stdio (License): Likewise.
37140         * modules/strcase (License): Likewise.
37141         * modules/strcasestr (License): Likewise.
37142         * modules/strdup (License): Likewise.
37143         * modules/string (License): Likewise.
37144         * modules/strndup (License): Likewise.
37145         * modules/strnlen (License): Likewise.
37146         * modules/strpbrk (License): Likewise.
37147         * modules/strptime (License): Likewise.
37148         * modules/strsep (License): Likewise.
37149         * modules/sys_select (License): Likewise.
37150         * modules/sys_socket (License): Likewise.
37151         * modules/sys_stat (License): Likewise.
37152         * modules/sys_time (License): Likewise.
37153         * modules/time (License): Likewise.
37154         * modules/time_r (License): Likewise.
37155         * modules/timegm (License): Likewise.
37156         * modules/unistd (License): Likewise.
37157         * modules/vsnprintf (License): Likewise.
37158         * modules/wctype (License): Likewise.
37159
37160 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37161
37162         * modules/argz (License): LGPLv2+.
37163
37164 2007-07-15  Karl Berry  <karl@gnu.org>
37165
37166         * doc/gnulib.texi: revise node structure per new fdl.texi.
37167
37168 2007-07-14  Bruno Haible  <bruno@clisp.org>
37169
37170         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
37171         the output file.
37172         * lib/uniname/uninames.h: Regenerated.
37173
37174 2007-07-14  Karl Berry  <karl@gnu.org>
37175
37176         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
37177         omitting sectioning and index commands.
37178
37179 2007-07-13  Bruno Haible  <bruno@clisp.org>
37180
37181         New gnulib-tool option --more-symlinks.
37182         * gnulib-tool (func_usage): Document --more-symlinks.
37183         (do_copyrights): New variable.
37184         Recognize option --more-symlinks.
37185         (func_import): Don't add a copyright notice transform to
37186         sed_transform_lib_file if do_copyrights is empty.
37187
37188 2007-07-13  Bruno Haible  <bruno@clisp.org>
37189
37190         * lib/vasnprintf.c (decimal_point_char): Define also if
37191         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
37192         && !NEED_PRINTF_DIRECTIVE_A.
37193         Reported by Clemens Koller <clemens.koller@anagramm.de> via
37194         Gary V. Vaughan <gary@gnu.org>.
37195
37196 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
37197
37198         * lib/inttypes_.h: Undo previous change, since it was fixed
37199         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
37200
37201 2007-07-13  Bruno Haible  <bruno@clisp.org>
37202
37203         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
37204         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
37205
37206 2007-07-13  Jim Meyering  <jim@meyering.net>
37207
37208         df: Don't fail for Tru64's "file-on-file mount".
37209         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
37210         so we fall through and use statfs instead.  Details here:
37211         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
37212         Reported by Albert Chin.
37213
37214 2007-07-13  Bruno Haible  <bruno@clisp.org>
37215
37216         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
37217         * modules/configmake (License): Likewise.
37218         * modules/gettext (License): Likewise.
37219         * modules/gettext-h (License): Likewise.
37220         * modules/include_next (License): Likewise.
37221         * modules/link-warning (License): Likewise.
37222         * modules/localcharset (License): Likewise.
37223         * modules/localename (License): Likewise.
37224         * modules/lock (License): Likewise.
37225         * modules/relocatable-lib-lgpl (License): Likewise.
37226         * modules/size_max (License): Likewise.
37227         * modules/vasnprintf (License): Likewise.
37228         * modules/wchar (License): Likewise.
37229         * modules/xsize (License): Likewise.
37230
37231 2007-07-13  Bruno Haible  <bruno@clisp.org>
37232
37233         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
37234         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
37235
37236 2007-07-12  Bruno Haible  <bruno@clisp.org>
37237
37238         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
37239         in the modules files.
37240
37241 2007-07-11  Karl Berry  <karl@gnu.org>
37242
37243         * MODULES.html.sh (func_module): use
37244          sed -e '\|^'"${includefile}"'$|d'
37245          instead of /.../d, to avoid errors on $includefile's containing /.
37246
37247 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
37248
37249         * gnulib-tool (func_import): Avoid duplication of --avoid
37250         statements
37251         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
37252         names to `_' in variable names.
37253
37254 2007-07-10  Eric Blake  <ebb9@byu.net>
37255
37256         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
37257         * NEWS: Document this change.
37258
37259 2007-07-08  Bruno Haible  <bruno@clisp.org>
37260
37261         Update to Unicode 5.0.
37262         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
37263         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
37264         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
37265         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
37266         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
37267         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
37268         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
37269         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
37270         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
37271         U+10A3F, U+1D242..U+1D244.
37272         (nonspacing_table_ind): Update.
37273         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
37274         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
37275
37276 2007-07-08  Bruno Haible  <bruno@clisp.org>
37277
37278         Update to Unicode 5.0.
37279         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
37280         code transform. Extend the name index field of unicode_name_to_code and
37281         unicode_code_to_name from 16 to 24 bits.
37282         * lib/uniname/uniname.c (unicode_character_name,
37283         unicode_name_character): Add the range 0x12xxx to the code transform.
37284         * lib/uniname/uninames.h: Regenerated.
37285         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
37286
37287 2007-07-07  Bruno Haible  <bruno@clisp.org>
37288
37289         * modules/wcwidth-tests: New file.
37290         * tests/test-wcwidth.c: New file.
37291
37292         Work around MacOS X wcwidth() bug.
37293         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
37294         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
37295         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
37296         original wcwidth in non-UTF-8 locales.
37297         * modules/wcwidth (Depends-on): Add localcharset, streq,
37298         uniwidth/width.
37299         * doc/functions/wcwidth.texi: Update.
37300
37301 2007-07-07  Bruno Haible  <bruno@clisp.org>
37302
37303         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
37304         (wcwidth): New declaration.
37305         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
37306         macros.
37307         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
37308         here. Prepare for creating <wchar.h> unconditionally.
37309         * modules/wchar (Depends-on): Add link-warning.
37310         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
37311         REPLACE_WCWIDTH, and GL_LINK_WARNING.
37312         * lib/wcwidth.h: Remove file.
37313         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
37314         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
37315         * modules/wcwidth (Files): Remove lib/wcwidth.h.
37316         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
37317         (Include): Replace wcwidth.h with <wchar.h>.
37318         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
37319         * lib/mbchar.h: Don't include wcwidth.h.
37320         * lib/mbswidth.c: Likewise.
37321         * NEWS: Mention the change.
37322
37323 2007-07-07  Bruno Haible  <bruno@clisp.org>
37324
37325         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
37326         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
37327         definition with an external declaration.
37328         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
37329         defined as a function. Remove AC_C_INLINE requirement.
37330         * modules/wcwidth (Files): Add lib/wcwidth.c.
37331         (Makefile.am): Remove redundant statement.
37332
37333 2007-07-07  Bruno Haible  <bruno@clisp.org>
37334
37335         * MODULES.html.sh (Unicode string functions): Add the new modules.
37336
37337         * tests/uniwidth/test-u32-strwidth.c: New file.
37338         * modules/uniwidth/u32-strwidth-tests: New file.
37339
37340         * lib/uniwidth/u32-strwidth.c: New file.
37341         * modules/uniwidth/u32-strwidth: New file.
37342
37343         * tests/uniwidth/test-u16-strwidth.c: New file.
37344         * modules/uniwidth/u16-strwidth-tests: New file.
37345
37346         * lib/uniwidth/u16-strwidth.c: New file.
37347         * modules/uniwidth/u16-strwidth: New file.
37348
37349         * tests/uniwidth/test-u8-strwidth.c: New file.
37350         * modules/uniwidth/u8-strwidth-tests: New file.
37351
37352         * lib/uniwidth/u8-strwidth.c: New file.
37353         * modules/uniwidth/u8-strwidth: New file.
37354
37355         * tests/uniwidth/test-u32-width.c: New file.
37356         * modules/uniwidth/u32-width-tests: New file.
37357
37358         * lib/uniwidth/u32-width.c: New file.
37359         * modules/uniwidth/u32-width: New file.
37360
37361         * tests/uniwidth/test-u16-width.c: New file.
37362         * modules/uniwidth/u16-width-tests: New file.
37363
37364         * lib/uniwidth/u16-width.c: New file.
37365         * modules/uniwidth/u16-width: New file.
37366
37367         * tests/uniwidth/test-u8-width.c: New file.
37368         * modules/uniwidth/u8-width-tests: New file.
37369
37370         * lib/uniwidth/u8-width.c: New file.
37371         * modules/uniwidth/u8-width: New file.
37372
37373         * tests/uniwidth/test-uc_width.c: New file.
37374         * modules/uniwidth/width-tests: New file.
37375
37376         * lib/uniwidth/width.c: New file, from GNU libiconv.
37377         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
37378         * modules/uniwidth/width: New file.
37379
37380         * lib/uniwidth.h: New file, from GNU libiconv.
37381         * modules/uniwidth/base: New file.
37382
37383 2007-07-07  Bruno Haible  <bruno@clisp.org>
37384
37385         * lib/uniname.h: New file, from GNU gettext.
37386         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
37387         * lib/uniname/uninames.h: New file, from GNU gettext.
37388         * lib/uniname/uniname.c: New file, from GNU gettext.
37389         * tests/uniname/test-uninames.sh: New file.
37390         * tests/uniname/test-uninames.c: New file, from GNU gettext.
37391         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
37392         * modules/uniname/base: New file.
37393         * modules/uniname/uniname: New file.
37394         * modules/uniname/uniname-tests: New file.
37395         * MODULES.html.sh (Unicode string functions): Add the new modules.
37396
37397 2007-07-06  Bruno Haible  <bruno@clisp.org>
37398
37399         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
37400
37401 2007-07-06  Bruno Haible  <bruno@clisp.org>
37402
37403         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
37404         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
37405         includes <cygwin/sys_time.h> which includes <sys/select.h> which
37406         include <sys/time.h>.
37407         Reported by Eric Blake.
37408
37409 2007-07-06  Eric Blake  <ebb9@byu.net>
37410
37411         Fix testing canonicalize on cygwin.
37412         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
37413         Revert patch from 2007-06-19.
37414         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
37415         canonicalize module is also in use.
37416         * tests/test-canonicalize.c: New file.
37417         * tests/test-canonicalize.sh: Likewise.
37418         * modules/canonicalize-tests: Likewise.
37419
37420 2007-07-06  Jim Meyering  <jim@meyering.net>
37421
37422         * lib/getugroups.c (getugroups): Detect getgrent failure.
37423         Adjust comment to reflect reality: this function may return -1.
37424
37425 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
37426
37427         * build-aux/bootstrap (TP_URL,get_translations): Update to use
37428         the new TP address.
37429         (usage): Fix typo
37430         (gnulib_mk): New variable.
37431
37432 2007-07-05  Jim Meyering  <jim@meyering.net>
37433
37434         Don't let endgrent clobber errno, no matter how improbable.
37435         * lib/getugroups.c (getugroups): Save and restore errno around
37436         endgrent call.
37437
37438         Close the group DB even when failing with 2^31 or more members.
37439         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
37440
37441 2007-07-04  Jim Meyering  <jim@meyering.net>
37442
37443         * lib/getugroups.h: New file.
37444         * lib/getugroups.c: Include "getugroups.h".
37445         Remove uses of "register" keyword.
37446         Move local variable, "cp", down into scope where used.
37447         Give "username" parameter the "const" attribute.
37448         * modules/getugroups (Files): Add lib/getugroups.h
37449
37450 2007-07-04  Karl Berry  <karl@gnu.org>
37451
37452         * MODULES.html.sh (func_all_modules): Complete rename of
37453         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
37454
37455 2007-07-02  Bruno Haible  <bruno@clisp.org>
37456
37457         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
37458         mode, when inttypes.h comes from gnulib.
37459         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
37460
37461 2007-07-02  Simon Josefsson  <simon@josefsson.org>
37462
37463         * NEWS: Mention lgpl module name change.
37464
37465         * modules/lgpl-2.1: Renamed from lgpl.
37466
37467         * NEWS: Mention gpl module name change.
37468
37469         * modules/gpl-3.0: New file, based on gpl-2.0.
37470
37471         * modules/gpl-2.0: Renamed from gpl.
37472
37473         * modules/gpl: Fix filename, doc/gpl.texi is now found at
37474         doc/gpl-2.0.texi.
37475
37476 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
37477
37478         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
37479         #define __STDC_LIMIT_MACROS temporarily while including
37480         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
37481         Problem reported by Joel E. Denny in
37482         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
37483
37484 2007-07-01  Bruno Haible  <bruno@clisp.org>
37485
37486         * lib/unistdio.h: New file.
37487         * lib/unistdio/u-asnprintf.h: New file.
37488         * lib/unistdio/u-asprintf.h: New file.
37489         * lib/unistdio/u-printf-args.c: New file.
37490         * lib/unistdio/u-printf-args.h: New file.
37491         * lib/unistdio/u-printf-parse.h: New file.
37492         * lib/unistdio/u-snprintf.h: New file.
37493         * lib/unistdio/u-sprintf.h: New file.
37494         * lib/unistdio/u-vasprintf.h: New file.
37495         * lib/unistdio/u-vsnprintf.h: New file.
37496         * lib/unistdio/u-vsprintf.h: New file.
37497         * lib/unistdio/ulc-asnprintf.c: New file.
37498         * lib/unistdio/ulc-asprintf.c: New file.
37499         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
37500         * lib/unistdio/ulc-printf-parse.c: New file.
37501         * lib/unistdio/ulc-snprintf.c: New file.
37502         * lib/unistdio/ulc-sprintf.c: New file.
37503         * lib/unistdio/ulc-vasnprintf.c: New file.
37504         * lib/unistdio/ulc-vasprintf.c: New file.
37505         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
37506         * lib/unistdio/ulc-vsnprintf.c: New file.
37507         * lib/unistdio/ulc-vsprintf.c: New file.
37508         * lib/unistdio/u8-asnprintf.c: New file.
37509         * lib/unistdio/u8-asprintf.c: New file.
37510         * lib/unistdio/u8-printf-parse.c: New file.
37511         * lib/unistdio/u8-snprintf.c: New file.
37512         * lib/unistdio/u8-sprintf.c: New file.
37513         * lib/unistdio/u8-vasnprintf.c: New file.
37514         * lib/unistdio/u8-vasprintf.c: New file.
37515         * lib/unistdio/u8-vsnprintf.c: New file.
37516         * lib/unistdio/u8-vsprintf.c: New file.
37517         * lib/unistdio/u8-u8-asnprintf.c: New file.
37518         * lib/unistdio/u8-u8-asprintf.c: New file.
37519         * lib/unistdio/u8-u8-snprintf.c: New file.
37520         * lib/unistdio/u8-u8-sprintf.c: New file.
37521         * lib/unistdio/u8-u8-vasnprintf.c: New file.
37522         * lib/unistdio/u8-u8-vasprintf.c: New file.
37523         * lib/unistdio/u8-u8-vsnprintf.c: New file.
37524         * lib/unistdio/u8-u8-vsprintf.c: New file.
37525         * lib/unistdio/u16-asnprintf.c: New file.
37526         * lib/unistdio/u16-asprintf.c: New file.
37527         * lib/unistdio/u16-printf-parse.c: New file.
37528         * lib/unistdio/u16-snprintf.c: New file.
37529         * lib/unistdio/u16-sprintf.c: New file.
37530         * lib/unistdio/u16-vasnprintf.c: New file.
37531         * lib/unistdio/u16-vasprintf.c: New file.
37532         * lib/unistdio/u16-vsnprintf.c: New file.
37533         * lib/unistdio/u16-vsprintf.c: New file.
37534         * lib/unistdio/u16-u16-asnprintf.c: New file.
37535         * lib/unistdio/u16-u16-asprintf.c: New file.
37536         * lib/unistdio/u16-u16-snprintf.c: New file.
37537         * lib/unistdio/u16-u16-sprintf.c: New file.
37538         * lib/unistdio/u16-u16-vasnprintf.c: New file.
37539         * lib/unistdio/u16-u16-vasprintf.c: New file.
37540         * lib/unistdio/u16-u16-vsnprintf.c: New file.
37541         * lib/unistdio/u16-u16-vsprintf.c: New file.
37542         * lib/unistdio/u32-asnprintf.c: New file.
37543         * lib/unistdio/u32-asprintf.c: New file.
37544         * lib/unistdio/u32-printf-parse.c: New file.
37545         * lib/unistdio/u32-snprintf.c: New file.
37546         * lib/unistdio/u32-sprintf.c: New file.
37547         * lib/unistdio/u32-vasnprintf.c: New file.
37548         * lib/unistdio/u32-vasprintf.c: New file.
37549         * lib/unistdio/u32-vsnprintf.c: New file.
37550         * lib/unistdio/u32-vsprintf.c: New file.
37551         * lib/unistdio/u32-u32-asnprintf.c: New file.
37552         * lib/unistdio/u32-u32-asprintf.c: New file.
37553         * lib/unistdio/u32-u32-snprintf.c: New file.
37554         * lib/unistdio/u32-u32-sprintf.c: New file.
37555         * lib/unistdio/u32-u32-vasnprintf.c: New file.
37556         * lib/unistdio/u32-u32-vasprintf.c: New file.
37557         * lib/unistdio/u32-u32-vsnprintf.c: New file.
37558         * lib/unistdio/u32-u32-vsprintf.c: New file.
37559         * tests/unistdio/test-ulc-asnprintf1.c: New file.
37560         * tests/unistdio/test-ulc-asnprintf1.h: New file.
37561         * tests/unistdio/test-ulc-printf1.h: New file.
37562         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
37563         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
37564         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
37565         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
37566         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
37567         * tests/unistdio/test-ulc-vasprintf1.c: New file.
37568         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
37569         * tests/unistdio/test-ulc-vsprintf1.c: New file.
37570         * tests/unistdio/test-u8-asnprintf1.c: New file.
37571         * tests/unistdio/test-u8-asnprintf1.h: New file.
37572         * tests/unistdio/test-u8-printf1.h: New file.
37573         * tests/unistdio/test-u8-vasnprintf1.c: New file.
37574         * tests/unistdio/test-u8-vasnprintf2.c: New file.
37575         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
37576         * tests/unistdio/test-u8-vasnprintf3.c: New file.
37577         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
37578         * tests/unistdio/test-u8-vasprintf1.c: New file.
37579         * tests/unistdio/test-u8-vsnprintf1.c: New file.
37580         * tests/unistdio/test-u8-vsprintf1.c: New file.
37581         * tests/unistdio/test-u16-asnprintf1.c: New file.
37582         * tests/unistdio/test-u16-asnprintf1.h: New file.
37583         * tests/unistdio/test-u16-printf1.h: New file.
37584         * tests/unistdio/test-u16-vasnprintf1.c: New file.
37585         * tests/unistdio/test-u16-vasnprintf2.c: New file.
37586         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
37587         * tests/unistdio/test-u16-vasnprintf3.c: New file.
37588         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
37589         * tests/unistdio/test-u16-vasprintf1.c: New file.
37590         * tests/unistdio/test-u16-vsnprintf1.c: New file.
37591         * tests/unistdio/test-u16-vsprintf1.c: New file.
37592         * tests/unistdio/test-u32-asnprintf1.c: New file.
37593         * tests/unistdio/test-u32-asnprintf1.h: New file.
37594         * tests/unistdio/test-u32-printf1.h: New file.
37595         * tests/unistdio/test-u32-vasnprintf1.c: New file.
37596         * tests/unistdio/test-u32-vasnprintf2.c: New file.
37597         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
37598         * tests/unistdio/test-u32-vasnprintf3.c: New file.
37599         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
37600         * tests/unistdio/test-u32-vasprintf1.c: New file.
37601         * tests/unistdio/test-u32-vsnprintf1.c: New file.
37602         * tests/unistdio/test-u32-vsprintf1.c: New file.
37603         * modules/unistdio/base: New file.
37604         * modules/unistdio/u-printf-args: New file.
37605         * modules/unistdio/ulc-asnprintf: New file.
37606         * modules/unistdio/ulc-asprintf: New file.
37607         * modules/unistdio/ulc-fprintf: New file.
37608         * modules/unistdio/ulc-printf-parse: New file.
37609         * modules/unistdio/ulc-snprintf: New file.
37610         * modules/unistdio/ulc-sprintf: New file.
37611         * modules/unistdio/ulc-vasnprintf: New file.
37612         * modules/unistdio/ulc-vasprintf: New file.
37613         * modules/unistdio/ulc-vfprintf: New file.
37614         * modules/unistdio/ulc-vsnprintf: New file.
37615         * modules/unistdio/ulc-vsprintf: New file.
37616         * modules/unistdio/u8-asnprintf: New file.
37617         * modules/unistdio/u8-asprintf: New file.
37618         * modules/unistdio/u8-printf-parse: New file.
37619         * modules/unistdio/u8-snprintf: New file.
37620         * modules/unistdio/u8-sprintf: New file.
37621         * modules/unistdio/u8-vasnprintf: New file.
37622         * modules/unistdio/u8-vasprintf: New file.
37623         * modules/unistdio/u8-vsnprintf: New file.
37624         * modules/unistdio/u8-vsprintf: New file.
37625         * modules/unistdio/u8-u8-asnprintf: New file.
37626         * modules/unistdio/u8-u8-asprintf: New file.
37627         * modules/unistdio/u8-u8-snprintf: New file.
37628         * modules/unistdio/u8-u8-sprintf: New file.
37629         * modules/unistdio/u8-u8-vasnprintf: New file.
37630         * modules/unistdio/u8-u8-vasprintf: New file.
37631         * modules/unistdio/u8-u8-vsnprintf: New file.
37632         * modules/unistdio/u8-u8-vsprintf: New file.
37633         * modules/unistdio/u16-asnprintf: New file.
37634         * modules/unistdio/u16-asprintf: New file.
37635         * modules/unistdio/u16-printf-parse: New file.
37636         * modules/unistdio/u16-snprintf: New file.
37637         * modules/unistdio/u16-sprintf: New file.
37638         * modules/unistdio/u16-vasnprintf: New file.
37639         * modules/unistdio/u16-vasprintf: New file.
37640         * modules/unistdio/u16-vsnprintf: New file.
37641         * modules/unistdio/u16-vsprintf: New file.
37642         * modules/unistdio/u16-u16-asnprintf: New file.
37643         * modules/unistdio/u16-u16-asprintf: New file.
37644         * modules/unistdio/u16-u16-snprintf: New file.
37645         * modules/unistdio/u16-u16-sprintf: New file.
37646         * modules/unistdio/u16-u16-vasnprintf: New file.
37647         * modules/unistdio/u16-u16-vasprintf: New file.
37648         * modules/unistdio/u16-u16-vsnprintf: New file.
37649         * modules/unistdio/u16-u16-vsprintf: New file.
37650         * modules/unistdio/u32-asnprintf: New file.
37651         * modules/unistdio/u32-asprintf: New file.
37652         * modules/unistdio/u32-printf-parse: New file.
37653         * modules/unistdio/u32-snprintf: New file.
37654         * modules/unistdio/u32-sprintf: New file.
37655         * modules/unistdio/u32-vasnprintf: New file.
37656         * modules/unistdio/u32-vasprintf: New file.
37657         * modules/unistdio/u32-vsnprintf: New file.
37658         * modules/unistdio/u32-vsprintf: New file.
37659         * modules/unistdio/u32-u32-asnprintf: New file.
37660         * modules/unistdio/u32-u32-asprintf: New file.
37661         * modules/unistdio/u32-u32-snprintf: New file.
37662         * modules/unistdio/u32-u32-sprintf: New file.
37663         * modules/unistdio/u32-u32-vasnprintf: New file.
37664         * modules/unistdio/u32-u32-vasprintf: New file.
37665         * modules/unistdio/u32-u32-vsnprintf: New file.
37666         * modules/unistdio/u32-u32-vsprintf: New file.
37667         * modules/unistdio/ulc-asnprintf-tests: New file.
37668         * modules/unistdio/ulc-vasnprintf-tests: New file.
37669         * modules/unistdio/ulc-vasprintf-tests: New file.
37670         * modules/unistdio/ulc-vsnprintf-tests: New file.
37671         * modules/unistdio/ulc-vsprintf-tests: New file.
37672         * modules/unistdio/u8-asnprintf-tests: New file.
37673         * modules/unistdio/u8-vasnprintf-tests: New file.
37674         * modules/unistdio/u8-vasprintf-tests: New file.
37675         * modules/unistdio/u8-vsnprintf-tests: New file.
37676         * modules/unistdio/u8-vsprintf-tests: New file.
37677         * modules/unistdio/u16-asnprintf-tests: New file.
37678         * modules/unistdio/u16-vasnprintf-tests: New file.
37679         * modules/unistdio/u16-vasprintf-tests: New file.
37680         * modules/unistdio/u16-vsnprintf-tests: New file.
37681         * modules/unistdio/u16-vsprintf-tests: New file.
37682         * modules/unistdio/u32-asnprintf-tests: New file.
37683         * modules/unistdio/u32-vasnprintf-tests: New file.
37684         * modules/unistdio/u32-vasprintf-tests: New file.
37685         * modules/unistdio/u32-vsnprintf-tests: New file.
37686         * modules/unistdio/u32-vsprintf-tests: New file.
37687         * MODULES.html.sh (Unicode string functions): Add the new modules.
37688
37689 2007-07-01  Bruno Haible  <bruno@clisp.org>
37690
37691         * lib/sprintf.c (sprintf): Limit the available length estimation,
37692         to avoid address wraparound.
37693         * lib/vsprintf.c (vsprintf): Likewise.
37694         * modules/sprintf-posix (Dependencies): Add stdint.
37695         * modules/vsprintf-posix (Dependencies): Likewise.
37696
37697 2007-07-01  Bruno Haible  <bruno@clisp.org>
37698
37699         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
37700         Windows PATH as well. Conservative double-quoting. Comments.
37701
37702 2007-07-01  Bruno Haible  <bruno@clisp.org>
37703             Eric Blake  <ebb9@byu.net>
37704             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37705
37706         * gnulib-tool (self_abspathname): Fix algorithm to cope with
37707         empty components in $PATH, denoting '.'.
37708
37709 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37710
37711         * gnulib-tool: Fix indentation.
37712         (func_create_megatestdir): Likewise.
37713         Report by Bruno Haible.
37714
37715 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37716
37717         Sync from Automake.
37718         * build-aux/gnupload: Fix shell portability issues with for loops.
37719         Report by Karl Berry.
37720
37721 2007-06-29  Simon Josefsson  <simon@josefsson.org>
37722
37723         * build-aux/maint.mk (POURL): Use translationproject.org.
37724
37725 2007-06-27  Simon Josefsson  <simon@josefsson.org>
37726             Bruno Haible  <bruno@clisp.org>
37727
37728         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
37729         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
37730         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
37731         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
37732         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
37733
37734 2007-06-27  Bruno Haible  <bruno@clisp.org>
37735
37736         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
37737         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
37738
37739 2007-06-26  Karl Berry  <karl@gnu.org>
37740
37741         * MODULES.html.sh: remove xreadlink-with-size.
37742
37743 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
37744
37745         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
37746         method that I hope also handles the double-include problem noted
37747         by Bruno Haible in
37748         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
37749
37750 2007-06-23  Bruno Haible  <bruno@clisp.org>
37751
37752         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
37753         Don't let the 'mostlyclean' target fail if the last subdirectory could
37754         not be removed.
37755         Reported by Karl Berry.
37756
37757 2007-06-23  Bruno Haible  <bruno@clisp.org>
37758
37759         * gnulib-tool (echo): Add a speedier workaround for ksh.
37760         * tests/test-echo.sh: Likewise.
37761
37762 2007-06-23  Bruno Haible  <bruno@clisp.org>
37763
37764         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
37765         * tests/test-echo.sh: Likewise.
37766
37767 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37768
37769         * gnulib-tool (IFS): Initialize early, so we don't set it to
37770         empty later.
37771         (self_abspathname): Rewrite algorithm to set it, reindent.
37772         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
37773         (func_create_megatestdir): Merge some sed scripts.
37774
37775 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
37776
37777         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
37778         exposed by Sun Studio 11 cc on Solaris 8.
37779
37780 2007-06-22  Bruno Haible  <bruno@clisp.org>
37781
37782         * gnulib-tool (echo): Ensure the echo primitive does not interpret
37783         backslashes.
37784         * tests/test-echo.sh: New file.
37785
37786 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37787
37788         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
37789         simplify `sed_replace_build_aux' scripts, they are portable but
37790         echoing them with `echo' is not.
37791         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
37792
37793 2007-06-21  Karl Berry  <karl@gnu.org>
37794
37795         * config/srclist.txt: guess we can't handle the licenses via
37796         srclist at the moment.
37797
37798 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
37799
37800         * MODULES.html.sh: Add include_next.
37801         * modules/include_next: New file.
37802
37803 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
37804
37805         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
37806         INCLUDE_NEXT.
37807         (gl_CHECK_NEXT_HEADERS): New macro.
37808         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
37809         the obsolescent gl_ABSOLUTE_HEADER.
37810         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
37811         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
37812         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
37813         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
37814         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
37815         * m4/math_h.m4 (gl_MATH_H): Likewise.
37816         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
37817         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
37818         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
37819         * m4/stdint.m4 (gl_STDINT_H): Likewise.
37820         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
37821         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
37822         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
37823         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
37824         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
37825         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
37826         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
37827         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
37828         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
37829         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
37830         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
37831         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
37832         * m4/inttypes.m4 (gl_INTTYPES_H): Define
37833         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
37834         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
37835         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
37836         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
37837         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
37838         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
37839         * lib/float_.h: Likewise.
37840         * lib/inttypes_.h: Likewise.
37841         * lib/math_.h: Likewise.
37842         * lib/search_.h: Likewise.
37843         * lib/signal_.h: Likewise.
37844         * lib/stdint_.h: Likewise.
37845         * lib/stdio_.h: Likewise.
37846         * lib/stdlib_.h: Likewise.
37847         * lib/string_.h: Likewise.
37848         * lib/sys_stat_.h: Likewise.
37849         * lib/sys_time_.h: Likewise.
37850         * lib/time_.h: Likewise.
37851         * lib/unistd_.h: Likewise.
37852         * lib/wchar_.h: Likewise.
37853         * lib/wctype_.h: Likewise.
37854         * lib/dirent_.h: Likewise.
37855         * lib/iconv_.h: Likewise.
37856         * lib/locale_.h: Likewise.
37857         * lib/netinet_in_.h: Likewise.
37858         * lib/sys_select_.h: Likewise.
37859         * lib/sys_socket_.h: Likewise.
37860         * lib/sysexits_.h: Likewise.
37861         * modules/fcntl (Depends-on): Depend on include_next, not
37862         absolute_header.
37863         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
37864         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
37865         * modules/fchdir: Likewise.
37866         * modules/float: Likewise.
37867         * modules/iconv_open: Likewise.
37868         * modules/inttypes: Likewise.
37869         * modules/locale: Likewise.
37870         * modules/math: Likewise.
37871         * modules/netinet_in: Likewise.
37872         * modules/search: Likewise.
37873         * modules/signal: Likewise.
37874         * modules/stdint: Likewise.
37875         * modules/stdio: Likewise.
37876         * modules/stdlib: Likewise.
37877         * modules/string: Likewise.
37878         * modules/sys_select: Likewise.
37879         * modules/sys_socket: Likewise.
37880         * modules/sys_stat: Likewise.
37881         * modules/sys_time: Likewise.
37882         * modules/sysexits: Likewise.
37883         * modules/time: Likewise.
37884         * modules/unistd: Likewise.
37885         * modules/wchar: Likewise.
37886         * modules/wctype: Likewise.
37887         * modules/sys_stat: Change maintainer to "all".
37888         * modules/unistd: Likewise.
37889
37890 2007-06-20  Karl Berry  <karl@gnu.org>
37891
37892         * config/srclist.txt: track www changes in license files.
37893
37894 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
37895
37896         * build-aux/bootstrap: Remove stray dot.
37897         Make sure build_aux settings are honored when linking
37898         gnulib_extra_files.
37899
37900 2007-06-19  Eric Blake  <ebb9@byu.net>
37901
37902         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
37903         Allow compilation on cygwin.
37904
37905 2007-06-19  Jim Meyering  <jim@meyering.net>
37906
37907         xreadlink-with-size: Remove module.  No longer used.
37908         Ex-callers now use xreadlink or mreadlink-with-size.
37909         * modules/xreadlink-with-size: Remove module.
37910         * lib/xreadlink-with-size.c: Remove file.
37911         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
37912         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
37913         just before the function definition *is* accurate.
37914
37915         Eliminate one way canonicalize_filename_mode could exit.
37916         * lib/canonicalize.c (canonicalize_filename_mode):
37917         Use mreadlink_with_size, not xreadlink_with_size.
37918
37919 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
37920
37921         Detect porting problems to FreeBSD/arm, which has time_t wider than
37922         long int.  Original problem reported for GNU diff by Xin Li in
37923         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
37924         * modules/getdate (Depends-on): Add intprops, verify.
37925         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
37926         is an integer type no wider than long int.
37927
37928 2007-06-18  Jim Meyering  <jim@meyering.net>
37929
37930         New module: mreadlink-with-size.
37931         * MODULES.html.sh: Add mreadlink-with-size.
37932         * modules/mreadlink-with-size: New module
37933         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
37934         not xreadlink-with-size.
37935         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
37936
37937 2007-06-16  Bruno Haible  <bruno@clisp.org>
37938
37939         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
37940         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
37941         Reported by Gary V. Vaughan <gary@gnu.org>.
37942
37943 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
37944
37945         Revamp lchown so that it lives in unistd.h where it belongs.
37946         * lib/lchown.h: Remove.
37947         * lib/dirchownmod.c: Don't include lib/lchown.h.
37948         * lib/fchownat.c: Likewise.
37949         * lib/openat.c: Likewise.
37950         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
37951         does not follow symlinks.
37952         (EOPNOTSUPP): Define if not defined.
37953         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
37954         is defined to 0.
37955         (lchown): New decl.
37956         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
37957         Do not check for lchown decl.
37958         Set REPLACE_LCHOWN.
37959         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
37960         REPLACE_LCHOWN.
37961         * modules/chown: Make it clear it follows symlinks.
37962         * modules/lchown: Make it clear it doesn't follow symlinks.
37963         (Files): Remove lib/lchown.h
37964         (Depends-on): Add unistd.
37965         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
37966         (Include): Include <unistd.h>, not "lchown.h".
37967         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
37968         REPLACE_LCHOWN.
37969
37970 2007-06-15  Jim Meyering  <jim@meyering.net>
37971
37972         Change license (GPL to LGPL) of fsusage and dependents.
37973         * modules/fsusage (License): Change to LGPL.
37974         * modules/full-read (License): Likewise.
37975         * modules/full-write (License): Likewise.
37976         * modules/safe-read (License): Likewise.
37977         * modules/safe-write (License): Likewise.
37978
37979 2007-06-14  Ben Pfaff  <blp@gnu.org>
37980
37981         Missing part of allocsa -> malloca transition.
37982         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
37983         gl_MALLOCA.
37984
37985 2007-06-12  Bruno Haible  <bruno@clisp.org>
37986
37987         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
37988         to ia64, x86_64, i386.
37989         Reported by Eric Blake.
37990
37991 2007-06-12  Bruno Haible  <bruno@clisp.org>
37992
37993         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
37994         cross-compiling to x86_64.
37995
37996 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
37997
37998         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
37999         glitch reported by Ralf Wildenhues in
38000         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
38001
38002         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
38003         Vin Shelton.
38004
38005 2007-06-11  Bruno Haible  <bruno@clisp.org>
38006
38007         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
38008         replacement string.
38009         Reported by Eric Blake.
38010
38011 2007-06-10  Bruno Haible  <bruno@clisp.org>
38012
38013         Prepare vasnprintf code for use with Unicode strings.
38014         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
38015         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
38016         TYPE_U32_STRING.
38017         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
38018         a_u32_string variants.
38019         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
38020         * lib/printf-args.c: Don't include config.h and the specification
38021         header if PRINTF_FETCHARGS is already defined.
38022         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
38023         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
38024         TYPE_U16_STRING, TYPE_U32_STRING.
38025         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
38026         u16_directive, u16_directives, u32_directive, u32_directives): New
38027         types.
38028         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
38029         New declarations.
38030         * lib/printf-parse.c: Don't include config.h and the specification
38031         header if PRINTF_PARSE is already defined. Eliminate the set of
38032         parameters for WIDE_CHAR_VERSION; the user of this file must provide
38033         them now. Include c-ctype.h.
38034         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
38035         directive and CHAR_T_ONLY_ASCII.
38036         * lib/vasnprintf.c: Don't include config.h and the specification header
38037         if VASNPRINTF is already defined.
38038         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
38039         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
38040         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
38041         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
38042         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
38043         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
38044         code accordingly.
38045         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
38046         pad_ourselves also in this case, with the 'c' and 's' directives, and
38047         with a different notion of "width".
38048         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
38049
38050 2007-06-10  Bruno Haible  <bruno@clisp.org>
38051
38052         * modules/unistr/u32-mbsnlen: New file.
38053         * lib/unistr/u32-mbsnlen.c: New file.
38054
38055         * modules/unistr/u16-mbsnlen: New file.
38056         * lib/unistr/u16-mbsnlen.c: New file.
38057
38058         * modules/unistr/u8-mbsnlen: New file.
38059         * lib/unistr/u8-mbsnlen.c: New file.
38060
38061         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
38062         declarations.
38063
38064 2007-06-10  Bruno Haible  <bruno@clisp.org>
38065
38066         * lib/string_.h (mbsnlen): New declaration.
38067         * lib/mbsnlen.c: New file.
38068         * m4/mbsnlen.m4: New file.
38069         * modules/mbsnlen: New file.
38070         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
38071         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
38072         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
38073
38074 2007-06-10  Bruno Haible  <bruno@clisp.org>
38075
38076         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
38077
38078 2007-06-10  Bruno Haible  <bruno@clisp.org>
38079
38080         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
38081         * lib/mbuiter.h: Likewise.
38082
38083 2007-06-10  Bruno Haible  <bruno@clisp.org>
38084
38085         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
38086         declaration.
38087
38088 2007-06-10  Karl Berry  <karl@gnu.org>
38089
38090         * config/srclist.txt: remove gettext entries, Bruno prefers
38091         to update individually.
38092
38093 2007-06-10  Bruno Haible  <bruno@clisp.org>
38094
38095         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
38096         'maxlen'. Ensure only length + width bytes are allocated, not
38097         length + 1 + width.
38098
38099 2007-06-09  Bruno Haible  <bruno@clisp.org>
38100
38101         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
38102         (CHAR_T): Remove macro.
38103         (VASNPRINTF): Update.
38104
38105 2007-06-09  Bruno Haible  <bruno@clisp.org>
38106
38107         * MODULES.html.sh (Unicode string functions): Add the new modules.
38108
38109         * modules/uniconv/u32-conv-to-enc: New file.
38110         * lib/uniconv/u32-conv-to-enc.c: New file.
38111         * modules/uniconv/u32-conv-to-enc-tests: New file.
38112         * tests/uniconv/test-u32-conv-to-enc.c: New file.
38113
38114         * modules/uniconv/u16-conv-to-enc: New file.
38115         * lib/uniconv/u16-conv-to-enc.c: New file.
38116         * lib/uniconv/u-conv-to-enc.h: New file.
38117         * modules/uniconv/u16-conv-to-enc-tests: New file.
38118         * tests/uniconv/test-u16-conv-to-enc.c: New file.
38119
38120         * modules/uniconv/u8-conv-to-enc: New file.
38121         * lib/uniconv/u8-conv-to-enc.c: New file.
38122         * modules/uniconv/u8-conv-to-enc-tests: New file.
38123         * tests/uniconv/test-u8-conv-to-enc.c: New file.
38124
38125         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
38126         u32_conv_to_encoding): New declarations.
38127
38128 2007-06-09  Bruno Haible  <bruno@clisp.org>
38129
38130         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
38131
38132 2007-06-09  Bruno Haible  <bruno@clisp.org>
38133
38134         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
38135         * modules/malloca: Renamed from modules/allocsa, updated.
38136         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
38137         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
38138         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
38139         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
38140         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
38141         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
38142         * modules/xmalloca: Renamed from modules/xallocsa, updated.
38143         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
38144         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
38145         * modules/c-strcasestr (Depends-on): Update.
38146         * lib/c-strcasestr.c: Update.
38147         * modules/c-strstr (Depends-on): Update.
38148         * lib/c-strstr.c: Update.
38149         * modules/canonicalize-lgpl (Depends-on): Update.
38150         * lib/canonicalize-lgpl.c: Update.
38151         * modules/clean-temp (Depends-on): Update.
38152         * lib/clean-temp.c: Update.
38153         * modules/csharpcomp (Depends-on): Update.
38154         * lib/csharpcomp.c: Update.
38155         * modules/csharpexec (Depends-on): Update.
38156         * lib/csharpexec.c: Update.
38157         * modules/javacomp (Depends-on): Update.
38158         * lib/javacomp.c: Update.
38159         * modules/javaexec (Depends-on): Update.
38160         * lib/javaexec.c: Update.
38161         * modules/mbscasestr (Depends-on): Update.
38162         * lib/mbscasestr.c: Update.
38163         * modules/mbsstr (Depends-on): Update.
38164         * lib/mbsstr.c: Update.
38165         * modules/setenv (Depends-on): Update.
38166         * lib/setenv.c: Update.
38167         * modules/strcasestr (Depends-on): Update.
38168         * lib/strcasestr.c: Update.
38169         * modules/striconveha (Depends-on): Update.
38170         * lib/striconveha.c: Update.
38171         * modules/relocatable-prog-wrapper (Files): Update.
38172         * lib/relocwrapper.c: Update.
38173         * build-aux/install-reloc: Update.
38174         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
38175
38176 2007-06-08  Bruno Haible  <bruno@clisp.org>
38177
38178         Port to uClibc.
38179         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
38180         * lib/fpurge.c (fpurge): Likewise.
38181         * lib/freading.c (freading): Likewise.
38182         * lib/fseeko.c (rpl_fseeko): Likewise.
38183         * lib/fseterr.c (fseterr): Likewise.
38184         * lib/fwriting.c (fwriting): Likewise.
38185         * tests/test-fflush.c (main): Avoid a failure on uClibc.
38186
38187 2007-06-08  Bruno Haible  <bruno@clisp.org>
38188
38189         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
38190         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
38191         * modules/gettext (Files): Add m4/intlmacosx.m4.
38192
38193 2007-06-07  Bruno Haible  <bruno@clisp.org>
38194
38195         * modules/localename-tests: New file.
38196         * tests/test-localename.c: New file.
38197
38198         New module 'localename'.
38199         * lib/localename.h: New file.
38200         * lib/localename.c: New file, from GNU gettext.
38201         * m4/localename.m4: New file.
38202         * modules/localename: New file.
38203
38204 2007-06-07  Bruno Haible  <bruno@clisp.org>
38205
38206         Work around the lack of <wchar.h> on some builds of uClibc.
38207         * doc/headers/wchar.texi: Update.
38208         * lib/wchar_.h: Include <wchar.h> only if it exists.
38209         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
38210         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
38211         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
38212         doesn't exist.
38213         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
38214         * modules/mbfile (Depends-on): Add wchar.
38215         * modules/mbiter (Depends-on): Likewise.
38216         * modules/mbuiter (Depends-on): Likewise.
38217         Reported by Simon Josefsson.
38218
38219 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
38220
38221         Work around problem reported by Steven M. Schweda in
38222         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
38223         Tru64 5.1B with the Compaq compiler environment installed declares
38224         an 'isblank' function but does not define it in the C library.
38225         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
38226         * lib/regex_internal.h (isblank): Likewise.
38227         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
38228         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
38229
38230 2007-06-05  Bruno Haible  <bruno@clisp.org>
38231
38232         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
38233         ia64.
38234         * modules/printf-safe: New file.
38235         * modules/fprintf-posix (Depends-on): Add printf-safe.
38236         * modules/printf-posix (Depends-on): Likewise.
38237         * modules/snprintf-posix (Depends-on): Likewise.
38238         * modules/sprintf-posix (Depends-on): Likewise.
38239         * modules/vasnprintf-posix (Depends-on): Likewise.
38240         * modules/vasprintf-posix (Depends-on): Likewise.
38241         * modules/vfprintf-posix (Depends-on): Likewise.
38242         * modules/vprintf-posix (Depends-on): Likewise.
38243         * modules/vsnprintf-posix (Depends-on): Likewise.
38244         * modules/vsprintf-posix (Depends-on): Likewise.
38245         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
38246         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
38247         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
38248         "no" on i386, x86_64, ia64.
38249         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
38250         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
38251         on i386, x86_64, ia64.
38252         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
38253         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
38254         on i386, x86_64, ia64.
38255         * tests/test-vasnprintf-posix.c: Include float.h.
38256         (LDBL80_WORDS): New macro.
38257         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
38258         on i386, x86_64, ia64.
38259         * tests/test-vasprintf-posix.c: Include float.h.
38260         (LDBL80_WORDS): New macro.
38261         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
38262         on i386, x86_64, ia64.
38263         * tests/test-snprintf-posix.c: Include float.h.
38264         * tests/test-sprintf-posix.c: Likewise.
38265         * tests/test-vsnprintf-posix.c: Likewise.
38266         * tests/test-vsprintf-posix.c: Likewise.
38267
38268 2007-06-05  Bruno Haible  <bruno@clisp.org>
38269
38270         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
38271         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
38272         non-IEEE numbers on i386, x86_64, ia64.
38273         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
38274         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
38275         * tests/test-isnanl.h: Include float.h.
38276         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
38277
38278 2007-06-05  Bruno Haible  <bruno@clisp.org>
38279
38280         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
38281         also the %a / %A. Handle the %a / %A code before this extra handling.
38282
38283 2007-06-05  Bruno Haible  <bruno@clisp.org>
38284
38285         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
38286         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
38287
38288 2007-06-05  Bruno Haible  <bruno@clisp.org>
38289
38290         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
38291         typo in variable name.
38292
38293 2007-06-05  Eric Blake  <ebb9@byu.net>
38294
38295         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
38296         Reported by Simon Josefsson.
38297
38298 2007-06-04  Bruno Haible  <bruno@clisp.org>
38299
38300         Avoid test failures on some PowerPC platforms.
38301         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
38302         Define differently for PowerPC.
38303         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
38304         Reported by Gary V. Vaughan <gary@gnu.org>.
38305
38306 2007-06-02  Bruno Haible  <bruno@clisp.org>
38307
38308         Fix test-stdint failure on FreeBSD/ia64.
38309         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
38310         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
38311         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
38312         * doc/headers/stdint.texi: Update.
38313
38314 2007-06-01  Bruno Haible  <bruno@clisp.org>
38315
38316         * tests/test-binary-io.c (main): Pass a third argument to open().
38317         Reported by Gary V. Vaughan <gary@gnu.org>.
38318
38319 2007-06-01  Bruno Haible  <bruno@clisp.org>
38320
38321         * doc/functions/frexpl.texi: Update for mingw.
38322
38323 2007-06-01  Bruno Haible  <bruno@clisp.org>
38324
38325         * tests/test-lseek.c (main): Disable test of errno for invalid third
38326         argument.
38327         * doc/functions/lseek.texi: Update.
38328         Reported by Gary V. Vaughan <gary@gnu.org>.
38329
38330 2007-05-28  Bruno Haible  <bruno@clisp.org>
38331
38332         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
38333
38334 2007-05-31  Eric Blake  <ebb9@byu.net>
38335
38336         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
38337         cross compiling.
38338
38339 2007-05-30  Eric Blake  <ebb9@byu.net>
38340         and Bruno Haible  <bruno@clisp.org>
38341
38342         Work around mingw test failures exposed by m4-1.4.9b.
38343         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
38344         * tests/test-unistd.c: Disable uid_t and git_t tests for the
38345         moment.
38346
38347 2007-05-30  Bruno Haible  <bruno@clisp.org>
38348
38349         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
38350         assuming that they are closed. Needed on HP-UX 11.
38351
38352 2007-05-29  Bruno Haible  <bruno@clisp.org>
38353
38354         Fix a problem with #include_next.
38355         * lib/dirent_.h: Split the double-inclusion guard.
38356         * lib/fcntl_.h: Likewise.
38357         * lib/float_.h: Likewise.
38358         * lib/iconv_.h: Likewise.
38359         * lib/inttypes_.h: Likewise.
38360         * lib/locale_.h: Likewise.
38361         * lib/math_.h: Likewise.
38362         * lib/netinet_in_.h: Likewise.
38363         * lib/search_.h: Likewise.
38364         * lib/signal_.h: Likewise.
38365         * lib/stdint_.h: Likewise.
38366         * lib/stdio_.h: Likewise.
38367         * lib/stdlib_.h: Likewise.
38368         * lib/string_.h: Likewise.
38369         * lib/sys_select_.h: Likewise.
38370         * lib/sys_socket_.h: Likewise.
38371         * lib/sys_stat_.h: Likewise.
38372         * lib/sys_time_.h: Likewise.
38373         * lib/sysexits_.h: Likewise.
38374         * lib/time_.h: Likewise.
38375         * lib/unistd_.h: Likewise.
38376         * lib/wchar_.h: Likewise.
38377         * lib/wctype_.h: Likewise.
38378
38379 2007-05-29  Bruno Haible  <bruno@clisp.org>
38380
38381         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
38382         for the moment.
38383
38384 2007-05-29  Bruno Haible  <bruno@clisp.org>
38385
38386         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
38387         invocation.
38388         Reported by Eric Blake.
38389
38390 2007-05-29  Bruno Haible  <bruno@clisp.org>
38391
38392         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
38393         compiling case.
38394
38395 2007-05-29  Eric Blake  <ebb9@byu.net>
38396             Bruno Haible  <bruno@clisp.org>
38397
38398         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
38399         cross compiles.
38400
38401 2007-05-28  Eric Blake  <ebb9@byu.net>
38402
38403         * modules/closein-tests (test_closein_LDADD): Support test on
38404         cygwin with libtool.
38405
38406 2007-05-28  Bruno Haible  <bruno@clisp.org>
38407
38408         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
38409         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
38410         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
38411         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
38412         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
38413         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
38414         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
38415         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
38416         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
38417
38418 2007-05-28  Eric Blake  <ebb9@byu.net>
38419
38420         Unconditionally include <config.h> in unit tests.
38421         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
38422         * tests/test-allocsa.c, tests/test-arcfour.c,
38423         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
38424         tests/test-array_list.c, tests/test-array_oset.c,
38425         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
38426         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
38427         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
38428         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
38429         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
38430         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
38431         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
38432         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
38433         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
38434         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
38435         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
38436         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
38437         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
38438         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
38439         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
38440         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
38441         test-md5.c, test-memmem.c, test-printf-posix.c,
38442         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
38443         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
38444         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
38445         test-strcasestr.c, test-striconv.c, test-striconveh.c,
38446         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
38447         test-vasnprintf-posix2.c, test-vasnprintf.c,
38448         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
38449         test-vfprintf-posix.c, test-vprintf-posix.c,
38450         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
38451         test-xvasprintf.c: Likewise.
38452
38453 2007-05-28  Bruno Haible  <bruno@clisp.org>
38454
38455         * gnulib-tool (func_import): Remember the --with-tests command-line
38456         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
38457         Reported by Eric Blake.
38458
38459 2007-05-28  Bruno Haible  <bruno@clisp.org>
38460
38461         * modules/ftell-tests: New file.
38462         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
38463         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
38464
38465         * lib/ftell.c: New file.
38466         * modules/ftell: New file.
38467         * m4/ftell.m4: New file.
38468         * doc/functions/ftell.texi: Update.
38469         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
38470         REPLACE_FTELL.
38471         * lib/stdio_.h (rpl_ftell): New declaration.
38472         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
38473         REPLACE_FTELL.
38474
38475 2007-05-28  Eric Blake  <ebb9@byu.net>
38476
38477         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
38478
38479 2007-05-28  Bruno Haible  <bruno@clisp.org>
38480
38481         * modules/fseek-tests: New file.
38482         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
38483         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
38484
38485         * lib/fseek.c: New file.
38486         * modules/fseek: New file.
38487         * m4/fseek.m4: New file.
38488         * doc/functions/fseek.texi: Update.
38489         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
38490         REPLACE_FSEEK.
38491         * lib/stdio_.h (rpl_fseek): New declaration.
38492         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
38493         REPLACE_FSEEK.
38494
38495 2007-05-28  Bruno Haible  <bruno@clisp.org>
38496
38497         * lib/stdio_.h (fflush): More comments.
38498
38499 2007-05-28  Bruno Haible  <bruno@clisp.org>
38500
38501         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
38502         runtime test.
38503
38504 2007-05-28  Eric Blake  <ebb9@byu.net>
38505
38506         Improve lseek module.
38507         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
38508         * lib/unistd_.h (lseek): Scale back link warning message.
38509         * tests/test-lseek.c: Beef up test.
38510         * tests/test-lseek.sh: Exercise more facets of lseek.
38511         Reported by Bruno Haible.
38512
38513 2007-05-28  Bruno Haible  <bruno@clisp.org>
38514
38515         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
38516         to define.
38517
38518 2007-05-27  Bruno Haible  <bruno@clisp.org>
38519
38520         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
38521
38522 2007-05-27  Bruno Haible  <bruno@clisp.org>
38523
38524         * modules/openmp: New file.
38525         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
38526         Noah Misch.
38527
38528 2007-05-26  Bruno Haible  <bruno@clisp.org>
38529
38530         * modules/chdir-long (Depends-on): Add fchdir.
38531         * modules/chdir-safer (Depends-on): Likewise.
38532         * modules/fts (Depends-on): Likewise.
38533         * modules/fts-lgpl (Depends-on): Likewise.
38534         * modules/openat (Depends-on): Likewise.
38535         * modules/savewd (Depends-on): Likewise.
38536
38537 2007-05-24  Eric Blake  <ebb9@byu.net>
38538
38539         Fix lseek on mingw.
38540         * modules/lseek: New module.
38541         * m4/lseek.m4: New file.
38542         * lib/lseek.c: New file.
38543         * modules/lseek-tests: New file.
38544         * tests/test-lseek.c: New file.
38545         * tests/test-lseek.sh: New file.
38546         * MODULES.html.sh: Document lseek module.
38547         * modules/fflush (Depends-on): Add lseek, fseeko.
38548         * modules/fseeko (Depends-on): Likewise.
38549         * modules/ftello (Depends-on): Likewise.
38550         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
38551         broken.
38552         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
38553         broken.
38554         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
38555         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
38556         * lib/ftello.c (rpl_ftello): Likewise.
38557         * tests/test-fseeko.c (main): Test this.
38558         * tests/test-fseeko.sh: Likewise.
38559         * tests/test-ftello.c (main): Likewise.
38560         * tests/test-ftello.sh: Likewise.
38561         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
38562         implies replacing fseek.
38563         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
38564         HAVE_FTELLO.
38565         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
38566         * modules/unistd (Makefile.am): Likewise.
38567         * lib/unistd_.h (lseek): Declare a replacement.
38568         * doc/functions/lseek.texi (lseek): Document this fix.
38569         * doc/functions/fseek.texi (fseek): Likewise.
38570         * doc/functions/ftell.texi (ftell): Likewise.
38571
38572 2007-05-24  Bruno Haible  <bruno@clisp.org>
38573
38574         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
38575         in the printed representation of a NaN.
38576         * tests/test-vasprintf-posix.c (test_function): Likewise.
38577         * tests/test-snprintf-posix.h (test_function): Likewise.
38578         * tests/test-sprintf-posix.h (test_function): Likewise.
38579         Reported by Eric Blake.
38580
38581 2007-05-23  Eric Blake  <ebb9@byu.net>
38582
38583         Fix fseeko/ftello on cygwin 1.5.24.
38584         * doc/functions/fseeko.texi (fseeko): Document the fix.
38585         * doc/functions/ftello.texi (ftello): Document the fix.
38586         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
38587         * doc/functions/stdout.text (stdout): New file.
38588         * doc/functions/stderr.text (stderr): New file.
38589         * doc/gnulib.texi (Function Substitutes): Use new files.
38590         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
38591         prior to 1.7.0.
38592         * tests/test-ftello.c (main): Likewise for ftello.
38593         * tests/test-fseeko.sh: New file.
38594         * tests/test-ftello.sh: New file.
38595         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
38596         with seekable stdin.
38597         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
38598         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
38599         (gl_REPLACE_FSEEKO): New macro.
38600         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
38601         * modules/fseeko (Files): Distribute fseeko.c.
38602         * modules/ftello (Files): Distribute ftello.c.
38603         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
38604         mode.
38605         * lib/ftello.c (rpl_ftello): New file.
38606         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
38607         fseeko, ftello.
38608         (gl_STDIN_LARGE_OFFSET): New macro.
38609         * modules/stdio (Makefile.am): Perform the replacement.
38610         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
38611
38612 2007-05-23  Bruno Haible  <bruno@clisp.org>
38613
38614         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
38615         GNULIB_POSIXCHECK is defined.
38616
38617 2007-05-21  Bruno Haible  <bruno@clisp.org>
38618
38619         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
38620         Check also the output for NaN arguments. When cross-compiling, guess
38621         no on IRIX.
38622         * lib/vasnprintf.c: Update comments.
38623         * tests/test-vasnprintf-posix.c (strisnan): New function.
38624         (test_function): Use it.
38625         * tests/test-vasprintf-posix.c (strisnan): New function.
38626         (test_function): Use it.
38627         * tests/test-snprintf-posix.h (strisnan): New function.
38628         (test_function): Use it.
38629         * tests/test-sprintf-posix.h (strisnan): New function.
38630         (test_function): Use it.
38631         Reported by Eric Blake.
38632
38633 2007-05-20  Bruno Haible  <bruno@clisp.org>
38634
38635         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
38636         numbers that fails on BeOS.
38637         * doc/functions/frexpl.texi: Update.
38638
38639 2007-05-20  Jim Meyering  <jim@meyering.net>
38640
38641         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
38642         forced upon us by glibc-2.6.
38643
38644 2007-05-20  Bruno Haible  <bruno@clisp.org>
38645
38646         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
38647         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
38648         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
38649         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
38650         NEED_PRINTF_INFINITE.
38651         (is_infinitel): New function.
38652         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
38653         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
38654         gl_PREREQ_VASNPRINTF_INFINITE.
38655         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
38656         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
38657         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
38658         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
38659         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
38660         gl_PREREQ_VASNPRINTF_INFINITE.
38661         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
38662         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
38663         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
38664         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
38665         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
38666         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38667         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
38668         * doc/functions/fprintf.texi: Update.
38669         * doc/functions/printf.texi: Update.
38670         * doc/functions/snprintf.texi: Update.
38671         * doc/functions/sprintf.texi: Update.
38672         * doc/functions/vfprintf.texi: Update.
38673         * doc/functions/vprintf.texi: Update.
38674         * doc/functions/vsnprintf.texi: Update.
38675         * doc/functions/vsprintf.texi: Update.
38676
38677 2007-05-20  Bruno Haible  <bruno@clisp.org>
38678
38679         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
38680         was not found in libc.
38681         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
38682
38683 2007-05-20  Bruno Haible  <bruno@clisp.org>
38684
38685         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
38686         printed as "-nan" instead of "nan".
38687         * tests/test-vasprintf-posix.c (test_function): Likewise.
38688         * tests/test-snprintf-posix.h (test_function): Likewise.
38689         * tests/test-sprintf-posix.h (test_function): Likewise.
38690         Needed for HP-UX 11.
38691
38692 2007-05-20  Jim Meyering  <jim@meyering.net>
38693
38694         Fix buggy test for the fchownat-deref bug.
38695         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
38696         symlink required for the run-test.  Without it, this test would
38697         always declare that fchownat doesn't work, and client code would
38698         unnecessarily use the replacement function with fixed libc.
38699         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
38700         Reported by Greg Schafer.
38701
38702 2007-05-19  Bruno Haible  <bruno@clisp.org>
38703
38704         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
38705         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
38706         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
38707         Needed for IRIX 6.5 and Solaris 2.5.1.
38708
38709 2007-05-19  Bruno Haible  <bruno@clisp.org>
38710
38711         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
38712         (test_function): Skip tests involving -0.0 on platforms where
38713         -0.0 = 0.0.
38714         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
38715         (test_function): Skip tests involving -0.0 on platforms where
38716         -0.0 = 0.0.
38717         * tests/test-snprintf-posix.h (have_minus_zero): New function.
38718         (test_function): Skip tests involving -0.0 on platforms where
38719         -0.0 = 0.0.
38720         * tests/test-sprintf-posix.h (have_minus_zero): New function.
38721         (test_function): Skip tests involving -0.0 on platforms where
38722         -0.0 = 0.0.
38723         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
38724         tests.
38725         * tests/test-printf-posix.h (test_function): Likewise.
38726         * tests/test-printf-posix.output: Remove all -0.0 related results.
38727         Needed for IRIX 6.5.
38728
38729 2007-05-19  Bruno Haible  <bruno@clisp.org>
38730
38731         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
38732         printed as "nan0x7fffffff" instead of "nan".
38733         * tests/test-vasprintf-posix.c (test_function): Likewise.
38734         * tests/test-snprintf-posix.h (test_function): Likewise.
38735         * tests/test-sprintf-posix.h (test_function): Likewise.
38736         * tests/test-fprintf-posix.h (NaN): Remove macro.
38737         (test_function): Remove all NaN related tests.
38738         * tests/test-printf-posix.h (NaN): Remove macro.
38739         (test_function): Remove all NaN related tests.
38740         * tests/test-printf-posix.output: Remove all NaN related results.
38741         Needed for IRIX 6.5.
38742
38743 2007-05-19  Bruno Haible  <bruno@clisp.org>
38744
38745         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
38746         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
38747
38748 2007-05-19  Bruno Haible  <bruno@clisp.org>
38749
38750         * lib/float_.h: New file.
38751         * m4/float_h.m4: New file.
38752         * modules/float: New file.
38753         * modules/isnanl (Dependencies): Add float.
38754         * modules/isnanl-nolibm (Dependencies): Likewise.
38755         * modules/mathl (Dependencies): Likewise.
38756         * modules/printf-frexpl (Dependencies): Likewise.
38757         * modules/signbit (Dependencies): Likewise.
38758         * modules/vasnprintf (Dependencies): Likewise.
38759         * doc/headers/float.texi: Update.
38760
38761 2007-05-19  Jim Meyering  <jim@meyering.net>
38762
38763         * lib/utimens.c (gl_futimens): Rename from futimens,
38764         now that glibc-2.6 declares futimens.
38765         * lib/utimens.h: Likewise.
38766
38767 2007-05-19  Bruno Haible  <bruno@clisp.org>
38768
38769         Avoid test failures on mingw.
38770         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
38771         * tests/test-printf-posix.sh: Likewise.
38772         * tests/test-vfprintf-posix.sh: Likewise.
38773         * tests/test-vprintf-posix.sh: Likewise.
38774
38775 2007-05-19  Bruno Haible  <bruno@clisp.org>
38776
38777         Fix *printf result for NaN, Inf, -0.0 on mingw.
38778         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
38779         * lib/vasnprintf.c: Include math.h and isnan.h.
38780         (is_infinite_or_zero): New function.
38781         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
38782         values in the %f, %F, %e, %E, %g, %G directives.
38783         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
38784         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
38785         gl_PRINTF_INFINITE and test its result. Invoke
38786         gl_PREREQ_VASNPRINTF_INFINITE.
38787         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
38788         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
38789         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
38790         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
38791         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
38792         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38793         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
38794         * doc/functions/fprintf.texi: Update.
38795         * doc/functions/printf.texi: Update.
38796         * doc/functions/snprintf.texi: Update.
38797         * doc/functions/sprintf.texi: Update.
38798         * doc/functions/vfprintf.texi: Update.
38799         * doc/functions/vprintf.texi: Update.
38800         * doc/functions/vsnprintf.texi: Update.
38801         * doc/functions/vsprintf.texi: Update.
38802
38803 2007-05-19  Bruno Haible  <bruno@clisp.org>
38804
38805         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
38806         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
38807         Instead of multiplying with 10^k, set extra_zeroes to k.
38808         (scale10_round_long_double): Remove function.
38809
38810 2007-05-18  Bruno Haible  <bruno@clisp.org>
38811
38812         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
38813         introduced on 2007-05-06.
38814
38815 2007-05-18  Bruno Haible  <bruno@clisp.org>
38816
38817         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
38818         %g directives.
38819         * tests/test-vasprintf-posix.c (test_function): Likewise.
38820         * tests/test-snprintf-posix.h (test_function): Likewise.
38821         * tests/test-sprintf-posix.h (test_function): Likewise.
38822
38823 2007-05-18  Bruno Haible  <bruno@clisp.org>
38824
38825         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
38826         (strmatch): New function.
38827         (test_function): Test the %f directive on numbers of various exponents.
38828         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
38829         (strmatch): New function.
38830         (test_function): Test the %f directive on numbers of various exponents.
38831         * tests/test-snprintf-posix.h (strmatch): New function.
38832         (test_function): Test the %f directive on numbers of various exponents.
38833         * tests/test-sprintf-posix.h (strmatch): New function.
38834         (test_function): Test the %f directive on numbers of various exponents.
38835         * tests/test-snprintf-posix.c (SIZEOF): New macro.
38836         * tests/test-sprintf-posix.c (SIZEOF): New macro.
38837         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
38838         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
38839
38840 2007-05-18  Bruno Haible  <bruno@clisp.org>
38841
38842         Add support for 'long double' number output.
38843         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
38844         * lib/vasnprintf.c: Include math.h and float+.h.
38845         (mp_limb_t): New type.
38846         (GMP_LIMB_BITS): New macro.
38847         (mp_twolimb_t): New type.
38848         (GMP_TWOLIMB_BITS): New macro.
38849         (mpn_t): New type.
38850         (multiply, divide, convert_to_decimal, decode_long_double,
38851         scale10_round_long_double, scale10_round_decimal_long_double,
38852         floorlog10l): New functions.
38853         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
38854         for the %f, %F, %e, %E, %g, %G directives.
38855         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
38856         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
38857         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
38858         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
38859         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
38860         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
38861         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
38862         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
38863         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
38864         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38865         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
38866         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
38867         * modules/snprintf-posix (Depends-on): Likewise.
38868         * modules/sprintf-posix (Depends-on): Likewise.
38869         * modules/vasnprintf-posix (Depends-on): Likewise.
38870         * modules/vasprintf-posix (Depends-on): Likewise.
38871         * modules/vfprintf-posix (Depends-on): Likewise.
38872         * modules/vsnprintf-posix (Depends-on): Likewise.
38873         * modules/vsprintf-posix (Depends-on): Likewise.
38874         * modules/vasnprintf (Files): Add lib/float+.h.
38875         * doc/functions/fprintf.texi: Update.
38876         * doc/functions/printf.texi: Update.
38877         * doc/functions/snprintf.texi: Update.
38878         * doc/functions/sprintf.texi: Update.
38879         * doc/functions/vfprintf.texi: Update.
38880         * doc/functions/vprintf.texi: Update.
38881         * doc/functions/vsnprintf.texi: Update.
38882         * doc/functions/vsprintf.texi: Update.
38883
38884 2007-05-18  Bruno Haible  <bruno@clisp.org>
38885
38886         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
38887
38888 2007-05-18  Bruno Haible  <bruno@clisp.org>
38889
38890         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
38891         for printing 64-bit integers. Needed for mingw.
38892
38893 2007-05-18  Bruno Haible  <bruno@clisp.org>
38894
38895         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
38896         gl_FUNC_FREXPL_WORKS.
38897         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
38898
38899 2007-05-18  Bruno Haible  <bruno@clisp.org>
38900
38901         * modules/frexpl-nolibm-tests: New file.
38902
38903         * modules/frexpl-nolibm: New file.
38904         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
38905
38906 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
38907
38908         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
38909         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
38910         GCC 4.2, which otherwise issues a lot of warnings.
38911         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
38912         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
38913         Likewise.
38914         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
38915         * modules/iconv_open (iconv.h): Likewise.
38916         * modules/locale (locale.h): Likewise.
38917         * modules/netinet_in (netinet/in.h): Likewise.
38918         * modules/sys_select (sys_select.h): Likewise.
38919         * modules/sys_socket (sys/socket.h): Likewise.
38920         * modules/sys_stat (sys/stat.h): Likewise.
38921         * modules/sysexits (sysexits.h): Likewise.
38922         * modules/unistd (unistd.h): Likewise.
38923
38924 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38925
38926         * modules/closein-tests (Makefile.am): Distribute
38927         `test-closein.sh'.
38928
38929 2007-05-17  Bruno Haible  <bruno@clisp.org>
38930
38931         * tests/test-printf-posix.output: Renamed from
38932         tests/test-fprintf-posix.out.
38933         * modules/fprintf-posix-tests: Update.
38934         * modules/printf-posix-tests: Update.
38935         * modules/vfprintf-posix-tests: Update.
38936         * modules/vprintf-posix-tests: Update.
38937         * tests/test-fprintf-posix.sh: Update.
38938         * tests/test-printf-posix.sh: Update.
38939         * tests/test-vfprintf-posix.sh: Update.
38940         * tests/test-vprintf-posix.sh: Update.
38941         Reported by Ralf Wildenhues.
38942
38943 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
38944
38945         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
38946         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
38947         GCC 4.2, which otherwise issues a lot of warnings.
38948         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
38949         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
38950         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
38951         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
38952         it should no longer be needed.
38953         * lib/string_.h: Likewise.
38954         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
38955         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
38956         * modules/inttypes (inttypes.h): Likewise.
38957         * modules/math (math.h): Likewise.
38958         * modules/search (search.h): Likewise.
38959         * modules/signal (signal.h): Likewise.
38960         * modules/stdint (stdint.h): Likewise.
38961         * modules/stdio (stdio.h): Likewise.
38962         * modules/stdlib (stdlib.h): Likewise.
38963         * modules/string (string.h): Likewise.
38964         * modules/sys_time (sys/time.h): Likewise.
38965         * modules/time (time.h): Likewise.
38966         * modules/wchar (wchar.h): Likewise.
38967         * modules/wctype (wtype.h): Likewise.
38968
38969 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
38970
38971         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
38972
38973 2007-05-13  Bruno Haible  <bruno@clisp.org>
38974
38975         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
38976         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
38977         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
38978         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
38979         (gl_PREREQ_STRTOK_R): Don't require it here.
38980
38981 2007-05-13  Bruno Haible  <bruno@clisp.org>
38982
38983         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
38984         when used in C++ mode.
38985
38986 2007-05-12  Bruno Haible  <bruno@clisp.org>
38987
38988         * lib/linebuffer.h: Tweak doc.
38989         * lib/linebuffer.c: Likewise.
38990
38991 2007-05-12  James Youngman  <jay@gnu.org>
38992
38993         * lib/linebuffer.c (readlinebuffer_delim): New function,
38994         like readlinebuffer, but use a caller-specified delimiter.
38995         (readlinebuffer): Just call readlinebuffer_delim with '\n'
38996         as the delimiter.
38997         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
38998
38999 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
39000
39001         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
39002         * modules/openat (Files): Remove openat-die.c.
39003         (Depends-on): Add openat-die.
39004         * modules/openat-die: New module.
39005
39006 2007-05-06  Bruno Haible  <bruno@clisp.org>
39007
39008         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
39009         Update with info about Cygwin.
39010         * doc/functions/fprintf.texi: Update.
39011         * doc/functions/printf.texi: Update.
39012         * doc/functions/snprintf.texi: Update.
39013         * doc/functions/sprintf.texi: Update.
39014         * doc/functions/vfprintf.texi: Update.
39015         * doc/functions/vprintf.texi: Update.
39016         * doc/functions/vsnprintf.texi: Update.
39017         * doc/functions/vsprintf.texi: Update.
39018         Reported by Eric Blake.
39019
39020 2007-05-06  Bruno Haible  <bruno@clisp.org>
39021
39022         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
39023         padding ourselves for the floating-point directives.
39024         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
39025         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
39026         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
39027         gl_PRINTF_FLAG_ZERO and test its result. Invoke
39028         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
39029         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
39030         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
39031         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
39032         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
39033         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
39034         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
39035         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
39036         * tests/test-snprintf-posix.h (test_function): Also check the width
39037         and some flags in the %f directive.
39038         * tests/test-sprintf-posix.h (test_function): Likewise.
39039         * tests/test-vasnprintf-posix.c (test_function): Likewise.
39040         * tests/test-vasprintf-posix.c (test_function): Likewise.
39041         * doc/functions/fprintf.texi: Update.
39042         * doc/functions/printf.texi: Update.
39043         * doc/functions/snprintf.texi: Update.
39044         * doc/functions/sprintf.texi: Update.
39045         * doc/functions/vfprintf.texi: Update.
39046         * doc/functions/vprintf.texi: Update.
39047         * doc/functions/vsnprintf.texi: Update.
39048         * doc/functions/vsprintf.texi: Update.
39049
39050 2007-05-06  Bruno Haible  <bruno@clisp.org>
39051
39052         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
39053         pass the ' flag character to sprintf or snprintf.
39054         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
39055         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
39056         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
39057         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
39058         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
39059         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
39060         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
39061         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
39062         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
39063         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
39064         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
39065         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
39066         * tests/test-snprintf-posix.h (test_function): Also check the grouping
39067         flag.
39068         * tests/test-sprintf-posix.h (test_function): Likewise.
39069         * tests/test-vasnprintf-posix.c (test_function): Likewise.
39070         * tests/test-vasprintf-posix.c (test_function): Likewise.
39071         * doc/functions/fprintf.texi: Update.
39072         * doc/functions/printf.texi: Update.
39073         * doc/functions/snprintf.texi: Update.
39074         * doc/functions/sprintf.texi: Update.
39075         * doc/functions/vfprintf.texi: Update.
39076         * doc/functions/vprintf.texi: Update.
39077         * doc/functions/vsnprintf.texi: Update.
39078         * doc/functions/vsprintf.texi: Update.
39079
39080 2007-05-01  Bruno Haible  <bruno@clisp.org>
39081
39082         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
39083
39084 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
39085
39086         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
39087         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
39088
39089 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
39090
39091         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
39092         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
39093         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
39094
39095 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
39096
39097         * lib/argp-help.c (struct hol_entry): New member `ord'.
39098         (HOL_ENTRY_PTRCMP): Use ord for comparison
39099         (hol_sort): Initialize ord.
39100
39101 2007-05-01  Bruno Haible  <bruno@clisp.org>
39102
39103         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
39104         Reported by Eric Blake.
39105         * doc/gnulib.texi (Function Substitutes): Update.
39106
39107 2007-05-01  Bruno Haible  <bruno@clisp.org>
39108
39109         * doc/functions.texi: Remove file, now redundant through
39110         doc/functions/*.texi.
39111
39112 2007-05-01  Bruno Haible  <bruno@clisp.org>
39113
39114         * modules/argp (Depends-on): Add sleep.
39115
39116 2007-05-01  Bruno Haible  <bruno@clisp.org>
39117
39118         * modules/sleep-tests: New file.
39119         * tests/test-sleep.c: New file.
39120
39121         * modules/sleep: New file.
39122         * lib/sleep.c: New file.
39123         * m4/sleep.m4: New file.
39124         * lib/unistd_.h (sleep): New declaration.
39125         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
39126         HAVE_SLEEP.
39127         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
39128         * doc/functions/sleep.texi: Document the sleep module.
39129
39130 2007-05-01  Bruno Haible  <bruno@clisp.org>
39131
39132         * lib/sigprocmask.h: Remove file.
39133         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
39134         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
39135         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
39136         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
39137         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
39138         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
39139         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
39140         HAVE_SIGSET_T as a shell variable.
39141         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
39142         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
39143         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
39144         (Depends-on): Add signal. Remove verify.
39145         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
39146         (Include): Mention <signal.h> instead of sigprocmask.h.
39147         * NEWS: Mention the change.
39148         * lib/fatal-signal.c: Don't include sigprocmask.h.
39149
39150 2007-05-01  Bruno Haible  <bruno@clisp.org>
39151
39152         * modules/signal: New file.
39153         * lib/signal_.h: New file.
39154         * m4/signal_h.m4: New file.
39155
39156 2007-05-01  Bruno Haible  <bruno@clisp.org>
39157
39158         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
39159         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
39160         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
39161         HAVE_WCTYPE_CTMP_BUG into wctype.h.
39162
39163 2007-05-01  Bruno Haible  <bruno@clisp.org>
39164
39165         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
39166         configure time.
39167         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
39168         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
39169         * modules/sys_stat (Makefile.am): Substitute their values into
39170         sys/stat.h.
39171
39172 2007-05-01  Bruno Haible  <bruno@clisp.org>
39173
39174         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
39175         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
39176         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
39177
39178 2007-05-01  Bruno Haible  <bruno@clisp.org>
39179
39180         * doc/header/assert.texi: Undo last change: don't mention the gnulib
39181         'assert' module here.
39182
39183 2007-05-01  Bruno Haible  <bruno@clisp.org>
39184
39185         * doc/functions/*.texi: New files.
39186         * doc/functions/google-ranking.txt: New file.
39187         * doc/gnulib.texi (Function Substitutes): New chapter.
39188         (ctime, inet_ntoa): Remove sections.
39189         * doc/ctime.texi: Remove file.
39190         * doc/inet_ntoa.texi: Remove file.
39191         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
39192         dependencies.
39193         (%.info): New rule, specifying a --reference-limit.
39194
39195 2007-05-01  Bruno Haible  <bruno@clisp.org>
39196
39197         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
39198
39199 2007-05-01  Bruno Haible  <bruno@clisp.org>
39200
39201         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
39202         the portability of 'mkdir' to mingw systems.
39203
39204 2007-05-01  Bruno Haible  <bruno@clisp.org>
39205
39206         * doc/headers/google-ranking.txt: New file.
39207
39208 2007-04-30  Eric Blake  <ebb9@byu.net>
39209
39210         Prefer fseeko to fseek.
39211         * modules/getpass (Depends-on): Add fseeko.
39212         * lib/getpass.c (getpass): Use fseeko, not fseek.
39213
39214 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
39215
39216         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
39217         assumes the sorting is stable, while most qsort implementations
39218         are not.  Use argument addresses to ensure they never compare as
39219         equal.
39220
39221         * tests/test-argp-2.sh (usage-indent test): Fix output
39222         (func_compare): Restore diff options
39223         * tests/test-argp.c: Restore #include "progname.h"
39224
39225 2007-04-29  Bruno Haible  <bruno@clisp.org>
39226
39227         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
39228         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
39229         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
39230         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
39231         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
39232         (configure.ac): Define CHECK_SNPRINTF_POSIX.
39233         (TESTS, check_PROGRAMS): Add test-snprintf.
39234         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
39235         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
39236         (TESTS, check_PROGRAMS): Add test-vsnprintf.
39237         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
39238         assertions that fail on HP-UX, OSF/1, or IRIX.
39239         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
39240
39241 2007-04-29  Bruno Haible  <bruno@clisp.org>
39242
39243         * MODULES.html.sh (posix_functions): Remove 'contents'.
39244
39245 2007-04-29  Karl Berry  <karl@gnu.org>
39246
39247         * config/srclist.txt (gendocs_template_min): new entry.
39248
39249 2007-04-29  Bruno Haible  <bruno@clisp.org>
39250
39251         Work around fpurge bug on BSD systems.
39252         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
39253         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
39254         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
39255         fpurge to rpl_fpurge if the system already has this function.
39256         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
39257         the case where the system already has this function. Correct invariants
39258         on BSD systems.
39259         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
39260         BSD systems.
39261
39262 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
39263
39264         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
39265         proposed by Sven Verdoolaege.
39266
39267         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
39268         options.
39269         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
39270         (usage and help tests): Update
39271
39272 2007-04-29  Bruno Haible  <bruno@clisp.org>
39273
39274         * tests/test-fflush.c (main): Use a file of size 17, not 10.
39275         Print more information in case of failure. Disable a test on BeOS.
39276
39277 2007-04-29  Bruno Haible  <bruno@clisp.org>
39278
39279         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
39280         This helps debugging on systems on which no gdb is available.
39281
39282 2007-04-29  Bruno Haible  <bruno@clisp.org>
39283
39284         * lib/freading.h: Improve comments.
39285         * lib/fwriting.h: Likewise.
39286         * tests/test-freading.c (main): Don't check freading immediately after
39287         repositioning. Needed for glibc.
39288
39289 2007-04-29  Bruno Haible  <bruno@clisp.org>
39290
39291         * lib/freading.c (freading): Trivial simplification.
39292
39293 2007-04-28  Bruno Haible  <bruno@clisp.org>
39294
39295         * tests/test-fwriting.c (main): Also test the interaction between
39296         fflush and fwriting.
39297         * modules/fwriting-tests (Depends-on): Add fflush.
39298
39299         * tests/test-freading.c (main): Also test the interaction between
39300         fflush and freading.
39301         * modules/freading-tests (Depends-on): Add fflush.
39302
39303 2007-04-28  Bruno Haible  <bruno@clisp.org>
39304
39305         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
39306         fseeko and ftello.
39307         Suggested by Eric Blake.
39308
39309 2007-04-28  Jim Meyering  <jim@meyering.net>
39310
39311         Avoid false-negative in gl_STDINT_H's C99 conformance test.
39312         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
39313         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
39314
39315 2007-04-27  Eric Blake  <ebb9@byu.net>
39316
39317         * doc/headers/assert.texi (assert.h): Document assert module use.
39318
39319 2007-04-27  Bruno Haible  <bruno@clisp.org>
39320
39321         * doc/headers/*.texi: New files.
39322         * doc/gnulib.texi (Header File Substitutes): New chapter.
39323         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
39324         dependencies.
39325         (standards.info ,standards.html, standards.dvi): Update dependencies.
39326         (mostlyclean, clean): New targets.
39327
39328 2007-04-27  Bruno Haible  <bruno@clisp.org>
39329
39330         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
39331         * modules/sysexits (Files, Makefile.am): Update.
39332
39333         * lib/sys_socket_.h: Renamed from lib/socket_.h.
39334         * modules/sys_socket (Files, Makefile.am): Update.
39335
39336         * lib/sys_stat_.h: Renamed from lib/stat_.h.
39337         * modules/sys_stat (Files, Makefile.am): Update.
39338
39339 2007-04-27  Eric Blake  <ebb9@byu.net>
39340
39341         * lib/freading.h: Improve comments.
39342         * lib/fwriting.h: Likewise.
39343         * lib/fflush.c: Likewise.
39344
39345         Fix closein for mingw.
39346         * modules/closein-tests: Add tests for closein.
39347         * tests/test-closein.c: New file.
39348         * tests/test-closein.sh: Likewise.
39349         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
39350         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
39351
39352 2007-04-27  Bruno Haible  <bruno@clisp.org>
39353
39354         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
39355         version is < 6.
39356         * lib/math_.h [__DECC]: Likewise.
39357         * lib/stdio_.h [__DECC]: Likewise.
39358         * lib/stdlib_.h [__DECC]: Likewise.
39359         * lib/string_.h [__DECC]: Likewise.
39360         * lib/time_.h [__DECC]: Likewise.
39361         * lib/wchar_.h [__DECC]: Likewise.
39362         * lib/wctype_.h [__DECC]: Likewise.
39363
39364 2007-04-27  Bruno Haible  <bruno@clisp.org>
39365
39366         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
39367
39368 2007-04-27  Bruno Haible  <bruno@clisp.org>
39369
39370         * lib/fflush.c: Add comments.
39371         * modules/fpurge-tests (Depends-on): Add fflush.
39372         * modules/freadable-tests (Depends-on): Likewise.
39373         * modules/fwritable-tests (Depends-on): Likewise.
39374
39375 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
39376
39377         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
39378         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
39379         Report by Bruno Haible <bruno@clisp.org>.
39380
39381 2007-04-26  Eric Blake  <ebb9@byu.net>
39382
39383         Fix fflush on mingw.
39384         * modules/fflush (Depends-on): Add freading.
39385         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
39386         but unread data.
39387
39388 2007-04-26  Eric Blake  <ebb9@byu.net>
39389         and Bruno Haible  <bruno@clisp.org>
39390
39391         Implement freading and fwriting.
39392         * lib/freading.c: New file.
39393         * lib/freading.h: Likewise.
39394         * m4/freading.m4: Likewise.
39395         * modules/freading: Likewise.
39396         * modules/freading-tests: Likewise.
39397         * tests/test-freading.c: Likewise.
39398         * lib/fwriting.c: New file.
39399         * lib/fwriting.h: Likewise.
39400         * m4/fwriting.m4: Likewise.
39401         * modules/fwriting: Likewise.
39402         * modules/fwriting-tests: Likewise.
39403         * tests/test-fwriting.c: Likewise.
39404         * MODULES.html.sh (File stream based Input/Output): Mention them.
39405
39406 2007-04-26  Bruno Haible  <bruno@clisp.org>
39407
39408         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
39409         'long' when we assume it.
39410         Suggested by Eric Blake.
39411
39412 2007-04-26  Bruno Haible  <bruno@clisp.org>
39413
39414         Ensure fseeko, ftello are declared on glibc systems.
39415         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
39416         * modules/fseeko (configure.ac-early): Likewise.
39417         * modules/ftello (configure.ac-early): Likewise.
39418         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
39419         AC_FUNC_FSEEKO for this.
39420         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
39421         (gl_CHECK_FSEEKO): Remove macro.
39422
39423 2007-04-26  Bruno Haible  <bruno@clisp.org>
39424
39425         * tests/test-fflush.c (main): Also check the ftell result after
39426         fflush and fseek/fseeko.
39427         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
39428         file descriptor position cache in the stream.
39429         * lib/fseeko.c (rpl_fseeko): Likewise.
39430
39431 2007-04-26  Bruno Haible  <bruno@clisp.org>
39432
39433         * modules/fflush-tests (Depends-on): Add fseeko.
39434
39435 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
39436             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39437
39438         * lib/argz_.h: ensure error_t definition is obtained in same
39439         mechanism system argz.h would have.
39440         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
39441         argz facilities are known bad.  Err on the side of caution if
39442         cross-compiling.
39443
39444 2007-04-25  Eric Blake  <ebb9@byu.net>
39445
39446         * lib/fpurge.c (includes): Use stdlib.h for free.
39447         * tests/test-fflush.c (main): Also test fflush-fseeko.
39448
39449 2007-04-25  Bruno Haible  <bruno@clisp.org>
39450
39451         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
39452         * lib/fseeko.c: New file.
39453         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
39454         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
39455         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
39456         gl_FUNC_FSEEKO.
39457         (gl_FUNC_FSEEKO): Invoke it.
39458         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
39459         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
39460         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
39461
39462 2007-04-25  Bruno Haible  <bruno@clisp.org>
39463
39464         * modules/fflush (Depends-on): Add ftello.
39465
39466 2007-04-25  Bruno Haible  <bruno@clisp.org>
39467
39468         * modules/ftello-tests: New file.
39469         * tests/test-ftello.c: New file.
39470
39471         * modules/ftello: New file.
39472         * m4/ftello.m4: New file.
39473         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
39474         HAVE_FTELLO.
39475         * lib/stdio_.h (ftello): New declaration.
39476         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
39477         HAVE_FTELLO.
39478
39479 2007-04-25  Bruno Haible  <bruno@clisp.org>
39480
39481         * modules/fseeko-tests: New file.
39482         * tests/test-fseeko.c: New file.
39483
39484         * modules/fseeko: New file.
39485         * m4/fseeko.m4: New file.
39486         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
39487         HAVE_FSEEKO.
39488         * lib/stdio_.h (fseeko): New declaration.
39489         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
39490         HAVE_FSEEKO.
39491
39492 2007-04-25  Bruno Haible  <bruno@clisp.org>
39493
39494         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
39495
39496 2007-04-25  Bruno Haible  <bruno@clisp.org>
39497
39498         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
39499         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
39500         * tests/test-unistd.c: Likewise.
39501         * tests/test-fcntl.c: Likewise.
39502
39503 2007-04-23  Eric Blake  <ebb9@byu.net>
39504
39505         * lib/fflush.c: Fix missing include.
39506         Reported by Bruno Haible.
39507
39508 2007-04-23  Bruno Haible  <bruno@clisp.org>
39509
39510         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
39511         Reported by Eric Blake.
39512
39513 2007-04-23  Bruno Haible  <bruno@clisp.org>
39514
39515         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
39516
39517 2007-04-23  Bruno Haible  <bruno@clisp.org>
39518
39519         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
39520
39521 2007-04-23  Bruno Haible  <bruno@clisp.org>
39522
39523         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
39524         Needed on HP-UX 11.
39525
39526 2007-04-16  Eric Blake  <ebb9@byu.net>
39527
39528         Make fflush rely on fpurge.
39529         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
39530         open coding all variants.
39531         * modules/fflush (Depends-on): Add fpurge and unistd.
39532         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
39533         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
39534
39535         Fix --with-tests compilation on cygwin.
39536         * modules/argmatch-tests (Makefile.am): List gnulib library first
39537         in LDADD.
39538         * modules/argp-tests (Makefile.am): Likewise.
39539         * modules/array-list-tests (Makefile.am): Likewise.
39540         * modules/array-oset-tests (Makefile.am): Likewise.
39541         * modules/avltree-list-tests (Makefile.am): Likewise.
39542         * modules/avltree-oset-tests (Makefile.am): Likewise.
39543         * modules/avltreehash-list-tests (Makefile.am): Likewise.
39544         * modules/carray-list-tests (Makefile.am): Likewise.
39545         * modules/dirname-tests (Makefile.am): Likewise.
39546         * modules/frexp-tests (Makefile.am): Likewise.
39547         * modules/isnanl-tests (Makefile.am): Likewise.
39548         * modules/linked-list-tests (Makefile.am): Likewise.
39549         * modules/linkedhash-list-tests (Makefile.am): Likewise.
39550         * modules/lock-tests (Makefile.am): Likewise.
39551         * modules/rbtree-list-tests (Makefile.am): Likewise.
39552         * modules/rbtree-oset-tests (Makefile.am): Likewise.
39553         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
39554         * modules/tls-tests (Makefile.am): Likewise.
39555         * modules/tsearch-tests (Makefile.am): Likewise.
39556         * modules/xvasprintf-tests (Makefile.am): Likewise.
39557
39558         Fix fpurge for cygwin.
39559         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
39560         value.
39561         * modules/fpurge-tests (Depends-on): Clean up trash.
39562
39563 2007-04-16  Simon Josefsson  <simon@josefsson.org>
39564
39565         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
39566
39567         * m4/autobuild.m4: Re-indent.
39568
39569 2007-04-13  Bruno Haible  <bruno@clisp.org>
39570
39571         * modules/fpurge-tests: New file.
39572         * tests/test-fpurge.c: New file.
39573
39574         * modules/fpurge: New file.
39575         * lib/fpurge.h: New file.
39576         * lib/fpurge.c: New file.
39577         * m4/fpurge.m4: New file.
39578
39579 2007-04-13  Bruno Haible  <bruno@clisp.org>
39580
39581         * modules/fbufmode-tests: New file.
39582         * tests/test-fbufmode.c: New file.
39583
39584         * modules/fbufmode: New file.
39585         * lib/fbufmode.h: New file.
39586         * lib/fbufmode.c: New file.
39587         * m4/fbufmode.m4: New file.
39588
39589 2007-04-13  Bruno Haible  <bruno@clisp.org>
39590
39591         * modules/fwritable-tests: New file.
39592         * tests/test-fwritable.c: New file.
39593
39594         * modules/fwritable: New file.
39595         * lib/fwritable.h: New file.
39596         * lib/fwritable.c: New file.
39597         * m4/fwritable.m4: New file.
39598
39599 2007-04-13  Bruno Haible  <bruno@clisp.org>
39600
39601         * modules/freadable-tests: New file.
39602         * tests/test-freadable.c: New file.
39603
39604         * modules/freadable: New file.
39605         * lib/freadable.h: New file.
39606         * lib/freadable.c: New file.
39607         * m4/freadable.m4: New file.
39608
39609 2007-04-13  Bruno Haible  <bruno@clisp.org>
39610
39611         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
39612         MOSTLYCLEANFILES.
39613
39614 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
39615
39616         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
39617         gzip bootstrap.conf to avoid dragging in i18n machinery.
39618         (gnulib_tool_option): Use it.
39619
39620 2007-04-13  Bruno Haible  <bruno@clisp.org>
39621
39622         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
39623         %F directives.
39624         * tests/test-vasprintf-posix.c (test_function): Likewise.
39625         * tests/test-snprintf-posix.h (test_function): Likewise.
39626         * tests/test-sprintf-posix.h (test_function): Likewise.
39627         * tests/test-fprintf-posix.h (test_function): Likewise.
39628         * tests/test-printf-posix.h (test_function): Likewise.
39629         * tests/test-fprintf-posix.out: Likewise.
39630
39631 2007-04-13  Bruno Haible  <bruno@clisp.org>
39632
39633         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
39634         * modules/tls-tests (configure.ac): Likewise.
39635         Reported by Arto C. Nirkko <anirkko@insel.ch>.
39636
39637 2007-04-13  Bruno Haible  <bruno@clisp.org>
39638
39639         * lib/tls.c (glthread_tls_get): Fix return type.
39640         Patch by Arto C. Nirkko <anirkko@insel.ch>.
39641
39642 2007-04-12  Eric Blake  <ebb9@byu.net>
39643
39644         * modules/gettime (Depends-on): Remove gettime.
39645         Reported by Dmitry V. Levin.
39646
39647 2007-04-12  Bruno Haible  <bruno@clisp.org>
39648
39649         * modules/fflush (Include): Mention <stdio.h>.
39650         * modules/strtoimax (Include): Mention <inttypes.h>.
39651         * modules/strtoumax (Include): Likewise.
39652
39653 2007-04-12  Eric Blake  <ebb9@byu.net>
39654
39655         * .cvsignore: New file.
39656         * .gitignore: Likewise.
39657
39658 2007-04-12  Bruno Haible  <bruno@clisp.org>
39659
39660         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
39661         not before, since $(LDADD) often contains libgnu.a.
39662         * modules/striconv-tests (test_striconv_LDADD): Likewise.
39663         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
39664         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
39665         Needed on Cygwin.
39666
39667 2007-04-12  Eric Blake  <ebb9@byu.net>
39668
39669         Work around glibc's failure to flush stdin on fclose.
39670         * lib/closein.c (close_stdin): Flush stdin before closing.
39671
39672         Work around glibc's failure to reset seekable stdin on exit.
39673         * modules/closein: New module.
39674         * lib/closein.c: New file.
39675         * lib/closein.h: Likewise.
39676         * m4/closein.m4: Likewise.
39677         * MODULES.html.sh (File stream based Input/Output): Document it.
39678
39679 2007-04-12  Simon Josefsson  <simon@josefsson.org>
39680
39681         * gnulib-tool: Rename generated 'autobuild' script to
39682         'do-autobuild' in --create-megatestdir output.
39683
39684         * doc/gnulib.texi (Build robot for gnulib): Fix.
39685
39686 2007-04-12  Simon Josefsson  <simon@josefsson.org>
39687
39688         * modules/sysexits (Depends-on): Add absolute-header.
39689
39690 2007-04-12  Eric Blake  <ebb9@byu.net>
39691
39692         No need to preserve errno on success.
39693         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
39694         Reported by Bruno Haible.
39695
39696 2007-04-12  Simon Josefsson  <simon@josefsson.org>
39697
39698         * MODULES.html.sh (Support for maintaining and releasing
39699         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
39700
39701 2007-04-12  Simon Josefsson  <simon@josefsson.org>
39702
39703         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
39704
39705 2007-04-12  Simon Josefsson  <simon@josefsson.org>
39706
39707         * modules/autobuild: New module.
39708
39709         * m4/autobuild.m4: New file.
39710
39711 2007-04-11  Bruno Haible  <bruno@clisp.org>
39712
39713         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
39714         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
39715         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
39716         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
39717         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
39718         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
39719         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
39720         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
39721         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
39722         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
39723         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
39724         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
39725         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
39726         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
39727         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
39728         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
39729         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
39730         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
39731         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
39732         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
39733         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
39734         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
39735         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
39736         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
39737         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
39738         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
39739         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
39740         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
39741         Reported by Eric Blake.
39742
39743 2007-04-11  Bruno Haible  <bruno@clisp.org>
39744
39745         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
39746
39747 2007-04-10  Bruno Haible  <bruno@clisp.org>
39748
39749         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
39750         for NaN and Infinity. Needed on FreeBSD 6.1.
39751         * tests/test-vasnprintf-posix.c (test_function): Undo last change
39752         regarding results for "%010a" of Infinity and NaN.
39753         * tests/test-vasprintf-posix.c (test_function): Likewise.
39754         * tests/test-snprintf-posix.h (test_function): Likewise.
39755         * tests/test-sprintf-posix.h (test_function): Likewise.
39756         * tests/test-fprintf-posix.h (test_function): Likewise.
39757         * tests/test-printf-posix.h (test_function): Likewise.
39758         * tests/test-fprintf-posix.out: Likewise.
39759
39760 2007-04-10  Bruno Haible  <bruno@clisp.org>
39761
39762         * modules/locale-tests: New file.
39763         * tests/test-locale.c: New file.
39764
39765         * modules/locale: New file.
39766         * lib/locale_.h: New file.
39767         * m4/locale_h.m4: New file.
39768
39769 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
39770             Bruno Haible  <bruno@clisp.org>
39771
39772         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
39773         be determined, test for availability of the copysignf, copysign,
39774         copysignl functions.
39775         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
39776         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
39777         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
39778
39779 2007-04-09  Eric Blake  <ebb9@byu.net>
39780
39781         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
39782         * modules/stdio (Makefile.am): Support fflush.
39783         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
39784         * modules/fflush: New file.
39785         * lib/fflush.c: Likewise.
39786         * m4/fflush.m4: Likewise.
39787         * modules/fflush-tests: New test.
39788         * tests/test-fflush.c: Likewise.
39789         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
39790
39791 2007-04-06  Bruno Haible  <bruno@clisp.org>
39792
39793         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
39794         (VASNPRINTF): Use signbit for faster determination whether to print a
39795         minus sign.
39796         * modules/vasnprintf (Files): Remove lib/float+.h.
39797         * modules/fprintf-posix (Depends-on): Add signbit.
39798         * modules/snprintf-posix (Depends-on): Likewise.
39799         * modules/sprintf-posix (Depends-on): Likewise.
39800         * modules/vasnprintf-posix (Depends-on): Likewise.
39801         * modules/vasprintf-posix (Depends-on): Likewise.
39802         * modules/vfprintf-posix (Depends-on): Likewise.
39803         * modules/vsnprintf-posix (Depends-on): Likewise.
39804         * modules/vsprintf-posix (Depends-on): Likewise.
39805
39806 2007-04-06  Bruno Haible  <bruno@clisp.org>
39807
39808         * tests/test-frexp.c (main): Test also the sign bit of zero results.
39809         * tests/test-frexpl.c (main): Likewise.
39810         * tests/test-ldexpl.c (main): Likewise.
39811         * modules/frexp-tests (Depends-on): Add signbit.
39812         * modules/frexpl-tests (Depdends-on): Likewise.
39813         * modules/ldexpl-tests (Depdends-on): Likewise.
39814
39815 2007-04-06  Bruno Haible  <bruno@clisp.org>
39816
39817         * modules/signbit-tests: New file.
39818         * tests/test-signbit.c: New file.
39819
39820         * modules/signbit: New file.
39821         * lib/signbitf.c: New file.
39822         * lib/signbitd.c: New file.
39823         * lib/signbitl.c: New file.
39824         * m4/signbit.m4: New file.
39825         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
39826         (signbit): New macro.
39827         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
39828         REPLACE_SIGNBIT.
39829         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
39830         REPLACE_FREXPL into math.h.
39831
39832 2007-04-06  Bruno Haible  <bruno@clisp.org>
39833
39834         * modules/isnanf-nolibm-tests: New file.
39835         * tests/test-isnanf.c: New file.
39836
39837         * modules/isnanf-nolibm: New file.
39838         * lib/isnanf.h: New file.
39839         * lib/isnanf.c: New file.
39840         * lib/isnan.c: Consider the USE_FLOAT macro.
39841         * m4/isnanf.m4: New file.
39842
39843 2007-04-06  Bruno Haible  <bruno@clisp.org>
39844
39845         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
39846         (Link): New section.
39847
39848         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
39849
39850 2007-04-06  Bruno Haible  <bruno@clisp.org>
39851
39852         Assume the 'long double' type.
39853         * m4/longdouble.m4: Remove file.
39854         * config/srclist.txt: Don't mention longdouble.m4.
39855         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
39856         * lib/float+.h: Likewise.
39857         * lib/frexp.c: Likewise.
39858         * lib/printf-args.h: Likewise.
39859         * lib/printf-args.c: Likewise.
39860         * lib/printf-frexp.c: Likewise.
39861         * lib/printf-parse.c: Likewise.
39862         * lib/vasnprintf.c: Likewise.
39863         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
39864         * m4/intl.m4: Likewise.
39865         * m4/isnanl.m4: Likewise.
39866         * m4/printf.m4: Likewise.
39867         * m4/printf-frexpl.m4: Likewise.
39868         * m4/vasnprintf.m4: Likewise.
39869         * modules/allocsa (Files): Remove m4/longdouble.m4.
39870         * modules/gettext (Files): Likewise.
39871         * modules/relocatable-prog-wrapper (Files): Likewise.
39872         * modules/vasnprintf (Files): Likewise.
39873         * modules/isnanl (Files): Likewise.
39874         (Include): Simplify.
39875         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
39876         (Include): Simplify.
39877         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
39878         (Include): Simplify.
39879         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
39880         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
39881         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
39882         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
39883         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
39884         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
39885         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
39886         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
39887         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
39888         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
39889         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
39890         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
39891         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
39892         * tests/test-isnanl.c: Likewise.
39893         * tests/test-snprintf-posix.h: Likewise.
39894         * tests/test-sprintf-posix.h: Likewise.
39895         * tests/test-vasnprintf-posix.c: Likewise.
39896         * tests/test-vasnprintf-posix2.c: Likewise.
39897         * tests/test-vasprintf-posix.c: Likewise.
39898
39899 2007-04-06  Bruno Haible  <bruno@clisp.org>
39900
39901         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
39902         * lib/math_.h [__DECC]: Include the overridden include file through
39903         #include_next, outside the double-inclusion guard.
39904         * lib/stdio_.h [__DECC]: Likewise.
39905         * lib/stdlib_.h [__DECC]: Likewise.
39906         * lib/string_.h [__DECC]: Likewise.
39907         * lib/time_.h [__DECC]: Likewise.
39908         * lib/wchar_.h [__DECC]: Likewise.
39909         * lib/wctype_.h [__DECC]: Likewise.
39910         * lib/inttypes_.h [__DECC]: Likewise.
39911         Reported by Albert Chin <china@thewrittenword.com> in
39912         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
39913
39914 2007-04-04  Eric Blake  <ebb9@byu.net>
39915
39916         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
39917         1.5.x.
39918
39919 2007-04-04  Bruno Haible  <bruno@clisp.org>
39920
39921         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
39922         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
39923
39924 2007-04-04  Bruno Haible  <bruno@clisp.org>
39925
39926         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
39927         results for "%010a" of Infinity and NaN.
39928         * tests/test-vasprintf-posix.c (test_function): Likewise.
39929         * tests/test-snprintf-posix.h (test_function): Likewise.
39930         * tests/test-sprintf-posix.h (test_function): Likewise.
39931         * tests/test-fprintf-posix.h (test_function): Remove these tests.
39932         * tests/test-printf-posix.h (test_function): Likewise.
39933         * tests/test-fprintf-posix.out: Update.
39934         Needed for FreeBSD 6.1.
39935
39936 2007-04-04  Bruno Haible  <bruno@clisp.org>
39937
39938         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
39939         directly used by the gnulib modules nor by gnulib-tool.
39940
39941 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
39942
39943         * DEPENDENCIES: Give overall description of version dependency
39944         desirability.  Use more-typical names for apps.
39945         Add shell, coreutils, diffutils, grep, tar, gzip.
39946
39947 2007-04-04  Simon Josefsson  <simon@josefsson.org>
39948
39949         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
39950
39951 2007-04-04  Karl Berry  <karl@gnu.org>
39952
39953         * MODULES.html.sh (func_module): missing '.
39954
39955 2007-04-03  Bruno Haible  <bruno@clisp.org>
39956
39957         * modules/argmatch-tests (Makefile.am): New variable
39958         test_argmatch_LDADD.
39959         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
39960         * modules/array-list-tests (Makefile.am): New variable
39961         test_array_list_LDADD.
39962         * modules/array-oset-tests (Makefile.am): New variable
39963         test_array_oset_LDADD.
39964         * modules/avltree-list-tests (Makefile.am): New variable
39965         test_avltree_list_LDADD.
39966         * modules/avltree-oset-tests (Makefile.am): New variable
39967         test_avltree_oset_LDADD.
39968         * modules/avltreehash-list-tests (Makefile.am): New variable
39969         test_avltreehash_list_LDADD.
39970         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
39971         test_canonicalize_lgpl_LDADD.
39972         * modules/carray-list-tests (Makefile.am): New variable
39973         test_carray_list_LDADD.
39974         * modules/dirname-tests (Makefile.am): New variable
39975         test_dirname_LDADD.
39976         * modules/linked-list-tests (Makefile.am): New variable
39977         test_linked_list_LDADD.
39978         * modules/linkedhash-list-tests (Makefile.am): New variable
39979         test_linkedhash_list_LDADD.
39980         * modules/rbtree-list-tests (Makefile.am): New variable
39981         test_rbtree_list_LDADD.
39982         * modules/rbtree-oset-tests (Makefile.am): New variable
39983         test_rbtree_oset_LDADD.
39984         * modules/rbtreehash-list-tests (Makefile.am): New variable
39985         test_rbtreehash_list_LDADD.
39986         * modules/xvasprintf-tests (Makefile.am): New variable
39987         test_xvasprintf_LDADD.
39988         Reported by Eric Blake.
39989
39990 2007-04-03  Eric Blake  <ebb9@byu.net>
39991
39992         * DEPENDENCIES: Weaken m4 requirements.
39993
39994 2007-04-03  Bruno Haible  <bruno@clisp.org>
39995
39996         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
39997         * modules/isnanl-tests (configure.ac): Likewise.
39998
39999 2007-04-03  Ben Pfaff  <blp@gnu.org>
40000
40001         * modules/iconv_open: Add $(srcdir)/ to source directory
40002         references in Makefile fragments that call gperf, to fix VPATH
40003         builds.
40004
40005 2007-04-03  Bruno Haible  <bruno@clisp.org>
40006
40007         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
40008         * lib/ldexpl.c: Undo last change.
40009
40010 2007-04-03  Bruno Haible  <bruno@clisp.org>
40011
40012         * modules/printf-frexpl (Depends-on): Undo last change.
40013         (Files): Add m4/ldexpl.m4.
40014
40015 2007-04-03  Bruno Haible  <bruno@clisp.org>
40016
40017         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
40018         * modules/isnanl (Link): New section.
40019
40020         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
40021         * modules/frexp (Link): New section.
40022
40023         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
40024         * modules/frexpl (Link): New section.
40025
40026         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
40027         * modules/ldexpl (Link): New section.
40028
40029 2007-04-03  Bruno Haible  <bruno@clisp.org>
40030
40031         * modules/TEMPLATE-EXTENDED: New file.
40032         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
40033
40034 2007-04-03  Bruno Haible  <bruno@clisp.org>
40035
40036         * DEPENDENCIES: New file.
40037         Suggested by Simon Josefsson.
40038
40039 2007-04-03  Bruno Haible  <bruno@clisp.org>
40040
40041         * doc/gnulib.texi: Escape @.
40042
40043 2007-04-03  James Youngman  <jay@gnu.org>
40044         and Paul Eggert  <eggert@cs.ucla.edu>
40045
40046         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
40047         birthtime on all systems that have birthtime, not just those which
40048         use st_birthtimensec rather than st_birthtim.  Putting zero in
40049         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
40050         that the birth time is not available for files on an NFS mount.
40051
40052 2007-04-03  Simon Josefsson  <simon@josefsson.org>
40053
40054         * modules/memxor: Move back from crypto/, suggested by Bruno.
40055         * modules/crypto/hmac-sha1: Fix memxor dependency.
40056
40057         * modules/crypto/gc: Moved from ../.
40058
40059 2007-04-02  Eric Blake  <ebb9@byu.net>
40060
40061         * lib/ldexpl.c (includes): Avoid libm.
40062
40063         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
40064
40065 2007-04-02  Bruno Haible  <bruno@clisp.org>
40066
40067         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
40068         on IRIX.
40069
40070 2007-04-02  Bruno Haible  <bruno@clisp.org>
40071
40072         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
40073         x86 or x86_64 platforms running MacOS X.
40074         Reported by Ryan Schmidt <@ryandesign.com>.
40075
40076 2007-04-02  Bruno Haible  <bruno@clisp.org>
40077
40078         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
40079         i386.
40080
40081 2007-04-01  Simon Josefsson  <simon@josefsson.org>
40082
40083         * modules/crypto/arcfour: Moved from ../.
40084         * modules/crypto/arcfour-tests: Moved from ../.
40085         * modules/crypto/arctwo: Moved from ../.
40086         * modules/crypto/arctwo-tests: Moved from ../.
40087         * modules/crypto/des: Moved from ../.
40088         * modules/crypto/des-tests: Moved from ../.
40089         * modules/crypto/gc-arcfour: Moved from ../.
40090         * modules/crypto/gc-arcfour-tests: Moved from ../.
40091         * modules/crypto/gc-arctwo: Moved from ../.
40092         * modules/crypto/gc-arctwo-tests: Moved from ../.
40093         * modules/crypto/gc-des: Moved from ../.
40094         * modules/crypto/gc-des-tests: Moved from ../.
40095         * modules/crypto/gc-hmac-md5: Moved from ../.
40096         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
40097         * modules/crypto/gc-hmac-sha1: Moved from ../.
40098         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
40099         * modules/crypto/gc-md2: Moved from ../.
40100         * modules/crypto/gc-md2-tests: Moved from ../.
40101         * modules/crypto/gc-md4: Moved from ../.
40102         * modules/crypto/gc-md4-tests: Moved from ../.
40103         * modules/crypto/gc-md5: Moved from ../.
40104         * modules/crypto/gc-md5-tests: Moved from ../.
40105         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
40106         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
40107         * modules/crypto/gc-random: Moved from ../.
40108         * modules/crypto/gc-rijndael: Moved from ../.
40109         * modules/crypto/gc-rijndael-tests: Moved from ../.
40110         * modules/crypto/gc-sha1: Moved from ../.
40111         * modules/crypto/gc-sha1-tests: Moved from ../.
40112         * modules/crypto/gc-tests: Moved from ../.
40113         * modules/crypto/hmac-md5: Moved from ../.
40114         * modules/crypto/hmac-md5-tests: Moved from ../.
40115         * modules/crypto/hmac-sha1: Moved from ../.
40116         * modules/crypto/hmac-sha1-tests: Moved from ../.
40117         * modules/crypto/md2: Moved from ../.
40118         * modules/crypto/md2-tests: Moved from ../.
40119         * modules/crypto/md4: Moved from ../.
40120         * modules/crypto/md4-tests: Moved from ../.
40121         * modules/crypto/md5: Moved from ../.
40122         * modules/crypto/md5-tests: Moved from ../.
40123         * modules/crypto/memxor: Moved from ../.
40124         * modules/crypto/rijndael: Moved from ../.
40125         * modules/crypto/rijndael-tests: Moved from ../.
40126         * modules/crypto/sha1: Moved from ../.
40127
40128 2007-03-30  James Youngman  <jay@gnu.org>
40129
40130         * tests/test-stat-time.c (prepare_test): use chmod() rather than
40131         rename() to change the ctime of a file (because ctime is unaffected
40132         by rename on jfs2 on AIX 5.1).
40133         (main): Start by doing cleanup, in case a previous run failed leaving
40134         test files behind.
40135
40136 2007-03-31  Bruno Haible  <bruno@clisp.org>
40137
40138         Support old proprietary implementations of iconv.
40139         * modules/iconv_open: New file.
40140         * lib/iconv_.h: New file.
40141         * m4/iconv_h.m4: New file.
40142         * lib/iconv_open.c: New file.
40143         * lib/iconv_open-aix.gperf: New file.
40144         * lib/iconv_open-hpux.gperf: New file.
40145         * lib/iconv_open-irix.gperf: New file.
40146         * lib/iconv_open-osf.gperf: New file.
40147         * m4/iconv_open.m4: New file.
40148         * modules/linebreak (Depends-on): Add iconv_open.
40149         * modules/striconv (Depends-on): Likewise.
40150         * modules/striconveh (Depends-on): Likewise.
40151         * modules/unicodeio (Depends-on): Likewise.
40152         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
40153         (iconv_t)(-1).
40154         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
40155         conversion if cd is (iconv_t)(-1).
40156         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
40157         is not possible.
40158
40159 2007-03-31  Bruno Haible  <bruno@clisp.org>
40160
40161         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
40162         work on Solaris either. Protect also second use of "autodetect_jp".
40163
40164 2007-03-31  Bruno Haible  <bruno@clisp.org>
40165
40166         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
40167         the function is not present.
40168
40169 2007-03-31  Bruno Haible  <bruno@clisp.org>
40170
40171         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
40172         the function is not present.
40173
40174 2007-03-31  Bruno Haible  <bruno@clisp.org>
40175
40176         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
40177         a bug in HP-UX iconv_open().
40178
40179 2007-03-31  Bruno Haible  <bruno@clisp.org>
40180
40181         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
40182         (Mathematics <math.h>): New section, add fpieee.
40183         (Input/output <stdio.h>): Add fseterr.
40184         (Mathematics <math.h>): New section, add printf-frexp.
40185         (Container data structures): Add sublist.
40186         (Core language properties): Add fpucw, inline.
40187         (Functions for greatest-width integer types <inttypes.h>): Add
40188         imaxabs, imaxdiv, inttypes.
40189         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
40190         isnanl-nolibm, ldexp.
40191         (Mathematics <math.h>): New section, add printf-frexpl.
40192         (Support for systems lacking POSIX:2001): Add fprintf-posix,
40193         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
40194         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
40195         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
40196         (Unicode string functions): Add unistr/u*-mbtoucr.
40197         (Java): Add javacomp-script, javaexec-script.
40198         (C#): Add csharpcomp-script, csharpexec-script.
40199         (Support for building libraries and executables): Add havelib,
40200         relocatable-*.
40201         (Support for maintaining and releasing projects): Renamed from
40202         'Support for maintaining and release projects'. Add announce-gen.
40203
40204 2007-03-31  Bruno Haible  <bruno@clisp.org>
40205
40206         * README: Talk primarily about git.
40207         (git and CVS): Renamed from CVS.
40208         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
40209         gnulib is available through git.
40210         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
40211
40212 2007-03-30  Bruno Haible  <bruno@clisp.org>
40213
40214         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
40215         * lib/poll_.h: Likewise.
40216         * lib/stat_.h: Likewise.
40217         * lib/sys_time_.h: Likewise.
40218         * lib/sysexit_.h: Likewise.
40219         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
40220         * lib/stdbool_.h: Likewise.
40221         * lib/byteswap_.h: Add double-inclusion guard.
40222
40223 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
40224
40225         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
40226
40227 2007-03-30  Karl Berry  <karl@gnu.org>
40228
40229         * config/srclist-update: double space after USA in the license
40230         substitution, since that's how it's usually (?) written.
40231
40232 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
40233
40234         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
40235         reported by Bruno Haible.
40236
40237 2007-03-29  Bruno Haible  <bruno@clisp.org>
40238
40239         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
40240         a bug in AIX iconv().
40241
40242 2007-03-29  Bruno Haible  <bruno@clisp.org>
40243
40244         * modules/ldexpl-tests: New file.
40245         * tests/test-ldexpl.c: New file.
40246
40247 2007-03-29  Bruno Haible  <bruno@clisp.org>
40248
40249         * lib/ldexpl.c: Include fpucw.h.
40250         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
40251         multiplication.
40252         * modules/ldexpl (Depends-on): Add fpucw.
40253
40254 2007-03-29  Bruno Haible  <bruno@clisp.org>
40255
40256         * modules/ldexpl: New file.
40257         * m4/ldexpl.m4: New file.
40258         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
40259         set.
40260         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
40261         REPLACE_LDEXPL.
40262         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
40263         REPLACE_LDEXPL.
40264         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
40265         gl_FUNC_LDEXPL_WORKS.
40266         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
40267         * modules/mathl (Files): Remove lib/ldexpl.c.
40268         (Depends-on): Add ldexpl.
40269
40270 2007-03-29  Bruno Haible  <bruno@clisp.org>
40271
40272         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
40273
40274 2007-03-29  Bruno Haible  <bruno@clisp.org>
40275
40276         * tests/test-striconveh.c (main): Don't assume that a direct conversion
40277         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
40278         and possibly also HP-UX.
40279         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
40280         work on AIX, IRIX, HP-UX, OSF/1.
40281         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
40282         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
40283         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
40284         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
40285         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
40286         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
40287
40288 2007-03-29  Bruno Haible  <bruno@clisp.org>
40289
40290         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
40291
40292 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
40293
40294         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
40295         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
40296
40297 2007-03-29  Eric Blake  <ebb9@byu.net>
40298
40299         * lib/acl-internal.h: Remove redundant include.
40300         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
40301         Cygwin when a file is locked.
40302
40303 2007-03-29  Bruno Haible  <bruno@clisp.org>
40304
40305         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
40306         file.
40307         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
40308
40309 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
40310
40311         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
40312         try to remove a parent directory if the child couldn't be removed
40313         (except for the first rmdir, which could fail because the child
40314         doesn't exist).  Problem reported by Jeff Blaine in
40315         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
40316
40317 2007-03-28  Bruno Haible  <bruno@clisp.org>
40318
40319         * lib/striconveh.c (utf8conv_carefully): New function.
40320         (mem_cd_iconveh_internal): Invoke it.
40321
40322 2007-03-28  Bruno Haible  <bruno@clisp.org>
40323
40324         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
40325         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
40326         input.
40327         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
40328         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
40329         unistr/u8-uctomb.
40330
40331 2007-03-28  Bruno Haible  <bruno@clisp.org>
40332
40333         * modules/unistr/u8-mbtoucr: New file.
40334         * lib/unistr/u8-mbtoucr.c: New file.
40335         * modules/unistr/u16-mbtoucr: New file.
40336         * lib/unistr/u16-mbtoucr.c: New file.
40337         * modules/unistr/u16-mbtoucr: New file.
40338         * lib/unistr/u16-mbtoucr.c: New file.
40339         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
40340
40341 2007-03-27  Simon Josefsson  <simon@josefsson.org>
40342             Bruno Haible  <bruno@clisp.org>
40343
40344         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
40345         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
40346         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
40347
40348         * m4/stdio_h.m4: Add stubs for vasprintf too.
40349
40350         * modules/stdio: Support vasprintf in sed command.
40351
40352         * modules/vasprintf: Depend on stdio for prototypes.  Remove
40353         vasprintf.h.  Add stdio module indicator.
40354
40355         * lib/stdio_.h: Declare asprintf and vasprintf, based on
40356         vasprintf.h.
40357
40358         * lib/vasprintf.h: File removed.
40359
40360         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
40361         * lib/vasprintf.c: Ditto.
40362         * lib/xvasprintf.c: Ditto.
40363         * tests/test-vasprintf-posix.c: Ditto.
40364         * tests/test-vasprintf.c: Ditto.
40365
40366 2007-03-27  Bruno Haible  <bruno@clisp.org>
40367
40368         Make vasnprintf multithread-safe.
40369         * lib/vasnprintf.c (decimal_point_char): New function.
40370         (VASNPRINTF): Use it.
40371         Suggested by Simon Josefsson.
40372
40373 2007-03-27  Eric Blake  <ebb9@byu.net>
40374
40375         Support sub-second birthtime on cygwin.
40376         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
40377         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
40378         (get_stat_birthtime): Also work with st_birthtim.
40379
40380 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
40381
40382         * lib/stat-time.h (USE_BIRTHTIME): Remove.
40383         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
40384         (get_stat_birthtime_ns): Do not try to use "spare" fields.
40385         (get_stat_birthtime_ns): Simplify compile-time tests.
40386         (get_stat_birthtime): Change the API to look like
40387         get_stat_mtime etc., except return a negative tv_nsec on error.
40388         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
40389         Don't check for "spare" fields.
40390         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
40391         or for struct stat.st_birthtime, as these tests aren't used.
40392         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
40393
40394 2007-03-27  Bruno Haible  <bruno@clisp.org>
40395
40396         * lib/stat-time.h: Include <sys/stat.h>.
40397
40398 2007-03-27  James Youngman  <jay@gnu.org>
40399
40400         * lib/stat-time.h (get_stat_birthtime): New function for
40401           retrieving st_birthtime as provided by UFS2 (hence *BSD).
40402         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
40403           and its variants.
40404         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
40405         * modules/stat-time-test: New file.
40406         * tests/test-stat-time.c: New test, devised by Bruno Haible.
40407
40408 2007-03-26  Bruno Haible  <bruno@clisp.org>
40409
40410         Better support of signalling NaNs.
40411         * lib/atanl.c: Include isnanl.h.
40412         (atanl): Perform test for NaN at the beginning of the function and
40413         through a call to isnanl.
40414         * lib/cosl.c: Include isnanl.h.
40415         (cosl): Perform test for NaN at the beginning of the function and
40416         through a call to isnanl.
40417         * lib/ldexpl.c: Include isnanl.h.
40418         (ldexpl): Perform test for NaN through a call to isnanl.
40419         * lib/logl.c: Include isnanl.h.
40420         (logl): Perform test for NaN at the beginning of the function and
40421         through a call to isnanl.
40422         * lib/sinl.c: Include isnanl.h.
40423         (sinl): Perform test for NaN at the beginning of the function and
40424         through a call to isnanl.
40425         * lib/sqrtl.c: Include isnanl.h.
40426         (sqrtl): Perform test for NaN at the beginning of the function and
40427         through a call to isnanl.
40428         * lib/tanl.c: Include isnanl.h.
40429         (tanl): Perform test for NaN at the beginning of the function and
40430         through a call to isnanl.
40431         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
40432         * modules/mathl (Depends-on): Add isnanl.
40433
40434 2007-03-26  Eric Blake  <ebb9@byu.net>
40435
40436         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
40437         regression in logic sense of previous patch.
40438
40439 2007-03-26  Bruno Haible  <bruno@clisp.org>
40440
40441         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
40442         unportable shell command "if ! ...".
40443         Reported by Ralf Wildenhues.
40444
40445 2007-03-25  Bruno Haible  <bruno@clisp.org>
40446
40447         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
40448         <sysexits.h> file, and only add EX_CONFIG.
40449         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
40450         absolute file name and whether it is sufficient. Substitute also
40451         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
40452         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
40453         ABSOLUTE_SYSEXITS_H into sysexits.h.
40454
40455 2007-03-25  Bruno Haible  <bruno@clisp.org>
40456
40457         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
40458         hints is NULL.
40459
40460 2007-03-25  Bruno Haible  <bruno@clisp.org>
40461
40462         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
40463         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
40464
40465 2007-03-25  Bruno Haible  <bruno@clisp.org>
40466
40467         * lib/vasnprintf.c: Include langinfo.h.
40468         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
40469         multithread-safe.
40470         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
40471         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
40472         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
40473         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40474         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40475         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40476         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
40477         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
40478         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40479         Reported by Simon Josefsson.
40480
40481 2007-03-25  Bruno Haible  <bruno@clisp.org>
40482
40483         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
40484         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
40485         * modules/vasnprintf (Depends-on): Add stdint.
40486
40487 2007-03-25  Bruno Haible  <bruno@clisp.org>
40488
40489         * modules/fpieee: New file.
40490         * m4/fpieee.m4: New file.
40491         * modules/isnan-nolibm (Depends-on): Add fpieee.
40492         * modules/isnanl-nolibm (Depends-on): Add fpieee.
40493         * modules/isnanl (Depends-on): Add fpieee.
40494
40495 2007-03-25  Bruno Haible  <bruno@clisp.org>
40496
40497         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
40498
40499 2007-03-25  Bruno Haible  <bruno@clisp.org>
40500
40501         Avoid test failures on IRIX 6.5.
40502         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
40503         (main): Use it.
40504         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
40505         macros.
40506         (main): Use them.
40507
40508 2007-03-25  Bruno Haible  <bruno@clisp.org>
40509
40510         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
40511         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
40512         exists but doesn't work.
40513         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
40514         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
40515         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
40516         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
40517
40518 2007-03-25  Bruno Haible  <bruno@clisp.org>
40519
40520         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
40521         returns inf. Needed on IRIX 6.5.
40522
40523 2007-03-25  Bruno Haible  <bruno@clisp.org>
40524
40525         * tests/test-frexpl.c: Include isnanl-nolibm.h.
40526         (main): Use isnanl instead of x != x idiom.
40527         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
40528
40529         * tests/test-frexp.c: Include isnan.h.
40530         (main): Use isnan instead of x != x idiom.
40531         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
40532
40533 2007-03-25  Bruno Haible  <bruno@clisp.org>
40534
40535         * tests/test-frexp.c (NaN): New function/macro.
40536         (main): Use it instead of 0.0 / 0.0.
40537         * tests/test-isnan.c (NaN): New function/macro.
40538         (main): Use it instead of 0.0 / 0.0.
40539         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
40540         (test_function): Use it instead of 0.0 / 0.0.
40541         * tests/test-vasprintf-posix.c (NaN): New function/macro.
40542         (test_function): Use it instead of 0.0 / 0.0.
40543         * tests/test-snprintf-posix.h (NaN): New function/macro.
40544         (test_function): Use it instead of 0.0 / 0.0.
40545         * tests/test-sprintf-posix.h (NaN): New function/macro.
40546         (test_function): Use it instead of 0.0 / 0.0.
40547         * tests/test-fprintf-posix.h (NaN): New function/macro.
40548         (test_function): Use it instead of 0.0 / 0.0.
40549         * tests/test-printf-posix.h (NaN): New function/macro.
40550         (test_function): Use it instead of 0.0 / 0.0.
40551
40552         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
40553
40554 2007-03-25  Bruno Haible  <bruno@clisp.org>
40555
40556         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
40557
40558 2007-03-25  Bruno Haible  <bruno@clisp.org>
40559
40560         * lib/regexec.c (merge_state_with_log): Make static.
40561
40562 2007-03-25  Bruno Haible  <bruno@clisp.org>
40563
40564         * lib/trigl.c (kernel_rem_pio2): Make static.
40565
40566 2007-03-25  Bruno Haible  <bruno@clisp.org>
40567
40568         * lib/sincosl.c (sincosl_table): Make static.
40569
40570 2007-03-25  Bruno Haible  <bruno@clisp.org>
40571
40572         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
40573         if the compiler does not support C99.
40574
40575 2007-03-25  Bruno Haible  <bruno@clisp.org>
40576
40577         * modules/time (Makefile.am): Ensure all rule action lines start with a
40578         tab.
40579
40580 2007-03-24  Bruno Haible  <bruno@clisp.org>
40581
40582         * modules/tsearch-tests: New file.
40583         * tests/test-tsearch.sh: New file.
40584         * tests/test-tsearch.c: New file, mostly copied from glibc.
40585
40586         * modules/search-tests: New file.
40587         * tests/test-search.c: New file.
40588
40589         * modules/search: New file.
40590         * lib/search_.h: New file, incorporating lib/tsearch.h.
40591         * m4/search_h.m4: New file.
40592         * lib/tsearch.h: Remove file.
40593         * lib/tsearch.c: Include search.h instead of tsearch.h.
40594         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
40595         HAVE_TSEARCH.
40596         * modules/tsearch (Files): Remove lib/tsearch.h.
40597         (Depends-on): Add search.
40598         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
40599         (Include): Change tsearch.h into search.h.
40600
40601 2007-03-24  Bruno Haible  <bruno@clisp.org>
40602
40603         * modules/fpucw: New file.
40604         * lib/fpucw.h: New file.
40605         * lib/frexp.c: Include fpucw.h.
40606         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
40607         (FUNC): Use them.
40608         * lib/printf-frexp.c: Include fpucw.h.
40609         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
40610         (FUNC): Use them.
40611         * lib/vasnprintf.c: Include fpucw.h.
40612         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
40613         'long double' calculations.
40614         * tests/test-frexpl.c: Include fpucw.h.
40615         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
40616         * tests/test-printf-frexpl.c: Include fpucw.h.
40617         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
40618         * modules/frexpl (Depends-on): Add fpucw.
40619         * modules/printf-frexpl (Depends-on): Likewise.
40620         * modules/fprintf-posix (Depends-on): Likewise.
40621         * modules/snprintf-posix (Depends-on): Likewise.
40622         * modules/sprintf-posix (Depends-on): Likewise.
40623         * modules/vasnprintf-posix (Depends-on): Likewise.
40624         * modules/vasprintf-posix (Depends-on): Likewise.
40625         * modules/vfprintf-posix (Depends-on): Likewise.
40626         * modules/vsnprintf-posix (Depends-on): Likewise.
40627         * modules/vsprintf-posix (Depends-on): Likewise.
40628         * modules/frexpl-tests (Depends-on): Likewise.
40629         * modules/printf-frexpl-tests (Depends-on): Likewise.
40630
40631 2007-03-24  Bruno Haible  <bruno@clisp.org>
40632
40633         * lib/float+.h: New file.
40634         * lib/isnan.c: Include float+.h.
40635         (SIZE): New macro.
40636         (FUNC): Compare only SIZE bytes of the value.
40637         * lib/vasnprintf.c: Include float+.h.
40638         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
40639         SIZEOF_LDBL or SIZEOF_DBL bytes.
40640         * modules/isnan-nolibm (Files): Add lib/float+.h.
40641         * modules/isnanl-nolibm (Files): Add lib/float+.h.
40642         * modules/isnanl (Files): Add lib/float+.h.
40643         * modules/vasnprintf (Files): Add lib/float+.h.
40644
40645 2007-03-24  Bruno Haible  <bruno@clisp.org>
40646
40647         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
40648         include isnanl-nolibm.h.
40649
40650 2007-03-24  Bruno Haible  <bruno@clisp.org>
40651
40652         * tests/test-read-file.c (main): Don't produce spurious output for
40653         expected situations. Make the test fail if it encountered unexpected
40654         results.
40655
40656 2007-03-24  Bruno Haible  <bruno@clisp.org>
40657
40658         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
40659         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
40660
40661 2007-03-24  Bruno Haible  <bruno@clisp.org>
40662
40663         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
40664
40665 2007-03-24  Bruno Haible  <bruno@clisp.org>
40666
40667         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
40668         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
40669
40670         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
40671         * modules/utf8-ucs4: Turn into a symbolic link to module
40672         unistr/u8-mbtouc.
40673
40674         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
40675         utf8-ucs4-unsafe.
40676         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
40677         unistr/u8-mbtouc-unsafe.
40678
40679         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
40680         * modules/utf16-ucs4: Turn into a symbolic link to module
40681         unistr/u16-mbtouc.
40682
40683         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
40684         utf16-ucs4-unsafe.
40685         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
40686         unistr/u16-mbtouc-unsafe.
40687
40688         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
40689         * modules/ucs4-utf8: Turn into a symbolic link to module
40690         unistr/u8-ubtomb.
40691
40692         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
40693         * modules/ucs4-utf16: Turn into a symbolic link to module
40694         unistr/u16-ubtomb.
40695
40696 2007-03-24  Bruno Haible  <bruno@clisp.org>
40697
40698         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
40699         Enable the function only if HAVE_INLINE.
40700         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
40701         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
40702         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
40703         Enable the function only if HAVE_INLINE.
40704         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
40705         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
40706         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
40707         Enable the function only if HAVE_INLINE.
40708         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
40709         Enable the function only if HAVE_INLINE.
40710         * modules/utf8-ucs4: Update.
40711         * modules/utf8-ucs4-unsafe: Update.
40712         * modules/utf16-ucs4: Update.
40713         * modules/utf16-ucs4-unsafe: Update.
40714         * modules/ucs4-utf8: Update.
40715         * modules/ucs4-utf16: Update.
40716
40717 2007-03-24  Bruno Haible  <bruno@clisp.org>
40718
40719         * lib/utf8-ucs4.h: Remove file.
40720         * lib/utf8-ucs4-unsafe.h: Remove file.
40721         * lib/utf16-ucs4.h: Remove file.
40722         * lib/utf16-ucs4-unsafe.h: Remove file.
40723         * lib/ucs4-utf8.h: Remove file.
40724         * lib/ucs4-utf16.h: Remove file.
40725         * lib/unistr.h: Include their previous contents.
40726         * m4/utf-ucs4.m4: Remove file.
40727         * m4/ucs4-utf.m4: Remove file.
40728         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
40729         (Depends-on): Add unistr/base.
40730         (configure.ac): Remove gl_UTF_UCS4.
40731         (Makefile.am): Update.
40732         (Include): Change to unistr.h.
40733         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
40734         (Depends-on): Add unistr/base.
40735         (configure.ac): Remove gl_UTF_UCS4.
40736         (Makefile.am): Update.
40737         (Include): Change to unistr.h.
40738         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
40739         (Depends-on): Add unistr/base.
40740         (configure.ac): Remove gl_UTF_UCS4.
40741         (Makefile.am): Update.
40742         (Include): Change to unistr.h.
40743         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
40744         (Depends-on): Add unistr/base.
40745         (configure.ac): Remove gl_UTF_UCS4.
40746         (Makefile.am): Update.
40747         (Include): Change to unistr.h.
40748         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
40749         (Depends-on): Add unistr/base.
40750         (configure.ac): Remove gl_UCS4_UTF.
40751         (Makefile.am): Update.
40752         (Include): Change to unistr.h.
40753         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
40754         (Depends-on): Add unistr/base.
40755         (configure.ac): Remove gl_UCS4_UTF.
40756         (Makefile.am): Update.
40757         (Include): Change to unistr.h.
40758         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
40759         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
40760         utf8-ucs4-unsafe.h.
40761         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
40762         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
40763         utf16-ucs4-unsafe.h.
40764         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
40765         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
40766         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
40767         * lib/unistr/u8-strchr.c: Likewise.
40768         * lib/unistr/u8-strrchr.c: Likewise.
40769         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
40770         * lib/unistr/u16-strchr.c: Likewise.
40771         * lib/unistr/u16-strrchr.c: Likewise.
40772         * lib/striconveh.c: Update.
40773         * lib/linebreak.c: Update.
40774
40775 2007-03-24  Bruno Haible  <bruno@clisp.org>
40776
40777         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
40778         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
40779
40780 2007-03-22  Bruno Haible  <bruno@clisp.org>
40781
40782         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
40783
40784 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
40785
40786         * MODULES.html.sh (File system functions): New module write-any-file.
40787         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
40788         * m4/write-any-file.m4: New files.
40789
40790 2007-03-23  Eric Blake  <ebb9@byu.net>
40791
40792         * gnulib-tool: Rearrange space-tab sequences, since some editors
40793         like to eat them.
40794
40795 2007-03-23  Eric Blake  <ebb9@byu.net>
40796
40797         * lib/version-etc.c (version_etc_va): Update license wording to
40798         be more concise.  Recommended by Richard Stallman.
40799
40800 2007-03-22  Bruno Haible  <bruno@clisp.org>
40801
40802         * lib/poll.c (MSG_PEEK): New fallback definition.
40803
40804 2007-03-22  Bruno Haible  <bruno@clisp.org>
40805
40806         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
40807         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
40808         (main): Update.
40809         Fixes a compilation error on BeOS.
40810
40811 2007-03-22  Bruno Haible  <bruno@clisp.org>
40812
40813         * modules/frexpl-tests: New file.
40814         * tests/test-frexpl.c: New file.
40815
40816         * modules/frexpl: New file.
40817         * m4/frexpl.m4: New file.
40818         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
40819         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
40820         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
40821         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
40822         (Depends-on): Add frexpl. Remove isnanl-nolibm.
40823         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
40824
40825 2007-03-22  Bruno Haible  <bruno@clisp.org>
40826
40827         * lib/frexpl.c: Share code with lib/frexp.c.
40828         * modules/mathl (Files): Add lib/frexp.c.
40829         (Depends-on): Add isnanl-nolibm.
40830
40831 2007-03-22  Bruno Haible  <bruno@clisp.org>
40832
40833         * modules/printf-frexp (Files): Add m4/frexp.m4.
40834         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
40835         only if the found frexp function actually works.
40836
40837 2007-03-22  Bruno Haible  <bruno@clisp.org>
40838
40839         * lib/frexp.c: Remove older implementation that uses divisions.
40840
40841 2007-03-21  Bruno Haible  <bruno@clisp.org>
40842
40843         * modules/frexp-tests: New file.
40844         * tests/test-frexp.c: New file.
40845
40846         * modules/frexp: New file.
40847         * lib/frexp.c: New file.
40848         * m4/frexp.m4: New file.
40849         * lib/math_.h (frexp): New declaration.
40850         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
40851         REPLACE_FREXP.
40852         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
40853
40854 2007-03-21  Bruno Haible  <bruno@clisp.org>
40855
40856         * modules/isnanl-tests: New file.
40857         * tests/test-isnanl.c: New file.
40858
40859         * modules/isnanl: New file.
40860         * lib/isnanl.h: New file.
40861         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
40862         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
40863         gl_FUNC_ISNANL_WORKS.
40864         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
40865         New macros.
40866
40867 2007-03-21  Bruno Haible  <bruno@clisp.org>
40868
40869         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
40870         lib/isnanl.h.
40871         (Include): Update.
40872         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
40873         * lib/vasnprintf.c: Update.
40874         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
40875         tests/test-isnanl.h, remove tests/test-isnanl.c.
40876         (Makefile.am): Update.
40877         * tests/test-isnanl-nolibm.c: New file.
40878         * tests/test-isnanl.h: New file.
40879         * tests/test-isnanl.c: Remove file.
40880
40881 2007-03-21  Jim Meyering  <jim@meyering.net>
40882
40883         When trying to open ".", treat ESTALE like EACCES.
40884         * lib/savewd.c (savewd_save): Resort to forking not just upon
40885         failure with EACCES, but also when errno is ESTALE.
40886
40887 2007-03-20  Bruno Haible  <bruno@clisp.org>
40888
40889         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
40890         Needed on AIX 5.1. Reported by Matthew Woehlke.
40891
40892 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
40893
40894         Suggestions by Bruno Haible:
40895         * lib/acl-internal.h: Include "gettext.h" rather than rolling
40896         our own.
40897         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
40898         * modules/acl (Depends-on): Add gettext.
40899
40900 2007-03-19  Bruno Haible  <bruno@clisp.org>
40901
40902         * modules/iconvme: Remove file.
40903         * lib/iconvme.h: Remove file.
40904         * lib/iconvme.c: Remove file.
40905         * m4/iconvme.m4: Remove file.
40906
40907 2007-03-19  Bruno Haible  <bruno@clisp.org>
40908
40909         * doc/relocatable-maint.texi: Break long shell script line.
40910         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
40911
40912 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
40913
40914         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
40915         handle file_has_acl.
40916         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
40917         * lib/acl.c: Move header inclusions and related macro defns into
40918         lib/acl-internal.h.
40919         (S_ISLNK): Remove defn, since that's now done for us.
40920         (file_has_acl): Move to lib/file-has-acl.c.
40921         Call acl_trivial if available.  This is the crucial part of the fix.
40922         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
40923         shared within the library.  Rewrite a bit, partly to make it compatible
40924         with the GNU coding style.
40925         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
40926         Remove unnecessary double-quotes.
40927         Don't test for acl_to_text; the build will catch that.
40928         Replace acl_entries if it doesn't exist and it is needed.
40929         Check for -lsec and acl_trivial (as used on Solaris 10).
40930         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
40931         lib/file-has-acl.c.
40932         (Depends-on): Add sys_stat, for S_ISLNK.
40933
40934 2007-03-19  Ben Pfaff  <blp@gnu.org>
40935
40936         * doc/gnulib.texi: Fix typos.
40937         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
40938
40939 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
40940
40941         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
40942         If size is zero here, buf must be zero.
40943
40944 2007-03-19  Simon Josefsson  <simon@josefsson.org>
40945
40946         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
40947         <bruno@clisp.org>.
40948
40949 2007-03-18  Bruno Haible  <bruno@clisp.org>
40950
40951         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
40952         Suggested by Eric Blake.
40953
40954 2007-03-18  Ben Pfaff  <blp@gnu.org>
40955
40956         * doc/relocatable.texi: Recommend using as prefix a directory
40957         that does not exist and will never be created.  Based on
40958         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
40959         and others.
40960
40961 2007-03-17  Bruno Haible  <bruno@clisp.org>
40962
40963         * lib/fchownat.c: Include lchown.h.
40964
40965 2007-03-17  Bruno Haible  <bruno@clisp.org>
40966
40967         Fix endless loop when the given allocated size was > INT_MAX.
40968         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
40969         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
40970         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
40971         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
40972         * lib/sprintf.c (sprintf): Likewise.
40973
40974 2007-03-17  Bruno Haible  <bruno@clisp.org>
40975
40976         * tests/test-argp-2.sh (func_compare): Output a context diff.
40977
40978 2007-03-17  Bruno Haible  <bruno@clisp.org>
40979
40980         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
40981         locale's decimal-point character.
40982
40983 2007-03-17  Bruno Haible  <bruno@clisp.org>
40984
40985         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
40986         before comparing it. Needed because on some platforms (e.g. x86) a
40987         'long double' occupies less bytes than sizeof (long double).
40988
40989 2007-03-17  Bruno Haible  <bruno@clisp.org>
40990
40991         * tests/test-crc.c (main): Make printf statements 64-bit clean.
40992         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
40993         * tests/test-getaddrinfo.c (simple): Likewise.
40994         * tests/test-read-file.c (main): Likewise.
40995
40996 2007-03-17  Bruno Haible  <bruno@clisp.org>
40997
40998         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
40999
41000 2007-03-17  Bruno Haible  <bruno@clisp.org>
41001
41002         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
41003         unused variable.
41004
41005 2007-03-17  Bruno Haible  <bruno@clisp.org>
41006
41007         * tests/test-c-strcasecmp.c: Include c-strcase.h.
41008         * tests/test-c-strncasecmp.c: Likewise.
41009
41010 2007-03-17  Bruno Haible  <bruno@clisp.org>
41011
41012         * modules/stdlib (Depends-on): Add unistd.
41013         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
41014         Needed for MacOS X 10.3.
41015
41016 2007-03-17  Bruno Haible  <bruno@clisp.org>
41017
41018         * lib/unistr/u-strdup.h: Include <stdlib.h>.
41019
41020 2007-03-17  Bruno Haible  <bruno@clisp.org>
41021
41022         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
41023
41024 2007-03-17  Bruno Haible  <bruno@clisp.org>
41025
41026         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
41027         to reflect files copied from gnulib (with or without modifications).
41028         Suggested by Jim Meyering.
41029
41030 2007-03-17  Eric Blake  <ebb9@byu.net>
41031
41032         * NEWS: Document stdlib change from 2007-02-18.
41033
41034 2007-03-17  Jim Meyering  <jim@meyering.net>
41035
41036         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
41037         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
41038         someone uses a name containing shell meta-characters.
41039         Reported by Alfred M. Szmidt.
41040
41041         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
41042
41043 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
41044
41045         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
41046         and copy gettext configuration files only if configure.ac contains
41047         a use of AM_GNU_GETTEXT_VERSION.
41048
41049 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
41050
41051         * build-aux/bootstrap (gnulib_name): New variable.
41052         (gnulib_tool_options): Use it.
41053
41054 2007-03-13  Simon Josefsson  <simon@josefsson.org>
41055
41056         * tests/test-des.c: Use new namespace.
41057
41058 2007-03-15  Bruno Haible  <bruno@clisp.org>
41059
41060         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
41061         Reported by James Youngman <jay@gnu.org>.
41062
41063 2007-03-15  Bruno Haible  <bruno@clisp.org>
41064
41065         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
41066         declared prototype. Needed with cc on OSF/1 5.1.
41067
41068 2007-03-15  Bruno Haible  <bruno@clisp.org>
41069
41070         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
41071         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
41072         (struct gl_list_implementation): Add dispose_fn argument to the
41073         'create_empty', 'create' methods.
41074         (struct gl_list_impl_base): Add field 'dispose_fn'.
41075         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
41076         argument.
41077         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
41078         dispose_fn argument.
41079         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
41080         dispose_fn on the dropped values.
41081         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
41082         dispose_fn argument.
41083         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
41084         dropped values.
41085         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
41086         (gl_tree_remove_node): Call dispose_fn on the dropped value.
41087         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
41088         (gl_tree_remove_node): Call dispose_fn on the dropped value.
41089         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
41090         argument.
41091         (gl_tree_list_free): Call dispose_fn on the dropped values.
41092         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
41093         the dropped values.
41094         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
41095         Add dispose_fn argument.
41096         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
41097         Call dispose_fn on the dropped values.
41098         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
41099         Add dispose_fn argument.
41100         (gl_sublist_create): Initialize the 'dispose_fn' field.
41101         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
41102         * tests/test-array_list.c (main): Update.
41103         * tests/test-carray_list.c (main): Update.
41104         * tests/test-avltree_list.c (main): Update.
41105         * tests/test-rbtree_list.c (main): Update.
41106         * tests/test-avltreehash_list.c (main): Update.
41107         * tests/test-rbtreehash_list.c (main): Update.
41108         * tests/test-linked_list.c (main): Update.
41109         * tests/test-linkedhash_list.c (main): Update.
41110         * tests/test-array_oset.c (main): Update.
41111
41112 2007-03-15  Bruno Haible  <bruno@clisp.org>
41113
41114         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
41115         (gl_oset_create_empty): Add dispose_fn argument.
41116         (struct gl_oset_implementation): Add dispose_fn argument to
41117         'create_empty' method.
41118         (struct gl_oset_impl_base): Add dispose_fn field.
41119         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
41120         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
41121         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
41122         values.
41123         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
41124         (gl_tree_oset_free): Call dispose_fn on the dropped values.
41125         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
41126         dropped value.
41127         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
41128         dropped value.
41129         * tests/test-array_oset.c (main): Update.
41130         * tests/test-avltree_oset.c (main): Update.
41131         * tests/test-rbtree_oset.c (main): Update.
41132         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
41133
41134 2007-03-13  Bruno Haible  <bruno@clisp.org>
41135
41136         * tests/test-stdbool.c (i): Update after last patch.
41137
41138 2007-03-12  Bruno Haible  <bruno@clisp.org>
41139
41140         * lib/quotearg.c: Include <wctype.h> early, before the definition of
41141         the iswprint macro. Needed on Solaris 2.5.1.
41142
41143 2007-03-12  Bruno Haible  <bruno@clisp.org>
41144
41145         * tests/test-printf-frexp.c (main): Declare x as volatile.
41146
41147 2007-03-12  Simon Josefsson  <simon@josefsson.org>
41148
41149         * doc/gnulib.texi (Build robot for gnulib): New section.
41150
41151 2007-03-12  Jim Meyering  <jim@meyering.net>
41152
41153         * build-aux/bootstrap: New file.
41154         * build-aux/bootstrap.conf: New file, from coreutils.
41155
41156 2007-03-11  Bruno Haible  <bruno@clisp.org>
41157
41158         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
41159
41160 2007-03-12  Simon Josefsson  <simon@josefsson.org>
41161
41162         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
41163         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
41164         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
41165
41166 2007-03-11  Bruno Haible  <bruno@clisp.org>
41167
41168         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
41169         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
41170
41171 2007-03-11  Bruno Haible  <bruno@clisp.org>
41172
41173         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
41174         formula. Needed for SunPRO C 5.0.
41175
41176 2007-03-11  Bruno Haible  <bruno@clisp.org>
41177
41178         * modules/long-options (Depends-on): Add getopt.
41179
41180 2007-03-11  Bruno Haible  <bruno@clisp.org>
41181
41182         * modules/modechange (Depends-on): Add stdbool.
41183
41184 2007-03-11  Bruno Haible  <bruno@clisp.org>
41185
41186         * modules/i-ring (Depends-on): Add stdbool.
41187
41188 2007-03-11  Bruno Haible  <bruno@clisp.org>
41189
41190         * modules/gc-des (Depends-on): Add stdbool.
41191
41192 2007-03-11  Bruno Haible  <bruno@clisp.org>
41193
41194         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
41195
41196 2007-03-11  Bruno Haible  <bruno@clisp.org>
41197
41198         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
41199
41200 2007-03-11  Bruno Haible  <bruno@clisp.org>
41201
41202         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
41203
41204 2007-03-11  Bruno Haible  <bruno@clisp.org>
41205
41206         * lib/vasnprintf.c (sprintf): Undefine.
41207
41208 2007-03-11  Bruno Haible  <bruno@clisp.org>
41209
41210         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
41211         initializers in SunPRO C and Compaq C compilers.
41212
41213 2007-03-11  Bruno Haible  <bruno@clisp.org>
41214
41215         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
41216         decrementing code ANSI C compliant.
41217
41218 2007-03-11  Bruno Haible  <bruno@clisp.org>
41219
41220         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
41221         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
41222
41223 2007-03-11  Bruno Haible  <bruno@clisp.org>
41224
41225         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
41226         <stdbool.h> substitute doesn't pass.
41227
41228 2007-03-11  Bruno Haible  <bruno@clisp.org>
41229
41230         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
41231
41232 2007-03-11  Bruno Haible  <bruno@clisp.org>
41233
41234         * gnulib-tool (func_create_megatestdir): Create also an autobuild
41235         script, for submission to autobuild.josefsson.org.
41236
41237 2007-03-10  Bruno Haible  <bruno@clisp.org>
41238
41239         * modules/canonicalize-lgpl-tests: New file.
41240         * tests/test-canonicalize-lgpl.sh: New file.
41241         * tests/test-canonicalize-lgpl.c: New file.
41242
41243         * modules/c-strcase-tests: New file.
41244         * tests/test-c-strcase.sh: New file.
41245         * tests/test-c-strcasecmp.c: New file.
41246         * tests/test-c-strncasecmp.c: New file.
41247
41248         * modules/atexit-tests: New file.
41249         * tests/test-atexit.sh: New file.
41250         * tests/test-atexit.c: New file.
41251
41252 2007-03-10  Bruno Haible  <bruno@clisp.org>
41253
41254         * tests/test-binary-io.sh: Use temporary filenames that are not so
41255         likely to clash with those of other tests (in a parallel make).
41256         * tests/test-binary-io.c: Likewise.
41257
41258 2007-03-10  Bruno Haible  <bruno@clisp.org>
41259
41260         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
41261         fallback; use #error instead.
41262         Suggested by Simon Josefsson.
41263
41264 2007-03-10  Bruno Haible  <bruno@clisp.org>
41265
41266         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
41267         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
41268         first and the last.
41269
41270 2007-03-10  Bruno Haible  <bruno@clisp.org>
41271
41272         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
41273
41274 2007-03-10  Bruno Haible  <bruno@clisp.org>
41275
41276         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
41277         "make distcheck".
41278         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
41279         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
41280         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
41281
41282 2007-03-10  Bruno Haible  <bruno@clisp.org>
41283
41284         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
41285         variable.
41286         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
41287         variable.
41288
41289 2007-03-09  Eric Blake  <ebb9@byu.net>
41290         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
41291
41292         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
41293         types are not being provided by gnulib.
41294         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
41295         types are supported.
41296
41297 2007-03-10  Bruno Haible  <bruno@clisp.org>
41298
41299         * lib/stdio_.h (__attribute__): New macro.
41300         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
41301         vsprintf): Specify __attribute__ __format__ for GCC.
41302         Suggested by Eric Blake.
41303
41304 2007-03-09  Bruno Haible  <bruno@clisp.org>
41305
41306         * modules/printf-posix-tests: New file.
41307         * tests/test-printf-posix.sh: New file.
41308         * tests/test-printf-posix.c: New file.
41309
41310         * modules/printf-posix: New file.
41311         * lib/printf.c: New file.
41312         * m4/printf-posix-rpl.m4: New file.
41313         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
41314         REPLACE_PRINTF.
41315         * lib/stdio_.h (printf): New declaration.
41316         (format, __format__, ____printf____, ____scanf____, ____strftime____,
41317         ____strfmon____): New macros.
41318         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
41319         REPLACE_PRINTF.
41320
41321 2007-03-09  Bruno Haible  <bruno@clisp.org>
41322
41323         * tests/test-vasnprintf-posix2.sh: New file.
41324         * tests/test-vasnprintf-posix2.c: New file.
41325         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
41326         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
41327         (Makefile.am): Activate test-vasnprintf-posix2.sh.
41328
41329         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
41330         a locale dependent decimal point, rather than always '.'.
41331
41332 2007-03-09  Eric Blake  <ebb9@byu.net>
41333
41334         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
41335         spite of platforms like Tandem/NSK that define it to -1.
41336
41337 2007-03-08  Bruno Haible  <bruno@clisp.org>
41338
41339         * modules/vprintf-posix-tests: New file.
41340         * tests/test-vprintf-posix.sh: New file.
41341         * tests/test-vprintf-posix.c: New file.
41342         * tests/test-printf-posix.h: New file.
41343
41344         * modules/vprintf-posix: New file.
41345         * lib/vprintf.c: New file.
41346         * m4/vprintf-posix.m4: New file.
41347         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
41348         REPLACE_VPRINTF.
41349         * lib/stdio_.h (vprintf): New declaration.
41350         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
41351         REPLACE_VPRINTF.
41352
41353 2007-03-08  Bruno Haible  <bruno@clisp.org>
41354
41355         * modules/fprintf-posix-tests: New file.
41356         * tests/test-fprintf-posix.sh: New file.
41357         * tests/test-fprintf-posix.c: New file.
41358
41359         * modules/fprintf-posix: New file.
41360         * lib/fprintf.c: New file.
41361         * m4/fprintf-posix.m4: New file.
41362         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
41363         REPLACE_FPRINTF.
41364         * lib/stdio_.h (fprintf): New declaration.
41365         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
41366         REPLACE_FPRINTF.
41367
41368 2007-03-08  Bruno Haible  <bruno@clisp.org>
41369
41370         * modules/vfprintf-posix-tests: New file.
41371         * tests/test-vfprintf-posix.sh: New file.
41372         * tests/test-vfprintf-posix.c: New file.
41373         * tests/test-fprintf-posix.h: New file.
41374         * tests/test-fprintf-posix.out: New file.
41375
41376         * modules/vfprintf-posix: New file.
41377         * lib/vfprintf.c: New file.
41378         * m4/vfprintf-posix.m4: New file.
41379         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
41380         REPLACE_VFPRINTF.
41381         * lib/stdio_.h (vfprintf): New declaration.
41382         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
41383         REPLACE_VFPRINTF.
41384
41385 2007-03-08  Bruno Haible  <bruno@clisp.org>
41386
41387         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
41388
41389 2007-03-08  Bruno Haible  <bruno@clisp.org>
41390
41391         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
41392         instead of 'expr' invocations.
41393         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
41394         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
41395         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
41396         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
41397         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
41398         Suggested by Paul Eggert.
41399
41400 2007-03-08  Bruno Haible  <bruno@clisp.org>
41401
41402         * modules/fseterr-tests: New file.
41403         * tests/test-fseterr.c: New file.
41404
41405         * modules/fseterr: New file.
41406         * lib/fseterr.h: New file.
41407         * lib/fseterr.c: New file.
41408
41409 2007-03-08  Bruno Haible  <bruno@clisp.org>
41410
41411         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
41412         * lib/getopt_.h: Likewise.
41413         * lib/mbswidth.h: Likewise.
41414         * lib/setenv.h: Likewise.
41415         * lib/vasnprintf.h: Likewise.
41416         * lib/vasprintf.h: Likewise.
41417         * lib/verror.h: Likewise.
41418         * lib/xsetenv.h: Likewise.
41419         * lib/xvasprintf.h: Likewise.
41420
41421 2007-03-08  Jim Meyering  <jim@meyering.net>
41422
41423         * users.txt: Add parted.
41424
41425         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
41426
41427 2007-03-07  Bruno Haible  <bruno@clisp.org>
41428
41429         * m4/printf.m4: Make the shell script snippets copy&pastable.
41430
41431 2007-03-02  Bruno Haible  <bruno@clisp.org>
41432
41433         * lib/netinet_in_.h: New file.
41434         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
41435         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
41436         * modules/netinet_in (Files): Add lib/netinet_in_.h.
41437         (Depends-on): Add absolute-header.
41438         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
41439         into netinet/in.h.
41440
41441 2007-03-03  Bruno Haible  <bruno@clisp.org>
41442
41443         * lib/sys_select_.h: New file.
41444         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
41445         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
41446         * modules/sys_select (Files): Add lib/sys_select_.h.
41447         (Depends-on): Add absolute-header.
41448         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
41449         into sys/select.h.
41450
41451 2007-03-02  Bruno Haible  <bruno@clisp.org>
41452
41453         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
41454         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
41455         values.
41456         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
41457         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
41458         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
41459         * modules/sys_socket (Depends-on): Add absolute-header.
41460         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
41461         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
41462         (Include): Remove requirement of inclusion of <sys/types.h>.
41463
41464 2007-03-02  Bruno Haible  <bruno@clisp.org>
41465
41466         * lib/byteswap_.h (bswap_32): Fix formula.
41467
41468 2007-03-06  Bruno Haible  <bruno@clisp.org>
41469
41470         * modules/sprintf-posix-tests: New file.
41471         * tests/test-sprintf-posix.c: New file.
41472
41473         * modules/sprintf-posix: New file.
41474         * lib/sprintf.c: New file.
41475         * m4/sprintf-posix.m4: New file.
41476         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
41477         REPLACE_SPRINTF.
41478         * lib/stdio_.h (sprintf): New declaration.
41479         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
41480         REPLACE_SPRINTF.
41481
41482 2007-03-06  Bruno Haible  <bruno@clisp.org>
41483
41484         * modules/vsprintf-posix-tests: New file.
41485         * tests/test-vsprintf-posix.c: New file.
41486         * tests/test-sprintf-posix.h: New file.
41487
41488         * modules/vsprintf-posix: New file.
41489         * lib/vsprintf.c: New file.
41490         * m4/vsprintf-posix.m4: New file.
41491         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
41492         REPLACE_VSPRINTF.
41493         * lib/stdio_.h (vsprintf): New declaration.
41494         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
41495         REPLACE_VSPRINTF.
41496
41497 2007-03-06  Bruno Haible  <bruno@clisp.org>
41498
41499         * modules/vsnprintf (Depend-on): Remove minmax.
41500
41501 2007-03-06  Bruno Haible  <bruno@clisp.org>
41502
41503         * modules/snprintf-posix-tests: New file.
41504         * tests/test-snprintf-posix.c: New file.
41505
41506         * modules/snprintf-posix: New file.
41507         * m4/snprintf-posix.m4: New file.
41508         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
41509         gl_FUNC_SNPRINTF.
41510         (gl_FUNC_SNPRINTF): Invoke it.
41511         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
41512         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
41513         is set.
41514         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
41515
41516 2007-03-06  Bruno Haible  <bruno@clisp.org>
41517
41518         * modules/vsnprintf-posix-tests: New file.
41519         * tests/test-vsnprintf-posix.c: New file.
41520         * tests/test-snprintf-posix.h: New file.
41521
41522         * modules/vsnprintf-posix: New file.
41523         * m4/vsnprintf-posix.m4: New file.
41524         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
41525         gl_FUNC_VSNPRINTF.
41526         (gl_FUNC_VSNPRINTF): Invoke it.
41527         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
41528         * lib/stdio_.h (vsnprintf): Define as a replacement if
41529         REPLACE_VSNPRINTF is set.
41530         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
41531
41532 2007-03-06  Bruno Haible  <bruno@clisp.org>
41533
41534         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
41535         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
41536
41537 2007-03-06  Bruno Haible  <bruno@clisp.org>
41538
41539         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
41540         (asinl): Declare also if HAVE_DECL_ASINL is set.
41541         (atanl): Declare also if HAVE_DECL_ATANL is set.
41542         (ceill): Declare also if HAVE_DECL_CEILL is set.
41543         (cosl): Declare also if HAVE_DECL_COSL is set.
41544         (expl): Declare also if HAVE_DECL_EXPL is set.
41545         (floorl): Declare also if HAVE_DECL_FLOORL is set.
41546         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
41547         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
41548         (logl): Declare also if HAVE_DECL_LOGL is set.
41549         (sinl): Declare also if HAVE_DECL_SINL is set.
41550         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
41551         (tanl): Declare also if HAVE_DECL_TANL is set.
41552         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
41553         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
41554         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
41555         declaration of frexpl, ldexpl.
41556         * modules/printf-frexpl (Depends-on): Add math.
41557         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
41558
41559 2007-03-05  Bruno Haible  <bruno@clisp.org>
41560
41561         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
41562         frexpl and ldexpl are declared.
41563         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
41564
41565 2007-03-05  Bruno Haible  <bruno@clisp.org>
41566
41567         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
41568         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
41569
41570 2007-03-05  Bruno Haible  <bruno@clisp.org>
41571
41572         * lib/stdio_.h: Include <stddef.h>.
41573
41574 2007-03-05  Bruno Haible  <bruno@clisp.org>
41575
41576         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
41577
41578 2007-03-05  Bruno Haible  <bruno@clisp.org>
41579
41580         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
41581         NetBSD 4, from Ralf Wildenhues.
41582
41583 2007-03-04  Bruno Haible  <bruno@clisp.org>
41584
41585         * lib/vasprintf.h: Update #if logic for the case when the functions
41586         exist but are overridden.
41587
41588 2007-03-04  Bruno Haible  <bruno@clisp.org>
41589
41590         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
41591         implementations: glibc-2.4 and MacOS X 10.3.
41592         * tests/test-vasnprintf-posix.c (test_function): Test also the case
41593         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
41594         * tests/test-vasprintf-posix.c (test_function): Likewise.
41595
41596 2007-03-04  Bruno Haible  <bruno@clisp.org>
41597
41598         * modules/vasprintf-posix-tests: New file.
41599         * tests/test-vasprintf-posix.c: New file.
41600
41601         * modules/vasprintf-posix: New file.
41602         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
41603         defined.
41604         * m4/vasprintf-posix.m4: New file.
41605         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
41606         gl_FUNC_VASPRINTF.
41607         (gl_FUNC_VASPRINTF): Invoke it.
41608         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
41609         here.
41610         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
41611
41612 2007-03-04  Bruno Haible  <bruno@clisp.org>
41613
41614         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
41615         REPLACE_GETTIMEOFDAY.
41616         * modules/sys_time (Makefile.am): Likewise.
41617         * m4/sys_time_h.m4: Likewise.
41618         * m4/gettimeofday.m4: Likewise.
41619
41620 2007-03-04  Bruno Haible  <bruno@clisp.org>
41621
41622         * modules/vasnprintf-posix-tests: New file.
41623         * tests/test-vasnprintf-posix.c: New file.
41624
41625         * modules/vasnprintf-posix: New file.
41626         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
41627         printf-frexpl.h.
41628         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
41629         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
41630         REPLACE_VASNPRINTF is defined.
41631         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
41632         gl_FUNC_VASNPRINTF.
41633         (gl_FUNC_VASNPRINTF): Invoke it.
41634         * m4/vasnprintf-posix.m4: New file.
41635         * m4/printf.m4: New file.
41636
41637 2007-03-04  Bruno Haible  <bruno@clisp.org>
41638
41639         Compile progreloc.c only if --enable-relocatable is specified.
41640         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
41641         if --enable-relocatable was specified.
41642         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
41643         lib_SOURCES.
41644
41645 2007-03-04  Jim Meyering  <jim@meyering.net>
41646
41647         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
41648         Use it consistently, rather than enumerating errno constants.
41649
41650 2007-03-04  Bruno Haible  <bruno@clisp.org>
41651
41652         * modules/xvasprintf-tests: New file.
41653         * tests/test-xvasprintf.c: New file.
41654
41655         * modules/vasprintf-tests: New file.
41656         * tests/test-vasprintf.c: New file.
41657
41658         * modules/vasnprintf-tests: New file.
41659         * tests/test-vasnprintf.c: New file.
41660
41661         * modules/vsnprintf-tests: New file.
41662         * tests/test-vsnprintf.c: New file.
41663
41664         * modules/snprintf-tests: New file.
41665         * tests/test-snprintf.c: New file.
41666
41667 2007-03-04  Bruno Haible  <bruno@clisp.org>
41668
41669         Compile relocatable.c only if --enable-relocatable is specified.
41670         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
41671         gl_RELOCATABLE_LIBRARY.
41672         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
41673         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
41674         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
41675         gl_RELOCATABLE_LIBRARY.
41676         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
41677         (Makefile.am): Remove lib_SOURCES.
41678         * modules/relocatable-lib-lgpl (configure.ac): Invoke
41679         gl_RELOCATABLE_LIBRARY.
41680         (Makefile.am): Remove lib_SOURCES.
41681         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
41682         always.
41683         * modules/relocatable-prog-wrapper (configure.ac): Invoke
41684         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
41685
41686 2007-03-04  Bruno Haible  <bruno@clisp.org>
41687
41688         * modules/argmatch-tests: New file.
41689         * tests/test-argmatch.c: New file.
41690
41691         * tests/test-allocsa.c (main): Halve the number of loop runs.
41692
41693         * modules/alloca-opt-tests: New file.
41694         * tests/test-alloca-opt.c: New file.
41695
41696 2007-03-04  Jim Meyering  <jim@meyering.net>
41697
41698         Work around difference between Linux ACLs and Solaris 10 ZFS.
41699         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
41700         for EINVAL.
41701
41702 2007-03-03  Bruno Haible  <bruno@clisp.org>
41703
41704         * modules/relocatable-prog (Depends-on): Add back progreloc's
41705         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
41706
41707 2007-03-03  Bruno Haible  <bruno@clisp.org>
41708
41709         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
41710         * modules/relocatable-lib: New file.
41711
41712 2007-03-03  Bruno Haible  <bruno@clisp.org>
41713
41714         * modules/relocatable-prog: Renamed from modules/relocatable.
41715         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
41716
41717 2007-03-03  Bruno Haible  <bruno@clisp.org>
41718
41719         * modules/relocatable-script (Files): Add doc/relocatable.texi,
41720         m4/relocatable-lib.m4.
41721         (Depends-on): Remove 'relocatable'.
41722         (configure.ac): Add gl_RELOCATABLE_NOP.
41723
41724 2007-03-03  Bruno Haible  <bruno@clisp.org>
41725
41726         * modules/relocatable-prog-wrapper: New file.
41727         * modules/relocatable (Depends-on): Add it. Remove all other
41728         dependencies except progname.
41729         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
41730
41731         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
41732         (gl_FUNC_STRERROR): Nop.
41733         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
41734
41735         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
41736         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
41737
41738         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
41739         (gl_FUNC_READLINK): Update.
41740
41741         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
41742
41743 2007-03-03  Bruno Haible  <bruno@clisp.org>
41744
41745         * lib/xreadlink.c: Include <unistd.h> unconditionally.
41746         * modules/xreadlink (Depends-on): Add unistd.
41747         * modules/xreadlink-with-size (Depends-on): Likewise.
41748
41749 2007-03-03  Bruno Haible  <bruno@clisp.org>
41750
41751         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
41752         extracted from gt_FUNC_SETENV.
41753         (gt_FUNC_SETENV): Remove macro.
41754         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
41755         remove gt_FUNC_SETENV.
41756
41757 2007-03-03  Bruno Haible  <bruno@clisp.org>
41758
41759         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
41760         ENABLE_RELOCATABLE here.
41761         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
41762
41763 2007-03-03  Bruno Haible  <bruno@clisp.org>
41764
41765         * modules/rbtreehash-list-tests (Depends-on): Add progname.
41766         * tests/test-rbtreehash_list.c: Include progname.h.
41767         (main): Call set_program_name.
41768
41769         * modules/rbtree-oset-tests (Depends-on): Add progname.
41770         * tests/test-rbtree_oset.c: Include progname.h.
41771         (main): Call set_program_name.
41772
41773         * modules/rbtree-list-tests (Depends-on): Add progname.
41774         * tests/test-rbtree_list.c: Include progname.h.
41775         (main): Call set_program_name.
41776
41777         * modules/linked-list-tests (Depends-on): Add progname.
41778         * tests/test-linked_list.c: Include progname.h.
41779         (main): Call set_program_name.
41780
41781 2007-03-03  Bruno Haible  <bruno@clisp.org>
41782
41783         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
41784         All uses of __restrict changed to _Restrict_.
41785         * lib/glob_.h (__restrict): Remove macro.
41786
41787 2007-03-02  Bruno Haible  <bruno@clisp.org>
41788
41789         * modules/gettext (configure.ac): Require gettext infrastructure
41790         from version 0.16.1.
41791
41792 2007-03-02  Bruno Haible  <bruno@clisp.org>
41793
41794         * modules/linkedhash-list-tests (Depends-on): Add progname.
41795         * tests/test-linkedhash_list.c: Include progname.h.
41796         (main): Call set_program_name.
41797
41798         * modules/carray-list-tests (Depends-on): Add progname.
41799         * tests/test-carray_list.c: Include progname.h.
41800         (main): Call set_program_name.
41801
41802         * modules/avltreehash-list-tests (Depends-on): Add progname.
41803         * tests/test-avltreehash_list.c: Include progname.h.
41804         (main): Call set_program_name.
41805
41806         * modules/avltree-oset-tests (Depends-on): Add progname.
41807         * tests/test-avltree_oset.c: Include progname.h.
41808         (main): Call set_program_name.
41809
41810         * modules/avltree-list-tests (Depends-on): Add progname.
41811         * tests/test-avltree_list.c: Include progname.h.
41812         (main): Call set_program_name.
41813
41814         * modules/array-oset-tests (Depends-on): Add progname.
41815         * tests/test-array_oset.c: Include progname.h.
41816         (main): Call set_program_name.
41817
41818         * modules/array-list-tests (Depends-on): Add progname.
41819         * tests/test-array_list.c: Include progname.h.
41820         (main): Call set_program_name.
41821
41822         * modules/argp-tests (Depends-on): Add progname.
41823         * tests/test-argp.c: Include argp.h first. Include progname.h.
41824         (main): Call set_program_name.
41825
41826 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
41827
41828         * doc/gnulib-tool.texi (Initial import): Reword description of
41829         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
41830         limited effect even if defined after the first system include.
41831
41832 2007-03-01  Bruno Haible  <bruno@clisp.org>
41833
41834         * build-aux/config.libpath: Update to libtool-1.5.22.
41835         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
41836
41837 2007-03-01  Bruno Haible  <bruno@clisp.org>
41838
41839         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
41840         foo_CFLAGS.
41841         Reported by Ralf Wildenhues.
41842
41843 2007-03-01  Bruno Haible  <bruno@clisp.org>
41844
41845         * build-aux/install-reloc: Remove object files left over by some
41846         compilers.
41847         Reported by Ralf Wildenhues.
41848
41849 2007-03-01  Bruno Haible  <bruno@clisp.org>
41850
41851         * build-aux/install-reloc: Break long lines.
41852
41853 2007-03-01  Bruno Haible  <bruno@clisp.org>
41854
41855         * doc/relocatable.texi: Document that it may not work on OpenBSD.
41856         Reported by Ralf Wildenhues.
41857
41858 2007-03-01  Bruno Haible  <bruno@clisp.org>
41859
41860         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
41861         include ordering constraints.
41862
41863 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
41864
41865         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
41866         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
41867         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
41868         as another example.
41869         * lib/time_.h: Fix misspelling.
41870         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
41871         Require gl_HEADER_TIME_H_DEFAULTS.
41872         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
41873         * m4/time_r.m4 (gl_TIME_R): Likewise.
41874         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
41875
41876 2007-03-01  Bruno Haible  <bruno@clisp.org>
41877
41878         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
41879         * m4/utimens.m4 (gl_UTIMENS): Likewise.
41880
41881 2007-03-01  Jim Meyering  <jim@meyering.net>
41882
41883         * modules/xreadlink (Maintainer): Add my name.
41884         * modules/xreadlink-with-size (Depends-on): Alphabetize.
41885
41886 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
41887             Bruno Haible  <bruno@clisp.org>
41888
41889         * build-aux/install-reloc: Compile also c-ctype.c.
41890         * build-aux/relocatable.sh.in: New file.
41891         * doc/relocatable.texi: New file.
41892         * doc/relocatable-maint.texi: New file.
41893         * doc/gnulib.texi: Include relocatable-maint.texi.
41894         * lib/progreloc.c: Include unistd.h unconditionally.
41895         * lib/relocwrapper.c: Include unistd.h unconditionally.
41896         Include c-ctype.h.
41897         (add_dotbin): Use c_tolower.
41898         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
41899         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
41900         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
41901         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
41902         to m4/relocatable-lib.m4.
41903         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
41904         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
41905         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
41906         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
41907         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
41908         * modules/relocatable: New file.
41909         * modules/relocatable-lib: New file.
41910         * modules/relocatable-script: New file.
41911
41912 2007-02-28  Bruno Haible  <bruno@clisp.org>
41913
41914         Import --enable-relocatable infrastructure.
41915         * build-aux/config.libpath: New file, from GNU gettext.
41916         * build-aux/install-reloc: New file, from GNU gettext.
41917         * build-aux/reloc-ldflags: New file, from GNU gettext.
41918         * lib/relocatable.h: New file, from GNU gettext.
41919         * lib/relocatable.c: New file, from GNU gettext.
41920         * lib/relocwrapper.c: New file, from GNU gettext.
41921         * m4/relocatable.m4: New file, from GNU gettext.
41922
41923 2007-02-28  Bruno Haible  <bruno@clisp.org>
41924
41925         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
41926
41927         * modules/xreadlink: New file, from GNU gettext with modifications.
41928         * lib/xreadlink.c: New file, from GNU gettext.
41929         * lib/xreadlink.h: Add comments.
41930         (xreadlink): New declaration.
41931
41932         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
41933         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
41934         lib/xreadlink-with-size.c.
41935         (configure.ac): Remove gl_XREADLINK invocation.
41936         (Makefile.am): Augment lib_SOURCES.
41937         * m4/xreadlink.m4: Remove file.
41938         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
41939         (xreadlink_with_size): Renamed from xreadink.
41940         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
41941         * modules/canonicalize (Depends-on): Replace xreadlink with
41942         xreadlink-with-size.
41943         * lib/canonicalize.c (canonicalize_filename_mode): Update.
41944
41945 2007-02-25  Jim Meyering  <jim@meyering.net>
41946
41947         * build-aux/announce-gen: When complaining about excess arguments,
41948         list them.
41949
41950 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
41951
41952         * README: Document signed integer overflow situation more
41953         accurately.
41954
41955 2007-02-25  Bruno Haible  <bruno@clisp.org>
41956
41957         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
41958         'a' or 'A' conversion.
41959
41960 2007-02-25  Bruno Haible  <bruno@clisp.org>
41961
41962         * modules/filename: Renamed from modules/pathname.
41963         (Files): Replace lib/pathname.h with lib/filename.h. Replace
41964         lib/concatpath.c with lib/concat-filename.c.
41965         (Makefile.am): Update.
41966         (Include): Replace pathname.h with filename.h.
41967         * lib/filename.h: Renamed from lib/pathname.h.
41968         (concatenated_filename): Renamed from concatenated_pathname.
41969         * lib/concat-filename.c: Renamed from lib/concatpath.c.
41970         (concatenated_filename): Renamed from concatenated_pathname.
41971         * lib/findprog.c: Include filename.h instead of pathname.h.
41972         (find_in_path): Update.
41973         * lib/javacomp.c: Include filename.h instead of pathname.h.
41974         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
41975         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
41976         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
41977         is_oldgcj_14_13_usable, is_javac_usable): Update.
41978         * lib/javaexec.c: Include filename.h instead of pathname.h.
41979         (execute_java_class): Update.
41980         * modules/findprog: Update.
41981         * modules/javacomp: Update.
41982         * modules/javaexec: Update.
41983         * MODULES.html.sh (File system functions): Add 'filename', remove
41984         'pathname'.
41985
41986 2007-02-25  Bruno Haible  <bruno@clisp.org>
41987
41988         * modules/printf-frexpl-tests: New file.
41989         * tests/test-printf-frexpl.c: New file.
41990
41991         * modules/printf-frexpl: New file.
41992         * lib/printf-frexpl.h: New file.
41993         * lib/printf-frexpl.c: New file.
41994         * m4/printf-frexpl.m4: New file.
41995
41996 2007-02-25  Bruno Haible  <bruno@clisp.org>
41997
41998         * modules/printf-frexp-tests: New file.
41999         * tests/test-printf-frexp.c: New file.
42000
42001         * modules/printf-frexp: New file.
42002         * lib/printf-frexp.h: New file.
42003         * lib/printf-frexp.c: New file.
42004         * m4/printf-frexp.m4: New file.
42005
42006 2007-02-25  Bruno Haible  <bruno@clisp.org>
42007
42008         Assume automake >= 1.10 for the tests.
42009         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
42010         * modules/arctwo-tests: Likewise.
42011         * modules/argp-tests: Likewise.
42012         * modules/avltree-list-tests: Likewise.
42013         * modules/avltree-oset-tests: Likewise.
42014         * modules/avltreehash-list-tests: Likewise.
42015         * modules/carray-list-tests: Likewise.
42016         * modules/crc-tests: Likewise.
42017         * modules/des-tests: Likewise.
42018         * modules/gc-arcfour-tests: Likewise.
42019         * modules/gc-arctwo-tests: Likewise.
42020         * modules/gc-des-tests: Likewise.
42021         * modules/gc-hmac-md5-tests: Likewise.
42022         * modules/gc-hmac-sha1-tests: Likewise.
42023         * modules/gc-md2-tests: Likewise.
42024         * modules/gc-md4-tests: Likewise.
42025         * modules/gc-md5-tests: Likewise.
42026         * modules/gc-pbkdf2-sha1-tests: Likewise.
42027         * modules/gc-rijndael-tests: Likewise.
42028         * modules/gc-sha1-tests: Likewise.
42029         * modules/gc-tests: Likewise.
42030         * modules/getaddrinfo-tests: Likewise.
42031         * modules/hmac-md5-tests: Likewise.
42032         * modules/hmac-sha1-tests: Likewise.
42033         * modules/linked-list-tests: Likewise.
42034         * modules/linkedhash-list-tests: Likewise.
42035         * modules/lock-tests: Likewise.
42036         * modules/md2-tests: Likewise.
42037         * modules/md4-tests: Likewise.
42038         * modules/md5-tests: Likewise.
42039         * modules/rbtree-list-tests: Likewise.
42040         * modules/rbtree-oset-tests: Likewise.
42041         * modules/rbtreehash-list-tests: Likewise.
42042         * modules/read-file-tests: Likewise.
42043         * modules/rijndael-tests: Likewise.
42044         * modules/stdint-tests: Likewise.
42045         * modules/tls-tests: Likewise.
42046
42047 2007-02-24  Bruno Haible  <bruno@clisp.org>
42048
42049         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
42050         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
42051         function; instead check whether isnan with a double argument links.
42052         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
42053         function; instead check whether isnan with a 'long double' argument
42054         links.
42055         Reported by Eric Blake <ebb9@byu.net>.
42056
42057 2007-02-24  Bruno Haible  <bruno@clisp.org>
42058
42059         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
42060         defined.
42061         * lib/isnanl.c: Remove all code. Just include isnan.c.
42062         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
42063
42064 2007-02-25  Jim Meyering  <jim@meyering.net>
42065
42066         Avoid conflicting types for 'unsetenv' on FreeBSD.
42067         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
42068         conflicting with FreeBSD's (5.0 and 6.1) function declaration
42069         in stdlib.h.
42070
42071 2007-02-24  Bruno Haible  <bruno@clisp.org>
42072
42073         * modules/isnanl-nolibm-tests: New file.
42074         * tests/test-isnanl.c: New file.
42075
42076         * modules/isnanl-nolibm: New file.
42077         * lib/isnanl.h: New file.
42078         * lib/isnanl.c: New file.
42079         * m4/isnanl.m4: New file.
42080
42081 2007-02-24  Bruno Haible  <bruno@clisp.org>
42082
42083         * modules/isnan-nolibm-tests: New file.
42084         * tests/test-isnan.c: New file.
42085
42086         * modules/isnan-nolibm: New file.
42087         * lib/isnan.h: New file.
42088         * lib/isnan.c: New file.
42089         * m4/isnan.m4: New file.
42090
42091 2007-02-24  Bruno Haible  <bruno@clisp.org>
42092
42093         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
42094         assume that an exponent fits in 20 bits.
42095
42096 2007-02-24  Jim Meyering  <jim@meyering.net>
42097
42098         * m4/regex.m4: Update the description of the configure-time option,
42099         --without-included-regex, to state accurately what the defaults are,
42100         and perhaps to give people an idea why using this option is risky.
42101
42102 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
42103
42104         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
42105         loops on small arguments.  This attempts to avoid the problem
42106         Bruno Haible reported for AIX 4.3.2 in
42107         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
42108
42109 2007-02-23  Bruno Haible  <bruno@clisp.org>
42110
42111         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
42112         Needed for help2man.
42113
42114 2007-02-23  Karl Berry  <karl@gnu.org>
42115
42116         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
42117         exists, foo.h should be cvs-ignored, not committed.
42118
42119 2007-02-23  Eric Blake  <ebb9@byu.net>
42120
42121         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
42122         * lib/stat-time.h (includes): Likewise.
42123         * lib/utimecmp.c (includes): Likewise.
42124         * lib/utimens.h (includes): Likewise.
42125         * lib/getdate.y (includes): Also include "timespec.h" for use
42126         internal to the module.
42127         * modules/utimens (Depends-on): Revert yesterday's patch.
42128         * modules/nanosleep (Depends-on): Add missing dependency.
42129
42130 2007-02-22  Bruno Haible  <bruno@clisp.org>
42131
42132         * lib/glob.c: Don't include getlogin_r.h.
42133
42134 2007-02-22  Jim Meyering  <jim@meyering.net>
42135
42136         * modules/utimens (Depends-on): Add timespec, required for
42137         utimens.h's inclusion of timespec.h.
42138
42139 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
42140
42141         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
42142         long unreadable paths in GNU/Linux.  Problem reported by Andreas
42143         Schwab in
42144         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
42145         I'll try to think of a better way to fix the Solaris problem.
42146
42147         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
42148         like glibc; on Solaris 10, it fails with errno == EINVAL.
42149         POSIX says the behavior is unspecified if the first argument is NULL,
42150         so play it safe and never pass NULL to the system getcwd.
42151
42152 2007-02-21  Jim Meyering  <jim@meyering.net>
42153
42154         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
42155         of gettimeofday.  It would conflict with the one now always
42156         provided via sys_time_.h.  Reported by Matthew Woehlke, as
42157         an IRIX 6.5 build failure.
42158
42159 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
42160
42161         Minor fixups to port to Solaris 10 with Sun C 5.8.
42162         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
42163         * modules/getcwd (Depends-on): Add dirfd.
42164         * lib/putenv.c (putenv): #undef it.
42165         (rpl_putenv): New decl.
42166         (malloc, free): Include <stdlib.h> rather than prototyping separately.
42167
42168 2007-02-20  Bruno Haible  <bruno@clisp.org>
42169
42170         * modules/stdio-tests: New file.
42171         * tests/test-stdio.c: New file.
42172
42173         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
42174         (Depends-on): Add stdio.
42175         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
42176         (Include): Use <stdio.h> instead of vsnprintf.h.
42177         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
42178         HAVE_DECL_VSNPRINTF.
42179         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
42180
42181         * modules/snprintf (Files): Remove lib/snprintf.h.
42182         (Depends-on): Add stdio.
42183         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
42184         (Include): Use <stdio.h> instead of snprintf.h.
42185         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
42186         HAVE_DECL_SNPRINTF.
42187         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
42188         * lib/getaddrinfo.c: Likewise.
42189
42190         * modules/stdio: New file.
42191         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
42192         * lib/snprintf.h: Remove file.
42193         * lib/vsnprintf.h: Remove file.
42194         * lib/.cppi-disable: Remove snprintf.h.
42195         * m4/stdio_h.m4: New file.
42196         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
42197
42198 2007-02-20  Jim Meyering  <jim@meyering.net>
42199
42200         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
42201         used by e.g., mingw.  From Bruno Haible.
42202
42203 2007-02-19  Bruno Haible  <bruno@clisp.org>
42204
42205         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
42206         warnings.
42207         Reported by Ben Pfaff <blp@cs.stanford.edu>.
42208
42209 2007-02-19  Bruno Haible  <bruno@clisp.org>
42210
42211         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
42212         from mingw users.
42213
42214 2007-02-19  Bruno Haible  <bruno@clisp.org>
42215
42216         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
42217         warnings.
42218         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
42219
42220 2007-02-19  Jim Meyering  <jim@meyering.net>
42221
42222         Don't use FD after a successful "fdopendir (fd)".
42223         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
42224         Reset it by calling dirfd on the just-obtained DIR*.
42225
42226         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
42227         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
42228
42229 2007-02-18  Bruno Haible  <bruno@clisp.org>
42230
42231         * lib/readlink.c: Include <unistd.h>.
42232         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
42233         HAVE_READLINK.
42234         * modules/readlink (Depends-on): Add unistd.
42235         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
42236         (Include): Add <unistd.h>.
42237
42238         * lib/getlogin_r.h: Remove file.
42239         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
42240         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
42241         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
42242         HAVE_DECL_GETLOGIN_R.
42243         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
42244         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
42245         (Include): Use <unistd.h> instead of getlogin_r.h.
42246
42247         * lib/getcwd.h: Remove file.
42248         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
42249         * lib/xgetcwd.c: Likewise.
42250         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
42251         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
42252         * modules/getcwd (Files): Remove lib/getcwd.h.
42253         (Depends-on): Add unistd.
42254         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
42255         (Include): Use <unistd.h> instad of getcwd.h.
42256
42257         * lib/ftruncate.c: Include <unistd.h> first.
42258         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
42259         Set HAVE_FTRUNCATE.
42260         * modules/ftruncate (Depends-on): Add unistd.
42261         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
42262
42263         * lib/fchdir.c: Include <unistd.h> first.
42264         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
42265         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
42266         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
42267         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
42268         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
42269
42270         * lib/dup2.c: Include <unistd.h> first.
42271         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
42272         HAVE_DUP2.
42273         * modules/dup2 (Depends-on): Add unistd.
42274         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
42275
42276         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
42277         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
42278         REPLACE_CHOWN. Don't define chown as a macro here.
42279         * modules/chown (Depends-on): Add unistd.
42280         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
42281
42282         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
42283         Add definition for GL_LINK_WARNING.
42284         (chown, dup2): New declarations.
42285         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
42286         link warning.
42287         (ftruncate): New declaration.
42288         (getcwd): New declaration, taken from old getcwd.h.
42289         (getlogin_r): New declaration, taken from old getlogin_r.h.
42290         (readlink): New declaration.
42291         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
42292         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
42293         (gl_PREREQ_UNISTD): Remove macro.
42294         (gl_UNISTD_MODULE_INDICATOR): New macro.
42295         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
42296         many new variables. Don't set UNISTD_H.
42297         * modules/unistd (Description): Change.
42298         (Depends-on): Add link-warning.
42299         (configure.ac): Update.
42300         (Makefile.am): Create unistd.h always. Substitute many new variables
42301         into it.
42302
42303 2007-02-18  Bruno Haible  <bruno@clisp.org>
42304
42305         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
42306         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
42307         HAVE_GETSUBOPT.
42308         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
42309         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
42310         * lib/getsubopt.h: Remove file.
42311         * modules/getsubopt (Files): Remove lib/getsubopt.h.
42312         (Depends-on): Add stdlib.
42313         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
42314         (Includes): Use <stdlib.h> instead of getsubopt.h.
42315         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
42316         Set HAVE_GETSUBOPT.
42317         * lib/getsubopt.c: Don't include getsubopt.h.
42318
42319 2007-02-18  Bruno Haible  <bruno@clisp.org>
42320
42321         * modules/fchdir (Depends-on): Add dup2.
42322
42323 2007-02-18  Bruno Haible  <bruno@clisp.org>
42324
42325         * lib/stdlib_.h: Handle glibc's special invocation convention
42326         specially.
42327
42328 2007-02-18  Bruno Haible  <bruno@clisp.org>
42329
42330         * modules/stdlib-tests: New file.
42331         * tests/test-stdlib.c: New file.
42332
42333         * modules/mkstemp (Files): Remove lib/mkstemp.h.
42334         (Depends-on): Add stdlib.
42335         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
42336         (Includes): Use <stdlib.h> instead of mkstemp.h.
42337         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
42338         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
42339         * lib/mkstemp.c: Don't include mkstemp.h.
42340         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
42341         * lib/stdlib--.h: Don't include mkstemp.h.
42342
42343         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
42344         (Depends-on): Add stdlib.
42345         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
42346         (Includes): Use <stdlib.h> instead of mkdtemp.h.
42347         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
42348         HAVE_MKDTEMP.
42349         * lib/mkdtemp.c: Don't include mkdtemp.h.
42350         * lib/clean-temp.c: Don't include mkdtemp.h.
42351
42352         * modules/exit (Files): Remove lib/exit.h.
42353         (Depends-on): Add stdlib.
42354         (Makefile.am): Remove lib_SOURCES.
42355         (Include): Use <stdlib.h> instead of exit.h.
42356         * lib/argmatch.c: Don't include exit.h.
42357         * lib/execute.c: Likewise.
42358         * lib/pagealign_alloc.c: Likewise.
42359         * lib/pipe.c: Likewise.
42360         * lib/wait-process.c: Likewise.
42361         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
42362         * lib/exitfail.c: Likewise.
42363         * lib/savewd.c: Likewise.
42364         * lib/xsetenv.c: Likewise.
42365
42366         * modules/stdlib: New file.
42367         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
42368         and extra comments about mkstemp().
42369         * lib/exit.h: Remove file.
42370         * lib/mkdtemp.h: Remove file.
42371         * lib/mkstemp.h: Remove file.
42372         * m4/stdlib_h.m4: New file.
42373         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
42374
42375 2007-02-18  Bruno Haible  <bruno@clisp.org>
42376
42377         * modules/math-tests: New file.
42378         * tests/test-math.c: New file.
42379
42380         * modules/math: New file.
42381         * modules/mathl (Files): Remove lib/mathl.h.
42382         (Depends-on): Add math.
42383         (Makefile.am): Don't mention mathl.h.
42384         (Include): Use <math.h> instead of mathl.h.
42385         * lib/math_.h: New file.
42386         * lib/mathl.h: Remove file.
42387         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
42388         mathl.h.
42389         * lib/asinl.c: Likewise.
42390         * lib/atanl.c: Likewise.
42391         * lib/ceill.c: Likewise.
42392         * lib/cosl.c: Likewise.
42393         * lib/expl.c: Likewise.
42394         * lib/floorl.c: Likewise.
42395         * lib/frexpl.c: Likewise.
42396         * lib/ldexpl.c: Likewise.
42397         * lib/logl.c: Likewise.
42398         * lib/sincosl.c: Likewise.
42399         * lib/sinl.c: Likewise.
42400         * lib/sqrtl.c: Likewise.
42401         * lib/tanl.c: Likewise.
42402         * lib/trigl.c: Likewise.
42403         * m4/math_h.m4: New file.
42404         * MODULES.html.sh (Mathematics): Add math.
42405
42406 2007-02-17  Bruno Haible  <bruno@clisp.org>
42407
42408         * modules/wctype-tests: New file.
42409         * tests/test-wctype.c: New file.
42410
42411         * modules/wchar-tests: New file.
42412         * tests/test-wchar.c: New file.
42413
42414         * modules/unistd-tests: New file.
42415         * tests/test-unistd.c: New file.
42416
42417         * modules/time-tests: New file.
42418         * tests/test-time.c: New file.
42419
42420         * modules/sysexits-tests: New file.
42421         * tests/test-sysexits.c: New file.
42422
42423         * modules/sys_time-tests: New file.
42424         * tests/test-sys_time.c: New file.
42425
42426         * modules/sys_stat-tests: New file.
42427         * tests/test-sys_stat.c: New file.
42428
42429         * modules/sys_socket-tests: New file.
42430         * tests/test-sys_socket.c: New file.
42431
42432         * modules/sys_select-tests: New file.
42433         * tests/test-sys_select.c: New file.
42434
42435         * modules/string-tests: New file.
42436         * tests/test-string.c: New file.
42437
42438         * modules/stdbool-tests: New file.
42439         * tests/test-stdbool.c: New file.
42440
42441         * modules/netinet_in-tests: New file.
42442         * tests/test-netinet_in.c: New file.
42443
42444         * modules/inttypes-tests: New file.
42445         * tests/test-inttypes.c: New file.
42446
42447         * modules/fcntl-tests: New file.
42448         * tests/test-fcntl.c: New file.
42449
42450         * modules/byteswap-tests: New file.
42451         * tests/test-byteswap.c: New file.
42452
42453         * modules/arpa_inet-tests: New file.
42454         * tests/test-arpa_inet.c: New file.
42455
42456 2007-02-17  Bruno Haible  <bruno@clisp.org>
42457
42458         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
42459         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
42460         if the corresponding module is not enabled. Emit link warnings if
42461         the function is used nevertheless.
42462         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
42463         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
42464         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
42465         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
42466         * modules/inttypes (Depends-on): Add link-warning.
42467         (Makefile.am): Copy the contents of build-aux/link-warning.h into
42468         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
42469         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
42470         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
42471         * modules/imaxdiv (configure.ac): Likewise.
42472         * modules/strtoimax (configure.ac): Likewise.
42473         * modules/strtoumax (configure.ac): Likewise.
42474
42475 2007-02-17  Bruno Haible  <bruno@clisp.org>
42476
42477         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
42478         gl_STRING_MODULE_INDICATOR_DEFAULTS.
42479         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
42480         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
42481
42482 2007-02-17  Bruno Haible  <bruno@clisp.org>
42483
42484         * modules/link-warning: New file.
42485         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
42486         * lib/string_.h (GL_LINK_WARNING): Remove definition.
42487         * modules/string (Depends-on): Add link-warning.
42488         (Makefile.am): Copy the contents of build-aux/link-warning.h into
42489         string.h.
42490         * MODULES.html.sh (Support for building libraries and executables): Add
42491         link-warning.
42492
42493 2007-02-17  Bruno Haible  <bruno@clisp.org>
42494
42495         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
42496         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
42497         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
42498         long lines.
42499
42500 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
42501             Bruno Haible  <bruno@clisp.org>
42502
42503         * modules/tmpfile: New file.
42504         * lib/tmpfile.c: New file.
42505         * m4/tmpfile.m4: New file.
42506         * MODULES.html.sh (func_all_modules): New section "Input/output".
42507
42508 2007-02-15  Bruno Haible  <bruno@clisp.org>
42509
42510         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
42511         (supports_delete_on_close): New function.
42512         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
42513
42514 2007-02-14  Bruno Haible  <bruno@clisp.org>
42515
42516         * modules/mbspcasecmp-tests: New file.
42517         * tests/test-mbspcasecmp.sh: New file.
42518         * tests/test-mbspcasecmp.c: New file.
42519
42520         New module mbspcasecmp.
42521         * modules/mbspcasecmp: New file.
42522         * lib/mbspcasecmp.c: New file.
42523         * lib/string_.h (strncasecmp): Change warning message.
42524         (mbspcasecmp): New declaration.
42525         * m4/mbspcasecmp.m4: New file.
42526         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42527         GNULIB_MBSPCASECMP.
42528         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
42529         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
42530
42531 2007-02-14  Bruno Haible  <bruno@clisp.org>
42532
42533         * modules/mbsncasecmp-tests: New file.
42534         * tests/test-mbsncasecmp.sh: New file.
42535         * tests/test-mbsncasecmp.c: New file.
42536
42537         New module mbsncasecmp.
42538         * modules/mbsncasecmp: New file.
42539         * lib/mbsncasecmp.c: New file.
42540         * lib/string_.h (mbsncasecmp): New declaration.
42541         * m4/mbsncasecmp.m4: New file.
42542         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42543         GNULIB_MBSNCASECMP.
42544         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
42545         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
42546
42547 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
42548
42549         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
42550         Verify that it doesn't overlap with our flags.
42551         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
42552         do not have the desired effect in multibyte locales; instead, use
42553         mbscasecmp.
42554         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
42555         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
42556         we don't require GNU fnmatch ourselves (if our users require it, they
42557         should do so explicitly).
42558
42559         Fix regex code so it doesn't rely on strcasecmp.
42560         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
42561         Otherwise, include gnulib's langinfo.h.
42562         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
42563         undesirable behavior in non-C locales.  Instead, rely on localecharset.
42564         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
42565         * modules/regex (FILES): Remove m4/codeset.m4.
42566         (Depends-on): Add localcharset.  Remove strcase.
42567
42568 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42569
42570         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
42571         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
42572
42573 2007-02-13  Bruno Haible  <bruno@clisp.org>
42574
42575         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
42576         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42577
42578 2007-02-12  Bruno Haible  <bruno@clisp.org>
42579
42580         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
42581         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
42582         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
42583         time warning rather than a link error.
42584
42585 2007-02-12  Bruno Haible  <bruno@clisp.org>
42586
42587         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
42588         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
42589         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42590
42591 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
42592
42593         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
42594         args, not 2.
42595
42596 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
42597
42598         New module 'time', so that apps can include <time.h> as per
42599         POSIX and GNU instead of separate include files like time_r.h
42600         and timegm.h.  This implementation tries out a simpler approach
42601         for replacing decls in standard include files (as compared to
42602         the string module), somewhat as an experiment.
42603
42604         * config/srclist.txt: Comment out mktime.c for now.
42605         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
42606         since it doesn't apply any more.  Use generic wording instead.
42607         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
42608         'time'.
42609         * lib/time_.h, m4/time_h.m4, modules/time: New files.
42610         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
42611         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
42612         Don't include <sys/types.h>; no longer needed since we assume C89.
42613         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
42614         * lib/strftime.c: Likewise.
42615         * lib/time_r.c: Likewise.
42616         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
42617         * lib/nanosleep.c: Include <time.h> first, to check interface.
42618         * lib/strptime.c: Likewise.
42619         * lib/time_r.c: Likewise.
42620         * lib/timegm.c: Likewise.
42621         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
42622         needed.
42623         * lib/timegm.c: Don't include timegm.h; no longer needed.
42624         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
42625         time.h now handles any problems in that area.
42626         (struct timespec, nanosleep): Remove; time.h now arranges for these.
42627         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
42628         that time.h defines struct timespec.
42629         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
42630         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
42631         handles that.
42632         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
42633         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
42634         needed.  Set REPLACE_LOCALTIME.
42635         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
42636         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
42637         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
42638         nanosleep; time_h.m4 now does that.  Don't require
42639         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
42640         module handles this now.
42641         * modules/getdate (Depends-on): Remove timespec.  Add time.
42642         * modules/nanosleep (Depends-on): Likewise.
42643         * modules/stat-time (Depends-on): Likewise.
42644         * modules/nanosleep (Include): Include time.h, not timespec.h.
42645         * modules/strptime (Files): Remove lib/strptime.h.
42646         (Depends-on): Add extensions, time.
42647         (Include): Include time.h, not strptime.h.
42648         * modules/time_r (Files): Remove lib/time_r.h.
42649         (Depends-on): Add time.
42650         (Include): Include time.h, not time_r.h.
42651         * modules/timegm: Likewise.
42652         * modules/timespec (Description): Now does timespec-related decls
42653         of our own, instead of struct timespec itself.
42654         (Depends-on): Add time; remove extensions.
42655         (Maintainer): Add self.
42656         * modules/utimecmp (Depends-on): Add time; remove timespec.
42657         * modules/utimens (Depends-on): Likewise.
42658         * modules/xnanosleep (Depends-on): Likewise.
42659
42660 2007-02-11  Bruno Haible  <bruno@clisp.org>
42661
42662         * lib/c-strstr.c: Include allocsa.h.
42663         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
42664         * lib/c-strcasestr.c: Include allocsa.h.
42665         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
42666         * lib/strcasestr.c: Include allocsa.h.
42667         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
42668         * lib/mbsstr.c: Include allocsa.h.
42669         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
42670         allocsa/freesa instead of malloc/free.
42671         * lib/mbscasestr.c: Include allocsa.h.
42672         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
42673         allocsa/freesa instead of malloc/free.
42674         * modules/c-strstr (Depends-on): Add allocsa.
42675         * modules/c-strcasestr (Depends-on): Likewise.
42676         * modules/strcasestr (Depends-on): Likewise.
42677         * modules/mbsstr (Depends-on): Likewise.
42678         * modules/mbscasestr (Depends-on): Likewise.
42679
42680 2007-02-11  Bruno Haible  <bruno@clisp.org>
42681
42682         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
42683
42684         * modules/mbsspn-tests: New file.
42685         * tests/test-mbsspn.sh: New file.
42686         * tests/test-mbsspn.c: New file.
42687
42688 2007-02-11  Bruno Haible  <bruno@clisp.org>
42689
42690         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
42691
42692         * modules/mbspbrk-tests: New file.
42693         * tests/test-mbspbrk.sh: New file.
42694         * tests/test-mbspbrk.c: New file.
42695
42696 2007-02-11  Bruno Haible  <bruno@clisp.org>
42697
42698         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
42699         unneeded cast.
42700
42701         * modules/mbscspn-tests: New file.
42702         * tests/test-mbscspn.sh: New file.
42703         * tests/test-mbscspn.c: New file.
42704
42705 2007-02-11  Bruno Haible  <bruno@clisp.org>
42706
42707         * modules/mbscasecmp-tests: New file.
42708         * tests/test-mbscasecmp.sh: New file.
42709         * tests/test-mbscasecmp.c: New file.
42710
42711 2007-02-11  Bruno Haible  <bruno@clisp.org>
42712
42713         Ensure O(n) worst-case complexity of mbscasestr.
42714         * lib/mbscasestr.c: Include stdbool.h.
42715         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
42716         functions.
42717         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
42718         the bookkeeping indicates that it's worth it.
42719         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
42720
42721         * modules/mbscasestr-tests: New file.
42722         * tests/test-mbscasestr1.c: New file.
42723         * tests/test-mbscasestr2.sh: New file.
42724         * tests/test-mbscasestr2.c: New file.
42725         * tests/test-mbscasestr3.sh: New file.
42726         * tests/test-mbscasestr3.c: New file.
42727         * tests/test-mbscasestr4.sh: New file.
42728         * tests/test-mbscasestr4.c: New file.
42729         * m4/locale-tr.m4: New file.
42730
42731 2007-02-11  Bruno Haible  <bruno@clisp.org>
42732
42733         Ensure O(n) worst-case complexity of mbsstr.
42734         * lib/mbsstr.c: Include stdbool.h.
42735         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
42736         functions.
42737         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
42738         bookkeeping indicates that it's worth it.
42739         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
42740
42741         * modules/mbsstr-tests: New file.
42742         * tests/test-mbsstr1.c: New file.
42743         * tests/test-mbsstr2.sh: New file.
42744         * tests/test-mbsstr2.c: New file.
42745         * tests/test-mbsstr3.sh: New file.
42746         * tests/test-mbsstr3.c: New file.
42747         * m4/locale-fr.m4: New file.
42748
42749 2007-02-11  Bruno Haible  <bruno@clisp.org>
42750
42751         * lib/mbsrchr.c (mbsrchr): Fix bug.
42752
42753         * modules/mbsrchr-tests: New file.
42754         * tests/test-mbsrchr.sh: New file.
42755         * tests/test-mbsrchr.c: New file.
42756
42757 2007-02-11  Bruno Haible  <bruno@clisp.org>
42758
42759         * lib/mbschr.c (mbschr): Fix bug.
42760
42761         * modules/mbschr-tests: New file.
42762         * tests/test-mbschr.sh: New file.
42763         * tests/test-mbschr.c: New file.
42764         * m4/locale-zh.m4: New file.
42765
42766 2007-02-11  Bruno Haible  <bruno@clisp.org>
42767
42768         Support for copying multibyte string iterators.
42769         * lib/mbiter.h: Include <string.h>.
42770         (mbiter_multi_copy): New function.
42771         (mbi_copy): New macro.
42772         * lib/mbuiter.h: Include <string.h>.
42773         (mbuiter_multi_copy): New function.
42774         (mbui_copy): New macro.
42775
42776 2007-02-11  Bruno Haible  <bruno@clisp.org>
42777
42778         New module mbslen.
42779         * modules/mbslen: New file.
42780         * lib/mbslen.c: New file.
42781         * lib/string_.h (mbslen): New declaration.
42782         * m4/mbslen.m4: New file.
42783         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42784         GNULIB_MBSLEN.
42785         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
42786         * MODULES.html.sh (Internationalization functions): Add mbslen.
42787
42788 2007-02-11  Bruno Haible  <bruno@clisp.org>
42789
42790         Ensure O(n) worst-case complexity of strcasestr substitute.
42791         * lib/strcasestr.c: Include stdbool.h.
42792         (knuth_morris_pratt): New function.
42793         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
42794         bookkeeping indicates that it's worth it.
42795         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
42796
42797         * modules/strcasestr-tests: New file.
42798         * tests/test-strcasestr.c: New file.
42799
42800 2007-02-11  Bruno Haible  <bruno@clisp.org>
42801
42802         Ensure O(n) worst-case complexity of c_strcasestr.
42803         * lib/c-strcasestr.c: Include stdbool.h, string.h.
42804         (knuth_morris_pratt): New function.
42805         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
42806         the bookkeeping indicates that it's worth it.
42807         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
42808
42809         * modules/c-strcasestr-tests: New file.
42810         * tests/test-c-strcasestr.c: New file.
42811
42812 2007-02-11  Bruno Haible  <bruno@clisp.org>
42813
42814         Ensure O(n) worst-case complexity of c_strstr.
42815         * lib/c-strstr.c: Include stdbool.h, string.h.
42816         (knuth_morris_pratt): New function.
42817         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
42818         bookkeeping indicates that it's worth it.
42819         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
42820
42821         * lib/c-strstr.c: Complete rewrite for maintainability.
42822
42823         * modules/c-strstr-tests: New file.
42824         * tests/test-c-strstr.c: New file.
42825
42826 2007-02-11  Bruno Haible  <bruno@clisp.org>
42827
42828         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
42829         5.2.1 and earlier, whereby \055 was treated just like the range
42830         delimiter '-'.
42831         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
42832
42833 2007-02-08  Bruno Haible  <bruno@clisp.org>
42834
42835         * modules/regex (Depends-on): Add stdbool.
42836         Reported by Dalibor Topic <robilad@kaffe.org>.
42837
42838 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
42839
42840         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
42841         Prefer returning from main to exiting from it.
42842         Remove unnecessary parens after sizeof.
42843
42844 2007-02-05  Bruno Haible  <bruno@clisp.org>
42845
42846         New module mbssep.
42847         * modules/mbssep: New file.
42848         * lib/mbssep.c: New file.
42849         * lib/string_.h (strsep): Add a conditional link warning.
42850         (mbssep): New declaration.
42851         * m4/mbssep.m4: New file.
42852         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42853         GNULIB_MBSSEP.
42854         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
42855         * MODULES.html.sh (Internationalization functions): Add mbssep.
42856
42857 2007-02-05  Bruno Haible  <bruno@clisp.org>
42858
42859         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
42860         Optimize search in case of 1 delimiter.
42861
42862 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
42863
42864         * lib/acl.h: Include sys/types.h before sys/acl.h.
42865
42866 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
42867
42868         Merge upstream fix for glibc bugzilla #3957:
42869
42870         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
42871
42872         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
42873         bit for RE_HAT_LISTS_NOT_NEWLINE.
42874         (build_charclass_op): Remove bogus comment.
42875
42876 2007-02-05  Simon Josefsson  <simon@josefsson.org>
42877
42878         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
42879
42880 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
42881
42882         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
42883         * lib/memmem.c [!defined _LIBC]: Include config.h.
42884
42885 2007-02-04  Bruno Haible  <bruno@clisp.org>
42886
42887         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
42888         warning message.
42889
42890 2007-02-04  Bruno Haible  <bruno@clisp.org>
42891
42892         New module mbstok_r.
42893         * modules/mbstok_r: New file.
42894         * lib/mbstok_r.c: New file.
42895         * lib/string_.h (strtok_r): Change argument names to match the
42896         comments. Add a conditional link warning.
42897         (mbstok_r): New declaration.
42898         * m4/mbstok_r.m4: New file.
42899         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42900         GNULIB_MBSTOK_R.
42901         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
42902         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
42903
42904 2007-02-04  Bruno Haible  <bruno@clisp.org>
42905
42906         New module mbsspn.
42907         * modules/mbsspn: New file.
42908         * lib/mbsspn.c: New file.
42909         * lib/string_.h (strspn): Add a conditional link warning.
42910         (mbsspn): New declaration.
42911         * m4/mbsspn.m4: New file.
42912         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42913         GNULIB_MBSSPN.
42914         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
42915         * MODULES.html.sh (Internationalization functions): Add mbsspn.
42916
42917 2007-02-04  Bruno Haible  <bruno@clisp.org>
42918
42919         New module mbspbrk.
42920         * modules/mbspbrk: New file.
42921         * lib/mbspbrk.c: New file.
42922         * lib/string_.h (strpbrk): Add a conditional link warning.
42923         (mbspbrk): New declaration.
42924         * m4/mbspbrk.m4: New file.
42925         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42926         GNULIB_MBSPBRK.
42927         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
42928         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
42929
42930 2007-02-04  Bruno Haible  <bruno@clisp.org>
42931
42932         New module mbscspn.
42933         * modules/mbscspn: New file.
42934         * lib/mbscspn.c: New file.
42935         * lib/string_.h (strcspn): Add a conditional link warning.
42936         (mbscspn): New declaration.
42937         * m4/mbscspn.m4: New file.
42938         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42939         GNULIB_MBSCSPN.
42940         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
42941         * MODULES.html.sh (Internationalization functions): Add mbscspn.
42942
42943 2007-02-04  Bruno Haible  <bruno@clisp.org>
42944
42945         New module mbscasestr, reduced goal of strcasestr.
42946         * modules/mbscasestr: New file.
42947         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
42948         (mbscasestr): Renamed from strcasestr.
42949         * lib/strcasestr.c: Don't include mbuiter.h.
42950         (strcasestr): Remove support for multibyte locales.
42951         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
42952         Change the conditional link warning.
42953         (mbscasestr): New declaration.
42954         * m4/mbscasestr.m4: New file.
42955         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
42956         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
42957         REPLACE_STRCASESTR.
42958         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
42959         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
42960         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
42961         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
42962         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
42963         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
42964         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
42965         (Depends-on): Remove mbuiter.
42966         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
42967
42968 2007-02-04  Bruno Haible  <bruno@clisp.org>
42969
42970         Simplify handling of strncasecmp.
42971         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
42972         the conditional link warning.
42973         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
42974         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
42975         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
42976         * modules/strcase (configure.ac): Don't invoke
42977         gl_STRING_MODULE_INDICATOR.
42978         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
42979
42980 2007-02-04  Bruno Haible  <bruno@clisp.org>
42981
42982         New module mbscasecmp, reduced goal of strcasecmp.
42983         * modules/mbscasecmp: New file.
42984         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
42985         (mbscasecmp): Renamed from strcasecmp.
42986         * lib/strcasecmp.c: Don't include mbuiter.h.
42987         (strcasecmp): Remove support for multibyte locales.
42988         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
42989         Change the conditional link warning.
42990         (mbscasecmp): New declaration.
42991         * m4/mbscasecmp.m4: New file.
42992         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
42993         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
42994         REPLACE_STRCASECMP.
42995         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
42996         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42997         GNULIB_MBSCASECMP.
42998         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
42999         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
43000         * modules/strcase (Files): Remove m4/mbrtowc.m4.
43001         (Depends-on): Remove mbuiter.
43002         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
43003
43004 2007-02-04  Bruno Haible  <bruno@clisp.org>
43005
43006         New module mbsstr. Remove module strstr.
43007         * modules/mbsstr: New file.
43008         * modules/strstr: Remove file.
43009         * lib/mbsstr.c: Renamed from lib/strstr.c.
43010         (mbsstr): Renamed from strstr.
43011         * lib/string_.h (strstr): Remove declaration. Change the conditional
43012         link warning.
43013         (mbsstr): New declaration.
43014         * m4/mbsstr.m4: New file.
43015         * m4/strstr.m4: Remove file.
43016         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
43017         REPLACE_STRSTR.
43018         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
43019         Don't initialize GNULIB_STRSTR.
43020         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
43021         substitute GNULIB_STRSTR and REPLACE_STRSTR.
43022         * MODULES.html.sh (Internationalization functions): Add mbsstr.
43023         (Support for systems lacking ANSI C 89): Remove strstr.
43024
43025 2007-02-04  Bruno Haible  <bruno@clisp.org>
43026
43027         New module mbsrchr.
43028         * modules/mbsrchr: New file.
43029         * lib/mbsrchr.c: New file.
43030         * lib/string_.h (strrchr): Add a conditional link warning.
43031         (mbsrchr): New declaration.
43032         * m4/mbsrchr.m4: New file.
43033         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
43034         GNULIB_MBSRCHR.
43035         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
43036         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
43037
43038 2007-02-04  Bruno Haible  <bruno@clisp.org>
43039
43040         New module mbschr.
43041         * modules/mbschr: New file.
43042         * lib/mbschr.c: New file.
43043         * lib/string_.h (strchr): Add a conditional link warning.
43044         (mbschr): New declaration.
43045         * m4/mbschr.m4: New file.
43046         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
43047         GNULIB_MBSCHR.
43048         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
43049         * MODULES.html.sh (Internationalization functions): Add mbschr.
43050
43051 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
43052
43053         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
43054
43055         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
43056
43057 2007-02-04  Bruno Haible  <bruno@clisp.org>
43058
43059         New module description section 'configure.ac-early'.
43060         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
43061         (func_get_autoconf_early_snippet): New function.
43062         (func_import, func_create_testdir): Use it. Remove special cases for
43063         modules 'extensions' and 'lock'.
43064         * modules/extensions (configure.ac-early): Require
43065         gl_USE_SYSTEM_EXTENSIONS.
43066         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
43067
43068 2007-02-04  Bruno Haible  <bruno@clisp.org>
43069
43070         Make use of gcj-4.3's -fsource and -ftarget option.
43071         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
43072         and if so try the options -fsource and -ftarget.
43073         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
43074         source_version, ftarget_option, target_version arguments.
43075         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
43076         (is_envjavac_oldgcj_14_14_usable): Renamed from
43077         is_envjavac_gcj_14_14_usable.
43078         (is_envjavac_oldgcj_14_13_usable): Renamed from
43079         is_envjavac_gcj_14_13_usable.
43080         (is_gcj_present): Update.
43081         (is_gcj_43, is_gcj43_usable): New functions.
43082         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
43083         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
43084         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
43085         try the options -fsource and -ftarget.
43086
43087 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
43088
43089         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
43090         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
43091         larger value.
43092
43093 2007-02-03  Jim Meyering  <jim@meyering.net>
43094
43095         Give tools a better chance to allocate space for very large buffers.
43096         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
43097
43098         Make pwd and readlink work also when run with an unreadable parent dir
43099         on systems with openat support.
43100         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
43101         provided getcwd function, even when we have openat support.
43102         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
43103
43104 2007-02-02  Bruno Haible  <bruno@clisp.org>
43105
43106         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
43107         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
43108         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
43109         portability problems if one of these functions is only used on specific
43110         platforms.
43111         Reported by Paul Eggert.
43112
43113 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
43114
43115         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
43116         is causing more trouble than it's curing.
43117         * lib/regex_internal.h (__mempcpy): Remove.
43118         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
43119         (and make the code a tad smaller to boot).
43120         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
43121
43122 2007-02-02  Jim Meyering  <jim@meyering.net>
43123
43124         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
43125         section, not in the Makefile.am: one.
43126
43127 2007-02-02  Eric Blake  <ebb9@byu.net>
43128
43129         * lib/strchrnul.c: Always include config.h first.
43130
43131         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
43132         gnulib strstr is not necessary here.
43133
43134 2007-02-02  Simon Josefsson  <simon@josefsson.org>
43135
43136         * m4/socklen.m4: Fix typo.
43137
43138 2007-02-02  Eric Blake  <ebb9@byu.net>
43139
43140         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
43141         * modules/netinet_in (Makefile.am): Likewise.
43142
43143 2007-02-01  Bruno Haible  <bruno@clisp.org>
43144
43145         * lib/string_.h (GL_LINK_WARNING): New macro.
43146         (strcasecmp, strstr, strcasestr): If provided by the system,
43147         conditionally define as a macro that leads to a warning instead of to
43148         an error.
43149         (strncasecmp): Conditionally define as a macro that leads to a warning.
43150
43151 2007-02-01  Karl Berry  <karl@gnu.org>
43152
43153         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
43154
43155 2007-02-01  Bruno Haible  <bruno@clisp.org>
43156
43157         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
43158         renamings.
43159
43160 2007-02-01  Eric Blake  <ebb9@byu.net>
43161
43162         * modules/regex (Depends-on): Revert dependence on mempcpy.
43163         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
43164         module's definition of mempcpy.
43165         Reported by Paul Eggert.
43166
43167 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
43168
43169         * lib/string_.h: If the gnulib module XYZ is not present, undefine
43170         the symbol XYZ before redefining it.  This fixes a problem with
43171         programs that don't use XYZ, when compiled on systems that define
43172         XYZ to something else.
43173
43174 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
43175
43176         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
43177         occurs when "mkdir -m foo" creates a setgid directory that is (1)
43178         writeable to group or other and (2) is intended to have a special
43179         mode bit that is set or cleared.  In such a case, the directory
43180         should be neither group- nor other-writeable until the special
43181         mode bits are right.
43182
43183 2007-01-31  Eric Blake  <ebb9@byu.net>
43184
43185         * modules/mountlist (Depends-on): Add strstr.
43186
43187         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
43188         bug.
43189         * modules/string (Makefile.am): Remove redundant replacement.
43190         * modules/regex (Depends-on): Add mempcpy.
43191
43192 2007-01-31  Bruno Haible  <bruno@clisp.org>
43193
43194         New module description field 'Link'.
43195         * gnulib-tool (func_usage): Document --extract-link-directive.
43196         (sed_extract_prog): Recognize 'Link' directive.
43197         (func_get_link_directive): New function.
43198         (func_import): Show summary of link directives.
43199         Handle --extract-link-directive option.
43200         * modules/acl (Link): New section.
43201         * modules/clock-time (Link): New section.
43202         * modules/euidaccess (Link): New section.
43203         * modules/gettext (Link): New section.
43204         * modules/iconv (Link): New section.
43205         * modules/lock (Link): New section.
43206         * modules/nanosleep (Link): New section.
43207         * modules/readline (Link): New section.
43208
43209 2007-01-27  Bruno Haible  <bruno@clisp.org>
43210
43211         Enforce the use of gnulib modules for unportable <string.h> functions.
43212         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
43213         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
43214         (gl_HEADER_STRING_H_BODY): Require it.
43215         * lib/string_.h: If the gnulib module XYZ is not present, redefine
43216         the symbol XYZ to one that gives a link error.
43217         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
43218         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
43219         * modules/mempcpy (configure.ac): Likewise.
43220         * modules/memrchr (configure.ac): Likewise.
43221         * modules/stpcpy (configure.ac): Likewise.
43222         * modules/stpncpy (configure.ac): Likewise.
43223         * modules/strcase (configure.ac): Likewise.
43224         * modules/strcasestr (configure.ac): Likewise.
43225         * modules/strchrnul (configure.ac): Likewise.
43226         * modules/strdup (configure.ac): Likewise.
43227         * modules/strndup (configure.ac): Likewise.
43228         * modules/strnlen (configure.ac): Likewise.
43229         * modules/strpbrk (configure.ac): Likewise.
43230         * modules/strsep (configure.ac): Likewise.
43231         * modules/strstr (configure.ac): Likewise.
43232         * modules/strtok_r (configure.ac): Likewise.
43233
43234 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
43235
43236         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
43237
43238 2007-01-30  Jim Meyering  <jim@meyering.net>
43239
43240         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
43241
43242 2007-01-29  Bruno Haible  <bruno@clisp.org>
43243
43244         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
43245         * lib/execute.c: Likewise.
43246         * lib/pipe.c: Likewise.
43247         * lib/printf-args.h: Likewise.
43248         * lib/printf-args.c: Likewise.
43249         * lib/printf-parse.c: Likewise.
43250         * lib/vasnprintf.c: Likewise.
43251
43252 2007-01-29  Eric Blake  <ebb9@byu.net>
43253
43254         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
43255         declaration.
43256
43257 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
43258
43259         * lib/strptime.h (strptime): Use 'restrict' for args where
43260         POSIX requires this.
43261         * lib/strptime.c (strptime): Likewise.
43262         Change license notice from LGPL to GPL, since gnulib-tool will
43263         change this as needed.
43264         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
43265         defined.
43266         Include "strptime.h" first, to check interface.
43267         Do not #undef _LIBC and _NL_CURRENT.
43268         Do not include <stdlib.h>; no longer needed.
43269         Include "time_r.h" and declare ptime_locale_status
43270         only if _LIBC is not defined.
43271         (__P): Remove unused macro.
43272         (match_string): Bring back glibc version, but use it only if _LIBC
43273         is defined.
43274         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
43275         Remove unnecessary assertion and abort() call.
43276         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
43277         * m4/strptime.m4: Fix serial number comment.
43278         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
43279         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
43280         (Depends-on): Add time_r.
43281
43282 2007-01-29  Bruno Haible  <bruno@clisp.org>
43283
43284         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
43285         strptime.
43286         * modules/strptime (Depends-on): Add stdbool.
43287         * lib/strptime.h: Include <time.h> always. Add comments.
43288
43289 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
43290
43291         * modules/strptime: New file.
43292         * lib/strptime.h: New file.
43293         * lib/strptime.c: New file.
43294         * m4/strptime.m4: New file.
43295
43296 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
43297
43298         * MODULES.html.sh: New module mpsort.
43299         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
43300
43301         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
43302         a circularity problem with HP-UX ia64 reported by Bob Proulx in
43303         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
43304         All uses changed.
43305         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
43306         All uses changed.
43307         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
43308         to _Restrict_.
43309         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
43310         the parameter matches the prototype.
43311
43312 2007-01-28  Jim Meyering  <jim@meyering.net>
43313
43314         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
43315         sys/time.h here, reverting that part of the previous patch:
43316         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
43317
43318 2007-01-28  Bruno Haible  <bruno@clisp.org>
43319
43320         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
43321         value of $(SYS_TIME_H).
43322         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
43323         remove it conditionally, too. [added by Jim Meyering]
43324         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
43325         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
43326         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
43327         GETTIMEOFDAY_REPLACEMENT to 1.
43328
43329 2007-01-28  Bruno Haible  <bruno@clisp.org>
43330
43331         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
43332         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
43333         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
43334         Set UNISTD_H instead of UNISTD_H2.
43335         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
43336
43337 2007-01-28  Bruno Haible  <bruno@clisp.org>
43338
43339         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
43340         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
43341
43342 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43343
43344         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
43345         (func_create_testdir): Ensure C locale for `grep' and `tr'
43346         character ranges.
43347         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
43348         ACLOCAL_AMFLAGS parsing state machine.
43349
43350 2007-01-27  Bruno Haible  <bruno@clisp.org>
43351
43352         * modules/unistr/base: Update.
43353
43354 2007-01-27  Bruno Haible  <bruno@clisp.org>
43355
43356         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
43357         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
43358         * modules/unistr/u32-mbtouc-unsafe: Renamed from
43359         modules/unistr/u32-mbtouc.
43360         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
43361         * lib/unistr.h: Update.
43362         * lib/linebreak.c: Update.
43363         * modules/unistr/u32-mbtouc: Renamed from
43364         modules/unistr/u32-mbtouc-safe.
43365         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
43366         * lib/unistr.h: Update.
43367         * lib/unistr/u32-to-u8.c: Update.
43368         * lib/unistr/u32-to-u16.c: Update.
43369
43370 2007-01-27  Bruno Haible  <bruno@clisp.org>
43371
43372         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
43373         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
43374         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
43375         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
43376         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
43377         * modules/unistr/u16-mbtouc-unsafe: Renamed from
43378         modules/unistr/u16-mbtouc.
43379         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
43380         * lib/unistr.h: Update.
43381         * lib/linebreak.c: Update.
43382         * modules/linebreak: Update.
43383         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
43384         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
43385         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
43386         * modules/unistr/u16-mbtouc: Renamed from
43387         modules/unistr/u16-mbtouc-safe.
43388         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
43389         * lib/unistr.h: Update.
43390         * lib/unistr/u16-to-u8.c: Update.
43391         * modules/unistr/u16-to-u8: Update.
43392         * lib/unistr/u16-to-u32.c: Update.
43393         * modules/unistr/u16-to-u32: Update.
43394
43395 2007-01-27  Bruno Haible  <bruno@clisp.org>
43396
43397         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
43398         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
43399         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
43400         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
43401         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
43402         * modules/unistr/u8-mbtouc-unsafe: Renamed from
43403         modules/unistr/u8-mbtouc.
43404         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
43405         * lib/unistr.h: Update.
43406         * lib/striconveh.c: Update.
43407         * modules/striconveh: Update.
43408         * lib/linebreak.c: Update.
43409         * modules/linebreak: Update.
43410         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
43411         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
43412         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
43413         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
43414         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
43415         * lib/unistr.h: Update.
43416         * lib/striconveh.c: Update.
43417         * modules/striconveh: Update.
43418         * lib/unistr/u8-to-u16.c: Update.
43419         * modules/unistr/u8-to-u16: Update.
43420         * lib/unistr/u8-to-u32.c: Update.
43421         * modules/unistr/u8-to-u32: Update.
43422
43423 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43424
43425         Sync from Libtool.
43426         * lib/argz.c: Do not include strings.h nor memory.h, include
43427         string.h unconditionally.  Patch by Simon Josefsson.
43428
43429 2007-01-27  Bruno Haible  <bruno@clisp.org>
43430
43431         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
43432         from gl_HEADER_STRING_H_BODY.
43433         (gl_HEADER_STRING_H_BODY): Require it.
43434         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
43435         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
43436         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
43437         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
43438         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
43439         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
43440         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
43441         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
43442         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
43443         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
43444         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
43445         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
43446         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
43447         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
43448         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
43449
43450 2007-01-27  Bruno Haible  <bruno@clisp.org>
43451
43452         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
43453         check_PROGRAMS into noinst_PROGRAMS.
43454         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
43455         check_PROGRAMS in this case.
43456         (func_import): Set for_test to false.
43457         (func_create_testdir): Set for_test to true.
43458
43459 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
43460             Bruno Haible  <bruno@clisp.org>
43461
43462         * modules/strcasestr (Files): Remove lib/strcasestr.h.
43463         (Depends-on): Add string.
43464         (Includes): Use <string.h> instead of strcasestr.h.
43465         * modules/string (Makefile.am): Also substitute the value of
43466         REPLACE_STRCASESTR.
43467         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
43468         assume strcasestr is declared in <string.h> not <strings.h>. Also
43469         set REPLACE_STRCASESTR.
43470         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
43471         REPLACE_STRCASESTR.
43472         * lib/strcasestr.h: Remove file.
43473         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
43474         * lib/string_.h (strcasestr): New declaration.
43475
43476 2007-01-27  Bruno Haible  <bruno@clisp.org>
43477
43478         * lib/string_.h: Use 'extern'.
43479
43480 2007-01-27  Jim Meyering  <jim@meyering.net>
43481
43482         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
43483         of set-but-not-used local, "q".
43484
43485         * lib/mempcpy.c: Include <config.h> before <string.h>.
43486         This fixes a compilation error on HP-UX, due to the system's
43487         "restrict"-using mempcpy prototype.
43488
43489 2007-01-26  Bruno Haible  <bruno@clisp.org>
43490
43491         Small optimization.
43492         * lib/javacomp.c: Include c-strstr.h.
43493          (is_envjavac_gcj): Use c_strstr instead of strstr.
43494         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
43495
43496 2007-01-26  Bruno Haible  <bruno@clisp.org>
43497
43498         * MODULES.html.sh (Unicode string functions): Add the new modules.
43499
43500         * modules/uniconv/u32-strconv-to-locale: New file.
43501         * lib/uniconv/u32-strconv-to-locale.c: New file.
43502
43503         * modules/uniconv/u16-strconv-to-locale: New file.
43504         * lib/uniconv/u16-strconv-to-locale.c: New file.
43505
43506         * modules/uniconv/u8-strconv-to-locale: New file.
43507         * lib/uniconv/u8-strconv-to-locale.c: New file.
43508
43509         * modules/uniconv/u32-strconv-from-locale: New file.
43510         * lib/uniconv/u32-strconv-from-locale.c: New file.
43511
43512         * modules/uniconv/u16-strconv-from-locale: New file.
43513         * lib/uniconv/u16-strconv-from-locale.c: New file.
43514
43515         * modules/uniconv/u8-strconv-from-locale: New file.
43516         * lib/uniconv/u8-strconv-from-locale.c: New file.
43517
43518         * modules/uniconv/u32-strconv-to-enc: New file.
43519         * lib/uniconv/u32-strconv-to-enc.c: New file.
43520         * modules/uniconv/u32-strconv-to-enc-tests: New file.
43521         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
43522
43523         * modules/uniconv/u16-strconv-to-enc: New file.
43524         * lib/uniconv/u16-strconv-to-enc.c: New file.
43525         * lib/uniconv/u-strconv-to-enc.h: New file.
43526         * modules/uniconv/u16-strconv-to-enc-tests: New file.
43527         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
43528
43529         * modules/uniconv/u8-strconv-to-enc: New file.
43530         * lib/uniconv/u8-strconv-to-enc.c: New file.
43531         * modules/uniconv/u8-strconv-to-enc-tests: New file.
43532         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
43533
43534         * modules/uniconv/u32-strconv-from-enc: New file.
43535         * lib/uniconv/u32-strconv-from-enc.c: New file.
43536         * modules/uniconv/u32-strconv-from-enc-tests: New file.
43537         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
43538
43539         * modules/uniconv/u16-strconv-from-enc: New file.
43540         * lib/uniconv/u16-strconv-from-enc.c: New file.
43541         * modules/uniconv/u16-strconv-from-enc-tests: New file.
43542         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
43543
43544         * modules/uniconv/u8-strconv-from-enc: New file.
43545         * lib/uniconv/u8-strconv-from-enc.c: New file.
43546         * lib/uniconv/u-strconv-from-enc.h: New file.
43547         * modules/uniconv/u8-strconv-from-enc-tests: New file.
43548         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
43549
43550         * modules/uniconv/u32-conv-from-enc: New file.
43551         * lib/uniconv/u32-conv-from-enc.c: New file.
43552         * modules/uniconv/u32-conv-from-enc-tests: New file.
43553         * tests/uniconv/test-u32-conv-from-enc.c: New file.
43554
43555         * modules/uniconv/u16-conv-from-enc: New file.
43556         * lib/uniconv/u16-conv-from-enc.c: New file.
43557         * lib/uniconv/u-conv-from-enc.h: New file.
43558         * modules/uniconv/u16-conv-from-enc-tests: New file.
43559         * tests/uniconv/test-u16-conv-from-enc.c: New file.
43560
43561         * modules/uniconv/u8-conv-from-enc: New file.
43562         * lib/uniconv/u8-conv-from-enc.c: New file.
43563         * modules/uniconv/u8-conv-from-enc-tests: New file.
43564         * tests/uniconv/test-u8-conv-from-enc.c: New file.
43565
43566         * modules/uniconv/base: New file.
43567         * lib/uniconv.h: New file.
43568
43569 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
43570
43571         * doc/gnulib-tool.texi (Initial import): Update to match current
43572         behavior with strdup module.
43573         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
43574         * lib/memmem.h: Remove; all uses removed.  This is now done
43575         by <string.h>.
43576         * lib/mempcpy.h: Likewise.
43577         * lib/memrchr.h: Likewise.
43578         * lib/stpcpy.h: Likewise.
43579         * lib/stpncpy.h: Likewise.
43580         * lib/strcase.h: Likewise.
43581         * lib/strchrnul.h: Likewise.
43582         * lib/strdup.h: Likewise.
43583         * lib/strndup.h: Likewise.
43584         * lib/strnlen.h: Likewise.
43585         * lib/strpbrk.h: Likewise.
43586         * lib/strsep.h: Likewise.
43587         * lib/strstr.h: Likewise.
43588         * lib/strtok_r.h: Likewise.
43589         * lib/string_.h: New file.
43590         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
43591         Rely on <string.h> instead.
43592         * lib/canon-host.c: Likewise.
43593         * lib/chdir-long.c: Likewise.
43594         * lib/concatpath.c: Likewise.
43595         * lib/exclude.c: Likewise.
43596         * lib/fchdir.c: Likewise.
43597         * lib/getaddrinfo.c: Likewise.
43598         * lib/getcwd.c: Likewise.
43599         * lib/getsubopt.c: Likewise.
43600         * lib/glob.c: Likewise.
43601         * lib/hard-locale.c: Likewise.
43602         * lib/iconvme.c: Likewise.
43603         * lib/javacomp.c: Likewise.
43604         * lib/mempcpy.c: Likewise.
43605         * lib/memrchr.c: Likewise.
43606         * lib/regex_internal.h: Likewise.
43607         * lib/stpncpy.c: Likewise.
43608         * lib/strcasecmp.c: Likewise.
43609         * lib/strchrnul.c: Likewise.
43610         * lib/strdup.c: Likewise.
43611         * lib/striconv.c: Likewise.
43612         * lib/striconveh.c: Likewise.
43613         * lib/striconveha.c: Likewise.
43614         * lib/strncasecmp.c: Likewise.
43615         * lib/strndup.c: Likewise.
43616         * lib/strnlen.c: Likewise.
43617         * lib/strsep.c: Likewise.
43618         * lib/strstr.c: Likewise.
43619         * lib/strtok_r.c: Likewise.
43620         * lib/userspec.c: Likewise.
43621         * lib/w32spawn.h: Likewise.
43622         * lib/xstrndup.c: Likewise.
43623         * lib/mountlist.c (strstr): Remove decl.
43624         * m4/string_h.m4: New file.
43625         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
43626         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
43627         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
43628         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
43629         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
43630         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
43631         Set REPLACE_STRCASECMP if necessary.
43632         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
43633         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
43634         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
43635         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
43636         HAVE_DECL_STRDUP if necessary.
43637         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
43638         since gl_FUNC_STRNDUP does that now.
43639         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
43640         Check for decl here...
43641         (gl_PREREQ_STRNLEN): ... not here.
43642         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
43643         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
43644         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
43645         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
43646         necessary.
43647         * modules/string: New file.
43648         * modules/memmem (Files): Remove special-purpose include file.
43649         (Depends-on): Add string.
43650         (Include): Include <string.h>, not the removed file.
43651         * modules/mempcpy: Likewise.
43652         * modules/memrchr: Likewise.
43653         * modules/stpcpy: Likewise.
43654         * modules/stpncpy: Likewise.
43655         * modules/strcase: Likewise.
43656         * modules/strchrnul: Likewise.
43657         * modules/strdup: Likewise.
43658         * modules/strndup: Likewise.
43659         * modules/strnlen: Likewise.
43660         * modules/strpbrk: Likewise.
43661         * modules/strsep: Likewise.
43662         * modules/strstr: Likewise.
43663         * modules/strtok_r: Likewise.
43664         * tests/test-dirname.c: Don't include "strdup.h", since
43665         <string.h> now suffices.
43666         * tests/test-memmem.c: Don't include "memmem.h", since
43667         <string.h> now suffices.
43668
43669 2007-01-25  Bruno Haible  <bruno@clisp.org>
43670
43671         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
43672         *resultp is 0.
43673
43674         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
43675         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
43676         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
43677         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
43678
43679         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
43680         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
43681         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
43682         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
43683         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
43684         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
43685
43686 2007-01-24  Bruno Haible  <bruno@clisp.org>
43687
43688         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
43689         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
43690         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
43691         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
43692         gl_FUNC_FTS_CORE.
43693         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
43694         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
43695         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
43696         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
43697         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
43698         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
43699         gl_FUNC_FCHOWNAT.
43700         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
43701         gl_FUNC_STRFTIME.
43702         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
43703         Reported by Ralf Wildenhues.
43704
43705 2007-01-24  Bruno Haible  <bruno@clisp.org>
43706
43707         Drop AC_REQUIRE calls that are redundant with the module dependencies.
43708         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
43709         gl_GETADDRINFO.
43710         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
43711         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
43712         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
43713
43714 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
43715
43716         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
43717         Don't use 'exit'; just return from 'main'.
43718         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
43719
43720         * lib/fnmatch_.h: Readjust white space and comments to match
43721         glibc, to avoid spurious diffs.
43722
43723 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
43724
43725         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
43726         2004-12-01 change by Jakub Jelinek, since this code won't compile
43727         if !LIBC.  Problem reported by Bob Proulx.
43728
43729 2007-01-23  Bruno Haible  <bruno@clisp.org>
43730
43731         * lib/striconveh.c: Include c-strcaseeq.h.
43732         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
43733         * modules/striconveh (Depends-on): Add c-strcaseeq.
43734
43735 2007-01-23  Bruno Haible  <bruno@clisp.org>
43736
43737         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
43738
43739         * modules/c-strcaseeq: New file.
43740         * lib/c-strcaseeq.h: New file.
43741
43742         * modules/streq: New file.
43743         * lib/streq.h: New file.
43744
43745 2007-01-23  Bruno Haible  <bruno@clisp.org>
43746
43747         * modules/striconveha-tests: New file.
43748         * tests/test-striconveha.c: New file.
43749
43750         * lib/striconveha.h: Include <stdbool.h>.
43751         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
43752         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
43753         (mem_iconveha_notranslit): Renamed from mem_iconveha.
43754         (mem_iconveha): New function.
43755         (str_iconveha_notranslit): Renamed from str_iconveha.
43756         (str_iconveha): New function.
43757         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
43758         c-strcase.
43759
43760 2007-01-23  Bruno Haible  <bruno@clisp.org>
43761
43762         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
43763         encodings without forgiving before trying any encoding with handler.
43764         (str_iconveha): Try all encodings without forgiving before trying any
43765         encoding with handler.
43766
43767 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
43768
43769         Import the following changes from libc.
43770
43771         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
43772
43773         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
43774
43775         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
43776
43777         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
43778         normal_bracket label.
43779
43780         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
43781
43782         [BZ #361]
43783         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
43784         to normal_bracket after fetching the next character.
43785
43786 2007-01-22  Bruno Haible  <bruno@clisp.org>
43787
43788         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
43789         argument.
43790         * lib/striconveh.c (iconv_carefully_1): New function.
43791         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
43792         argument.
43793         (str_cd_iconveh): Update.
43794         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
43795         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
43796         * tests/test-striconveh.c (MAGIC): New macro.
43797         (new_offsets): New function.
43798         (main): Test call with and without offsets.
43799
43800 2007-01-22  Bruno Haible  <bruno@clisp.org>
43801
43802         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
43803         * modules/sys_select (Makefile.am): Likewise.
43804         * modules/sys_socket (Makefile.am): Likewise.
43805         * modules/sys_time (Makefile.am): Likewise.
43806
43807 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
43808
43809         * modules/gettimeofday (License): Change from GPL to LGPL, since
43810         gettimeofday is a library function.
43811
43812 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43813
43814         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
43815
43816 2007-01-21  Bruno Haible  <bruno@clisp.org>
43817
43818         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
43819
43820 2007-01-21  Bruno Haible  <bruno@clisp.org>
43821
43822         * modules/striconveha: New file.
43823         * lib/striconveha.h: New file.
43824         * lib/striconveha.c: New file.
43825         * MODULES.html.sh (Internationalization functions): Add striconveha.
43826         * lib/striconv.c (str_iconv): Optimize the case of an empty input
43827         string.
43828         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
43829
43830 2007-01-21  Bruno Haible  <bruno@clisp.org>
43831
43832         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
43833         * lib/striconveh.c (str_iconveh): Likewise.
43834
43835 2007-01-21  Bruno Haible  <bruno@clisp.org>
43836
43837         * lib/striconveh.h (mem_iconveh): New declaration.
43838         * lib/striconveh.c (mem_iconveh): New function.
43839         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
43840
43841 2007-01-21  Bruno Haible  <bruno@clisp.org>
43842
43843         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
43844
43845         * lib/striconveh.h (mem_cd_iconveh): Change specification.
43846         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
43847         original result buffer.
43848         (str_cd_iconveh): Update.
43849         * tests/test-striconveh.c (main): Update.
43850
43851         * lib/striconv.h (mem_cd_iconv): Change specification.
43852         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
43853         result buffer.
43854         (str_cd_iconv): Update.
43855         * tests/test-striconv.c (main): Update.
43856
43857 2007-01-21  Bruno Haible  <bruno@clisp.org>
43858
43859         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
43860
43861 2007-01-20  Jim Meyering  <jim@meyering.net>
43862
43863         * lib/userspec.c (parse_with_separator): If a user or group string
43864         starts with "+", skip the corresponding name-to-ID look-up, since
43865         such a look-up must fail: user and group names may not include "+".
43866
43867 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
43868
43869         * lib/poll.c: Include sys/time.h and time.h unconditionally,
43870         since we now assume the sys_time module.
43871         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
43872         check for sys/time.h; no longer needed.
43873         * modules/poll (Depends-on): Depend on sys_time.
43874
43875 2007-01-18  Bruno Haible  <bruno@clisp.org>
43876
43877         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
43878         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
43879
43880         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
43881         gettimeofday.
43882
43883         * tests/test-gettimeofday.c: Include <time.h>.
43884         (dummy): Remove variable.
43885
43886         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
43887         gl_HEADER_SYS_TIME_H.
43888         (gl_HEADER_SYS_TIME_H): New macro.
43889
43890         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
43891         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
43892         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
43893         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
43894         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
43895         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
43896         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
43897         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
43898         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
43899         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
43900         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
43901
43902         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
43903         last change; it caused a compilation error when cross-compiling to
43904         Cygwin.
43905
43906 2007-01-18  Jim Meyering  <jim@meyering.net>
43907
43908         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
43909         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
43910         than the race-prone "test -d sys || mkdir sys".
43911         (configure.ac): Use AC_PROG_MKDIR_P.
43912         * modules/sys_select: Likewise.
43913         * modules/sys_socket: Likewise.
43914         * modules/sys_time: Likewise.
43915
43916 2007-01-18  Eric Blake  <ebb9@byu.net>
43917
43918         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
43919         replace gettimeofday.
43920         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
43921         name, to avoid infinite recursion.
43922
43923 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
43924
43925         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
43926         module sys_time.
43927         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
43928         assume timespec.h defines struct timeval.
43929         * lib/settime.c: Likewise.
43930         * lib/utimens.c: Likewise.
43931         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
43932         since we now assume the gettimeofday module.
43933         * lib/tempname.c (__gen_tempname): Likewise.
43934         * lib/gettimeofday.h: Remove.
43935         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
43936         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
43937         Include <time.h>, for 'time()'.
43938         (localtime_buffer_addr): Also use this workaround if
43939         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
43940         to simplify the uses.  All uses changed.
43941         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
43942         that #undef is inside {}, and 'const' follows type name consistently.
43943         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
43944         (gettimeofday): Do not use the maximum possible value for
43945         tv->tv_usec, since that might break usages other than ls.c.
43946         Instead, we'll leave ls.c alone.  This undoes today's patch
43947         by Bruno.  Add a compile-time warning for 1s-clock resolution;
43948         we've never observed the problem but might as well keep the
43949         canary.
43950         * lib/nanosleep.c: Include timespec.h first, for interface check.
43951         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
43952         now assume the sys_time module.
43953         * lib/tempname.c: Likewise.
43954         * lib/timespec.h: Likewise.
43955         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
43956         needed.
43957         * lib/strftime.c: Likewise.
43958         * lib/timespec.h: Likewise.
43959         * lib/posixtm.c: Include posixtm.h first, for interface check.
43960         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
43961         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
43962         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
43963         * lib/sys_time_.h: New file.
43964         * lib/timespec.h (struct timespec): Use long int, not long.
43965         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
43966         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
43967         Remove obsolescent call to AC_HEADER_TIME.
43968         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
43969         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
43970         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
43971         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
43972         Likewise.
43973         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
43974         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
43975         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
43976         into the sys_time module.  Check for gettimeofday just once.
43977         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
43978         for gettimeofday signature to just check the signature.  Merely
43979         compile it, since linking doesn't test signature.  Improve test for
43980         whether gettimeofday.o is actually needed.
43981         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
43982         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
43983         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
43984         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
43985         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
43986         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
43987         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
43988         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
43989         than worrying about sys/time.h.
43990         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
43991         Don't bother worrying about TIME_WITH_SYS_TIME.
43992         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
43993         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
43994         * m4/sys_time_h.m4: New file.
43995         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
43996         Don't include sys/time.h.  Return from main rather than exiting.
43997         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
43998         all uses changed.
43999         * modules/gethrxtime (Depends-on): Add sys_time.
44000         * modules/gettime (Depends-on): Likewise.
44001         * modules/gettimeofday (Depends-on): Likewise.
44002         * modules/nanosleep (Depends-on): Likewise.
44003         * modules/settime (Depends-on): Likewise.
44004         * modules/tempname (Depends-on): Likewise.
44005         * modules/utimens (Depends-on): Likewise.
44006         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
44007         (Include:) Change back to <sys/time.h>.
44008         (Maintainer:) Add self.
44009         * modules/sys_time: New file.
44010         * modules/tempname (Depends-on): Add gettimeofday.
44011         * tests/test-gettimeofday.c: Include <sys/time.h>
44012         rather than gettimeofday.h.
44013
44014 2007-01-17  Bruno Haible  <bruno@clisp.org>
44015
44016         * gnulib-tool (func_get_license): Revert last patch. Instead, let
44017         the license default to GPL.
44018         (func_create_testdir): Don't complain if a module is LGPL and its
44019         tests module depends on GPLed modules.
44020
44021 2007-01-17  Bruno Haible  <bruno@clisp.org>
44022
44023         * lib/gettimeofday.c (gettimeofday): Add code for the case
44024         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
44025         maximum possible value for tv->tv_usec, rather than the minimum one.
44026
44027 2005-10-08  Martin Lambers  <marlam@marlam.de>
44028 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
44029 2007-01-16  Bruno Haible  <bruno@clisp.org>
44030
44031         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
44032         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
44033         gl_FUNC_GETTIMEOFDAY.
44034         (Include): Add gettimeofday.h.
44035         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
44036         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
44037         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
44038         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
44039         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
44040         * lib/gettimeofday.h: New file.
44041         * lib/gettimeofday.c: Include <sys/timeb.h>.
44042         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
44043         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
44044         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
44045         fall back on time().
44046
44047         * tests/test-gettimeofday.c: New file.
44048         * modules/gettimeofday-tests: New file.
44049
44050 2007-01-16  Eric Blake  <ebb9@byu.net>
44051
44052         * modules/fnmatch (Depends-on): Depend on wchar.
44053         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
44054         * m4/fnmatch.m4: Likewise.
44055         * modules/mbchar (Makefile.am): Assume <wchar.h>.
44056         * m4/mbchar.m4: Likewise.
44057         * modules/mbswidth (Depends-on): Depend on wchar.
44058         * lib/mbswidth.c: Assume <wchar.h>.
44059         * m4/mbswidth.m4: Likewise.
44060         * modules/quotearg (Depends-on): Depend on wchar.
44061         * lib/quotearg.c: Assume <wchar.h>.
44062         * m4/quotearg.m4: Likewise.
44063         * modules/regex (Depends-on): Depend on wchar.
44064         * lib/regex_internal.h: Assume <wchar.h>.
44065         * m4/regex.m4: Likewise.
44066         * modules/stdint (Depends-on): Depend on wchar.
44067         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
44068         * m4/stdint.m4: Likewise.
44069         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
44070         * modules/strftime (Depends-on): Depend on wchar.
44071         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
44072         * modules/strtol (Depends-on): Depend on wchar.
44073         * lib/strtol.c: Assume <wchar.h>.
44074         * modules/wcwidth (Depends-on): Depend on wchar.
44075         * lib/wcwidth.h: Assume <wchar.h>.
44076         * m4/wcwidth.m4: Likewise.
44077
44078 2007-01-16  Bruno Haible  <bruno@clisp.org>
44079
44080         * modules/csharpexec-script: New, created from...
44081         * modules/csharpexec: ... this.
44082
44083 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
44084
44085         * modules/javaexec-script: New, created from...
44086         * modules/javaexec: ... this.
44087
44088 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44089
44090         * modules/poll (Dependencies): Add sys_select.
44091
44092 2007-01-15  Jim Meyering  <jim@meyering.net>
44093
44094         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
44095         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
44096         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
44097         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
44098
44099 2007-01-15  Bruno Haible  <bruno@clisp.org>
44100
44101         * modules/striconveh: New file.
44102         * lib/striconveh.h: New file.
44103         * lib/striconveh.c: New file.
44104         * MODULES.html.sh (Internationalization functions): Add striconveh.
44105
44106         * modules/striconveh-tests: New file.
44107         * tests/test-striconveh.c: New file.
44108
44109 2007-01-15  Bruno Haible  <bruno@clisp.org>
44110
44111         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
44112         not from GNU libiconv or GNU libc.
44113
44114 2007-01-15  Bruno Haible  <bruno@clisp.org>
44115
44116         * doc/gnulib-intro.texi (Copyright): Explain the different license
44117         terms for module descriptions, autoconf macros, tests, documentation.
44118
44119 2007-01-14  Bruno Haible  <bruno@clisp.org>
44120
44121         * modules/striconv-tests: New file.
44122         * tests/test-striconv.c: New file.
44123
44124 2007-01-14  Bruno Haible  <bruno@clisp.org>
44125
44126         * modules/iconv-tests: New file.
44127         * tests/test-iconv.c: New file.
44128
44129 2007-01-14  Bruno Haible  <bruno@clisp.org>
44130
44131         * gnulib-tool (func_get_license): For test modules, use the license of
44132         the main module.
44133
44134 2007-01-14  Bruno Haible  <bruno@clisp.org>
44135
44136         * modules/iconv (Include): Clarify that <iconv.h> can only be included
44137         if iconv is found to exist.
44138
44139 2007-01-14  Bruno Haible  <bruno@clisp.org>
44140
44141         * modules/c-ctype-tests: New file.
44142         * tests/test-c-ctype.c: New file.
44143
44144 2007-01-14  Bruno Haible  <bruno@clisp.org>
44145
44146         * modules/binary-io-tests: New file.
44147         * tests/test-binary-io.sh: New file.
44148         * tests/test-binary-io.c: New file.
44149
44150 2007-01-14  Bruno Haible  <bruno@clisp.org>
44151
44152         * modules/array-oset-tests: New file.
44153         * tests/test-array_oset.c: New file.
44154
44155 2007-01-14  Bruno Haible  <bruno@clisp.org>
44156
44157         * modules/array-list-tests: New file.
44158         * tests/test-array_list.c: New file.
44159
44160 2007-01-14  Bruno Haible  <bruno@clisp.org>
44161
44162         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
44163         and make.
44164         Reported by Simon Josefsson in
44165         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
44166
44167 2007-01-14  Bruno Haible  <bruno@clisp.org>
44168
44169         * modules/allocsa-tests: New file.
44170         * tests/test-allocsa.c: New file.
44171
44172 2007-01-14  Bruno Haible  <bruno@clisp.org>
44173
44174         * modules/fchdir (Depends-on): Add absolute-header.
44175         * modules/unistd (Depends-on): Likewise.
44176
44177 2006-12-30  Bruno Haible  <bruno@clisp.org>
44178
44179         * modules/fchdir: New file.
44180         * modules/unistd (Files): Add lib/unistd_.h.
44181         (Makefile.am): Generate unistd.h from unistd_.h.
44182         * lib/fchdir.c: New file.
44183         * lib/dirent_.h: New file.
44184         * lib/unistd_.h: New file.
44185         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
44186         * m4/fchdir.m4: New file.
44187         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
44188         (gl_HEADER_UNISTD): Invoke it.
44189         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
44190         function.
44191         * lib/backupfile.c (opendir, closedir): Undefine.
44192         * lib/chown.c (open, close): Undefine.
44193         * lib/clean-temp.c (open, close): Undefine.
44194         * lib/copy-file.c (open, close): Undefine.
44195         * lib/execute.c (open, close): Undefine.
44196         * lib/fsusage.c (open, close): Undefine.
44197         * lib/gc-gnulib.c (open, close): Undefine.
44198         * lib/getcwd.c (opendir, closedir): Undefine.
44199         * lib/glob.c (opendir, closedir): Undefine.
44200         * lib/javacomp.c (open, close): Undefine.
44201         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
44202         * lib/openat-proc.c (open, close): Undefine.
44203         * lib/pagealign_alloc.c (open, close): Undefine.
44204         * lib/pipe.c (open, close): Undefine.
44205         * lib/progreloc.c (open, close): Undefine.
44206         * lib/savedir.c (opendir, closedir): Undefine.
44207         * lib/utime.c (open, close): Undefine.
44208         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
44209
44210 2007-01-10  Bruno Haible  <bruno@clisp.org>
44211
44212         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
44213
44214 2007-01-12  Eric Blake  <ebb9@byu.net>
44215
44216         Provide a robust <wchar.h>.  Further simplifications are now
44217         possible in other modules, but not included here.
44218         * modules/wchar: New module.
44219         * m4/wchar.m4: New file.
44220         * lib/wchar_.h: Likewise.
44221         * modules/mbchar (Depends-on): Depend on wchar, as the first use
44222         of the new module.
44223         * MODULES.html.sh (Extended multibyte and wide character utilities):
44224         New section.
44225
44226 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
44227
44228         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
44229         to a reasonable default for memory allocation.
44230         (xreadlink): Don't allocate a huge buffer, to work around a buggy
44231         file system that reports garbage st_size values for symlinks.
44232         Problem reported by Liyang Hu.
44233
44234 2007-01-11  Simon Josefsson  <simon@josefsson.org>
44235
44236         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
44237         Emacs .#* auto-save files).
44238
44239 2007-01-11  Bruno Haible  <bruno@clisp.org>
44240
44241         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
44242         directory.
44243
44244 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
44245
44246         Use @...@ consistently in lib/wctype_.h.
44247         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
44248         on it being set to 1 or 0.
44249         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
44250         go back to AC_SUBSTing it.
44251         * modules/wctype (Makefile.am): Undo previous change.
44252
44253 2007-01-10  Eric Blake  <ebb9@byu.net>
44254
44255         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
44256         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
44257         * modules/wctype (Makefile.am): Likewise.
44258         Reported by Chris McGuire.
44259
44260 2007-01-10  Jim Meyering  <jim@meyering.net>
44261
44262         fts.c: a small readability/maintainability improvement
44263         * lib/fts.c (fts_read): Make this code slightly more readable and
44264         maintainable by hoisting the "sp->fts_cur = p" assignments to
44265         immediately follow the statements that set P.  Derived from
44266         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
44267
44268 2007-01-10  Eric Blake  <ebb9@byu.net>
44269
44270         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
44271         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
44272         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
44273         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
44274         Reported by Chris McGuire.
44275
44276 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44277
44278         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
44279         in sed script.
44280
44281 2007-01-09  Bruno Haible  <bruno@clisp.org>
44282
44283         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
44284         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
44285         variables.
44286         (func_module): Use them.
44287
44288 2007-01-09  Bruno Haible  <bruno@clisp.org>
44289
44290         * modules/unistr/base: New file.
44291         * lib/unistr.h: New file.
44292
44293         * modules/unistr/u8-to-u16: New file.
44294         * lib/unistr/u8-to-u16.c: New file.
44295
44296         * modules/unistr/u8-to-u32: New file.
44297         * lib/unistr/u8-to-u32.c: New file.
44298
44299         * modules/unistr/u16-to-u8: New file.
44300         * lib/unistr/u16-to-u8.c: New file.
44301
44302         * modules/unistr/u16-to-u32: New file.
44303         * lib/unistr/u16-to-u32.c: New file.
44304
44305         * modules/unistr/u32-to-u8: New file.
44306         * lib/unistr/u32-to-u8.c: New file.
44307
44308         * modules/unistr/u32-to-u16: New file.
44309         * lib/unistr/u32-to-u16.c: New file.
44310
44311         * modules/unistr/u8-check: New file.
44312         * modules/unistr/u16-check: New file.
44313         * modules/unistr/u32-check: New file.
44314         * lib/unistr/u8-check.c: New file.
44315         * lib/unistr/u16-check.c: New file.
44316         * lib/unistr/u32-check.c: New file.
44317
44318         * modules/unistr/u8-chr: New file.
44319         * modules/unistr/u16-chr: New file.
44320         * modules/unistr/u32-chr: New file.
44321         * lib/unistr/u8-chr.c: New file.
44322         * lib/unistr/u16-chr.c: New file.
44323         * lib/unistr/u32-chr.c: New file.
44324
44325         * modules/unistr/u8-cmp: New file.
44326         * modules/unistr/u16-cmp: New file.
44327         * modules/unistr/u32-cmp: New file.
44328         * lib/unistr/u8-cmp.c: New file.
44329         * lib/unistr/u16-cmp.c: New file.
44330         * lib/unistr/u32-cmp.c: New file.
44331
44332         * modules/unistr/u8-cpy: New file.
44333         * modules/unistr/u16-cpy: New file.
44334         * modules/unistr/u32-cpy: New file.
44335         * lib/unistr/u8-cpy.c: New file.
44336         * lib/unistr/u16-cpy.c: New file.
44337         * lib/unistr/u32-cpy.c: New file.
44338         * lib/unistr/u-cpy.h: New file.
44339
44340         * modules/unistr/u8-cpy-alloc: New file.
44341         * modules/unistr/u16-cpy-alloc: New file.
44342         * modules/unistr/u32-cpy-alloc: New file.
44343         * lib/unistr/u8-cpy-alloc.c: New file.
44344         * lib/unistr/u16-cpy-alloc.c: New file.
44345         * lib/unistr/u32-cpy-alloc.c: New file.
44346         * lib/unistr/u-cpy-alloc.h: New file.
44347
44348         * modules/unistr/u8-endswith: New file.
44349         * modules/unistr/u16-endswith: New file.
44350         * modules/unistr/u32-endswith: New file.
44351         * lib/unistr/u8-endswith.c: New file.
44352         * lib/unistr/u16-endswith.c: New file.
44353         * lib/unistr/u32-endswith.c: New file.
44354         * lib/unistr/u-endswith.h: New file.
44355
44356         * modules/unistr/u8-mblen: New file.
44357         * modules/unistr/u16-mblen: New file.
44358         * modules/unistr/u32-mblen: New file.
44359         * lib/unistr/u8-mblen.c: New file.
44360         * lib/unistr/u16-mblen.c: New file.
44361         * lib/unistr/u32-mblen.c: New file.
44362
44363         * modules/unistr/u8-mbtouc: New file.
44364         * modules/unistr/u16-mbtouc: New file.
44365         * modules/unistr/u32-mbtouc: New file.
44366         * lib/unistr/u8-mbtouc.c: New file.
44367         * lib/unistr/u16-mbtouc.c: New file.
44368         * lib/unistr/u32-mbtouc.c: New file.
44369
44370         * modules/unistr/u8-mbtouc-safe: New file.
44371         * modules/unistr/u16-mbtouc-safe: New file.
44372         * modules/unistr/u32-mbtouc-safe: New file.
44373         * lib/unistr/u8-mbtouc-safe.c: New file.
44374         * lib/unistr/u16-mbtouc-safe.c: New file.
44375         * lib/unistr/u32-mbtouc-safe.c: New file.
44376
44377         * modules/unistr/u8-move: New file.
44378         * modules/unistr/u16-move: New file.
44379         * modules/unistr/u32-move: New file.
44380         * lib/unistr/u8-move.c: New file.
44381         * lib/unistr/u16-move.c: New file.
44382         * lib/unistr/u32-move.c: New file.
44383         * lib/unistr/u-move.h: New file.
44384
44385         * modules/unistr/u8-next: New file.
44386         * modules/unistr/u16-next: New file.
44387         * modules/unistr/u32-next: New file.
44388         * lib/unistr/u8-next.c: New file.
44389         * lib/unistr/u16-next.c: New file.
44390         * lib/unistr/u32-next.c: New file.
44391
44392         * modules/unistr/u8-prev: New file.
44393         * modules/unistr/u16-prev: New file.
44394         * modules/unistr/u32-prev: New file.
44395         * lib/unistr/u8-prev.c: New file.
44396         * lib/unistr/u16-prev.c: New file.
44397         * lib/unistr/u32-prev.c: New file.
44398
44399         * modules/unistr/u8-set: New file.
44400         * modules/unistr/u16-set: New file.
44401         * modules/unistr/u32-set: New file.
44402         * lib/unistr/u8-set.c: New file.
44403         * lib/unistr/u16-set.c: New file.
44404         * lib/unistr/u32-set.c: New file.
44405         * lib/unistr/u-set.h: New file.
44406
44407         * modules/unistr/u8-startswith: New file.
44408         * modules/unistr/u16-startswith: New file.
44409         * modules/unistr/u32-startswith: New file.
44410         * lib/unistr/u8-startswith.c: New file.
44411         * lib/unistr/u16-startswith.c: New file.
44412         * lib/unistr/u32-startswith.c: New file.
44413         * lib/unistr/u-startswith.h: New file.
44414
44415         * modules/unistr/u8-stpcpy: New file.
44416         * modules/unistr/u16-stpcpy: New file.
44417         * modules/unistr/u32-stpcpy: New file.
44418         * lib/unistr/u8-stpcpy.c: New file.
44419         * lib/unistr/u16-stpcpy.c: New file.
44420         * lib/unistr/u32-stpcpy.c: New file.
44421         * lib/unistr/u-stpcpy.h: New file.
44422
44423         * modules/unistr/u8-stpncpy: New file.
44424         * modules/unistr/u16-stpncpy: New file.
44425         * modules/unistr/u32-stpncpy: New file.
44426         * lib/unistr/u8-stpncpy.c: New file.
44427         * lib/unistr/u16-stpncpy.c: New file.
44428         * lib/unistr/u32-stpncpy.c: New file.
44429         * lib/unistr/u-stpncpy.h: New file.
44430
44431         * modules/unistr/u8-strcat: New file.
44432         * modules/unistr/u16-strcat: New file.
44433         * modules/unistr/u32-strcat: New file.
44434         * lib/unistr/u8-strcat.c: New file.
44435         * lib/unistr/u16-strcat.c: New file.
44436         * lib/unistr/u32-strcat.c: New file.
44437         * lib/unistr/u-strcat.h: New file.
44438
44439         * modules/unistr/u8-strchr: New file.
44440         * modules/unistr/u16-strchr: New file.
44441         * modules/unistr/u32-strchr: New file.
44442         * lib/unistr/u8-strchr.c: New file.
44443         * lib/unistr/u16-strchr.c: New file.
44444         * lib/unistr/u32-strchr.c: New file.
44445
44446         * modules/unistr/u8-strcmp: New file.
44447         * modules/unistr/u16-strcmp: New file.
44448         * modules/unistr/u32-strcmp: New file.
44449         * lib/unistr/u8-strcmp.c: New file.
44450         * lib/unistr/u16-strcmp.c: New file.
44451         * lib/unistr/u32-strcmp.c: New file.
44452
44453         * modules/unistr/u8-strcpy: New file.
44454         * modules/unistr/u16-strcpy: New file.
44455         * modules/unistr/u32-strcpy: New file.
44456         * lib/unistr/u8-strcpy.c: New file.
44457         * lib/unistr/u16-strcpy.c: New file.
44458         * lib/unistr/u32-strcpy.c: New file.
44459         * lib/unistr/u-strcpy.h: New file.
44460
44461         * modules/unistr/u8-strcspn: New file.
44462         * modules/unistr/u16-strcspn: New file.
44463         * modules/unistr/u32-strcspn: New file.
44464         * lib/unistr/u8-strcspn.c: New file.
44465         * lib/unistr/u16-strcspn.c: New file.
44466         * lib/unistr/u32-strcspn.c: New file.
44467         * lib/unistr/u-strcspn.h: New file.
44468
44469         * modules/unistr/u8-strdup: New file.
44470         * modules/unistr/u16-strdup: New file.
44471         * modules/unistr/u32-strdup: New file.
44472         * lib/unistr/u8-strdup.c: New file.
44473         * lib/unistr/u16-strdup.c: New file.
44474         * lib/unistr/u32-strdup.c: New file.
44475         * lib/unistr/u-strdup.h: New file.
44476
44477         * modules/unistr/u8-strlen: New file.
44478         * modules/unistr/u16-strlen: New file.
44479         * modules/unistr/u32-strlen: New file.
44480         * lib/unistr/u8-strlen.c: New file.
44481         * lib/unistr/u16-strlen.c: New file.
44482         * lib/unistr/u32-strlen.c: New file.
44483         * lib/unistr/u-strlen.h: New file.
44484
44485         * modules/unistr/u8-strmblen: New file.
44486         * modules/unistr/u16-strmblen: New file.
44487         * modules/unistr/u32-strmblen: New file.
44488         * lib/unistr/u8-strmblen.c: New file.
44489         * lib/unistr/u16-strmblen.c: New file.
44490         * lib/unistr/u32-strmblen.c: New file.
44491
44492         * modules/unistr/u8-strmbtouc: New file.
44493         * modules/unistr/u16-strmbtouc: New file.
44494         * modules/unistr/u32-strmbtouc: New file.
44495         * lib/unistr/u8-strmbtouc.c: New file.
44496         * lib/unistr/u16-strmbtouc.c: New file.
44497         * lib/unistr/u32-strmbtouc.c: New file.
44498
44499         * modules/unistr/u8-strncat: New file.
44500         * modules/unistr/u16-strncat: New file.
44501         * modules/unistr/u32-strncat: New file.
44502         * lib/unistr/u8-strncat.c: New file.
44503         * lib/unistr/u16-strncat.c: New file.
44504         * lib/unistr/u32-strncat.c: New file.
44505         * lib/unistr/u-strncat.h: New file.
44506
44507         * modules/unistr/u8-strncmp: New file.
44508         * modules/unistr/u16-strncmp: New file.
44509         * modules/unistr/u32-strncmp: New file.
44510         * lib/unistr/u8-strncmp.c: New file.
44511         * lib/unistr/u16-strncmp.c: New file.
44512         * lib/unistr/u32-strncmp.c: New file.
44513
44514         * modules/unistr/u8-strncpy: New file.
44515         * modules/unistr/u16-strncpy: New file.
44516         * modules/unistr/u32-strncpy: New file.
44517         * lib/unistr/u8-strncpy.c: New file.
44518         * lib/unistr/u16-strncpy.c: New file.
44519         * lib/unistr/u32-strncpy.c: New file.
44520         * lib/unistr/u-strncpy.h: New file.
44521
44522         * modules/unistr/u8-strnlen: New file.
44523         * modules/unistr/u16-strnlen: New file.
44524         * modules/unistr/u32-strnlen: New file.
44525         * lib/unistr/u8-strnlen.c: New file.
44526         * lib/unistr/u16-strnlen.c: New file.
44527         * lib/unistr/u32-strnlen.c: New file.
44528         * lib/unistr/u-strnlen.h: New file.
44529
44530         * modules/unistr/u8-strpbrk: New file.
44531         * modules/unistr/u16-strpbrk: New file.
44532         * modules/unistr/u32-strpbrk: New file.
44533         * lib/unistr/u8-strpbrk.c: New file.
44534         * lib/unistr/u16-strpbrk.c: New file.
44535         * lib/unistr/u32-strpbrk.c: New file.
44536         * lib/unistr/u-strpbrk.h: New file.
44537
44538         * modules/unistr/u8-strrchr: New file.
44539         * modules/unistr/u16-strrchr: New file.
44540         * modules/unistr/u32-strrchr: New file.
44541         * lib/unistr/u8-strrchr.c: New file.
44542         * lib/unistr/u16-strrchr.c: New file.
44543         * lib/unistr/u32-strrchr.c: New file.
44544
44545         * modules/unistr/u8-strspn: New file.
44546         * modules/unistr/u16-strspn: New file.
44547         * modules/unistr/u32-strspn: New file.
44548         * lib/unistr/u8-strspn.c: New file.
44549         * lib/unistr/u16-strspn.c: New file.
44550         * lib/unistr/u32-strspn.c: New file.
44551         * lib/unistr/u-strspn.h: New file.
44552
44553         * modules/unistr/u8-strstr: New file.
44554         * modules/unistr/u16-strstr: New file.
44555         * modules/unistr/u32-strstr: New file.
44556         * lib/unistr/u8-strstr.c: New file.
44557         * lib/unistr/u16-strstr.c: New file.
44558         * lib/unistr/u32-strstr.c: New file.
44559         * lib/unistr/u-strstr.h: New file.
44560
44561         * modules/unistr/u8-strtok: New file.
44562         * modules/unistr/u16-strtok: New file.
44563         * modules/unistr/u32-strtok: New file.
44564         * lib/unistr/u8-strtok.c: New file.
44565         * lib/unistr/u16-strtok.c: New file.
44566         * lib/unistr/u32-strtok.c: New file.
44567         * lib/unistr/u-strtok.h: New file.
44568
44569         * modules/unistr/u8-uctomb: New file.
44570         * modules/unistr/u16-uctomb: New file.
44571         * modules/unistr/u32-uctomb: New file.
44572         * lib/unistr/u8-uctomb.c: New file.
44573         * lib/unistr/u16-uctomb.c: New file.
44574         * lib/unistr/u32-uctomb.c: New file.
44575
44576         * MODULES.html.sh (Unicode string functions): Add the new modules.
44577
44578 2007-01-08  Bruno Haible  <bruno@clisp.org>
44579
44580         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
44581         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
44582         subdirectories.
44583
44584 2007-01-08  Karl Berry  <karl@gnu.org>
44585
44586         * doc/error.texi: mention that main() fns must set program_name
44587         when progname is used.
44588
44589 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
44590
44591         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
44592         WCTYPE_H is empty, for the benefit of builds from non-distclean
44593         directories.  Problem reported by Eric Blake in
44594         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
44595
44596 2007-01-08  Bruno Haible  <bruno@clisp.org>
44597
44598         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
44599         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
44600         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
44601         PROVIDE_CANONICALIZE_FILENAME_MODE.
44602         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
44603
44604 2007-01-08  Bruno Haible  <bruno@clisp.org>
44605
44606         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
44607         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
44608         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
44609         * lib/fts.c: Likewise.
44610         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
44611
44612 2006-12-25  Bruno Haible  <bruno@clisp.org>
44613
44614         * modules/utf8-ucs4-safe: New file.
44615         * lib/utf8-ucs4-safe.h: New file.
44616         * lib/unistr/utf8-ucs4-safe.c: New file.
44617
44618         * modules/utf16-ucs4-safe: New file.
44619         * lib/utf16-ucs4-safe.h: New file.
44620         * lib/unistr/utf16-ucs4-safe.c: New file.
44621
44622         * MODULES.html.sh (Unicode string functions): Add the new modules.
44623
44624 2007-01-08  Bruno Haible  <bruno@clisp.org>
44625
44626         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
44627         (Depends-on): Add unitypes.
44628         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
44629         (u8_mbtouc_aux): Move out to separate file.
44630         (u8_mbtouc): Use ucs4_t, uint8_t types.
44631         * lib/unistr/utf8-ucs4.c: New file.
44632
44633         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
44634         (Depends-on): Add unitypes.
44635         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
44636         (u16_mbtouc_aux): Move out to separate file.
44637         (u16_mbtouc): Use ucs4_t, uint16_t types.
44638         * lib/unistr/utf16-ucs4.c: New file.
44639
44640         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
44641         (Depends-on): Add unitypes.
44642         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
44643         (u8_uctomb_aux): Move out to separate file.
44644         (u8_uctomb): Use ucs4_t, uint8_t types.
44645         * lib/unistr/ucs4-utf8.c: New file.
44646
44647         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
44648         (Depends-on): Add unitypes.
44649         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
44650         (u16_uctomb_aux): Move out to separate file.
44651         (u16_uctomb): Use ucs4_t, uint16_t types.
44652         * lib/unistr/ucs4-utf16.c: New file.
44653
44654 2006-12-25  Bruno Haible  <bruno@clisp.org>
44655
44656         * modules/unitypes: New file.
44657         * lib/unitypes.h: New file.
44658         * MODULES.html.sh (func_all_modules): New section "Unicode string
44659         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
44660         this section. Add unitypes.
44661
44662 2007-01-08  Bruno Haible  <bruno@clisp.org>
44663
44664         Avoid variable names that conflict with those from libtool.
44665         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
44666         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
44667         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
44668         library_names_spec to acl_library_names_spec, hardcode_* to
44669         acl_hardcode_*.
44670         Reported by Ralf Wildenhues.
44671
44672 2007-01-08  Bruno Haible  <bruno@clisp.org>
44673
44674         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
44675         definition.
44676         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
44677         definition.
44678         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
44679         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
44680         definition.
44681         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
44682         definition.
44683         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
44684         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
44685         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
44686         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
44687         definition.
44688         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
44689         definition.
44690         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
44691         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
44692         GC_USE_<algorithm>.
44693         * lib/gc-libgcrypt.c: Likewise.
44694         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
44695         * modules/gc-arctwo (configure.ac): Likewise.
44696         * modules/gc-des (configure.ac): Likewise.
44697         * modules/gc-hmac-md5 (configure.ac): Likewise.
44698         * modules/gc-hmac-sha1 (configure.ac): Likewise.
44699         * modules/gc-md2 (configure.ac): Likewise.
44700         * modules/gc-md4 (configure.ac): Likewise.
44701         * modules/gc-md5 (configure.ac): Likewise.
44702         * modules/gc-random (configure.ac): Likewise.
44703         * modules/gc-rijndael (configure.ac): Likewise.
44704         * modules/gc-sha1 (configure.ac): Likewise.
44705
44706 2007-01-08  Bruno Haible  <bruno@clisp.org>
44707
44708         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
44709         macro definition.
44710         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
44711         definition.
44712         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
44713         definition.
44714         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
44715         * modules/fcntl-safer (configure.ac): Likewise.
44716         * modules/fopen-safer (configure.ac): Likewise.
44717         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
44718         GNULIB_FWRITEERROR macro definition.
44719
44720 2007-01-08  Bruno Haible  <bruno@clisp.org>
44721
44722         * m4/gnulib-common.m4: New file.
44723         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
44724         (func_get_filelist): Add m4/gnulib-common.m4.
44725
44726 2007-01-08  Bruno Haible  <bruno@clisp.org>
44727
44728         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
44729         command.
44730
44731 2007-01-08  Jim Meyering  <jim@meyering.net>
44732
44733         Use a more robust test for a "can't happen" condition.
44734         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
44735         narrowed the st_size value.  Presuming the "can't happen" condition
44736         is true, that narrowing could conceivably convert an invalid st_size
44737         value into a valid one.  Instead, use a change based on Matthew
44738         Woehlke's original patch.
44739
44740         Slight readability improvement: use an assert-like macro
44741         in place of literal "abort ()" uses.
44742         * lib/fts.c (fts_assert): Define.
44743         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
44744         Use this macro instead of a bare 'abort'.
44745
44746 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
44747
44748         Don't worry about using IRIX 5.3's wctype.h broken definitions;
44749         simply work around them.
44750         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
44751         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
44752         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
44753         declaring.
44754         Don't bother to define as macros, since the standard doesn't require it.
44755         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
44756         longer worry about IRIX 5.3.
44757         (HAVE_WCTYPE_CTMP_BUG): Remove.
44758
44759 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
44760
44761         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
44762         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
44763         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
44764         Problems reported by Georg Schwarz for IRIX 5.3.
44765
44766         * gnulib-tool (autoconf_minversion): Take the maximum version number
44767         found, not the minimum.  Problem reported by James Youngman.
44768
44769 2007-01-03  Karl Berry  <karl@gnu.org>
44770
44771         * doc/error.texi: new file, explaining interaction with progname.
44772         * doc/gnulib.texi: include it.  Update copyright.
44773
44774 2007-01-03  Simon Josefsson  <simon@josefsson.org>
44775
44776         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
44777         AC_CANONICAL_HOST, to improve autobuild outputs.
44778
44779 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
44780             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
44781
44782         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
44783         sockets, server sockets, and other file descriptors.  Count errors
44784         to compute the return value.  Reorder the code a bit to be easier
44785         to follow.  Don't set event bits that were not requested (except
44786         POLLERR and POLLHUP).
44787
44788 2007-01-01  Bruno Haible  <bruno@clisp.org>
44789
44790         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
44791
44792 2007-01-03  Jim Meyering  <jim@meyering.net>
44793
44794         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
44795
44796 2007-01-02  Bruno Haible  <bruno@clisp.org>
44797
44798         * modules/settime (Include): Require timespec.h.
44799         * modules/nanosleep (Include): Likewise.
44800
44801 2007-01-01  Bruno Haible  <bruno@clisp.org>
44802
44803         * gnulib-tool (func_emit_copyright_notice): Bump year.
44804         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
44805
44806 2007-01-01  Bruno Haible  <bruno@clisp.org>
44807
44808         Improve support for OpenBSD.
44809         * build-aux/config.rpath (libname_spec): Export.
44810         (library_names_spec): New variable. Export.
44811         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
44812         library_names_spec from the config.rpath output. Locate shared library
44813         through the name pattern in library_names_spec.
44814
44815 2007-01-01  Eric Blake  <ebb9@byu.net>
44816
44817         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
44818
44819 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
44820
44821         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
44822         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
44823         assume the C locale, and avoid an "eval" that could cause trouble.
44824         Problem with SORT reported by Bob Proulx.
44825
44826         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
44827         Define.  Trivial patch from Henning Nielsen Lund, originally
44828         sent to bug-grep@gnu.org today.
44829
44830 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
44831
44832         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
44833         struct stat.  Problem reported by Henning Nielsen Lund.
44834         * lib/acl.c: Include acl.h first, to check interface.  Don't
44835         bother to include sys/types.h and sys/stat.h again.
44836
44837 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
44838
44839         Import the following change from libc; problem reported by
44840         Sven Verdoolaege.
44841
44842         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
44843
44844         [BZ #1373]
44845         * lib/argp.h: Remove __NTH for __argp_usage inline function.
44846
44847 2006-12-28  Jim Meyering  <jim@meyering.net>
44848
44849         * build-aux/announce-gen: Do not assume that the package
44850         builds any of tar.gz, tar.bz2, and .xdelta files.
44851         Suggestion from Simon Josefsson.
44852
44853 2006-12-28  Simon Josefsson  <simon@josefsson.org>
44854
44855         * modules/announce-gen: New file.
44856
44857 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
44858
44859         * lib/mbchar.h: Just include <wctype.h>; the wctype module
44860         handles its gotchas now.
44861         * lib/mbswidth.c: Likewise.
44862         * lib/wcwidth.h: Likewise.
44863         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
44864         and iswcntrl; the wctype module does this stuff now.
44865         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
44866         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
44867         * modules/mbchar (Depends-on): Add wctype.
44868         * modules/mbswidth (Depends-on): Likewise.
44869         * modules/wcwidth (Depends-on): Likewise.
44870
44871 2006-12-27  Eric Blake  <ebb9@byu.net>
44872
44873         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
44874         module uses more than what <wctype.h> is required to provide.
44875
44876 2006-12-26  Eric Blake  <ebb9@byu.net>
44877
44878         * gnulib-tool (sed_extract_prog): Avoid space-tab.
44879
44880 2006-12-26  Eric Blake  <ebb9@byu.net>
44881
44882         * modules/absolute-header: New module.
44883         * modules/fcntl (Depends-on): Depend on it.
44884         * modules/inttypes (Depends-on): Likewise.
44885         * modules/stdint (Depends-on): Likewise.
44886         * modules/sys_stat (Depends-on): Likewise.
44887         * modules/wctype (Depends-on): Likewise.
44888         * MODULES.html.sh (Support for building libraries and
44889         executables): Document it.
44890
44891 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
44892
44893         * gnulib-tool (SED): Remove, undoing previous change.
44894         The problem was that it broke coreutils on Solaris, because
44895         "sed --posix" leaked into a makefile.
44896         (sed): New alias, if 'alias' and GNU sed.
44897
44898 2006-12-24  Jim Meyering  <jim@meyering.net>
44899
44900         Work around an fchownat bug in glibc-2.4:
44901         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
44902         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
44903         in spite of the -P option.
44904         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
44905         New macros.
44906         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
44907         * modules/openat (Files): Add lib/fchownat.c.
44908         * lib/openat.c (fchownat): Don't define here.  Move to...
44909         * lib/fchownat.c: ...this new file.
44910
44911 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
44912
44913         Fix bug reported by Bruno Haible in
44914         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
44915         where quotearg.c didn't compile on Mac OS X 10.2 because it
44916         lacks <wchar.h> and wint_t.
44917         * lib/wctype_.h (__wctype_wint_t): New type.
44918         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
44919         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
44920         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
44921         Arg is now of type __wctype_wint_t, not wint_t.
44922         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
44923         substitute HAVE_WINT_T.
44924         * modules/wctype (Files): Add m4/wint_t.m4.
44925         (wctype.h): Substitute HAVE_WINT_T.
44926
44927 2006-12-23  Bruno Haible  <bruno@clisp.org>
44928
44929         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
44930
44931 2006-12-23  Bruno Haible  <bruno@clisp.org>
44932
44933         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
44934         S_ISLNK.
44935         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
44936         mingw.
44937
44938 2006-12-22  Bruno Haible  <bruno@clisp.org>
44939
44940         * lib/copy-file.c: Include acl.h.
44941         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
44942         Close the file descriptors only after being done with copy_acl.
44943         * modules/copy-file (Depends-on): Add acl.
44944
44945 2006-12-22  Bruno Haible  <bruno@clisp.org>
44946
44947         * gnulib-tool (SED): New variable.
44948         Use $SED instead of sed everywhere.
44949
44950 2006-12-22  Bruno Haible  <bruno@clisp.org>
44951
44952         * modules/no-c++: New file.
44953         * m4/no-c++.m4: New file.
44954         * MODULES.html.sh (Support for building libraries and executables):
44955         Add no-c++.
44956
44957 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
44958
44959         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
44960         Include <limits.h>, and use its INT_MAX to rewrite the
44961         j loop so that it does not overflow 'int'.  Problem reported by
44962         Ralf Wildenhues in
44963         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
44964         Play it safe by shifting left by 1 rather than multiplying by 2,
44965         as GCC is less likely to optimize this away when the value
44966         is signed (when it assumes overflow leads to undefined behavior).
44967         Also, don't assume time_t uses two's complement.
44968
44969 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
44970
44971         * MODULES.html.sh: New module wctype.
44972         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
44973         * lib/fnmatch.c: Don't bother to include <wchar.h> before
44974         <wctype.h>, since the new wctype module should fix this.
44975         * lib/quotearg.c: Include <wctype.h> unconditionally, since
44976         the wctype module should arrange for it.
44977         * lib/regex_internal.h: Likewise.
44978         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
44979         since the wctype module should handle this now.
44980         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
44981         * modules/fnmatch (Depends-on): Add wctype.
44982         * modules/quotearg (Depends-on): Likewise.
44983         * modules/regex (Depends-on): Likewise.
44984
44985 2006-12-19  Bruno Haible  <bruno@clisp.org>
44986
44987         * lib/strdup.h [C++]: Wrap definitions in extern "C".
44988         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
44989
44990 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44991
44992         * modules/savewd (Depends-on): Fix dependency on fcntl.
44993
44994 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
44995
44996         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
44997         conforms to C99, rather than relying on the user's environment
44998         setting of STDINT_H.
44999
45000 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
45001         and Eric Blake  <ebb9@byu.net>
45002
45003         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
45004         This is more consistent with the other defines here.
45005         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
45006         Port to z/OS.  Problem reported by Paul Gilmartin.
45007         Change local vars to use gl_ prefix rather than ac_.
45008         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
45009         with other defines.
45010         * modules/double-slash-root: New module.
45011         * modules/dirname (Files): Remove m4/double-slash-root.m4.
45012         (Depends-on): Add double-slash-root.
45013         * MODULES.html.sh (File system functions): Mention new module.
45014
45015 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
45016
45017         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
45018         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
45019         This is for the benefit of gzip, which doesn't do i18n.
45020
45021 2006-12-12  Jim Meyering  <jim@meyering.net>
45022
45023         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
45024         Reported by Andreas Schwab <schwab@suse.de>.
45025
45026 2006-12-12  Bruno Haible  <bruno@clisp.org>
45027
45028         Merge these changes.
45029         2006-09-05  Bruno Haible  <bruno@clisp.org>
45030         * lib/iconvme.c (iconv_string): No need to save and restore errno when
45031         iconv_alloc succeeded.
45032         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
45033         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
45034         test for " && dest " at the end - dest is always != NULL there. Call
45035         iconv with 4xNULL arguments initially, to reset the state. Call iconv
45036         with 2xNULL arguments, also to flush the state storage. Handle the
45037         IRIX iconv behaviour. Realloc the final result, to throw away unused
45038         memory.
45039
45040 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
45041
45042         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
45043         and fchmodat unconditionally, since glibc 2.4 has them.
45044         Problem reported by Arkadiusz Miskiewicz.
45045
45046 2006-12-10  Bruno Haible  <bruno@clisp.org>
45047
45048         * gnulib-tool (func_import): Show the include files only for those
45049         modules that are copied and specified.
45050         Reported by Karl Berry.
45051
45052 2006-12-08  Jim Meyering  <jim@meyering.net>
45053
45054         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
45055         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
45056
45057         * build-aux/announce-gen: Add two new options, both optional:
45058         --bootstrap-tools=TOOL_LIST
45059               a comma-separated list of tools, e.g.,
45060               autoconf,automake,bison,gnulib
45061         --gnulib-snapshot-date=DATE
45062               if gnulib is in the bootstrap tool list,
45063               then report this as the snapshot date.
45064               If not specified, use the current date/time.
45065               If you specify a date here, be sure it's UTC.
45066
45067 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45068
45069         * tests/test-argp-2.sh: Fix test to match actual output.
45070         (func_compare): Fix sed script to be portable.
45071
45072 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
45073
45074         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
45075         workaround for this case.  It is not autoconfigured now; offhand
45076         it's hard to see how to autoconfigure it.
45077
45078 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
45079
45080         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
45081         a directory that is about to be chowned.  Such a directory's
45082         initial file permissions should permit the owner only and this
45083         should not be changed until after the chown, since the group and
45084         other bits would be incorrect if they granted permission before
45085         the chown.
45086
45087         Fix porting problem for iswctype reported by Georg Schwarz in:
45088         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
45089         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
45090         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
45091         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
45092         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
45093
45094 2006-12-03  Jim Meyering  <jim@meyering.net>
45095
45096         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
45097         p->fts_statp may not yet be defined.
45098         (fts_read): Instead, set it in the caller, once p->fts_statp is
45099         sure to be defined, and corresponds to a top-level directory.
45100         This bug made du -x fail.  Here's the coreutils test case:
45101         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
45102         Reported by Mike Frysinger.
45103
45104 2006-12-01  Jim Meyering  <jim@meyering.net>
45105
45106         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
45107         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
45108         Reported by Simon Josefsson.
45109
45110 2006-11-30  Jim Meyering  <jim@meyering.net>
45111
45112         * m4/warning.m4: Use the all-permissive copyright notice
45113         recommended by RMS (rather than LGPL).
45114         * m4/vararrays.m4: Likewise.
45115         * m4/flexmember.m4: Likewise.
45116
45117 2006-11-29  Bruno Haible  <bruno@clisp.org>
45118
45119         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
45120         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
45121         using +=.
45122         Reported by Simon Josefsson <simon@josefsson.org>.
45123
45124 2006-11-28  James Youngman <jay@gnu.org>
45125
45126         * README: Advise users that they might find the bug-gnulib@gnu.org
45127         and autotools-announce@gnu.org mailing lists useful.
45128
45129 2006-11-28  Bruno Haible  <bruno@clisp.org>
45130
45131         * m4/ptrdiff_max.m4: Remove file.
45132
45133 2006-11-21  Bruno Haible  <bruno@clisp.org>
45134
45135         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
45136         _AC_COMPUTE_INT.
45137         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
45138         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
45139         _AC_COMPUTE_INT.
45140         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
45141         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
45142         _AC_COMPUTE_INT.
45143         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
45144
45145 2006-11-28  Jim Meyering  <jim@meyering.net>
45146
45147         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
45148         warning from "gcc -Wshadow" about shadowing the builtin.
45149
45150 2006-11-27  Bruno Haible  <bruno@clisp.org>
45151
45152         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
45153         _AC_COMPUTE_INT.
45154         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
45155
45156 2006-11-27  Bruno Haible  <bruno@clisp.org>
45157             Paul Eggert  <eggert@cs.ucla.edu>
45158
45159         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
45160
45161 2006-11-26  Bruno Haible  <bruno@clisp.org>
45162
45163         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
45164         noinst_LTLIBRARIES.
45165
45166 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
45167             Bruno Haible  <bruno@clisp.org>
45168
45169         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
45170         if compiling with "gcc -ansi".
45171
45172 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
45173
45174         Fix some incompatibilities with gcc -ansi -pedantic.
45175         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
45176         if compiling pedantically with GCC, unless it's C99 or later.
45177         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
45178         it mishandles gcc -ansi -pedantic as well.
45179         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
45180         if gcc -pedantic.
45181         * lib/regexec.c (check_node_accept_bytes): Don't use auto
45182         initializers for struct if -pedantic, unless it's C99 or later.
45183
45184 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
45185
45186         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
45187         Don't close an fd more than once. Identical atimes indicate
45188         success, not failure.
45189
45190 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
45191
45192         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
45193
45194 2006-11-23  Jim Meyering  <jim@meyering.net>
45195
45196         * build-aux/announce-gen: New file.  From coreutils.
45197
45198 2006-11-22  Jim Meyering  <jim@meyering.net>
45199
45200         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
45201         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
45202         (fts_read): Use a temporary to narrow the overused st_size member
45203         before using it in a switch statement.  Reported by Matthew Woehlke.
45204
45205         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
45206         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
45207
45208 2006-11-20  Bruno Haible  <bruno@clisp.org>
45209
45210         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
45211         changequote instead of pairs of brackets.
45212         Reported by Andreas Schwab <schwab@suse.de>.
45213
45214 2006-11-21  Jim Meyering  <jim@meyering.net>
45215
45216         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
45217         so as to remain compatible with older compilers.
45218         Patch from Michael Deutschmann.
45219
45220 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
45221
45222         * MODULES.html.sh (File system functions): Add openat.
45223
45224         * lib/openat.h (rpl_fstatat): New macro, if
45225         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
45226         (fstatat): Define to rpl_fstatat under the same conditions,
45227         unless COMPILING_FSTATAT.
45228         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
45229         seems to have the bug.
45230         * lib/fstatat.c: New file.
45231         * modules/openat (Files): Add it.
45232
45233 2006-11-20  Bruno Haible  <bruno@clisp.org>
45234
45235         * Makefile: New file.
45236
45237 2006-11-20  Jim Meyering  <jim@meyering.net>
45238
45239         The beginnings of syntax-related checks for gnulib.
45240         * lib/Makefile: New file.
45241         * lib/t-idcache: New script.  Ensure that the two halves of
45242         idcache.c stay in sync.
45243
45244         * lib/idcache.c: Adjust comments in user- and group- portions to
45245         be more accurate, and to be consistent with one another.
45246
45247 2006-11-20  Jim Meyering  <jim@meyering.net>
45248
45249         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
45250         continue using the flexible array member (thus, this module performs
45251         half as many malloc calls), with the addition that...
45252         (getgroup, getuser): Consistently record a non-match via an empty
45253         "name" string, and map an empty string match to a NULL return value.
45254         * modules/idcache (Depends-on): Re-add flexmember.
45255
45256         * lib/idcache.c (getuser): Remove all uses of the register keyword.
45257         (getuidbyname, getgroup, getgidbyname): Likewise.
45258
45259         Use cleaner syntax: NULL rather than 0.
45260         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
45261
45262 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
45263
45264         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
45265         It mishandled the case where the group was missing.
45266         Problem reported by Greg Schafer.
45267         * modules/idcache: Likewise.
45268
45269 2006-11-18  Jim Meyering  <jim@meyering.net>
45270
45271         * check-module (%exempt_header): Add exception for some
45272         conditionally-included headers.
45273
45274         * modules/i-ring (Depends-on): Add verify.
45275         (License): Change to LGPL.
45276
45277 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
45278
45279         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
45280         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
45281         and inttostr.h.  Use snprintf rather than uinttostr, so that
45282         LGPLed code doesn't depend on GPLed.
45283
45284 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
45285
45286         * modules/inline (License): Change from GPL to LGPL.
45287
45288 2006-11-17  Jim Meyering  <jim@meyering.net>
45289
45290         * modules/d-type (License): Switch to LGPL.
45291
45292 2006-11-15  Bruno Haible  <bruno@clisp.org>
45293
45294         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
45295
45296 2006-11-15  Eric Blake  <ebb9@byu.net>
45297
45298         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
45299         the module dependency.
45300
45301 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45302             Bruno Haible  <bruno@clisp.org>
45303
45304         * gnulib-tool (func_create_testdir): Add license consistency check.
45305
45306 2006-11-15  Eric Blake  <ebb9@byu.net>
45307
45308         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
45309         random "(cached)" in configure output.
45310
45311 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45312
45313         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
45314         test for conforming inttypes.h is both announced and cached.
45315
45316         * MODULES.html.sh (seen_modules, seen_files): New variables.
45317         (func_module): Rewrite to use a few less gnulib-tool and sed
45318         invocations.  Avoid a couple of quadratic algorithms for ...
45319         (missed_modules, missed_files): ... these, with ...
45320         (func_append, func_tmpdir): ... these new functions, from
45321         gnulib-tool.  Analogously, install traps for cleanup.
45322
45323         * tests/test-gc.c (main): Remove unused variables.
45324         * tests/test-read-file.c: Include stdlib.h, for 'free'.
45325
45326 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
45327
45328         * modules/inttostr (License): Change to LGPL.
45329
45330 2006-11-14  Eric Blake  <ebb9@byu.net>
45331
45332         * modules/tempname (License): Change to LGPL.
45333
45334 2006-11-14  Eric Blake  <ebb9@byu.net>
45335
45336         * doc/functions.texi (Function Portability): *printf functions on
45337         Cygwin now understand all POSIX size specifiers.
45338
45339 2006-11-14  Bruno Haible  <bruno@clisp.org>
45340
45341         * modules/c-ctype (License): Change to LGPL.
45342
45343 2006-11-12  Bruno Haible  <bruno@clisp.org>
45344
45345         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
45346         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
45347         for GNOME libraries, for which the include files are installed in
45348         subdirectories of $prefix/include.
45349
45350 2006-11-12  Bruno Haible  <bruno@clisp.org>
45351
45352         * m4/lib-link.m4: Require at least autoconf-2.54.
45353         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
45354         name to underscores for the --with option.
45355
45356 2006-11-13  Bruno Haible  <bruno@clisp.org>
45357
45358         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
45359         the tests directory.
45360         Reported by Ralf Wildenhues.
45361
45362 2006-11-13  Bruno Haible  <bruno@clisp.org>
45363
45364         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
45365         (func_emit_initmacro_end): Undo the override here.
45366         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
45367         Works around the famous automake error in coreutils.
45368
45369 2006-11-13  Eric Blake  <ebb9@byu.net>
45370
45371         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
45372         element, not its node.
45373
45374 2006-11-12  Bruno Haible  <bruno@clisp.org>
45375
45376         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
45377         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
45378
45379 2006-11-12  Bruno Haible  <bruno@clisp.org>
45380
45381         * gnulib-tool: New option --local-symlink.
45382         (func_usage): Document it.
45383         (lsymbolic): New variable.
45384         (func_import, func_create_testdir): If --symlink was not specified,
45385         test whether --local-symlink was specified and the file comes from
45386         the local_gnulib_dir.
45387
45388 2006-11-12  Bruno Haible  <bruno@clisp.org>
45389
45390         * gnulib-tool (func_ln): New function.
45391         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
45392
45393 2006-11-12  Bruno Haible  <bruno@clisp.org>
45394
45395         Finish support for source files in subdirectories.
45396         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
45397         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
45398         AUTOMAKE_OPTIONS.
45399         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
45400
45401 2006-11-12  Bruno Haible  <bruno@clisp.org>
45402
45403         * gnulib-tool (func_get_automake_snippet): Synthesize also an
45404         EXTRA_lib_SOURCES augmentation.
45405         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
45406
45407 2006-11-12  Jim Meyering  <jim@meyering.net>
45408
45409         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
45410         file descriptors.  This also averts a failure on systems with
45411         native openat support when a traversed directory lacks "x" access.
45412         * lib/fts_.h: Include "i-ring.h"
45413         (struct FTS) [fts_fd_ring]: New member.
45414         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
45415         (FCHDIR): Add parentheses.
45416         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
45417         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
45418         When descending, rather than simply closing the previous
45419         fts_cwd_fd value, push that file descriptor onto the ring.
45420         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
45421         (fts_open): Initialize the new fd_ring member.
45422         (fts_close): Clear the ring.
45423         (fts_safe_changedir): When possible, use our new fd_ring to skip
45424         the diropen and fstat and dev/ino comparison that would normally
45425         accompany a virtual `chdir ("..")'.
45426
45427         * modules/fts (Depends-on): Add i-ring.
45428         * modules/i-ring: New module.
45429         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
45430         * m4/i-ring.m4: New file.
45431
45432 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45433
45434         * gnulib-tool (func_create_testdir): Fix replacement of
45435         `build-aux' in configure.ac.  Run autotools in gltests
45436         subdirectory.
45437         (func_create_testdir, func_create_megatestdir, test): There is
45438         no need for '--force' in most autotool invocations in a new
45439         tree.  Actually fail the whole test if any of the tools, or the
45440         configure or make stages fail.
45441
45442         Sync from Automake.
45443         * build-aux/gnupload: Revert last change.  Add pointer to upload
45444         instructions of the GNU Maintenance Instructions.
45445         Suggestion by Karl Berry.
45446
45447 2006-11-10  Jim Meyering  <jim@meyering.net>
45448
45449         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
45450
45451 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
45452
45453         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
45454         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
45455         (bind_textdomain_codeset) [! ENABLE_NLS]:
45456         Evaluate all the arguments.  That way, callers get compatible behavior
45457         if the arguments have side effects.  Also, it avoids some GCC
45458         diagnostics in some cases; Joel E. Denny reported problems when Bison
45459         was configured with --enable-gcc-warnigs.
45460
45461 2006-11-10  Jim Meyering  <jim@meyering.net>
45462
45463         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
45464         relevant options in CFLAGS (like -O, -fno-inline) are taken into
45465         account.
45466
45467 2006-11-10  Jim Meyering  <jim@meyering.net>
45468
45469         * modules/inline: New file/module.
45470         * modules/xalloc (Files): Remove m4/inline.m4.
45471         (Depends-on): Add inline, instead.
45472         * modules/oset: Likewise.
45473         * modules/list: Likewise.
45474
45475 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
45476
45477         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
45478         Problem reported by Matthew Woehlke.
45479
45480 2006-11-09  Bruno Haible  <bruno@clisp.org>
45481
45482         * lib/tempname.c (gen_tempname): Remove variant that invokes
45483         __gen_tempname.
45484         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
45485         __gen_tempname.
45486
45487 2006-11-08  Bruno Haible  <bruno@clisp.org>
45488
45489         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
45490         to 'yes' instead of 'cross-compiling'.
45491
45492 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
45493
45494         * lib/quotearg.h (quotearg_free): New decl.
45495         * lib/quotearg.c (quotearg_free): New function.
45496         (slot0, nslots, slotvec0, slotvec):
45497         Now file-scope so that quotearg_free can get at them.
45498
45499 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45500
45501         Sync from Automake.
45502         * build-aux/gnupload: Add missing 'gnu' to example URL.
45503         Report by Karl Berry.
45504
45505 2006-11-08  Bruno Haible  <bruno@clisp.org>
45506
45507         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
45508         Suggested by Paul Eggert.
45509
45510 2006-11-08  Jim Meyering  <jim@meyering.net>
45511
45512         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
45513         It's already included if !_LIBC.
45514         (fts_safe_changedir): Add a comment.
45515
45516 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
45517
45518         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
45519         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
45520         Matthew Woehlke.
45521
45522         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
45523         definitions up, to avoid colliding with change below.
45524         (static_inline) [HAVE_INLINE]: New macro.
45525         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
45526         Provide extern decls when !HAVE_INLINE.  Do not define unless
45527         static_inline is defined, either by us or by xmalloc.c.  Use
45528         static_inline rather than static inline.
45529         (XCALLOC): Optimize sizeof(T) = 1 case.
45530         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
45531
45532 2006-11-07  Bruno Haible  <bruno@clisp.org>
45533
45534         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
45535         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
45536         AC_C_INLINE.
45537         * modules/xalloc (Files): Add m4/inline.m4.
45538
45539 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45540
45541         * README: Fix typo.
45542         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
45543         (Miscellanous Notes): ...from this.
45544
45545 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
45546
45547         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
45548         Mention that offsetof should be used instead of sizeof.
45549         From Bruno Haible.
45550
45551 2006-11-07  Bruno Haible  <bruno@clisp.org>
45552
45553         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
45554
45555 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
45556
45557         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
45558         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
45559         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
45560         (gl_tree_add_before, gl_tree_add_after):
45561         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
45562         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
45563         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
45564         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
45565         (gl_linked_add_after, gl_linked_add_at): Likewise.
45566         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
45567         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
45568         (gl_tree_add_before, gl_tree_add_after): Likewise.
45569         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
45570         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
45571         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
45572
45573 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45574
45575         * lib/gl_oset.h: Use C comment style, not C++ comment style.
45576
45577 2006-11-06  Bruno Haible  <bruno@clisp.org>
45578
45579         * m4/inline.m4: New file.
45580         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
45581         * modules/list (Files): Add m4/inline.m4.
45582         * modules/oset (Files): Likewise.
45583
45584 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
45585
45586         * lib/idcache.c: Include <stddef.h>, for offsetof.
45587         (struct userid.name): Change from char * to a flexible array member.
45588         All uses changed.
45589         * modules/idcache (Depends-on): Add flexmember.
45590
45591         * MODULES.html.sh (Core language properties): New module flexmember.
45592         * modules/flexmember, m4/flexmember.m4: New files.
45593
45594         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
45595         inline functions that are identical with the old xnmalloc_inline,
45596         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
45597         that we can avoid some unnecessary integer multiplications and
45598         divisions in the common case where the element size is known at
45599         compile time.
45600         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
45601         needed.
45602         (xnboundedmalloc): Remove.
45603         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
45604         arguments, for consistency with rest of this header.
45605         (xcharalloc): Rewrite using XNMALLOC.
45606         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
45607         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
45608         versions have been moved to lib/xalloc.h and renamed to be the
45609         non-*_inline versions.
45610         (xmalloc, xrealloc): Implement without reference to the xnmalloc
45611         and xnrealloc functions, since those functions are now inline and
45612         now call us.
45613         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
45614         renaming described above.
45615         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
45616         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
45617         captures the dependency in AC_C_INLINE.
45618
45619         New module canonicalize-lgpl, proposed by Charles Wilson in
45620         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
45621         with a few small changes afterwards.
45622         * MODULES.html.sh (File system functions): New module
45623         canonicalize-lgpl.
45624         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
45625         and canonicalize_file_name.
45626         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
45627         * modules/canonicalize-lgpl: New files.
45628
45629 2006-11-05  Bruno Haible  <bruno@clisp.org>
45630
45631         * gnulib-tool (func_import, func_create_testdir): Create directories
45632         also for files in subdirectories of lib/.
45633
45634 2006-11-05  Bruno Haible  <bruno@clisp.org>
45635
45636         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
45637         ANSI C compliant.
45638
45639 2006-11-03  Bruno Haible  <bruno@clisp.org>
45640
45641         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
45642         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
45643         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
45644         (xnboundedmalloc): New inline function.
45645         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
45646         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
45647         xmalloc.
45648         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
45649         xmalloc.
45650         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
45651         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
45652         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
45653         xmalloc.
45654         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
45655         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
45656         xmalloc.
45657         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
45658         gl_tree_add_after): Use XMALLOC instead of xmalloc.
45659         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
45660         xmalloc.
45661         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
45662         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
45663         gl_tree_add_after): Use XMALLOC instead of xmalloc.
45664         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
45665         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
45666         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
45667         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
45668
45669 2006-11-03  Bruno Haible  <bruno@clisp.org>
45670
45671         * lib/c-ctype.h [C++]: Define functions without name mangling.
45672         * lib/fwriteerror.h [C++]: Likewise.
45673         * lib/gcd.h [C++]: Likewise.
45674         * lib/linebreak.h [C++]: Likewise.
45675
45676 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
45677
45678         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
45679         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
45680         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
45681         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
45682         Check for functions and headers just once.
45683         Check for declaration of canonicalize_file_name.
45684         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
45685
45686 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
45687
45688         * gnulib-tool (func_import): Fix typo in actioncmd.
45689
45690 2006-11-02  Bruno Haible  <bruno@clisp.org>
45691
45692         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
45693         newline sequence in the Makefile.am snippet as a space, like "make"
45694         does.
45695         Reported by Roger Persson <perrog@gmail.com>.
45696
45697 2006-11-01  Bruno Haible  <bruno@clisp.org>
45698
45699         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
45700         already declared in <string.h>.
45701         * lib/strcase.h (strncasecmp): Don't declare it if yes.
45702
45703 2006-11-01  Bruno Haible  <bruno@clisp.org>
45704
45705         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
45706         * lib/strcase.h: Include <string.h>.
45707         (strcasecmp): Define to rpl_strcasecmp here.
45708
45709 2006-11-01  Bruno Haible  <bruno@clisp.org>
45710
45711         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
45712
45713 2006-11-01  Eric Blake  <ebb9@byu.net>
45714
45715         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
45716
45717         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
45718
45719 2006-10-29  Bruno Haible  <bruno@clisp.org>
45720
45721         Make it compile in C++ mode.
45722         * lib/full-write.c (full_rw): Add a cast.
45723
45724 2006-11-01  Bruno Haible  <bruno@clisp.org>
45725
45726         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
45727         be POSIX compliant.
45728         Reported by Roger Persson <perrog@gmail.com>.
45729
45730 2006-11-01  Eric Blake  <ebb9@byu.net>
45731
45732         * lib/getopt_.h: Fix comments.
45733
45734 2006-10-31  Eric Blake  <ebb9@byu.net>
45735
45736         * modules/tmpdir (Depends-on): Add sys_stat.
45737         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
45738         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
45739         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
45740         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
45741         tempname.
45742
45743 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
45744
45745         Avoid some C++ diagnostics reported by Bruno Haible.
45746         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
45747         xmalloc.
45748         (quotearg_alloc): Use xcharalloc rather than xmalloc.
45749         (struct slotvec): Move to top level.
45750         (quotearg_n_options): Rewrite to avoid xmalloc.
45751         * lib/xalloc.h (xcharalloc): New function.
45752         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
45753         [defined __cplusplus]: Add function template that provides result
45754         type propagation.  This part of the change is from Bruno Haible.
45755
45756 2006-10-29  Bruno Haible  <bruno@clisp.org>
45757
45758         Make it compile in C++ mode.
45759         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
45760         * lib/strnlen1.c (strnlen1): Cast memchr result.
45761         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
45762         * lib/clean-temp.c (string_equals, string_hash): Add casts.
45763         (create_temp_dir): Rename local variable 'template'.
45764         (compile_csharp_using_sscli): Add cast.
45765         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
45766         * lib/findprog.c (find_in_path): Likewise.
45767         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
45768         * lib/wait-process.c (register_slave_subprocess): Likewise.
45769
45770 2006-10-22  Bruno Haible  <bruno@clisp.org>
45771
45772         * modules/tsearch: New file.
45773         * lib/tsearch.h: New file.
45774         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
45775         * m4/tsearch.m4: New file.
45776         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
45777
45778 2006-10-29  Eric Blake  <ebb9@byu.net>
45779
45780         * lib/arcfour.c: Assume config.h.
45781         * lib/arctwo.c: Likewise.
45782         * lib/base64.c: Likewise.
45783         * lib/check-version.c: Likewise.
45784         * lib/crc.c: Likewise.
45785         * lib/des.c: Likewise.
45786         * lib/gc-gnulib.c: Likewise.
45787         * lib/gc-libgcrypt.c: Likewise.
45788         * lib/gc-pbkdf2-sha1.c: Likewise.
45789         * lib/getaddrinfo.c: Likewise.
45790         * lib/getdelim.c: Likewise.
45791         * lib/getline.c: Likewise.
45792         * lib/hmac-md5.c: Likewise.
45793         * lib/hmac-sha1.c: Likewise.
45794         * lib/iconvme.c: Likewise.
45795         * lib/md2.c: Likewise.
45796         * lib/md4.c: Likewise.
45797         * lib/memxor.c: Likewise.
45798         * lib/read-file.c: Likewise.
45799         * lib/readline.c: Likewise.
45800         * lib/rijndael-alg-fst.c: Likewise.
45801         * lib/rijndael-api-fst.c: Likewise.
45802         * lib/xgetdomainname.c: Likewise.
45803
45804 2006-10-28  Eric Blake  <ebb9@byu.net>
45805
45806         * lib/xstrndup.c: Assume config.h.
45807
45808 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
45809
45810         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
45811         stat-macros.h is now for our own macros, whereas stat_h is for
45812         macros in the <sys/stat.h> name space.
45813         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
45814         (STAT_MACROS_H): Remove.
45815         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
45816         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
45817         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
45818         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
45819         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
45820         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
45821         Move these macros to ...
45822         * lib/stat_.h: here.  Don't include stat-macros.h.
45823         * lib/canonicalize.c: Don't include stat-macros.h.
45824         * lib/chown.c: Likewise.
45825         * lib/euidaccess.c: Likewise.
45826         * lib/file-type.c: Likewise.
45827         * lib/filemode.c: Likewise.
45828         * lib/glob.c: Likewise.
45829         * lib/isapipe.c: Likewise.
45830         * lib/lchown.c: Likewise.
45831         * lib/lstat.c: Likewise.
45832         * lib/mkdir-p.c: Likewise.
45833         * lib/rmdir.c: Likewise.
45834         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
45835         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
45836         unless mkdir isn't declared, to speed up 'configure'.
45837         Always create sys/stat.h, since it's unlikely any real sys/stat.h
45838         would define all the S_* symbols.
45839         * modules/canonicalize (Depends-on):
45840         Depend on sys_stat, not stat-macros.
45841         * modules/chown: Likewise.
45842         * modules/euidaccess: Likewise.
45843         * modules/filemode: Likewise.
45844         * modules/file-type: Likewise.
45845         * modules/glob: Likewise.
45846         * modules/isapipe: Likewise.
45847         * modules/lchown: Likewise.
45848         * modules/lstat: Likewise.
45849         * modules/mkancesdirs: Likewise.
45850         * modules/rmdir: Likewise.
45851         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
45852         * modules/modechange: Likewise.
45853         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
45854         (configure.ac): Remove gl_STAT_MACROS.
45855         * modules/sys_stat (Depends-on): Remove stat-macros.
45856
45857 2006-10-27  Bruno Haible  <bruno@clisp.org>
45858
45859         * m4/signed.m4: Remove file.
45860         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
45861         invocation.
45862         * modules/vasnprintf (Files): Remove m4/signed.m4.
45863
45864 2006-10-27  Bruno Haible  <bruno@clisp.org>
45865
45866         Update to GNU gettext 0.16.
45867         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
45868         m4/inttypes-h.m4, m4/signed.m4.
45869         * m4/gettext.m4: Update to GNU gettext 0.16.
45870         * m4/intl.m4: New file, from GNU gettext.
45871         * m4/intldir.m4: New file, from GNU gettext.
45872         * config/srclist.txt: Update
45873
45874 2006-10-27  Eric Blake  <ebb9@byu.net>
45875
45876         * MODULES.html.sh: Document tempname.
45877         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
45878         dependencies.
45879         (Files): Move lib/tempname.c...
45880         * modules/tempname: ...to this new module.
45881         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
45882         (gl_PREREQ_TEMPNAME): Move...
45883         * m4/tempname.m4: ...to this new file.
45884         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
45885         * modules/sys_stat (Depends-on): Add stat-macros.
45886         * lib/stat_.h (includes): Pick up stat macros.
45887         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
45888         if stat macros are broken.
45889         * lib/tempname.c (includes): No need to include "stat-macros.h".
45890         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
45891         (direxists, __path_search) [!_LIBC]: Don't compile these in
45892         gnulib; the tmpdir module covers that.
45893         * lib/tempname.h: New file.
45894
45895 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
45896
45897         * COPYING: Explain how gnulib-tool converts licence headers.
45898         Almost all wording by Eric Blake.
45899
45900 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
45901
45902         * lib/mbchar.h (is_basic_table): Make read-only.
45903         * lib/mbchar.c (is_basic_table): Likewise.
45904         Reported by John Darrington.
45905
45906 2006-10-25  Bruno Haible  <bruno@clisp.org>
45907
45908         * lib/progname.h (set_program_name): Undefine before defining.
45909
45910 2006-10-25  Bruno Haible  <bruno@clisp.org>
45911
45912         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
45913         false for non-gcc C++ compilers.
45914         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
45915
45916 2006-10-24  Bruno Haible  <bruno@clisp.org>
45917
45918         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
45919         iconv implementations like Irix iconv.
45920
45921 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
45922
45923         * modules/vararrays: New file.
45924         * m4/vararrays.m4: New file, taken from diffutils.
45925         * MODULES.html.sh: New module vararrays.
45926
45927 2006-10-24  Karl Berry  <karl@gnu.org>
45928
45929         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
45930         Don't call GNU Unix.
45931
45932 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45933
45934         * users.txt: Add Libtool.
45935
45936         Sync from Libtool:
45937
45938         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
45939
45940         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
45941         to gnulib's policy of including config.h unconditionally.
45942
45943 2006-10-24  Bruno Haible  <bruno@clisp.org>
45944
45945         * modules/wcwidth (Files): Add m4/wint_t.m4.
45946         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
45947         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
45948
45949 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
45950
45951         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
45952         to pacify GCC with some -W flags enabled.  Problem reported by
45953         Bruno Haible.
45954
45955 2006-10-24  Jim Meyering  <jim@meyering.net>
45956
45957         * MODULES.html.sh: Remove uinttostr.  It's not a module.
45958         Reported by Karl Berry.
45959
45960 2006-10-23  Bruno Haible  <bruno@clisp.org>
45961
45962         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
45963
45964 2006-10-24  Bruno Haible  <bruno@clisp.org>
45965
45966         * lib/gl_list.h: Use C comment style, not C++ comment style.
45967
45968 2006-10-23  Eric Blake  <ebb9@byu.net>
45969
45970         * lib/getaddrinfo.c (includes): Add missing include.
45971
45972 2006-10-23  Bruno Haible  <bruno@clisp.org>
45973             Paul Eggert  <eggert@cs.ucla.edu>
45974
45975         Ability to rename obstack_free.
45976         * lib/obstack.h (__obstack_free): New macro. Declare instead of
45977         obstack_free.
45978         (obstack_free): Invoke the __obstack_free macro.
45979         * lib/obstack.c (obstack_free): Use __obstack_free macro.
45980
45981 2006-10-23  Bruno Haible  <bruno@clisp.org>
45982             Paul Eggert  <eggert@cs.ucla.edu>
45983
45984         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
45985         __argc, __argv from the declaration. (They are defined as macros on
45986         mingw.)
45987
45988 2006-10-22  Bruno Haible  <bruno@clisp.org>
45989
45990         * doc/gnulib-intro.texi: New file.
45991         * doc/gnulib.texi: Include it.
45992
45993 2006-10-21  Bruno Haible  <bruno@clisp.org>
45994
45995         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
45996         "Introduction", "Miscellanous Notes", "Particular Modules".
45997
45998 2006-10-21  Bruno Haible  <bruno@clisp.org>
45999
46000         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
46001         Change mostlyclean-local rule to avoid sh syntax error from bash
46002         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
46003
46004 2006-10-23  Jim Meyering  <jim@meyering.net>
46005
46006         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
46007         in place of snprintf.
46008
46009         * modules/inttostr (Files): Add lib/uinttostr.c.
46010         * lib/uinttostr.c (inttostr): New file/function.
46011         * lib/inttostr.h (uinttostr): Declare.
46012         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
46013         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
46014         Add uinttostr.
46015         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
46016
46017 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
46018
46019         * lib/canonicalize.c (ELOOP): Define if not already defined.
46020         Problem reported by Bruno Haible in
46021         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
46022
46023 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
46024
46025         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
46026         Problem reported by Perry Smith and Ville Laurikari.
46027
46028         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
46029         uses.
46030
46031 2006-10-19  Bruno Haible  <bruno@clisp.org>
46032
46033         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
46034         for mingw.
46035
46036 2006-10-19  Bruno Haible  <bruno@clisp.org>
46037
46038         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
46039         Needed for mingw.
46040
46041 2006-10-19  Bruno Haible  <bruno@clisp.org>
46042
46043         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
46044
46045 2006-10-19  Bruno Haible  <bruno@clisp.org>
46046
46047         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
46048         it.
46049
46050 2006-10-19  Bruno Haible  <bruno@clisp.org>
46051
46052         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
46053         invocation.
46054
46055 2006-10-19  Bruno Haible  <bruno@clisp.org>
46056
46057         * gnulib-tool (func_create_testdir): Don't include ftruncate and
46058         mountlist by default.
46059
46060 2006-10-16  Bruno Haible  <bruno@clisp.org>
46061
46062         * lib/c-strstr.c: Include c-strstr.h.
46063
46064 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
46065
46066         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
46067         in a slash.
46068
46069 2006-10-18  Bruno Haible  <bruno@clisp.org>
46070
46071         * lib/lock.h [C++]: Wrap definitions in extern "C".
46072
46073 2006-10-18  Bruno Haible  <bruno@clisp.org>
46074
46075         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
46076         gl_LIBOBJS list.
46077
46078 2006-10-18  Bruno Haible  <bruno@clisp.org>
46079
46080         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
46081
46082 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
46083
46084         * lib/xstrtol.h: Include gettext.h.
46085         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
46086         Problem reported by Eric Blake.
46087         * modules/xstrtol (Depends-on): Add gettext-h.
46088
46089 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
46090
46091         * lib/strftime.c (advance): New macro.
46092         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
46093         incomplete type, so you can't add 0 to it.  Problem and patch
46094         reported by Eelco Dolstra for dietlibc.
46095
46096 2006-10-18  Jim Meyering  <jim@meyering.net>
46097
46098         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
46099         type for a local, and rename it: s/up/user_proc/.
46100
46101 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
46102
46103         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
46104         READ_UTMP_USER_PROCESS.
46105         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
46106
46107 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
46108
46109         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
46110         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
46111
46112 2006-10-17  Eric Blake  <ebb9@byu.net>
46113
46114         * lib/sigprocmask.c (sigprocmask): Fix typo.
46115
46116         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
46117
46118         * modules/clean-temp (Makefile.am): Don't add to make output...
46119         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
46120         config.h.
46121
46122 2006-10-17  Bruno Haible  <bruno@clisp.org>
46123
46124         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
46125         differently if DEFAULT_TEXT_DOMAIN is set.
46126
46127 2006-10-16  Bruno Haible  <bruno@clisp.org>
46128
46129         * lib/clean-temp.c: Include fwriteerror.h.
46130
46131 2006-10-16  Bruno Haible  <bruno@clisp.org>
46132
46133         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
46134
46135 2006-10-16  Bruno Haible  <bruno@clisp.org>
46136
46137         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
46138         * lib/sigprocmask.h: Include <sys/types.h>.
46139         (sigset_t): Use the system's definition if present.
46140
46141 2006-10-17  Eric Blake  <ebb9@byu.net>
46142
46143         * lib/xvasprintf.c (includes): Assume config.h.
46144         * lib/xasprintf.c (includes): Likewise.
46145
46146 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
46147
46148         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
46149         at least as wide as intmax_t.
46150
46151 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
46152
46153         (Imported from Automake.)
46154         * build-aux/gnupload: Update to version 1.1 of directive file.
46155
46156 2006-10-16  Eric Blake  <ebb9@byu.net>
46157
46158         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
46159         match Automake 1.10a.
46160
46161 2006-10-14  Bruno Haible  <bruno@clisp.org>
46162
46163         * modules/sigprocmask: New file.
46164         * lib/sigprocmask.h: New file.
46165         * lib/sigprocmask.c: New file.
46166         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
46167         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
46168         request sigprocmask.o.
46169         (gl_PREREQ_SIGPROCMASK): New macro.
46170         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
46171         (Depends-on): Add sigprocmask.
46172         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
46173         gt_SIGNALBLOCKING. Test for 'raise' only once.
46174         * lib/fatal-signal.c: Include sigprocmask.h.
46175         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
46176         unblock_fatal_signals): Define always.
46177         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
46178         sigprocmask.
46179
46180 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
46181
46182         Sync from Automake.
46183         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
46184         which incorrectly sets the mode of an existing destination
46185         directory.  In some cases the unpatched install-sh could do the
46186         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
46187         system.  We hope this is rare in practice, but it's clearly worth
46188         fixing.  Problem reported by Alex Unleashed in
46189         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
46190         Also, don't bother to check for -m bugs unless we're using -m;
46191         suggested by Stepan Kasal.
46192
46193 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46194
46195         Sync from Automake.
46196         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
46197         `-c' flag, so they appear at the same position as in %FASTDEP%
46198         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
46199         which ignores unknown options only after the first non-option.
46200         Bug report against M4 by Nelson H. F. Beebe.
46201
46202 2006-10-13  Jim Meyering  <jim@meyering.net>
46203
46204         Fix a bug in yesterday's change.
46205         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
46206         p->fts_statp->st_dev would be used uninitialized.
46207         Ensures that we always call fts_stat on the very first entry.
46208         Miklos Szeredi reported that find -xdev stopped working.
46209
46210 2006-10-12  Bruno Haible  <bruno@clisp.org>
46211
46212         * gnulib-tool (func_get_automake_snippet): Append an automatically
46213         computed EXTRA_DIST augmentation.
46214         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
46215         * modules/alloca-opt (Makefile.am): Likewise.
46216         * modules/allocsa (Makefile.am): Likewise.
46217         * modules/arcfour (Makefile.am): Likewise.
46218         * modules/arctwo (Makefile.am): Likewise.
46219         * modules/argmatch (Makefile.am): Likewise.
46220         * modules/argz (Makefile.am): Likewise.
46221         * modules/atexit (Makefile.am): Likewise.
46222         * modules/backupfile (Makefile.am): Likewise.
46223         * modules/byteswap (Makefile.am): Likewise.
46224         * modules/c-strtod (Makefile.am): Likewise.
46225         * modules/c-strtold (Makefile.am): Likewise.
46226         * modules/calloc (Makefile.am): Likewise.
46227         * modules/canon-host (Makefile.am): Likewise.
46228         * modules/canonicalize (Makefile.am): Likewise.
46229         * modules/chdir-long (Makefile.am): Likewise.
46230         * modules/chdir-safer (Makefile.am): Likewise.
46231         * modules/check-version (Makefile.am): Likewise.
46232         * modules/chown (Makefile.am): Likewise.
46233         * modules/cloexec (Makefile.am): Likewise.
46234         * modules/close-stream (Makefile.am): Likewise.
46235         * modules/closeout (Makefile.am): Likewise.
46236         * modules/crc (Makefile.am): Likewise.
46237         * modules/csharpexec (Makefile.am): Likewise.
46238         * modules/cycle-check (Makefile.am): Likewise.
46239         * modules/des (Makefile.am): Likewise.
46240         * modules/dev-ino (Makefile.am): Likewise.
46241         * modules/dirfd (Makefile.am): Likewise.
46242         * modules/dirname (Makefile.am): Likewise.
46243         * modules/dup2 (Makefile.am): Likewise.
46244         * modules/eealloc (Makefile.am): Likewise.
46245         * modules/error (Makefile.am): Likewise.
46246         * modules/euidaccess (Makefile.am): Likewise.
46247         * modules/exclude (Makefile.am): Likewise.
46248         * modules/exitfail (Makefile.am): Likewise.
46249         * modules/fcntl-safer (Makefile.am): Likewise.
46250         * modules/fcntl (Makefile.am): Likewise.
46251         * modules/file-type (Makefile.am): Likewise.
46252         * modules/fileblocks (Makefile.am): Likewise.
46253         * modules/filemode (Makefile.am): Likewise.
46254         * modules/filenamecat (Makefile.am): Likewise.
46255         * modules/fnmatch (Makefile.am): Likewise.
46256         * modules/fopen-safer (Makefile.am): Likewise.
46257         * modules/fpending (Makefile.am): Likewise.
46258         * modules/fprintftime (Makefile.am): Likewise.
46259         * modules/free (Makefile.am): Likewise.
46260         * modules/fsusage (Makefile.am): Likewise.
46261         * modules/ftruncate (Makefile.am): Likewise.
46262         * modules/fts (Makefile.am): Likewise.
46263         * modules/gc-arcfour (Makefile.am): Likewise.
46264         * modules/gc-des (Makefile.am): Likewise.
46265         * modules/gc-hmac-md5 (Makefile.am): Likewise.
46266         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
46267         * modules/gc-md4 (Makefile.am): Likewise.
46268         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
46269         * modules/gc-sha1 (Makefile.am): Likewise.
46270         * modules/gc (Makefile.am): Likewise.
46271         * modules/getaddrinfo (Makefile.am): Likewise.
46272         * modules/getcwd (Makefile.am): Likewise.
46273         * modules/getdelim (Makefile.am): Likewise.
46274         * modules/getdomainname (Makefile.am): Likewise.
46275         * modules/getgroups (Makefile.am): Likewise.
46276         * modules/gethostname (Makefile.am): Likewise.
46277         * modules/gethrxtime (Makefile.am): Likewise.
46278         * modules/getline (Makefile.am): Likewise.
46279         * modules/getloadavg (Makefile.am): Likewise.
46280         * modules/getlogin_r (Makefile.am): Likewise.
46281         * modules/getndelim2 (Makefile.am): Likewise.
46282         * modules/getopt (Makefile.am): Likewise.
46283         * modules/getpagesize (Makefile.am): Likewise.
46284         * modules/getpass-gnu (Makefile.am): Likewise.
46285         * modules/getpass (Makefile.am): Likewise.
46286         * modules/getsubopt (Makefile.am): Likewise.
46287         * modules/gettime (Makefile.am): Likewise.
46288         * modules/gettimeofday (Makefile.am): Likewise.
46289         * modules/getugroups (Makefile.am): Likewise.
46290         * modules/getusershell (Makefile.am): Likewise.
46291         * modules/glob (Makefile.am): Likewise.
46292         * modules/group-member (Makefile.am): Likewise.
46293         * modules/hard-locale (Makefile.am): Likewise.
46294         * modules/hash (Makefile.am): Likewise.
46295         * modules/hmac-md5 (Makefile.am): Likewise.
46296         * modules/hmac-sha1 (Makefile.am): Likewise.
46297         * modules/human (Makefile.am): Likewise.
46298         * modules/idcache (Makefile.am): Likewise.
46299         * modules/imaxabs (Makefile.am): Likewise.
46300         * modules/imaxdiv (Makefile.am): Likewise.
46301         * modules/inet_ntop (Makefile.am): Likewise.
46302         * modules/inet_pton (Makefile.am): Likewise.
46303         * modules/intprops (Makefile.am): Likewise.
46304         * modules/inttostr (Makefile.am): Likewise.
46305         * modules/inttypes (Makefile.am): Likewise.
46306         * modules/isapipe (Makefile.am): Likewise.
46307         * modules/javaversion (Makefile.am): Likewise.
46308         * modules/lchmod (Makefile.am): Likewise.
46309         * modules/lchown (Makefile.am): Likewise.
46310         * modules/localcharset (Makefile.am): Likewise.
46311         * modules/long-options (Makefile.am): Likewise.
46312         * modules/lstat (Makefile.am): Likewise.
46313         * modules/malloc (Makefile.am): Likewise.
46314         * modules/mathl (Makefile.am): Likewise.
46315         * modules/mbchar (Makefile.am): Likewise.
46316         * modules/md2 (Makefile.am): Likewise.
46317         * modules/md4 (Makefile.am): Likewise.
46318         * modules/md5 (Makefile.am): Likewise.
46319         * modules/memcasecmp (Makefile.am): Likewise.
46320         * modules/memchr (Makefile.am): Likewise.
46321         * modules/memcmp (Makefile.am): Likewise.
46322         * modules/memcoll (Makefile.am): Likewise.
46323         * modules/memcpy (Makefile.am): Likewise.
46324         * modules/memmem (Makefile.am): Likewise.
46325         * modules/memmove (Makefile.am): Likewise.
46326         * modules/mempcpy (Makefile.am): Likewise.
46327         * modules/memrchr (Makefile.am): Likewise.
46328         * modules/memset (Makefile.am): Likewise.
46329         * modules/memxor (Makefile.am): Likewise.
46330         * modules/mkancesdirs (Makefile.am): Likewise.
46331         * modules/mkdir-p (Makefile.am): Likewise.
46332         * modules/mkdir (Makefile.am): Likewise.
46333         * modules/mkdtemp (Makefile.am): Likewise.
46334         * modules/mkstemp (Makefile.am): Likewise.
46335         * modules/mktime (Makefile.am): Likewise.
46336         * modules/modechange (Makefile.am): Likewise.
46337         * modules/mountlist (Makefile.am): Likewise.
46338         * modules/nanosleep (Makefile.am): Likewise.
46339         * modules/obstack (Makefile.am): Likewise.
46340         * modules/openat (Makefile.am): Likewise.
46341         * modules/pagealign_alloc (Makefile.am): Likewise.
46342         * modules/pathmax (Makefile.am): Likewise.
46343         * modules/physmem (Makefile.am): Likewise.
46344         * modules/poll (Makefile.am): Likewise.
46345         * modules/posixtm (Makefile.am): Likewise.
46346         * modules/posixver (Makefile.am): Likewise.
46347         * modules/putenv (Makefile.am): Likewise.
46348         * modules/quote (Makefile.am): Likewise.
46349         * modules/quotearg (Makefile.am): Likewise.
46350         * modules/raise (Makefile.am): Likewise.
46351         * modules/read-file (Makefile.am): Likewise.
46352         * modules/readline (Makefile.am): Likewise.
46353         * modules/readlink (Makefile.am): Likewise.
46354         * modules/readtokens (Makefile.am): Likewise.
46355         * modules/readutmp (Makefile.am): Likewise.
46356         * modules/realloc (Makefile.am): Likewise.
46357         * modules/regex (Makefile.am): Likewise.
46358         * modules/rename-dest-slash (Makefile.am): Likewise.
46359         * modules/rename (Makefile.am): Likewise.
46360         * modules/rijndael (Makefile.am): Likewise.
46361         * modules/rmdir (Makefile.am): Likewise.
46362         * modules/rpmatch (Makefile.am): Likewise.
46363         * modules/safe-read (Makefile.am): Likewise.
46364         * modules/safe-write (Makefile.am): Likewise.
46365         * modules/same-inode (Makefile.am): Likewise.
46366         * modules/same (Makefile.am): Likewise.
46367         * modules/save-cwd (Makefile.am): Likewise.
46368         * modules/savedir (Makefile.am): Likewise.
46369         * modules/setenv (Makefile.am): Likewise.
46370         * modules/settime (Makefile.am): Likewise.
46371         * modules/sha1 (Makefile.am): Likewise.
46372         * modules/sig2str (Makefile.am): Likewise.
46373         * modules/snprintf (Makefile.am): Likewise.
46374         * modules/stat-macros (Makefile.am): Likewise.
46375         * modules/stat-time (Makefile.am): Likewise.
46376         * modules/stdbool (Makefile.am): Likewise.
46377         * modules/stdint (Makefile.am): Likewise.
46378         * modules/stdlib-safer (Makefile.am): Likewise.
46379         * modules/stpcpy (Makefile.am): Likewise.
46380         * modules/stpncpy (Makefile.am): Likewise.
46381         * modules/strcase (Makefile.am): Likewise.
46382         * modules/strcasestr (Makefile.am): Likewise.
46383         * modules/strchrnul (Makefile.am): Likewise.
46384         * modules/strcspn (Makefile.am): Likewise.
46385         * modules/strdup (Makefile.am): Likewise.
46386         * modules/strerror (Makefile.am): Likewise.
46387         * modules/strftime (Makefile.am): Likewise.
46388         * modules/strndup (Makefile.am): Likewise.
46389         * modules/strnlen (Makefile.am): Likewise.
46390         * modules/strpbrk (Makefile.am): Likewise.
46391         * modules/strsep (Makefile.am): Likewise.
46392         * modules/strstr (Makefile.am): Likewise.
46393         * modules/strtod (Makefile.am): Likewise.
46394         * modules/strtoimax (Makefile.am): Likewise.
46395         * modules/strtok_r (Makefile.am): Likewise.
46396         * modules/strtol (Makefile.am): Likewise.
46397         * modules/strtoll (Makefile.am): Likewise.
46398         * modules/strtoul (Makefile.am): Likewise.
46399         * modules/strtoull (Makefile.am): Likewise.
46400         * modules/strtoumax (Makefile.am): Likewise.
46401         * modules/strverscmp (Makefile.am): Likewise.
46402         * modules/sys_socket (Makefile.am): Likewise.
46403         * modules/sys_stat (Makefile.am): Likewise.
46404         * modules/sysexits (Makefile.am): Likewise.
46405         * modules/time_r (Makefile.am): Likewise.
46406         * modules/timegm (Makefile.am): Likewise.
46407         * modules/timespec (Makefile.am): Likewise.
46408         * modules/tmpfile-safer (Makefile.am): Likewise.
46409         * modules/trim (Makefile.am): Likewise.
46410         * modules/unistd-safer (Makefile.am): Likewise.
46411         * modules/unlinkdir (Makefile.am): Likewise.
46412         * modules/unlocked-io (Makefile.am): Likewise.
46413         * modules/userspec (Makefile.am): Likewise.
46414         * modules/utime (Makefile.am): Likewise.
46415         * modules/utimecmp (Makefile.am): Likewise.
46416         * modules/utimens (Makefile.am): Likewise.
46417         * modules/vasnprintf (Makefile.am): Likewise.
46418         * modules/vasprintf (Makefile.am): Likewise.
46419         * modules/vsnprintf (Makefile.am): Likewise.
46420         * modules/xalloc (Makefile.am): Likewise.
46421         * modules/xgetcwd (Makefile.am): Likewise.
46422         * modules/xnanosleep (Makefile.am): Likewise.
46423         * modules/xreadlink (Makefile.am): Likewise.
46424         * modules/xstrtod (Makefile.am): Likewise.
46425         * modules/xstrtol (Makefile.am): Likewise.
46426         * modules/xstrtold (Makefile.am): Likewise.
46427         * modules/yesno (Makefile.am): Likewise.
46428         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
46429
46430 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
46431
46432         * modules/error (Makefile.am): Distribute files through
46433         EXTRA_DIST, not lib_SOURCES.
46434
46435 2006-10-12  Eric Blake  <ebb9@byu.net>
46436
46437         * modules/error (Makefile.am): Distribute files in /lib.
46438         * modules/obstack (Makefile.am): Likewise.
46439
46440 2006-10-12  Bruno Haible  <bruno@clisp.org>
46441
46442         * modules/acl (Makefile.am): Distribute all files in lib/ through
46443         EXTRA_DIST.
46444         * modules/arcfour (Makefile.am): Likewise.
46445         * modules/arctwo (Makefile.am): Likewise.
46446         * modules/argmatch (Makefile.am): Likewise.
46447         * modules/argz (Makefile.am): Likewise.
46448         * modules/atexit (Makefile.am): Likewise.
46449         * modules/backupfile (Makefile.am): Likewise.
46450         * modules/c-strtod (Makefile.am): Likewise.
46451         * modules/c-strtold (Makefile.am): Likewise.
46452         * modules/calloc (Makefile.am): Likewise.
46453         * modules/canon-host (Makefile.am): Likewise.
46454         * modules/canonicalize (Makefile.am): Likewise.
46455         * modules/chdir-long (Makefile.am): Likewise.
46456         * modules/chdir-safer (Makefile.am): Likewise.
46457         * modules/check-version (Makefile.am): Likewise.
46458         * modules/chown (Makefile.am): Likewise.
46459         * modules/cloexec (Makefile.am): Likewise.
46460         * modules/close-stream (Makefile.am): Likewise.
46461         * modules/closeout (Makefile.am): Likewise.
46462         * modules/crc (Makefile.am): Likewise.
46463         * modules/cycle-check (Makefile.am): Likewise.
46464         * modules/des (Makefile.am): Likewise.
46465         * modules/dirfd (Makefile.am): Likewise.
46466         * modules/dirname (Makefile.am): Likewise.
46467         * modules/dup2 (Makefile.am): Likewise.
46468         * modules/euidaccess (Makefile.am): Likewise.
46469         * modules/exclude (Makefile.am): Likewise.
46470         * modules/exitfail (Makefile.am): Likewise.
46471         * modules/fcntl-safer (Makefile.am): Likewise.
46472         * modules/file-type (Makefile.am): Likewise.
46473         * modules/fileblocks (Makefile.am): Likewise.
46474         * modules/filemode (Makefile.am): Likewise.
46475         * modules/filenamecat (Makefile.am): Likewise.
46476         * modules/fnmatch (Makefile.am): Likewise.
46477         * modules/fopen-safer (Makefile.am): Likewise.
46478         * modules/fpending (Makefile.am): Likewise.
46479         * modules/fprintftime (Makefile.am): Likewise.
46480         * modules/free (Makefile.am): Likewise.
46481         * modules/fsusage (Makefile.am): Likewise.
46482         * modules/ftruncate (Makefile.am): Likewise.
46483         * modules/fts (Makefile.am): Likewise.
46484         * modules/gc (Makefile.am): Likewise.
46485         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
46486         * modules/getaddrinfo (Makefile.am): Likewise.
46487         * modules/getcwd (Makefile.am): Likewise.
46488         * modules/getdelim (Makefile.am): Likewise.
46489         * modules/getdomainname (Makefile.am): Likewise.
46490         * modules/getgroups (Makefile.am): Likewise.
46491         * modules/gethostname (Makefile.am): Likewise.
46492         * modules/gethrxtime (Makefile.am): Likewise.
46493         * modules/getline (Makefile.am): Likewise.
46494         * modules/getloadavg (Makefile.am): Likewise.
46495         * modules/getlogin_r (Makefile.am): Likewise.
46496         * modules/getopt (Makefile.am): Likewise.
46497         * modules/getpass (Makefile.am): Likewise.
46498         * modules/getpass-gnu (Makefile.am): Likewise.
46499         * modules/getsubopt (Makefile.am): Likewise.
46500         * modules/gettime (Makefile.am): Likewise.
46501         * modules/gettimeofday (Makefile.am): Likewise.
46502         * modules/getugroups (Makefile.am): Likewise.
46503         * modules/getusershell (Makefile.am): Likewise.
46504         * modules/glob (Makefile.am): Likewise.
46505         * modules/group-member (Makefile.am): Likewise.
46506         * modules/hard-locale (Makefile.am): Likewise.
46507         * modules/hash (Makefile.am): Likewise.
46508         * modules/hmac-md5 (Makefile.am): Likewise.
46509         * modules/hmac-sha1 (Makefile.am): Likewise.
46510         * modules/human (Makefile.am): Likewise.
46511         * modules/idcache (Makefile.am): Likewise.
46512         * modules/imaxabs (Makefile.am): Likewise.
46513         * modules/imaxdiv (Makefile.am): Likewise.
46514         * modules/inet_ntop (Makefile.am): Likewise.
46515         * modules/inet_pton (Makefile.am): Likewise.
46516         * modules/inttostr (Makefile.am): Likewise.
46517         * modules/isapipe (Makefile.am): Likewise.
46518         * modules/lchown (Makefile.am): Likewise.
46519         * modules/long-options (Makefile.am): Likewise.
46520         * modules/lstat (Makefile.am): Likewise.
46521         * modules/malloc (Makefile.am): Likewise.
46522         * modules/mathl (Makefile.am): Likewise.
46523         * modules/mbchar (Makefile.am): Likewise.
46524         * modules/md2 (Makefile.am): Likewise.
46525         * modules/md4 (Makefile.am): Likewise.
46526         * modules/md5 (Makefile.am): Likewise.
46527         * modules/memcasecmp (Makefile.am): Likewise.
46528         * modules/memchr (Makefile.am): Likewise.
46529         * modules/memcmp (Makefile.am): Likewise.
46530         * modules/memcoll (Makefile.am): Likewise.
46531         * modules/memcpy (Makefile.am): Likewise.
46532         * modules/memmem (Makefile.am): Likewise.
46533         * modules/memmove (Makefile.am): Likewise.
46534         * modules/mempcpy (Makefile.am): Likewise.
46535         * modules/memrchr (Makefile.am): Likewise.
46536         * modules/memset (Makefile.am): Likewise.
46537         * modules/memxor (Makefile.am): Likewise.
46538         * modules/mkancesdirs (Makefile.am): Likewise.
46539         * modules/mkdir (Makefile.am): Likewise.
46540         * modules/mkdir-p (Makefile.am): Likewise.
46541         * modules/mkdtemp (Makefile.am): Likewise.
46542         * modules/mkstemp (Makefile.am): Likewise.
46543         * modules/mktime (Makefile.am): Likewise.
46544         * modules/modechange (Makefile.am): Likewise.
46545         * modules/mountlist (Makefile.am): Likewise.
46546         * modules/nanosleep (Makefile.am): Likewise.
46547         * modules/openat (Makefile.am): Likewise.
46548         * modules/pagealign_alloc (Makefile.am): Likewise.
46549         * modules/physmem (Makefile.am): Likewise.
46550         * modules/poll (Makefile.am): Likewise.
46551         * modules/posixtm (Makefile.am): Likewise.
46552         * modules/posixver (Makefile.am): Likewise.
46553         * modules/putenv (Makefile.am): Likewise.
46554         * modules/quote (Makefile.am): Likewise.
46555         * modules/quotearg (Makefile.am): Likewise.
46556         * modules/raise (Makefile.am): Likewise.
46557         * modules/read-file (Makefile.am): Likewise.
46558         * modules/readline (Makefile.am): Likewise.
46559         * modules/readlink (Makefile.am): Likewise.
46560         * modules/readtokens (Makefile.am): Likewise.
46561         * modules/readutmp (Makefile.am): Likewise.
46562         * modules/realloc (Makefile.am): Likewise.
46563         * modules/regex (Makefile.am): Likewise.
46564         * modules/rename (Makefile.am): Likewise.
46565         * modules/rename-dest-slash (Makefile.am): Likewise.
46566         * modules/rijndael (Makefile.am): Likewise.
46567         * modules/rmdir (Makefile.am): Likewise.
46568         * modules/rpmatch (Makefile.am): Likewise.
46569         * modules/safe-read (Makefile.am): Likewise.
46570         * modules/safe-write (Makefile.am): Likewise.
46571         * modules/same (Makefile.am): Likewise.
46572         * modules/save-cwd (Makefile.am): Likewise.
46573         * modules/savedir (Makefile.am): Likewise.
46574         * modules/setenv (Makefile.am): Likewise.
46575         * modules/settime (Makefile.am): Likewise.
46576         * modules/sha1 (Makefile.am): Likewise.
46577         * modules/sig2str (Makefile.am): Likewise.
46578         * modules/snprintf (Makefile.am): Likewise.
46579         * modules/stdlib-safer (Makefile.am): Likewise.
46580         * modules/stpcpy (Makefile.am): Likewise.
46581         * modules/stpncpy (Makefile.am): Likewise.
46582         * modules/strcase (Makefile.am): Likewise.
46583         * modules/strcasestr (Makefile.am): Likewise.
46584         * modules/strchrnul (Makefile.am): Likewise.
46585         * modules/strcspn (Makefile.am): Likewise.
46586         * modules/strdup (Makefile.am): Likewise.
46587         * modules/strerror (Makefile.am): Likewise.
46588         * modules/strftime (Makefile.am): Likewise.
46589         * modules/strndup (Makefile.am): Likewise.
46590         * modules/strnlen (Makefile.am): Likewise.
46591         * modules/strpbrk (Makefile.am): Likewise.
46592         * modules/strsep (Makefile.am): Likewise.
46593         * modules/strstr (Makefile.am): Likewise.
46594         * modules/strtod (Makefile.am): Likewise.
46595         * modules/strtoimax (Makefile.am): Likewise.
46596         * modules/strtok_r (Makefile.am): Likewise.
46597         * modules/strtol (Makefile.am): Likewise.
46598         * modules/strtoll (Makefile.am): Likewise.
46599         * modules/strtoul (Makefile.am): Likewise.
46600         * modules/strtoull (Makefile.am): Likewise.
46601         * modules/strtoumax (Makefile.am): Likewise.
46602         * modules/strverscmp (Makefile.am): Likewise.
46603         * modules/time_r (Makefile.am): Likewise.
46604         * modules/timegm (Makefile.am): Likewise.
46605         * modules/tmpfile-safer (Makefile.am): Likewise.
46606         * modules/unistd-safer (Makefile.am): Likewise.
46607         * modules/unlinkdir (Makefile.am): Likewise.
46608         * modules/userspec (Makefile.am): Likewise.
46609         * modules/utime (Makefile.am): Likewise.
46610         * modules/utimecmp (Makefile.am): Likewise.
46611         * modules/utimens (Makefile.am): Likewise.
46612         * modules/vasnprintf (Makefile.am): Likewise.
46613         * modules/vasprintf (Makefile.am): Likewise.
46614         * modules/vsnprintf (Makefile.am): Likewise.
46615         * modules/xalloc (Makefile.am): Likewise.
46616         * modules/xgetcwd (Makefile.am): Likewise.
46617         * modules/xnanosleep (Makefile.am): Likewise.
46618         * modules/xreadlink (Makefile.am): Likewise.
46619         * modules/xstrtod (Makefile.am): Likewise.
46620         * modules/xstrtol (Makefile.am): Likewise.
46621         * modules/xstrtold (Makefile.am): Likewise.
46622         * modules/yesno (Makefile.am): Likewise.
46623
46624 2006-10-12  Jim Meyering  <jim@meyering.net>
46625
46626         * m4/getloadavg.m4: Revert the change below.
46627
46628         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
46629         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
46630         fail with a symlink, which is what coreutils' ./bootstrap now
46631         creates by default.
46632
46633 2006-10-12  Bruno Haible  <bruno@clisp.org>
46634
46635         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
46636         mingw.
46637         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
46638         MSVC and mingw explicitly.
46639
46640 2006-10-11  Simon Josefsson  <jas@extundo.com>
46641             Bruno Haible  <bruno@clisp.org>
46642
46643         Add support for multiple gnulib-tool invocations in the scope of a
46644         single configure.ac file.
46645         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
46646         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
46647         with the same contents as the _LIBADD variable.
46648         (func_emit_initmacro_start, func_emit_initmacro_end,
46649         func_emit_initmacro_done): New functions.
46650         (func_import, func_create_testdir): Invoke them. Allow the identifiers
46651         gl_LIBOBJS and gl_LTLIBOBJS.
46652
46653 2006-10-11  Bruno Haible  <bruno@clisp.org>
46654
46655         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
46656         (func_create_testdir): Don't create po/Makefile.am, don't invoke
46657         autoreconf. Instead, invoke autopoint explicitly but move back the
46658         *.m4 files from gnulib.
46659
46660 2006-10-11  Bruno Haible  <bruno@clisp.org>
46661
46662         * gnulib-tool (func_usage): Make module names after --create-testdir
46663         optional.
46664         (func_create_testdir): If no module was specified, use nearly all
46665         modules.
46666
46667 2006-10-12  Jim Meyering  <jim@meyering.net>
46668
46669         Big performance improvement for fts-based tools that use FTS_NOSTAT.
46670         Avoid spurious inode-mismatch problems on non-POSIX file systems.
46671         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
46672         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
46673         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
46674         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
46675         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
46676         (fts_set_stat_required): New function.
46677         (fts_open): Defer the calls to fts_stat, if possible or requested.
46678         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
46679         into fts_stat itself.
46680         (fts_read): Perform any required (deferred) fts_stat call.
46681         (fts_build): Likewise, for the directory we're about to open and read.
46682         In the readdir loop, carefully decide whether each entry will require
46683         an eventual call to fts_stat, using dirent.d_type info if available.
46684         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
46685         a command line argument into this function.  Update all callers.
46686         Map a return value of FTS_DOT to FTS_D for a command line argument.
46687         * modules/fts (Depends-on): Add d-type.  Alphabetize.
46688         Thanks to Miklos Szeredi for his tenacity and for the initial
46689         bug report about "find" failing on a FUSE-based file system.
46690
46691         * lib/fts.c (fts_open): Use consistent indentation.
46692
46693 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
46694
46695         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
46696         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
46697         reported by Jim Meyering.  All uses of cache variables renamed
46698         to match Autoconf's.
46699         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
46700         the other one.
46701
46702         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
46703         Fix misspelling in diagnostic.
46704
46705 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
46706
46707         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
46708         defined.  Problem reported by Matthew Woehlke.
46709
46710         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
46711         Add support for Tandem NonStop R series.
46712         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
46713         Use new macro.
46714
46715         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
46716         (has_trailing_slash): Omit size arg; all callers changed.
46717         Omit 'inline', since it doesn't help performance and we'd
46718         need to configure it.
46719         Don't count //, ///, etc. as having a trailing slash.
46720         As a side effect, this removes a C99ism reported by Matthew Woehlke.
46721         (rpl_rename_dest_slash): On failure, use rename's errno rather
46722         than (in some cases) an incorrect or junk errno.
46723         Simplify code by removing need to compute length; this does
46724         cause it to make two passes instead of one over the file name,
46725         but it's worth it.
46726
46727         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
46728         change, since Autoconf's version may no longer be appropriate now
46729         that we are using CVS Autoconf's version.  Add support for Tandem.
46730
46731 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
46732             Bruno Haible  <bruno@clisp.org>
46733
46734         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
46735         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
46736         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
46737         gl_AC_TYPE_LONG_LONG.
46738
46739         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
46740         instead of HAVE_LONG_LONG.
46741         * lib/printf-args.c (printf_fetchargs): Likewise.
46742         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
46743         * lib/vasnprintf.c (VASNPRINTF): Likewise.
46744         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
46745         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
46746         gl_AC_TYPE_LONG_LONG.
46747
46748 2006-10-11  Bruno Haible  <bruno@clisp.org>
46749
46750         * m4/longlong.m4: Add comments.
46751         * m4/ulonglong.m4: Likewise.
46752
46753 2006-10-10  Bruno Haible  <bruno@clisp.org>
46754
46755         Make it possible to #define stpcpy, strdup to aliases.
46756         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
46757         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
46758
46759 2006-10-10  Bruno Haible  <bruno@clisp.org>
46760
46761         Make it possible to #define gcd to an alias.
46762         * lib/gcd.c: Include config.h.
46763
46764 2006-10-10  Bruno Haible  <bruno@clisp.org>
46765
46766         Make it possible to #define c_isascii to an alias.
46767         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
46768         defined. Undefine the macros before defining them, to avoid gcc
46769         warnings.
46770         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
46771         define NO_C_CTYPE_MACROS early.
46772
46773 2006-10-10  Bruno Haible  <bruno@clisp.org>
46774
46775         Make it possible to #define set_program_name to an alias.
46776         * lib/progname.c: Don't undefine set_program_name; instead, undefine
46777         ENABLE_RELOCATABLE early.
46778
46779 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
46780
46781         Port to Tandem NSK OSS, which has 64-bit signed int but at most
46782         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
46783         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
46784         More generally, don't assume that 64-bit signed int is available
46785         if unsigned int is, and vice versa.
46786         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
46787         unsigned symbols, not on their signed counterparts.
46788         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
46789         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
46790         (UINT64_C, UINTMAX_C):
46791         Likewise.
46792         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
46793         unsigned counterparts.
46794         (Have_long_long, Unsigned): New macros.
46795         (Int): Renamed from INT.
46796         (strtoimax): Use the new macros.
46797         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
46798         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
46799         * modules/inttypes (inttypes.h): Substitute
46800         HAVE_UNSIGNED_LONG_LONG_INT.
46801         * modules/stdint (stdint.h): Likewise.
46802         (Files): Add m4/ulonglong.m4.
46803
46804 2006-10-10  Bruno Haible  <bruno@clisp.org>
46805
46806         Fix a gcc -Wshadow warning.
46807         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
46808         to 'bucket'.
46809         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
46810         gl_linked_indexof_from_to): Likewise.
46811         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
46812         Likewise.
46813         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
46814         Likewise.
46815         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
46816         Reported by Eric Blake.
46817
46818 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
46819
46820         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
46821         for NetBSD.  Problem reported by Bruno Haible.
46822
46823 2006-10-09  Jim Meyering  <jim@meyering.net>
46824
46825         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
46826         Patch from Bruno Haible.
46827
46828 2006-10-09  Jim Meyering  <jim@meyering.net>
46829
46830         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
46831         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
46832         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
46833
46834 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
46835
46836         Don't include <config.h> twice; this doesn't work in some cases,
46837         e.g., when config.h has "#define intmax_t long long int" and
46838         we include <config.h>, <inttypes.h>, <config.h> in that order.
46839         Problem reported by Matthew Woehlke in:
46840         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
46841         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
46842         * lib/fts-cycle.c: Don't include config.h.
46843         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
46844         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
46845         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
46846         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
46847         inttypes.h.
46848         * lib/xstrtoumax.c: Likewise.
46849         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
46850         __strtol and the like, so that this module is more like its siblings.
46851         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
46852         Remove; no longer needed now that we assume gnulib inttypes.h.
46853
46854 2006-10-08  Bruno Haible  <bruno@clisp.org>
46855
46856         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
46857         option.
46858
46859 2006-10-07  Jim Meyering  <jim@meyering.net>
46860
46861         * modules/inttypes (inttypes.h): Revert what seems to have been
46862         an inadvertent part of today's change: use "|", not "/" in the
46863         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
46864
46865 2006-10-07  Bruno Haible  <bruno@clisp.org>
46866
46867         * modules/sublist: New file.
46868
46869 2006-10-07  Bruno Haible  <bruno@clisp.org>
46870
46871         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
46872         * modules/argz (argz.h): Likewise.
46873         * modules/arpa_inet (arpa/inet.h): Likewise.
46874         * modules/byteswap (byteswap.h): Likewise.
46875         * modules/configmake (configmake.h): Likewise.
46876         * modules/fcntl (fcntl.h): Likewise.
46877         * modules/fnmatch (fnmatch.h): Likewise.
46878         * modules/getopt (getopt.h): Likewise.
46879         * modules/glob (glob.h): Likewise.
46880         * modules/inttypes (inttypes.h): Likewise.
46881         * modules/netinet_in (netinet/in.h): Likewise.
46882         * modules/poll (poll.h): Likewise.
46883         * modules/stdbool (stdbool.h): Likewise.
46884         * modules/stdint (stdint.h): Likewise.
46885         * modules/sys_select (sys/select.h): Likewise.
46886         * modules/sys_socket (sys/socket.h): Likewise.
46887         * modules/sys_stat (sys/stat.h): Likewise.
46888         * modules/sysexits (sysexits.h): Likewise.
46889         * modules/unistd (unistd.h): Likewise.
46890         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
46891         Add a "DO NOT EDIT" comment to the generated file.
46892         (func_import): Likewise for gnulib-comp.m4.
46893
46894 2006-10-07  Bruno Haible  <bruno@clisp.org>
46895
46896         * lib/gl_sublist.h: New file.
46897         * lib/gl_sublist.c: New file.
46898
46899 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
46900
46901         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
46902         name (relative to the original working directory) and the file
46903         name component (relative to the temporary working directory).  All
46904         callers changed.
46905         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
46906         * lib/mkdir-p.c (make_dir_parents): Likewise.
46907         * lib/mkdir-p.h (make_dir_parents): Likewise.
46908
46909 2006-10-06  Eric Blake  <ebb9@byu.net>
46910
46911         Define several macros for use by the clean-temp module.
46912         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
46913         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
46914         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
46915
46916         * lib/clean-temp.h (close_stream_temp): New declaration.
46917         * lib/clean-temp.c (includes): Pull in headers according to what
46918         other modules are in use.
46919         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
46920
46921 2006-10-06  Bruno Haible  <bruno@clisp.org>
46922
46923         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
46924         instead of fopen, fwriteerror.
46925
46926 2006-10-06  Bruno Haible  <bruno@clisp.org>
46927
46928         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
46929         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
46930         int.
46931         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
46932         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
46933         Return an error indicator.
46934         Suggested by Eric Blake.
46935
46936 2006-10-06  Bruno Haible  <bruno@clisp.org>
46937
46938         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
46939         Reported by Eric Blake.
46940
46941 2006-10-06  Bruno Haible  <bruno@clisp.org>
46942
46943         * modules/closeout (Description): Mention stderr too.
46944
46945 2006-10-06  Bruno Haible  <bruno@clisp.org>
46946         and Paul Eggert  <eggert@cs.ucla.edu>
46947
46948         * lib/closeout.c (close_stdout): Also close stderr.
46949         * lib/closeout.h: Update comment.
46950
46951 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
46952
46953         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
46954         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
46955         * lib/dirchownmod.c: Include lchown.h.
46956         * lib/lchown.c: Don't include files that lchown.h now includes.
46957         Don't declare chown, since lchown.h now does that.
46958         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
46959         (lchown): Define to rpl_chown if lchown is declared but
46960         does not exist.  Declare using a prototype if lchown is not
46961         declared.  Add a copyright notice.
46962         * lib/mkstemp.h: Include <unistd.h>.
46963         * lib/openat.c: Include lchown.h.
46964
46965         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
46966         we now test for that separately.
46967         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
46968         rather than O_NOFOLLOW, when testing whether it's possible to
46969         avoid a race condition reliably.
46970         * lib/savewd.c (savewd_chdir): Likewise.
46971
46972         Remove macros that are no longer needed now that stdint.h is
46973         reliable.
46974         * lib/fsusage.c (UINTMAX_MAX): Remove.
46975         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
46976         * lib/utimecmp.c (SIZE_MAX): Remove.
46977
46978         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
46979
46980         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
46981         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
46982         O_NOATIME works.
46983
46984 2006-10-05  Bruno Haible  <bruno@clisp.org>
46985
46986         * lib/gl_list.h (gl_sortedlist_search_from_to,
46987         gl_sortedlist_indexof_from_to): New declarations.
46988         (gl_list_implementation): New fields sortedlist_search_from_to,
46989         sortedlist_indexof_from_to.
46990         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
46991         inline functions.
46992         * lib/gl_list.c (gl_sortedlist_search_from_to,
46993         gl_sortedlist_indexof_from_to): New functions.
46994         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
46995         function.
46996         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
46997         (gl_array_sortedlist_search_from_to): New function.
46998         (gl_array_list_implementation): Update.
46999         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
47000         function.
47001         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
47002         (gl_carray_sortedlist_search_from_to): New function.
47003         (gl_carray_list_implementation): Update.
47004         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
47005         gl_linked_sortedlist_indexof_from_to): New functions.
47006         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
47007         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
47008         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
47009         gl_tree_sortedlist_indexof_from_to): New functions.
47010         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
47011         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
47012         Update.
47013         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
47014         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
47015         Update.
47016
47017 2006-10-05  Bruno Haible  <bruno@clisp.org>
47018
47019         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
47020         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
47021         (struct gl_list_implementation): Add fields search_from_to,
47022         indexof_from_to. Remove fields search, indexof.
47023         (gl_list_search): Use the search_from_to method.
47024         (gl_list_search_from, gl_list_search_from_to): New functions.
47025         (gl_list_indexof): Use the indexof_from_to method.
47026         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
47027         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
47028         (gl_list_search_from, gl_list_search_from_to): New functions.
47029         (gl_list_indexof): Use the indexof_from_to method.
47030         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
47031         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
47032         gl_array_indexof. Add start_index, end_index arguments.
47033         (gl_array_search_from_to): Renamed from gl_array_search. Add
47034         start_index, end_index arguments.
47035         (gl_array_remove, gl_array_list_implementation): Update.
47036         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
47037         gl_carray_indexof. Add start_index, end_index arguments.
47038         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
47039         start_index, end_index arguments.
47040         (gl_carray_remove, gl_carray_list_implementation): Update.
47041         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
47042         gl_linked_search. Add start_index, end_index arguments.
47043         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
47044         start_index, end_index arguments.
47045         (gl_linked_remove): Update.
47046         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
47047         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
47048         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
47049         field to 'size_t'.
47050         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
47051         gl_tree_search. Add start_index, end_index arguments.
47052         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
47053         start_index, end_index arguments.
47054         (gl_tree_remove): Update.
47055         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
47056         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
47057         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
47058         function.
47059         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
47060         gl_tree_search. Add start_index, end_index arguments.
47061         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
47062         start_index, end_index arguments.
47063         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
47064         Update.
47065         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
47066
47067 2006-10-05  Bruno Haible  <bruno@clisp.org>
47068
47069         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
47070
47071         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
47072         fwriteerror_temp): New declarations.
47073         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
47074         (descriptors): New variable.
47075         (cleanup): First, close the descriptors.
47076         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
47077         fclose_temp, fwriteerror_temp): New functions.
47078
47079 2006-10-04  Jim Meyering  <jim@meyering.net>
47080
47081         * lib/fts.c (fts_open): Tiny comment change.
47082
47083 2006-10-04  Bruno Haible  <bruno@clisp.org>
47084
47085         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
47086         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
47087         gl_LOCK_BODY.
47088         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
47089         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
47090         gl_LOCK_EARLY_BODY.
47091         (gl_LOCK): Require gl_LOCK_BODY.
47092
47093 2006-10-04  Bruno Haible  <bruno@clisp.org>
47094
47095         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
47096         (gl_oset_search_atleast): New declaration.
47097         (struct gl_oset_implementation): Add field 'search_atleast'.
47098         (gl_oset_search_atleast): New inline function.
47099         * lib/gl_oset.c (gl_oset_search_atleast): New function.
47100         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
47101         (gl_array_oset_implementation): Update.
47102         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
47103         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
47104         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
47105
47106 2006-10-04  Bruno Haible  <bruno@clisp.org>
47107
47108         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
47109
47110 2006-10-03  Bruno Haible  <bruno@clisp.org>
47111
47112         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
47113         from gl_avltreehash_list_implementation.
47114
47115 2006-10-03  Bruno Haible  <bruno@clisp.org>
47116
47117         * lib/gl_oset.c (gl_oset_add): Fix return type.
47118
47119 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
47120
47121         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
47122
47123 2006-10-02  Eric Blake  <ebb9@byu.net>
47124
47125         * modules/strnlen (Depends-on): Add extensions.
47126
47127 2006-10-02  Eric Blake  <ebb9@byu.net>
47128
47129         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
47130         definition in 2.60+.
47131
47132 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
47133
47134         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
47135         checks.
47136
47137 2006-10-02  Bruno Haible  <bruno@clisp.org>
47138
47139         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
47140         to the AUTOMAKE_OPTIONS.
47141         Reported by Jim Meyering.
47142
47143 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
47144
47145         Work around bug in Solaris 10 /proc file system:
47146         /proc/self/fd/NNN/.. isn't the parent directory of
47147         the directory whose file descriptor is NNN.  This needs to
47148         be worked around at run time, not compile time, since a
47149         program might be built on Solaris 8, where things work, and
47150         run on Solaris 10.
47151         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
47152         to use the following interface instead:
47153         (OPENAT_BUFFER_SIZE): New macro.
47154         (openat_proc_name): New function.
47155         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
47156         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
47157         Likewise.
47158         * lib/openat-proc.c: New file.
47159         * modules/openat (Files): Add lib/openat-proc.c.
47160         (Depends-on): Add same-inode, stdbool.
47161         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
47162
47163 2006-09-29  Bruno Haible  <bruno@clisp.org>
47164
47165         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
47166         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
47167         argument. Set stdout_closed before testing for ferror, not after.
47168         (fwriteerror, fwriteerror_no_ebadf): New functions.
47169
47170 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47171
47172         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
47173
47174 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
47175
47176         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
47177         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
47178
47179 2006-09-28  Jim Meyering  <jim@meyering.net>
47180
47181         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
47182         Include <unistd.h>.
47183
47184 2006-09-28  Bruno Haible  <bruno@clisp.org>
47185
47186         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
47187         * modules/linkedhash-list (Depends-on): Likewise.
47188         * modules/rbtreehash-list (Depends-on): Likewise.
47189
47190 2006-09-28  Bruno Haible  <bruno@clisp.org>
47191
47192         * lib/strndup.h: Simplify the redefinition of strndup.
47193         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
47194         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
47195
47196 2006-09-28  Bruno Haible  <bruno@clisp.org>
47197
47198         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
47199         * lib/gl_linkedhash_list.c: Likewise.
47200         * lib/gl_rbtreehash_list.c: Likewise.
47201
47202 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
47203
47204         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
47205         getaddrinfo.
47206
47207         * lib/__fpending.h: Don't include <stdio_ext.h> unless
47208         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
47209         it causes <stdio_ext.h> to cause a compile-time error.
47210         Problem reported by Nelson H. F. Beebe.
47211         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
47212         of HAVE_DECL___PENDING.
47213
47214         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
47215         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
47216         declaration.
47217
47218 2006-09-27  Jim Meyering  <jim@meyering.net>
47219
47220         This file could end up with a definition for a function
47221         named __strndup, rather than rpl_strndup on a system with
47222         incomplete weak_alias support.
47223         * lib/strndup.c (strndup): Rename from __strndup.
47224         Remove #defines that used to map __strndup to strndup.
47225         Don't use K&R prototypes.
47226         Remove LIBC-related code, since this file is not sync'd with glibc.
47227         * lib/strndup.h: Revamp, accordingly.
47228         * m4/strndup.m4: Modernize.
47229
47230 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
47231
47232         * modules/savewd (Depends-on): Add 'raise'.
47233         * lib/savewd.c: Include <signal.h>, for 'raise'.
47234
47235 2006-09-26  Jim Meyering  <jim@meyering.net>
47236
47237         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
47238         when we detect Darwin 8.7.0's acl_get_file bug.
47239         Rearrange to perform the new (below) run-test while $LIBS
47240         contains any acl-related library.  Set USE_ACL at the end.
47241         (gl_ACL_GET_FILE): New function.
47242
47243 2006-09-26  Eric Blake  <ebb9@byu.net>
47244
47245         * lib/verror.c: Include <config.h> unconditionally.
47246
47247 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
47248
47249         * modules/clock-time (Maintainer): Add self.
47250         * modules/getlogin_r (Depends-on): Add extensions.
47251
47252 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47253
47254         * modules/clock-time: New module.
47255         * modules/nanosleep (Depends-on): Add clock-time.
47256         * modules/gethrxtime (Depends-on): Likewise.
47257         * modules/gettime (Depends-on): Likewise.
47258         * modules/settime (Depends-on): Likewise.
47259
47260         * modules/fts-lgpl: Depend on openat.
47261         * modules/mkancesdirs: Depend on savewd.
47262         * modules/mkdir-p: Likewise.
47263
47264 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47265
47266         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
47267
47268         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
47269         `gl_have_arbitrary_file_name_length_limit' to
47270         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
47271         actually works between configure runs.
47272
47273 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47274             Bruno Haible  <bruno@clisp.org>
47275
47276         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
47277
47278 2006-09-25  Jim Meyering  <jim@meyering.net>
47279
47280         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
47281         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
47282
47283 2006-09-25  Eric Blake  <ebb9@byu.net>
47284
47285         * gnulib-tool (func_import, func_create_testdir): Fix typos in
47286         exec's in 2006-09-18 patch when shuffling fds.
47287
47288 2006-09-25  Bruno Haible  <bruno@clisp.org>
47289
47290         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
47291         Reported by Jim Meyering.
47292
47293 2006-09-24  Jim Meyering  <jim@meyering.net>
47294
47295         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
47296         compare a pointer against a literal "0".  That caused failures with
47297         at least HP-UX's hpcc.
47298
47299 2006-09-22  Simon Josefsson  <jas@extundo.com>
47300
47301         * modules/gc-sha1:
47302         * modules/gc-md4:
47303         * modules/gc-hmac-sha1:
47304         * modules/gc-hmac-md5:
47305         * modules/gc-des:
47306         * modules/gc-arcfour: Distribute more files.
47307
47308 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47309
47310         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
47311         (gl_linked_iterator_from_to): Initialize struct completely.
47312         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
47313         (gl_tree_iterator_from_to): Likewise
47314         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
47315         * lib/gl_array_list.c [lint] (gl_array_iterator)
47316         (gl_array_iterator_from_to): Likewise.
47317         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
47318         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
47319         (gl_carray_iterator_from_to): Likewise.
47320
47321         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
47322         * lib/md4.c (md4_process_block): Remove unused variable.
47323         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
47324         parentheses for clarity.
47325
47326 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47327
47328         * modules/bison-i18n (Depends-on): Add gettext.
47329
47330 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47331
47332         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
47333         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
47334         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
47335         also add missing comma that caused broken test.
47336         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
47337         stdlib.h, for `abort'.
47338         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
47339         variables.
47340         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
47341         include unistd.h if present, for `rmdir'.
47342         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
47343         variables.
47344         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
47345         in the process include standard headers for prototypes.
47346         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
47347         gets declared on GNU/Linux.
47348         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
47349         unistd.h, for `rmdir'.
47350         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
47351
47352         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
47353         always true.
47354         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
47355
47356         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
47357
47358 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47359
47360         * gnulib-tool (func_version): Create output all at once.  This
47361         may help avoid triggering unnecessary SIGPIPEs, and at any
47362         rate it doesn't hurt.
47363
47364 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47365             Bruno Haible  <bruno@clisp.org>
47366
47367         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
47368         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
47369         * m4/signed.m4 (bh_C_SIGNED): Likewise.
47370
47371         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
47372         (gl_FUNC_VASPRINTF): Invoke it.
47373
47374 2006-09-22  Bruno Haible  <bruno@clisp.org>
47375
47376         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
47377         getloadavg.c as first argument.
47378
47379 2006-09-22  Bruno Haible  <bruno@clisp.org>
47380
47381         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
47382         at the beginning of the gl_INIT macro.
47383         * modules/getloadavg (configure.ac): Pass $gl_source_base to
47384         gl_GETLOADAVG.
47385
47386 2006-09-22  Bruno Haible  <bruno@clisp.org>
47387
47388         * gnulib-tool (func_create_megatestdir): Don't include the config-h
47389         module.
47390         Suggested by Ralf Wildenhues.
47391
47392 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
47393
47394         Import this patch from libc:
47395
47396         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
47397
47398         * lib/regex_internal.c (re_string_reconstruct): Handle
47399         offset < pstr->valid_raw_len && pstr->offsets_needed case.
47400         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
47401         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
47402         re_string_context_at.
47403
47404         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
47405         now requires it.
47406         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
47407         gl_REGEX now does it for us.
47408         (gl_REGEX): Add test taken from
47409         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
47410
47411         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
47412         Check that large offsets work.  Modernize Autoconf usages.
47413         Prefer "yes" to mean a good thing rather than a bad.
47414         Don't put "#define mkstemp" in config.h, as this might interfere
47415         with standard system headers that "#define mkstemp mkstemp64".
47416
47417         * modules/mkstemp (Depends-on): Add extensions, so that
47418         mkstemp is visible on some platforms.
47419         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
47420         (Include): Change to "mkstemp.h" from <stdlib.h>.
47421         (Files): Add mkstemp.h.
47422
47423         * lib/mkstemp.h: New file, since some standard headers
47424         #define mkstemp.
47425         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
47426         Include "mkstemp.h".
47427         Make the _LIBC code resemble glibc original more,
47428         e.g., use K&R style.
47429         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
47430         (mkstemp): Remove, since mkstemp.h does this for us.
47431         * lib/stdlib--.h: Include mkstemp.h.
47432
47433         Import this patch from libc:
47434
47435         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
47436
47437         * lib/tempname.c (__gen_tempname): Change attempts_min
47438         into a macro.  Use preprocessor to decide how to initialize
47439         attempts [Coverity CID 67].
47440
47441 2006-09-20  Bruno Haible  <bruno@clisp.org>
47442
47443         * lib/mkdtemp.c: Import from libc.
47444         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
47445                 * sysdeps/posix/tempname.c (__gen_tempname): Change
47446                 attempts_min into a macro.  Use preprocessor to decide how to
47447                 initialize attempts [Coverity CID 67].
47448         2001-11-27  Paul Eggert  <eggert@twinsun.com>
47449                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
47450                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
47451
47452 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47453
47454         * gnulib-tool (func_exit): New function, to allow to pass the
47455         exit status portably through the trap.  Use everywhere.
47456         (--help, --version): Signal a write error.
47457         (trap): catch SIGPIPE, for write errors.
47458         Exit at the end of the trap, with the correct exit status.
47459
47460 2006-09-19  Karl Berry  <karl@gnu.org>
47461
47462         * doc/gnulib.texi: note about the license texinfo files.
47463
47464 2006-09-19  Eric Blake  <ebb9@byu.net>
47465
47466         * gnulib-tool: Avoid space-tab.
47467
47468 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
47469
47470         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
47471         that prevented coreutils 6.1 from building.  Problem reported
47472         by Petter Reinholdtsen.
47473
47474 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
47475
47476         * gnulib-tool (avoidlist): Fix typo that broke options like
47477         --avoid=lock that are used by coreutils bootstrap.
47478
47479 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
47480
47481         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
47482         more systematically.
47483
47484 2006-09-18  Jim Meyering  <jim@meyering.net>
47485
47486         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
47487
47488 2006-09-18  Bruno Haible  <bruno@clisp.org>
47489
47490         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
47491
47492 2006-09-18  Bruno Haible  <bruno@clisp.org>
47493
47494         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
47495         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
47496         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
47497         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
47498         * m4/gettext.m4: Require autoconf >= 2.52.
47499         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
47500         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
47501         of gl_cv_header_inttypes_h.
47502
47503 2006-09-18  Bruno Haible  <bruno@clisp.org>
47504
47505         * lib/javaversion.c: Include configmake.h.
47506
47507 2006-09-18  Bruno Haible  <bruno@clisp.org>
47508
47509         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
47510         avoid that the while loops be executed in a subshell.
47511
47512 2006-09-18  Bruno Haible  <bruno@clisp.org>
47513
47514         * MODULES.html.sh (func_module): Break long lines.
47515         Suggested by Bruce Korb <bkorb@gnu.org>.
47516
47517 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47518
47519         Speed up by a factor of 1.12.
47520         * gnulib-tool (nl): New variable.
47521         (func_import): Rewrite include directive extraction to only read each
47522         directive once.
47523
47524 2006-09-17  Bruno Haible  <bruno@clisp.org>
47525
47526         * modules/javaversion (Makefile.am): Remove DEFS setting.
47527         (Depends-on): Add configmake, for PKGDATADIR definition.
47528
47529 2006-09-17  Bruno Haible  <bruno@clisp.org>
47530
47531         * gnulib-tool (func_create_testdir): Rewrite all files at once.
47532
47533 2006-09-17  Bruno Haible  <bruno@clisp.org>
47534
47535         * gnulib-tool (func_append): New function, stolen from libtool.m4.
47536         (func_modules_transitive_closure, func_modules_add_dummy,
47537         func_modules_to_filelist, func_import, func_create_testdir,
47538         func_create_megatestdir, ...): Use it wherever possible.
47539         Suggested by Ralf Wildenhues.
47540
47541 2006-09-16  Karl Berry  <karl@gnu.org>
47542
47543         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
47544         to avoid sectioning errors.
47545         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
47546         [ifinfo]: blank line after @center-ed titles.
47547         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
47548         Spell FSF address consistently with others.
47549         (These changes approved by rms.)
47550
47551 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47552
47553         Speed up by a factor of 1.61.
47554         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
47555         already checked module names again.
47556
47557 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47558
47559         Speed up by a factor of 1.13.
47560         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
47561         for new_files, and the input to func_add_or_update.
47562
47563 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47564
47565         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
47566         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
47567
47568 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
47569
47570         * modules/mkancesdirs (Depends-on): Add fcntl.
47571         * modules/savewd: New file.
47572         * MODULES.html.sh (File system functions): Add savewd.
47573
47574         * modules/configmake (Makefile.am): Add support for the
47575         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
47576
47577 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
47578
47579         * m4/savewd.m4: New file.
47580
47581 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
47582
47583         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
47584         (dirchownmod): New arg FD.  All callers changed.
47585         Use FD rather than opening the directory ourself, as opening is
47586         now the caller's responsibility.
47587         * lib/dirchownmod.h: Likewise.
47588         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
47589         hosts that require <sys/types.h> before <sys/stat.h>.  Include
47590         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
47591         (test_dir): Remove.
47592         (mkancesdirs): Return length of prefix of FILE that has already
47593         been made, or -2 if there is a child doing the work.  Redo
47594         algorithm so that it is O(N) rather than O(N**2).  Optimize away
47595         ".", and treat ".." specially since it might stray back into
47596         already-created areas.  Use a subprocess if necessary.  New arg
47597         WD; all users changed.  MAKE_DIR function should now return 1
47598         if it creates a directory that is not readable.  Return -2 if
47599         a child process is spun off.
47600         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
47601         Adjust signature to match code.
47602         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
47603         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
47604         all users changed.
47605         * lib/savewd.c, lib/savewd.h: New files.
47606
47607 2006-09-15  Jim Meyering  <jim@meyering.net>
47608
47609         * modules/rename-dest-slash: New module.
47610         * MODULES.html.sh (posix_compat): Add it here.
47611
47612         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
47613
47614 2006-09-15  Jim Meyering  <jim@meyering.net>
47615
47616         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
47617         file.
47618
47619         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
47620
47621 2006-09-15  Jim Meyering  <jim@meyering.net>
47622
47623         * lib/rename-dest-slash.c (has_trailing_slash): Use
47624         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
47625         (rpl_rename_dest_slash): Perform the cheaper trailing slash
47626         test before testing whether SRC is a directory.
47627         Suggestions from Bruno Haible.
47628
47629         Avoid a warning about an unused variable.
47630         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
47631         into the #ifdef block where it's used.
47632
47633         * lib/rename-dest-slash.c: New file.
47634
47635 2006-09-14  Bruno Haible  <bruno@clisp.org>
47636
47637         * lib/allocsa.c: Include <config.h> unconditionally.
47638         * lib/asnprintf.c: Likewise.
47639         * lib/asprintf.c: Likewise.
47640         * lib/c-strcasecmp.c: Likewise.
47641         * lib/c-strcasestr.c: Likewise.
47642         * lib/c-strncasecmp.c: Likewise.
47643         * lib/c-strstr.c: Likewise.
47644         * lib/classpath.c: Likewise.
47645         * lib/clean-temp.c: Likewise.
47646         * lib/concatpath.c: Likewise.
47647         * lib/copy-file.c: Likewise.
47648         * lib/csharpcomp.c: Likewise.
47649         * lib/csharpexec.c: Likewise.
47650         * lib/execute.c: Likewise.
47651         * lib/fatal-signal.c: Likewise.
47652         * lib/findprog.c: Likewise.
47653         * lib/fwriteerror.c: Likewise.
47654         * lib/gl_array_list.c: Likewise.
47655         * lib/gl_array_oset.c: Likewise.
47656         * lib/gl_avltree_list.c: Likewise.
47657         * lib/gl_avltree_oset.c: Likewise.
47658         * lib/gl_avltreehash_list.c: Likewise.
47659         * lib/gl_carray_list.c: Likewise.
47660         * lib/gl_linked_list.c: Likewise.
47661         * lib/gl_linkedhash_list.c: Likewise.
47662         * lib/gl_list.c: Likewise.
47663         * lib/gl_oset.c: Likewise.
47664         * lib/gl_rbtree_list.c: Likewise.
47665         * lib/gl_rbtree_oset.c: Likewise.
47666         * lib/gl_rbtreehash_list.c: Likewise.
47667         * lib/imaxabs.c: Likewise.
47668         * lib/imaxdiv.c: Likewise.
47669         * lib/javacomp.c: Likewise.
47670         * lib/javaexec.c: Likewise.
47671         * lib/javaversion.c: Likewise.
47672         * lib/linebreak.c: Likewise.
47673         * lib/localcharset.c: Likewise.
47674         * lib/lock.c: Likewise.
47675         * lib/mbchar.c: Likewise.
47676         * lib/mbswidth.c: Likewise.
47677         * lib/mkdtemp.c: Likewise.
47678         * lib/pipe.c: Likewise.
47679         * lib/printf-args.c: Likewise.
47680         * lib/printf-parse.c: Likewise.
47681         * lib/progname.c: Likewise.
47682         * lib/progreloc.c: Likewise.
47683         * lib/readlink.c: Likewise.
47684         * lib/sh-quote.c: Likewise.
47685         * lib/stpcpy.c: Likewise.
47686         * lib/stpncpy.c: Likewise.
47687         * lib/strcasecmp.c: Likewise.
47688         * lib/strcasestr.c: Likewise.
47689         * lib/strcspn.c: Likewise.
47690         * lib/striconv.c: Likewise.
47691         * lib/strncasecmp.c: Likewise.
47692         * lib/strnlen1.c: Likewise.
47693         * lib/strstr.c: Likewise.
47694         * lib/strtok_r.c: Likewise.
47695         * lib/tls.c: Likewise.
47696         * lib/tmpdir.c: Likewise.
47697         * lib/unicodeio.c: Likewise.
47698         * lib/unsetenv.c: Likewise.
47699         * lib/vasnprintf.c: Likewise.
47700         * lib/vasprintf.c: Likewise.
47701         * lib/wait-process.c: Likewise.
47702         * lib/xallocsa.c: Likewise.
47703         * lib/xsetenv.c: Likewise.
47704         * lib/xstriconv.c: Likewise.
47705
47706 2006-09-13  Simon Josefsson  <jas@extundo.com>
47707
47708         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
47709         that internally, suggested by Ralf Wildenhues
47710         <Ralf.Wildenhues@gmx.de>.
47711
47712 2006-09-13  Simon Josefsson  <jas@extundo.com>
47713
47714         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
47715         @LIBOBJS@.
47716         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
47717
47718 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
47719
47720         * lib/_fpending.c: Include <config.h> unconditionally, since we no
47721         longer worry about uses that don't define HAVE_CONFIG_H.
47722         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
47723         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
47724         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
47725         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
47726         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
47727         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
47728         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
47729         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
47730         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
47731         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
47732         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
47733         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
47734         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
47735         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
47736         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
47737         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
47738         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
47739         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
47740         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
47741         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
47742         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
47743         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
47744         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
47745         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
47746         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
47747         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
47748         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
47749         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
47750         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
47751         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
47752         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
47753         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
47754         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
47755         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
47756         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
47757         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
47758         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
47759         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
47760         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
47761         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
47762         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
47763         Likewise.
47764
47765 2006-09-13  Eric Blake  <ebb9@byu.net>
47766
47767         * lib/getopt.c: Fix typo in last commit.
47768
47769 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
47770
47771         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
47772         dgettext.
47773
47774 2006-09-12  Jim Meyering  <jim@meyering.net>
47775
47776         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
47777         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
47778         Reported by Nelson H. F. Beebe.
47779
47780 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
47781
47782         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
47783         program_invocation_name and program_invocation_short_name are
47784         initialized.
47785         * lib/argp-namefrob.h: Move declarations of program_invocation_name
47786         and program_invocation_short_name to argp.h, so they are visible
47787         to user programs.
47788         * lib/argp.h: Likewise
47789
47790 2006-09-10  Bruno Haible  <bruno@clisp.org>
47791
47792         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
47793         m4/inttypes_h.m4, m4/uintmax_t.m4.
47794
47795 2006-09-10  Bruno Haible  <bruno@clisp.org>
47796
47797         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
47798         gl_AC_TYPE_UINTMAX_T.
47799
47800 2006-09-10  Bruno Haible  <bruno@clisp.org>
47801
47802         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
47803
47804 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
47805
47806         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
47807         convention.  Text proposed by Bruno Haible.
47808         (struct argp_option): Document the use of N_() wrappers.
47809
47810         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
47811         '\v', and translate the two parts separately, instead of feeding
47812         the whole string to gettext.  This allows to exclude
47813         '\v' from the strings visible to the translator by writing doc
47814         strings as N_("..") "\v" N_("..").
47815
47816 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
47817
47818         * config/srclist.txt: Undo latest change; the bug was fixed.
47819
47820 2006-09-09  Bruno Haible  <bruno@clisp.org>
47821
47822         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
47823         assignments if building a library without libtool.
47824         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
47825         in func_emit_lib_Makefile_am.
47826         (func_import): When building a static library libfoo.a, arrange to
47827         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
47828         (func_create_testdir): Likewise.
47829         * modules/gc (configure.ac, Makefile.am): If building statically,
47830         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
47831         * modules/iconvme (configure.ac, Makefile.am): Likewise.
47832         * modules/striconv (configure.ac, Makefile.am): Likewise.
47833         Based on a suggestion by Ralf Wildenhues.
47834
47835 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
47836
47837         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
47838         Check for unistd.h too, since Autoconf doesn't assume POSIX.
47839         Also:
47840
47841         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
47842         Add year_2050_test to catch glibc bug 2821
47843         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
47844
47845         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
47846         Prefer #ifdef to #if.
47847
47848         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
47849         Return from 'main' instead of calling 'exit'.
47850
47851 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
47852
47853         * lib/mktime.c (guess_time_tm): Fix bug where mktime
47854         returned the maximum time_t value rather than (time_t) -1.
47855         Problem originally reported by William Bardwell
47856         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
47857
47858         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
47859         Moved to here ...
47860         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
47861         ... from here.
47862
47863 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
47864
47865         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
47866         2821 is fixed.
47867
47868 2006-09-08  Jim Meyering  <jim@meyering.net>
47869
47870         Don't make generated files read-only.  That would bother too many
47871         people.  However, do retain the ability to work when targets are
47872         read-only: remove the destination and temporary files before writing
47873         them (when generated via sed or echo), or by using the -f option for
47874         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
47875         * modules/alloca-opt, modules/argz, modules/arpa_inet:
47876         * modules/byteswap, modules/configmake, modules/fcntl:
47877         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
47878         * modules/localcharset, modules/netinet_in, modules/poll:
47879         * modules/stdbool, modules/stdint, modules/sys_select:
47880         * modules/sys_socket, modules/sys_stat, modules/sysexits:
47881
47882 2006-09-08  Jim Meyering  <jim@meyering.net>
47883
47884         Avoid new build failure on FreeBSD 6.0.
47885         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
47886         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
47887         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
47888
47889 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47890
47891         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
47892
47893 2006-09-07  Jim Meyering  <jim@meyering.net>
47894
47895         Fix global typo in last change: use chmod u-w, not chmod u-x.
47896         Spotted by Paul Eggert and Bruce Korb.
47897         * modules/alloca-opt, modules/argz, modules/arpa_inet:
47898         * modules/byteswap, modules/configmake, modules/fcntl:
47899         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
47900         * modules/localcharset, modules/netinet_in, modules/poll:
47901         * modules/stdbool, modules/stdint, modules/sys_select:
47902         * modules/sys_socket, modules/sys_stat, modules/sysexits:
47903
47904 2006-09-06  Jim Meyering  <jim@meyering.net>
47905
47906         Make generated files be read-only.
47907         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
47908         Ensure that each generated file is now read-only.
47909         * modules/argz: Likewise.
47910         * modules/arpa_inet: Likewise.
47911         * modules/byteswap: Likewise.
47912         * modules/configmake: Likewise.
47913         * modules/fcntl: Likewise.
47914         * modules/fnmatch: Likewise.
47915         * modules/getopt: Likewise.
47916         * modules/glob: Likewise.
47917         * modules/inttypes: Likewise.
47918         * modules/netinet_in: Likewise.
47919         * modules/poll: Likewise.
47920         * modules/stdbool: Likewise.
47921         * modules/stdint: Likewise.
47922         * modules/sys_select: Likewise.
47923         * modules/sys_socket: Likewise.
47924         * modules/sys_stat: Likewise.
47925         * modules/sysexits: Likewise.
47926         * modules/localcharset: Same as above, but continue using temporary
47927         file named "t-$@" (why different?) rather than the "$@-t" used
47928         everywhere else.
47929
47930         * modules/sysexits (Makefile.am): Replace literal occurrences
47931         of "sysexit.h" more readable, and more consistent, "$@".
47932
47933 2006-09-06  Bruno Haible  <bruno@clisp.org>
47934
47935         * modules/striconv: New file.
47936         * modules/xstriconv: New file.
47937         * MODULES.html.sh (Internationalization functions): Add striconv,
47938         xstriconv.
47939
47940 2006-09-06  Bruno Haible  <bruno@clisp.org>
47941
47942         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
47943         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
47944         not using libtool correctly.
47945
47946 2006-09-06  Bruno Haible  <bruno@clisp.org>
47947
47948         * lib/striconv.h: New file.
47949         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
47950         iconvstring.c.
47951         * lib/xstriconv.h: New file.
47952         * lib/xstriconv.c: New file.
47953
47954 2006-09-06  Bruno Haible  <bruno@clisp.org>
47955
47956         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
47957         lib_..._LDFLAGS.
47958
47959 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47960
47961         * lib/argz_.h: Sync from Libtool.
47962
47963         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
47964                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
47965
47966         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
47967
47968 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
47969
47970         * modules/trim: New file.
47971
47972 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
47973
47974         * lib/trim.h: New file.
47975         * lib/trim.c: New file.
47976
47977 2006-09-05  Bruno Haible  <bruno@clisp.org>
47978
47979         * MODULES.html.sh (String handling): Add trim.
47980
47981 2006-09-04  Karl Berry  <karl@gnu.org>
47982
47983         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
47984         until next release.
47985
47986 2006-09-03  Bruno Haible  <bruno@clisp.org>
47987
47988         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
47989         correctly.
47990
47991 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
47992
47993         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
47994         not gl_GETLOADAVG.  Omit unneeded semicolons.
47995         Problems reported by Ralf Wildenhues in
47996         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
47997         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
47998         at the end, which is the usual gnulib style.
47999
48000         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
48001         of doing all the work ourselves.
48002         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
48003         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
48004
48005 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
48006
48007         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
48008         Problem reported by Ralf Wildenhues in
48009         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
48010
48011         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
48012         HAVE_STRUCT_STATFS_F_FSTYPENAME.
48013
48014 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
48015
48016         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
48017         yesterday's patch by changing test -n to test -z.
48018
48019 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
48020
48021         * modules/getloadavg (Files): Add m4/getloadavg.m4.
48022         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
48023         the former is now obsolescent.
48024
48025         * modules/chdir-long (Depends-on): Add fcntl.
48026
48027 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
48028
48029         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
48030         obsolescent, and programs should use gnulib instead.
48031         * m4/getloadavg.m4: New file, with contents taken from Autoconf
48032         but with prefixes changed.
48033
48034 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
48035
48036         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
48037         or stdbool.h, because they might not exist while configuring.
48038
48039         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
48040         Don't include unistd.h or limits.h; not needed, since chdir-long.h
48041         does that for us.
48042         (O_DIRECTORY): Remove.
48043
48044 2006-08-31  Eric Blake  <ebb9@byu.net>
48045
48046         * gnulib-tool: Don't let emacs change spaces to TAB.
48047
48048 2006-08-31  Bruno Haible  <bruno@clisp.org>
48049
48050         * gnulib-tool: When calling func_import more than once, do it in a
48051         subshell.
48052         Reported by Eric Blake <ebb9@byu.net>.
48053
48054 2006-08-31  Bruno Haible  <bruno@clisp.org>
48055
48056         * gnulib-tool (nl): Remove variable.
48057         (sed_transform_lib_file): Use more robust test for config-h module.
48058         (func_import): Fix typo in 2006-08-25 patch.
48059
48060 2006-08-31  Bruno Haible  <bruno@clisp.org>
48061
48062         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
48063         specified, augment Makefile.am variables instead of assigning them.
48064
48065 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
48066
48067         Work around a bug in both the Linux and SunOS 64-bit kernels:
48068         nanosleep mishandles sleeps for longer than 2**31 seconds.
48069         Problem reported by Frank v Waveren in
48070         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
48071         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
48072         Check for nanosleep bug.
48073         (LIB_NANOSLEEP): Append clock_gettime library if needed.
48074
48075 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
48076
48077         Work around a bug in both the Linux and SunOS 64-bit kernels:
48078         nanosleep mishandles sleeps for longer than 2**31 seconds.
48079         Problem reported by Frank v Waveren in
48080         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
48081         * lib/nanosleep.c (BILLION): New constant.
48082         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
48083         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
48084         implementation.
48085
48086 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
48087
48088         * modules/nanosleep (Depends-on): Add gettime.
48089
48090 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
48091         and Simon Josefsson  <jas@extundo.com>
48092         and Oskar Liljeblad  <oskar@osk.mine.nu>
48093
48094         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
48095         * gnulib-tool (func_import): New license type 'unmodifiable license
48096         text'.
48097         * modules/fdl: Use it.  Longer description.
48098         * module/gpl, module/lgpl: New files.
48099
48100 2006-08-30  Jim Meyering  <jim@meyering.net>
48101
48102         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
48103         shadowing the parameter.
48104
48105 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48106
48107         Sync from Libtool:
48108
48109         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48110
48111         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
48112         sharing with gnulib.  Report by Eric Blake.
48113
48114 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
48115
48116         * modules/isapipe: New file.
48117         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
48118
48119 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
48120
48121         * modules/configmake (Makefile.am): Add a comment, and omit
48122         the CONFIGMAKE_ prefix from generated macro names.  Suggested
48123         by Bruno Haible.
48124
48125 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
48126
48127         * m4/isapipe.m4: New file.
48128
48129 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
48130
48131         * lib/isapipe.c, lib/isapipe.h: New files.
48132
48133 2006-08-29  Jim Meyering  <jim@meyering.net>
48134
48135         * modules/configmake (Makefile.am): Make configmake.h depend on
48136         Makefile.  Otherwise, a stale configmake.h could hang around.
48137
48138 2006-08-29  Eric Blake  <ebb9@byu.net>
48139
48140         * lib/error.c (error_at_line, print_errno_message): Match libc, after
48141         resolution of upstream bug 3044.
48142
48143 2006-08-29  Bruno Haible  <bruno@clisp.org>
48144
48145         * modules/localcharset (Depends-on): Add configmake.
48146         (Makefile.am): Remove setting of LIBDIR through DEFS.
48147
48148 2006-08-29  Bruno Haible  <bruno@clisp.org>
48149
48150         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
48151         defined.
48152
48153 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
48154
48155         * modules/fcntl: New file.
48156         * modules/chdir-safer (Depends-on): Add fcntl.
48157         * modules/fts: Likewise.
48158         * modules/mkdir-p: Likewise.
48159
48160         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
48161         This undoes the most recent change, since we're now addressing the
48162         problem in a different way.
48163
48164         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
48165         into output, since the output might be called Makefile.am even
48166         if $makefile_name is something different.
48167         (func_import): Use $makefile_am rather than
48168         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
48169         empty.
48170
48171         * modules/inttypes (Files): Add m4/inttypes-h.m4.
48172
48173 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
48174
48175         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
48176         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
48177         recent change to stdint.m4, since we're now addressing the problem in a
48178         different way.
48179
48180 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
48181
48182         * m4/fcntl_h.m4: New file.
48183
48184 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
48185
48186         * lib/fcntl_.h: New file.
48187         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
48188         the fcntl module.
48189         * lib/dirchownmod.c: Likewise.
48190         * lib/fts.c: Likewise.
48191
48192         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
48193         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
48194         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
48195         just before including <inttypes.h>, to avoid circular inclusion.
48196
48197 2006-08-28  Jim Meyering  <jim@meyering.net>
48198
48199         * doc/visibility.texi: Actually read and correct the grammar of the
48200         sentence affected by yesterday's change.
48201
48202 2006-08-28  Eric Blake  <ebb9@byu.net>
48203
48204         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
48205         needs wrapper.
48206
48207 2006-08-28  Eric Blake  <ebb9@byu.net>
48208
48209         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
48210
48211 2006-08-28  Eric Blake  <ebb9@byu.net>
48212
48213         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
48214
48215 2006-08-28  Bruno Haible  <bruno@clisp.org>
48216
48217         * modules/c-strstr: New file, from GNU gettext.
48218         * MODULES.html.sh (String handling): Add c-strstr.
48219
48220 2006-08-28  Bruno Haible  <bruno@clisp.org>
48221
48222         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
48223         macros.
48224         Reported by Eric Blake.
48225
48226 2006-08-28  Bruno Haible  <bruno@clisp.org>
48227
48228         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
48229         (VASNPRINTF): Return a string of length > INT_MAX without failing.
48230         * lib/vasprintf.c: Include errno.h, limits.h.
48231         (EOVERFLOW): New fallback definition.
48232         (vasprintf): Test here whether the string length is > INT_MAX.
48233         * lib/vsnprintf.c: Include errno.h, limits.h.
48234         (EOVERFLOW): New fallback definition.
48235         (vsnprintf): Fix bug when generated string was too long for the buffer.
48236         Test here whether the string length is > INT_MAX.
48237
48238 2006-08-28  Bruno Haible  <bruno@clisp.org>
48239
48240         * lib/inttypes_.h (SCNX*): Remove definitions.
48241         Reported by Eric Blake.
48242
48243 2006-08-28  Bruno Haible  <bruno@clisp.org>
48244
48245         * lib/c-strstr.h: New file, from GNU gettext.
48246         * lib/c-strstr.c: New file, from GNU gettext.
48247
48248 2006-08-28  Bruno Haible  <bruno@clisp.org>
48249
48250         * gnulib-tool: Reorder some statements.
48251
48252 2006-08-28  Bruno Haible  <bruno@clisp.org>
48253
48254         * gnulib-tool: New option --makefile-name.
48255         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
48256         $makefile_name.
48257         (func_import): Write $makefile_name to the cache file, and read it from
48258         there unless explicitly specified. Use $makefile_name as file name
48259         instead of Makefile.am. Adjust the recommendations accordingly.
48260
48261 2006-08-28  Bruno Haible  <bruno@clisp.org>
48262
48263         * gnulib-tool (func_verify_module): Check against misapplying patch.
48264
48265 2006-08-28  Bruno Haible  <bruno@clisp.org>
48266
48267         * gnulib-tool (func_relativize, func_relconcat): New functions.
48268         Give an error if --local-dir is given with --update.
48269         Remove trailing slashes from $local_gnulib_dir.
48270         (func_import): Store the relativized $local_gnulib_dir in
48271         gnulib-cache.m4, and read it from there if not specified explicitly.
48272
48273 2006-08-28  Bruno Haible  <bruno@clisp.org>
48274
48275         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
48276         is the current directory. Respect also $local_gnulib_dir.
48277
48278 2006-08-28  Bruno Haible  <bruno@clisp.org>
48279             Simon Josefsson  <jas@extundo.com>
48280
48281         BeOS portability.
48282         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
48283
48284 2006-08-27  Jim Meyering  <jim@meyering.net>
48285
48286         * doc/visibility.texi: Remove duplicate word: "pointer".
48287
48288 2006-08-26  Bruno Haible  <bruno@clisp.org>
48289
48290         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
48291         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
48292         (Makefile.am): Create inttypes.h from inttypes_.h.
48293         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
48294
48295         * modules/imaxabs: New file.
48296
48297         * modules/imaxdiv: New file.
48298
48299 2006-08-26  Bruno Haible  <bruno@clisp.org>
48300
48301         * m4/inttypes.m4: New file.
48302         * m4/_inttypes_h.m4: Remove file.
48303         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
48304         PRI_MACROS_BROKEN.
48305         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
48306
48307         * m4/imaxabs.m4: New file.
48308
48309         * m4/imaxdiv.m4: New file.
48310
48311 2006-08-26  Bruno Haible  <bruno@clisp.org>
48312
48313         * lib/inttypes_.h: New file.
48314         * lib/inttypes.h: Remove file.
48315         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
48316
48317         * lib/imaxabs.c: New file.
48318
48319         * lib/imaxdiv.c: New file.
48320
48321 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
48322
48323         New config-h module, so that "make" output needn't be cluttered
48324         by -DHAVE_CONFIG_H.
48325         * MODULES.html.sh (Support for building libraries and executables):
48326         Add config-h.
48327         * modules/config-h: New file.
48328         * gnulib-tool (nl, sed_transform_lib_file): New vars.
48329         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
48330         the config-h module is used.
48331
48332         New configmake module, so that "make" output needn't be cluttered
48333         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
48334         * MODULES.html.sh (Support for building libraries and executables):
48335         Add configmake.
48336         * modules/configmake: New file.
48337
48338 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
48339
48340         * m4/config-h.m4: New file.
48341
48342 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
48343
48344         * config/srclist.txt: Add elisp-comp.
48345
48346 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
48347
48348         * MODULES.html.sh (Support for building libraries and executables):
48349         Add elisp-comp.
48350         * build-aux/elisp-comp: New file.
48351         * modules/elisp-comp: New file.
48352
48353 2006-08-24  Bruno Haible  <bruno@clisp.org>
48354
48355         * gnulib-tool (func_create_testdir): Use non-default values of
48356         sourcebase and m4base.
48357
48358 2006-08-24  Bruno Haible  <bruno@clisp.org>
48359
48360         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
48361         HTML structure.
48362
48363 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
48364
48365         * modules/openat (Depends-on): Add lchown.
48366
48367 2006-08-23  Bruno Haible  <bruno@clisp.org>
48368
48369         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
48370         of gl_LOCK_EARLY instead of gl_LOCK.
48371
48372 2006-08-23  Bruno Haible  <bruno@clisp.org>
48373
48374         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
48375         on OSF/1 to no.
48376         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
48377
48378 2006-08-23  Bruno Haible  <bruno@clisp.org>
48379
48380         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
48381         as unusable.
48382
48383         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
48384         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
48385         (gl_LOCK): New macro.
48386
48387 2006-08-22  Simon Josefsson  <jas@extundo.com>
48388
48389         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
48390         to md5 module.
48391
48392 2006-08-22  Simon Josefsson  <jas@extundo.com>
48393
48394         * MODULES.html.sh: Add "Support for maintaining and release
48395         projects".
48396
48397         * build-aux/gnupload: New file, from coreutils.
48398
48399 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
48400
48401         Avoid the need for AC_LIBSOURCES in m4 macros.
48402         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
48403         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
48404         * modules/check-version (EXTRA_DIST): Add check-version.h.
48405         * modules/crc (EXTRA_DIST): Add crc.h.
48406         * modules/des (EXTRA_DIST): Add des.h.
48407         * modules/gc (EXTRA_DIST): Add gc.h.
48408         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
48409         * modules/getline (EXTRA_DIST): Add getline.h.
48410         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
48411         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
48412         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
48413         * modules/md2 (EXTRA_DIST): Add md2.h.
48414         * modules/md4 (EXTRA_DIST): Add md4.h.
48415         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
48416         * modules/read-file (EXTRA_DIST): Add read-file.h.
48417         * modules/readline (EXTRA_DIST): Add readline.h.
48418         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
48419         rijndael-api-fst.h.
48420
48421 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
48422
48423         * m4/rijndael.m4 (gl_ARCFOUR):
48424         * m4/arctwo.m4 (gl_ARCTWO):
48425         * m4/check-version.m4 (gl_CHECK_VERSION):
48426         * m4/crc.m4 (gl_CRC):
48427         * m4/des.m4 (gl_DES):
48428         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
48429         * m4/gc.m4 (gl_GC):
48430         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
48431         * m4/getline.m4 (gl_FUNC_GETLINE):
48432         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
48433         * m4/hmac-md5.m4 (gl_HMAC_MD5):
48434         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
48435         * m4/md2.m4 (gl_MD2):
48436         * m4/md4.m4 (gl_MD4):
48437         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
48438         * m4/read-file.m4 (gl_FUNC_READ_FILE):
48439         * m4/readline.m4 (gl_FUNC_READLINE):
48440         * m4/rijndael.m4 (gl_RIJNDAEL):
48441         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
48442         to get the necessary .h files and whatnot.
48443
48444 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
48445
48446         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
48447         gnulib rather than the other way around.
48448         * config/srclistvars.sh (COREUTILS): Remove.
48449
48450 2006-08-22  Jim Meyering  <jim@meyering.net>
48451
48452         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
48453
48454         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
48455
48456 2006-08-22  Eric Blake  <ebb9@byu.net>
48457
48458         * modules/regexprops-generic: New file.
48459         * MODULES.html.sh (Support for building documentation): List it.
48460
48461 2006-08-22  Eric Blake  <ebb9@byu.net>
48462
48463         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
48464         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
48465         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
48466         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
48467
48468 2006-08-22  Bruno Haible  <bruno@clisp.org>
48469
48470         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
48471         and lib_LTLIBRARIES like the other lib_* variables.
48472
48473 2006-08-22  Bruno Haible  <bruno@clisp.org>
48474
48475         * build-aux/x-to-1.in: New file, from GNU gettext.
48476
48477 2006-08-22  Bruno Haible  <bruno@clisp.org>
48478
48479         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
48480         <utmpx.h> exists.
48481
48482 2006-08-22  Bruno Haible  <bruno@clisp.org>
48483
48484         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
48485         <utmpx.h> exists.
48486
48487 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
48488
48489         BeOS portability.
48490         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
48491         exist.
48492         Problem reported by Bruno Haible.
48493
48494 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
48495
48496         Avoid the need for AC_LIBSOURCES in m4 macros.
48497         * modules/acl (EXTRA_DIST): Add acl.h.
48498         * modules/argmatch (Files): Add m4/argmatch.m4.
48499         (configure.ac): Add gl_ARGMATCH.
48500         (EXTRA_DIST): Renamed from lib_SOURCES, for
48501         consistency with the other modules.  Remove argmatch.c.
48502         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
48503         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
48504         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
48505         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
48506         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
48507         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
48508         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
48509         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
48510         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
48511         * modules/closeout (EXTRA_DIST): Add closeout.h.
48512         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
48513         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
48514         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
48515         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
48516         dirname.h; remove basename.c and stripslash.c.
48517         * modules/exclude (EXTRA_DIST): Add exclude.h.
48518         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
48519         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
48520         * modules/file-type (EXTRA_DIST): Add file-type.h.
48521         * modules/filemode (EXTRA_DIST): Add filemode.h.
48522         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
48523         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
48524         * modules/fpending (EXTRA_DIST): Add __fpending.h.
48525         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
48526         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
48527         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
48528         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
48529         * modules/getdate (EXTRA_DIST): Add getdate.c.
48530         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
48531         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
48532         * modules/getpass (EXTRA_DIST): Add getpass.h.
48533         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
48534         * modules/group-member (EXTRA_DIST): Add group-member.h.
48535         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
48536         * modules/hash (EXTRA_DIST): Add hash.h.
48537         * modules/human (EXTRA_DIST): Add human.h.
48538         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
48539         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
48540         * modules/lchown (EXTRA_DIST): Add lchown.h.
48541         * modules/long-options (EXTRA_DIST): Add long-options.h.
48542         * modules/lstat (EXTRA_DIST): Add lstat.h.
48543         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
48544         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
48545         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
48546         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
48547         * modules/memxor (EXTRA_DIST): Add memxor.h.
48548         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
48549         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
48550         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
48551         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
48552         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
48553         * modules/physmem (EXTRA_DIST): Add physmem.h.
48554         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
48555         * modules/posixver (EXTRA_DIST): Add posixver.h.
48556         * modules/quote (EXTRA_DIST): Add quote.h.
48557         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
48558         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
48559         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
48560         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
48561         regex_internal.h regexec.c.
48562         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
48563         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
48564         * modules/same (EXTRA_DIST): Add same.h.
48565         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
48566         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
48567         * modules/savedir (EXTRA_DIST): Add savedir.h.
48568         * modules/sha1 (EXTRA_DIST): Add sha1.h.
48569         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
48570         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
48571         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
48572         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
48573         * modules/strdup (EXTRA_DIST): Add strdup.h.
48574         * modules/strftime (EXTRA_DIST): Add strftime.h.
48575         * modules/strndup (EXTRA_DIST): Add strndup.h.
48576         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
48577         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
48578         * modules/time_r (EXTRA_DIST): Add time_r.h.
48579         * modules/timespec (EXTRA_DIST): Add timespec.h.
48580         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
48581         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
48582         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
48583         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
48584         * modules/userspec (EXTRA_DIST): Add userspec.h.
48585         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
48586         * modules/utimens (EXTRA_DIST): Add utimens.h.
48587         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
48588         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
48589         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
48590         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
48591         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
48592         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
48593         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
48594         * modules/yesno (EXTRA_DIST): Add yesno.h.
48595
48596 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
48597
48598         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
48599
48600         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
48601         * m4/dev-ino.m4, same-inode.m4: Remove.
48602
48603         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
48604         * m4/acl.m4 (AC_FUNC_ACL):
48605         * m4/backupfile.m4 (gl_BACKUPFILE):
48606         * m4/c-strtod.m4 (gl_C99_STRTOLD):
48607         * m4/canon-host.m4 (gl_CANON_HOST):
48608         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
48609         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
48610         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
48611         * m4/cloexec.m4 (gl_CLOEXEC):
48612         * m4/close-stream.m4 (gl_CLOSE_STREAM):
48613         * m4/closeout.m4 (gl_CLOSEOUT):
48614         * m4/dirfd.m4 (gl_FUNC_DIRFD):
48615         * m4/dirname.m4 (gl_DIRNAME):
48616         * m4/exclude.m4 (gl_EXCLUDE):
48617         * m4/exitfail.m4 (gl_EXITFAIL):
48618         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
48619         * m4/file-type.m4 (gl_FILE_TYPE):
48620         * m4/filemode.m4 (gl_FILEMODE):
48621         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
48622         * m4/fpending.m4 (gl_FUNC_FPENDING):
48623         * m4/fprintftime.m4 (gl_FPRINTFTIME):
48624         * m4/fts.m4 (gl_FUNC_FTS):
48625         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
48626         * m4/getdate.m4 (gl_GETDATE):
48627         * m4/gethrxtime.m4 (gl_GETHRXTIME):
48628         * m4/getpagesize.m4 (gl_GETPAGESIZE):
48629         * m4/getpass.m4 (gl_FUNC_GETPASS):
48630         * m4/gettime.m4 (gl_GETTIME):
48631         * m4/getugroups.m4 (gl_GETUGROUPS):
48632         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
48633         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
48634         * m4/hard-locale.m4 (gl_HARD_LOCALE):
48635         * m4/hash.m4 (gl_HASH):
48636         * m4/idcache.m4 (gl_IDCACHE):
48637         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
48638         * m4/lchown.m4 (gl_FUNC_LCHOWN):
48639         * m4/long-options.m4 (gl_LONG_OPTIONS):
48640         * m4/lstat.m4 (gl_FUNC_LSTAT):
48641         * m4/md5.m4 (gl_MD5):
48642         * m4/memcasecmp.m4 (gl_MEMCASECMP):
48643         * m4/memcoll.m4 (gl_MEMCOLL):
48644         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
48645         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
48646         * m4/memxor.m4 (gl_MEMXOR):
48647         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
48648         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
48649         * m4/modechange.m4 (gl_MODECHANGE):
48650         * m4/mountlist.m4 (gl_MOUNTLIST):
48651         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
48652         * m4/openat.m4 (gl_FUNC_OPENAT):
48653         * m4/pathmax.m4 (gl_PATHMAX):
48654         * m4/physmem.m4 (gl_PHYSMEM):
48655         * m4/posixtm.m4 (gl_POSIXTM):
48656         * m4/posixver.m4 (gl_POSIXVER):
48657         * m4/quote.m4 (gl_QUOTE):
48658         * m4/quotearg.m4 (gl_QUOTEARG):
48659         * m4/readtokens.m4 (gl_READTOKENS):
48660         * m4/readutmp.m4 (gl_READUTMP):
48661         * m4/regex.m4 (gl_REGEX):
48662         * m4/safe-read.m4 (gl_SAFE_READ):
48663         * m4/safe-write.m4 (gl_SAFE_WRITE):
48664         * m4/same.m4 (gl_SAME):
48665         * m4/save-cwd.m4 (gl_SAVE_CWD):
48666         * m4/savedir.m4 (gl_SAVEDIR):
48667         * m4/settime.m4 (gl_SETTIME):
48668         * m4/sha1.m4 (gl_SHA1):
48669         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
48670         * m4/stat-macros.m4 (gl_STAT_MACROS):
48671         * m4/stat-time.m4 (gl_STAT_TIME):
48672         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
48673         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
48674         * m4/strdup.m4 (gl_FUNC_STRDUP):
48675         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
48676         * m4/strndup.m4 (gl_FUNC_STRNDUP):
48677         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
48678         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
48679         * m4/time_r.m4 (gl_TIME_R):
48680         * m4/timespec.m4 (gl_TIMESPEC):
48681         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
48682         * m4/unlinkdir.m4 (gl_UNLINKDIR):
48683         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
48684         * m4/userspec.m4 (gl_USERSPEC):
48685         * m4/utimecmp.m4 (gl_UTIMECMP):
48686         * m4/utimens.m4 (gl_UTIMENS):
48687         * m4/xalloc.m4 (gl_XALLOC):
48688         * m4/xgetcwd.m4 (gl_XGETCWD):
48689         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
48690         * m4/xreadlink.m4 (gl_XREADLINK):
48691         * m4/xstrtod.m4 (gl_XSTRTOD):
48692         * m4/yesno.m4 (gl_YESNO):
48693         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
48694         to get the necessary .h files and whatnot.
48695
48696 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
48697             Bruno Haible  <bruno@clisp.org>
48698
48699         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
48700         /bin/sh understanding of '!' conditional negation.
48701
48702 2006-08-21  Jim Meyering  <jim@meyering.net>
48703
48704         * modules/openat (Depends-on): Really alphabetize.
48705
48706         * modules/acl (Depends-on): Add error and quote.
48707
48708         * check-module (find_included_lib_files): Add at-func.c to the
48709         ok-to-include-more-than-once white list.
48710
48711         * modules/openat (Depends-on): Add lstat.  Alphabetize.
48712
48713 2006-08-21  Bruno Haible  <bruno@clisp.org>
48714
48715         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
48716         Emit a pkgdata_DATA variable only if some snippets add contents to it.
48717         Reported by Martin Lambers <marlam@marlam.de>.
48718
48719 2006-08-21  Bruno Haible  <bruno@clisp.org>
48720
48721         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
48722         specify an installation location, don't emit a noinst_LIBRARIES or
48723         noinst_LTLIBRARIES assignment.
48724
48725 2006-08-21  Bruno Haible  <bruno@clisp.org>
48726
48727         BeOS portability.
48728         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
48729         BeOS has mbrtowc() but no <wctype.h>.
48730
48731 2006-08-21  Bruno Haible  <bruno@clisp.org>
48732
48733         BeOS portability.
48734         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
48735         exist.
48736
48737 2006-08-21  Bruno Haible  <bruno@clisp.org>
48738
48739         BeOS portability.
48740         * lib/mbchar.h: Include <wctype.h> only if it exists.
48741
48742 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
48743
48744         Remove files that are no longer needed by their respective modules.
48745         * m4/obstack.m4: Remove.
48746         * m4/strerror_r.m4: Remove.
48747         * m4/uint32_t.m4: Remove.
48748         * m4/uintptr_t.m4: Remove.
48749         * m4/ullong_max.m4: Remove.
48750         * m4/xstrtoimax.m4: Remove.
48751         * m4/xstrtoumax.m4: Remove.
48752
48753         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
48754         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
48755         dependencies now capture this.
48756
48757         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
48758         Do not use AC_LIBSOURCES, since gnulib modules now do this.
48759         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
48760         * m4/human.m4 (gl_HUMAN): Likewise.
48761         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
48762         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
48763
48764         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
48765
48766         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
48767         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
48768         stdint.
48769         * m4/human.m4 (gl_HUMAN): Likewise.
48770         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
48771         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
48772         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
48773         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
48774         * m4/xstrtol (gl_XSTRTOL): Likewise.
48775
48776         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
48777         AC_TYPE_LONG_LONG_INT.
48778         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
48779         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
48780         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
48781         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
48782
48783         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
48784         on stdbool.
48785
48786         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
48787         (gl_PREREQ_XSTRTOUL): Remove.
48788
48789         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
48790
48791         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
48792         mode.
48793
48794 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
48795
48796         Add and change modules to make it easier for coreutils to use
48797         gnulib-tool.
48798         * modules/backupfile (Files): Remove m4/d-ino.m4.
48799         (Depends-on): Add d-ino.
48800         * modules/cycle-check (Depends-on): Add stdint.
48801         (lib_SOURCES): Add cycle-check.h.
48802         * modules/d-ino: New module.
48803         * modules/d-type: New module.
48804         * modules/error (Files): Remove m4/strerror_r.m4.
48805         * modules/filemode (Files): Add m4/st_dm_mode.m4.
48806         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
48807         m4/inttypes_h.m4, m4/uintmax_t.m4.
48808         (Depends-on): Add stdint.
48809         (lib_SOURCES): Add fsusage.h.
48810         * modules/getcwd (Files): Remove d-ino.m4.
48811         (Depends-on): Add d-ino.
48812         * modules/getndelim2 (Depends-on): Add stdint.
48813         * modules/glob (Files): Remove m4/d-type.m4.
48814         (Depends-on): Add d-type.
48815         * modules/host-os: New module.
48816         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
48817         m4/inttypes_h.m4, m4/uintmax_t.m4.
48818         * Depends-on: Add stdint.
48819         (lib_SOURCES): Add human.h.
48820         * modules/inttostr (Files): Remove m4/intmax_t.m4,
48821         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
48822         m4/uintmax_t.m4, m4/ulonglong.m4.
48823         (Depends-on): Add stdint.
48824         (EXTRA_DIST): Add inttostr.h.
48825         * modules/lchmod: New module.
48826         * modules/link-follow: New module.
48827         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
48828         (Depends-on): Add lchmod.
48829         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
48830         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
48831         (Depends-on): Add stdint.
48832         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
48833         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
48834         (Depends-on): Add stdint.
48835         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
48836         * modules/perl: New module.
48837         * modules/regex (Depends-on): Add stdint.
48838         * modules/rmdir-errno: New module.
48839         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
48840         m4/intmax_t.m4.
48841         (Depends-on): Add stdint.
48842         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
48843         m4/uintmax_t.m4.
48844         (Depends-on): Add stdint.
48845         * modules/unlink-busy: New module.
48846         * modules/utimecmp (Depends-on): Add stdint.
48847         * modules/uptime: New module.
48848         * modules/winsz-ioctl: New module.
48849         * modules/winsz-termios: New module.
48850         * modules/xnanosleep (Depends-on): Add nanosleep.
48851         * modules/ullong_max: Remove.
48852         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
48853         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
48854         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
48855         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
48856         (Depends-on): Add inttypes.
48857         (lib_SOURCES): Add xstrtol.h.
48858         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
48859         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
48860         * MODULES.html.sh: Move 'assert' into the assert section.
48861         Move 'dummy' into the linking section.
48862         Remove ullong_max.
48863         Add section for compatibility checks for POSIX:2001 functions,
48864         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
48865         winsz-ioctl, and winsz-termios into it.
48866         Add lchmod.
48867         Add top-level Misc section and put host-os, perl, and uptime
48868         into it.
48869
48870 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
48871
48872         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
48873         now assume the stdint module.  Do not include inttypes.h.
48874         * lib/fsusage.h: Likewise.
48875         * lib/getndelim2.c: Likewise.
48876         * lib/human.h: Likewise.
48877         * lib/inttostr.h: Likewise.
48878         * lib/obstack.c: Likewise.
48879         * lib/regex_internal.h: Likewise.
48880         * lib/tempname.c: Likewise.
48881         * lib/utimecmp.c: Likewise.
48882         * lib/xstrtol.h: Likewise.
48883
48884         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
48885
48886         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
48887         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
48888         * lib/xtime.h: Likewise.
48889
48890 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
48891
48892         * modules/openat (Files): Add lib/fchmodat.c.
48893         Fixes problem reported by Jay Youngman.
48894
48895 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
48896
48897         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
48898         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
48899
48900 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
48901             Bruno Haible  <bruno@clisp.org>
48902
48903         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
48904         and is a script that invokes bison. Tighten the code. Add comments.
48905
48906 2006-08-18  Jim Meyering  <jim@meyering.net>
48907
48908         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
48909         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
48910         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
48911         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
48912
48913 2006-08-18  Bruno Haible  <bruno@clisp.org>
48914
48915         * modules/bison-i18n: New file.
48916         * MODULES.html.sh (Internationalization functions): Add it.
48917
48918 2006-08-18  Bruno Haible  <bruno@clisp.org>
48919
48920         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
48921         sys/statvfs.h. When getmntinfo was found, check its declaration and
48922         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
48923
48924 2006-08-18  Bruno Haible  <bruno@clisp.org>
48925
48926         * m4/bison-i18n.m4: New file, from bison.
48927
48928 2006-08-18  Bruno Haible  <bruno@clisp.org>
48929
48930         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
48931         (ME_DUMMY): Treat "kernfs" as a dummy.
48932         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
48933
48934 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
48935
48936         Update from coreutils.
48937
48938         2006-08-15  Jim Meyering  <jim@meyering.net>
48939
48940         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
48941
48942         2006-01-17  Jim Meyering  <jim@meyering.net>
48943
48944         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
48945
48946         2006-01-11  Jim Meyering  <jim@meyering.net>
48947
48948         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
48949         Check for the lchmod function.
48950
48951 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
48952
48953         Update from coreutils.
48954
48955         * lib/__fpending.h: Add copyright notice.
48956         * lib/fprintftime.h: Likewise.
48957         * lib/savedir.c: Use (C) in copyright notice.
48958         * lib/savedir.h: Likewise.
48959
48960         2006-08-15  Jim Meyering  <jim@meyering.net>
48961
48962         * lib/at-func.c: New file, with the logic of all emulated at-functions.
48963         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
48964         in support of the EXPECTED_ERRNO macro.
48965         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
48966         definitions.  Instead, define the appropriate symbols and include
48967         "at-func.c".
48968         * lib/mkdirat.c (mkdirat): Likewise.
48969         * lib/fchmodat.c (fchmodat): Likewise.
48970         (ENOSYS): Remove definition.
48971         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
48972         it.  Don't include "unistd--.h" -- it wasn't ever used.
48973
48974         2006-01-17  Jim Meyering  <jim@meyering.net>
48975
48976         Rewrite fts.c not to change the current working directory,
48977         by using openat, fstatat, fdopendir, etc..
48978
48979         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
48980         (HAVE_OPENAT_SUPPORT): Define.
48981         [_LIBC] (fchdir): Don't undef or define; no longer used.
48982         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
48983         Now, this `function' always succeeds, and consumes its file descriptor
48984         parameter -- so callers must not close such FDs.  Update callers.
48985         (diropen_fd, opendirat, cwd_advance_fd): New functions.
48986         (diropen): Add parameter, SP.  Adjust all callers.
48987         Implement using diropen_fd, rather than open.
48988         (fts_open): Initialize new member, fts_cwd_fd.
48989         Remove fts_rft-setting code.
48990         (fts_close): Close fts_cwd_fd, if necessary.
48991         (__opendir2): Define in terms of opendir or opendirat,
48992         depending on whether the FST_NOCHDIR flag is set.
48993         (fts_build): Since fts_safe_changedir consumes its FD, and since
48994         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
48995         and close the dup'd file descriptor upon failure.
48996         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
48997         (fts_safe_changedir): Tweak semantics to reflect that this function
48998         now calls cwd_advance_fd and hence consumes its FD argument.
48999         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
49000         [struct FTS] (fts_rft): Remove now-unused member.
49001         [struct FTS] (fts_cycle.state): Improve comment.
49002
49003         * lib/openat.c (openat_needs_fchdir): New function.
49004         * lib/openat.h (openat_needs_fchdir): Declare it.
49005
49006 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
49007
49008         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
49009         Problem and fix reported by Pádraig Brady in
49010         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
49011
49012 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
49013
49014         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
49015
49016 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
49017
49018         * lib/memcoll.c (memcoll): Optimize for the common case where the
49019         arguments are bytewise equal.
49020
49021 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
49022
49023         * doc/regexprops-generic.texi: Add a copyright notice.
49024
49025 2006-08-15  Bruno Haible  <bruno@clisp.org>
49026
49027         * modules/tmpdir (License): Change to LGPL.
49028
49029 2006-08-15  Bruno Haible  <bruno@clisp.org>
49030
49031         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
49032         module.
49033
49034 2006-08-14  Simon Josefsson  <jas@extundo.com>
49035
49036         * config/srclist.txt: Add gnupload.
49037
49038 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
49039
49040         Change copyright notice from LGPL 2 to GPL 2, since that's the
49041         standard form used in the gnulib repository.
49042         * tests/test-lock.c: Likewise.
49043         * tests/test-stdint.c: Likewise.
49044         * tests/test-tls.c: Likewise.
49045
49046         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
49047         prelude-manager.  User shorter URLs for GNU projects, without '?'.
49048         Add copyright notice.
49049
49050         * check-module: Add copyright notice.  Output a copyright
49051         notice if "--version" is specified.
49052         * modules/COPYING: New file.
49053         * tests/test-getaddrinfo.c: Add copyright notice.
49054         * tests/test-verify.c: Likewise.
49055
49056 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
49057
49058         Change copyright notice from LGPL 2 to GPL 2, since that's the
49059         standard form used in the gnulib repository.
49060         * lib/lock.c: LGPL -> GPL.
49061         * lib/lock.h: Likewise.
49062         * lib/strnlen1.c: Likewise.
49063         * lib/strnlen1.h: Likewise.
49064         * lib/tls.c: Likewise.
49065         * lib/tls.h: Likewise.
49066         * lib/tmpdir.c: Likewise.
49067
49068         * lib/TODO: Remove; this belongs only in coreutils.
49069
49070 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
49071
49072         Add copyright notices to long-enough files that lack them, since
49073         otherwise the files aren't clearly free.  Use the same notice that
49074         getdate.texi already uses.
49075         * doc/alloca-opt.texi: Add copyright notice.
49076         * doc/alloca.texi: Likewise.
49077         * doc/ctime.texi: Likewise.
49078         * doc/functions.texi: Likewise.
49079         * doc/gcd.texi: Likewise.
49080         * doc/gnulib-tool.texi: Likewise.
49081         * doc/inet_ntoa.texi: Likewise.
49082         * doc/visibility.texi: Likewise.
49083
49084         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
49085         * doc/quote.texi: Add copyright notice.
49086
49087         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
49088         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
49089         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
49090         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
49091         is now obsolete, and give a pointer to the Sun list.
49092         Add copyright notice.
49093
49094 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
49095
49096         * config/srclistvars.sh: Add copyright notice.
49097
49098 2006-08-14  Eric Blake  <ebb9@byu.net>
49099
49100         Import the following change from libc:
49101
49102         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
49103
49104         Upstream bug 2997.
49105         * lib/misc/error.c: Add space between program name and message if file
49106         name is missing.
49107
49108 2006-08-12  Karl Berry  <karl@gnu.org>
49109
49110         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
49111         remove, these originate in gnulib now.
49112
49113 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49114
49115         * doc/Makefile (standards.info standards.html standards.dvi):
49116         Also depend on make-stds.texi.
49117
49118 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
49119
49120         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
49121         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
49122
49123         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
49124         in wchar_t.  Problem reported by Eric Blake.
49125
49126         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
49127         LEN is smaller than SIZE.  Suggested by Bruno Haible.
49128         Also, help the compiler to keep LEN in a register.
49129
49130 2006-08-11  Eric Blake  <ebb9@byu.net>
49131
49132         * users.txt: Sort.  Add tar.
49133
49134 2006-08-11  Bruno Haible  <bruno@clisp.org>
49135
49136         * users.txt: New file.
49137
49138 2006-08-11  Bruno Haible  <bruno@clisp.org>
49139
49140         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
49141         before <wchar.h>. Needed for OSF/1 and BSD/OS.
49142
49143 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
49144
49145         * modules/snprintf (Depends-on): Remove minmax.
49146         (Maintainer): Add self and Bruno.
49147
49148 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
49149
49150         * lib/.cppi-disable: Add snprintf.h, socket_.h.
49151         * lib/snprintf.c: Include <errno.h> and <limits.h>.
49152         (EOVERFLOW): Define if the system does not.
49153         Do not include "minmax.h"; it wasn't used.
49154         (snprintf): Don't assume size_t promotes to an unsigned type.
49155         Fix bug when generated string was too long for the buffer: the
49156         buffer's contents are supposed to be the initial prefix of the
49157         output.  Don't assume vasnprintf returns EOVERFLOW if the size
49158         exceeds INT_MAX; do the check ourselves.
49159
49160         Import the following changes from libc:
49161
49162         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
49163
49164         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
49165         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
49166         set wc to the byte which couldn't be converted.
49167         (re_string_reconstruct): Don't clear valid_raw_len before calling
49168         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
49169         tip_context using re_string_context_at.
49170
49171         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
49172
49173         * lib/posix/regex.h: g++ still cannot handled [restrict].
49174
49175         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
49176
49177         * lib/posix/regex.h: Remove special handling for VMS.
49178
49179 2006-08-10  Jim Meyering  <jim@meyering.net>
49180
49181         * modules/same-inode: New module.
49182         * modules/dev-ino: New module.
49183         * modules/cycle-check: Depend on these modules, rather than simply
49184         including their .h files.
49185         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
49186         required via m4/cycle-check.m4.
49187         * modules/same: Depend on new same-inode module, rather than
49188         including same-inode.h.
49189         * modules/chdir-safer: New file.
49190
49191         * modules/chown (Depends-on): Add stat-macros.
49192
49193 2006-08-10  Jim Meyering  <jim@meyering.net>
49194
49195         * m4/cycle-check.m4: New file.
49196         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
49197         * m4/dev-ino.m4, m4/same-inode.m4: New files.
49198
49199 2006-08-10  Eric Blake  <ebb9@byu.net>
49200
49201         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
49202         in from original proposal.
49203
49204 2006-08-10  Eric Blake  <ebb9@byu.net>
49205         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
49206
49207         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
49208         namespace.
49209
49210 2006-08-10  Bruno Haible  <bruno@clisp.org>
49211
49212         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
49213         as well.
49214
49215 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
49216
49217         Sync from coreutils.
49218
49219         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
49220
49221         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
49222         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
49223
49224 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
49225
49226         * modules/restrict: Remove; no longer needed now that we assume
49227         Autoconf 2.59 or later.
49228         * MODULES.html.sh: Remove 'restrict'.
49229         * modules/argp (Depends-on): Remove 'restrict'.
49230         * modules/base64 (Depends-on): Likewise.
49231         * modules/gc (Depends-on): Likewise.
49232         * modules/getaddrinfo (Depends-on): Likewise.
49233         * modules/glob (Depends-on): Likewise.
49234         * modules/inet_ntop (Depends-on): Likewise.
49235         * modules/inet_pton (Depends-on): Likewise.
49236         * modules/memxor (Depends-on): Likewise.
49237         * modules/regex (Depends-on): Likewise.
49238         * modules/strtok_r (Depends-on): Likewise.
49239         * modules/time_r (Depends-on): Likewise.
49240
49241 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
49242
49243         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
49244         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
49245         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
49246         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
49247         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
49248         * m4/memxor.m4 (gl_MEMXOR): Likewise.
49249         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
49250         gl_C_RESTRICT replaced by AC_C_RESTRICT.
49251
49252         Merge from coreutils.
49253         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
49254         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
49255         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
49256         * m4/time_r.m4 (gl_TIME_R): Likewise.
49257
49258 2006-08-09  Karl Berry  <karl@gnu.org>
49259
49260         * config/srclist.txt: no more gettext-tools, per Bruno.
49261
49262 2006-08-08  Eric Blake  <ebb9@byu.net>
49263
49264         * modules/verror: New module.
49265         * MODULES.html.sh: Document it.
49266
49267 2006-08-08  Eric Blake  <ebb9@byu.net>
49268
49269         * lib/verror.h, lib/verror.c: New files.
49270
49271 2006-08-08  Eric Blake  <ebb9@byu.net>
49272
49273         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
49274         verror_at_line output complies with GNU Coding Standards even when
49275         file is NULL.
49276
49277 2006-08-07  Bruno Haible  <bruno@clisp.org>
49278
49279         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
49280         versions of AIX.
49281         Reported by Ralf Wildenhues.
49282
49283 2006-08-07  Bruno Haible  <bruno@clisp.org>
49284
49285         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
49286         in an AC_DEFUN. Needed so that the autoconf snippets can use
49287         AC_REQUIRE.
49288
49289 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49290
49291         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
49292         Initialize pkgdata_DATA.
49293         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
49294         overriding it.
49295
49296 2006-08-06  Eric Blake  <ebb9@byu.net>
49297
49298         * lib/error.h: Fold in some upstream changes from glibc.
49299         * lib/error.c: Likewise.
49300
49301 2006-08-04  Bruno Haible  <bruno@clisp.org>
49302
49303         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
49304         Make the mostlyclean-local rule depend on mostlyclean-generic.
49305         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
49306
49307 2006-07-31  Bruno Haible  <bruno@clisp.org>
49308
49309         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
49310         <stdlib.h>, <string.h>.
49311
49312 2006-07-30  Bruno Haible  <bruno@clisp.org>
49313
49314         * modules/readlink (License): Change to LGPL.
49315
49316 2006-07-30  Bruno Haible  <bruno@clisp.org>
49317
49318         * modules/javaversion (Makefile.am): Distribute javaversion.java and
49319         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
49320         set PKGDATADIR to point to it.
49321
49322 2006-07-30  Bruno Haible  <bruno@clisp.org>
49323
49324         * modules/csharpexec (configure.ac): Comment out macro invocation.
49325         * modules/javaexec (configure.ac): Likewise.
49326         * modules/javacomp-script (configure.ac): Likewise.
49327
49328         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
49329
49330 2006-07-30  Bruno Haible  <bruno@clisp.org>
49331
49332         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
49333         linked-list.
49334
49335 2006-07-30  Bruno Haible  <bruno@clisp.org>
49336
49337         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
49338
49339 2006-07-30  Bruno Haible  <bruno@clisp.org>
49340
49341         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
49342         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
49343         get removed.
49344
49345 2006-07-29  Bruno Haible  <bruno@clisp.org>
49346
49347         Make it possible for gnulib-tool to work with locally modified or
49348         augmented gnulib repositories.
49349         * gnulib-tool (func_usage): Document --local-dir option.
49350         (local_gnulib_dir): New variable.
49351         Handle --local-dir option.
49352         (func_lookup_file): New function.
49353         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
49354         (func_get_description, func_get_filelist, func_get_description,
49355         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
49356         func_get_automake_snippet, func_get_include_directive,
49357         func_get_license, func_get_maintainer): Use func_lookup_file.
49358         (func_import, func_create_testdir): Use func_lookup_file.
49359
49360 2006-07-29  Bruno Haible  <bruno@clisp.org>
49361
49362         * modules/setenv (Depends-on): Add unistd.
49363
49364 2006-07-29  Bruno Haible  <bruno@clisp.org>
49365
49366         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
49367
49368 2006-07-29  Bruno Haible  <bruno@clisp.org>
49369
49370         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
49371
49372 2006-07-29  Bruno Haible  <bruno@clisp.org>
49373
49374         * gnulib-tool (import, update): If there is no Makefile.am, look at
49375         aclocal.m4, instead of bailing out.
49376
49377 2006-07-29  Bruno Haible  <bruno@clisp.org>
49378
49379         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
49380         Categorize the options by when they are useful.
49381
49382 2006-07-29  Bruno Haible  <bruno@clisp.org>
49383
49384         * gnulib-tool (func_usage): Document option --no-libtool.
49385         Handle option --no-libtool.
49386         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
49387         for changed semantics of $libtool variable.
49388         (func_import): Likewise. If libtool is not used, show this through
49389         an option --no-libtool.
49390         (func_create_testdir): Update.
49391
49392 2006-07-29  Bruno Haible  <bruno@clisp.org>
49393
49394         * gnulib-tool (func_import): Extend error message about missing
49395         --doc-base.
49396
49397 2006-07-29  Bruno Haible  <bruno@clisp.org>
49398
49399         * gnulib-tool (func_import): Don't create the $docbase directory if
49400         there is no file to store there.
49401
49402 2006-07-29  Bruno Haible  <bruno@clisp.org>
49403
49404         * gnulib-tool (autoconf_minversion): If a --dir option is given and
49405         relevant, look for configure.ac there, not in the current directory.
49406         Also use a simple search for AC_PREREQ, not "autoconf --trace".
49407
49408 2006-07-29  Bruno Haible  <bruno@clisp.org>
49409
49410         * gnulib-tool (SORT): New variable.
49411         (func_usage): Undocument --assume-autoconf option.
49412         Remove --assume-autoconf option handling.
49413         (autoconf_minversion): Determine from the contents of configure.ac.
49414         (func_import): Remove autoconf_minversion handling.
49415         Suggested by Eric Blake.
49416
49417 2006-07-29  Bruno Haible  <bruno@clisp.org>
49418
49419         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
49420
49421 2006-07-29  Bruno Haible  <bruno@clisp.org>
49422
49423         * config/srclist.txt (*setenv.[ch]): Remove rules.
49424
49425 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49426
49427         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
49428
49429 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49430
49431         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
49432         arpa/inet.h.
49433
49434 2006-07-28  Simon Josefsson  <jas@extundo.com>
49435
49436         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
49437         * modules/inet_pton (Depends-on): Likewise.
49438
49439 2006-07-28  Simon Josefsson  <jas@extundo.com>
49440
49441         * m4/netinet_in_h.m4: New file.
49442
49443 2006-07-28  Simon Josefsson  <jas@extundo.com>
49444
49445         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
49446         #include's.
49447
49448 2006-07-28  Simon Josefsson  <jas@extundo.com>
49449
49450         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
49451         #include's.
49452
49453 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
49454
49455         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
49456         setgid on directories only if they set these bits.
49457         * lib/modechange.h: Remove obsolete comment about masks.
49458
49459 2006-07-28  Eric Blake  <ebb9@byu.net>
49460
49461         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
49462         macro expansion.
49463
49464 2006-07-28  Bruno Haible  <bruno@clisp.org>
49465
49466         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
49467
49468 2006-07-28  Bruno Haible  <bruno@clisp.org>
49469
49470         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
49471
49472 2006-07-28  Bruno Haible  <bruno@clisp.org>
49473
49474         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
49475         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
49476         Define fallbacks.
49477         Avoids link error on FreeBSD 4.x.
49478         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
49479
49480         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
49481         encoding.
49482         * lib/mbswidth.c (iswcntrl): Likewise.
49483
49484 2006-07-27  Bruno Haible  <bruno@clisp.org>
49485
49486         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
49487         test.
49488
49489 2006-07-27  Bruno Haible  <bruno@clisp.org>
49490
49491         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
49492         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
49493         defined.
49494
49495 2006-07-26  Eric Blake  <ebb9@byu.net>
49496
49497         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
49498
49499 2006-07-26  Eric Blake  <ebb9@byu.net>
49500
49501         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
49502         like mingw that lack mkstemp.
49503         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
49504         avoid compilation warning on mingw.
49505
49506 2006-07-26  Bruno Haible  <bruno@clisp.org>
49507
49508         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
49509         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
49510         INT_FAST*_MIN, INTPTR_MIN.
49511
49512 2006-07-25  Bruno Haible  <bruno@clisp.org>
49513
49514         * modules/version-etc (Depends-on): Add stdarg.
49515
49516 2006-07-25  Bruno Haible  <bruno@clisp.org>
49517
49518         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
49519         complex commands.
49520
49521 2006-07-25  Bruno Haible  <bruno@clisp.org>
49522
49523         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
49524         defined in <stdarg.h> or config.h.
49525
49526 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
49527
49528         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
49529         (gl_STDIO_SAFER): Remove.
49530
49531 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
49532
49533         * MODULES.html.sh (File stream based Input/Output):
49534         Add fopen-safer, tmpfile-safer; remove stdio-safer.
49535         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
49536         * modules/fopen-safer, modules/tmpfile-safer: New files.
49537         * modules/stdio-safer: Remove.
49538
49539 2006-07-24  Bruno Haible  <bruno@clisp.org>
49540
49541         * modules/tmpdir: New file.
49542         * MODULES.html.sh (File system functions): Add it.
49543
49544 2006-07-24  Bruno Haible  <bruno@clisp.org>
49545
49546         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
49547         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
49548
49549 2006-07-24  Bruno Haible  <bruno@clisp.org>
49550
49551         * modules/clean-temp: New file.
49552
49553 2006-07-24  Bruno Haible  <bruno@clisp.org>
49554
49555         * m4/tmpdir.m4: New file, from GNU gettext.
49556
49557 2006-07-24  Bruno Haible  <bruno@clisp.org>
49558
49559         * lib/tmpdir.h: New file, from GNU gettext.
49560         * lib/tmpdir.c: New file, from GNU gettext.
49561
49562 2006-07-24  Bruno Haible  <bruno@clisp.org>
49563
49564         * lib/clean-temp.h: New file, from GNU gettext.
49565         * lib/clean-temp.c: New file, from GNU gettext.
49566
49567 2006-07-23  Eric Blake  <ebb9@byu.net>
49568
49569         * modules/stdio-safer (Files): Add tmpfile-safer.c.
49570         (Depends-on): Add binary-io.
49571
49572 2006-07-23  Eric Blake  <ebb9@byu.net>
49573
49574         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
49575
49576 2006-07-23  Eric Blake  <ebb9@byu.net>
49577
49578         * lib/tmpfile-safer.c: New file.
49579         * lib/stdio-safer.h (fopen_safer): Add prototype.
49580         * lib/stdio--.h (tmpfile): Make safer.
49581
49582 2006-07-23  Bruno Haible  <bruno@clisp.org>
49583
49584         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
49585         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
49586         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
49587         gl_linked_remove_at): Use it.
49588
49589 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49590         and Simon Josefsson <jas@extundo.com>
49591
49592         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
49593
49594         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
49595
49596 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
49597
49598         * modules/close-stream: New file.
49599         * modules/closeout (Description): Make it clear that it exits
49600         with a diagnostic on error.
49601         (Depends-on): Add close-stream.  Remove fpending, stdbool.
49602         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
49603
49604 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
49605
49606         * m4/close-stream.m4: New file.
49607
49608 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
49609
49610         * lib/close-stream.c, lib/close-stream.h: New files.
49611
49612 2006-07-22  Bruno Haible  <bruno@clisp.org>
49613
49614         Merge from GNU gettext 0.15.
49615
49616         2006-05-01  Bruno Haible  <bruno@clisp.org>
49617
49618                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
49619
49620         2006-07-22  Bruno Haible  <bruno@clisp.org>
49621
49622                 * modules/javaversion: New file.
49623                 * MODULES.html.sh (Java): Add javaversion.
49624
49625         2006-03-12  Bruno Haible  <bruno@clisp.org>
49626
49627                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
49628
49629         2005-12-04  Bruno Haible  <bruno@clisp.org>
49630
49631                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
49632                 (untested).
49633
49634         2006-06-21  Bruno Haible  <bruno@clisp.org>
49635
49636                 Avoid warnings from recent versions of mcs.
49637                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
49638                 -o, -L, -r any more. Use options documented since mcs-1.0
49639                 instead. Similarly for -g.
49640
49641         2005-12-04  Bruno Haible  <bruno@clisp.org>
49642
49643                 * build-aux/csharpcomp.sh.in: Suffix for resources is
49644                 .resources, not .resource.
49645
49646         2005-07-09  Bruno Haible  <bruno@clisp.org>
49647
49648                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
49649                 add a .dll suffix.
49650                 Reported by Mark Junker <mjscod@gmx.de>.
49651
49652         2006-07-22  Bruno Haible  <bruno@clisp.org>
49653
49654                 * modules/gettext: Upgrade to gettext-0.15.
49655                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
49656                 m4/visibility.m4.
49657                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
49658
49659 2006-07-22  Bruno Haible  <bruno@clisp.org>
49660
49661         Merge from GNU gettext 0.15.
49662
49663         2006-03-25  Bruno Haible  <bruno@clisp.org>
49664
49665                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
49666
49667         2006-07-21  Bruno Haible  <bruno@clisp.org>
49668
49669                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
49670                 "1.1".
49671
49672         2006-05-09  Bruno Haible  <bruno@clisp.org>
49673
49674                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
49675                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
49676                 for the conftestver execution.
49677
49678         2006-05-01  Bruno Haible  <bruno@clisp.org>
49679
49680                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
49681                 optional target-version argument. Verify that the compiler
49682                 groks source of the specified source-version, or add -source
49683                 option as necessary. Verify that the compiler produces
49684                 bytecode in the specified target-version, or add -target and
49685                 -source options as necessary. Make the result of the test
49686                 available as variable CONF_JAVAC. Also log error output in
49687                 config.log.
49688
49689         2006-03-11  Bruno Haible  <bruno@clisp.org>
49690
49691                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
49692
49693         2006-05-09  Bruno Haible  <bruno@clisp.org>
49694
49695                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
49696                 CLASSPATH_SEPARATOR to a semicolon.
49697
49698         2006-03-12  Bruno Haible  <bruno@clisp.org>
49699
49700                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
49701                 available as variable CONF_JAVA, for subsequent autoconf
49702                 tests. Also log error output in config.log.
49703
49704         2006-07-19  Bruno Haible  <bruno@clisp.org>
49705
49706                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
49707                 that getline works on glibc2 systems. Needed to avoid trouble
49708                 in relocatable.c.
49709                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
49710
49711         2005-12-04  Bruno Haible  <bruno@clisp.org>
49712
49713                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
49714                 launcher (untested).
49715
49716         2005-12-04  Bruno Haible  <bruno@clisp.org>
49717
49718                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
49719
49720         2006-07-22  Bruno Haible  <bruno@clisp.org>
49721
49722                 * gettext.m4: Update from GNU gettext-0.15.
49723                 * nls.m4: Likewise.
49724                 * po.m4: Likewise.
49725                 * inttypes-pri.m4: Likewise.
49726                 * inttypes-h.m4: Renamed from inttypes.m4.
49727                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
49728
49729 2006-07-22  Bruno Haible  <bruno@clisp.org>
49730
49731         Merge from GNU gettext 0.15.
49732
49733         2005-07-05  Bruno Haible  <bruno@clisp.org>
49734
49735                 * printf-args.c (printf_fetchargs): Work around broken
49736                 definition of wint_t on mingw.
49737
49738         2005-02-12  Bruno Haible  <bruno@clisp.org>
49739
49740                 * xallocsa.h: Add extern "C" for C++.
49741
49742         2006-05-17  Bruno Haible  <bruno@clisp.org>
49743
49744                 Cygwin portability.
49745                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
49746
49747         2006-04-30  Bruno Haible  <bruno@clisp.org>
49748
49749                 * progreloc.c: Include <mach-o/dyld.h> if available.
49750                 (find_executable): Use _NSGetExecutablePath when possible.
49751
49752         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
49753
49754                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
49755                 function.
49756
49757         2005-12-29  Bruno Haible  <bruno@clisp.org>
49758
49759                 * progreloc.c (set_program_name_and_installdir): Fix
49760                 compilation error.
49761
49762         2005-12-04  Bruno Haible  <bruno@clisp.org>
49763
49764                 Cygwin portability.
49765                 * progreloc.c: Include <windows.h> also on Cygwin.
49766                 (find_executable): Add support for Cygwin.
49767                 (set_program_name_and_installdir): Handle also platforms with
49768                 nonempty EXEEXT.
49769
49770         2006-07-11  Bruno Haible  <bruno@clisp.org>
49771
49772                 * javacomp.c: Fix a comment.
49773                 Reported by Jim Meyering.
49774
49775         2006-04-30  Bruno Haible  <bruno@clisp.org>
49776
49777                 * javacomp.h (compile_java_class): Add source_version,
49778                 target_version arguments.
49779                 * javacomp.c: Rewritten to choose only a compiler that
49780                 respects the specified source_version and target_version.
49781
49782         2006-06-27  Bruno Haible  <bruno@clisp.org>
49783
49784                 Assume correct S_ISDIR macro.
49785                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
49786
49787         2006-07-22  Bruno Haible  <bruno@clisp.org>
49788
49789                 * javaversion.h: New file, from GNU gettext.
49790                 * javaversion.c: New file, from GNU gettext.
49791                 * javaversion.java: New file, from GNU gettext.
49792                 * javaversion.class: New file, from GNU gettext.
49793
49794         2006-05-17  Bruno Haible  <bruno@clisp.org>
49795
49796                 Cygwin portability.
49797                 * javaexec.c (execute_java_class): Test for jview program
49798                 also on Cygwin.
49799
49800         2006-04-09  Bruno Haible  <bruno@clisp.org>
49801
49802                 * fatal-signal.c: Don't include string.h.
49803                 (at_fatal_signal): Use a copying loop instead of memcpy.
49804
49805         2005-12-04  Bruno Haible  <bruno@clisp.org>
49806
49807                 * csharpexec.c: Add support for 'clix' launcher (untested).
49808                 (execute_csharp_using_sscli): New function.
49809                 (execute_csharp_program): Call it.
49810
49811         2006-06-21  Bruno Haible  <bruno@clisp.org>
49812
49813                 Avoid warnings from recent versions of mcs.
49814                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
49815                 -o, -L, -r any more. Use options documented since mcs-1.0
49816                 instead. Similarly for -g.
49817
49818         2005-07-09  Bruno Haible  <bruno@clisp.org>
49819
49820                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
49821                 add a .dll suffix.
49822                 Reported by Mark Junker <mjscod@gmx.de>.
49823
49824         2006-06-17  Bruno Haible  <bruno@clisp.org>
49825
49826                 * config.charset: Update for NetBSD 3.0.
49827
49828         2006-05-17  Bruno Haible  <bruno@clisp.org>
49829
49830                 Cygwin portability.
49831                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
49832
49833         2006-05-16  Bruno Haible  <bruno@clisp.org>
49834
49835                 * localcharset.c [CYGWIN]: Include <windows.h>.
49836                 (get_charset_aliases): For Cygwin, return the same CPxxx
49837                 aliases list as under WIN32.
49838                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
49839                 the environment variables. Fall back to GetACP().
49840
49841         2006-04-05  Bruno Haible  <bruno@clisp.org>
49842
49843                 * config.charset: Update Juan Manuel Guerrero's address.
49844
49845         2005-02-12  Bruno Haible  <bruno@clisp.org>
49846
49847                 * allocsa.h: Add extern "C" for C++.
49848
49849         2005-02-10  Bruno Haible  <bruno@clisp.org>
49850
49851                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
49852                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
49853
49854         2006-07-22  Bruno Haible  <bruno@clisp.org>
49855
49856                 * gettext.h: Update to GNU gettext-0.15.
49857
49858 2006-07-22  Bruno Haible  <bruno@clisp.org>
49859
49860         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
49861         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
49862         lib-prefix.m4, longdouble.m4, ssize_t.m4.
49863
49864 2006-07-21  Eric Blake  <ebb9@byu.net>
49865
49866         * modules/stdlib-safer: New file.
49867         * MODULES.html.sh (File stream based Input/Output): Add
49868         stdlib-safer.
49869
49870 2006-07-21  Eric Blake  <ebb9@byu.net>
49871
49872         * lib/stdlib-safer.h: New file from coreutils, required by
49873         stdlib--.h.
49874
49875 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
49876
49877         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
49878
49879 2006-07-20  Bruno Haible  <bruno@clisp.org>
49880
49881         * gnulib-tool: Recognize new option --assume-autoconf.
49882         (autoconf_minversion): New variable.
49883         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
49884
49885 2006-07-20  Bruno Haible  <bruno@clisp.org>
49886
49887         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
49888
49889 2006-07-19  Derek R. Price  <derek@ximbiot.com>
49890
49891         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
49892         Reindent and repaginate.
49893
49894 2006-07-19  Derek Price  <derek@ximbiot.com>
49895
49896         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
49897         Correct grammar.
49898
49899 2006-07-17  Bruno Haible  <bruno@clisp.org>
49900
49901         * modules/list: New file.
49902         * modules/array-list: New file.
49903         * modules/carray-list, modules/carray-list-tests: New files.
49904         * modules/linked-list, modules/linked-list-tests: New files.
49905         * modules/avltree-list, modules/avltree-list-tests: New files.
49906         * modules/rbtree-list, modules/rbtree-list-tests: New files.
49907         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
49908         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
49909         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
49910         * modules/oset: New file.
49911         * modules/array-oset: New file.
49912         * modules/avltree-oset, modules/avltree-oset-tests: New files.
49913         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
49914         * tests/test-carray_list.c: New file.
49915         * tests/test-linked_list.c: New file.
49916         * tests/test-avltree_list.c: New file.
49917         * tests/test-rbtree_list.c: New file.
49918         * tests/test-linkedhash_list.c: New file.
49919         * tests/test-avltreehash_list.c: New file.
49920         * tests/test-rbtreehash_list.c: New file.
49921         * tests/test-avltree_oset.c: New file.
49922         * tests/test-rbtree_oset.c: New file.
49923         * MODULES.html.sh (Container data structures): New section.
49924
49925 2006-07-17  Bruno Haible  <bruno@clisp.org>
49926
49927         * m4/gl_list.m4: New file.
49928
49929 2006-07-17  Bruno Haible  <bruno@clisp.org>
49930
49931         * lib/gl_list.h: New file.
49932         * lib/gl_list.c: New file.
49933         * lib/gl_array_list.h: New file.
49934         * lib/gl_array_list.c: New file.
49935         * lib/gl_carray_list.h: New file.
49936         * lib/gl_carray_list.c: New file.
49937         * lib/gl_linked_list.h: New file.
49938         * lib/gl_linked_list.c: New file.
49939         * lib/gl_anylinked_list1.h: New file.
49940         * lib/gl_anylinked_list2.h: New file.
49941         * lib/gl_avltree_list.h: New file.
49942         * lib/gl_avltree_list.c: New file.
49943         * lib/gl_anyavltree_list1.h: New file.
49944         * lib/gl_anyavltree_list2.h: New file.
49945         * lib/gl_rbtree_list.h: New file.
49946         * lib/gl_rbtree_list.c: New file.
49947         * lib/gl_anyrbtree_list1.h: New file.
49948         * lib/gl_anyrbtree_list2.h: New file.
49949         * lib/gl_anytree_list1.h: New file.
49950         * lib/gl_anytree_list2.h: New file.
49951         * lib/gl_linkedhash_list.h: New file.
49952         * lib/gl_linkedhash_list.c: New file.
49953         * lib/gl_anyhash_list1.h: New file.
49954         * lib/gl_anyhash_list2.h: New file.
49955         * lib/gl_avltreehash_list.h: New file.
49956         * lib/gl_avltreehash_list.c: New file.
49957         * lib/gl_rbtreehash_list.h: New file.
49958         * lib/gl_rbtreehash_list.c: New file.
49959         * lib/gl_anytreehash_list1.h: New file.
49960         * lib/gl_anytreehash_list2.h: New file.
49961
49962         * lib/gl_oset.h: New file.
49963         * lib/gl_oset.c: New file.
49964         * lib/gl_array_oset.h: New file.
49965         * lib/gl_array_oset.c: New file.
49966         * lib/gl_avltree_oset.h: New file.
49967         * lib/gl_avltree_oset.c: New file.
49968         * lib/gl_rbtree_oset.h: New file.
49969         * lib/gl_rbtree_oset.c: New file.
49970         * lib/gl_anytree_oset.h: New file.
49971
49972 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
49973
49974         * m4/mkancesdirs.m4: New file.
49975         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
49976         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
49977         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
49978         it.
49979
49980 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
49981
49982         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
49983         * lib/mkancesdirs.h: New files.
49984         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
49985         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
49986         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
49987         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
49988         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
49989         callers changed.  Revamp internals significantly, by not
49990         attempting to create directories that are temporarily more
49991         permissive than the final results.  Do not attempt to use
49992         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
49993         This removes some race conditions, fixes some bugs, and simplifies
49994         things.  Use new dirchownmod function to do owner and mode changes.
49995         * lib/mkdir-p.h: Likewise.
49996         * lib/modechange.c (octal_to_mode): New function.
49997         (struct mode_change): New member mentioned.
49998         (make_node_op_equals): New arg mentioned.  All callers changed.
49999         (mode_compile): Keep track of which mode bits the user has explicitly
50000         mentioned.
50001         (mode_adjust): New arg DIR, so that we implement the X op correctly.
50002         New arg PMODE_BITS, to keep track of which mode bits the user
50003         mentioned; it treats S_ISUID and S_ISGID speciall.
50004         All callers changed.
50005         * lib/modechange.h: Likewise.
50006
50007 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
50008
50009         * MODULES.html.sh: Add mkancestors.
50010         * modules/mkancesdirs: New module.
50011         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
50012         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
50013         The chdir-safer and afs files are now orphans; I'll remove them
50014         unless someone speaks up.
50015         Add lib/dirchownmod.c, lib/dirchownmod.h.
50016         (Depends-on): Remove alloca, chown, save-cwd, dirname.
50017         Add lchown, mkancesdirs.
50018         (Maintainer): Add self.
50019
50020 2006-07-15  Karl Berry  <karl@gnu.org>
50021
50022         * gnulib-tool: help message wording/arrangement.
50023
50024 2006-07-14  Simon Josefsson  <jas@extundo.com>
50025
50026         * doc/gnulib.texi (Libtool and Windows): New section.
50027
50028 2006-07-12  Simon Josefsson  <jas@extundo.com>
50029
50030         * modules/gendocs (License): Fix license, approved by Karl.
50031
50032 2006-07-12  Eric Blake  <ebb9@byu.net>
50033
50034         * MODULES.html.sh: Add gendocs.
50035
50036 2006-07-11  Eric Blake  <ebb9@byu.net>
50037
50038         * modules/fdl: New module, to install doc/fdl.texi.
50039         * MODULES.html.sh: Add new section for documentation modules.
50040         * gnulib-tool: Avoid space-tab.
50041         (--doc-base): New option, to manage files from doc.
50042
50043 2006-07-11  Eric Blake  <ebb9@byu.net>
50044
50045         * m4/absolute-header.m4: Fix comments to match recent change.
50046
50047 2006-07-11  Eric Blake  <ebb9@byu.net>
50048
50049         * gnulib-tool: List --doc-base before --tests-base.
50050
50051 2006-07-11  Derek R. Price  <derek@ximbiot.com>
50052
50053         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
50054
50055 2006-07-11  Bruno Haible  <bruno@clisp.org>
50056
50057         * README: Mention where to put documentation.
50058
50059 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50060
50061         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
50062
50063 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
50064
50065         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
50066         to stdint.m4.
50067
50068 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
50069
50070         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
50071         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
50072         "no/such/file/stdint.h" when there is no such file, so that
50073         the resulting C code can be parsed by dodgy compilers.
50074         Problems reported by Bob Proulx.
50075
50076 2006-07-10  Derek R. Price  <derek@ximbiot.com>
50077
50078         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
50079         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
50080         macros into the GNU _D_EXACT_NAMLEN.
50081         * lib/savedir.c:  Likewise.
50082         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
50083
50084 2006-07-10  Derek R. Price  <derek@ximbiot.com>
50085         and Paul Eggert  <eggert@cs.ucla.edu>
50086
50087         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
50088         * m4/savedir.m4:
50089         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
50090         macros into the GNU _D_EXACT_NAMLEN.
50091
50092 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
50093
50094         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
50095         around the absolute name, to work around a problem with the HP-UX
50096         11.23 native C compiler, reported by Bob Proulx.
50097
50098 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
50099
50100         * doc/maintain.texi, make-stds.texi: Sync from
50101         <http://savannah.gnu.org/projects/gnustandards>.
50102
50103 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
50104
50105         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
50106
50107 2006-07-09  Jim Meyering  <jim@meyering.net>
50108
50109         * m4/glob.m4: Remove a doubled word in a comment.
50110
50111 2006-07-09  Jim Meyering  <jim@meyering.net>
50112
50113         * lib/argp-pv.c: Remove a doubled word in a comment.
50114         * lib/check-version.c (check_version): Likewise.
50115         * lib/javacomp.c (compile_java_class): Likewise.
50116
50117 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
50118
50119         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
50120         for the benefit of people using Autoconf 2.60.  If you want to
50121         support older Autoconf versions you can copy m4/onceonly_2_57.m4
50122         (or m4/onceonly.m4, if pre-2.57) manually.
50123
50124 2006-07-08  Jim Meyering  <jim@meyering.net>
50125
50126         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
50127         comment.
50128         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
50129         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
50130         comment.
50131
50132 2006-07-08  Jim Meyering  <jim@meyering.net>
50133
50134         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
50135
50136 2006-07-07  Simon Josefsson  <jas@extundo.com>
50137
50138         * tests/test-crc.c: Change expected crc value, the test vector
50139         were probably computed using the old broken crc.c?
50140
50141 2006-07-06  Simon Josefsson  <jas@extundo.com>
50142
50143         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
50144         now the canonical place for the M4 file).
50145
50146         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
50147         from the sys_socket dependency now.
50148
50149         * modules/inet_pton (Files): Ditto.
50150
50151         * modules/inet_ntop (Files): Ditto.
50152
50153 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
50154
50155         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
50156         not gl_PREREQ_GETUSERSHELL.
50157
50158 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50159
50160         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
50161         with only one argument, for Autoconf 2.60.
50162         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
50163         expand to nothing, so add a shell command to avoid syntax error.
50164         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
50165
50166 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50167
50168         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
50169
50170 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
50171
50172         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
50173         no longer needed.  Check for isblank decl.
50174         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
50175         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
50176         of existence.
50177
50178 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
50179
50180         * lib/getloadavg.c: Use __VMS, not VMS.
50181         * lib/getopt.c: Likewise.
50182         * lib/getpagesize.h: Likewise.
50183         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
50184         and probably does not work.
50185
50186 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
50187
50188         * lib/.cppi-disable: Add wcwidth.
50189         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
50190         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
50191         (ISGRAPH): Remove.  All uses changed to isgraph.
50192         (FOLD) [!defined _LIBC]: Remove special case.
50193         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
50194         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
50195         HAVE_ISBLANK.
50196         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
50197         case.
50198
50199 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
50200
50201         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
50202         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
50203         brackets.  Other minor changes to suppress some compiler
50204         warnings.
50205
50206 2006-07-06  Derek R. Price  <derek@ximbiot.com>
50207         and Paul Eggert  <eggert@cs.ucla.edu>
50208
50209         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
50210         of invoking obsolescent AC_HEADER_DIRENT macro.
50211         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
50212         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
50213         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
50214         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
50215         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
50216         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
50217         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
50218         * m4/readdir.m4: Remove; no longer needed.
50219
50220 2006-07-06  Derek R. Price  <derek@ximbiot.com>
50221         and Paul Eggert  <eggert@cs.ucla.edu>
50222
50223         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
50224         Don't worry about this obsolete case any more.
50225         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
50226         directories.
50227         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
50228         worry about this obsolete case any more.
50229         * lib/fts.c: Likewise.
50230         * lib/getcwd.c: Likewise.
50231         * lib/glob.h: Likewise.
50232         * lib/savedir.c: Likewise.
50233
50234 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
50235
50236         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
50237         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
50238         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
50239         needed.
50240         All uses removed.
50241         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
50242         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
50243         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
50244         needed.
50245         * m4/getdate.m4 (gl_GETDATE): Likewise.
50246         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
50247         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
50248         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
50249         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
50250         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
50251         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
50252         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
50253         needed.
50254
50255 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
50256
50257         * lib/memcasecmp.c: Include <limits.h>.
50258         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
50259         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
50260         Don't assume isdigit succeeds only on '0' through '9'.
50261
50262 2006-07-05  Eric Blake  <ebb9@byu.net>
50263
50264         * modules/getaddrinfo (Depends-on): Add snprintf.
50265
50266 2006-07-05  Eric Blake  <ebb9@byu.net>
50267
50268         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
50269         to avoid 'header present but could not be compiled' on cygwin.
50270
50271 2006-07-05  Eric Blake  <ebb9@byu.net>
50272
50273         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
50274         missing from netdb.h.
50275         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
50276
50277 2006-07-05  Derek R. Price  <derek@ximbiot.com>
50278
50279         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
50280         no longer needed.
50281         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
50282         * m4/getdate.m4 (gl_GETDATE): Likewise.
50283         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
50284         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
50285         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
50286         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
50287         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
50288
50289 2006-07-05  Derek R. Price  <derek@ximbiot.com>
50290
50291         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
50292         All uses of is_space replaced by isspace.
50293         * lib/exit.h: Don't talk about STDC_HEADERS.
50294         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
50295         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
50296         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
50297         replaced by isprint etc.
50298         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
50299         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
50300         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
50301         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
50302         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
50303         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
50304
50305 2006-07-05  Bruno Haible  <bruno@clisp.org>
50306
50307         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
50308         the function exists, before testing against AIX.
50309         Reported by Martin Lambers <marlam@marlam.de>.
50310
50311 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
50312
50313         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
50314         From Mark D. Baushke.
50315
50316 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
50317
50318         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
50319         to the absolute name, not just one, to bypass Sun C 5.8's
50320         "warning: #include of /usr/include/... may be non-portable".
50321
50322 2006-07-04  Eric Blake  <ebb9@byu.net>
50323
50324         * modules/dirname-tests: New test module.
50325         * tests/test-dirname.c: New file, replacing dirname.c
50326         TEST_DIRNAME section that was recently deleted.
50327
50328 2006-07-04  Bruno Haible  <bruno@clisp.org>
50329
50330         Assume ANSI C header files and <ctype.h> functions.
50331         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
50332         (mbsnwidth): Use isprint, iscntrl instead.
50333
50334 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
50335
50336         Merge from coreutils.
50337         * MODULES.html.sh: Add xstrtold.
50338         * modules/xstrtold: New file.
50339         * modules/cycle-check (Files): Add lib/same-inode.h.
50340         * modules/dirname (Files): Add m4/double-slash-root.m4.
50341         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
50342         * modules/mkdir-p (Files): Add lib/same-inode.h.
50343         * modules/same (Files): Add lib/same-inode.h.
50344
50345 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
50346
50347         * m4/absolute-header.m4: Renamed from full-header-path.m4.
50348         This is to keep the terminology clean; POSIX talks about
50349         "absolute pathnames", not "full pathnames", but the GNU
50350         Coding Standards say to use "path" for something else;
50351         so use "absolute" to keep both sides happy.
50352         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
50353         Set gl_absolute_header, not gl_full_header_path.
50354         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
50355         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
50356         All uses changed.
50357
50358         Merge from coreutils.
50359
50360         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
50361
50362         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
50363         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
50364         want to require the building of c-strtod.o.
50365         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
50366         needs -lm directly.
50367         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
50368
50369         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
50370
50371         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
50372         --as-needed option if available.  Problem reported by Albert Chin in
50373         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
50374         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
50375         cc merely issues a bunch of annoying warnings for --as-needed
50376         (this problem was reported by Bob Proulx).  Also, try linking with
50377         -lm to detect a bug in binutils 2.16 (this problem was reported
50378         by Ralf Wildenhues).
50379
50380         2006-06-18  Jim Meyering  <jim@meyering.net>
50381
50382         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
50383         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
50384         macro.
50385         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
50386         also check for glibc-2.4's abort-inducing bug.
50387
50388         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
50389         Low-probability clean-up should be to use rmdir to get rid of
50390         the just-created directory, not unlink.
50391
50392         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
50393         configure fail, and request a bug report to inform us about it.
50394         Add a comment that, barring reports to the contrary, in 2007 we'll
50395         assume ftruncate is universally available.
50396
50397         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
50398
50399         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
50400
50401         2006-03-12  Jim Meyering  <jim@meyering.net>
50402
50403         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
50404         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
50405         * m4/same.m4 (gl_SAME): Likewise.
50406         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
50407
50408         2006-03-11  Eric Blake  <ebb9@byu.net>
50409
50410         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
50411         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
50412         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
50413         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
50414
50415 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
50416
50417         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
50418         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
50419         reported by Mark D. Baushke, one in
50420         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
50421
50422         Merge from coreutils.
50423
50424         * lib/.cppi-disable: Add stdint_.h.
50425         * lib/.cvsignore: Add stdint.h.
50426
50427         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
50428
50429         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
50430         both double and long double versions.
50431         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
50432         * lib/xstrtold.c: New file.
50433         * lib/xstrtod.h (xstrtold): New decl.
50434
50435         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
50436
50437         * lib/filemode.c (setst): Remove.
50438         (strmode): Rewrite to avoid setst.  This makes the code shorter,
50439         (arguably) clearer, and the generated code is a bit smaller on my
50440         Debian GNU/Linux stable x86 host.
50441
50442         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
50443
50444         * lib/filemode.c: Include "filemode.h" first, to test the interface.
50445         Assume that filemode.h includes sys/types.h and sys/stat.h.
50446         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
50447         (ftypelet): Reorder to put common cases first, for efficiency.
50448         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
50449         to do 'M'.
50450         (strmode): Renamed from mode_string, and now stores 12 bytes instead
50451         of 10, for compatibility with FreeBSD.  All callers changed.
50452         (filemodestring): Now stores 12 bytes instead of 10, and sets file
50453         types that can't be deduced solely from st_mode.  First arg is now a
50454         const pointer.
50455         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
50456         (strmode): Renamed from mode_string.
50457         (filemodestring): New decl.
50458         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
50459         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
50460         needed.
50461         (S_ISPORT, S_ISWHT): New macros, if not already defined.
50462
50463         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
50464
50465         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
50466         fsusage.h now does that.  Include fsusage.h first, to test interface.
50467         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
50468         at most one method (the old code could have generated decls that
50469         didn't conform to C89, not that this was ever exercised).
50470         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
50471
50472         2006-03-19  Jim Meyering  <jim@meyering.net>
50473
50474         Work even in a chroot where d_ino values for entries in "/"
50475         don't match the stat.st_ino values for the same names.
50476         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
50477         number, iterate through all entries again, using lstat instead.
50478         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
50479         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
50480
50481         * lib/getcwd.c (__getcwd): Clarify a comment.
50482         Use memcpy in place of a call to strcpy.
50483
50484         2006-03-12  Jim Meyering  <jim@meyering.net>
50485
50486         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
50487         matches that of the current directory (which we're about to chdir ".."
50488         out of), then save the dev-ino of the parent, instead.
50489
50490         * lib/same-inode.h (SAME_INODE): New file/macro.
50491         * lib/chdir-safer.c (SAME_INODE): Remove definition.
50492         Include "same-inode.h", instead.
50493         * lib/same.c: Likewise.
50494         * lib/cycle-check.h: Include "same-inode.h".
50495         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
50496         * lib/cycle-check.c (SAME_INODE): Remove definition.
50497         * lib/root-dev-ino.h: Include "same-inode.h".
50498
50499         2006-03-11  Eric Blake  <ebb9@byu.net>
50500
50501         * lib/same.c (same_name): s/base_name/last_component/
50502         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
50503         * lib/filenamecat.c (file_name_concat): Likewise.
50504
50505         2006-03-11  Eric Blake  <ebb9@byu.net>,
50506                     Paul Eggert  <eggert@cs.ucla.edu>
50507
50508         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
50509         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
50510         drive prefix.
50511         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
50512         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
50513         (last_component): New method.
50514         * lib/dirname.c (dir_len): Determine when drive letters need a
50515         subsequent slash.  Preserve // when it is special.
50516         (dir_name): Don't append dot when drive letter is absolute.
50517         [TEST_DIRNAME]: Move into a full-blown gnulib test.
50518         * lib/basename.c (base_name): New semantics - malloc the result.
50519         Preserve // when it is special.  Preserve relative files that look
50520         like drive letters.
50521         (base_len): Preserve // when it is special.
50522         (last_component): New method, similar to old base_name semantics.
50523         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
50524         base_name.  Strip redundant slashes from ///.
50525
50526 2006-07-03  Jim Meyering  <jim@meyering.net>
50527
50528         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
50529         macro is used before the first cycle_check call.
50530
50531 2006-07-03  Eric Blake  <ebb9@byu.net>
50532
50533         * modules/dirname (Depends-on): Add xstrndup.
50534
50535 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
50536
50537         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
50538         test cases, so that config.log is a bit easier to follow.
50539
50540 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
50541
50542         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
50543         both are 64 bits, since this seems to be the tradition, and this
50544         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
50545         we ever run into a host that prefers long long to long in this
50546         case, we'll need another configure-time test.  Problem reported by
50547         Jim Meyering.
50548
50549 2006-07-02  Eric Blake  <ebb9@byu.net>
50550
50551         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
50552
50553 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
50554
50555         * modules/inttypes (Depends-on): No longer depends on stdint.
50556         * modules/stdint (Description): Say more about assumptions.
50557         Say that the fast types might differ.  Say macros are used.
50558         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
50559         (Makefile.am): Revise list of substituted symbols to match
50560         new stdint.m4.
50561         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
50562         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
50563         * tests/test-stdint.c (verify_same_types)
50564         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
50565         the code conforms to C99/C89.
50566         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
50567         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
50568
50569 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
50570
50571         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
50572         but fix a bug, by requiring at least 64 bits.
50573         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
50574         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
50575         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
50576         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
50577
50578         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
50579         changes.  Make 2.59 a prerequisite.  Check and substitute for
50580         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
50581         inttypes.h.  Do not use special include files; just use the
50582         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
50583         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
50584         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
50585         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
50586         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
50587         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
50588         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
50589         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
50590         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
50591         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
50592         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
50593         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
50594         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
50595         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
50596         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
50597         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
50598         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
50599         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
50600         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
50601         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
50602         WINT_MAX.  Check for C99 conformance more strictly, by detecting
50603         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
50604         not check for things that C99 does not require, e.g., int8_t.  If
50605         a test isn't needed unless <stdint.h> isn't working, and is
50606         unlikely to be needed for any other reason, then don't do it
50607         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
50608         size_t, since we assume C89 freestanding at least.  Do not check
50609         for sig_atomic_t, wchar_t, or wint_t, since the code now does
50610         the right thing even if the types are not defined.  Instead use:
50611         (gl_STDINT_TYPE_PROPERTIES): New macro.
50612         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
50613         testing whether <sys/types.h> clashes, as Autoconf does this for
50614         us now.  All uses removed.
50615         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
50616         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
50617         (gl_CHECK_TYPE_SAME):
50618         Remove; no longer needed.
50619         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
50620         exists, since we'll return 0 anyway in that case.
50621         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
50622
50623 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
50624
50625         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
50626         possible collision with system files.
50627         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
50628         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
50629         WCHAR_MIN and WCHAR_MAX in this case.
50630         (<stddef.h>): Do not include; no longer needed.
50631         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
50632         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
50633         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
50634         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
50635         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
50636         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
50637         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
50638         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
50639         !defined(__c99))]: Include in this case too, since it's harmless
50640         now.
50641         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
50642         dangerous to do so.
50643         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
50644         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
50645         (_STDINT_MIN, _STDINT_MAX): New macros.
50646         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
50647         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
50648         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
50649         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
50650         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
50651         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
50652         macros, not typedefs; this simplifies things quite a bit.
50653         Use long int for all types narrower than int64_t.
50654         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
50655         Define in terms of long long int or int64_t or long int,
50656         not int64_t or int32_t.  This saves some compile-time testing.
50657         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
50658         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
50659         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
50660         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
50661         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
50662         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
50663         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
50664         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
50665         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
50666         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
50667         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
50668         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
50669         undef any previous version and define our own version, for
50670         simplicity and consistency with the new macros for types.
50671         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
50672         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
50673         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
50674         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
50675         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
50676         @WINT_T_SUFFIX@ to keep things simple here.
50677         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
50678         Simplify by assuming typical 8/16/32/64 host, since we're
50679         already doing that elsewhere anyway.
50680         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
50681         and assume long long int is 64 bits if available.  This
50682         speeds up 'configure'.
50683
50684 2006-07-01  Eric Blake  <ebb9@byu.net>
50685
50686         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
50687         Reported by Andreas Buening.
50688
50689 2006-07-01  Eric Blake  <ebb9@byu.net>
50690
50691         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
50692
50693 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
50694
50695         * lib/getaddrinfo.c: fixed typo
50696
50697 2006-06-29  Jim Meyering  <jim@meyering.net>
50698
50699         * modules/strftime (Maintainer): Add my name, since with the
50700         FPRINTFTIME changes strftime.c has forked from glibc.
50701
50702 2006-06-29  Eric Blake  <ebb9@byu.net>
50703
50704         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
50705
50706 2006-06-29  Eric Blake  <ebb9@byu.net>
50707
50708         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
50709
50710 2006-06-29  Eric Blake  <ebb9@byu.net>
50711
50712         * lib/stat_.h: New file.
50713
50714 2006-06-29  Eric Blake  <ebb9@byu.net>
50715
50716         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
50717         unused static function.
50718
50719 2006-06-29  Eric Blake  <ebb9@byu.net>
50720
50721         * doc/functions.texi (Function Portability): Document missing lstat
50722         on mingw.
50723
50724 2006-06-29  Eric Blake  <ebb9@byu.net>
50725
50726         * MODULES.html.sh: Add sys_stat.
50727         * modules/sys_stat: New module.
50728         * modules/mkstemp (Depends-on): Add sys_stat.
50729
50730 2006-06-29  Derek R. Price  <derek@ximbiot.com>
50731
50732         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
50733
50734 2006-06-29  Derek R. Price  <derek@ximbiot.com>
50735
50736         * m4/c-bs-a.m4: Removed.
50737
50738 2006-06-29  Derek R. Price  <derek@ximbiot.com>
50739
50740         * lib/strftime.c: Assume strftime() exists.
50741
50742 2006-06-29  Derek Price  <derek@ximbiot.com>
50743
50744         * modules/c-bs-a: Removed - \a is C89.
50745         * MODULES.html.sh: Remove c-bs-a.
50746
50747 2006-06-29  Bruno Haible  <bruno@clisp.org>
50748
50749         * modules/wcwidth (License): Change to LGPL.
50750
50751 2006-06-28  Simon Josefsson  <jas@extundo.com>
50752
50753         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
50754         on _WIN32.
50755
50756         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
50757         getnameinfo.
50758
50759 2006-06-28  Simon Josefsson  <jas@extundo.com>
50760
50761         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
50762
50763 2006-06-28  Simon Josefsson  <jas@extundo.com>
50764
50765         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
50766         functions there.  It will succeed on Windows XP, but on Windows
50767         2000 and (presumably) earlier, it will fail, and use the internal
50768         re-implementation.
50769         (use_win32_p): New function.
50770         (getaddrinfo): Use strtoul on servname, to support numeric ports.
50771         Support AI_NUMERICSERV to disable getservbyname.
50772         (getnameinfo): New function, only supports
50773         NI_NUMERICHOST|NI_NUMERICSERV for now.
50774
50775         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
50776         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
50777         getnameinfo.
50778
50779 2006-06-28  Eric Blake  <ebb9@byu.net>
50780
50781         * modules/wcwidth: New file.
50782         * modules/mbchar (Depends-on): Add wcwidth.
50783         * modules/mbswidth (Depends-on): Add wcwidth.
50784         * MODULES.html.sh: Add wcwidth.
50785
50786 2006-06-28  Eric Blake  <ebb9@byu.net>
50787
50788         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
50789         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
50790
50791 2006-06-28  Eric Blake  <ebb9@byu.net>
50792
50793         * lib/xvasprintf.h: Fix comments.
50794
50795 2006-06-28  Eric Blake  <ebb9@byu.net>
50796
50797         * lib/mbchar.h (wcwidth): Include wcwidth.h.
50798         * lib/mbswidth.c (wcwidth): Move from here...
50799         * lib/wcwidth.h: ...to this new file.
50800
50801 2006-06-28  Derek R. Price  <derek@ximbiot.com>
50802
50803         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
50804
50805         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
50806         it's obsolete.
50807         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
50808
50809 2006-06-28  Derek R. Price  <derek@ximbiot.com>
50810
50811         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
50812         Autoconf 2.60 says this stuff was obsolete.
50813
50814 2006-06-28  Bruno Haible  <bruno@clisp.org>
50815
50816         * modules/wcwidth (Files): Add m4/wchar_t.m4.
50817
50818 2006-06-28  Bruno Haible  <bruno@clisp.org>
50819
50820         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
50821         gt_TYPE_WCHAR_T.
50822
50823 2006-06-28  Bruno Haible  <bruno@clisp.org>
50824
50825         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
50826         declaration for wcwidth.
50827         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
50828
50829 2006-06-28  Bruno Haible  <bruno@clisp.org>
50830
50831         * lib/mkdtemp.c [MINGW]: Include <io.h>.
50832         (mkdir): Define using _mkdir.
50833
50834 2006-06-28  Bruno Haible  <bruno@clisp.org>
50835
50836         * lib/getaddrinfo.h: Fix POSIX URL.
50837         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
50838         _WIN32.
50839         (use_win32_p): Make static.
50840         (getaddrinfo): Reject service name if it is empty or does not consist
50841         solely of decimal digits, or if its value is > 65535.
50842         (getnameinfo): Remove useless casts.
50843
50844 2006-06-27  Simon Josefsson  <jas@extundo.com>
50845
50846         * modules/sys_select: New file, suggested by Bruno Haible, Paul
50847         Eggert and Martin Lambers.
50848
50849 2006-06-27  Simon Josefsson  <jas@extundo.com>
50850
50851         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
50852         Eggert and Martin Lambers.
50853
50854 2006-06-27  Bruno Haible  <bruno@clisp.org>
50855
50856         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
50857         result to 0, not to empty.
50858         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
50859
50860 2006-06-27  Bruno Haible  <bruno@clisp.org>
50861
50862         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
50863
50864 2006-06-26  Simon Josefsson  <jas@extundo.com>
50865
50866         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
50867         present.
50868
50869 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
50870
50871         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
50872         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
50873         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
50874
50875 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
50876
50877         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
50878
50879 2006-06-26  Bruno Haible  <bruno@clisp.org>
50880
50881         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
50882
50883 2006-06-26  Bruno Haible  <bruno@clisp.org>
50884
50885         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
50886
50887 2006-06-26  Bruno Haible  <bruno@clisp.org>
50888
50889         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
50890         SGI C compiler in pre-C99 mode.
50891         Suggested by Mark D. Baushke and Larry Jones.
50892
50893 2006-06-26  Bruno Haible  <bruno@clisp.org>
50894
50895         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
50896         WCHAR_MAX.
50897         Reported by Mark D. Baushke and Larry Jones.
50898
50899 2006-06-26  Bruno Haible  <bruno@clisp.org>
50900
50901         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
50902         in pre-C99 mode.
50903         Suggested by Mark D. Baushke and Larry Jones.
50904
50905 2006-06-23  Simon Josefsson  <jas@extundo.com>
50906             Bruno Haible  <bruno@clisp.org>
50907
50908         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
50909         Emit mostlyclean-local rule.
50910         (func_emit_tests_Makefile_am): Likewise.
50911         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
50912
50913 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
50914
50915         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
50916
50917 2006-06-23  Bruno Haible  <bruno@clisp.org>
50918
50919         * tests/test-stdint.c: Update to match ISO C 99 Technical
50920         Corrigendum 1.
50921
50922 2006-06-23  Bruno Haible  <bruno@clisp.org>
50923
50924         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
50925
50926 2006-06-23  Bruno Haible  <bruno@clisp.org>
50927
50928         * lib/stdint_.h: Treat IRIX like OpenBSD.
50929
50930 2006-06-23  Bruno Haible  <bruno@clisp.org>
50931
50932         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
50933         ISO C 99 Technical Corrigendum 1.
50934
50935 2006-06-22  Simon Josefsson  <jas@extundo.com>
50936
50937         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
50938         MinGW.
50939
50940 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
50941
50942         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
50943         needed.  Some compiler complained about some of them.  Problem reported
50944         by Larry Jones in
50945         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
50946
50947 2006-06-21  Simon Josefsson  <jas@extundo.com>
50948
50949         * tests/test-getaddrinfo.c: New file.
50950
50951         * modules/getaddrinfo-tests: New file.
50952
50953         * MODULES.html.sh: Add inet_pton.
50954
50955         * modules/inet_pton: New file.
50956
50957 2006-06-21  Simon Josefsson  <jas@extundo.com>
50958
50959         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
50960         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
50961         of using the (limited) gnulib implementation on Windows XP.
50962
50963         * m4/inet_pton.m4: New file.
50964
50965 2006-06-21  Simon Josefsson  <jas@extundo.com>
50966
50967         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
50968         variable.
50969
50970         * lib/socket_.h: Don't define WINVER.
50971
50972         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
50973         slightly modified to work in gnulib.
50974
50975 2006-06-21  Simon Josefsson  <jas@extundo.com>
50976
50977         * doc/gnulib.texi (Windows sockets): Add.
50978
50979 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
50980
50981         * lib/read-file.c (fread_file): Start with buffer allocation of
50982         0 bytes rather than 1 byte; this simplifies the code.
50983         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
50984         code to free buffer and save/restore errno.
50985         (internal_read_file): Remove unused local.
50986
50987 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
50988
50989         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
50990         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
50991         Problem reported by Denis Excoffier in
50992         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
50993
50994 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50995
50996         * modules/sys_socket, modules/socklen: Include sys/types since
50997         FreeBSD 4.x's sys/socket.h needs it.
50998
50999 2006-06-19  Simon Josefsson  <jas@extundo.com>
51000
51001         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
51002
51003 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
51004
51005         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
51006
51007 2006-06-19  Bruno Haible  <bruno@clisp.org>
51008
51009         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
51010         and FULL_PATH_INTTYPES_H in angle brackets.
51011         Reported by Mark D. Baushke <mdb@gnu.org>.
51012
51013 2006-06-17  Eric Blake  <ebb9@byu.net>
51014
51015         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
51016         errno.
51017
51018 2006-06-17  Bruno Haible  <bruno@clisp.org>
51019
51020         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
51021         <sys/inttypes.h>.
51022
51023 2006-06-17  Bruno Haible  <bruno@clisp.org>
51024
51025         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
51026         whether errno is declared. Assume <errno.h> declares errno.
51027
51028 2006-06-17  Bruno Haible  <bruno@clisp.org>
51029
51030         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
51031
51032 2006-06-17  Bruno Haible  <bruno@clisp.org>
51033
51034         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
51035         problem on Solaris 2.5.1.
51036
51037 2006-06-16  Eric Blake  <ebb9@byu.net>
51038
51039         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
51040         * lib/unicodeio.c [!defined errno]: Likewise.
51041         * lib/strtol.c [!defined errno]: Likewise.
51042         * lib/strtod.c [!defined errno]: Likewise.
51043
51044 2006-06-15  Eric Blake  <ebb9@byu.net>
51045
51046         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
51047
51048 2006-06-15  Eric Blake  <ebb9@byu.net>
51049
51050         * config/srclist.txt (ssize_t.m4): Lose sync.
51051
51052 2006-06-15  Bruno Haible  <bruno@clisp.org>
51053
51054         * modules/stdint (Files): Include m4/full-header-path.m4,
51055         m4/size_max.m4, m4/wchar_t.m4.
51056         (Makefile.am): Many more substitutions.
51057         * modules/stdint-tests: New file.
51058         * tests/test-stdint.c: New file.
51059
51060 2006-06-15  Bruno Haible  <bruno@clisp.org>
51061
51062         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
51063         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
51064         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
51065         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
51066         gl_CHECK_TYPE_SAME): New macros.
51067
51068 2006-06-15  Bruno Haible  <bruno@clisp.org>
51069
51070         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
51071
51072 2006-06-15  Bruno Haible  <bruno@clisp.org>
51073
51074         * lib/stdint_.h: Rewritten to be fully auto-configured.
51075         Fixes bug on HP-UX/IA64.
51076
51077 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
51078
51079         * lib/getdate.y (__attribute__): Don't define if already defined.
51080         Problem reported by Larry Jones.
51081         * lib/utimens.c (__attribute__): Likewise.
51082
51083 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
51084
51085         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
51086         reported by Andreas Schwab.
51087
51088 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51089             Bruno Haible  <bruno@clisp.org>
51090
51091         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
51092         check for the declaration of strnlen and a run test that exposes the
51093         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
51094         rpl_strndup.
51095
51096 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51097             Bruno Haible  <bruno@clisp.org>
51098
51099         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
51100
51101 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51102
51103         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
51104         compile test, for Tru64 4.0D.
51105
51106 2006-05-28  Karl Berry  <karl@gnu.org>
51107
51108         * config/srclist.txt (printf-args.c): lose sync.
51109
51110 2006-05-26  Martin Lambers  <marlam@marlam.de>
51111
51112         * lib/getpass.c: Updates the test for the native W32 API, and adds
51113         missing includes, thus fixing compilation warnings.
51114
51115 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
51116
51117         * lib/exclude.c (exclude_fnmatch): New function.
51118         (excluded_file_name): Call exclude_fnmatch.
51119         * lib/exclude.h (excluded_file_name): New prototype
51120
51121 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
51122
51123         * lib/tempname.c (small_open, large_open): New macros.
51124         (__open, __open64) [!_LIBC]: Remove.
51125         (__gen_tempname): Use small_open and large_open instead of __open
51126         and __open64.  This fixes a portability bug on HP-UX 11.11i
51127         reported by Simon Wing-Tang in
51128         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
51129
51130 2006-05-24  Bruno Haible  <bruno@clisp.org>
51131
51132         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
51133         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
51134         Reported by Thorsten Maerz <torte@netztorte.de> via
51135         Aaron Stone <aaron@serendipity.cx>.
51136
51137 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
51138
51139         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
51140         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
51141         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
51142         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
51143         not really conditional on the cache.
51144         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
51145
51146 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
51147
51148         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
51149         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
51150         (my_usleep): Don't mishandle maximum value.
51151
51152 2006-05-19  Jim Meyering  <jim@meyering.net>
51153
51154         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
51155
51156 2006-05-17  Bruno Haible  <bruno@clisp.org>
51157
51158         Cygwin portability.
51159         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
51160
51161 2006-05-17  Bruno Haible  <bruno@clisp.org>
51162
51163         * lib/stdint_.h: Fix recognition of Cygwin.
51164
51165 2006-05-15  Bruno Haible  <bruno@clisp.org>
51166
51167         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
51168         on libtool patch by Ralf Wildenhues.
51169
51170 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
51171
51172         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
51173         test for C99 conformance; (bool) 0.5 is an integer constant
51174         expression, but (bool) -0.5 is not.  Problem reported by Fedor
51175         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
51176
51177 2006-05-11  Simon Josefsson  <jas@extundo.com>
51178
51179         * m4/xvasprintf.m4: Fix obvious typo.
51180
51181 2006-05-11  Jim Meyering  <jim@meyering.net>
51182
51183         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
51184         James Lemley.
51185
51186 2006-05-10  Simon Josefsson  <jas@extundo.com>
51187
51188         * lib/md4.c: Typo fix, update copyright years.
51189         (K1, K2): Don't use L because it turn computations into 64-bit on
51190         64-bit platforms.
51191
51192 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
51193
51194         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
51195         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
51196         unwanted sign propagation, e.g., on hosts with 64-bit int.
51197         There still are some problems with reeelly weird theoretical hosts
51198         (e.g., 33-bit int) but it's not worth worrying about now.
51199         * lib/sha1.c (rol): Likewise.
51200         (K1, K2, K3, K4): Remove unnecessary L suffix.
51201
51202 2006-05-10  Bruno Haible  <bruno@clisp.org>
51203
51204         * lib/des.c: Cast to avoid warnings.
51205
51206 2006-05-09  Bruno Haible  <bruno@clisp.org>
51207
51208         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
51209         (Depends-on): Depend also on xsize, stdarg.
51210         (configure.ac): Add gl_XVASPRINTF.
51211
51212 2006-05-09  Bruno Haible  <bruno@clisp.org>
51213
51214         * m4/xvasprintf.m4: New file.
51215
51216 2006-05-09  Bruno Haible  <bruno@clisp.org>
51217
51218         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
51219         (EOVERFLOW): Define fallback value.
51220         (xstrcat): New function.
51221         (xvasprintf): Recognize the special case of a string concatenation.
51222
51223 2006-05-08  Eric Blake  <ebb9@byu.net>
51224
51225         * gnulib-tool (func_version): Base copyright year on CVS date.
51226         (func_emit_copyright_notice): New function.
51227         (func_emit_lib_Makefile_am): Use it.
51228         (func_emit_tests_Makefile_am): Likewise.
51229         (func_import): Likewise.
51230
51231 2006-05-08  Bruno Haible  <bruno@clisp.org>
51232
51233         * modules/stdarg: New file.
51234         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
51235
51236 2006-05-08  Bruno Haible  <bruno@clisp.org>
51237
51238         * m4/stdarg.m4: New file, from GNU gettext.
51239
51240 2006-05-08  Bruno Haible  <bruno@clisp.org>
51241
51242         * config/srclist.txt (build-aux/config.rpath): different from latest
51243         release.
51244
51245 2006-05-08  Bruno Haible  <bruno@clisp.org>
51246
51247         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
51248
51249 2006-05-05  Jim Meyering  <jim@meyering.net>
51250
51251         * m4/warning.m4: New file, derived from bison's file by the same name.
51252
51253 2006-05-03  Bruno Haible  <bruno@clisp.org>
51254
51255         * lib/stdint_.h: Shorter URL.
51256         * lib/inttypes.h: Likewise.
51257
51258 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
51259
51260         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
51261
51262 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
51263
51264         * lib/verify.h: Document the internals better.  Most of this change
51265         was written by Bruno Haible.
51266
51267 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
51268
51269         * doc/verify.texi: New file, partly based on a proposal by
51270         Bruno Haible.
51271
51272 2006-05-02  Bruno Haible  <bruno@clisp.org>
51273
51274         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
51275         test from here...
51276         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
51277
51278 2006-04-29  Bruno Haible  <bruno@clisp.org>
51279
51280         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
51281         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
51282
51283 2006-04-29  Bruno Haible  <bruno@clisp.org>
51284
51285         * gnulib-tool: Make --update option actually work.
51286
51287 2006-04-29  Bruno Haible  <bruno@clisp.org>
51288
51289         * doc/gcd.texi: New file.
51290         * doc/gnulib.texi: Include it.
51291
51292 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
51293
51294         * lib/getdate.y (get_date): When adding relative date, start with the
51295         initial time, not with the result of the first mktime call.
51296
51297 2006-04-25  Bruno Haible  <bruno@clisp.org>
51298
51299         * gnulib-tool (func_import): Output the include directives in three
51300         blocks, sorted separately.
51301         Reported by Ben Pfaff <blp@cs.stanford.edu>.
51302
51303 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
51304
51305         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
51306         to define main with arguments, for C++.  Reported by Eric Blake.
51307         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
51308         Prefer 'int main ()' to 'int main (void)', for C++.
51309         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
51310         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
51311         for 'main', for C99 and C++.
51312
51313 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
51314
51315         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
51316         Don't assume that exit status -1 is valid.
51317         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
51318         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
51319         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
51320         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
51321         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
51322         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
51323         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
51324         functions can be used without declaring them, or that you can
51325         exit with status -1.
51326         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
51327
51328 2006-04-24  Karl Berry  <karl@gnu.org>
51329
51330         * config/srclist.txt (longdouble.m4): sync lost.
51331
51332 2006-04-24  Eric Blake  <ebb9@byu.net>
51333
51334         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
51335
51336 2006-04-24  Bruno Haible  <bruno@clisp.org>
51337
51338         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
51339         poll() implementation in AIX.
51340         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51341
51342 2006-04-24  Bruno Haible  <bruno@clisp.org>
51343
51344         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
51345         assigned exactly once.
51346
51347 2006-04-23  Claudio Fontana  <claudio@gnu.org>
51348             Bruno Haible  <bruno@clisp.org>
51349
51350         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
51351         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
51352         for AM_CPPFLAGS.
51353
51354 2006-04-23  Bruno Haible  <bruno@clisp.org>
51355
51356         * modules/copy-file: Depend on unistd.
51357         * modules/execute: Likewise.
51358         * modules/fatal-signal: Likewise.
51359         * modules/findprog: Likewise.
51360         * modules/mkdtemp : Likewise.
51361         * modules/pipe: Likewise.
51362         * modules/wait-process: Likewise.
51363
51364 2006-04-23  Bruno Haible  <bruno@clisp.org>
51365
51366         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
51367         condition was already detected.
51368         Reported by Ben Pfaff <blp@cs.stanford.edu>.
51369
51370 2006-04-23  Bruno Haible  <bruno@clisp.org>
51371
51372         * lib/copy-file.c: Include <unistd.h> unconditionally.
51373         * lib/execute.c: Likewise.
51374         * lib/fatal-signal.c: Likewise.
51375         * lib/findprog.c: Likewise.
51376         * lib/mkdtemp.c: Likewise.
51377         * lib/pipe.h: Likewise.
51378         * lib/pipe.c: Likewise.
51379         * lib/wait-process.h: Likewise.
51380
51381 2006-04-23  Bruno Haible  <bruno@clisp.org>
51382
51383         * gnulib-tool (func_usage): Fix --import description. Document
51384         --update.
51385         (func_import): Create temporary file in a temporary directory, if
51386         --dry-run is specified. Silence errors from 'grep' when there are no
51387         m4 files in $m4dir.
51388         (func_create_testdir): Silence errors from 'grep' when there are no
51389         m4 files in $m4dir.
51390         Reported by Karl Berry <karl@freefriends.org>.
51391
51392 2006-04-20  Bruno Haible  <bruno@clisp.org>
51393
51394         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
51395         one argument, so that the code will be portable to Autoconf 2.60.
51396         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
51397         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
51398         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
51399
51400 2006-04-19  Derek Price  <derek@ximbiot.com>
51401             Eric Blake  <ebb9@byu.net>
51402
51403         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
51404         rather than "/full/path.h".  Update comment to match.  Shorten &
51405         generalize m4_translit call via AS_TR_CPP.
51406
51407 2006-04-19  Derek Price  <derek@ximbiot.com>
51408             Eric Blake  <ebb9@byu.net>
51409
51410         * lib/inttypes.h: Correct grammar in comment.
51411
51412 2006-04-18  Derek Price  <derek@ximbiot.com>
51413             Paul Eggert  <eggert@cs.ucla.edu>
51414
51415         * modules/inttypes: New file.
51416         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
51417
51418 2006-04-18  Derek Price  <derek@ximbiot.com>
51419             Paul Eggert  <eggert@cs.ucla.edu>
51420
51421         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
51422         New files.
51423
51424 2006-04-18  Derek Price  <derek@ximbiot.com>
51425             Paul Eggert  <eggert@cs.ucla.edu>
51426
51427         * lib/inttypes.h: New file.
51428         * lib/strtoimax.c: Assume <inttypes.h>.
51429
51430 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
51431
51432         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
51433         isn't mounted.  Problem reported by Kir Kolyshkin.
51434
51435 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
51436
51437         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
51438         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
51439         Derek R. Price.
51440         * lib/regex.h (RE_DUP_MAX): Update comment to match current
51441         implementation.
51442
51443 2006-04-12  Eric Blake  <ebb9@byu.net>
51444
51445         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
51446         is now done automatically by the corresponding Autoconf macro.
51447
51448 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
51449
51450         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
51451         time_r.h.
51452
51453 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
51454
51455         Merge regex changes from libc, removing some of our
51456         POSIX-conformance changes that were rejected and redoing them in a
51457         less-intrusive way.
51458
51459         * lib/regcomp.c (re_compile_internal, init_dfa):
51460         Length arg is now size_t, not Idx.  All uses changed.
51461         (peek_token): Forward decl now says internal_function.
51462         (__re_error_msgid, __re_error_msgid_idx):
51463         Now static rather than extern with attribute_hidden.
51464         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
51465         For some reason libc prefers K&R style defns for external functions.
51466         (regerror) [!defined _LIBC]: Likewise.
51467         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
51468         (seek_collating_symbol_entry, lookup_collation_sequence_value):
51469         (build_range_exp, build_collating_symbol):
51470         Use K&R-style defn.
51471         (re_compile_fastmap): Use '\0' to memset, not 0.
51472         (utf8_sb_map): Make the calculations more obvious.
51473         (init_dfa, parse_bracket_exp, build_charclass_op):
51474         Call calloc and cast result, as glibc does.
51475         (init_word_char, fetch_token, peek_token, peek_token_bracket):
51476         (build_range_exp, build_collating_symbol):
51477         Now internal functions.
51478
51479         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
51480
51481         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
51482         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
51483         Don't depend on VMS; depend on __VMS instead, for POSIX
51484         namespace cleanness.
51485         (regoff_t): Define to ssize_t, not long int.
51486
51487         Remove the REG_ macros named below.  Instead, make the old names
51488         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
51489         __USE_GNU_REGEX.
51490         (REG_BACKSLASH_ESCAPE_IN_LISTS):
51491         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
51492         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
51493         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
51494         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
51495         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
51496         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
51497         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
51498         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
51499         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
51500         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
51501         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
51502         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
51503         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
51504         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
51505         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
51506         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
51507         (REG_NREGS):
51508         Remove.  All uses replaced by the old RE_* names.
51509         (RE_BACKSLASH_ESCAPE_IN_LISTS):
51510         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
51511         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
51512         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
51513         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
51514         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
51515         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
51516         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
51517         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
51518         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
51519         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
51520         Don't bother having these macros be independent of each others'
51521         values, since they no longer exist in the POSIX name space.
51522
51523         Rename the following member names back to their old names,
51524         unless !__USE_GNU_REGEX.  All uses changed back.
51525         (buffer): Renamed from re_buffer.
51526         (allocated): Renamed from re_allocated.
51527         (used): Renamed from re_used.
51528         (syntax): Renamed from re_syntax.
51529         (fastmap): Renamed from re_fastmap.
51530         (translate): Renamed from re_translate.
51531         (can_be_null): Renamed from re_can_be_null.
51532         (regs_allocated): Renamed from re_regs_allocated.
51533         (fastmap_accurate): Renamed from re_fastmap_accurate.
51534         (no_sub): Renamed from re_no_sub.
51535         (not_bol): Renamed from re_not_bol.
51536         (not_eol): Renamed from re_not_eol.
51537         (newline_anchor): Renamed from re_newline_anchor.
51538         (num_regs): Renamed from rm_num_regs.
51539         (start): Renamed from rm_start.
51540         (end): Renamed from rm_end.
51541
51542         (free_state): Move up a bit.
51543
51544         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
51545         #define to be empty.
51546         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
51547         when that is what is intended.
51548         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
51549         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
51550         (MAX): New macro.
51551         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
51552         All uses changed back to re_malloc, etc.  It's now the caller's
51553         responsibility to check for overflow; all callers changed.
51554         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
51555         (re_x2nrealloc): Remove.
51556         (free_state): Remove decl.
51557
51558         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
51559         (re_set_registers, re_exec):
51560         Use K&R-style defn.
51561
51562         2006-01-31  Roland McGrath  <roland@redhat.com>
51563
51564         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
51565         Reported by Mike Frysinger <vapier@gentoo.org>.
51566
51567         2006-01-15  Andreas Jaeger  <aj@suse.de>
51568
51569         [BZ #1950]
51570         * lib/regex_internal.c (re_string_reconstruct): Adjust for
51571         build_wcs_upper_buffer change.
51572         (build_wcs_upper_buffer): Change return type.
51573
51574         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
51575
51576         * lib/regex_internal.h: Include <stdint.h> if available.
51577
51578         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
51579
51580         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
51581
51582         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
51583
51584         * lib/regcomp.c: Adjust for changed secondary hash function.
51585
51586         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
51587
51588         * lib/regex.h: Pretty printing.
51589         Clean up namespace a bit.
51590
51591         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
51592
51593         * lib/regexec.c (update_cur_sifted_state, check_arrival,
51594         check_arrival_add_next_nodes): Avoid using uninitialized variable.
51595
51596         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
51597                     Ulrich Drepper  <drepper@redhat.com>
51598
51599         [BZ #1302]
51600         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
51601         changed.
51602         (bitset_word_t): Renamed from bitset_word.  All uses changed.
51603
51604         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
51605
51606         [BZ #281]
51607         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
51608         * lib/regcomp.c: Remove unnecessary uses of
51609         unsigned RE_TRANSLATE_TYPE.
51610         * lib/regex_internal.h: Likewise.
51611         * lib/regex_internal.c: Likewise.
51612         * lib/regexec.c: Likewise.
51613         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
51614
51615         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
51616
51617         * lib/regexec.c (find_recover_state): Remove unnecessary
51618         initialization.
51619         (transit_state_bkref): Make DFA a const pointer.
51620         (get_subexp): Likewise.
51621         (check_arrival): Likewise.
51622         (update_cur_sifted_state): Likewise.
51623         (re_search_internal): Likewise.
51624         (prune_impossible_nodes): Likewise.
51625         (acquire_init_state_context): Likewise.
51626         (proceed_next_node): Likewise.
51627         (set_regs): Likewise.
51628         (free_fail_stack_return): Likewise.
51629         (check_arrival_expand_ecl): Mark DFA parameter as const.
51630         (check_arrival_expand_ecl_sub): Likewise.
51631         (check_subexp_limits): Likewise.
51632         (sub_epsilon_src_nodes):  Likewise.
51633         (add_epsilon_src_nodes):  Likewise.
51634         (merge_state_array): Likewise.
51635         (update_regs): Likewise.
51636         (build_trtable): Likewise.
51637         (sift_states_backward): Mark MCTX parameter as const.
51638         (build_sifted_states): Likewise.
51639         (update_cur_sifted_state): Likewise.
51640         (sift_states_mkref): Likewise.
51641         (check_arrival_expand_ecl): Mark eclosure as const.
51642         (check_dst_limits_calc_pos_1): Likewise.
51643         * lib/regex_internal.h (re_match_context_t): Make dfa a const
51644         pointer.
51645
51646         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
51647
51648         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
51649         (transit_state_sb): Likewise.
51650         (transit_state_mb): Likewise.
51651         (sift_states_iter_mb): Likewise.
51652         (check_arrival_add_next_nodes): Likewise.
51653         (check_node_accept_bytes): Change first parameter to pointer-to-const.
51654         [_LIBC] (re_search_2_stub): Use mempcpy.
51655
51656         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
51657         mbrtowc for very simple UTF-8 case.
51658
51659         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
51660         a pointer-to-const.
51661         (re_acquire_state_context): Likewise.
51662         * lib/regex_internal.h: Adjust prototypes.
51663
51664         * lib/regex.c: Prevent using C++ compilers.
51665
51666         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
51667         (re_acquire_state_context): Likewise.
51668
51669 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
51670
51671         * modules/regex (Depends-on): Add ssize_t.
51672
51673 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
51674
51675         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
51676         translation table.
51677
51678 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
51679
51680         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
51681
51682 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
51683             Bruno Haible  <bruno@clisp.org>
51684
51685         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
51686         <sys/types.h> and <inttypes.h>.
51687
51688 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51689
51690         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
51691         `__error_t_defined', so argp.h will not typedef the former.
51692
51693 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
51694
51695         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
51696         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
51697         glibc names.  Even if glibc is changed to conform to POSIX, the
51698         traditional names will be available anyway, since regex depends on
51699         the extensions module.  Also, fix a longstanding typo in the
51700         implementation of Spencer ERE test #75 from grep 2.3.  Problems
51701         reported by Emanuele Giaquinta.  Also, change sense of cached
51702         variable, so that the message makes sense.
51703
51704 2006-03-24  Simon Josefsson  <jas@extundo.com>
51705
51706         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
51707         including some doc fixes.
51708         (base64_encode_alloc): Fix +1 bug on allocation failures.
51709
51710 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51711
51712         * lib/base64.c (base64_encode): Do not read past end of array with
51713         unsanitized input on systems with CHAR_BIT > 8.
51714
51715 2006-03-24  Eric Blake  <ebb9@byu.net>
51716
51717         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
51718
51719 2006-03-22  Karl Berry  <karl@gnu.org>
51720
51721         * config/srclist.txt (*setenv.[ch]): get from coreutils.
51722         * config/srclistvars.sh (COREUTILS): new var.
51723
51724 2006-03-17  Jim Meyering  <jim@meyering.net>
51725
51726         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
51727         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
51728
51729 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
51730
51731         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
51732         no longer needs it.  Instead, check that regoff_t is as least
51733         as wide as ptrdiff_t.
51734
51735         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
51736         so that our regex.h stays compatible with the installed regex.
51737         This is helpful for installers who configure --without-included-regex.
51738         Problem reported by Emanuele Giaquinta.
51739
51740 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
51741
51742         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
51743         Typedef to long int, not to off_, as POSIX will likely change
51744         in that direction.
51745
51746 2006-03-15  Eric Blake  <ebb9@byu.net>
51747
51748         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
51749
51750 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
51751
51752         * lib/argp-help.c (validate_uparams): Fix typo
51753         * lib/argp-parse.c (argp_default_options): Consistently begin help
51754         messages with a lowercase letter.
51755
51756 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
51757
51758         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
51759         overrun buffers and shouldn't be used (much as gets shouldn't be
51760         used).
51761         * lib/time_r.c (asctime_r, ctime_r): Likewise.
51762
51763 2006-03-08  Simon Josefsson  <jas@extundo.com>
51764
51765         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
51766         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51767
51768 2006-03-08  Simon Josefsson  <jas@extundo.com>
51769
51770         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
51771         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51772
51773 2006-03-08  Simon Josefsson  <jas@extundo.com>
51774
51775         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
51776         signal that configure disabled the device.
51777
51778 2006-03-08  Simon Josefsson  <jas@extundo.com>
51779
51780         * build-aux/maint.mk: Fix refresh-po, to handle no translated
51781         languages.
51782
51783 2006-03-07  Simon Josefsson  <jas@extundo.com>
51784
51785         * modules/getopt (Depends-on): Add unistd.
51786
51787         * modules/unistd: New file.
51788
51789 2006-03-07  Simon Josefsson  <jas@extundo.com>
51790
51791         * modules/gc-random: New file.
51792
51793 2006-03-07  Simon Josefsson  <jas@extundo.com>
51794
51795         * m4/unistd_h.m4: New file.
51796
51797 2006-03-07  Simon Josefsson  <jas@extundo.com>
51798
51799         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
51800         test to be side-effect free by storing the result in the cache
51801         variable gl_cv_lib_readline, and moving the assignment of
51802         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
51803         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51804
51805 2006-03-07  Simon Josefsson  <jas@extundo.com>
51806
51807         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
51808         error on missing devices (the functions will return an error).
51809
51810         * m4/gc.m4: Move random stuff to gc-random.m4
51811
51812 2006-03-07  Simon Josefsson  <jas@extundo.com>
51813
51814         * lib/unistd_.h: New file.
51815
51816 2006-03-07  Simon Josefsson  <jas@extundo.com>
51817
51818         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
51819
51820 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
51821
51822         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
51823         Problem reported by Juan Manuel Guerrero.
51824
51825 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
51826
51827         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
51828         the unistd module.
51829         * lib/getlogin_r.c: Likewise.
51830         * lib/getlogin_r.h: Likewise.
51831         * lib/glob.c: Likewise.
51832         * lib/pagealign_alloc.c: Likewise.
51833         * lib/unistd_.h: Remove; no longer needed.
51834
51835 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
51836
51837         * MODULES.html.sh (Support for systems lacking POSIX:2001):
51838         Add unistd.
51839         * modules/c-stack (Depends-on): Add unistd.
51840         * modules/getlogin_r: Likewise.
51841         * modules/glob: Likewise.
51842         * modules/pagealign_alloc: Likewise.
51843         * modules/unistd (Files): Remove lib/unistd_.h.
51844         (EXTRA_DIST): Remove.
51845         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
51846         need unistd_.h.
51847         (MOSTLYCLEANFILES): Remove unistd.h-t.
51848
51849 2006-03-03  Simon Josefsson  <jas@extundo.com>
51850
51851         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
51852
51853 2006-03-03  Simon Josefsson  <jas@extundo.com>
51854
51855         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
51856         libidn and bison.
51857
51858 2006-03-03  Simon Josefsson  <jas@extundo.com>
51859
51860         * build-aux/maint.mk: Add indent target.
51861
51862 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
51863
51864         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
51865         our replacement poll.h in any case, to avoid a differing
51866         declaration from a system header.  Seen on AIX.
51867
51868 2006-03-01  Simon Josefsson  <jas@extundo.com>
51869
51870         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
51871         <kasal@ucw.cz>.
51872
51873 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
51874
51875         * modules/gettime (Depends-on): Add extensions module.
51876         * modules/nanosleep (Depends-on): Likewise.
51877         * modules/settime (Depends-on): Likewise.
51878
51879 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
51880
51881         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
51882         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
51883         pedantically.
51884         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
51885         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
51886
51887         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
51888         not "==".  Reported by Ralf Wildenhues.
51889
51890 2006-03-01  Karl Berry  <karl@gnu.org>
51891
51892         * doc/Copyright/request-*: new files, synced from gnuorg.
51893
51894 2006-03-01  Karl Berry  <karl@gnu.org>
51895
51896         * config/srclist.txt (Copyright/*): new entries.
51897
51898 2006-02-28  Simon Josefsson  <jas@extundo.com>
51899
51900         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
51901
51902 2006-02-27  Simon Josefsson  <jas@extundo.com>
51903
51904         * lib/base64.h: Indent #define's.  From Jim Meyering
51905         <jim@meyering.net>.
51906
51907 2006-02-27  Jim Meyering  <jim@meyering.net>
51908
51909         Revert the change of 2006-02-24, so these files can continue
51910         to be sync'd from gettext.
51911         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
51912         of `config.h'.
51913
51914 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
51915
51916         * modules/intprops: New file.
51917         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
51918         Add intprops.
51919         * modules/getloadavg (Files): Remove lib/intprops.h.
51920         (Depends-on): Add intprops.
51921         * modules/human: Likewise.
51922         * modules/inttostr: Likewise.
51923         * modules/openat: Likewise.
51924         * modules/sig2str: Likewise.
51925         * modules/userspec: Likewise.
51926         * modules/utimecmp: Likewise.
51927         * modules/xnanosleep: Likewise.
51928         * modules/xstrtol: Likewise.
51929
51930 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
51931
51932         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
51933         * modules/lock-tests (TESTS): Use $(EXEEXT).
51934         * modules/tls-tests: Likewise.
51935         * modules/argp-tests: Likewise.
51936         (check_PROGRAMS): New var, replacing...
51937         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
51938
51939 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51940
51941         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
51942         `config.h'.
51943
51944 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
51945
51946         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
51947
51948 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51949
51950         Sync from coreutils.
51951         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
51952         gl_CHDIR_SAFER.
51953
51954 2006-02-22  Jim Meyering  <jim@meyering.net>
51955
51956         Sync from coreutils.
51957         * m4/chdir-safer.m4: New file.
51958
51959 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
51960
51961         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
51962         AT_FDCWD exceeds INT_MAX.
51963         * lib/openat.h (AT_FDCWD): Likewise.
51964
51965 2006-02-17  Eric Blake  <address@hidden>
51966
51967         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
51968
51969 2006-02-16  Simon Josefsson  <jas@extundo.com>
51970
51971         * modules/getaddrinfo (Depends-on): Add sys_socket.
51972
51973 2006-02-15  Simon Josefsson  <jas@extundo.com>
51974
51975         * build-aux/maint.mk: Add dsyntax-check rule.
51976
51977 2006-02-15  Eric Blake  <ebb9@byu.net>
51978
51979         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
51980         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
51981         'present but cannot compile' warnings on cygwin.
51982         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
51983         use ws2tcpip.h if sys/socket.h works.
51984         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
51985         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
51986
51987 2006-02-14  Simon Josefsson  <jas@extundo.com>
51988
51989         * modules/maintainer-makefile (Files): Rename.
51990
51991         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
51992         and (the local) Makefile.cfg to maint-cfg.mk.
51993
51994         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
51995         to the latter.
51996
51997         * modules/maintainer-makefile: New module.
51998
51999         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
52000         severaly stripped to make it possible to build it up from scratch
52001         with reliable tests.
52002
52003         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
52004         fixes to permit overriding the default actions when configure and
52005         makefile are not available.
52006
52007 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
52008
52009         Sync from coreutils.
52010         * modules/lstat (Depends-on): Don't depend on xalloc.
52011         (License): Change from GPL to LGPL, since this is now simply a
52012         replacement for a libc function.
52013
52014 2006-02-14  Jim Meyering  <jim@meyering.net>
52015
52016         Sync from coreutils.
52017
52018         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
52019         failure on deficient systems, and simplify gnulib lgpl dependencies.
52020         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
52021         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
52022
52023         * lib/xalloc-die.c: Remove unused definition of N_.
52024
52025 2006-02-14  Jim Meyering  <jim@meyering.net>
52026
52027         Sync from coreutils.
52028         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
52029         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
52030         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
52031         double-quote uses of that variable, to accommodate the rare case in
52032         which getmntent is available in none of the libraries checked.  This
52033         happens at least on FreeBSD 5.0.
52034
52035 2006-02-13  Simon Josefsson  <jas@extundo.com>
52036
52037         * gnulib-tool (Usage): Fix --import, from
52038         karl@freefriends.org (Karl Berry).
52039
52040 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
52041
52042         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
52043
52044 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
52045
52046         * lib/argp-namefrob.h: Restore changes accidentally lost during the
52047         "autoupdate" on 2005-12-12.
52048
52049 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
52050
52051         * modules/closeout (Depends-on): Remove atexit.
52052
52053 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
52054
52055         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
52056         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
52057
52058 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
52059
52060         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
52061         __EXTENSIONS__ if this causes compilation to fail.  Problem
52062         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
52063         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
52064
52065 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
52066
52067         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
52068         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
52069         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
52070         All uses changed.
52071
52072 2006-01-26  Simon Josefsson  <jas@extundo.com>
52073
52074         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
52075         prototype is visible on mingw32.
52076
52077         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
52078         for mingw32.
52079
52080         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
52081         mingw32).
52082
52083 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
52084
52085         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
52086         attempt to open for write; this always fails, at least on POSIX
52087         hosts.  This reinstates the 2006-01-09 change, which was
52088         inadvertently removed.
52089
52090 2006-01-26  Bruno Haible  <bruno@clisp.org>
52091
52092         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
52093         Reported by Paul Eggert.
52094
52095 2006-01-26  Bruno Haible  <bruno@clisp.org>
52096             Paul Eggert  <eggert@cs.ucla.edu>
52097
52098         * lib/stdbool_.h (_Bool)
52099         [(! (defined __cplusplus || defined __BEOS__)
52100           && !defined __GNUC__
52101           && !(defined __HP_cc || defined __xlc__
52102                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
52103                || defined __sgi))]:
52104         #define to signed char in these cases too; this simplifies
52105         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
52106         etc., separately) and makes it more conservative.
52107
52108 2006-01-25  Simon Josefsson  <jas@extundo.com>
52109
52110         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
52111         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
52112         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
52113
52114 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
52115
52116         * lib/argp-namefrob.h: Bugfix. Remove stray #
52117
52118 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
52119
52120         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
52121         so that we test the test.
52122         Check for yet another HP-UX cc bug involving *bool |= bool.
52123
52124 2006-01-25  Karl Berry  <karl@gnu.org>
52125
52126         * config/srclist.txt (vasnprintf.c): sync lost.
52127
52128 2006-01-25  Jim Meyering  <jim@meyering.net>
52129
52130         Sync from the stable (b5) branch of coreutils:
52131
52132         * lib/fts.c (fts_children): Don't let close() clobber errno from
52133         failed fchdir().
52134
52135         * lib/fts.c (fts_stat): When following a symlink-to-directory,
52136         don't necessarily interpret stat-fails+lstat-succeeds as indicating
52137         a dangling symlink.  That can also happen at least for ELOOP.
52138         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
52139         FYI, this bug predates the inclusion of fts.c in coreutils.
52140
52141         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
52142         in their own block, so pre-c99 compilers don't object.
52143
52144         Avoid the double-free (first in fts_read, second in fts_close) that
52145         would occur when an `active' directory is made inaccessible (e.g.,
52146         via chmod a-x) during a traversal.
52147         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
52148         before returning.  Reproduce this failure by
52149         mkdir -p a/b; cd a; chmod a-x . b
52150         Reported by Stavros Passas.
52151
52152 2006-01-25  Jim Meyering  <jim@meyering.net>
52153
52154         * lib/fileblocks.c: Remove more useless parentheses.
52155         * lib/readutmp.h: Likewise.
52156
52157 2006-01-25  Bruno Haible  <bruno@clisp.org>
52158
52159         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
52160         warnings.
52161         Reported by Paul Eggert.
52162
52163 2006-01-25  Bruno Haible  <bruno@clisp.org>
52164
52165         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
52166         rid of a trap command. For Solaris sh.
52167         Reported by Mark D. Baushke <mdb@gnu.org>.
52168
52169 2006-01-24  Simon Josefsson  <jas@extundo.com>
52170
52171         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
52172         Bruno.
52173
52174 2006-01-24  Karl Berry  <karl@gnu.org>
52175
52176         * config/srclist.txt (argp-namefrob.h): sync lost.
52177
52178 2006-01-24  Jim Meyering  <jim@meyering.net>
52179
52180         * modules/openat (Files): Add lib/intprops.h.
52181         From Mark D. Baushke.
52182
52183 2006-01-24  Jim Meyering  <jim@meyering.net>
52184
52185         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
52186         Reported by Mark D. Baushke.
52187
52188 2006-01-24  Jim Meyering  <jim@meyering.net>
52189
52190         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
52191
52192 2006-01-24  Bruno Haible  <bruno@clisp.org>
52193
52194         * modules/strnlen (Maintainer): Change from glibc to all.
52195
52196 2006-01-24  Bruno Haible  <bruno@clisp.org>
52197
52198         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
52199         Patch by Paul Eggert.
52200
52201 2006-01-24  Bruno Haible  <bruno@clisp.org>
52202
52203         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
52204         already has it.
52205         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
52206         2005-11-26.
52207
52208         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
52209         'signed char' to avoid problems with the built-in _Bool type.
52210         Reported by Paul Eggert on 2005-11-26.
52211
52212 2006-01-24  Bruno Haible  <bruno@clisp.org>
52213
52214         * gnulib-tool (func_import): Avoid constructing complicated sed
52215         expressions inside backquote.
52216         Report and solution by Mark D. Baushke <mdb@gnu.org>.
52217
52218 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
52219
52220         These changes imported from libc.
52221         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
52222         test and two separate function calls.
52223         * lib/strndup.c (__strndup): Add libc_hidden_def.
52224
52225 2006-01-23  Simon Josefsson  <jas@extundo.com>
52226
52227         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
52228         Remove the test_*_SOURCES variable: automake infers it by default.
52229         * modules/tls-tests: Likewise.
52230
52231 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
52232
52233         Work around porting bugs reported by Dieter in
52234         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
52235         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
52236         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
52237         Include "getopt.h" first, to check interface.
52238         (getenv): Declare only if defined HAVE_DECL_GETENV &&
52239         !HAVE_DECL_GETENV.
52240         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
52241         (__strndup): Revert to K&R-style function dfns, the glibc style.
52242         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
52243         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
52244         Include strnlen.h first, to get prototype properly.
52245         (strnlen): Renamed from __strnlen.
52246         Remove weak alias.
52247
52248 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
52249
52250         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
52251
52252 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
52253
52254         * config/srclist.txt: Adjust to reflect glibc reorganization.
52255         This affects only comments.
52256
52257 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
52258
52259          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
52260          Reported by Bruce Korb <bkorb@gnu.org>.
52261
52262 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
52263
52264         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
52265         to pacify gcc -Wswitch-default.
52266
52267 2006-01-22  Bruno Haible  <bruno@clisp.org>
52268
52269         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
52270         temporary buffer for sprintf, take into account the precision also
52271         for 'd', 'i', 'u', 'o', 'x', 'X'.
52272
52273 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
52274
52275         * modules/argp-tests: New module
52276         * tests/test-argp.c: New file
52277         * tests/test-argp-2.sh: New file
52278
52279 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
52280
52281         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
52282         (__argp_base_name): Removed
52283         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
52284         typo.
52285         (__argp_base_name): Provide macro definition or extern declaration
52286         depending on the configuration
52287
52288 2006-01-20  Simon Josefsson  <jas@extundo.com>
52289
52290         * modules/inet_ntop (Depends-on): Depend on sys_socket.
52291
52292 2006-01-20  Simon Josefsson  <jas@extundo.com>
52293
52294         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
52295
52296 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
52297
52298         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
52299         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
52300         Suggested by Bruno Haible.
52301
52302 2006-01-20  Karl Berry  <karl@gnu.org>
52303
52304         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
52305         until changes propagate, I guess.
52306
52307 2006-01-19  Simon Josefsson  <jas@extundo.com>
52308
52309         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
52310
52311 2006-01-19  Simon Josefsson  <jas@extundo.com>
52312
52313         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
52314
52315 2006-01-19  Simon Josefsson  <jas@extundo.com>
52316
52317         * gnulib-tool: Set check_PROGRAMS.
52318
52319         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
52320         modules/des-tests, modules/gc-arcfour-tests,
52321         modules/gc-arctwo-tests, modules/gc-des-tests,
52322         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
52323         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
52324         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
52325         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
52326         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
52327         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
52328         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
52329         test_*_SOURCES.
52330
52331 2006-01-18  Simon Josefsson  <jas@extundo.com>
52332
52333         * modules/socklen (Depends-on): Depend on sys_socket.
52334
52335 2006-01-18  Simon Josefsson  <jas@extundo.com>
52336
52337         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
52338         modules/des-tests, modules/gc-arcfour-tests,
52339         modules/gc-arctwo-tests, modules/gc-des-tests,
52340         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
52341         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
52342         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
52343         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
52344         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
52345         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
52346         $(EXEEXT) to automake TESTS variable, for mingw32.
52347
52348 2006-01-17  Simon Josefsson  <jas@extundo.com>
52349
52350         * modules/socklen (Include): Need sys/socket.h.
52351
52352 2006-01-17  Bruno Haible  <bruno@clisp.org>
52353
52354         * modules/ssize_t (Include): Add <sys/types.h>.
52355
52356 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
52357
52358         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
52359         it's not portable and it doesn't work with cross-compiles.
52360         Problem reported by Bruno Haible.  Fix missing-$ typo in
52361         'test "gl_cv_ignore_unused_libraries" ...' that prevented
52362         -zignore from being used with Sun's C compiler.
52363
52364 2006-01-12  Simon Josefsson  <jas@extundo.com>
52365
52366         * lib/base64.c: Fix warning, reported by Bruno Haible
52367         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
52368
52369 2006-01-12  Bruno Haible  <bruno@clisp.org>
52370
52371         * modules/ldd: New file.
52372         * build-aux/ldd.sh.in: New file.
52373         * MODULES.html.sh (Support for building libraries and executables): Add
52374         ldd.
52375
52376 2006-01-12  Bruno Haible  <bruno@clisp.org>
52377
52378         * m4/ldd.m4: New file.
52379
52380 2006-01-12  Bruno Haible  <bruno@clisp.org>
52381
52382         * gnulib-tool (func_import, func_create_testdir): Don't go into an
52383         endless loop while replacing $auxdir with build-aux.
52384
52385 2006-01-11  Simon Josefsson  <jas@extundo.com>
52386
52387         * lib/stdint_.h (SIZE_MAX): Add missing (.
52388
52389 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
52390
52391         Sync from coreutils.
52392         * lib/md5.c: Fix commentary typos.
52393         (alignof, UNALIGNED_P): No need for a GCC-specific version.
52394         * lib/md5.h (__attribute__): Remove; unused.
52395         * lib/sha1.c: Fix commentary to match md5 better.
52396         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
52397         so that we don't need to worry about alignment.  All uses changed.
52398         This merges the 2005-10-28 md5 change into sha1.
52399
52400 2006-01-11  Jim Meyering  <jim@meyering.net>
52401
52402         Sync from coreutils.
52403         * lib/md5.c (OP): Fix spacing.
52404
52405 2006-01-11  Bruno Haible  <bruno@clisp.org>
52406
52407         Ensure automatic ordering between gl_LOCK and gl_ARGP.
52408         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
52409         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
52410
52411 2006-01-11  Bruno Haible  <bruno@clisp.org>
52412
52413         Ensure automatic ordering between gl_LOCK and gl_ARGP.
52414         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
52415         the "early" section as well.
52416
52417 2006-01-11  Bruno Haible  <bruno@clisp.org>
52418
52419         Avoid "ar: no archive members specified" error on MacOS X.
52420         * gnulib-tool (func_modules_add_dummy): New function.
52421         (func_import, func_create_testdir): Invoke it.
52422
52423 2006-01-11  Bruno Haible  <bruno@clisp.org>
52424
52425         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
52426         with $auxdir in AC_CONFIG_FILES statements.
52427
52428 2006-01-11  Bruno Haible  <bruno@clisp.org>
52429
52430         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
52431         Initialize also noinst_HEADERS to empty.
52432
52433 2006-01-11  Bruno Haible  <bruno@clisp.org>
52434
52435         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
52436         variables.
52437         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
52438         autoreconf.
52439
52440 2006-01-11  Bruno Haible  <bruno@clisp.org>
52441
52442         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
52443         overridable by the user.
52444         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52445
52446 2006-01-10  Simon Josefsson  <jas@extundo.com>
52447
52448         * modules/sys_socket: New file.
52449
52450 2006-01-10  Simon Josefsson  <jas@extundo.com>
52451
52452         * m4/sys_socket_h.m4: New file.
52453
52454 2006-01-10  Simon Josefsson  <jas@extundo.com>
52455
52456         * lib/socket_.h: New file.
52457
52458 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
52459
52460         * modules/readutmp (Maintainer): Add myself.
52461
52462 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
52463
52464         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
52465         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
52466         People who are still concerned with buggy memcmp implementations
52467         can invoke gl_FUNC_MEMCMP themselves.
52468
52469 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
52470
52471         * lib/regex_internal.h (BITSET_WORD_BITS):
52472         Work around a bug in 64-bit PGC (before version 6.1-2), where the
52473         preprocessor mishandles large unsigned values as if they were signed.
52474         Problem reported by Claudio Fontana in
52475         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
52476
52477 2006-01-10  Jim Meyering  <jim@meyering.net>
52478
52479         Avoid the double-free (first in fts_read, second in fts_close) that
52480         would occur when an `active' directory is made inaccessible (e.g.,
52481         via chmod a-x) during a traversal.
52482         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
52483         before returning.  Reproduce this failure by
52484         mkdir -p a/b; cd a; chmod a-x . b
52485         Reported by Stavros Passas.
52486
52487         Sync from coreutils.
52488         * lib/sha1.c: Tweak grammar in a comment.
52489
52490 2006-01-10  Jim Meyering  <jim@meyering.net>
52491
52492         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
52493         Patch by Joerg Sonnenberger.
52494
52495 2006-01-10  Bruno Haible  <bruno@clisp.org>
52496
52497         * modules/readutmp: Depend on module free.
52498         * modules/strtok_r: Depend on module restrict.
52499
52500 2006-01-10  Bruno Haible  <bruno@clisp.org>
52501
52502         * modules/gettext (configure.ac): Add an invocation of
52503         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
52504
52505 2006-01-10  Bruno Haible  <bruno@clisp.org>
52506
52507         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
52508         Reported by Werner Lemberg <wl@gnu.org>.
52509
52510 2006-01-10  Bruno Haible  <bruno@clisp.org>
52511
52512         * lib/localcharset.c: Update from GNU gettext.
52513
52514 2006-01-10  Bruno Haible  <bruno@clisp.org>
52515
52516         * lib/argp.h (__const): Remove macro. Use const instead.
52517         * lib/argp-fmtstream.h (__const): Likewise.
52518         * lib/glob_.h (__const): Remove macro.
52519         * lib/glob-libc.h: Use const instead of __const.
52520
52521 2006-01-10  Bruno Haible  <bruno@clisp.org>
52522
52523         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
52524         variable.
52525         Needed to avoid an automake error regarding the 'gettext' module.
52526
52527 2006-01-09  Simon Josefsson  <jas@extundo.com>
52528
52529         * modules/inet_ntop (Depends-on): Add restrict.
52530
52531 2006-01-09  Simon Josefsson  <jas@extundo.com>
52532
52533         * modules/gc-rijndael-tests (License): Put under LGPL.
52534
52535         * modules/gc-des-tests (License): Likewise.
52536
52537         * modules/gc-arcfour-tests (License): Likewise.
52538
52539         * modules/gc-arctwo-tests (License): Likewise.
52540
52541         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
52542
52543         * modules/gc-hmac-sha1-tests (Files): Likewise.
52544
52545         * modules/gc-hmac-md5-tests (License): Likewise.
52546
52547         * modules/gc-sha1-tests (License): Likewise.
52548
52549         * modules/gc-md5-tests (License): Likewise.
52550
52551         * modules/gc-md4-tests (License): Likewise.
52552
52553         * modules/gc-md2-tests (License): Likewise.
52554
52555         * modules/gc-tests (License): Likewise.
52556
52557         * modules/des-tests (License): Likewise.
52558
52559         * modules/md4-tests (License): Likewise.
52560
52561         * modules/md2-tests (License): Likewise.
52562
52563 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
52564
52565         Sync from coreutils:
52566
52567         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
52568         * modules/lib-ignore: New file.
52569         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
52570         chdir-safer.m4, lchmod.m4.
52571         * modules/openat: Add mkdirat.c, openat-priv.h.
52572
52573 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
52574
52575         Sync from coreutils.
52576         * m4/lib-ignore.m4: New file.
52577         * m4/lchmod.m4: New file.
52578
52579 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
52580
52581         Sync from coreutils.
52582         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
52583         for write access: POSIX says that must fail.
52584         * lib/fts.c (diropen): Likewise.
52585         * lib/save-cwd.c (save_cwd): Likewise.
52586         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
52587         well, for minor improvements on hosts that lack O_DIRECTORY.
52588         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
52589         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
52590         Fall back on chown if open failed with EACCES.
52591
52592         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
52593         Report an error at compile-time if only a 1-second nominal clock
52594         resolution is found.
52595
52596         * lib/lchmod.h: New file.
52597         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
52598         (make_dir_parents): Use lchown rather than chown, and
52599         lchmod rather than chmod.
52600
52601         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
52602         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
52603         "proc" reported by n0dalus.
52604
52605         * lib/mountlist.c: Include <limits.h>.
52606         (dev_from_mount_options)
52607         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
52608         New function.  It no longer assumes "dev=" has the System V meaning
52609         on Linux (since it doesn't).  It also parses "dev=" more carefully.
52610         (read_file_system_list)
52611         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
52612         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
52613         dev= in that case.
52614
52615         * lib/posixtm.h (PDS_PRE_2000): New macro.
52616         * lib/posixtm.c (year): Arg is now syntax_bits rather than
52617         allow_century.  All usages changed.  Reject dates outside the range
52618         1969-1999 if PDS_PRE_2000 is used.
52619
52620 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
52621
52622         Sync from coreutils.
52623         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
52624         (Time of day items): Mention the possibility of leap seconds.
52625         Problem reported by Dr. David Alan Gilbert.
52626
52627 2006-01-09  Jim Meyering  <jim@meyering.net>
52628
52629         Sync from coreutils.
52630
52631         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
52632
52633         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
52634
52635         * lib/modechange.c (mode_compile): Reject an invalid mode string
52636         that starts with an octal digit.  From Andreas Gruenbacher.
52637
52638         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
52639         and dup to open_safer and dup_safer, respectively.
52640         (openat_permissive): Fix typo in comment.
52641
52642         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
52643         "gettext.h"; either no longer needed or are guaranteed by openat.h.
52644         (_): Remove; no longer needed.
52645         (openat): Renamed from rpl_openat; no need for rpl_openat
52646         since openat.h renames openat for us.
52647         Replace most of the body with a call to openat_permissive,
52648         to avoid duplicate code.
52649         Port to (probably hypothetical) environments were mode_t is
52650         wider than int.
52651         (openat_permissive): Require mode arg, so that we can check
52652         types better.  Put it just after flags.  Change cwd failure
52653         indicator from pointer-to-bool to pointer-to-errno-value.
52654         All callers changed.
52655         Invoke openat_save_fail and/or openat_restore_fail if
52656         cwd_errno is null, so that openat can call us.
52657         (openat_permissive, fdopendir, fstatat, unlinkat):
52658         Simplify errno handling to avoid some duplicate code,
52659         as it's OK to set errno on success.
52660         * lib/openat.h: Revamp code so that function macros depend on
52661         __OPENAT_PREFIX only, not also on AT_FDCWD.
52662         (openat_ro): Remove.  Caller changed to use openat_permissive.
52663         (openat_permissive): Now a macro, if not a function.
52664         (openat_restore_fail, openat_save_fail): Now always functions,
52665         since mkdirat needs them even if __OPENAT_PREFIX is defined.
52666
52667         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
52668         and openat.c.
52669         * lib/mkdirat.c: Include openat-priv.h.
52670         Remove definitions of macros defined therein.
52671         * lib/openat.c: Likewise.
52672
52673         * lib/mkdirat.c (mkdirat): New file and function.
52674         * lib/openat.h (mkdirat): Declare.
52675
52676         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
52677
52678         * lib/openat.h (openat_permissive): Declare.
52679         (openat_ro): Define.
52680
52681         * lib/openat.c (EXPECTED_ERRNO): New macro.
52682         (openat_permissive): New function -- used in remove.c rewrite.
52683         (all functions): Set errno just before returning, only if there
52684         was an actual failure.
52685         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
52686
52687         Emulate openat-family functions using Linux's procfs, if possible.
52688         Idea and some code based on Ulrich Drepper's glibc changes.
52689
52690         * lib/openat.c: (BUILD_PROC_NAME): New macro.
52691         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
52692         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
52693         before falling back on save_cwd and restore_cwd.
52694         (fdopendir, fstatat, unlinkat): Likewise.
52695
52696         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
52697         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
52698
52699         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
52700         as second argument to va_arg.  Otherwise, some versions of gcc
52701         warn that `if this code is reached, the program will abort'.
52702
52703 2006-01-09  Jim Meyering  <jim@meyering.net>
52704
52705         Sync from coreutils.
52706         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
52707         Require openat-priv.h.
52708
52709 2006-01-09  Bruno Haible  <bruno@clisp.org>
52710
52711         * modules/strnlen (Include): Use strnlen.h.
52712
52713 2006-01-09  Bruno Haible  <bruno@clisp.org>
52714
52715         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
52716
52717 2006-01-09  Bruno Haible  <bruno@clisp.org>
52718
52719         * lib/sysexit_.h (EX_OK): New macro.
52720         Suggested by Martin Lambers <marlam@marlam.de>.
52721
52722 2006-01-09  Bruno Haible  <bruno@clisp.org>
52723
52724         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
52725         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
52726
52727 2006-01-09  Bruno Haible  <bruno@clisp.org>
52728
52729         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
52730         numbers.
52731
52732 2006-01-09  Bruno Haible  <bruno@clisp.org>
52733
52734         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
52735         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
52736         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
52737         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
52738
52739 2006-01-09  Bruno Haible  <bruno@clisp.org>
52740
52741         * build-aux/javacomp.sh.in: New file, moved from lib/.
52742         * modules/javacomp-script (Files): Update.
52743         (configure.ac): Add AC_CONFIG_FILES invocation.
52744         (EXTRA_DIST): Remove variable.
52745
52746         * build-aux/javaexec.sh.in: New file, moved from lib/.
52747         * modules/javaexec (Files): Update.
52748         (configure.ac): Add AC_CONFIG_FILES invocation.
52749         (EXTRA_DIST): Remove javaexec.sh.in.
52750
52751         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
52752         * modules/csharpcomp-script (Files): Update.
52753         (configure.ac): Add AC_CONFIG_FILES invocation.
52754         (EXTRA_DIST): Remove variable.
52755
52756         * build-aux/csharpexec.sh.in: New file, moved from lib/.
52757         * modules/csharpexec (Files): Update.
52758         (configure.ac): Add AC_CONFIG_FILES invocation.
52759         (EXTRA_DIST): Remove csharpexec.sh.in.
52760
52761 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
52762
52763         Sync from coreutils.
52764
52765         Add POSIX ACL support
52766         * lib/acl.h (copy_acl, set_acl): Add declarations.
52767         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
52768         systems other than Linux.
52769         (chmod_or_fchmod): New function: use fchmod when possible,
52770         and chmod otherwise.
52771         (file_has_acl): Add a POSIX ACL implementation, with a
52772         Linux-specific subcase.
52773         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
52774         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
52775         acls are unsupported.
52776         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
52777         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
52778         are unsupported.
52779
52780 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
52781
52782         Sync from coreutils.
52783         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
52784
52785 2006-01-07  Bruno Haible  <bruno@clisp.org>
52786
52787         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
52788         gl_EARLY.
52789
52790 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
52791
52792         * lib/strftime.c (tzname): Don't declare if it is already #defined.
52793         Problem reported for Mingw by Mark Junker.
52794
52795 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
52796
52797         * README: Gnulib normally doesn't generate a tarball.
52798
52799 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
52800
52801         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
52802         long int, not int, for nanosecond counts, so that people who are
52803         used to POSIX struct timespec won't be surprised.  Reported by Jim
52804         Meyering.
52805
52806 2005-12-28  Bruno Haible  <bruno@clisp.org>
52807
52808         * build-aux/config.rpath: Update from GNU gettext.
52809
52810 2005-12-16  Jim Meyering  <jim@meyering.net>
52811
52812         * modules/fprintftime: New module.
52813         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
52814
52815 2005-12-16  Jim Meyering  <jim@meyering.net>
52816
52817         * m4/fprintftime.m4: New file.
52818
52819 2005-12-16  Jim Meyering  <jim@meyering.net>
52820
52821         * lib/fprintftime.c, lib/fprintftime.h: New files.
52822
52823 2005-12-15  Simon Josefsson  <jas@extundo.com>
52824
52825         * modules/socklen (configure.ac): Fix M4 macro name, to align with
52826         new m4/socklen.m4.
52827
52828 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
52829
52830         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
52831         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
52832
52833 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
52834
52835         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
52836         * lib/argp-help.c (fill_in_uparams): Check if the constructed
52837         struct uparams is valid. Fall back to the default values if it is
52838         not.
52839
52840 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
52841
52842         * modules/argp (Files): Add argp-pin.c
52843         (Depends-on): dirname
52844         (lib_SOURCES): Add argp-pin.c
52845
52846 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
52847
52848         * m4/argp.m4:  Check if program_invocation_name and
52849         program_invocation_short_name are declared and define appropriate
52850         macros if they are not.
52851
52852 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
52853
52854         * lib/argp-help.c (__argp_base_name): New function
52855         (__argp_short_program_name): Rewrite using __argp_base_name
52856         * lib/argp-namefrob.h: Define program_invocation_name and
52857         program_invocation_short_name if requested
52858         (__argp_base_name): Add prototype
52859         * lib/argp-parse.c (argp_def): Use gettext wrappers
52860         (argp_default_parser): Use __argp_base_name
52861         * lib/argp-pin.c: New file. Defines program_invocation_name and
52862         program_invocation_short_name on systems that lack them.
52863
52864 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
52865
52866         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
52867         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
52868         porting problem reported by Georg Schwarz in
52869         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
52870
52871 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
52872
52873         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
52874         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
52875         porting problem reported by Georg Schwarz in
52876         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
52877
52878 2005-12-05  Bruno Haible  <bruno@clisp.org>
52879
52880         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
52881         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
52882         Reported by Mark Junker <mjscod@gmx.de>.
52883
52884 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
52885
52886         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
52887         Use implementation from Albert Chin, with some
52888         comments/corrections by Stepan Kasal and myself.
52889
52890 2005-12-02  Bruno Haible  <bruno@clisp.org>
52891
52892         * gnulib-tool (func_import): Accept GPLed build tool modules when
52893         --lgpl is given.
52894         * modules/csharpcomp-script: New file.
52895         * modules/csharpcomp: Depend on it.
52896         * modules/javacomp-script: New file.
52897         * modules/javacomp: Depend on it.
52898         Suggested by Simon Josefsson.
52899
52900 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
52901
52902         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
52903         statement, to work around an HP-UX 10.20 compiler bug reported by
52904         Peter O'Gorman.
52905
52906 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
52907
52908         * modules/savedir (Depends-on): Add openat.
52909
52910 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
52911
52912         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
52913         (uintmax_t) [defined uintmax_t]: Do not declare.
52914         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
52915         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
52916         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
52917         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
52918         sake of portability to weird hosts that C allows (though we don't
52919         know of any practical examples).
52920
52921         * lib/savedir.h (fdsavedir): New decl.
52922         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
52923         contains most of the former guts of savedir.
52924         (savedir): Use savedirstream.
52925         Include "openat.h".
52926
52927 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
52928
52929         * modules/obstack (Files): Add m4/ulonglong.m4.
52930         Problem reported by Davide Angelocola.
52931
52932 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
52933
52934         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
52935         coreutils no longer futzes with rounding modes.
52936
52937 2005-11-14  Jim Meyering  <jim@meyering.net>
52938
52939         * lib/mkstemp-safer.c: Include <config.h>, required for possible
52940         replacement of mkstemp.
52941
52942 2005-11-10  Simon Josefsson  <jas@extundo.com>
52943
52944         * lib/readline.c: Remove EOL.
52945
52946 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
52947
52948         * modules/gethrxtime (Depends-on): Add gettime.
52949
52950 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
52951
52952         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
52953         or gettimeofday; no longer needed.
52954
52955 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
52956
52957         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
52958         time business.
52959         (gethrxtime) [! (HAVE_NANOUPTIME
52960         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
52961         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
52962         our own approximation.
52963
52964 2005-11-08  Eric Blake  <ebb9@byu.net>
52965
52966         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
52967
52968 2005-11-08  Eric Blake  <ebb9@byu.net>
52969
52970         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
52971
52972 2005-11-04  Bruno Haible  <bruno@clisp.org>
52973
52974         * gnulib-tool: Implement --update mode.
52975
52976 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
52977
52978         Fix porting problem reported by Theodoros V. Kalamatianos.
52979         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
52980         Don't assume that futimes failing means we must fail.
52981
52982 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
52983
52984         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
52985         variables to suggest the intended function of the PATH_MAX check.
52986
52987 2005-10-30  Kean Johnston  <jkj@sco.com>
52988
52989         Trivial changes to support SCO systems.
52990         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
52991         as PATH_MAX.
52992         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
52993         where __ptr is null when no I/O is pending.
52994
52995 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
52996
52997         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
52998         leave errno alone.  Problem reported by Dmitry V. Levin.
52999
53000 2005-10-28  Simon Josefsson  <jas@extundo.com>
53001
53002         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
53003         Test more.
53004
53005         * tests/test-gc-md2.c, tests/test-md2.c: New files.
53006
53007         * modules/md2, modules/md2-tests: New files.
53008
53009 2005-10-28  Simon Josefsson  <jas@extundo.com>
53010
53011         * m4/inet_ntop.m4: More tests.
53012
53013         * m4/gc-md2.m4, md2.m4: New file.
53014
53015 2005-10-28  Simon Josefsson  <jas@extundo.com>
53016
53017         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
53018         "restrict" keywords, as per POSIX.  Protect the function
53019         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
53020         Don't use K&R prototypes.  Check the sprintf return values.
53021         Re-define EAFNOSUPPORT if not present.  Indent.
53022
53023         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
53024         suggested by Bruno Haible <bruno@clisp.org>.
53025
53026         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
53027
53028         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
53029
53030         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
53031         libgcrypt).
53032
53033         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
53034
53035         * lib/md2.h, lib/md2.c: New files.
53036
53037 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
53038
53039         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
53040         errno alone.  Problem reported by Frederic Jolliton.
53041
53042 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
53043
53044         * modules/verify (License): Change from GPL to LGPL.  This is a
53045         tiny module and there are apparently near-equivalents that are
53046         under the BSD license.
53047
53048 2005-10-24  Simon Josefsson  <jas@extundo.com>
53049
53050         * modules/sha1: Relicense to LGPL.
53051
53052 2005-10-24  Simon Josefsson  <jas@extundo.com>
53053
53054         * lib/md4.h: Shrink buffer size, now that we changed the type.
53055
53056 2005-10-23  Simon Josefsson  <jas@extundo.com>
53057
53058         * gnulib-tool (func_import): Fix --tests-base.
53059
53060 2005-10-22  Simon Josefsson  <jas@extundo.com>
53061
53062         * modules/arcfour (Depends-on): Need stdint.
53063
53064 2005-10-22  Simon Josefsson  <jas@extundo.com>
53065
53066         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
53067         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
53068
53069 2005-10-22  Simon Josefsson  <jas@extundo.com>
53070
53071         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
53072         suggested by Bruno Haible <bruno@clisp.org>.
53073
53074 2005-10-22  Simon Josefsson  <jas@extundo.com>
53075
53076         * lib/crc.h: Include stddef.h, for size_t.
53077
53078 2005-10-22  Simon Josefsson  <jas@extundo.com>
53079
53080         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
53081         arcfour_context struct (simplify test vector testing in GNU
53082         Shishi).
53083
53084 2005-10-21  Simon Josefsson  <jas@extundo.com>
53085
53086         * modules/des, modules/des-tests: New files.
53087
53088         * modules/gc-des, modules/gc-des-tests: New files.
53089
53090         * tests/test-des.c, tests/test-gc-des.c: New file.
53091
53092 2005-10-21  Simon Josefsson  <jas@extundo.com>
53093
53094         * modules/arctwo, modules/arctwo-tests: New files.
53095
53096         * tests/test-arctwo.c: New file.
53097
53098         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
53099
53100         * tests/test-gc-arctwo.c: New file.
53101
53102 2005-10-21  Simon Josefsson  <jas@extundo.com>
53103
53104         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
53105         Bruno Haible <bruno@clisp.org>.
53106
53107         * m4/gc-des.m4: New file.
53108
53109 2005-10-21  Simon Josefsson  <jas@extundo.com>
53110
53111         * m4/arctwo.m4: New file.
53112
53113         * m4/gc-arctwo.m4: New file.
53114
53115 2005-10-21  Simon Josefsson  <jas@extundo.com>
53116
53117         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
53118         block.
53119
53120 2005-10-21  Simon Josefsson  <jas@extundo.com>
53121
53122         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
53123         <bruno@clisp.org>.
53124
53125         * lib/hmac-sha1.c (hmac_sha1): Likewise.
53126
53127         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
53128         Bruno Haible <bruno@clisp.org>.
53129
53130         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
53131         <bruno@clisp.org>.
53132
53133 2005-10-21  Simon Josefsson  <jas@extundo.com>
53134
53135         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
53136
53137 2005-10-21  Simon Josefsson  <jas@extundo.com>
53138
53139         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
53140
53141 2005-10-21  Simon Josefsson  <jas@extundo.com>
53142
53143         * lib/des.h, lib/des.c: New files.
53144
53145         * lib/gc-gnulib.c: Support DES.c
53146
53147 2005-10-21  Simon Josefsson  <jas@extundo.com>
53148
53149         * lib/arctwo.h, lib/arctwo.c: New files.
53150
53151         * lib/gc-gnulib.c: Support ARCTWO.
53152
53153 2005-10-21  Simon Josefsson  <jas@extundo.com>
53154
53155         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
53156         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53157
53158 2005-10-21  Simon Josefsson  <jas@extundo.com>
53159
53160         * gnulib-tool (func_import, func_create_testdir): Define automake
53161         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
53162         Makefile.am snippet),
53163         suggested by Bruno Haible <bruno@clisp.org>.
53164
53165         * modules/gc (Makefile.am): Use it.
53166
53167 2005-10-21  Bruno Haible  <bruno@clisp.org>
53168
53169         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
53170         patch.
53171
53172 2005-10-19  Simon Josefsson  <jas@extundo.com>
53173
53174         * tests/test-gc-rijndael.c: New file.
53175
53176         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
53177
53178 2005-10-19  Simon Josefsson  <jas@extundo.com>
53179
53180         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
53181         interface too.
53182
53183 2005-10-19  Simon Josefsson  <jas@extundo.com>
53184
53185         * tests/test-gc-arcfour.c: New file.
53186
53187         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
53188
53189 2005-10-19  Simon Josefsson  <jas@extundo.com>
53190
53191         * modules/gc-md4, modules/gc-md4-tests: New file.
53192
53193         * tests/test-gc-md4.c: New file.
53194
53195 2005-10-19  Simon Josefsson  <jas@extundo.com>
53196
53197         * m4/gc-md4.m4: New file.
53198
53199 2005-10-19  Simon Josefsson  <jas@extundo.com>
53200
53201         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
53202         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
53203         <kasal@ucw.cz>.
53204
53205 2005-10-19  Simon Josefsson  <jas@extundo.com>
53206
53207         * m4/gc-arcfour.m4: New file.
53208
53209         * m4/gc-rijndael.m4: New file.
53210
53211 2005-10-19  Simon Josefsson  <jas@extundo.com>
53212
53213         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
53214
53215 2005-10-19  Simon Josefsson  <jas@extundo.com>
53216
53217         * lib/gc-gnulib.c: Support ARCFOUR.
53218
53219 2005-10-19  Simon Josefsson  <jas@extundo.com>
53220
53221         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
53222         support.
53223
53224         * lib/gc.h: Add ECB enum type.
53225
53226         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
53227
53228 2005-10-18  Simon Josefsson  <jas@extundo.com>
53229
53230         * tests/test-md5.c: New file.
53231
53232         * modules/md5-tests: New file.
53233
53234 2005-10-18  Simon Josefsson  <jas@extundo.com>
53235
53236         * tests/test-md4.c: New file.
53237
53238         * modules/md4, modules/md4-tests: New files.
53239
53240 2005-10-18  Simon Josefsson  <jas@extundo.com>
53241
53242         * m4/md4.m4: New file.
53243
53244 2005-10-18  Simon Josefsson  <jas@extundo.com>
53245
53246         * lib/md4.h, lib/md4.c: New files, based on md5.?.
53247
53248 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
53249
53250         * gnulib-tool (func_create_testdir): Omit the second check whether
53251         BUILT_SOURCES in nonempty.
53252
53253 2005-10-17  Simon Josefsson  <jas@extundo.com>
53254
53255         * tests/test-rijndael.c: New file.
53256
53257 2005-10-17  Simon Josefsson  <jas@extundo.com>
53258
53259         * modules/sha1: Depend on stdint instead of md5.
53260
53261         * modules/md5: Depend on stdint, remove uint32_t.
53262
53263 2005-10-17  Simon Josefsson  <jas@extundo.com>
53264
53265         * modules/gc-sha1-tests: New file.
53266
53267         * tests/test-gc-sha1.c: New file.
53268
53269 2005-10-17  Simon Josefsson  <jas@extundo.com>
53270
53271         * m4/md5.m4: Remove call to uint32_t.m4.
53272
53273 2005-10-17  Simon Josefsson  <jas@extundo.com>
53274
53275         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
53276
53277         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
53278         md5.h.
53279
53280         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
53281
53282         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
53283
53284 2005-10-17  Simon Josefsson  <jas@extundo.com>
53285
53286         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
53287
53288 2005-10-17  Simon Josefsson  <jas@extundo.com>
53289
53290         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
53291
53292 2005-10-17  Simon Josefsson  <jas@extundo.com>
53293
53294         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
53295
53296         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
53297
53298 2005-10-17  Bruno Haible  <bruno@clisp.org>
53299
53300         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
53301         that it can also be used in a test.
53302
53303 2005-10-16  Bruno Haible  <bruno@clisp.org>
53304
53305         * gnulib-tool (func_emit_tests_Makefile_am): Also define
53306         TESTS_ENVIRONMENT, so that individual tests can augment it.
53307
53308         * gnulib-tool (func_create_testdir): Use an intermediate target for
53309         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
53310         macros, like $(ALLOCA_H), which cannot be passed through the command
53311         line.
53312
53313 2005-10-15  Simon Josefsson  <jas@extundo.com>
53314
53315         * modules/rijndael-tests: New file.
53316
53317         * modules/rijndael: New file.
53318
53319 2005-10-15  Simon Josefsson  <jas@extundo.com>
53320
53321         * m4/rijndael.m4: New file.
53322
53323 2005-10-15  Simon Josefsson  <jas@extundo.com>
53324
53325         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
53326
53327         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
53328
53329 2005-10-14  Simon Josefsson  <jas@extundo.com>
53330
53331         * tests/test-arcfour.c: New file.
53332
53333         * modules/arcfour, modules/arcfour-tests: New files.
53334
53335 2005-10-14  Simon Josefsson  <jas@extundo.com>
53336
53337         * m4/arcfour.m4: New file.
53338
53339 2005-10-14  Simon Josefsson  <jas@extundo.com>
53340
53341         * lib/arcfour.h, lib/arcfour.c: New files.
53342
53343 2005-10-14  Roland McGrath  <roland@redhat.com>
53344
53345         Import from libc.  [BZ #1331]
53346         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
53347         macro argument.
53348         Reported by Matej Vela <vela@debian.org>.
53349
53350 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
53351
53352         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
53353         include <wchar.h>; no longer needed.
53354
53355 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
53356
53357         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
53358
53359 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
53360         and  Ulrich Drepper  <drepper@redhat.com>
53361
53362         Import from libc.
53363         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
53364         instead of inline stream orientation test and two separate
53365         function calls.  Pay no attention to USE_IN_LIBIO.
53366
53367 2005-10-13  Simon Josefsson  <jas@extundo.com>
53368
53369         * modules/gc-hmac-md5-tests: New file.
53370
53371         * tests/test-gc-hmac-sha1.c: New file.
53372
53373         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
53374
53375         * modules/gc-hmac-md5-tests: New file.
53376
53377         * tests/test-gc-md5.c: New file.
53378
53379         * modules/gc-md5-tests: New file.
53380
53381 2005-10-13  Simon Josefsson  <jas@extundo.com>
53382
53383         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
53384         Move memory allocation outside of loop.
53385
53386 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
53387
53388         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
53389         intermediate directory is in a read-only file system.  Problem
53390         reported by Eric Blake.
53391
53392 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
53393
53394         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
53395
53396 2005-10-12  Simon Josefsson  <jas@extundo.com>
53397
53398         * tests/test-hmac-sha1.c: New file.
53399
53400         * modules/hmac-sha1-tests: New file.
53401
53402         * modules/hmac-sha1: New file.
53403
53404 2005-10-12  Simon Josefsson  <jas@extundo.com>
53405
53406         * modules/gc-sha1: New file.
53407
53408 2005-10-12  Simon Josefsson  <jas@extundo.com>
53409
53410         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
53411
53412         * tests/test-gc-pbkdf2-sha1.c: New file.
53413
53414 2005-10-12  Simon Josefsson  <jas@extundo.com>
53415
53416         * modules/gc-md5, modules/gc-hmac-md5: New files.
53417
53418         * modules/gc (Files): Remove md5, memxor and hmac files.
53419
53420 2005-10-12  Simon Josefsson  <jas@extundo.com>
53421
53422         * m4/gc-pbkdf2-sha1.m4: New file.
53423
53424         * m4/gc-hmac-sha1.m4: New file.
53425
53426         * m4/gc-sha1: New file.
53427
53428         * m4/hmac-sha1.m4: New file.
53429
53430 2005-10-12  Simon Josefsson  <jas@extundo.com>
53431
53432         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
53433
53434         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
53435
53436 2005-10-12  Simon Josefsson  <jas@extundo.com>
53437
53438         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
53439         suggested by Bruno Haible <bruno@clisp.org>.
53440
53441 2005-10-12  Simon Josefsson  <jas@extundo.com>
53442
53443         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
53444
53445 2005-10-12  Simon Josefsson  <jas@extundo.com>
53446
53447         * lib/gc-pbkdf2-sha1.c: New file.
53448
53449         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
53450
53451 2005-10-12  Simon Josefsson  <jas@extundo.com>
53452
53453         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
53454
53455         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
53456
53457 2005-10-12  Simon Josefsson  <jas@extundo.com>
53458
53459         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
53460         GC_USE_HMAC_MD5, respectively.
53461
53462         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
53463         (gc_md5): Fix typo.
53464
53465         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
53466
53467         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
53468
53469         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
53470
53471 2005-10-12  Bruno Haible  <bruno@clisp.org>
53472
53473         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
53474         Reported by Stepan Kasal <kasal@ucw.cz>.
53475
53476 2005-10-11  Simon Josefsson  <jas@extundo.com>
53477
53478         * tests/test-crc.c: New file.
53479
53480         * modules/crc, modules/crc-tests: New files.
53481
53482 2005-10-11  Simon Josefsson  <jas@extundo.com>
53483
53484         * m4/crc.m4: New file.
53485
53486 2005-10-11  Simon Josefsson  <jas@extundo.com>
53487
53488         * lib/gc.h: Add gc_hash and gc_hash_buffer.
53489
53490         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
53491
53492         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
53493
53494 2005-10-11  Simon Josefsson  <jas@extundo.com>
53495
53496         * lib/crc.h, lib/crc.c: New files.
53497
53498         * lib/gc.h (gc_hash_buffer): Add doc.
53499
53500 2005-10-11  Bruno Haible  <bruno@clisp.org>
53501
53502         * modules/c-strcasestr: New file.
53503         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
53504
53505 2005-10-11  Bruno Haible  <bruno@clisp.org>
53506
53507         * modules/c-strcase: New file.
53508         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
53509
53510 2005-10-11  Bruno Haible  <bruno@clisp.org>
53511
53512         * lib/strcasecmp.c: Include limits.h.
53513         (strcasecmp): Avoid integer overflow on exotic platforms.
53514         * lib/strncasecmp.c: Include limits.h.
53515         (strncasecmp): Avoid integer overflow on exotic platforms.
53516         Reported by Paul Eggert.
53517
53518 2005-10-11  Bruno Haible  <bruno@clisp.org>
53519
53520         * lib/c-strcasestr.h: New file, from GNU gettext.
53521         * lib/c-strcasestr.c: New file, from GNU gettext.
53522
53523 2005-10-11  Bruno Haible  <bruno@clisp.org>
53524
53525         * lib/c-strcase.h: New file, from GNU gettext.
53526         * lib/c-strcasecmp.c: New file, from GNU gettext.
53527         * lib/c-strncasecmp.c: New file, from GNU gettext.
53528
53529 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
53530
53531         * modules/mempcpy (License): GPL -> LGPL.
53532         * modules/strchrnul (License): Likewise.
53533         * modules/sysexits (License): Likewise.
53534
53535 2005-10-08  Simon Josefsson  <jas@extundo.com>
53536
53537         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
53538
53539 2005-10-07  Simon Josefsson  <jas@extundo.com>
53540
53541         * m4/memxor.m4: Remove gl_C_RESTRICT call.
53542
53543 2005-10-06  Simon Josefsson  <jas@extundo.com>
53544
53545         * tests/test-hmac-md5.c: New file.
53546
53547         * modules/hmac-md5-tests: New file.
53548
53549         * modules/hmac-md5: New file.
53550
53551 2005-10-06  Simon Josefsson  <jas@extundo.com>
53552
53553         * m4/hmac-md5.m4: New file.
53554
53555         * m4/memxor.m4: Require gl_C_RESTRICT.
53556
53557 2005-10-06  Simon Josefsson  <jas@extundo.com>
53558
53559         * lib/memxor.c (memxor): Avoid casts and warnings.
53560
53561 2005-10-06  Simon Josefsson  <jas@extundo.com>
53562
53563         * lib/hmac-md5.c: New file.
53564
53565         * lib/hmac.h: New file.
53566
53567 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
53568
53569         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
53570         promotes to int, not unsigned int, to catch the AIX 5.3
53571         compiler bug.
53572
53573 2005-10-05  Simon Josefsson  <jas@extundo.com>
53574
53575         * modules/memxor: New file.
53576
53577         * modules/iconv (Files): Move config.rpath to havelib, it is used
53578         there.
53579
53580         * modules/havelib (Files): Add config.rpath.
53581
53582 2005-10-05  Simon Josefsson  <jas@extundo.com>
53583
53584         * m4/memxor.m4: New file.
53585
53586 2005-10-05  Simon Josefsson  <jas@extundo.com>
53587
53588         * lib/memxor.c (memxor): Fix compiler error.
53589
53590         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
53591         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
53592
53593         * lib/memxor.h, lib/memxor.c: New files.
53594
53595         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
53596         we assume all systems have it, suggested by Jim Meyering
53597         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
53598         any systems lack sys/socket.h; mingw32 is known to lack it, but we
53599         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
53600         same reasons.
53601
53602 2005-10-05  Simon Josefsson  <jas@extundo.com>
53603
53604         * config/srclist.txt: Add glibc bug 1423 for md5.h.
53605
53606 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
53607
53608         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
53609         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
53610         needed, since the source code now assumes these .h files.
53611
53612 2005-10-05  Derek Price  <derek@ximbiot.com>
53613
53614         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
53615
53616 2005-10-05  Bruno Haible  <bruno@clisp.org>
53617
53618         * modules/stdint (License): Change to LGPL.
53619
53620 2005-10-04  Simon Josefsson  <jas@extundo.com>
53621
53622         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
53623         D. Baushke" <mdb@gnu.org>.
53624
53625 2005-10-04  Bruno Haible  <bruno@clisp.org>
53626
53627         * lib/verify.h (verify_true): Provide alternative definition for C++.
53628
53629 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
53630
53631         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
53632         (SSIZE_MAX): New macro, if not already defined.
53633         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
53634         than 2 GiB.
53635
53636 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
53637
53638         Sync from coreutils.
53639         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
53640         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
53641         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
53642         ULLONG_MAX doesn't work with 2.7.2.1.
53643
53644 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
53645
53646         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
53647         From Ben Pfaff.
53648
53649         * modules/exclude (Depends-on): Depend on verify.
53650         * modules/strtoimax (Depends-on): Likewise.
53651         * modules/utimecmp (Depends-on): Likewise.
53652
53653 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
53654
53655         * lib/exclude.c: Include verify.h.
53656         (verify): Remove.  All callers changed to use verify.h's version.
53657         * lib/strtoimax.c: Likewise.
53658         * lib/utimecmp.c: Likewis.e
53659
53660         Sync from coreutils.
53661         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
53662         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
53663         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
53664         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
53665         bother returning ENOSYS if settimeofday or stime fails; just let
53666         them return whatever errno they want to return.
53667         * lib/utimens.c: Include unistd.h, for dup2.
53668         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
53669         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
53670
53671 2005-10-02  Jim Meyering  <jim@meyering.net>
53672
53673         Sync from coreutils.
53674         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
53675         from glibc-2.2.5 that fails for read-only files.
53676
53677 2005-10-02  Jim Meyering  <jim@meyering.net>
53678
53679         Sync from coreutils.
53680         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
53681         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
53682         `#if HAVE_CONFIG_H'.
53683         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
53684         Remove AT_FDCWD test.
53685         Do not consume the fd unless successful.
53686         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
53687         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
53688         block, so that we don't even try to compile it if settimeofday is
53689         available.  This works around a compilation failure on OSF1 V5.1,
53690         due to stime requiring a `long int*' while tv_sec is `int'.
53691
53692 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
53693
53694         Sync from coreutils.
53695         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
53696         against `yes', rather than just testing for nonempty.
53697
53698 2005-10-01  Simon Josefsson  <jas@extundo.com>
53699
53700         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
53701         and Darwin.
53702
53703         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
53704         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
53705         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
53706         freeaddrinfo and gai_strerror are declared by the POSIX headers.
53707         Check if struct addrinfo is declared.
53708
53709 2005-10-01  Simon Josefsson  <jas@extundo.com>
53710
53711         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
53712         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
53713         AI_* and EAI_* definitions.  Protect function declarations.
53714
53715 2005-10-01  Jim Meyering  <jim@meyering.net>
53716
53717         Sync from coreutils.
53718
53719         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
53720         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
53721         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
53722         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
53723         in the inet and nsl libraries.  Required on Solaris 5.7.
53724
53725 2005-10-01  Jim Meyering  <jim@meyering.net>
53726
53727         Sync from coreutils.
53728         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
53729         in the inet and nsl libraries.  Required on Solaris 5.7.
53730
53731 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
53732
53733         * lib/getdelim.c (getdelim): Remove unused variables.
53734
53735 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
53736
53737         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
53738         so that the code works even with ancient cpp.  Portability problem
53739         with GCC 2.7.2.1 reported by Thomas M.Ott.
53740
53741 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
53742
53743         * modules/regex (Depends-on): Add strcase.
53744
53745         * modules/gethostname (Licence): Change from GPL to LGPL, since
53746         gethostname.c is a trivial implementation of a standard library
53747         function.
53748         * modules/poll (License): Change from GPL to LGPL, since it's
53749         derived from LGPL code.
53750
53751 2005-09-27  Jim Meyering  <jim@meyering.net>
53752
53753         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
53754         HAVE_CONFIG_H.
53755
53756         * lib/intprops.h (signed_type_or_expr__): Define.
53757         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
53758         for unsigned types.
53759
53760 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
53761
53762         * lib/verify.h (verify_expr): Remove, replacing with:
53763         (verify_true): New macro that returns true instead of void.
53764         (verify_type__): Remove.
53765         (verify): Use verify_true rather than verify_type__.
53766
53767 2005-09-26  Bruno Haible  <bruno@clisp.org>
53768
53769         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
53770         is necessary.
53771         (lib_SOURCES): Remove mbchar.c.
53772         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
53773         (Files): Add m4/mbrtowc.m4.
53774         * modules/mbiter: Likewise.
53775         * modules/mbuiter: Likewise.
53776
53777 2005-09-26  Bruno Haible  <bruno@clisp.org>
53778
53779         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
53780         compile mbchar.c if they are not both present.
53781         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
53782         * m4/mbiter.m4 (gl_MBITER): Likewise.
53783         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
53784         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
53785         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
53786
53787 2005-09-25  Jim Meyering  <jim@meyering.net>
53788
53789         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
53790         also uses socklen_t.
53791
53792 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
53793
53794         * lib/utimens.c (ENOSYS): Define if not already defined.
53795         (futimens): Support having a null PATH if the file descriptor
53796         is nonnegative.
53797
53798         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
53799         Remove.
53800         (__attribute): Define to empty unless GCC 3.1 or later.
53801         This works around a core dump on OpenBSD 3.4, which has GCC
53802         2.95.3, which dumps core when given __attribute__(()).  It also
53803         simplifies other tests, since we really don't want to bother with
53804         worrying about which ancient version of GCC supported what.
53805         Original problem reported by Yoann Vandoorselaere, with part of
53806         the fix suggested by Derek Price.
53807
53808 2005-09-24  Jim Meyering  <jim@meyering.net>
53809
53810         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
53811         so we can once again use a positive bitfield width of 1 -- now we
53812         don't have to explain why we were using a bitfield width of 2.
53813
53814 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
53815
53816         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
53817         and similarly for the other external symbols.  Problem reported
53818         by James Gallager.
53819
53820         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
53821         bug reported by Jim Meyering.
53822
53823         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
53824         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
53825         not needed, since socklen is a prerequisite module.
53826
53827 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
53828
53829         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
53830         Problem reported by Eric Blake.
53831         (getaddrinfo): Initialize se so that it's not garbage.
53832         Redo internal storage allocation so that it doesn't make unportable
53833         assumptions about alignment.
53834         Fix a memory leak.
53835
53836         * lib/utimens.c (futimens): Use futimesat if available.
53837         Prefer it to futimes since it doesn't have the futimes bug.
53838
53839         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
53840         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
53841         Instead, declare a function that returns a pointer to an array,
53842         and use verify_type__ to declare the size of the array.
53843         Problem and germ of a solution reported by Bruno Haible.
53844         (verify_type__): Use 2, not 1, for bitfield size, to avoid
53845         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
53846
53847 2005-09-23  Jim Meyering  <jim@meyering.net>
53848
53849         Sync from coreutils.
53850         Correct build failure (socklen_t not defined) on at least
53851         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
53852         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
53853
53854 2005-09-23  Jim Meyering  <jim@meyering.net>
53855
53856         * modules/getaddrinfo (Depends-on): Add socklen.
53857
53858 2005-09-23  Bruno Haible  <bruno@clisp.org>
53859
53860         * tests/test-verify.c: New file.
53861
53862 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
53863
53864         Sync from coreutils.
53865
53866         * modules/argmatch (Depends-on): Add verify.
53867         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
53868         unistd-safer.
53869         * modules/save-cwd (Depends-on): Likewise.
53870
53871         * modules/openat (Files): Add lib/openat-die.c.
53872         (Depends-on): Remove error, exitfail.
53873         Add dirname.
53874
53875         * modules/verify: New file.
53876         * MODULES.html.sh (Diagnostics <assert.h>): New section,
53877         with "verify" module.
53878
53879 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
53880
53881         Sync from coreutils.
53882
53883         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
53884         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
53885         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
53886         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
53887         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
53888         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
53889         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
53890         Don't bother checking for string.h, stdlib.h, unistd.h.
53891         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
53892         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
53893         module's job.
53894         * m4/jm-macros.m4 (gl_MACROS): Likewise.
53895         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
53896
53897         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
53898         (gl_GETDATE): Use it.
53899
53900         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
53901
53902 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
53903
53904         Sync from coreutils.
53905
53906         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
53907         stat-time.h.
53908         * lib/argmatch.h: Include verify.h
53909         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
53910         (ARGMATCH_ASSERT): Remove; unused.
53911         * lib/canonicalize.c: Assume STDC_HEADERS.
53912         * lib/exclude.c: Include "strcase.h".
53913         * lib/regex_internal.h [!defined _LIBC]: Likewise.
53914         * lib/getusershell.c: Include stdio--.h rather than stdio.h
53915         and stdio-safer.h.
53916         (getusershell): Call fopen, not fopen_safer.
53917         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
53918         Do not include unistd-safer.h.
53919         (save_cwd): Don't call fd_safer; no longer needed
53920         now that we include fcntl--.h.
53921
53922         * lib/getdate.y (relative_time): New type.
53923         (RELATIVE_TIME_0): New constant.
53924         (parser_control): Use relative_time instead of doing it ourselves.
53925         (%union): Add new relative_time rel member.
53926         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
53927         Now typeless.
53928         (relunit, relunit_snumber): Now of type rel.
53929         (zone, rel, relunit, get_date): Adjust to above changes.
53930
53931         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
53932         Do not include unistd-safer.h.
53933         (getloadavg): Don't call fd_safer; no longer needed
53934         now that we include fcntl--.h.
53935
53936         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
53937         (make_dir_parents): Treat ENOSYS like EEXIST.
53938
53939         Improve quality of diagnostics on restore_cwd failure.
53940         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
53941         (make_dir_parents): Last arg is now int * (for errno), not bool *.
53942         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
53943         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
53944         each time through the loop.  Do not diagnose restore_cwd failure;
53945         that is the caller's job (and perhaps the caller does not care).
53946
53947         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
53948         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
53949         If the file already exists but is not a directory, don't bother
53950         to try to make its parents.
53951         Close potential file descriptor leak if we can't chdir("/") (!).
53952         Don't always return true if chdir($PWD) fails; return true only
53953         if the requested action was done successfully (except for the
53954         chdir($PWD)).
53955         Don't log final directory unless we actually made it.
53956         Refactor to avoid duplicate code to fix up permissions.
53957         Don't attempt to fix up parent permissions if chdir($PWD) fails.
53958
53959         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
53960         to make it a bit faster and (I hope) clearer.
53961         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
53962         Fix bug in formats like %2N.
53963
53964         * lib/verify.h: New file.
53965
53966 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
53967
53968         Sync from coreutils.
53969         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
53970
53971 2005-09-22  Jim Meyering  <jim@meyering.net>
53972
53973         Sync from coreutils.
53974
53975         * m4/lstat.m4 (gl_FUNC_LSTAT):
53976         Use AC_LIBSOURCES to require lstat.c and lstat.h.
53977         Remove obsolete comment.
53978         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
53979         * m4/xstrtod.m4: Likewise.
53980
53981         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
53982
53983 2005-09-22  Jim Meyering  <jim@meyering.net>
53984
53985         Sync from coreutils.
53986
53987         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
53988
53989         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
53990         the .tm_year member, since otherwise gcc-4.0 would now warn about
53991         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
53992
53993         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
53994         order to avoid an unsuppressible warning from gcc on 64-bit systems.
53995
53996         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
53997         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
53998         when run in a time zone for which daylight savings time is in effect
53999         for the starting date.
54000
54001         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
54002         stop us from restricting permissions of just-created absolute-named
54003         directories.
54004         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
54005         to restore initial working directory.
54006         * lib/mkdir-p.c (make_dir_parents): New parameter:
54007         different_working_dir, to tell caller if/when we change the working
54008         directory and are unable to return to the initial one.
54009         * lib/mkdir-p.h (make_dir_parents): Update prototype.
54010         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
54011         `return false'.  This fixes a bug introduced on 2004-07-30.
54012
54013         * lib/openat.c (fdopendir): Be sure to close the supplied
54014         file descriptor before returning.  This makes our replacement
54015         implementation a little closer to Solaris's, where fdopendir
54016         ties the file descriptor to the returned DIR* pointer.
54017         * lib/openat.c (unlinkat): New function.
54018         * lib/openat.h (unlinkat): Add prototype.
54019         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
54020         (openat_restore_fail): Rename from openat_restore_die.
54021         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
54022
54023         Provide an alternative to exiting immediately upon save_cwd or
54024         restore_cwd failure.  Now, an application can arrange e.g.,
54025         to perform a longjump in that case.
54026         * lib/openat.c: Include dirname.h.
54027         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
54028         (rpl_openat, fdopendir, fstatat): Call openat_save_die
54029         and openat_restore_die rather than calling error directly.
54030         Don't include "error.h" or "exitfail.h"; they're no longer needed.
54031
54032         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
54033         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
54034         define.
54035
54036         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
54037         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
54038                             int utc, int nanoseconds);
54039         Background:
54040         date should not have to allocate a megabyte of virtual memory to
54041         handle a format argument like +%1048575T.  When implemented with
54042         strftime, it must allocate such a buffer, use strftime to fill it
54043         in, print it, then free it.
54044         With fprintftime, it simply prints everything and exits.
54045         With no need for memory allocation, that's one fewer way to fail.
54046         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
54047         optional field width, not before, so we accept %9:z, not %:9z.
54048         (my_strftime): Be sure to use L_('x') for literals.
54049
54050         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
54051         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
54052         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
54053         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
54054         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
54055         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
54056         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
54057         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
54058         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
54059         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
54060         * lib/xgethostname.c, lib/xreadlink.c:
54061         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
54062
54063         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
54064         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
54065         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
54066         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
54067         and don't include <sys/file.h>).
54068
54069 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
54070
54071         Sync from coreutils.
54072
54073         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
54074         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
54075         [!LDAV_DONE]: Avoid unused variable warning.
54076
54077 2005-09-21  Bruno Haible  <bruno@clisp.org>
54078
54079         * lib/unicodeio.h (unicode_to_mb): New declaration.
54080
54081 2005-09-20  Derek Price  <derek@ximbiot.com>
54082
54083         * lib/getaddrinfo.c: Don't include <netdb.h> included from
54084         getaddrinfo.h.
54085
54086 2005-09-20  Bruno Haible  <bruno@clisp.org>
54087
54088         * gnulib-tool: Remove trailing slashes from the values specified for
54089         --source-base, --m4-base, --tests-base, --aux-dir.
54090         Suggested by Simon Josefsson <jas@extundo.com>.
54091
54092 2005-09-20  Bruno Haible  <bruno@clisp.org>
54093
54094         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
54095         func_modules_to_filelist, func_import, func_create_testdir): Make all
54096         sorting results locale-independent, so that gnulib-cache.m4 doesn't
54097         change when gnulib-tool is invoked in a different locale.
54098
54099 2005-09-19  Simon Josefsson  <jas@extundo.com>
54100
54101         * m4/socklen.m4: Fix typo.
54102
54103 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54104
54105         Use a consistent style for including <config.h>.
54106         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
54107         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
54108         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
54109         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
54110         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
54111         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
54112         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
54113         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
54114         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
54115         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
54116         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
54117         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
54118         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
54119         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
54120         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
54121         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
54122         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
54123         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
54124         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
54125         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
54126         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
54127         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
54128         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
54129         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
54130         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
54131         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
54132         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
54133         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
54134         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
54135         lib/xstrtoumax.c, lib/yesno.c:
54136         Standardize inclusion of config.h.
54137         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
54138         lib/inttostr.h:  Removed inclusion of config.h from header files.
54139         * lib/inttostr.c:  Adjusted in-tree users.
54140         * lib/timespec.h: Remove superfluous warning to include config.h.
54141         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
54142         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
54143         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
54144         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
54145         config.h with HAVE_CONFIG_H.
54146
54147 2005-09-19  Jim Meyering  <jim@meyering.net>
54148
54149         * modules/pathmax (License): Change to LGPL.
54150
54151 2005-09-19  Derek Price  <derek@ximbiot.com>
54152
54153         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
54154
54155 2005-09-19  Bruno Haible  <bruno@clisp.org>
54156
54157         * gnulib-tool (import): Provide default for --tests-base.
54158
54159 2005-09-19  Bruno Haible  <bruno@clisp.org>
54160
54161         * doc/quote.texi: New file, extracted from gnulib.texi.
54162         * doc/ctime.texi: New file, extracted from gnulib.texi.
54163         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
54164         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
54165         * doc/gnulib.texi: Include them.
54166
54167 2005-09-18  Bruno Haible  <bruno@clisp.org>
54168
54169         Portability fix.
54170         * gnulib-tool (func_readlink): New function.
54171         (func_ln_if_changed): Use it.
54172
54173 2005-09-18  Bruno Haible  <bruno@clisp.org>
54174
54175         * gnulib-tool: Support --with-tests also with --import.
54176         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
54177         (func_import): Use variables $testsbase and $inctests. Emit a
54178         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
54179         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
54180         SUBDIRS += $testsdir.
54181         (func_create_testdir): Update.
54182
54183 2005-09-18  Bruno Haible  <bruno@clisp.org>
54184
54185         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
54186         instead of $dry_run.
54187         (func_cp_if_changed, func_mv_if_changed): Remove functions.
54188         (func_ln_if_changed): Don't handle dry-run here.
54189         (func_import): In dry-run mode, detect more precisely which actions
54190         would be performed, and don't use "...ing" verbs.
54191
54192 2005-09-18  Bruno Haible  <bruno@clisp.org>
54193
54194         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
54195         (func_import): Use join on two temporary files instead of three nested
54196         loops, in order to determine which files are new or old.
54197
54198 2005-09-18  Bruno Haible  <bruno@clisp.org>
54199
54200         * gnulib-tool (func_import): Comment out code that spits out the
54201         new files with --dry-run.
54202
54203 2005-09-18  Bruno Haible  <bruno@clisp.org>
54204
54205         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
54206
54207 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
54208
54209         * lib/stat-time.h: New file.
54210         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
54211         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
54212         in a different way.
54213         (timespec_cmp): New function.
54214         * lib/utimecmp.c: Include stat-time.h.
54215         (SYSCALL_RESOLUTION): Depend on whether various struct stat
54216         members exist, not on the obsolescent ST_MTIM_NSEC.
54217         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
54218
54219 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
54220
54221         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
54222
54223 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
54224
54225         * MODULES.html.sh (File system functions): Add stat-time.
54226         * modules/stat-time: New file.
54227         * modules/timespec (Files): Remove m4/st_mtim.m4; this
54228         is now done in a different way, by the stat-time module.
54229         * modules/utimecmp (Depends-on): Add stat-time.
54230
54231 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
54232
54233         * m4/st_mtim.m4: Remove.  Superseded by...
54234         * m4/stat-time.m4: New file.
54235         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
54236         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
54237
54238 2005-09-15  Derek Price  <derek@ximbiot.com>
54239
54240         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
54241
54242 2005-09-15  Derek Price  <derek@ximbiot.com>
54243
54244         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
54245         * lib/regex_internal.c: Ditto, using this...
54246         (__GNUC_PREREQ): ...new macro.
54247         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
54248         using...
54249         (__GNUC_PREREQ): ...this new macro.
54250
54251         * lib/strstr.h: Include string.h. Define strstr as a macro here.
54252
54253 2005-09-15  Derek Price  <derek@ximbiot.com>
54254             Paul Eggert  <eggert@cs.ucla.edu>
54255
54256         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
54257         changes, consolidating in...
54258         * lib/regex_internal.h: ...this file.
54259
54260 2005-09-13  Jim Meyering  <jim@meyering.net>
54261
54262         * lib/canon-host.c: Filter through gnu indent and reword comments
54263         slightly.
54264         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
54265
54266 2005-09-13  Derek Price  <derek@ximbiot.com>
54267
54268         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
54269         failure.
54270         Reported by Jim Meyering  <jim@meyering.net>.
54271
54272 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
54273
54274         * lib/base64.c: Typo.
54275         (base64_encode): Put b64str in initialized data section.
54276
54277 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
54278
54279         Merge glibc and coreutils changes into gnulib, plus a few
54280         extra fixes.
54281         * lib/md5.c: Use #error rather than a string.
54282         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
54283         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
54284         (__attribute__): Define to empty for non recent-GCC.
54285         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
54286         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
54287         Renamed from their non-__ counterparts, with new macros replacing
54288         them if not _LIBC.  Add __THROW attribute.
54289         (rol): Remove.
54290         (struct md5_ctx): Align buffer if using GCC.
54291         * lib/sha1.h (struct sha1_ctx): Likewise.
54292         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
54293         The old name was backwards.
54294         (NOTSWAP): Remove; not used.
54295         (rol): New macro, moved here from md5.h.
54296         (sha1_process_block): Remove a FIXME that doesn't make sense.
54297
54298 2005-09-12  Derek Price  <derek@ximbiot.com>
54299
54300         Return usable errors from canon-host.
54301         * lib/canon-host.h: New file.
54302         * lib/canon-host.c (canon_host): Wrap...
54303         (canon_host_r): ...this new function, which now relies exclusively on
54304         getaddrinfo.
54305         (ch_strerror): New function.
54306         (last_cherror): New global.
54307         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
54308         interface.
54309         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
54310         void *.
54311         (freeaddrinfo): Free ai->ai_canonname when set.
54312
54313 2005-09-12  Derek Price  <derek@ximbiot.com>
54314
54315         Make canon-host require getaddrinfo.
54316         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
54317         AC_LIBSOURCE canon-host.h.  Call...
54318         (gl_PREREQ_CANON_HOST): ...this new function, which requires
54319         gl_GETADDRINFO.
54320         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
54321
54322 2005-09-12  Derek Price  <derek@ximbiot.com>
54323
54324         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
54325         LGPL.
54326         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
54327
54328 2005-09-12  Derek Price  <derek@ximbiot.com>
54329
54330         * lib/gai_strerror.c: Include config.h when available.  Include
54331         getaddrinfo.h before other headers to test interface.
54332         Reported by Larry Jones <lawrence.jones@ugs.com>.
54333
54334 2005-09-12  Derek Price  <derek@ximbiot.com>
54335             Paul Eggert  <eggert@cs.ucla.edu>
54336
54337         * modules/glob (Files): Add glob-libc.h.
54338
54339 2005-09-12  Derek Price  <derek@ximbiot.com>
54340             Paul Eggert  <eggert@cs.ucla.edu>
54341
54342         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
54343         glob_.h, glob-libc.h.
54344         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
54345
54346 2005-09-12  Derek Price  <derek@ximbiot.com>
54347             Paul Eggert  <eggert@cs.ucla.edu>
54348
54349         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
54350         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
54351         protecting things that should be done only in gnulib contexts.
54352         * lib/glob_.h: New file, containing only the glob things needed for
54353         gnulib.
54354         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
54355         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
54356         (glob, globfree, glob_pattern_p): Now defined simply in terms of
54357         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
54358         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
54359         and to respect the namespace rules better.
54360
54361 2005-09-08  Simon Josefsson  <jas@extundo.com>
54362
54363         * modules/socklen: New file.
54364
54365 2005-09-08  Simon Josefsson  <jas@extundo.com>
54366
54367         * m4/socklen.m4: New file.
54368
54369 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
54370
54371         * modules/utimens (Files): Add m4/utimbuf.m4, since
54372         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
54373         Reported by Sergey Poznyakoff.
54374
54375 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
54376
54377         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
54378         definitions, since that's the preferred style in glibc.
54379         Fix a minor spacing issue, and update copyright notice to match
54380         glibc's.
54381
54382 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
54383
54384         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
54385
54386 2005-09-06  Simon Josefsson  <jas@extundo.com>
54387
54388         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
54389         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
54390
54391 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
54392
54393         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
54394         warning.
54395
54396 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
54397
54398         * config/srclist.txt: Add glibc bug 1302.
54399
54400 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
54401
54402         Change bitset word type from unsigned int to unsigned long int,
54403         as this has better performance on typical 64-bit hosts.
54404         Port bitset code to hosts with unusual word sizes.
54405         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
54406         (build_collating_symbol):
54407         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
54408         argument is a bitset.  This is merely a style issue, but it makes
54409         it clearer that an entire array is expected.
54410         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
54411         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
54412         Port to the case where bitset_word is not the same as unsigned int.
54413         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
54414         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
54415         Likewise.
54416         * lib/regexec.c (check_dst_limits_calc_pos_1,
54417         check_subexp_matching_top):
54418         (build_trtable, group_nodes_into_DFAstates):
54419         Likewise.
54420         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
54421         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
54422         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
54423         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
54424         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
54425         * lib/regcomp.c (optimize_subexps, lower_subexp):
54426         Work even if bitset_word has holes in its bitwise representation.
54427         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
54428         * lib/regexec.c (check_dst_limits_calc_pos_1,
54429         check_subexp_matching_top):
54430         Likewise.
54431         * lib/regex_internal.c (re_string_reconstruct):
54432         Don't assume UCHAR_MAX == 255.
54433         * lib/regex_internal.h (bitset_set_all): Likewise.
54434         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
54435         All uses changed.
54436         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
54437         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
54438         All uses changed.
54439         (BITSET_WORD_MAX): New macro.
54440         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
54441         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
54442         (bitset_empty, bitset_copy):
54443         Prefer sizeof (bitset) to multiplying it out ourselves.
54444         (bitset_not_merge): Remove; unused.
54445         (bitset_contain): Return bool, not unsigned int with one bit on.
54446         All callers changed.
54447         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
54448         alignment than re_node_set; do this by defining a new internal
54449         type struct dests_alloc and using it to allocate memory.
54450
54451 2005-09-05  Bruno Haible  <bruno@clisp.org>
54452
54453         * gnulib-tool (func_import): Fix comparison in handling of symbolic
54454         links.
54455
54456 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
54457
54458         * modules/size_max (Makefile.am): Add size_max.h
54459
54460 2005-09-04  Derek Price  <derek@ximbiot.com>
54461
54462         * gnulib-tool (func_import): Fix reversed $symbolic logic.
54463
54464 2005-09-03  Simon Josefsson  <jas@extundo.com>
54465
54466         * gnulib-tool: Fix typo.
54467
54468 2005-09-03  Simon Josefsson  <jas@extundo.com>
54469
54470         * config/srclist.txt: Add glibc bug 1293.
54471
54472 2005-09-03  Derek Price  <derek@ximbiot.com>
54473
54474         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
54475         From Larry Jones <lawrence.jones@ugs.com>.
54476
54477 2005-09-02  Simon Josefsson  <jas@extundo.com>
54478
54479         * modules/socklen: New file.
54480
54481 2005-09-02  Simon Josefsson  <jas@extundo.com>
54482
54483         * modules/havelib: New module.
54484
54485         * modules/gettext, modules/iconv, modules/lock, modules/readline:
54486         Use havelib.
54487
54488 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
54489
54490         Check for arithmetic overflow when calculating sizes, to prevent
54491         some buffer-overflow issues.  These patches are conservative, in the
54492         sense that when I couldn't determine whether an overflow was possible,
54493         I inserted a run-time check.
54494         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
54495         macros.
54496         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
54497         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
54498         (re_xnrealloc, re_x2nrealloc): New inline functions.
54499         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
54500         parse_bracket_exp):
54501         (build_equiv_class, build_charclass): Check for arithmetic overflow
54502         in size expression calculations.
54503         * lib/regex_internal.c (re_string_realloc_buffers):
54504         (build_wcs_upper_buffer, re_node_set_add_intersect):
54505         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
54506         (re_dfa_add_node, register_state): Likewise.
54507         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
54508         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
54509         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
54510         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
54511
54512 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
54513
54514         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
54515         m4/ulonglong.m4.  Problem reported by Martin Lambers.
54516
54517 2005-09-02  Bruno Haible  <bruno@clisp.org>
54518
54519         Support for lib vs. lib64 distinction on biarch platforms.
54520         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
54521         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
54522         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
54523
54524 2005-09-02  Bruno Haible  <bruno@clisp.org>
54525
54526         * gnulib-tool (import): In the other first-use case, provide defaults
54527         as well.
54528
54529 2005-09-02  Bruno Haible  <bruno@clisp.org>
54530
54531         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
54532         patches not yet found in the latest gettext release.
54533
54534 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
54535
54536         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
54537         to avoid a collision with bits/local_lim.h in glibc.
54538         All uses changed.  Problem reported by Dmitry V. Levin in
54539         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
54540
54541         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
54542         bugs in int versus size_t comparisons.
54543         (re_string_context_at): Fix bug where the code assumed that
54544         Idx is signed.
54545
54546         Use bool where appropriate.
54547         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
54548         All callers changed.
54549         (calc_eclosure_iter): Likewise, for ROOT arg.
54550         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
54551         (build_charclass_op): Likewise, for NON_MATCH arg.
54552         * lib/regex_internal.c (re_string_allocate, re_string_construct):
54553         (re_string_construct_common): Likewise, for ICASE arg.
54554         * lib/regexec.c (re_search_2_stub, re_search_stub):
54555         Likewise, for RET_LEN arg.
54556         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
54557         (set_regs): Likewise, for FL_BACKTRACK arg.
54558         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
54559         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
54560         (calc_eclosure_iter, parse_bracket_exp):
54561         Use bool for internal variables that are booleans.
54562         * lib/regexec.c (re_search_internal, check_matching,
54563         proceed_next_node):
54564         (set_regs, build_sifted_states, sift_states_bkref):
54565         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
54566         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
54567         (find_collation_sequence_value):
54568         Likewise.
54569         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
54570         (re_node_set_compare):
54571         Return bool, not int. All callers changed.
54572         * lib/regexec.c (check_halt_node_context, check_dst_limits):
54573         (build_trtable, check_node_accept): Likewise.
54574         * lib/regex_internal.h: Include stdbool.h.
54575
54576         Fix bugs uncovered when converting to bool.
54577         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
54578         failure instead of charging ahead blindly.
54579         * lib/regex_internal.c (register_state): Likewise.
54580         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
54581         for freeing internal storage.
54582         (group_nodes_into_DFA_states): Use unsigned int, not int, for
54583         bitset pieces used as boolean, to avoid undefined behavior
54584         on hosts that do int overflow checking.
54585
54586 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
54587
54588         * config/srclist.txt: Add glibc bugs 1285-1287.
54589
54590 2005-09-01  Jim Meyering  <jim@meyering.net>
54591
54592         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
54593         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
54594         Require gl_STAT_MACROS, too.
54595
54596 2005-09-01  Bruno Haible  <bruno@clisp.org>
54597
54598         * gnulib-tool (import): In the first-use case, provide defaults.
54599
54600 2005-09-01  Bruno Haible  <bruno@clisp.org>
54601
54602         * gnulib-tool (func_import): Remove the .tmp files.
54603
54604 2005-09-01  Bruno Haible  <bruno@clisp.org>
54605
54606         * gnulib-tool (func_import): Fix handling of symbolic links.
54607
54608 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
54609
54610         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
54611         old glibc regex code mishandles strings longer than 2**31 bytes.
54612         This patch fixes this when the regex code is used in gnulib
54613         (i.e., outside glibc).
54614
54615         This patch should not affect the use of the regex code inside
54616         glibc.  No doubt this problem also needs to be handled for glibc
54617         as well, but the result will be an incompatible change to the
54618         glibc ABI, and the old ABI will have to be supported too.  That
54619         can be the the subject for another patch.
54620
54621         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
54622         governing whether the rest of this patch is active.  By default,
54623         the macro is disabled and the patch has no effect.
54624         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
54625         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
54626         (struct re_pattern_buffer, re_search, re_search_2, re_match):
54627         (re_match_2, re_set_registers): Use the new types.
54628         * lib/regex_internal.h (Idx, re_hashval_t): New types.
54629         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
54630         New macros.
54631         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
54632         (re_string_context_at, bin_tree_t, re_dfastate_t):
54633         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
54634         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
54635         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
54636         (re_string_char_size_at, re_string_wchar_at):
54637         (re_string_elem_size_at):
54638         Use the new types and macros to port to 64-bit hosts.
54639         Use unsigned types for internal values, so that the code
54640         mostly works even for arrays larger than SSIZE_MAX.
54641         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
54642         (search_duplicated_node, calc_eclosure_iter, fetch_number):
54643         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
54644         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
54645         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
54646         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
54647         (calc_inveclosure, parse_dup_op, build_range_exp):
54648         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
54649         (fetch_number, create_token_tree, mark_opt_subexp):
54650         Likewise.
54651         * lib/regex_internal.c (re_string_construct_common,
54652         create_ci_newstate):
54653         (create_cd_newstate, re_string_allocate, re_string_construct):
54654         (re_string_realloc_buffers, build_wcs_upper_buffer):
54655         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
54656         (re_string_reconstruct, re_string_peek_byte_case):
54657         (re_string_fetch_byte_case, re_string_context_at):
54658         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
54659         (re_node_set_init_copy, re_node_set_add_intersect):
54660         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
54661         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
54662         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
54663         (re_acquire_state, re_acquire_state_context, register_state):
54664         Likewise.
54665         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
54666         search_cur_bkref_entry):
54667         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
54668         (re_search_internal, re_search_2_stub, re_search_stub)
54669         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
54670         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
54671         (update_cur_sifted_state, check_dst_limits):
54672         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
54673         (check_subexp_limits, sift_states_bkref, merge_state_array):
54674         (check_subexp_matching_top, get_subexp, get_subexp_sub):
54675         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
54676         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
54677         (expand_bkref_cache, check_node_accept_bytes):
54678         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
54679         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
54680         (acquire_init_state_context, check_halt_node_context):
54681         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
54682         (sift_states_backward, clean_state_log_if_needed):
54683         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
54684         (find_recover_state, transit_state_sb, transit_state_mb):
54685         (transit_state_bkref, build_trtable, match_ctx_clean):
54686         Likewise.
54687         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
54688         to work around an assumption that REG_MISSING is negative.
54689
54690         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
54691         (seek_collating_symbol_entry) [defined _LIBC]:
54692         (lookup_collation_sequence_value) [defined _LIBC]:
54693         (build_range_exp, build_collating_symbol) [defined _LIBC]:
54694         Use prototypes rather than old-style function definitions.
54695         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
54696         (transit_state_sb) [0]:
54697         (find_collation_sequence_value) [defined _LIBC]: Likewise.
54698
54699         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
54700         rm_eo.
54701
54702         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
54703         (optimize_subexps, lower_subexp):
54704         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
54705         since the signed shift might overflow.  Use 1u<<31 instead.
54706         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
54707         Likewise.
54708         * lib/regexec.c (check_dst_limits_calc_pos_1,
54709         check_subexp_matching_top): Likewise.
54710
54711         * lib/regcomp.c (optimize_subexps, lower_subexp):
54712         Use CHAR_BIT rather than 8, for clarity.
54713         * lib/regexec.c (check_dst_limits_calc_pos_1):
54714         (check_subexp_matching_top): Likewise.
54715         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
54716         have to worry about portability issues when shifting it left.
54717         Remove no-longer-needed test for table_size > 0.
54718         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
54719         in a word, as the resulting behavior is undefined.
54720         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
54721         in one case, a <= should have been an <, and in another case the
54722         whole test was missing.
54723         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
54724         the standard name CHAR_BIT.
54725         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
54726         this is not true on one's complement and signed-magnitude hosts.
54727
54728         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
54729         next_last_offset.
54730         (struct re_dfa_t): Remove unused member states_alloc.
54731         * lib/regcomp.c (init_dfa): Don't initialize unused members.
54732
54733 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
54734
54735         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
54736         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
54737         and large-file glibc and in 32-bit large-file Solaris.
54738
54739 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
54740
54741         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
54742         lengths fit in regoff_t; this isn't true if regoff_t is the same
54743         width as size_t.
54744         * lib/regex.c (re_search_internal): 5th arg is LAST_START
54745         (= START + RANGE) instead of RANGE.  This avoids overflow
54746         problems when regoff_t is the same width as size_t.
54747         All callers changed.
54748         (re_search_2_stub): Check for overflow when adding the
54749         sizes of the two strings.
54750         (re_search_stub): Check for overflow when adding START
54751         to RANGE; if it occurs, substitute the extreme value.
54752
54753 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
54754
54755         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
54756
54757 2005-08-31  Jim Meyering  <jim@meyering.net>
54758
54759         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
54760         a pointer-to-const.
54761         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
54762         (register_state): Likewise.
54763         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
54764         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
54765         (group_nodes_into_DFAstates): Likewise.
54766
54767 2005-08-31  Jim Meyering  <jim@meyering.net>
54768
54769         * check-module: Add a FIXME comment.
54770
54771 2005-08-31  Eric Blake  <ebb9@byu.net>
54772
54773         * modules/unistd-safer (Files): Add unistd--.h.
54774         * modules/stdio-safer (Files): Add stdio--.h.
54775
54776 2005-08-31  Derek Price  <derek@ximbiot.com>
54777
54778         * lib/getdelim.c (getdelim): Return EOF on EOF.
54779         Reported by Larry Jones <lawrence.jones@ugs.com>.
54780
54781 2005-08-31  Bruno Haible  <bruno@clisp.org>
54782
54783         Avoid unnecessary diffs in the generated lib/Makefile.am.
54784         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
54785         the generated files.
54786         (func_import): Don't set cmd.
54787
54788 2005-08-31  Bruno Haible  <bruno@clisp.org>
54789
54790         * lib/strstr.c: Include <stddef.h>, for NULL.
54791         * lib/strcasestr.c: Likewise.
54792         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
54793
54794 2005-08-31  Bruno Haible  <bruno@clisp.org>
54795
54796         * gnulib-tool: New option --macro-prefix.
54797         (func_import): Use macro_prefix.
54798         (import): Handle option --macro-prefix.
54799
54800 2005-08-31  Bruno Haible  <bruno@clisp.org>
54801
54802         * gnulib-tool (import): Rename most ac_* variables to cached_*.
54803         Also use new variables cached_lgpl, cached_libtool.
54804
54805 2005-08-31  Bruno Haible  <bruno@clisp.org>
54806
54807         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
54808         always instantiating them.
54809
54810 2005-08-31  Bruno Haible  <bruno@clisp.org>
54811
54812         * gnulib-tool (func_import): Read the previous cached settings
54813         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
54814         earlier added by gnulib but are now dropped. Warn when a gnulib file
54815         overwrites a non-gnulib file.
54816
54817 2005-08-31  Bruno Haible  <bruno@clisp.org>
54818
54819         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
54820         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
54821         projects that don't keep autogenerated files in CVS. Put into
54822         actioncmd only the specified modules, not the transitive closure.
54823
54824 2005-08-31  Bruno Haible  <bruno@clisp.org>
54825
54826         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
54827         Create directories that shall be filled.
54828         (import): Don't look for gl_* macros in configure.ac. Recurse across
54829         all directories containing a gnulib-cache.m4 files, if meaningful.
54830
54831 2005-08-31  Bruno Haible  <bruno@clisp.org>
54832
54833         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
54834         (import): Set seen_libtool when we see gl_LIBTOOL.
54835
54836 2005-08-31  Bruno Haible  <bruno@clisp.org>
54837
54838         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
54839         declaration macro definitions from generated gnulib.m4.
54840
54841 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
54842
54843         * lib/iconvme.h: Add prototype for iconv_alloc.
54844
54845 2005-08-29  Simon Josefsson  <jas@extundo.com>
54846
54847         * lib/iconvme.c: Fix errno.
54848
54849 2005-08-29  Bruno Haible  <bruno@clisp.org>
54850
54851         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
54852         that it works when the directory contains spaces.
54853
54854 2005-08-29  Bruno Haible  <bruno@clisp.org>
54855
54856         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
54857
54858 2005-08-29  Bruno Haible  <bruno@clisp.org>
54859
54860         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
54861         Emit more advice.
54862
54863 2005-08-29  Bruno Haible  <bruno@clisp.org>
54864         and Stepan Kasal  <kasal@ucw.cz>
54865
54866         * check-module: If more parameters are given, check each of them
54867         separately; add more exceptions, as noted by Jim Meyering.
54868         (check_module): New procedure.
54869         (%exempt_header): Now contains all exceptions.
54870
54871 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
54872
54873         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
54874
54875 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
54876
54877         * lib/iconvme.c: Split iconv_string into iconv_alloc.
54878
54879 2005-08-28  Bruno Haible  <bruno@clisp.org>
54880
54881         * m4/gnulib-tool.m4: New file.
54882
54883 2005-08-27  Jim Meyering  <jim@meyering.net>
54884
54885         * modules/unistd-safer (Files): Add pipe-safer.c.
54886         * modules/fcntl-safer (Files): Add creat-safer.c.
54887
54888 2005-08-27  Jim Meyering  <jim@meyering.net>
54889
54890         * m4/stdlib-safer.m4: New file.  From coreutils.
54891         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
54892         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
54893         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
54894         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
54895         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
54896
54897 2005-08-27  Jim Meyering  <jim@meyering.net>
54898
54899         * lib/fopen-safer.c: Merge minor changes from coreutils.
54900         * lib/dup-safer.c: Likewise.
54901         * lib/fd-safer.c: Likewise.
54902
54903         Merge from coreutils.
54904         * lib/stdio--.h: New file.
54905         * lib/stdlib--.h: New file.
54906         * lib/mkstemp-safer.c: New file.
54907
54908         GNU tar needs these.
54909         * lib/pipe-safer.c: New file.
54910         * lib/creat-safer.c: New file.
54911         * lib/fcntl--.h (creat): Define to creat_safer.
54912         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
54913         * lib/unistd--.h (pipe): Define to pipe_safer.
54914         * lib/unistd-safer.h: Declare pipe_safer.
54915
54916 2005-08-26  Simon Josefsson  <jas@extundo.com>
54917
54918         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
54919         Haible <bruno@clisp.org>.
54920
54921 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
54922
54923         * lib/regex_internal.h: Remove all references to
54924         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
54925         or better.
54926         (bitset_not, bitset_merge, bitset_not_merge):
54927         (bitset_mask, re_string_allocate, re_string_construct):
54928         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
54929         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
54930         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
54931         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
54932         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
54933         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
54934         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
54935         (re_acquire_state_context):
54936         Remove unnecessary forward decls.
54937         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
54938         Put __attribute at function definition,
54939         now that the function decl has been removed.
54940         * lib/regex_internal.c (re_string_peek_byte_case):
54941         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
54942         Likewise.
54943
54944 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
54945
54946         * m4/regex.m4: Add AC_PREREQ(2.50).
54947         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
54948
54949 2005-08-25  Simon Josefsson  <jas@extundo.com>
54950
54951         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
54952         __fsetlocking.
54953
54954 2005-08-25  Simon Josefsson  <jas@extundo.com>
54955
54956         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
54957         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
54958         GLIBC specific code.
54959
54960 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
54961
54962         Make regex safe for g++.  This fixes one real bug (an "err"
54963         that should have been "*err").  g++ problem reported by
54964         Sam Steingold.
54965         * lib/regex_internal.h (re_calloc): New macro, consistent with
54966         re_malloc etc.  All callers of calloc changed to use re_calloc.
54967         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
54968         not int.  All callers changed.
54969         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
54970         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
54971         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
54972         (find_recover_state): Change "err" to "*err"; this fixes what
54973         appears to be a real bug.
54974         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
54975         versus int.
54976
54977 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
54978
54979         * modules/regex (Depends-on): Add malloc, since the code
54980         assumes that !malloc(0) means failure.
54981
54982 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
54983
54984         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
54985
54986         alloca modernization/simplification for regex.
54987         * lib/regex.c: Remove portability cruft for alloca.  This no longer
54988         needs to be at the start of the file, and can be moved into
54989         regex_internal.h and simplified.
54990         * lib/regex_internal.h: Include <alloca.h>.
54991         (__libc_use_alloca) [!defined _LIBC]: New macro.
54992         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
54993         now works outside glibc.
54994
54995 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
54996
54997         * config/srclist.txt: Add glibc bugs 1241, 1245.
54998
54999 2005-08-25  Jim Meyering  <jim@meyering.net>
55000
55001         * lib/open-safer.c: Include <config.h>.
55002         Otherwise, we'd lose LARGEFILE support in any file using
55003         e.g. "fcntl--.h"
55004
55005 2005-08-25  Bruno Haible  <bruno@clisp.org>
55006
55007         * m4/minmax.m4: Require autoconf 2.52.
55008         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
55009         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
55010         alternatives of translit over the alphabet.
55011         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
55012
55013 2005-08-24  Simon Josefsson  <jas@extundo.com>
55014
55015         * tests/test-getpass.c: New file.
55016
55017 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
55018
55019         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
55020         for GNU regex features.
55021
55022 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
55023
55024         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
55025         * lib/regex.h (regerror): Likewise.
55026
55027         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
55028         requires this.  (The code never needed it.)
55029
55030         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
55031         All uses of recently-renamed identifiers changed to use the new,
55032         POSIX-compliant names.  The code will build and run just fine
55033         without these changes, but it's better to eat our own dog food
55034         and use the standard-conforming names.
55035
55036         * lib/regex.h: Fix a multitude of POSIX name space violations.
55037         These changes have an effect only for programs that define
55038         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
55039         do not change anything for programs compiled in the normal way.
55040         Also, there is no effect on the ABI.
55041
55042         (_REGEX_SOURCE): New macro.
55043         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
55044         defined and _GNU_SOURCE is not; this fixes a name space violation.
55045
55046         Rename the following macros to obey POSIX requirements.
55047         The old names are still visible as macros if _REGEX_SOURCE is defined.
55048         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
55049         RE_BACKSLASH_ESCAPE_IN_LISTS.
55050         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
55051         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
55052         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
55053         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
55054         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
55055         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
55056         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
55057         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
55058         (REG_INTERVALS): renamed from RE_INTERVALS.
55059         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
55060         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
55061         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
55062         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
55063         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
55064         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
55065         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
55066         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
55067         RE_UNMATCHED_RIGHT_PAREN_ORD.
55068         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
55069         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
55070         (REG_DEBUG): renamed from RE_DEBUG.
55071         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
55072         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
55073         unusual, since we can't clash with the POSIX REG_ICASE.
55074         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
55075         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
55076         (REG_NO_SUB): renamed from RE_NO_SUB.
55077         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
55078         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
55079         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
55080         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
55081         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
55082         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
55083         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
55084         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
55085         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
55086         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
55087         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
55088         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
55089         RE_SYNTAX_POSIX_MINIMAL_BASIC.
55090         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
55091         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
55092         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
55093         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
55094         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
55095         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
55096         (REG_FIXED): Renamed from REGS_FIXED.
55097         (REG_NREGS): Renamed from RE_NREGS.
55098
55099         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
55100         of other REG_* macros, since POSIX says the user is allowed to
55101         #undef these macros selectively.
55102
55103         (reg_errcode_t): Update comment stating what other tables need
55104         to be consistent.
55105
55106         Rename the following enum values to obey POSIX requirements.
55107         The old names are still visible as macros.
55108         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
55109         is not defined, since GNU is supposed to be a superset of POSIX as
55110         much as possible, and since we want reg_errcode_t to be a signed
55111         type for implementation consistency.
55112         (_REG_NOERROR): Renamed from REG_NOERROR.
55113         (_REG_NOMATCH): Renamed from REG_NOMATCH.
55114         (_REG_BADPAT): Renamed from REG_BADPAT.
55115         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
55116         (_REG_ECTYPE): Renamed from REG_ECTYPE.
55117         (_REG_EESCAPE): Renamed from REG_EESCAPE.
55118         (_REG_ESUBREG): Renamed from REG_ESUBREG.
55119         (_REG_EBRACK): Renamed from REG_EBRACK.
55120         (_REG_EPAREN): Renamed from REG_EPAREN.
55121         (_REG_EBRACE): Renamed from REG_EBRACE.
55122         (_REG_BADBR): Renamed from REG_BADBR.
55123         (_REG_ERANGE): Renamed from REG_ERANGE.
55124         (_REG_ESPACE): Renamed from REG_ESPACE.
55125         (_REG_BADRPT): Renamed from REG_BADRPT.
55126         (_REG_EEND): Renamed from REG_EEND.
55127         (_REG_ESIZE): Renamed from REG_ESIZE.
55128         (_REG_ERPAREN): Renamed from REG_ERPAREN.
55129         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
55130         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
55131         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
55132         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
55133
55134         (_REG_RE_NAME, _REG_RM_NAME): New macros.
55135         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
55136         changed.  But support the old name if the new one is not defined
55137         and if _REGEX_SOURCE.
55138
55139         Change the following member names in struct re_pattern_buffer.
55140         The old names are still supported if !_REGEX_SOURCE.
55141         The new names are always supported, regardless of _REGEX_SOURCE.
55142         (re_buffer): Renamed from buffer.
55143         (re_allocated): Renamed from allocated.
55144         (re_used): Renamed from used.
55145         (re_syntax): Renamed from syntax.
55146         (re_fastmap): Renamed from fastmap.
55147         (re_translate): Renamed from translate.
55148         (re_can_be_null): Renamed from can_be_null.
55149         (re_regs_allocated): Renamed from regs_allocated.
55150         (re_fastmap_accurate): Renamed from fastmap_accurate.
55151         (re_no_sub): Renamed from no_sub.
55152         (re_not_bol): Renamed from not_bol.
55153         (re_not_eol): Renamed from not_eol.
55154         (re_newline_anchor): Renamed from newline_anchor.
55155
55156         Change the following member names in struct re_registers.
55157         The old names are still supported if !_REGEX_SOURCE.
55158         The new names are always supported, regardless of _REGEX_SOURCE.
55159         (rm_num_regs): Renamed from num_regs.
55160         (rm_start): Renamed from start.
55161         (rm_end): Renamed from end.
55162
55163         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
55164         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
55165         Prepend __ to parameter names.
55166
55167         Undo yesterday's changes.
55168
55169 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
55170
55171         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
55172         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
55173         lib/regex.c.
55174
55175 2005-08-24  Jim Meyering  <jim@meyering.net>
55176
55177         Sync from coreutils.
55178         * m4/fcntl-safer.m4: New file.
55179
55180         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
55181         and object files for this module.
55182
55183 2005-08-24  Jim Meyering  <jim@meyering.net>
55184
55185         Sync from coreutils.
55186         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
55187
55188 2005-08-24  Jim Meyering  <jim@meyering.net>
55189
55190         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
55191         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
55192
55193 2005-08-24  Jim Meyering  <jim@meyering.net>
55194
55195         * modules/fcntl-safer: New module.
55196         * modules/fts (Depends-on): Add fcntl-safer.
55197         * MODULES.html.sh (File descriptor based Input/Output):
55198         Add fcntl-safer.
55199
55200 2005-08-24  Bruno Haible  <bruno@clisp.org>
55201
55202         Support for unit test modules.
55203         * modules/README: Mention tests modules.
55204         * modules/TEMPLATE-TESTS: New file.
55205         * gnulib-tool: New options --extract-tests-module, --with-tests and
55206         --tests-base (unused for the moment).
55207         (testsbase, inctests): New variables.
55208         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
55209         (func_verify_module): Exclude TEMPLATE-TESTS.
55210         (func_verify_nontests_module, func_verify_tests_module): New functions.
55211         (func_get_dependencies): Add implicit dependency for tests modules.
55212         (func_get_tests_module): New function.
55213         (func_modules_transitive_closure): When --with-tests was specified,
55214         include the unit tests as well, unless explicitly avoided.
55215         (func_emit_lib_Makefile_am): Ignore the tests modules here.
55216         (func_emit_tests_Makefile_am): New function.
55217         (func_create_testdir): When --with-tests was specified, emit a
55218         tests/ directory.
55219         * MODULES.html.sh (Future developments): Update.
55220
55221 2005-08-24  Bruno Haible  <bruno@clisp.org>
55222
55223         * modules/tls-tests: New file.
55224         * tests/test-tls.c: New file, from GNU gettext.
55225
55226 2005-08-24  Bruno Haible  <bruno@clisp.org>
55227
55228         * modules/lock-tests: New file.
55229         * tests/test-lock.c: New file, from GNU gettext.
55230
55231 2005-08-24  Bruno Haible  <bruno@clisp.org>
55232
55233         * lib/lock.h: Add multiple inclusion guard.
55234         * lib/tls.h: Add multiple inclusion guard.
55235
55236 2005-08-24  Bruno Haible  <bruno@clisp.org>
55237
55238         * gnulib-tool: Add support for the --aux-dir option to
55239         --create-testdir, --create-megatestdir, --test, --megatest.
55240         (func_create_testdir, func_create_megatestdir): Optionally emit a
55241         AC_CONFIG_AUX_DIR directive.
55242         (create-testdir, create-megatestdir, test, megatest): Provide a
55243         default value for $auxdir.
55244
55245 2005-08-24  Bruno Haible  <bruno@clisp.org>
55246
55247         * gnulib-tool (import): Use compound statement instead of subshell
55248         where possible.
55249
55250 2005-08-24  Bruno Haible  <bruno@clisp.org>
55251
55252         * gnulib-tool (import): Change --aux-dir default to "build-aux".
55253
55254 2005-08-24  Bruno Haible  <bruno@clisp.org>
55255
55256         * gnulib-tool (func_version): Update.
55257
55258 2005-08-24  Bruno Haible  <bruno@clisp.org>
55259
55260         * gnulib-tool (func_import, func_create_testdir,
55261         func_create_megatestdir): Quote all autoconf macro arguments.
55262
55263 2005-08-24  Bruno Haible  <bruno@clisp.org>
55264
55265         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
55266         option --force, because --force causes the aclocal.m4 of each
55267         subdirectory to be newer than the corresponding config.h.in.
55268
55269 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
55270
55271         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
55272         All contents moved to gl_REGEX.
55273         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
55274         assume that it does.
55275
55276 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
55277
55278         * lib/regex.h (REG_NOSYS)
55279         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
55280         Define, since POSIX requires it as of 2001.
55281         (_REG_ENOSYS)
55282         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
55283         New private symbol, used to keep the enum signed in all cases.
55284         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
55285         Youngman in
55286         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
55287
55288         * lib/regex_internal.c (re_string_skip_chars, register_state):
55289         (calc_state_hash):
55290         Remove forward decls; no longer needed now that we use prototypes.
55291         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
55292         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
55293         (clean_state_log_if_needed): Likewise.
55294
55295 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
55296
55297         * config/srclist.txt: Add glibc bugs 1231-1233.
55298
55299 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
55300
55301         Fix problems reported by Sam Steingold in
55302         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
55303         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
55304         assumed that reg_errcode_t is a signed type, which is not
55305         necessarily true if _XOPEN_SOURCE is not defined.
55306         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
55307         since some compilers warn about it otherwise.
55308
55309 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
55310
55311         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
55312         (init_word_char, create_initial_state, duplicate_node_closure):
55313         (fetch_token, peek_token_bracket, build_range_exp):
55314         (build_collating_symbol): Remove forward decls; no longer needed
55315         now that we use prototypes.
55316
55317         * lib/regcomp.c:
55318         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
55319         (re_compile_fastmap_iter, regcomp, regerror, regfree):
55320         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
55321         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
55322         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
55323         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
55324         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
55325         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
55326         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
55327         (build_range_exp, build_collating_symbol, parse_bracket_exp):
55328         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
55329         (build_charclass, build_charclass_op, fetch_number, create_tree):
55330         (create_token_tree, mark_opt_subexp, duplicate_tree):
55331         Use prototypes rather than old-style definitions.
55332
55333         * lib/regex_internal.c:
55334         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
55335         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
55336         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
55337         (re_string_reconstruct, re_string_peek_byte_case):
55338         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
55339         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
55340         (re_node_set_init_copy, re_node_set_add_intersect):
55341         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
55342         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
55343         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
55344         (re_acquire_state, re_acquire_state_context, register_state):
55345         (create_ci_newstate, create_cd_newstate, free_state):
55346         Likewise.
55347         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
55348         re_search_2):
55349         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
55350         (re_search_internal, prune_impossible_nodes):
55351         (acquire_init_state_context, check_matching, static):
55352         (check_halt_node_context, check_halt_state_context, proceed_next_node):
55353         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
55354         (update_regs, sift_states_backward, build_sifted_states):
55355         (clean_state_log_if_needed, merge_state_array):
55356         (update_cur_sifted_state, add_epsilon_src_nodes):
55357         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
55358         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
55359         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
55360         (find_recover_state, check_subexp_matching_top, transit_state_mb):
55361         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
55362         (check_arrival, check_arrival_add_next_nodes):
55363         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
55364         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
55365         (check_node_accept_bytes, check_node_accept, extend_buffers):
55366         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
55367         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
55368         (sift_ctx_init):
55369         Likewise.
55370
55371         * lib/regex_internal.h:
55372         (re_string_allocate, re_string_construct, re_string_reconstruct):
55373         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
55374         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
55375         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
55376         (re_string_context_at, re_string_peek_byte_case):
55377         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
55378         is defined, since we now use prototypes always.
55379
55380         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
55381         C89 or better.  All uses removed.
55382
55383 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
55384
55385         * config/srclist.txt: Add glibc bugs 1220-1227.
55386
55387 2005-08-20  Jim Meyering  <jim@meyering.net>
55388
55389         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
55390         of unused local, dfa.
55391
55392 2005-08-20  Bruno Haible  <bruno@clisp.org>
55393
55394         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
55395
55396 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
55397
55398         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
55399         (re_node_set_insert_last, re_dfa_add_node):
55400         Rename local variables to avoid GCC shadowing warnings.
55401
55402 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
55403
55404         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
55405         [defined lint]: Suppress bogus uninitialized-variable warnings.
55406
55407         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
55408         and let the caller return REG_ESPACE if out of space.  This
55409         removes an uninitialied-variable warning with GCC 4.0.1, and also
55410         avoids taking the address of a local variable.  All callers
55411         changed.
55412
55413 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
55414
55415         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
55416         $LIBCSRC/posix/regexec.c.
55417         Add glibc bug 1217 for regcomp.c.
55418
55419 2005-08-19  Jim Meyering  <jim@meyering.net>
55420
55421         * lib/regexec.c (proceed_next_node): Redo local variables to
55422         avoid GCC shadowing warnings.
55423
55424 2005-08-18  Bruno Haible  <bruno@clisp.org>
55425
55426         * lib/strstr.c (strstr): Fix return value in multibyte case.
55427         * lib/strcasestr.c (strcasestr): Likewise.
55428
55429 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
55430
55431         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
55432
55433 2005-08-17  Jim Meyering  <jim@meyering.net>
55434
55435         Make the %s format (seconds since the epoch) work for a negative
55436         number and when used with a zero-padded field width, e.g. %015s.
55437
55438         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
55439         label so that it precedes the code to set `digits'.  Otherwise,
55440         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
55441         print `00-22'.  Now, it prints `-0022', as it should.
55442
55443 2005-08-17  Bruno Haible  <bruno@clisp.org>
55444
55445         * modules/strstr (Files): Add m4/mbrtowc.m4.
55446         (Depends-on): Add mbuiter.
55447
55448 2005-08-17  Bruno Haible  <bruno@clisp.org>
55449
55450         * modules/strcasestr: New file.
55451         * MODULES.html.sh (String handling, based on ANSI C 89): Add
55452         strcasestr.
55453
55454 2005-08-17  Bruno Haible  <bruno@clisp.org>
55455
55456         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
55457
55458 2005-08-17  Bruno Haible  <bruno@clisp.org>
55459
55460         * modules/mbuiter: New file.
55461         * MODULES.html.sh (Extended multibyte and wide character utilities):
55462         Add mbuiter.
55463
55464 2005-08-17  Bruno Haible  <bruno@clisp.org>
55465
55466         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
55467         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
55468
55469 2005-08-17  Bruno Haible  <bruno@clisp.org>
55470
55471         * m4/strcasestr.m4: New file.
55472
55473 2005-08-17  Bruno Haible  <bruno@clisp.org>
55474
55475         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
55476         * lib/strstr.c: Completely rewritten, with multibyte locale support.
55477
55478 2005-08-17  Bruno Haible  <bruno@clisp.org>
55479
55480         * lib/strcasestr.h: New file.
55481         * lib/strcasestr.c: New file.
55482
55483 2005-08-17  Bruno Haible  <bruno@clisp.org>
55484
55485         * lib/strcasecmp.c: Use mbuiter.h.
55486
55487 2005-08-17  Bruno Haible  <bruno@clisp.org>
55488
55489         * lib/mbuiter.h: New file.
55490
55491 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
55492
55493         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
55494         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
55495         and gl_GETOPT are both invoked via different paths (as happens
55496         with GNU tar CVS because it uses both argp and getopt), the former
55497         wins.
55498
55499 2005-08-16  Bruno Haible  <bruno@clisp.org>
55500
55501         * modules/tls: New file.
55502         * MODULES.html.sh (Multithreading): Add tls.
55503
55504 2005-08-16  Bruno Haible  <bruno@clisp.org>
55505
55506         * modules/strnlen1: New file.
55507         * MODULES.html.sh (String handling): Add strnlen1.
55508
55509 2005-08-16  Bruno Haible  <bruno@clisp.org>
55510
55511         * modules/strcase (Files): Add m4/mbrtowc.m4.
55512         (Depends-on): Add strnlen1, mbchar.
55513
55514 2005-08-16  Bruno Haible  <bruno@clisp.org>
55515
55516         * modules/mbiter: New file.
55517         * MODULES.html.sh (Extended multibyte and wide character utilities):
55518         Add mbiter.
55519
55520 2005-08-16  Bruno Haible  <bruno@clisp.org>
55521
55522         * modules/mbfile: New file.
55523         * MODULES.html.sh (Extended multibyte and wide character utilities):
55524         Add mbfile.
55525
55526 2005-08-16  Bruno Haible  <bruno@clisp.org>
55527
55528         * modules/mbchar: New file.
55529         * MODULES.html.sh (Extended multibyte and wide character utilities):
55530         New section.
55531
55532 2005-08-16  Bruno Haible  <bruno@clisp.org>
55533
55534         * m4/tls.m4: New file, from GNU gettext.
55535
55536 2005-08-16  Bruno Haible  <bruno@clisp.org>
55537
55538         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
55539         always.
55540         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
55541
55542 2005-08-16  Bruno Haible  <bruno@clisp.org>
55543
55544         * m4/mbiter.m4: New file.
55545
55546 2005-08-16  Bruno Haible  <bruno@clisp.org>
55547
55548         * m4/mbfile.m4: New file.
55549
55550 2005-08-16  Bruno Haible  <bruno@clisp.org>
55551
55552         * m4/mbchar.m4: New file.
55553
55554 2005-08-16  Bruno Haible  <bruno@clisp.org>
55555
55556         * lib/tls.h: New file, from GNU gettext.
55557         * lib/tls.c: New file, from GNU gettext.
55558
55559 2005-08-16  Bruno Haible  <bruno@clisp.org>
55560
55561         * lib/strnlen1.h: New file.
55562         * lib/strnlen1.c: New file.
55563
55564 2005-08-16  Bruno Haible  <bruno@clisp.org>
55565
55566         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
55567         (mbi_init): Update.
55568         (mbi_avail, mbi_advance): Let the iteration end before the terminating
55569         NUL byte, not after it.
55570
55571 2005-08-16  Bruno Haible  <bruno@clisp.org>
55572
55573         * lib/strcase.h (strcasecmp): Add note in comments.
55574         * lib/strncasecmp.c: Use code from strcasecmp.c.
55575         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
55576         (strcasecmp): Work correctly in multibyte locales.
55577
55578 2005-08-16  Bruno Haible  <bruno@clisp.org>
55579
55580         * lib/mbiter.h: New file.
55581
55582 2005-08-16  Bruno Haible  <bruno@clisp.org>
55583
55584         * lib/mbfile.h: New file.
55585
55586 2005-08-16  Bruno Haible  <bruno@clisp.org>
55587
55588         * lib/mbchar.h: New file.
55589         * lib/mbchar.c: New file.
55590
55591 2005-08-16  Bruno Haible  <bruno@clisp.org>
55592
55593         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
55594         the valid ones. Makes the comparison operations transitive:
55595         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
55596         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
55597
55598 2005-08-15  Simon Josefsson  <jas@extundo.com>
55599
55600         * modules/ssize_t (License): Change to 'unlimited'.
55601
55602         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
55603
55604 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
55605
55606         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
55607         Add comments for each pending glibc patch.
55608
55609 2005-08-15  Bruno Haible  <bruno@clisp.org>
55610
55611         * lib/regex.h (__restrict_arr): Don't define to __restrict if
55612         __cplusplus is defined.
55613
55614 2005-08-14  Jim Meyering  <jim@meyering.net>
55615
55616         Sync from coreutils.
55617
55618         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
55619         Use the hash-table-based cycle-detection code not just when
55620         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
55621         Reported by James Youngman in
55622         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
55623         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
55624         FTS_TIGHT_CYCLE_CHECK.
55625         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
55626         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
55627         once again.
55628         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
55629         * lib/fts.c (fd_safer): Remove decl.
55630         Include fcntl--.h rather than unistd-safer.h
55631         (fts_safe_changedir): Don't call fd_safer; no longer needed
55632         now that we include fcntl--.h.
55633
55634 2005-08-12  Simon Josefsson  <jas@extundo.com>
55635
55636         * modules/getndelim2: Use ssize_t module.
55637         * modules/getnline: Likewise.
55638         * modules/safe-read: Likewise.
55639         * modules/xreadlink: Likewise.
55640
55641         * modules/ssize_t: New file.
55642
55643 2005-08-12  Simon Josefsson  <jas@extundo.com>
55644
55645         * m4/readline.m4: Look for termcap, curses or ncurses if required.
55646
55647 2005-08-12  Simon Josefsson  <jas@extundo.com>
55648
55649         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55650         ssize_t.
55651
55652 2005-08-12  Simon Josefsson  <jas@extundo.com>
55653
55654         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
55655         readline, getdelim and check_version.
55656         (Support for systems lacking ISO C 99: Sizes of integer types):
55657         Add size_max.
55658
55659 2005-08-12  Bruno Haible  <bruno@clisp.org>
55660
55661         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
55662
55663 2005-08-11  Simon Josefsson  <jas@extundo.com>
55664
55665         * modules/readline: New file.
55666
55667         * modules/strnlen (Files): Add strnlen.h.
55668
55669 2005-08-11  Simon Josefsson  <jas@extundo.com>
55670
55671         * m4/readline.m4: New file.
55672
55673 2005-08-11  Simon Josefsson  <jas@extundo.com>
55674
55675         * lib/readline.h, readline.c: New file.
55676
55677 2005-08-11  Simon Josefsson  <jas@extundo.com>
55678
55679         * doc/gnulib.texi (Initial import, Finishing touches): Mention
55680         gl_AVOID.
55681
55682 2005-08-11  Bruno Haible  <bruno@clisp.org>
55683
55684         * lib/strnlen.h (strnlen): Change parameter name to match comment.
55685
55686 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
55687
55688         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
55689
55690 2005-08-10  Simon Josefsson  <jas@extundo.com>
55691
55692         * tests/test-iconvme.c: New file.
55693
55694 2005-08-10  Simon Josefsson  <jas@extundo.com>
55695
55696         * m4/strnlen.m4: New file.
55697
55698         * m4/strndup.m4: Don't check for strnlen declaration, done in
55699         strnlen.m4.
55700
55701 2005-08-10  Simon Josefsson  <jas@extundo.com>
55702
55703         * lib/strndup.c: Use strnlen.h.
55704
55705         * lib/strnlen.h: New file.
55706
55707 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
55708
55709         * README: Typos.
55710
55711 2005-08-02  Simon Josefsson  <jas@extundo.com>
55712
55713         * modules/readline: New file.
55714
55715 2005-08-02  Simon Josefsson  <jas@extundo.com>
55716
55717         * modules/getdelim: New file.
55718
55719         * modules/getline: Rewrite, don't use getndelim2.
55720
55721 2005-08-02  Simon Josefsson  <jas@extundo.com>
55722
55723         * m4/getline.m4: Separate out getdelim stuff into separate module.
55724
55725         * m4/getdelim.m4: New file.
55726
55727 2005-08-02  Simon Josefsson  <jas@extundo.com>
55728
55729         * lib/getline.h, getline.c: Rewrite.
55730
55731         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
55732
55733 2005-07-31  Bruno Haible  <bruno@clisp.org>
55734
55735         * lib/lock.h (gl_lock_initializer): New macro.
55736         (gl_lock_define_initialized): Use it.
55737         (gl_rwlock_initializer): New macro.
55738         (gl_rwlock_define_initialized): Use it.
55739         (gl_recursive_lock_initializer): New macro.
55740         (gl_recursive_lock_define_initialized): Use it.
55741
55742 2005-07-30  Karl Berry  <karl@gnu.org>
55743
55744         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
55745         Report from Ben Pfaff, regarding getopt.
55746
55747 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
55748
55749         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
55750         normal way.
55751         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
55752         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
55753         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
55754         (gl_GETOPT): Use the new macros.  Most of the implementation
55755         is moved to the new macros.  This is for programs like Emacs
55756         that don't want all the functionality of gl_GETOPT.
55757
55758 2005-07-26  Bruno Haible  <bruno@clisp.org>
55759
55760         * m4/lock.m4: Update from GNU gettext.
55761
55762 2005-07-26  Bruno Haible  <bruno@clisp.org>
55763
55764         * lib/lock.h: Update from GNU gettext.
55765         * lib/lock.c: Update from GNU gettext.
55766
55767 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
55768
55769         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
55770         obsolescent AC_TRY_RUN.  Include the default includes files, for
55771         'exit'.
55772
55773 2005-07-24  Bruno Haible  <bruno@clisp.org>
55774
55775         * modules/visibility: New file.
55776         * MODULES.html.sh (Misc): Add visibility.
55777
55778 2005-07-24  Bruno Haible  <bruno@clisp.org>
55779
55780         * m4/visibility.m4: New file.
55781
55782 2005-07-24  Bruno Haible  <bruno@clisp.org>
55783
55784         * doc/visibility.texi: New file.
55785
55786 2005-07-22  Bruno Haible  <bruno@clisp.org>
55787
55788         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
55789         $(ALLOCA_H), redundant through BUILT_SOURCES.
55790         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
55791         redundant through BUILT_SOURCES.
55792         * modules/byteswap (Makefile.am): Remove explicit dependency on
55793         $(BYTESWAP_H), redundant through BUILT_SOURCES.
55794         * modules/fnmatch (Makefile.am): Remove explicit dependency on
55795         $(FNMATCH_H), redundant through BUILT_SOURCES.
55796         * modules/getopt (Makefile.am): Remove explicit dependency on
55797         $(GETOPT_H), redundant through BUILT_SOURCES.
55798         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
55799         redundant through BUILT_SOURCES.
55800         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
55801         redundant through BUILT_SOURCES.
55802         * modules/stdbool (Makefile.am): Remove explicit dependency on
55803         $(STDBOOL_H), redundant through BUILT_SOURCES.
55804         * modules/stdint (Makefile.am): Remove explicit dependency on
55805         $(STDINT_H), redundant through BUILT_SOURCES.
55806         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
55807         Remove explicit dependency on $(SYSEXITS_H).
55808         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
55809
55810 2005-07-18  Simon Josefsson  <jas@extundo.com>
55811
55812         * lib/check-version.c (check_version): Accept identical versions too.
55813
55814 2005-07-18  Bruno Haible  <bruno@clisp.org>
55815
55816         * modules/lock: New file.
55817         * MODULES.html.sh (Multithreading): New section.
55818
55819 2005-07-18  Bruno Haible  <bruno@clisp.org>
55820
55821         * m4/lock.m4: New file, from GNU gettext.
55822
55823 2005-07-18  Bruno Haible  <bruno@clisp.org>
55824
55825         * lib/lock.h: New file, from GNU gettext.
55826         * lib/lock.c: New file, from GNU gettext.
55827
55828 2005-07-18  Bruno Haible  <bruno@clisp.org>
55829
55830         * lib/lock.h (gl_once_t): New type.
55831         (gl_once_define, gl_once): New macros.
55832         * lib/lock.c (fresh_once): New variable.
55833         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
55834         functions.
55835
55836 2005-07-16  Simon Josefsson  <jas@extundo.com>
55837
55838         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
55839         workaround, suggested by Bruno.
55840
55841 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
55842
55843         * modules/xalloc (Depends-on): Add xalloc-die.
55844         * modules/xvasprintf (Depends-on): Add xalloc-die.
55845
55846 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
55847
55848         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
55849         with a minor change.
55850
55851 2005-07-15  Bruno Haible  <bruno@clisp.org>
55852
55853         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
55854         When using lib/poll.c, define poll as rpl_poll.
55855
55856 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
55857
55858         * modules/argp (Depends-on): Remove unlocked-io.
55859
55860 2005-07-14  Derek Price  <derek@ximbiot.com>
55861
55862         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
55863         for glob symlink bug.
55864
55865 2005-07-14  Bruno Haible  <bruno@clisp.org>
55866
55867         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
55868         Instead, test for *_unlocked function declarations directly.
55869
55870 2005-07-11  Simon Josefsson  <jas@extundo.com>
55871
55872         * modules/size_max: New file.
55873
55874         * modules/xsize: Depend on size_max module for size_max.m4.
55875
55876 2005-07-11  Simon Josefsson  <jas@extundo.com>
55877
55878         * lib/size_max.h: New file.
55879
55880 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
55881
55882         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
55883         copyright symbol and the year.
55884         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
55885         (version_etc_va): Use parameterized copyright notice.
55886         Reword to conform to the current GNU coding standards.
55887
55888 2005-07-11  Karl Berry  <karl@gnu.org>
55889
55890         * doc/gnulib.texi (Quoting): new node.
55891         (Initial import): more info, from Patrice.
55892
55893 2005-07-11  Bruno Haible  <bruno@clisp.org>
55894
55895         * gnulib-tool (func_usage): Document option --avoid.
55896         (Command line options): Handle --avoid.
55897         (func_acceptable): New function.
55898         (func_modules_transitive_closure): Use it.
55899
55900 2005-07-11  Bruno Haible  <bruno@clisp.org>
55901
55902         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
55903         Reported by Jim Meyering.
55904
55905 2005-07-10  Bruno Haible  <bruno@clisp.org>
55906
55907         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
55908         Needed when size_t is smaller than 'unsigned int'.
55909         Reported by Paul Eggert.
55910
55911 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
55912
55913         * modules/argp (Depends-on): Add unlocked-io
55914
55915 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
55916
55917         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
55918         block of defines.
55919
55920 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
55921
55922         * config/srclist.txt: Comment out regcomp.c, since we have a porting
55923         fix now.
55924
55925 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
55926         and Paul Eggert  <eggert@cs.ucla.edu>
55927
55928         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
55929         in wint_t, not wchar_t.  Remove now-unnecessary cast.
55930
55931 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
55932
55933         * modules/regex (Files): Add lib/regex_internal.c,
55934         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
55935         (Depends-on): Add extensions.
55936         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
55937
55938 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
55939
55940         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
55941         pathconf.
55942         * m4/same.m4 (gl_SAME): Likewise.
55943         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
55944
55945         * m4/regex.m4: Adjust to new libc regex implementation.
55946         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
55947         all the .c and .h parts of (the new) regex.
55948         Quote the m4 stuff better.
55949         Check for RE_ICASE bug of old gnulib.
55950         Check for REG_STARTEND of recent libc.
55951         Rename local variables from jm_* to gl_*.
55952         Quote operand of "test -f".
55953         Say "recent enough" version of libc, not "version 2".
55954         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
55955         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
55956         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
55957         Remove check for btowc, isascii.
55958         Require AM_LANGINFO_CODESET.
55959
55960 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
55961
55962         * lib/regex.c, regex.h: Sync from libc.
55963         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
55964         * lib/regexec.c:
55965         New files, synced from libc, except that regex_internal.h
55966         currently has a small porting fix.
55967
55968 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
55969
55970         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
55971         regex_internal.c, regexec.c.
55972         Add regex_internal.h too, but as a comment, since the libc version
55973         is currently broken in gnulib mode.
55974
55975 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
55976
55977         Support programs like Emacs that use gnulib but not gettext.
55978         * MODULES.html.sh (Internationalization functions): Add gettext-h.
55979         * modules/gettext-h: New file.
55980         * modules/gettext (Files): Remove lib/gettext.h.
55981         (Depends-on): Add gettext-h.
55982         (Makefile.am): Remove lib_SOURCES.
55983         * modules/argmatch, modules/c-stack, modules/closeout:
55984         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
55985         * modules/execute, modules/file-type, modules/getaddrinfo:
55986         * modules/getopt, modules/human, modules/javacomp:
55987         * modules/javaexec, modules/mkdir-p, modules/obstack:
55988         * modules/openat, modules/pagealign_alloc, modules/pipe:
55989         * modules/quotearg, modules/regex, modules/rpmatch:
55990         * modules/unicodeio, modules/userspec, modules/version-etc:
55991         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
55992         * modules/xsetenv:
55993         Depend on gettext-h, not gettext.
55994
55995 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
55996
55997         * gnulib-tool (func_import): Add support for 'public domain' license.
55998         * modules/alloca, modules/atexit, modules/memmove:
55999         Now public domain, not GPL.
56000         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
56001         * modules/realloc, modules/strerror, modules/strtod:
56002         Now LGPL, not GPL.
56003
56004 2005-07-05  Bruno Haible  <bruno@clisp.org>
56005
56006         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
56007         autoconf CVS. Needed for mingw.
56008
56009 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
56010
56011         Remove the dependency of the strftime module on the tzset module.
56012         * modules/strftime (Depends-on): Remove dependency on tzset.
56013
56014 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
56015
56016         Remove the dependency of the strftime module on the tzset module.
56017         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
56018         gl_FUNC_TZSET_CLOBBER.
56019
56020 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
56021
56022         Remove the dependency of the strftime module on the tzset module.
56023         * lib/strftime.c (my_strftime)
56024         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
56025         Copy the input structure, to work around some of the bug with
56026         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
56027         Solaris releases, you should also use the tzset module, but we won't
56028         require it as a dependency any more since we don't want LGPLed code
56029         to depend on GPLed code.
56030
56031 2005-07-02  Jim Meyering  <jim@meyering.net>
56032
56033         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
56034         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
56035         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
56036         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
56037
56038 2005-07-02  Jim Meyering  <jim@meyering.net>
56039
56040         * lib/backupfile.c (backup_args): Change a `0' to NULL.
56041
56042 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
56043
56044         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
56045         declares only 'struct timespec;' (!).
56046
56047 2005-07-01  Jim Meyering  <jim@meyering.net>
56048
56049         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
56050         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
56051         * lib/save-cwd.c, tempname.c:
56052         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
56053         and don't include <sys/file.h>).
56054
56055 2005-06-29  Jim Meyering  <jim@meyering.net>
56056
56057         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
56058         type name.  Use the variable name instead.
56059         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
56060         Likewise.
56061
56062 2005-06-28  Simon Josefsson  <jas@extundo.com>
56063
56064         * modules/check-version (Files): Add check-version.m4.
56065
56066 2005-06-28  Simon Josefsson  <jas@extundo.com>
56067
56068         * m4/check-version.m4: New file, suggested by Jim Meyering
56069         <jim@meyering.net>.
56070
56071 2005-06-28  Simon Josefsson  <jas@extundo.com>
56072
56073         * lib/check-version.h, lib/check-version.c: New files.
56074
56075 2005-06-28  Simon Josefsson  <jas@extundo.com>
56076
56077         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
56078         collision with global variable.  Better indentation.  Don't
56079         increment buffer pointer beyond buffer end.  Based on comments
56080         from Paul Eggert <eggert@cs.ucla.edu>.
56081
56082         * lib/base64.h: Indent.
56083
56084 2005-06-28  Simon Josefsson  <jas@extundo.com>
56085
56086         * doc/gnulib.texi (Library version handling): New section.
56087
56088 2005-06-28  Jim Meyering  <jim@meyering.net>
56089
56090         * check-module (find_included_lib_files): Hard-code another
56091         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
56092         but modules/fts-lgpl (correctly) does not list those files.
56093
56094         * modules/canonicalize (Files): Add lib/pathmax.h.
56095
56096 2005-06-25  Simon Josefsson  <jas@extundo.com>
56097
56098         * modules/check-version: New file.
56099
56100 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
56101
56102         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
56103         initializer of struct addrinfo, as an indication that we don't
56104         care how many members the structure has.
56105
56106 2005-06-24  Derek Price  <derek@ximbiot.com>
56107         and Bruno Haible  <bruno@clisp.org>
56108
56109         Remove stat module & update lstat.
56110         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
56111         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
56112         * m4/stat.m4: Remove this file.
56113
56114 2005-06-24  Derek Price  <derek@ximbiot.com>
56115         and Bruno Haible  <bruno@clisp.org>
56116
56117         Remove stat module & update lstat.
56118         * lib/stat.c: Remove this file...
56119         (slash_aware_lstat): ...moving this content and its support...
56120         * lib/lstat.c (rpl_lstat): ...into here.
56121         * lib/lstat.h: New file.
56122
56123 2005-06-24  Derek Price  <derek@ximbiot.com>
56124         and Bruno Haible  <bruno@clisp.org>
56125
56126         Remove stat module & update lstat.
56127         * config/srclist.txt (libc sources): Remove stat.
56128
56129 2005-06-24  Derek Price  <derek@ximbiot.com>
56130         and Bruno Haible  <bruno@clisp.org>
56131
56132         Remove stat module & update lstat.
56133         * MODULES.html.sh (stat): Remove.
56134         * MODULES.html: Regenerated.
56135         * modules/lstat (Description): Correct function name.
56136         (Files): Add "lstat.h".
56137         (Depends-on): Remove stat, add xalloc, stat-macros.
56138         * modules/stat: Remove this file.
56139         (Include): Add "lstat.h", remove <sys/stat.h>.
56140
56141 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
56142
56143         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
56144         (ranged_convert): Don't save conversion in a temporary struct.
56145         This causes a warning with GCC 4.0.0, and anyway in the typical
56146         case it's not worth the extra 100 bytes or so of code.
56147         (ranged_convert, __mktime_internal): When calling a function via a
56148         pointer P, use P () rather than (*P) (), as we now assume C89 or
56149         better.
56150
56151 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
56152
56153         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
56154         "who -r" failed to give output.  Problem reported by Tim Waugh.
56155
56156         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
56157         (xcalloc): Use it to avoid needless tests.
56158         Problem reported by Jim Meyering.
56159
56160 2005-06-20  Derek Price  <derek@ximbiot.com>
56161
56162         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
56163         unnecessary for Autoconfs > 2.59c.
56164
56165 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
56166
56167         * lib/argp.h (__option_is_short): Check upper limit of
56168         __key. Isprint() requires its argument to have the value
56169         of an unsigned char or EOF.
56170
56171 2005-06-16  Jim Meyering  <jim@meyering.net>
56172
56173         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
56174         when either N or S is zero.
56175
56176 2005-06-16  Derek Price  <derek@ximbiot.com>
56177
56178         * m4/bison.m4: Declare YACC & YFLAGS precious.
56179
56180 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
56181
56182         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
56183         multibyte string or pattern, fall back on unibyte matching.
56184         Problem reported by James Youngman.
56185
56186 2005-06-08  Bruno Haible  <bruno@clisp.org>
56187
56188         * modules/csharpcomp: New file.
56189         * MODULES.html.sh (C#): Add csharpcomp.
56190
56191 2005-06-08  Bruno Haible  <bruno@clisp.org>
56192
56193         * m4/csharpcomp.m4: New file, from GNU gettext.
56194
56195 2005-06-08  Bruno Haible  <bruno@clisp.org>
56196
56197         * lib/csharpcomp.h: New file, from GNU gettext.
56198         * lib/csharpcomp.c: New file, from GNU gettext.
56199         * lib/csharpcomp.sh.in: New file, from GNU gettext.
56200
56201 2005-06-08  Bruno Haible  <bruno@clisp.org>
56202
56203         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
56204         warning on mingw.
56205
56206 2005-06-07  Derek Price  <derek@ximbiot.com>
56207
56208         Sync from CVS.
56209         * lib/glob_.h: Indent nested #ifdef.
56210
56211 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
56212
56213         Sync from coreutils.
56214         Use "file name" when talking about file names, instead of "filename"
56215         or "path", as per the GNU coding standards.
56216         * lib/mkdir-p.c: Renamed from makepath.c.
56217         (make_dir_parents): Renamed from make_path.  All callers changed.
56218         * lib/mkdir-p.h: Likewise.  All includers changed.
56219         * lib/filenamecat.c: Renamed from path-concat.c.
56220         (file_name_concat): Renamed from path_concat.  All callers changed.
56221         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
56222         * lib/filenamecat.h: Likewise.  All includers changed.
56223         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
56224         in comments or local variable names.
56225         * lib/basename.c: Likewise.
56226         * lib/canonicalize.c, canonicalize.h: Likewise.
56227         * lib/dirname.c, dirname.h: Likewise.
56228         * lib/euidaccess.c: Likewise.
56229         * lib/exclude.c: Likewise
56230         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
56231         * lib/fsusage.c, fsuage.h: Likewise.
56232         * lib/fts.c, fts_.h: Likewise.
56233         * lib/getcwd.c: Likewise.
56234         * lib/getloadavg.c: Likewise.
56235         * lib/mkstemp.c: Likewise.
56236         * lib/mountlist.c, mountlist.h: Likewise.
56237         * lib/openat.c, openat.h: Likewise.
56238         * lib/readlink-stub.c: Likewise.
56239         * lib/readutmp.c, readutmp.h: Likewise.
56240         * lib/rename.c: Likewise.
56241         * lib/rmdir.c: Likewise.
56242         * lib/same.c: Likewise.
56243         * lib/savedir.c: Likewise.
56244         * lib/stripslash.c: Likewise.
56245         * lib/tempname.c: Likewise.
56246         * lib/xreadlink.c: Likewise.
56247         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
56248         All uses changed.
56249         * lib/exclude.h: Likewise.
56250
56251         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
56252         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
56253         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
56254         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
56255         * lib/pathmax.h: Include <limits.h> unconditionally, since other
56256         files have been getting away with it for years (MORE/BSD 4.3
56257         is extinct now).
56258         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
56259         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
56260
56261         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
56262         Define to 256, not 255, as per modern POSIX.
56263
56264 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
56265
56266         Sync from coreutils.
56267         Use "file name" when talking about file names, instead of "filename"
56268         or "path", as per the GNU coding standards.
56269         * MODULES.html.sh: mkdir-p renamed from makepath.
56270         filenamecat renamed from path-concat.
56271         * modules/filenamecat: Renamed from modules/path-concat.
56272         (Files): filenamecat.h and filenamecat.c renamed from
56273         path-concat.h and path-concat.c.
56274         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
56275         (Include): filenamecat.h, not path-concat.h.
56276         * modules/mkdir-p: Renamed from modules/makepath.
56277         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
56278         makepath.c.
56279         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
56280         (Include): mkdir-p.h, not makepath.h.
56281
56282 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
56283
56284         Sync from coreutils.
56285         * m4/mkdir-p.m4: Renamed from makepath.m4.
56286         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
56287         Rename files from makepath.c to mkdir-p.c, and from
56288         makepath.h to mkdir-p.h.
56289         * m4/filenamecat.m4: Renamed from path-concat.m4.
56290         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
56291         Rename files from path-concat.c to filenamecat.c,
56292         and from path-concat.h to filenamecat.h.
56293         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
56294         "file name" in local variables or comments.
56295         * m4/rename.m4: Likewise.
56296
56297 2005-06-01  Bruno Haible  <bruno@clisp.org>
56298
56299         * modules/csharpexec: New file.
56300         * MODULES.html.sh (C#): New section.
56301
56302 2005-06-01  Bruno Haible  <bruno@clisp.org>
56303
56304         * m4/csharp.m4: New file, from GNU gettext.
56305         * m4/csharpexec.m4: New file, from GNU gettext.
56306
56307 2005-06-01  Bruno Haible  <bruno@clisp.org>
56308
56309         * lib/csharpexec.h: New file, from GNU gettext.
56310         * lib/csharpexec.c: New file, from GNU gettext.
56311         * lib/csharpexec.sh.in: New file, from GNU gettext.
56312
56313 2005-05-31  Derek Price  <derek@ximbiot.com>
56314             Paul Eggert  <eggert@cs.ucla.edu>
56315
56316         Sync from cvs.
56317         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
56318
56319 2005-05-31  Derek Price  <derek@ximbiot.com>
56320             Paul Eggert  <eggert@cs.ucla.edu>
56321
56322         Sync from cvs.
56323         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
56324
56325 2005-05-29  Derek Price  <derek@ximbiot.com>
56326
56327         * config/srclist.txt (glob_.h, glob.c): Add these files.
56328
56329 2005-05-29  Derek Price  <derek@ximbiot.com>
56330
56331         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
56332         * modules/glob: New file.
56333         * modules/getlogin_r: Add link to POSIX spec in description.
56334
56335 2005-05-29  Derek Price  <derek@ximbiot.com>
56336             Paul Eggert  <eggert@cs.ucla.edu>
56337
56338         * m4/glob.m4: New file.
56339
56340 2005-05-29  Derek Price  <derek@ximbiot.com>
56341             Paul Eggert  <eggert@cs.ucla.edu>
56342
56343         * lib/glob_.h, lib/glob.c: New files.
56344
56345 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
56346
56347         * modules/fts (Files): Remove m4/inttypes-pri.m4.
56348         * modules/fts-lgpl (Depends-on): Remove gettext.
56349
56350 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
56351
56352         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
56353         and don't require gt_INTTYPES_PRI.
56354
56355 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
56356
56357         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
56358
56359         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
56360         the configuration hassle isn't worth it.
56361         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
56362         (LONGEST_MODIFIER, PRIuMAX): Remove.
56363
56364 2005-05-27  Bruno Haible  <bruno@clisp.org>
56365
56366         * lib/getlogin_r.h: Remove second include of <stddef.h>.
56367
56368 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
56369
56370         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
56371         _POSIX_PTHREAD_SEMANTICS for Solaris.
56372
56373 2005-05-25  Derek Price  <derek@ximbiot.com>
56374
56375         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
56376
56377 2005-05-25  Derek Price  <derek@ximbiot.com>
56378             Paul Eggert  <eggert@cs.ucla.edu>
56379
56380         * modules/getlogin_r, m4/getlogin_r.m4: New files.
56381         * lib/getlogin_r.c, getlogin_r.h: New files.
56382
56383 2005-05-25  Bruno Haible  <bruno@clisp.org>
56384             Derek Price  <derek@ximbiot.com>
56385
56386         * lib/getlogin_r.h: Simplify API documentation.
56387
56388 2005-05-23  Derek Price  <derek@ximbiot.com>
56389
56390         * modules/minmax (Files): Add m4/minmax.m4.
56391         (configure.ac): Add gl_MINMAX.
56392
56393 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
56394
56395         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
56396         so that unistd-safer.h (GPL'ed code) need not be included.
56397
56398 2005-05-22  Bruno Haible  <bruno@clisp.org>
56399
56400         * m4/minmax.m4: New file.
56401         Based on a patch by Derek Price <derek@ximbiot.com>.
56402
56403 2005-05-22  Bruno Haible  <bruno@clisp.org>
56404
56405         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
56406         (INT64_MIN): Fix definition.
56407         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
56408
56409         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
56410         NEED_SIGNED_INT_TYPES.
56411
56412         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
56413         HAVE_SYSTEM_INTTYPES.
56414
56415 2005-05-22  Bruno Haible  <bruno@clisp.org>
56416
56417         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
56418         Also include <sys/param.h> if it defines MIN, MAX.
56419         Based on a patch by Derek Price <derek@ximbiot.com>.
56420
56421 2005-05-21  Jim Meyering  <jim@meyering.net>
56422
56423         * modules/fts (Files): Add m4/inttypes-pri.m4.
56424         (Depends-on): Add lstat and remove gettext.  Alphabetize.
56425
56426 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
56427
56428         New fts module.
56429         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
56430         (setup_dir, free_dir): New functions.
56431         (enter_dir, leave_dir): Define trivial
56432         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
56433         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
56434         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
56435         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
56436         Move to fts-cycle.c.
56437         (fts_open): Use setup_dir.
56438         (fts_close): Use free_dir.
56439         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
56440         This adds a label and some gotos, but the alternatives were messier.
56441         Check for memory allocation failure when entering a dir.
56442         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
56443         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
56444         (FTS): New member fts_cycle, that is a union that contains the
56445         old active_dir_ht and cycle_state.  All uses changed to mention
56446         fts_cycle.ht and fts_cycle.state.
56447         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
56448         fts.c, with the following changes:
56449         (setup_dir, free_dir): New functions.
56450         (enter_dir): Now returns bool.  Return true if successful, false
56451         if memory exhausted.  All callers changed.
56452         Do not bother partly cleaning up on
56453         memory allocation failure; that is free_dir's job.
56454         However, free ad if hash_insert fails, to avoid memory leak.
56455         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
56456         fts->fts_options to see which union member to use.
56457
56458 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
56459
56460         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
56461         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
56462
56463 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
56464
56465         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
56466
56467 2005-05-20  Jim Meyering  <jim@meyering.net>
56468
56469         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
56470         Now a macro, to pacify GCC.
56471
56472 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
56473
56474         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
56475         of -1.
56476
56477 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
56478
56479         * lib/chown.c (rpl_chown): Return -1 on failure.
56480
56481 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
56482
56483         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
56484         Don't check for stddef.h.
56485         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
56486         don't use its results.
56487         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
56488         since we include them unconditionally.  Don't require
56489         AM_STDBOOL_H, since stdbool is a prerequisite.
56490         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
56491         since we assume C89 or better.
56492         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
56493         as we don't use their results.
56494         Don't check for fchdir, memmove, memset, strrchr, as we use
56495         them unconditionally.
56496         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
56497         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
56498
56499 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
56500
56501         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
56502         Include <stddef.h> unconditionally, since we assume C89 now.
56503         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
56504         * lib/fts.c: Include fts_.h first, to check interface.
56505         Do not include intprops.h; no longer needed.
56506         Include cycle-check.h and hash.h, since fts_.h no longer does.
56507         Remove unnecessary casts of closedir to void.
56508         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
56509         decide whether to decrement nlinks.
56510         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
56511         (FTS): Use struct hash_table * instead of Hash_table, so that
56512         we no longer need to include hash.h here.
56513
56514 2005-05-18  Jim Meyering  <jim@meyering.net>
56515
56516         * modules/dirfd (License): Change to LGPL.  Most of the code
56517         is already in the public domain.
56518
56519 2005-05-18  Jim Meyering  <jim@meyering.net>
56520
56521         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
56522         Reported by Yoann Vandoorselaere.
56523
56524 2005-05-17  Jim Meyering  <jim@meyering.net>
56525
56526         * m4/fts.m4: New file, from coreutils.
56527
56528 2005-05-17  Jim Meyering  <jim@meyering.net>
56529
56530         * lib/fts.c, lib/fts_.h: New files, from coreutils.
56531
56532 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
56533
56534         Sync from coreutils.
56535         * m4/unlinkdir.m4: New file.
56536
56537 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
56538
56539         Sync from coreutils.
56540         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
56541         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
56542         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
56543         White space changes only.
56544         * lib/makepath.c (make_path): Port to hosts where leading "//" is
56545         special.
56546         * lib/yesno.c: Include getline.h, not ctype.h.
56547         (yesno): Don't remove leading white space; POSIX doesn't allow it.
56548         Use getline to remove arbitrary restriction on response length.
56549
56550 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
56551
56552         * config/srclist-update: Spell out "Street" in FSF postal
56553         mail address; this is the style the FSF seems to prefer.
56554
56555         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
56556         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
56557         this updates FSF postal mail address.
56558
56559         Sync from coreutils.
56560         * modules/unlinkdir: New file.
56561         * modules/yesno (Depends-on): Add getline.
56562         * MODULES.html.sh (File system functions): Add unlinkdir.
56563
56564 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
56565
56566         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
56567         lib/strsep.h:
56568         Change the initial comment to refer to GPL, not LGPL.
56569         gnulib-tool will change it to LGPL as needed.
56570
56571         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
56572         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
56573         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
56574         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
56575         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
56576         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
56577         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
56578         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
56579         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
56580         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
56581         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
56582         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
56583         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
56584         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
56585         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
56586         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
56587         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
56588         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
56589         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
56590         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
56591         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
56592         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
56593         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
56594         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
56595         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
56596         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
56597         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
56598         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
56599         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
56600         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
56601         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
56602         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
56603         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
56604         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
56605         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
56606         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
56607         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
56608         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
56609         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
56610         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
56611         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
56612         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
56613         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
56614         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
56615         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
56616         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
56617         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
56618         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
56619         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
56620         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
56621         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
56622         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
56623         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
56624         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
56625         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
56626         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
56627         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
56628         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
56629         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
56630         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
56631         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
56632         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
56633         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
56634         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
56635         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
56636         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
56637         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
56638         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
56639         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
56640         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
56641         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
56642         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
56643         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
56644         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
56645         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
56646         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
56647         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
56648         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
56649         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
56650         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
56651         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
56652         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
56653         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
56654         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
56655         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
56656         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
56657         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
56658         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
56659         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
56660         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
56661         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
56662         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
56663         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
56664         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
56665         lib/yesno.c, lib/yesno.h:
56666         Update FSF postal mail address.
56667
56668 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
56669
56670         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
56671         tests/test-memmem.c, tests/test-stpncpy.c:
56672         Update FSF postal mail address.
56673
56674 2005-05-13  Bruno Haible  <bruno@clisp.org>
56675
56676         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
56677         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
56678         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
56679         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
56680         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
56681         Add support for 64-bit integers in the MSVC compiler.
56682
56683 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
56684
56685         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
56686
56687 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
56688
56689         * gnulib-tool (func_import): Sort and uniquify recommended includes.
56690
56691 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
56692
56693         * doc/getdate.texi (General date syntax): Don't say that date
56694         date --iso-8601=ns generates acceptable dates; it doesn't yet.
56695         Problem reported by Nic Ferrier.
56696
56697 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56698
56699         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
56700         specified in ai_socktype. Fix invalid ai_protocol
56701         check. ai_protocol is usually set to 0 or depending on
56702         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
56703         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
56704         ai_socktype / ai_protocol in the returned addrinfo structure.
56705
56706 2005-05-10  Simon Josefsson  <jas@extundo.com>
56707
56708         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
56709         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56710
56711 2005-05-10  Karl Berry  <karl@gnu.org>
56712
56713         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
56714         (from http://www.gnu.org/licenses).
56715         * doc/COPYING.LIB: also rename to COPYING.LESSER.
56716         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
56717         fdl.texi suffices.
56718
56719 2005-05-10  Karl Berry  <karl@gnu.org>
56720
56721         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
56722         (COPYING.DOC): remove.
56723
56724         * config/srclist-update: new FSF address.
56725
56726 2005-05-10  Derek Price  <derek@ximbiot.com>
56727
56728         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
56729         possible.
56730
56731 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56732             Bruno Haible  <bruno@clisp.org>
56733
56734         * modules/inet_ntop: New file.
56735         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
56736         inet_ntop.
56737
56738 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56739             Bruno Haible  <bruno@clisp.org>
56740
56741         * m4/inet_ntop.m4: New file.
56742
56743 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56744             Bruno Haible  <bruno@clisp.org>
56745
56746         * lib/inet_ntop.h: New file.
56747         * lib/inet_ntop.c: New file, from glibc with modifications.
56748
56749 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
56750
56751         * modules/time_r (License): Change to LGPL.
56752         * modules/extensions (License): Change to LGPL.  Actually,
56753         the license is more permissive than that, but currently gnulib-tool
56754         doesn't know how to handle more-permissive licenses.
56755
56756         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
56757         Problem reported by Dave Love.
56758
56759 2005-05-08  Jim Meyering  <jim@meyering.net>
56760
56761         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
56762         blank.
56763
56764 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
56765
56766         * modules/argmatch (Depends-on): Add stdbool.
56767         * modules/backupfile (Depends-on): Likewise.
56768         * modules/chdir-long (Depends-on): Likewise.
56769         * modules/closeout (Depends-on): Likewise.
56770         * modules/cycle-check (Depends-on): Likewise.
56771         * modules/dirname (Depends-on): Likewise.
56772         * modules/fnmatch (Depends-on): Likewise.
56773         * modules/fsusage (Depends-on): Likewise.
56774         * modules/fwriteerror (Depends-on): Likewise.
56775         * modules/getcwd (Depends-on): Likewise.
56776         * modules/getloadavg (Depends-on): Likewise.
56777         * modules/hard-locale (Depends-on): Likewise.
56778         * modules/makepath (Depends-on): Likewise.
56779         * modules/mountlist (Depends-on): Likewise.
56780         * modules/nanosleep (Depends-on): Likewise.
56781         * modules/posixtm (Depends-on): Likewise.
56782         * modules/quotearg (Depends-on): Likewise.
56783         * modules/readtokens (Depends-on): Likewise.
56784         * modules/readtokens0 (Depends-on): Likewise.
56785         * modules/readutmp (Depends-on): Likewise.
56786         * modules/save-cwd (Depends-on): Likewise.
56787         * modules/strftime (Depends-on): Likewise.
56788         * modules/userspec (Depends-on): Likewise.
56789         * modules/utimecmp (Depends-on): Likewise.
56790         * modules/xgetcwd (Depends-on): Likewise.
56791         * modules/xnanosleep (Depends-on): Likewise.
56792         * modules/xstrtod (Depends-on): Likewise.
56793         * modules/yesno (Depends-on): Likewise.
56794
56795 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
56796
56797         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
56798         needless checks.
56799
56800 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
56801
56802         Merge from coreutils.  Among other things,
56803         add bulletproofing for cases where stdin, stdout, or stderr are closed.
56804         * lib/fd-safer.c: New file.
56805         * lib/fcntl-safer.h, open-safer.c: Remove.
56806         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
56807         * lib/dup-safer.c: Include unistd-safer.h first.
56808         Don't include errno.h.
56809         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
56810         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
56811         * lib/file-type.c: Rely on file-type.h change.
56812         * lib/getloadavg.c: Include unistd-safer.h.
56813         (getloadavg): Use safer open.
56814         * lib/getusershell.c: Include "stdio-safer.h".
56815         (getusershell): Use safer fopen.
56816         * lib/long-options.c (long_options): Use NULL rather than 0.
56817         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
56818         'free'.
56819         * lib/modechange.c: Likewise.
56820         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
56821         (MODE_DONE): New constant.
56822         (struct mode_change): Remove 'next' member.
56823         (make_node_op_equals): New function; like the old one of the
56824         same name, except it allocates an array.
56825         (mode_compile, mode_create_from_ref): Use it.
56826         (mode_compile): Allocate result as an array, not a linked list.
56827         Parse octal string ourself, so that we catch mistakes like "+0".
56828         (mode_adjust): Arg is an array, not a linked list.
56829         * lib/modechange.c: Include stat-macros.h, xalloc.h.
56830         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
56831         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
56832         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
56833         Remove.  This is now stat-macros.h's job.
56834         (talloc): Remove.  All callers replaced by xalloc, so that
56835         our invokers don't have to worry about reporting memory failures.
56836         (make_node_op_equals): Remove.
56837         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
56838         New constants.
56839         (struct mode_change): Moved here from modechange.h.
56840         (mode_append_entry): Remove.
56841         (mode_compile): Remove MASKED_OPS arg, since it encouraged
56842         apps to have incorrect behavior.  Use simpler algorithm for head
56843         and tail.  Don't futz with umask; that's now the job of mode_adjust.
56844         Detect more invalid usages rather than having somewhat-random behavior.
56845         Don't insert an "a=" action, as that leads to incorrect behavior.
56846         (mode_compile, mode_create_from_ref): Return NULL on error instead
56847         of an enum, since now there's only one way to have an error.  All
56848         callers changed.
56849         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
56850         at the correct time.  Simplify calculation of "+u" and its ilk.
56851         Don't mishandle "+X".
56852         (mode_free): Remove "register" and localize decls.
56853         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
56854         (struct mode_change): Move to modechange.c; callers don't
56855         need to see this stuff.
56856         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
56857         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
56858         (mode_change, mode_adjust): Reflect the new signatures noted above.
56859         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
56860         that might redefine system include files.
56861         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
56862         (my_usleep): Use NULL rather than (void *) 0.
56863         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
56864         Use siginterrupt to specify that system calls should be interrupted.
56865         (rpl_nanosleep): Move initialization of suspended closer to call of
56866         my_usleep.
56867         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
56868         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
56869         (desirable_utmp_entry): New function.
56870         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
56871         using x2nrealloc, to simplify logic.
56872         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
56873         size calculation.  Do not assume utmp file is a regular file.
56874         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
56875         (READ_UTMP_CHECK_PIDS): New constant.
56876         * lib/save-cwd.c: Include unistd-safer.h.
56877         (save_cwd): Use fd_safer.
56878         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
56879         [!_LIBC] Include "stat-macros.h" instead.
56880         * lib/unistd-safer.h (fd_safer): New decl.
56881
56882 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
56883
56884         * modules/getloadavg (Depends-on): Add unistd-safer.
56885         * modules/getusershell (Depends-on): Add stdio-safer.
56886         * modules/lstat (Depends-on): Remove xalloc.
56887         * modules/mkstemp (Depends-on): Add stat-macros.
56888         * modules/modechange (Depends-on): Remove xstrtol.
56889         Add stat-macros, xalloc.
56890         * modules/save-cwd (Depends-on): Add unistd-safer.
56891         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
56892         * modules/unistd-safer (Files): Add lib/fd-safer.c
56893         (Makefile.am): Remove lib_SOURCES.
56894
56895         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
56896         Remove fcntl-safer; unistd-safer supersedes it.
56897
56898 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
56899
56900         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
56901         AC_HEADER_STAT.
56902         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
56903         (gl_PREREQ_CHOWN): Remove.
56904         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
56905         it.  Don't require AC_HEADER_STAT.
56906         (gl_PREREQ_LSTAT): Remove.
56907         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
56908         Don't require AC_HEADER_STAT.
56909         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
56910         (gl_PREREQ_RMDIR): Remove.
56911         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
56912         mention stat-macros.h or AC_HEADER_STAT, since we'll make
56913         the stat-macros module a prerequisite.
56914         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
56915         * m4/filemode.m4 (gl_FILEMODE): Likewise.
56916         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
56917         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
56918         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
56919         variable names.
56920         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
56921         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
56922         variable prefixes.
56923         * m4/fcntl-safer.m4: Remove.
56924         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
56925         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
56926         Invoke gl_PREREQ_FD_SAFER.
56927         (gl_PREREQ_FD_SAFER): New macro.
56928         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
56929         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
56930         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
56931         Remove duplicate call to AC_LIBOBJ(readutmp).
56932         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
56933
56934         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
56935         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
56936
56937 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
56938
56939         * MODULES.html.sh (Misc): Add byteswap.
56940
56941 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
56942
56943         * modules/getcwd (Depends-on): Add extensions.
56944         * modules/openat (Depends-on): Likewise.
56945
56946 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
56947
56948         * modules/byteswap: New file.
56949
56950 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
56951
56952         * m4/byteswap.m4: New file.
56953
56954 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
56955
56956         * lib/byteswap_.h: New file.
56957
56958 2005-04-25  Karl Berry  <karl@gnu.org>
56959
56960         * m4/gettext.m4: Update from GNU gettext 0.14.4.
56961
56962 2005-04-25  Albert Chin  <china@thewrittenword.com>
56963
56964         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
56965         Toolkit C bug.
56966
56967 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
56968
56969         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
56970         (func_ln_if_changed) Remove forcibly for no error message
56971         in case file does not exist.
56972
56973 2005-04-19  Simon Josefsson  <jas@extundo.com>
56974
56975         * gnulib-tool (Options): Make --symlink mean --symbolic.
56976
56977 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
56978
56979         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
56980
56981 2005-04-16  Simon Josefsson  <jas@extundo.com>
56982
56983         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
56984
56985 2005-04-15  Simon Josefsson  <jas@extundo.com>
56986
56987         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
56988
56989 2005-04-15  Simon Josefsson  <jas@extundo.com>
56990
56991         * gnulib-tool: Rename --symlink to --symbolic.
56992
56993 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
56994
56995         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
56996         symbolic links to files instead of copying/moving.  Add --aux-dir,
56997         specifying directory relative --dir where auxiliary build tools
56998         are placed.
56999
57000 2005-04-14  Bruno Haible  <bruno@clisp.org>
57001
57002         * modules/allocsa (License): Change to LGPL.
57003         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
57004
57005 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
57006
57007         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
57008         that "UTC +1 second" continues to work.  Problem reported
57009         by Dmitry V. Levin.
57010         (relunit_snumber): New rule.
57011         (relunit): Use it.
57012
57013 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
57014
57015         * lib/getdate.y (universal_time_zone_table): New constant.
57016         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
57017         universal_time_zone_table.
57018         (lookup_zone): Prefer universal_time_zone_table to
57019         local_time_zone_table, so that "GMT" time stamps are allowed in
57020         London during the summer.  Problem reported by Ian Abbott.
57021
57022 2005-04-12  Jim Meyering  <jim@meyering.net>
57023
57024         * lib/human.c (humblock): Set *options even when returning due to
57025         xstrtoumax conversion failure.  Thanks to a used-uninitialized
57026         warning from gcc-4.
57027
57028 2005-04-09  Jim Meyering  <jim@meyering.net>
57029
57030         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
57031         -Wuninitialized: initialize tm0.tm_year.
57032
57033 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
57034
57035         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
57036         count, since there's no maximum.  All uses changed.
57037         Add member dsts_seen.
57038         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
57039         not being INT_MAX.
57040         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
57041         Use pc_rels_seen to decide whther a date is absolute.
57042
57043         * lib/getdate.y (number): Don't overwrite year.
57044         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
57045         check.
57046
57047 2005-04-02  Simon Josefsson  <jas@extundo.com>
57048
57049         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
57050         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
57051
57052 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
57053
57054         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
57055         where no absolute path name can be longer than PATH_MAX.
57056
57057 2005-03-27  Jim Meyering  <jim@meyering.net>
57058
57059         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
57060
57061 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
57062
57063         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
57064         "one's complement" -> "ones' complement" in comment, as per Knuth.
57065         "value of type" -> "type or expression" in comment.
57066         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
57067
57068 2005-03-26  Jim Meyering  <jim@meyering.net>
57069
57070         Comment nits.
57071         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
57072         Correct typos: s/or/of/.
57073
57074 2005-03-26  Jim Meyering  <jim@meyering.net>
57075
57076         * modules/check-include-files: Move to ../ and rename to...
57077         * check-module: ...this.
57078
57079 2005-03-25  Jim Meyering  <jim@meyering.net>
57080
57081         * modules/xvasprintf (Files): Add xalloc.h.
57082
57083 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
57084
57085         * modules/gettext (Files): config/config.rpath ->
57086         build-aux/config.rpath
57087         * modules/iconv (Files): Likewise.
57088         Problem reported by Oskar Liljeblad.
57089
57090 2005-03-23  Jim Meyering  <jim@meyering.net>
57091
57092         * modules/check-include-files: New script to check for
57093         missing dependencies, multiple includes, etc.
57094
57095         * modules/c-strtold (Depends-on): Add xalloc.
57096         * modules/c-strtod (Depends-on): Add xalloc.
57097         * modules/hash (Depends-on): Add xalloc.
57098         (Files): Remove lib/xalloc.h.
57099
57100         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
57101         * modules/userspec (Files): Add lib/inttostr.h.
57102
57103 2005-03-23  Jim Meyering  <jim@meyering.net>
57104
57105         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
57106
57107 2005-03-22  Jim Meyering  <jim@meyering.net>
57108
57109         * modules/stat-macros: New module.
57110         * modules/canonicalize, modules/euidaccess, modules/file-type,
57111         * modules/filemode, modules/lchown, modules/makepath,
57112         * modules/rmdir, modules/stat: Depend on new stat-macros module
57113         rather than listing lib/stat-macros.h manually.
57114         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
57115
57116 2005-03-22  Jim Meyering  <jim@meyering.net>
57117
57118         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
57119
57120 2005-03-22  Bruno Haible  <bruno@clisp.org>
57121
57122         * config/srclist.txt: Replace target directory 'config' with
57123         'build-aux'.
57124         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
57125         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
57126         ../build-aux/.
57127
57128 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
57129
57130         * modules/chdir-long (Depends-on): Add mempcpy.
57131
57132         * modules/acl, modules/backupfile, modules/c-strtod,
57133         modules/c-strtold, modules/canon-host, modules/canonicalize,
57134         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
57135         modules/exclude, modules/exitfail, modules/file-type,
57136         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
57137         modules/getdate, modules/getline, modules/getpagesize,
57138         modules/getpass, modules/getugroups, modules/group-member,
57139         modules/hard-locale, modules/hash, modules/human, modules/idcache,
57140         modules/inttostr, modules/long-options, modules/makepath,
57141         modules/md5, modules/memcasecmp, modules/memcoll,
57142         modules/modechange, modules/mountlist, modules/path-concat,
57143         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
57144         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
57145         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
57146         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
57147         modules/strftime, modules/strndup, modules/strverscmp,
57148         modules/timespec, modules/unlocked-io, modules/userspec,
57149         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
57150         modules/yesno:
57151         Remove lib_SOURCES line from Makefile.am section, as this is now
57152         done automatically by the corresponding Autoconf macro.
57153
57154 2005-03-21  Jim Meyering  <jim@meyering.net>
57155
57156         Changes imported from coreutils.
57157
57158         * lib/cycle-check.c: Don't include xalloc.h.
57159
57160         * lib/path-concat.c: Don't include assert.h.
57161         (path_concat): Remove assertion that would have triggered
57162         for ABASE starting with more than one slash.
57163         Reported by Andreas Schwab.
57164
57165         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
57166         properly when ABASE is an absolute file name.
57167         Correct the description of this function.
57168         Include <assert.h>.
57169         Add an assertion and a test driver.
57170         This fixes a bug introduced on 2004-07-02.
57171         Andreas Schwab reported the resulting failure of cp --parents:
57172         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
57173
57174 2005-03-21  Jim Meyering  <jim@meyering.net>
57175
57176         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
57177         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
57178
57179 2005-03-21  Jim Meyering  <jim@meyering.net>
57180         and  Paul Eggert  <eggert@cs.ucla.edu>
57181
57182         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
57183         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
57184         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
57185         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
57186         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
57187         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
57188         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
57189         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
57190         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
57191         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
57192         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
57193         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
57194         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
57195         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
57196         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
57197         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
57198         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
57199         for these modules.
57200
57201 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
57202
57203         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
57204         (which shouldn't happen), generate nothing instead of returning 0
57205         immediately, so that nstrftime (NULL, ...) doesn't return 0.
57206
57207 2005-03-16  Bruno Haible  <bruno@clisp.org>
57208
57209         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
57210         HAVE_LONGLONG_64BIT.
57211
57212 2005-03-16  Bruno Haible  <bruno@clisp.org>
57213
57214         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
57215         HAVE_LONGLONG_64BIT.
57216
57217 2005-03-16  Bruno Haible  <bruno@clisp.org>
57218
57219         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
57220         HAVE_LONGLONG_64BIT.
57221
57222 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
57223
57224         * lib/strftime.c (my_strftime): Prepend space to format so that we can
57225         reliably distinguish strftime failure from empty output on POSIX
57226         hosts.
57227
57228 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
57229
57230         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
57231         (iconv_string): Don't guess a size-zero buffer, as that might cause
57232         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
57233         result would be 'too large', where 'too large' is (heuristically)
57234         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
57235         overflow concerns.  This will prevent some unwanted malloc failures
57236         when the inputs are very large.
57237
57238 2005-03-15  Karl Berry  <karl@gnu.org>
57239
57240         * config/srclist.txt (config.rpath): from gettext.
57241         * config/config.rpath: update.
57242
57243 2005-03-15  Bruno Haible  <bruno@clisp.org>
57244
57245         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
57246         to 'negate'.
57247
57248         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
57249         variable.
57250
57251         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
57252         results.
57253
57254 2005-03-14  Simon Josefsson  <jas@extundo.com>
57255
57256         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
57257         <fx@gnu.org>.
57258
57259 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
57260
57261         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
57262         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
57263         intprops.h.
57264         * lib/strtol.c: Likewise.
57265
57266 2005-03-14  Jim Meyering  <jim@meyering.net>
57267
57268         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
57269         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
57270         to be nonzero so that we (and caller) can detect the difference
57271         between a valid zero-length expansion and an error return, even
57272         when the underlying strftime fails before writing anything into
57273         that location.
57274
57275 2005-03-14  Bruno Haible  <bruno@clisp.org>
57276
57277         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
57278         Update from GNU gettext 0.14.3.
57279
57280 2005-03-10  Jim Meyering  <jim@meyering.net>
57281
57282         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
57283
57284 2005-03-10  Jim Meyering  <jim@meyering.net>
57285
57286         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
57287         so that this module works on systems without fchdir.
57288
57289 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
57290
57291         Factor int-properties macros into a single file, except for
57292         glibc-related files.
57293         * lib/intprops.h: New file.
57294         * lib/getloadavg.c: Include it instead of limits.h.
57295         (INT_STRLEN_BOUND): Remove.
57296         * lib/human.c: Include intprops.h.
57297         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
57298         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
57299         302/1000.
57300         * lib/inttostr.h: Include intprops.h instead of limits.h.
57301         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
57302         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
57303         for consistency with intprops.h.
57304         (time_t_is_integer, twos_complement_arithmetic): Use them.
57305         * lib/sig2str.h: Include <signal.h>, intprops.h.
57306         (INT_STRLEN_BOUND): Remove.
57307         * lib/strftime.c (TYPE_SIGNED): Remove.
57308         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
57309         * lib/strtol.c: Adjust comments to match intprops.h.
57310         * lib/userspec.c: Include intprops.h.
57311         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
57312         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
57313         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
57314         instead of rolling our own expressions.
57315         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
57316
57317         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
57318         instead of int.
57319         (my_strftime): Do not mishandle years close to INT_MAX, by doing
57320         the right thing even if adding 1900 would overflow.  Similarly
57321         for tm_mon + 1 and tm_yday + 1.
57322         Make %Y always equivalent to %C%y, and similarly for %G and %g.
57323         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
57324         (DO_SIGNED_NUMBER): New macro.
57325         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
57326
57327 2005-03-07  Bruno Haible  <bruno@clisp.org>
57328
57329         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
57330
57331 2005-03-07  Bruno Haible  <bruno@clisp.org>
57332
57333         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
57334
57335 2005-03-04  Derek R. Price  <derek@ximbiot.com>
57336
57337         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
57338         (func_import): Only replace files via --import when they have actually
57339         changed.
57340
57341 2005-03-03  Derek R. Price  <derek@ximbiot.com>
57342
57343         * m4/mmap-anon.m4: New file.
57344         * m4/pagealign_alloc.m4: New file.
57345
57346 2005-03-03  Derek R. Price  <derek@ximbiot.com>
57347             Bruno Haible  <bruno@clisp.org>
57348
57349         * modules/pagealign_alloc: New file.
57350         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
57351
57352 2005-03-03  Derek R. Price  <derek@ximbiot.com>
57353             Bruno Haible  <bruno@clisp.org>
57354
57355         * lib/pagealign_alloc.h: New file.
57356         * lib/pagealign_alloc.c: New file.
57357
57358 2005-03-03  Bruno Haible  <bruno@clisp.org>
57359
57360         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
57361         Use an all-permissive copyright notice, recommended by RMS.
57362
57363 2005-03-02  Bruno Haible  <bruno@clisp.org>
57364
57365         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
57366         of AIX, the replacement has to be done only after <string.h> is
57367         included, therefore not in config.h. stpncpy.h does the replacement,
57368         and stpncpy.c uses it.
57369
57370 2005-03-02  Bruno Haible  <bruno@clisp.org>
57371
57372         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
57373         stpncpy.c uses it.
57374
57375 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
57376
57377         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
57378         The workaround isn't strictly needed for POSIX conformance, and
57379         it's too much of a pain to configure and maintain.  We'll ask
57380         people to fix their kernels instead.
57381         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
57382         (NANOSLEEP_BUG_WORKAROUND): Remove.
57383         (xnanosleep): Remove the workaround.
57384
57385 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
57386
57387         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
57388         Reported by Derek Price.
57389         (Include): Add "timespec.h".
57390
57391         * modules/xnanosleep (Depends-on): Remove gethrxtime.
57392
57393 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
57394
57395         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
57396         to detect nanosleep bug.
57397
57398 2005-03-01  Bruno Haible  <bruno@clisp.org>
57399
57400         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
57401
57402 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
57403
57404         * modules/gethrxtime: New file.
57405         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
57406         (Depends-on): Add gethrxtime.
57407         (configure.ac): Add gl_XNANOSLEEP.
57408         (Makefile.am): Remove lib_SOURCES line.
57409
57410 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
57411
57412         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
57413         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
57414
57415 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
57416
57417         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
57418         * lib/timespec.h (gettime): Return void, since it always
57419         succeeds now.  All uses changed.
57420         * lib/gettime.c (gettime) Likewise.
57421         [HAVE_NANOTIME]: Prefer nanotime.
57422         Assume gettimeofday succeeds, as POSIX requires.
57423         Assime time () succeeds, since other code already does.
57424         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
57425         (timespec_subtract): Remove.
57426         (NANOSLEEP_BUG_WORKAROUND): New constant.
57427         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
57428         things considerably.  Use it only on GNU/Linux hosts, since the
57429         workaround shouldn't be needed elsewhere.
57430
57431 2005-02-24  Bruno Haible  <bruno@clisp.org>
57432
57433         * modules/gettext (Files): Add m4/glibc2.m4.
57434
57435 2005-02-24  Bruno Haible  <bruno@clisp.org>
57436
57437         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
57438         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
57439         * m4/progtest.m4:
57440         Update from GNU gettext 0.14.2.
57441         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
57442
57443 2005-02-24  Bruno Haible  <bruno@clisp.org>
57444
57445         * lib/localcharset.c: Update from GNU gettext 0.14.2.
57446         * lib/config.charset: Update from GNU gettext 0.14.2.
57447
57448 2005-02-24  Bruno Haible  <bruno@clisp.org>
57449
57450         * lib/gettext.h: Update from GNU gettext 0.14.2.
57451
57452 2005-02-23  Simon Josefsson  <jas@extundo.com>
57453
57454         * m4/iconvme.m4: New file.
57455
57456 2005-02-23  Jim Meyering  <jim@meyering.net>
57457
57458         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
57459         change.
57460         Thanks to Bruno Haible for catching it.
57461
57462 2005-02-22  Simon Josefsson  <jas@extundo.com>
57463
57464         * modules/iconvme: New file.
57465
57466         * MODULES.html.sh: Add iconvme.
57467
57468 2005-02-22  Simon Josefsson  <jas@extundo.com>
57469
57470         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
57471
57472 2005-02-22  Simon Josefsson  <jas@extundo.com>
57473
57474         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
57475
57476 2005-02-22  Jim Meyering  <jim@meyering.net>
57477
57478         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
57479         s/ifndef/ifdef/.
57480
57481 2005-02-20  Neil Conway  <neilc@samurai.com>
57482
57483         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
57484         returned by OSX/Darwin if the specified buffer is not large
57485         enough for the hostname.
57486
57487 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
57488
57489         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
57490         pass it to _help, otherwise the latter coredumps trying to
57491         dereference state.root_argp.
57492
57493 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
57494
57495         * modules/chdir-long (Depends-on): Add memrchr.
57496         * modules/memrchr (Files): Add lib/memrchr.h.
57497         (Include): "memrchr.h".
57498
57499 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
57500
57501         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
57502
57503 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
57504
57505         * lib/memrchr.h: New file.
57506         * lib/chdir-long.c: Include it.
57507         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
57508         Don't bother including stddef.h.
57509
57510 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
57511
57512         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
57513         inclusion.
57514         Include <sys/types.h>, for dev_t.
57515         (ME_DUMMY, ME_REMOTE): Move from here....
57516         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
57517         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
57518         Dmitry V. Levin.
57519         Include mountlist.h first, to test the interface.
57520
57521 2005-01-29  Bruno Haible  <bruno@clisp.org>
57522
57523         * lib/progname.c (program_name): Initialize.
57524         Needed when linking statically on MacOS X.
57525
57526 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
57527
57528         Sync from coreutils.
57529         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
57530         (Depends-on): Add c-strtod.
57531         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
57532
57533 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
57534
57535         Sync from coreutils.
57536         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
57537
57538         Remove files that are specific to coreutils.
57539         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
57540
57541 2005-01-28  Bruno Haible  <bruno@clisp.org>
57542
57543         * modules/javacomp: New file.
57544         * MODULES.html.sh (Java): Add javacomp.
57545
57546 2005-01-28  Bruno Haible  <bruno@clisp.org>
57547
57548         * m4/javacomp.m4: New file, from GNU gettext.
57549
57550 2005-01-28  Bruno Haible  <bruno@clisp.org>
57551
57552         * lib/javacomp.sh.in: New file, from GNU gettext.
57553         * lib/javacomp.h: New file, from GNU gettext.
57554         * lib/javacomp.c: New file, from GNU gettext.
57555
57556 2005-01-26  Simon Josefsson  <jas@extundo.com>
57557
57558         * lib/gai_strerror.c: Use GPL in header.
57559
57560 2005-01-26  Bruno Haible  <bruno@clisp.org>
57561
57562         * modules/javaexec: New file.
57563         * MODULES.html.sh (Java): Add javaexec.
57564
57565 2005-01-26  Bruno Haible  <bruno@clisp.org>
57566
57567         * m4/javaexec.m4: New file, from GNU gettext.
57568
57569 2005-01-26  Bruno Haible  <bruno@clisp.org>
57570
57571         * lib/javaexec.sh.in: New file, from GNU gettext.
57572         * lib/javaexec.h: New file, from GNU gettext.
57573         * lib/javaexec.c: New file, from GNU gettext.
57574
57575 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
57576
57577         * modules/lchown (Depends-on): Remove lchown.h
57578
57579 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
57580
57581         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
57582         must be defined if the header file was not found, in order
57583         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
57584
57585 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
57586
57587         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
57588         initializers for struct pentry_state.
57589         (__argp_error): Check return value of __asprintf
57590         (__argp_failure): Translate error message
57591
57592         * lib/argp-parse.c: Removed braces around the expansion of N_()
57593
57594 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
57595
57596         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
57597         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
57598         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
57599         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
57600         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
57601         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
57602         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
57603         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
57604         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
57605         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
57606         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
57607         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
57608         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
57609         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
57610         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
57611         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
57612         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
57613         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
57614         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
57615         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
57616         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
57617         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
57618         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
57619         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
57620         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
57621         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
57622         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
57623         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
57624         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
57625         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
57626         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
57627         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
57628         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
57629         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
57630         xstrtol.m4, xstrtoumax.m4, yesno.m4:
57631         Use an all-permissive copyright notice, recommended by RMS.
57632
57633 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
57634
57635         * modules/chdir-long (Depends-on): Remove mempcpy.
57636
57637 2005-01-21  Jim Meyering  <jim@meyering.net>
57638
57639         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
57640         same value as for Solaris 9.
57641
57642         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
57643         component length.  This included changing the parameter to be
57644         of type `char *' rather than `char const *'.
57645         * lib/chdir-long.h (chdir_long): Update prototype.
57646
57647         * lib/openat.c (fdopendir, fstatat): New functions.
57648         * lib/openat.h: Include headers required for use of DIR and struct
57649         stat.
57650         [AT_SYMLINK_NOFOLLOW]: Define.
57651         (fdopendir, fstatat): Add prototypes.
57652
57653 2005-01-21  Bruno Haible  <bruno@clisp.org>
57654
57655         * modules/classpath: New file.
57656         * MODULES.html.sh (Java): Add classpath.
57657
57658 2005-01-21  Bruno Haible  <bruno@clisp.org>
57659
57660         * lib/classpath.h: New file, from GNU gettext.
57661         * lib/classpath.c: New file, from GNU gettext.
57662
57663 2005-01-20  Simon Josefsson  <jas@extundo.com>
57664
57665         * modules/version-etc-fsf: New file.
57666
57667 2005-01-20  Simon Josefsson  <jas@extundo.com>
57668
57669         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
57670         * lib/version-etc.c: Remove version_etc_copyright.
57671         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
57672         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
57673
57674 2005-01-20  Simon Josefsson  <jas@extundo.com>
57675
57676         * lib/base64.h (isbase64): Add.
57677
57678         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
57679         using a unsigned prototype, don't inline.
57680         (base64_decode): Use it.
57681
57682 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
57683
57684         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
57685         it.
57686
57687 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
57688
57689         * lib/save-cwd.c (save_cwd): Remove code to support the case
57690         where fchdir is missing or flaky.
57691
57692 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
57693
57694         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
57695
57696 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
57697
57698         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
57699         AC_LIBSOURCES now does this.
57700         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
57701         with new ullong_max module.
57702
57703 2005-01-19  Bruno Haible  <bruno@clisp.org>
57704
57705         * modules/sh-quote: New file.
57706         * MODULES.html.sh (Executing programs): Add sh-quote.
57707
57708 2005-01-19  Bruno Haible  <bruno@clisp.org>
57709
57710         * lib/sh-quote.h: New file, from GNU gettext.
57711         * lib/sh-quote.c: New file, from GNU gettext.
57712
57713 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
57714
57715         Merge from coreutils.
57716         * m4/ullong_max.m4: New file.
57717         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
57718         (gl_MACROS): Assume localeconv exists.
57719
57720 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
57721
57722         Merge changes from coreutils, as described below in several
57723         changelogs dated today.
57724
57725         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
57726         (O_DIRECTORY): Remove; not needed here, since "." must be
57727         a directory.  All uses removed.
57728         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
57729         universal on Suns, and we also need to test for IRIX.
57730         Revamp code to use 'if' rather than '#if'.
57731         Avoid unnecessary comparison of cwd->desc to 0.
57732
57733         * lib/utimens.c (futimens): Robustify the previous patch, by checking
57734         for known valid error numbers rather than observed invalid ones.
57735
57736 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
57737
57738         * modules/ullong_max: New file.
57739
57740         * modules/chdir-long, modules/openat: New files.
57741         * modules/save-cwd (Depends-on): Depend on chdir-long.
57742         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
57743
57744 2005-01-18  Jim Meyering  <jim@meyering.net>
57745
57746         Merge from coreutils.
57747         * m4/chdir-long.m4, m4/openat.m4: New files.
57748         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
57749         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
57750         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
57751         is sane and DOES follow symlinks.  Besides, testing 20 different
57752         systems found no broken chown implementations.
57753         Prompted by a change in rsync's copy of this macro.
57754         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
57755
57756         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
57757
57758         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
57759         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
57760         NULL-means-set-to-current-time semantics.
57761         Remove temporary file immediately, rather than waiting
57762         for configure's at-exit trap code to do it.
57763
57764 2005-01-18  Jim Meyering  <jim@meyering.net>
57765
57766         * lib/version-etc.c (version_etc_copyright): Update copyright date.
57767
57768         * lib/utimens.c (futimens): Account for the fact that futimes
57769         can also fail with errno == ENOSYS or errno == ENOENT.
57770         Patch from Dmitry V. Levin.
57771
57772         Change the name of the robust chdir function from chdir to chdir_long.
57773         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
57774         (restore_cwd): Use chdir_long, not chdir.
57775         * lib/chdir-long.c: Renamed from chdir.c.
57776         * lib/chdir-long.h: Renamed from chdir.h.
57777         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
57778         Hurd.
57779
57780 2005-01-18  Bruno Haible  <bruno@clisp.org>
57781
57782         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
57783         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
57784         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
57785         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
57786         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
57787         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
57788         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
57789         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
57790         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
57791         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
57792         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
57793         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
57794         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
57795         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
57796         Use an all-permissive copyright notice, recommended by RMS.
57797
57798 2005-01-18  Bob Proulx  <bob@proulx.com>
57799
57800         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
57801         simplify offsetof() macro construct to avoid compile failure with
57802         native HP-UX 11.0 ANSI C compiler.
57803
57804 2005-01-17  Bruno Haible  <bruno@clisp.org>
57805
57806         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
57807         redundant because stpncpy.m4 takes care of it.
57808
57809 2005-01-17  Bruno Haible  <bruno@clisp.org>
57810
57811         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
57812
57813 2005-01-17  Bruno Haible  <bruno@clisp.org>
57814
57815         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
57816         used.
57817
57818 2005-01-17  Bruno Haible  <bruno@clisp.org>
57819
57820         * lib/fwriteerror.h (fwriteerror): Change specification to include
57821         fclose.
57822         * lib/fwriteerror.c: Include <stdbool.h>.
57823         (fwriteerror): At the end, close the file stream. Record whether
57824         stdout was already closed.
57825
57826 2005-01-17  Bruno Haible  <bruno@clisp.org>
57827
57828         * lib/execute.c (environ): Declare if needed.
57829         * lib/pipe.c (environ): Likewise.
57830         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
57831
57832 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
57833
57834         * modules/argp: Depend on vsnprintf
57835
57836 2005-01-10  Jim Meyering  <jim@meyering.net>
57837
57838         * modules/closeout (Depends-on): Add atexit.
57839
57840 2005-01-06  Bruno Haible  <bruno@clisp.org>
57841
57842         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
57843
57844 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
57845
57846         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
57847         definitions to be after all include files, to avoid collisions.
57848         Problem reported by Bob Proulx.
57849
57850 2005-01-04  Jim Meyering  <jim@meyering.net>
57851
57852         Changes imported from coreutils.
57853         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
57854         as the mkstemp template, use a temporary directory and an
57855         8.3-friendly template to avoid trouble on systems like DJGPP.
57856         Reported by Juan M. Guerrero via Stepan Kasal.
57857         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
57858         close. Remove the temporary directory right away, rather than waiting
57859         for configure's at-exit trap code to do it.
57860         Suggestion from Stepan Kasal.
57861
57862 2005-01-01  Simon Josefsson  <jas@extundo.com>
57863
57864         * gnulib-tool: Print #include directives when --import'ing.
57865
57866 2004-12-28  Simon Josefsson  <jas@extundo.com>
57867
57868         * tests/test-base64.c: Include required header files.  Remove
57869         unused variables.
57870
57871 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
57872
57873         * modules/error (Depends-on): Remove gettext.
57874
57875 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
57876
57877         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
57878         not needed.  This removes a dependency on the gettext module.
57879         [defined _LIBC]: Do not include <libintl.h>; not needed.
57880
57881 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
57882
57883         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
57884         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
57885
57886 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
57887
57888         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
57889         HAVE_DECL_STRTOLD.
57890
57891 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
57892
57893         * modules/getdate (Depends-on): Remove alloca-opt.
57894
57895 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
57896
57897         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
57898
57899 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
57900
57901         * lib/argp-parse.c: Include <stddef.h>.
57902         (alignof, alignto): New macros.
57903         (parser_init): Don't assume that void * is aligned sufficiently
57904         for struct option.
57905
57906         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
57907         need to extend the stack.
57908         (YYINITDEPTH): New macro, so that the initial stack isn't overly
57909         large.
57910
57911 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
57912
57913         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
57914
57915 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
57916
57917         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
57918         (2004-10-24) change.  Apparently this was a false alarm.
57919
57920         * modules/getdate: Depend on alloca-opt, not alloca.
57921
57922 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
57923
57924         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
57925         Remove now-obsolete comment about AIX.
57926         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
57927         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
57928         (YYMAXDEPTH): New macro.
57929
57930 2004-12-18  Simon Josefsson  <jas@extundo.com>
57931
57932         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
57933
57934 2004-12-18  Bruno Haible  <bruno@clisp.org>
57935
57936         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
57937
57938 2004-12-18  Bruno Haible  <bruno@clisp.org>
57939
57940         * lib/fatal-signal.c (fatal_signals): Make non-const.
57941         (init_fatal_signals): New function.
57942         (uninstall_handlers, install_handlers): Ignore signals that were set to
57943         SIG_IGN.
57944         (at_fatal_signal): Call init_fatal_signals.
57945         (init_fatal_signal_set): Likewise. Ignore signals that were set to
57946         SIG_IGN.
57947         Reported by Paul Eggert.
57948
57949 2004-12-18  Bruno Haible  <bruno@clisp.org>
57950
57951         * doc/alloca.texi: New file.
57952         * doc/alloca-opt.texi: New file.
57953
57954 2004-12-17  Jim Meyering  <jim@meyering.net>
57955
57956         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
57957         Otherwise, install-sh could exit with improper exit status when
57958         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
57959
57960 2004-12-16  Simon Josefsson  <jas@extundo.com>
57961
57962         * tests/test-base64.c: Add license.
57963
57964 2004-12-15  Stepan Kasal  <address@hidden>
57965
57966         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
57967
57968 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
57969
57970         * modules/getcwd (Files): Add m4/d-ino.m4.
57971         Suggested by Mark D. Baushke.
57972
57973 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
57974
57975         * lib/getdate.y (textint): New member "negative".
57976         (time_zone_hhmm): New function.
57977         Expect 14 shift-reduce conflicts, not 13.
57978         (o_colon_minutes): New rule.
57979         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
57980         (yylex): Set the "negative" member of signed numbers.
57981
57982 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
57983
57984         * doc/getdate.texi (Time of day items, Time zone items):
57985         Describe new formats +00:00, UTC+00:00.
57986
57987 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
57988
57989         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
57990         spurious "-l"s.  Problem reported by Stepan Kasal.
57991
57992 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
57993
57994         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
57995         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
57996
57997 2004-12-04  Simon Josefsson  <jas@extundo.com>
57998
57999         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
58000         Vandoorselaere <yoann@prelude-ids.org>.
58001
58002 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
58003
58004         Changes imported from coreutils.
58005         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
58006         exist.
58007         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
58008
58009 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
58010
58011         Changes imported from coreutils.
58012         * lib/hard-locale.c: Assume <locale.h> exists.
58013         Include "strdup.h".
58014         (GLIBC_VERSION): New macro.
58015         (hard_locale): Assume setlocale exists.
58016         Rewrite to avoid #ifdef.
58017         Use strdup rather than malloc + strcpy.
58018         * lib/human.c: Assume <locale.h> exists.
58019         (human_readable): Assume localeconv exists.
58020
58021 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
58022
58023         * modules/hard-locale (Depends-on): Add strdup.
58024
58025 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
58026
58027         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
58028         convert T2, not T.  (Imported from libc.)
58029
58030 2004-11-30  Simon Josefsson  <jas@extundo.com>
58031
58032         * modules/restrict (License): Change to LGPL.
58033
58034 2004-11-30  Simon Josefsson  <jas@extundo.com>
58035
58036         * m4/restrict.m4: Add copyright and copying conditions.
58037
58038 2004-11-30  Simon Josefsson  <jas@extundo.com>
58039
58040         * m4/base64.m4: New file.
58041
58042 2004-11-30  Simon Josefsson  <jas@extundo.com>
58043
58044         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
58045         base64.
58046
58047         * tests/test-base64.c: New file.
58048
58049         * modules/base64: New file.
58050
58051 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
58052
58053         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
58054         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
58055
58056         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
58057
58058 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
58059
58060         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
58061         (__getcwd.c): Don't restore errno; glibc doesn't.
58062         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
58063         first, falling back to our code only if its results look suspicious.
58064         Ensure that the resulting buffer is only as large as necessary.
58065
58066         * lib/readutmp.c: Include readutmp.h first.
58067         Include <errno.h>, since readutmp.h no longer does that.
58068         * lib/readutmp.h: Don't include <errno.h>,
58069         <sys/param.h>, <time.h>; not needed to establish interface.
58070         (errno): Remove decl.
58071         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
58072         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
58073         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
58074
58075 2004-11-28  Simon Josefsson  <jas@extundo.com>
58076
58077         * lib/base64.h, base64.c: New file.
58078
58079 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
58080
58081         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
58082
58083 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
58084
58085         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
58086         (Depends-on): Remove pathmax, same.  Add mempcpy.
58087         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
58088         (Makefile.am): Append getcwd.h to lib_SOURCES.
58089         (Include): Add getcwd.h.
58090         (Maintainer): Change from Jim Meyering to "all, glibc",
58091         since getdate now uses intended-for-glibc code.
58092         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
58093         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
58094
58095 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
58096
58097         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
58098         HP's ANSI C compiler.
58099         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
58100         Declaring int functions causes warnings on some modern systems and
58101         shouldn't be needed to compile on ancient ones.
58102         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
58103         defined.
58104
58105         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
58106         with the following changes.
58107         (__set_errno): Parenthesize properly.
58108         Include <stdbool.h>.
58109         (MIN, MAX, MATCHING_INO): New macros.
58110         (__getcwd): Define with prototype, not K&R form.
58111         Use heuristics to allocate default buffer on stack if possible.
58112         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
58113         behavior, and to avoid the PATH_MAX limit when computing
58114         ../../../../...
58115         Use MATCHING_INO to compare inode number to file.
58116         Check for arithmetic overflow in size calculations.
58117         Fix bug in reallocation of dot array that caused getcwd to fail
58118         on directories nested deeper than 75.
58119         Be more careful about saving errno on error.
58120         Do not use realloc; use only free+malloc, as this is a bit
58121         more flexible and avoids a needless copy operation.
58122         Do not inspect st_dev and st_ino for symbolic links; POSIX
58123         doesn't specify the latter.
58124         Check for closedir errors.
58125         Avoid needless casts.
58126         Use "#ifdef weak_alias" around weak_alias, to be like other
58127         glibc code.
58128         The following changes to getcwd.c have effect only when used in
58129         gnulib; they have no effect inside glibc proper.
58130         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
58131         as alloca isn't used.
58132         (alloca, __alloca): Likewise.
58133         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
58134         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
58135         unconditionally, as gnulib assumes C89 or better.
58136         Do not include <sys/param.h>.
58137         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
58138         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
58139         better.
58140         (NULL) [!defined NULL]: Remove; we assume C89 or better.
58141         Include <dirent.h> in a way that is compatible with modern Autoconf.
58142         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
58143         New macros, if not already defined.
58144         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
58145         Use "_LIBC", not "defined _LIBC", for consistency.
58146         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
58147         a mempcpy module.
58148         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
58149         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
58150         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
58151         credit only to Jim Meyering and adjust the copyright dates.
58152         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
58153         <stdlib.h>, <unistd.h>, "pathmax.h".
58154         Instead, include "xgetcwd.h" (first) and "getcwd.h".
58155         (INITIAL_BUFFER_SIZE): Remove.
58156         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
58157
58158 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
58159
58160         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
58161         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
58162         Use the _ONCE methods, for efficiency.
58163         Check for fcntl.h.  In test program, include <errno.h>
58164         and <fcntl.h> if available.  Remove old K&R cruft from
58165         test program.  Check for common errors in GNU/Linux,
58166         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
58167         don't do AC_LIBOBJ, as that's getcwd.m4's job.
58168         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
58169         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
58170         name accordingly.
58171         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
58172         accommodate new getcwd.c.
58173         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
58174         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
58175         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
58176         that's all we need now.
58177
58178 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
58179
58180         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
58181         argp-parse.c depends on getopt internals, that means we should
58182         always use our getopt, to be on the safe side.
58183         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
58184         order not to spoil the result of an eventual previous invocation
58185         of gl_GETOPT_SUBSTITUTE.
58186
58187 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
58188
58189         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
58190         redefinition warnings. To avoid them, include the defines
58191         in `#if !defined __need_getopt ... #endif'. The only place
58192         where __getopt_argv_const is used is in definitions
58193         of getopt_long and getopt_long_only below, which are as well
58194         protected by `#ifndef __need_getopt'.
58195         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
58196         __need_getopt after including <stdio.h> and <unistd.h> These
58197         headers might have defined it.
58198
58199 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
58200
58201         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
58202
58203 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
58204
58205         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
58206         (futimens): New function, which uses futimes if available.
58207         (futimens, utimens): Support timespec==NULL, with same semantics
58208         as utime and utimens.
58209         * lib/utimens.h (futimens): New decl.
58210
58211 2004-11-23  Jim Meyering  <jim@meyering.net>
58212
58213         * lib/getopt_.h: Remove trailing blanks.
58214
58215 2004-11-23  Jim Meyering  <jim@meyering.net>
58216
58217         * lib/__fpending.c: Add comment.
58218
58219 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
58220
58221         * modules/canonicalize (Depends-on): Add xreadlink.
58222         Problem reported by James Youngman.
58223
58224 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
58225
58226         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
58227         New macros.
58228         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
58229         optopt): Use them instead of invoking ## directly; otherwise, the
58230         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
58231
58232 2004-11-19  Bruno Haible  <bruno@clisp.org>
58233
58234         * lib/strtok_r.c: Move comments from here...
58235         * lib/strtok_r.h: ... to here.
58236
58237 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
58238
58239         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
58240         implementations that mishandle size_t overflow.
58241
58242 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
58243
58244         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
58245         might fail.  Problem reported by Yoann Vandoorselaere.
58246         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
58247         implementations that mishandle size_t overflow.
58248
58249 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
58250
58251         * modules/canon-host (Depends-on): Add strdup.
58252
58253 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
58254
58255         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
58256
58257 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
58258
58259         * lib/canon-host.c: Include "strdup.h".
58260         (canon_host): Use getaddrinfo if available, so that IPv6 works.
58261         Use strdup instead of malloc/strcpy to duplicate strings.
58262
58263         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
58264         (human_space_before_unit): New constant.
58265         * lib/human.c (human_readable): Support it.
58266
58267         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
58268         (xgetcwd): Set errno correctly when failing.
58269         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
58270         the failure is actually due to a PATH_MAX problem.
58271
58272         Further getopt changes to make it more likely that glibc will
58273         buy the changes back.
58274         * lib/getopt.c (POSIXLY_CORRECT): New constant.
58275         (getopt): Use it, so to preserve glibc semantic
58276         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
58277         when compiling for libc.
58278         * lib/getopt_.h (__getopt_argv_const): Bring it back.
58279         (getopt_long, getopt_long_only): Use it.
58280
58281         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
58282         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
58283         (getopt): Argv is now char * const *, as per standard.
58284         (_getopt_internal_r, _getopt_internal): Argv is now char **,
58285         not char *__getopt_argv_const *.
58286         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
58287         _getopt_long_only_r): Likewise.
58288         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
58289         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
58290         _getopt_long_r, _getopt_long_only_r): Likewise.
58291         * lib/getopt_.h (__getopt_argv_const): Remove.
58292         (getopt): Argv is now char * const *, as per standard.
58293
58294         * lib/getdate.y (tORDINAL): New token.
58295         (day, relunit): Allow it for relative times.
58296         (relative_time_table): Use tORDINAL for ordinals.
58297
58298 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
58299
58300         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
58301         Document that "second" isn't allowed as an ordinal number.
58302
58303 2004-11-16  Jim Meyering  <jim@meyering.net>
58304
58305         * modules/closeout (Depends-on): Add fpending.
58306
58307 2004-11-15  Jim Meyering  <jim@meyering.net>
58308
58309         * lib/closeout.c: Include "__fpending.h" once again.
58310         Include <stdbool.h>.
58311         (close_stdout): Don't fail just because stdout was closed initially,
58312         since some programs don't write to stdout in the normal course of
58313         operation (other than --version and --help), and we don't want this
58314         function to make e.g. `touch file >&-' fail.
58315         But do fail if it was closed and someone has tried to write to it.
58316         E.g., `printf foo >&-' must fail.
58317
58318 2004-11-13  Jim Meyering  <jim@meyering.net>
58319
58320         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
58321
58322 2004-11-12  Simon Josefsson  <jas@extundo.com>
58323
58324         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
58325         small doc fix is still pending.
58326
58327 2004-11-11  Simon Josefsson  <jas@extundo.com>
58328
58329         * modules/strtok_r: New file.
58330
58331         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
58332         strtok_r.
58333
58334 2004-11-11  Simon Josefsson  <jas@extundo.com>
58335
58336         * m4/strtok_r.m4: New file.
58337
58338         * m4/getopt.m4: Replace opterr.
58339
58340 2004-11-11  Simon Josefsson  <jas@extundo.com>
58341
58342         * lib/strtok_r.h, strtok_r.c: New file.
58343
58344 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
58345
58346         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
58347         of replacing opterr, getopt, etc.  This should handle the
58348         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
58349
58350 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
58351
58352         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
58353         we can stop lying to compilers about the constness of argv when we
58354         are compiled outside glibc.
58355         (getopt, getopt_long, getopt_long_only): Use it.
58356         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
58357         _getopt_internal, getopt): Likewise.
58358         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
58359         _getopt_long_only_r): Likewise.
58360         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
58361         _getopt_long_r, _getopt_long_only_r): Likewise.
58362
58363         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
58364         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
58365         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
58366         the other external symbols.
58367         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
58368         declaration, since the above renaming now works around collisions.
58369
58370 2004-11-11  Jim Meyering  <jim@meyering.net>
58371
58372         * lib/linebreak.c: Remove trailing blanks.
58373         * lib/alloca_.h: Likewise.
58374         * lib/acosl.c: Likewise.
58375         * lib/euidaccess.c: Likewise.
58376         * lib/allocsa.h: Likewise.
58377
58378 2004-11-10  Simon Josefsson  <jas@extundo.com>
58379
58380         * m4/getaddrinfo.m4: New file.
58381
58382 2004-11-10  Simon Josefsson  <jas@extundo.com>
58383
58384         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
58385
58386 2004-11-10  Simon Josefsson  <jas@extundo.com>
58387
58388         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
58389         getaddrinfo.
58390
58391         * modules/getaddrinfo: New file.
58392
58393 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
58394
58395         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
58396
58397 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
58398
58399         * lib/mktime.c (SHR): New macro, which is a portable
58400         substitute for >> that should work even on Crays.
58401         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
58402         Problem reported by Mark D. Baushke in
58403         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
58404         * lib/getdate.y (SHR): Likewise.
58405         (tm_diff): Use it.
58406         * lib/strftime.c (SHR): Likewise.
58407         (tm_diff): Use it.
58408         * lib/quotearg.c (struct quoting_options): Use unsigned int for
58409         quote_these_too, so that right shifts are well defined.  All uses
58410         changed.
58411
58412 2004-11-10  Jim Meyering  <jim@meyering.net>
58413
58414         Ensure that no close failure goes unreported.
58415         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
58416         return early when it seems there's nothing to flush.
58417         Don't include __fpending.h.
58418
58419 2004-11-10  Jim Meyering  <jim@meyering.net>
58420
58421         * modules/closeout (Depends-on): Remove fpending.
58422
58423 2004-11-10  Jim Meyering  <jim@meyering.net>
58424
58425         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
58426
58427 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
58428
58429         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
58430         gl_FUNC_STRFTIME.
58431         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
58432         and AC_REQUIRE when possible, to avoid duplicate checks.
58433         Check for <wchar.h>.
58434
58435 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
58436
58437         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
58438
58439 2004-11-09  Bruno Haible  <bruno@clisp.org>
58440
58441         * m4/sockpfaf.m4: New file.
58442
58443 2004-11-05  Bruno Haible  <bruno@clisp.org>
58444
58445         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
58446         Reported by Mark D. Baushke <mdb@cvshome.org>.
58447
58448 2004-11-04  Bruno Haible  <bruno@clisp.org>
58449
58450         2004-09-11  Bruno Haible  <bruno@clisp.org>
58451                 * allocsa.valgrind: New file.
58452         2004-02-06  Bruno Haible  <bruno@clisp.org>
58453                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
58454                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
58455                 Reported by Christopher Seip <chris.seip@hp.com>.
58456
58457 2004-11-04  Bruno Haible  <bruno@clisp.org>
58458
58459         * modules/allocsa (Files): Add lib/allocsa.valgrind.
58460         (Makefile.am): Distribute it.
58461
58462 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
58463
58464         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
58465         with errno == ERANGE if the buffer is too small.
58466         Problem reported by Mark D. Baushke.
58467
58468 2004-11-03  Albert Chin  <china@thewrittenword.com>
58469             Paul Eggert  <eggert@cs.ucla.edu>
58470
58471         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
58472         equivalent, substitute $ac_type for equivalent type rather than
58473         blindly using uint32_t *always* which won't work if uint32_t is not
58474         available.  Define _UINT32_T to work around typedef of uint32_t if
58475         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
58476         2.5.1.
58477
58478 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
58479
58480         * m4/jm-macros.m4: Sync from coreutils.
58481         (gl_MACROS): Check for mbrlen, for pathchk.
58482         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
58483
58484 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
58485
58486         * lib/xreadlink.c (MAXSIZE): New macro.
58487         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
58488         size does not exceed MAXSIZE.  Avoid cast.
58489         As suggested by Mark D. Baushke in
58490         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
58491         if readlink fails with buffer size just under MAXSIZE, try again
58492         with MAXSIZE.
58493
58494 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
58495
58496         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
58497
58498 2004-11-02  Derek R. Price  <derek@ximbiot.com>
58499         and  Paul Eggert  <eggert@cs.ucla.edu>
58500
58501         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
58502         (get_date): Overparenthesize to avoid GCC warning.
58503
58504 2004-11-02  Bruno Haible  <bruno@clisp.org>
58505
58506         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
58507         returns void.
58508
58509 2004-11-02  Bruno Haible  <bruno@clisp.org>
58510
58511         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
58512         function returns void.
58513
58514 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
58515
58516         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
58517         fflush_unlocked, flockfile, funlockfile, funlockfile,
58518         fputs_unlocked, putc_unlocked.
58519
58520 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
58521
58522         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
58523         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
58524         already declared.
58525
58526 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
58527
58528         * modules/getdate (Files): Add doc/getdate.texi.
58529         (Depends-on): Add setenv, xalloc.
58530
58531 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
58532
58533         * lib/getdate.y: Add support for TZ="foo" within a date string.
58534         Fix some bugs near time_t boundaries.  Reject dates with
58535         out-of-range components, e.g., "Sept 31".
58536         Include <stdlib.h>, "setenv.h", "xalloc.h".
58537         (ISDIGIT_LOCALE): Remove; unused.
58538         Note that the TZ and time functions used here are not reentrant.
58539         (mktime_ok, get_tz): New functions.
58540         (TZBUFSIZE): New constant.
58541         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
58542         This requires that we sometimes generate our own TZ="XXX..." setting.
58543
58544 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
58545
58546         * doc/getdate.texi: New file, from coreutils with modifications for
58547         the new TZ parsing.
58548
58549 2004-10-27  Derek R. Price  <derek@ximbiot.com>
58550
58551         * lib/mktime.c (not_equal_tm): Remove redundant check.
58552
58553 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
58554
58555         * modules/regex (lib_SOURCES): Add regex.c.
58556         Reported by James Youngman in
58557         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
58558
58559 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
58560
58561         * lib/getdate.y: Use Bison 1.875 features, and some minor
58562         code cleanups.  This change does not affect semantics.
58563         Don't include <stdlib.h>; no longer needed.
58564         Don't include unlocked-io.h; only the "#if TEST" code uses
58565         stdio, and performance isn't crucial there.
58566         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
58567         Bison 1.875 features as described below.
58568         All uses of "PC." replaced by "pc->".
58569         (YYSTYPE): Add a forward declaration.
58570         (yylex, yyerror): Use full prototypes in forward decls.
58571         Use "%pure-parser" rather than obsolescent "%pure_parser".
58572         Use %parse-param and %lex-param instead of obsolescent
58573         YYPARSE_PARAM and YYLEX_PARAM.
58574         (meridian_table, month_and_day_table, time_units_table,
58575         relative_time_table, time_zone_table, military_table,
58576         lookup_zone, lookup_word, get_date):
58577         Use NULL instead of 0 where appropriate.
58578         (to_hour): Avoid abort (), to avoid a dependency on
58579         stdlib.h.
58580         (yyerror, yylex): Now accepts parser_control * arg.
58581         (main) [TEST]: Use '\0' rather than 0 for char.
58582
58583 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
58584
58585         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
58586
58587 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
58588
58589         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
58590         It's now the caller's responsibility to handle the case where
58591         !HAVE_GETPAGESIZE && !defined getpagesize.
58592
58593         * lib/mktime.c (leapyear): Arg is long int, not int.
58594
58595 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
58596
58597         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
58598
58599 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
58600
58601         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
58602         missing.  Problem reported by James Youngman.
58603
58604 2004-10-16  Simon Josefsson  <jas@extundo.com>
58605
58606         * gnulib-tool: Fix comments.  Fix parse problem.
58607         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
58608
58609 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
58610
58611         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
58612         implementation of getopt_long.  Problem reported by Alexander Taler in:
58613         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
58614
58615 2004-10-15  Bruno Haible  <bruno@clisp.org>
58616
58617         * gnulib-tool: Untabify. Initialize supplied_libname.
58618         (func_usage): More homogenous output.
58619         (func_modules_transitive_closure, func_modules_to_filelist,
58620         func_emit_lib_Makefile_am): New functions.
58621         (func_import): New function, extracted from big case statement. Use
58622         func_get_license, func_modules_transitive_closure,
58623         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
58624         opt_lgpl. Don't use test -a, as it's not portable.
58625         (func_create_testdir): Use func_modules_transitive_closure,
58626         func_modules_to_filelist, func_emit_lib_Makefile_am.
58627
58628 2004-10-15  Bruno Haible  <bruno@clisp.org>
58629
58630         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
58631
58632 2004-10-15  Bruno Haible  <bruno@clisp.org>
58633
58634         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
58635         the portions belonging to each module.
58636         Suggested by Derek Robert Price <derek@ximbiot.com>.
58637
58638 2004-10-12  Simon Josefsson  <jas@extundo.com>
58639
58640         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
58641         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
58642         to real functions.
58643
58644 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
58645
58646         * modules/vsnprintf: New file.
58647
58648 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
58649
58650         * m4/vsnprintf.m4: New file.
58651
58652 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
58653
58654         * lib/vsnprintf.h: New file.
58655         * lib/vsnprintf.c: New file.
58656
58657 2004-10-11  Bruno Haible  <bruno@clisp.org>
58658
58659         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
58660         vsnprintf.
58661
58662 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
58663
58664         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
58665
58666 2004-10-07  Bruno Haible  <bruno@clisp.org>
58667
58668         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
58669         fits into the provided buffer.
58670
58671 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
58672
58673         * lib/diacrit.c, diacrit.h: Add GPL notice.
58674
58675         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
58676         notice.
58677         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
58678         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
58679         This avoids a potential constant-folding bug.
58680
58681 2004-10-05  Bruno Haible  <bruno@clisp.org>
58682
58683         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
58684         for the declaration of strsep.
58685
58686 2004-10-05  Bruno Haible  <bruno@clisp.org>
58687
58688         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
58689
58690 2004-10-04  Simon Josefsson  <jas@extundo.com>
58691
58692         * modules/memmem: New file.
58693         * tests/test-memmem.c: New file.
58694         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
58695
58696 2004-10-04  Simon Josefsson  <jas@extundo.com>
58697
58698         * m4/memmem.m4: New file.
58699
58700 2004-10-04  Simon Josefsson  <jas@extundo.com>
58701
58702         * lib/memmem.h: New file.
58703         * lib/memmem.c: New file, taken from glibc.
58704
58705 2004-10-04  Simon Josefsson  <jas@extundo.com>
58706
58707         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
58708         '#ifdef USE_UNLOCKED_IO'.
58709
58710 2004-10-04  Simon Josefsson  <jas@extundo.com>
58711
58712         * config/srclist.txt: Add memmem from glibc.
58713
58714 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
58715
58716         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
58717
58718         * modules/argmatch, modules/argp, modules/closeout, modules/error,
58719         modules/exclude, modules/getdate, modules/getline,
58720         modules/getndelim2, modules/getpass, modules/getpass-gnu,
58721         modules/getusershell, modules/linebuffer, modules/md5,
58722         modules/mountlist, modules/posixtm, modules/readtokens,
58723         modules/readutmp, modules/regex, modules/sha1,
58724         modules/version-etc, modules/yesno:
58725         Remove dependency on unlocked-io.
58726
58727 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
58728
58729         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
58730
58731         * m4/unlocked-io.m4: Add copyright notice.
58732         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
58733
58734 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
58735
58736         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
58737         * lib/xmalloc.c (xmemdup): Likewise.
58738         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
58739         XFREE): Remove these long-obsolescent macros.
58740         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
58741         * lib/xstrdup.c: Remove.
58742
58743         * lib/regex.c (re_comp): Cast gettext return value to char *,
58744         Problem reported by Martin Neitzel via Mark D. Baushke.
58745
58746 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
58747
58748         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
58749         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
58750         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
58751         regex.c, sha1.c, version-etc.c, yesno.c:
58752         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
58753         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
58754         the includer's responsibility.
58755
58756         Sync from coreutils.
58757
58758         * lib/modechange.c (mode_compile): Don't decrement a pointer that
58759         points to the start of a string, as the C Standard says the
58760         resulting behavior is undefined.
58761
58762         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
58763         simple -> simple_backups, numbered_existing ->
58764         numbered_existing_backups, numbered -> numbered_backups
58765         to avoid shadowing problems.  All uses changed.
58766         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
58767         * lib/backupfile.c (check_extension, numbered_backup):
58768         Rename locals to avoid shadowing 'basename'.
58769         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
58770         once.
58771
58772         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
58773         * lib/.cvsignore: Add getopt.h.
58774
58775 2004-10-04  Bruno Haible  <bruno@clisp.org>
58776
58777         * modules/README: New file.
58778         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
58779         not a module.
58780
58781 2004-10-02  Jim Meyering  <jim@meyering.net>
58782
58783         * lib/dirfd.h, getpagesize.h: Add copyright notice.
58784
58785 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
58786
58787         * modules/strsep: New file.
58788
58789 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
58790
58791         * m4/strsep.m4: New file.
58792
58793 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
58794
58795         * lib/strsep.h: New file.
58796         * lib/strsep.c: New file.
58797
58798 2004-10-01  Simon Josefsson  <jas@extundo.com>
58799
58800         * lib/snprintf.c (snprintf): Handle size==0.
58801
58802 2004-10-01  Simon Josefsson  <jas@extundo.com>
58803             Bruno Haible  <bruno@clisp.org>
58804
58805         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
58806         (snprintf): Declare 'args'.
58807
58808 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
58809
58810         * lib/snprintf.c: Remove comments as to why each header is needed.
58811
58812 2004-10-01  Bruno Haible  <bruno@clisp.org>
58813
58814         * MODULES.html.sh: Add strsep.
58815
58816 2004-09-30  Simon Josefsson  <jas@extundo.com>
58817
58818         * modules/snprintf: New file.
58819
58820 2004-09-30  Simon Josefsson  <jas@extundo.com>
58821
58822         * m4/snprintf.m4: New file.
58823
58824 2004-09-30  Simon Josefsson  <jas@extundo.com>
58825
58826         * lib/snprintf.h, lib/snprintf.c: New files.
58827
58828 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
58829
58830         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
58831         (hol_entry_help): Never translate an empty string.
58832         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
58833         * lib/argp.h (OPTION_NO_TRANS): New option.
58834
58835 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
58836
58837         * modules/argp (Maintainer): Replace Simon Josefsson
58838         by Sergey Poznyakoff.
58839
58840 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
58841
58842         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
58843         changes merged back into glibc.
58844
58845 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
58846
58847         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
58848
58849 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
58850
58851         * lib/xvasprintf.c: Include xalloc.h.
58852         (xvasprintf): Use xalloc_die, not xmalloc_die.
58853
58854 2004-09-29  Bruno Haible  <bruno@clisp.org>
58855
58856         * modules/alloca-opt: New file, derived from modules/alloca.
58857         * modules/allocsa: Depend on alloca-opt instead of alloca.
58858         * modules/setenv: Likewise.
58859         * modules/vasnprintf: Likewise.
58860         * MODULES.html.sh: Add alloca-opt.
58861
58862 2004-09-28  Simon Josefsson  <jas@extundo.com>
58863
58864         * gnulib-tool: New parameter --lgpl, to asseert that modules are
58865         LGPL, and to replace license template from GPL to LGPL.
58866
58867 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
58868
58869         * modules/dummy: Change license to LGPL.
58870
58871 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
58872
58873         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
58874
58875 2004-09-24  Simon Josefsson  <jas@extundo.com>
58876
58877         * modules/minmax (License): Change from GPL to LGPL.
58878
58879 2004-09-23  Simon Josefsson  <jas@extundo.com>
58880
58881         * gnulib-tool (--import): Typo.
58882
58883 2004-09-23  Simon Josefsson  <jas@extundo.com>
58884
58885         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
58886
58887 2004-09-22  Bruno Haible  <bruno@clisp.org>
58888
58889         * modules/*: Add 'License' field.
58890         * gnulib-tool: Accept --extract-license option.
58891         (func_get_license): New function.
58892
58893 2004-09-21  Bruno Haible  <bruno@clisp.org>
58894
58895         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
58896         Reported by Simon Josefsson.
58897
58898 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
58899
58900         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
58901         gl_AC_TYPE_LONG_LONG.
58902
58903 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
58904
58905         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
58906
58907 2004-09-18  Simon Josefsson  <jas@extundo.com>
58908         and  Paul Eggert  <eggert@cs.ucla.edu>
58909
58910         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
58911         calls with autoreconf.  Define GL_LIB.
58912
58913 2004-09-14  Karl Berry  <karl@gnu.org>
58914
58915         * config/srclist.txt: unsync setenv.c, sigh.
58916
58917 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
58918
58919         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
58920         Problem reported by Bruno Haible in:
58921         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
58922
58923 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
58924
58925         * config/srclist.txt: Comment out argp-pvh.c.
58926
58927 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
58928
58929         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
58930         in case some system header has #define'd it.  Problem reported by
58931         Soeren D. Schulze in
58932         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
58933
58934 2004-09-09  Karl Berry  <karl@gnu.org>
58935
58936         * regex.[ch]: delete from the root.  These were supposed to be
58937                 synced with emacs cvs, but this has not happened for about
58938                 a year, and anyway nothing else uses emacs regex.[ch].
58939                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
58940                 lib/regex[.ch] is untouched.
58941
58942 2004-09-09  Bruno Haible  <bruno@clisp.org>
58943
58944         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
58945
58946 2004-09-09  Bruno Haible  <bruno@clisp.org>
58947
58948         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
58949         modifications.
58950         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
58951
58952 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
58953
58954         * modules/xvasprintf: New file.
58955         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
58956
58957 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
58958
58959         * lib/xvasprintf.h: New file.
58960         * lib/xvasprintf.c: New file.
58961         * lib/xasprintf.c: New file.
58962
58963 2004-09-08  Bruno Haible  <bruno@clisp.org>
58964
58965         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
58966
58967 2004-09-08  Bruno Haible  <bruno@clisp.org>
58968
58969         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
58970         length is > INT_MAX.
58971         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
58972         more.
58973
58974 2004-09-08  Bruno Haible  <bruno@clisp.org>
58975
58976         * lib/stdint_.h: New file, taken from GNU clisp.
58977
58978 2004-09-08  Bruno Haible  <bruno@clisp.org>
58979             Oskar Liljeblad  <oskar@osk.mine.nu>
58980
58981         * modules/stdint: New file.
58982         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
58983
58984 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
58985
58986         Import from coreutils.
58987         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
58988         strings on unbounded length.  alloca's performance benefits aren't
58989         that important here.
58990         (V_STRDUP): Remove.
58991         (parse_with_separator): New function, with most of the internals
58992         of the old parse_user_spec.  Allow user to omit both user and group,
58993         for compatibility with FreeBSD.
58994         Clone only the user name, not the entire spec.
58995         Do not set *uid, *gid unless entirely successful.
58996         Avoid memory leak in some failing cases.
58997         Fix regression for USER.GROUP reported by Dmitry V. Levin in
58998         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
58999         (parse_user_spec): Rewrite to use parse_with_separator.
59000
59001 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
59002
59003         * modules/userspec: Don't depend on alloca.
59004
59005 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
59006
59007         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
59008
59009 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
59010
59011         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
59012         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
59013         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
59014
59015 2004-08-16  Simon Josefsson  <jas@extundo.com>
59016
59017         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
59018         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
59019         Add --dry-run for --import.
59020         Let user provided command line parameters override configure.ac
59021         settings.
59022
59023 2004-08-12  Simon Josefsson  <jas@extundo.com>
59024
59025         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
59026         as discussed with Paul Eggert in threads rooted at
59027         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
59028         and
59029         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
59030         Before, the test was empty, and relied on ELIDE_CODE in source
59031         code.)
59032         (gl_PREREQ_GETOPT): New macro.
59033         (gl_GETOPT): Use them.
59034
59035 2004-08-12  Simon Josefsson  <jas@extundo.com>
59036
59037         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
59038         * lib/getopt_.h: Renamed from getopt.h.
59039
59040 2004-08-12  Simon Josefsson  <jas@extundo.com>
59041
59042         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
59043         Change default library name from libfoo to libgnu.
59044         Now, if you have a configure.ac that says:
59045                 gl_SOURCE_BASE(gl)
59046                 gl_M4_BASE(gl/m4)
59047                 gl_MODULES(error getopt etcetera)
59048                 gl_INIT
59049         you can import all you need by running:
59050                 ../gnulib/gnulib-tool --import
59051
59052         * modules/getopt (Files): Rename getopt.h to getopt_.h.
59053         (Makefile.am): Rewrite, use logic from argz.
59054         (Include): Use <getopt.h> instead of "getopt.h".
59055
59056 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
59057
59058         * modules/argp (Files): Add m4/unlocked-io.m4.
59059         (Depends-on): Add extensions.
59060
59061 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
59062
59063         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
59064         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
59065         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
59066         Check for program_invocation_name, program_invocation_short_name,
59067         flockfile, funlockfile, features.h, _getopt_long_only_r.
59068
59069 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
59070
59071         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
59072         its complicated substitute.
59073         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
59074         and program_invocation_name.
59075         (__argp_basename) [!_LIBC]: Remove; the only use was
59076         replaced by its body.
59077         (__argp_short_program_name): Change condition from
59078         !defined __argp_short_program_name to
59079         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
59080         to match argp-namefrob.h.
59081         (__argp_failure): Don't assume strerror_r returns char *.
59082         * lib/argp-parse.c (N_): Define unconditionally.
59083         (argp_default_options): Fill out initializers with 0 to avoid
59084         gcc warnings.
59085
59086 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
59087
59088         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
59089         getopt1.c.
59090
59091 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
59092
59093         Merge from coreutils.
59094
59095         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
59096
59097         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
59098         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
59099
59100 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
59101
59102         Merge from coreutils.
59103
59104         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
59105         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
59106         for Reliant Unix 5.43.
59107
59108         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
59109         (union fooround): Use uintmax_t, not long int.
59110         The rest is a merge from libc:
59111         [defined _LIBC]: Include <shlib-compat.h>.
59112         (_obstack) [defined _LIBC]: Remove after 2.3.4.
59113
59114         * lib/settime.c (settime): Recode to avoid warning with
59115         Sun Forte C 6U2.
59116
59117         * lib/strverscmp.c: Convert to UTF-8.
59118
59119 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
59120
59121         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
59122         m4/uintmax_t.m4.
59123
59124 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
59125
59126         * modules/xalloc-die: New file.
59127         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
59128
59129         * modules/md5 (Files): Add m4/uint32_t.m4.
59130         * modules/sha1: Renamed from modules/sha.
59131         (Files):
59132         Rename lib/sha.h to lib/sha1.h.
59133         Rename lib/sha.c to lib/sha1.c.
59134         Rename m4/sha.m4 to m4/sha1.m4.
59135         (lib_SOURCES): Likewise.
59136         (configure.ac): Rename gl_SHA to gl_SHA1.
59137         (Include): sha.h -> sha1.h.
59138
59139 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
59140
59141         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
59142         * m4/sha1.m4: Renamed from sha.m4.
59143         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
59144
59145 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
59146
59147         * lib/obstack.h (obstack_empty_p):
59148         Don't assume that chunk->contents is suitably aligned.
59149         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
59150         Likewise. Problem reported by Benno in
59151         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
59152
59153         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
59154         readable.  This could be improved further but it'd take some work.
59155
59156 2004-08-08  Simon Josefsson  <jas@extundo.com>
59157
59158         * modules/xgethostname (Depends-on): Remove exit and error (not
59159         used).
59160
59161         * modules/getpass-gnu: Add getpass.h.
59162         (Depends-on): Add stdbool.
59163         * modules/getpass: Add getpass.h.
59164
59165 2004-08-08  Simon Josefsson  <jas@extundo.com>
59166
59167         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
59168         Check getpass declaration.
59169
59170 2004-08-08  Simon Josefsson  <jas@extundo.com>
59171
59172         * lib/xgethostname.c: Don't include error.h (not used).
59173
59174         * lib/getpass.h: Add.
59175         * lib/getpass.c: Include getpass.h first.
59176
59177 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
59178
59179         * lib/xalloc-die.c: New file.
59180         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
59181         All uses removed.
59182         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
59183         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
59184         xalloc-die.c.
59185         (_, N_, xalloc_die): Move to xalloc-die.c.
59186         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
59187         so that we needn't mess with xalloc_msg_memory_exhausted.
59188
59189         * lib/sha1.h: Renamed from sha.h.
59190         (SHA1_H): Renamed from _SHA_H.
59191         (sha1_ctx): Renamed from sha_ctx.
59192         (sha1_init_ctx): Renamed from sha_init_ctx.
59193         (sha1_process_block): Renamed from sha_process_block.
59194         (sha1_process_bytes): Renamed from sha_process_bytes.
59195         (sha1_finish_ctx): Renamed from sha_finish_ctx.
59196         (sha1_read_ctx): Renamed from sha_read_ctx.
59197         (sha1_stream): Renamed from sha_stream.
59198         (sha1_buffer): Renamed from sha_buffer.
59199         * lib/sha1.c: Likewise; renamed from sha.c.
59200         Do not include <sys/types.h>.
59201         Include <stddef.h> rather than <stdlib.h>.
59202
59203 2004-08-08  Bruno Haible  <bruno@clisp.org>
59204
59205         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
59206         FILESYSTEM_PREFIX_LEN.
59207         * lib/progreloc.c: Likewise.
59208         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
59209
59210 2004-08-06  Simon Josefsson  <jas@extundo.com>
59211
59212         * modules/progname (Depends-on): Don't depend on stdbool.
59213
59214 2004-08-06  Simon Josefsson  <jas@extundo.com>
59215
59216         * modules/getsubopt: New file.
59217         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
59218         getsubopt.
59219
59220 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
59221
59222         More merge from coreutils.
59223
59224         * m4/utimens.m4, m4/utimecmp.m4: New files.
59225         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
59226         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
59227         prereq.m4, sha.m4: Import changes from coreutils.
59228
59229 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
59230
59231         More merge from coreutils.
59232         * modules/raise, modules/readtokens0, modules/utimens:
59233         * modules/utimecmp, module/xnanosleep: New files.
59234         * modules/strftime: Add lib/strftime.h.
59235         Change include from <time.h> to "strftime.h".
59236         * modules/yesno: Add lib/yesno.h.
59237         * modules/backupfile: Remove lib/addext.c.
59238         * modules/euidaccess: Add stat-macros.h.
59239         * modules/canonicalize, modules/euidaccess,
59240         modules/filemode, modules/lchown, modules/makepath,
59241         modules/rmdir, modules/stat: Likewise.
59242
59243 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
59244
59245         Merge from tar.
59246         * lib/argp-help.c (make_hol, hol_append): Don't assume that
59247         SIZE_MAX is a valid preprocessor constant.
59248         (__argp_basename): Change from "#ifndef _LIBC"
59249         to "#ifndef __argp_short_program_name", so that
59250         we don't compile these functions for tar.
59251
59252         More merges from coreutils.
59253         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
59254         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
59255         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
59256         * lib/addext.c: Remove; no longer needed.
59257         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
59258         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
59259         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
59260         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
59261         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
59262         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
59263         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
59264         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
59265         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
59266         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
59267         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
59268         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
59269         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
59270         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
59271         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
59272         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
59273         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
59274         Import changes from coreutils.
59275
59276 2004-08-05  Simon Josefsson  <jas@extundo.com>
59277
59278         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
59279
59280 2004-08-05  Simon Josefsson  <jas@extundo.com>
59281
59282         * m4/getsubopt.m4: New file.
59283
59284 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
59285
59286         Merge from coreutils.
59287
59288         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
59289         * m4/getcwd-path-max.m4: New files.
59290
59291         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
59292         FILESYSTEM_PREFIX_LEN ->
59293         FILE_SYSTEM_PREFIX_LEN.
59294         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
59295         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
59296         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
59297         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
59298
59299         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
59300         prerequisite modules now handle the DOS stuff.
59301         Don't check for unistd.h.
59302
59303 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
59304
59305         Merge from coreutils.
59306
59307         * lib/.gdb-history: Remove; this doesn't belong here.
59308
59309         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
59310         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
59311         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
59312         * lib/getcwd.c: New files.
59313
59314         * lib/dirname.h: Include <stdbool.h>.
59315         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
59316         for consistency with POSIX terminology.  All uses changed.
59317         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
59318         (strip_trailing_slashes): Use bool for booleans.
59319         * lib/stripslash.c (strip_trailing_slashes): Likewise.
59320
59321         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
59322         sometimes returns a positive errno value even when it succeeds.
59323         (print_errno_message) [!LIBC]: Fall back on strerror if
59324         __strerror_r fails.
59325
59326         * lib/path-concat.c (mempcpy): Don't define if a system header defines
59327         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
59328         (longest_relative_suffix): New function.
59329         (path_concat): Use it.  Assume first argument is not NULL.
59330         Port to DOS.  Omit redundant separators.
59331         Report an error instead of returning NULL.
59332         Use mempcpy instead of memcpy.
59333         (xpath_concat): Remove: not declared or used.
59334
59335         * lib/same.h: Include <stdbool.h>
59336         (same_name): Return bool, not int.
59337         * lib/same.c (same_name): Likewise.
59338         (errno): Don't declare; we assume C89 or better now.
59339
59340         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
59341         if not already defined.
59342
59343         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
59344         * lib/dup-safer.c (errno): Likewise.
59345
59346 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
59347
59348         Merge from coreutils.
59349         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
59350         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
59351         * modules/path-concat: Don't depend on strdup.
59352
59353 2004-08-03  Simon Josefsson  <jas@extundo.com>
59354
59355         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
59356         * lib/progname.h: Don't include stdbool.h.
59357
59358 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
59359
59360         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
59361         * MODULES.html.sh (func_all_modules): Remove fatal.
59362
59363 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
59364
59365         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
59366
59367 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
59368
59369         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
59370         working.
59371
59372 2004-08-02  Simon Josefsson  <jas@extundo.com>
59373
59374         * lib/getsubopt.h: New file, with comments from Bruno Haible.
59375         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
59376         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
59377
59378 2004-08-01  Simon Josefsson  <jas@extundo.com>
59379
59380         * lib/xgetdomainname.c: Include stdlib.h, for free().
59381
59382 2004-07-19  Bruno Haible  <bruno@clisp.org>
59383
59384         * MODULES.html.sh (func_all_modules): Add dummy.
59385
59386 2004-07-16  Simon Josefsson  <jas@extundo.com>
59387
59388         * modules/dummy: New file.
59389
59390 2004-07-16  Simon Josefsson  <jas@extundo.com>
59391
59392         * lib/dummy.c: New file.
59393
59394 2004-07-16  Bruno Haible  <bruno@clisp.org>
59395
59396         * lib/backupfile.h: Add extern "C" for C++.
59397         * lib/closeout.h: Likewise.
59398         * lib/copy-file.h: Likewise.
59399         * lib/findprog.h: Likewise.
59400         * lib/full-write.h: Likewise.
59401         * lib/pathname.h: Likewise.
59402         * lib/progname.h: Likewise.
59403         * lib/stpcpy.h: Likewise.
59404         * lib/stpncpy.h: Likewise.
59405         * lib/strcase.h: Likewise.
59406         * lib/strstr.h: Likewise.
59407         * lib/xalloc.h: Likewise.
59408
59409         * lib/mbswidth.h: Add extern "C" for C++.
59410         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
59411
59412 2004-07-13  Robert Millan  <robertmh@gnu.org>
59413
59414         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
59415
59416 2004-07-09  Simon Josefsson  <jas@extundo.com>
59417
59418         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
59419         failed without this.)
59420
59421 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
59422
59423         * modules/chown (Files): Add lib/fchown-stub.c, since
59424         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
59425
59426 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
59427
59428         * lib/fchown-stub.c: New file.
59429
59430 2004-06-24  Jim Meyering  <jim@meyering.net>
59431
59432         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
59433
59434 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
59435
59436         * modules/argz: Omit "#include".
59437
59438         * MODULES.html.sh (func_all_modules): Add calloc, to match
59439         2004-06-01 addition of calloc module.
59440
59441 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
59442
59443         * m4/argz.m4: New file, which is autoupdated from libtool.
59444
59445 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
59446
59447         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
59448         libtool.
59449
59450 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
59451
59452         * config/srclist-update: Don't insist on "USA." before the
59453         close-comment, as libtool omits the period and puts the */ on a
59454         separate line.
59455         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
59456         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
59457
59458 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
59459
59460         * modules/argz: New file.
59461         * MODULES.html.sh (func_all_modules): Add argz.
59462
59463 2004-06-12  Jim Meyering  <jim@meyering.net>
59464         and  Paul Eggert  <eggert@cs.ucla.edu>
59465
59466         * modules/hash (Files): Add lib/xalloc.h.
59467         * modules/pipe (Depends-on): Add wait-process.
59468         * modules/stat (Depends-on): Add xalloc.
59469         * modules/userspec (Files): Add lib/userspec.h.
59470         * modules/xstrto
59471
59472         Upgrade from gettext-0.13.
59473         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
59474         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
59475         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
59476
59477 2004-06-10  Jim Meyering  <jim@meyering.net>
59478
59479         * lib/calloc.c: New file.
59480
59481 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
59482
59483         * lib/getdate.y (yylex): Allow space between sign and number.
59484         Problem reported by Dan Jacobson.
59485
59486 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
59487
59488         Merge from coreutils CVS.
59489
59490         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
59491         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
59492         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
59493         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
59494         xstrtol.m4: Fix copyright date and/or serial number.
59495
59496         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
59497         See if we need an fchown replacement.
59498         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
59499         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
59500         and use the replacement function if we detect either defect.
59501
59502         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
59503         gl_UTIMECMP.
59504
59505 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
59506         and  Jim Meyering  <jim@meyering.net>
59507
59508         Merge from coreutils CVS.
59509
59510         * lib/stat-macros.h: New file, with contents from file-type.h
59511         and coreutils' system.h.
59512         * lib/file-type.c: Include "stat-macros.h".
59513         * lib/file-type.h (file_type): Move all macro definitions to new file,
59514         stat-macros.h.
59515
59516         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
59517         Wrap old code with this conditional.
59518         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
59519         function that does not dereference symlinks.
59520         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
59521
59522         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
59523         dependency problems.
59524         (xreadlink): Accept new arg SIZE, for efficiency.
59525         All decls and uses changed.
59526         * lib/xreadlink.h: Include <stddef.h>, for size_t.
59527
59528         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
59529         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
59530
59531         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
59532         sysexits.h.
59533
59534 2004-06-01  Jim Meyering  <jim@meyering.net>
59535
59536         * m4/calloc.m4: New file.
59537
59538 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
59539
59540         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
59541         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
59542         Also, fix a typo in a diagnostic.
59543
59544 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
59545
59546         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
59547         or AC_FUNC_REALLOC.
59548
59549 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
59550
59551         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
59552         macros to be defined.
59553         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
59554         the allocator returns NULL because the requested size is zero.
59555
59556 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
59557
59558         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
59559         var.  Add comment explaining why libc still defines it.  This
59560         merges the following patch from glibc:
59561         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
59562
59563 2004-05-20  Andreas Schwab  <schwab@suse.de>
59564
59565         * m4/free.m4: Replace free if it not known to work, not the other
59566         way round.
59567
59568 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
59569
59570         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
59571         present in glibc since revision 1.1 of this file.
59572         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
59573         obstack_alignment_mask, obstack_alloc, obstack_base,
59574         obstack_blank, obstack_blank_fast, obstack_chunk_size,
59575         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
59576         obstack_grow0, obstack_init, obstack_int_grow,
59577         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
59578         obstack_next_free, obstack_object_size, obstack_ptr_grow,
59579         obstack_ptr_grow_fast, obstack_room): Remove declarations of
59580         nonexistent functions.
59581
59582 2004-05-18  Karl Berry  <karl@gnu.org>
59583
59584         * config/srclist.txt: break link for vasnprintf.c.
59585
59586 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
59587
59588         Port obstack to the AS/400, where pointers are 16 bytes wide and
59589         you cannot cast an integer to a valid pointer.  This patch is
59590         currently waiting to be integrated into glibc; see
59591         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
59592
59593         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
59594         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
59595         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
59596         (struct obstack): temp member is now a union of a pointer and
59597         an integer, instead of an integer.  All integer uses changed.
59598         This does not affect the physical layout of struct obstack,
59599         except on hosts (like the AS/400) where the size or alignment of
59600         void * is greater than that of ptrdiff_t.
59601         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
59602         __STDC__)]: Store temporary in pointer member of union, not
59603         integer member.
59604         * lib/obstack.c: Include <stddef.h>, for offsetof.
59605         (struct fooalign): Remove; it doesn't need a name.
59606         (union fooround): Change double to long double, and add void *.
59607         (DEFAULT_ALIGNMENT): Use offsetof to compute.
59608         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
59609         not a macro.  Hence the values are always int; so remove all
59610         casts-to-int in uses.
59611
59612 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
59613
59614         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
59615         we can get this patch merged into glibc.
59616
59617 2004-05-17  Derek R. Price  <derek@ximbiot.com>
59618             Paul Eggert  <eggert@cs.ucla.edu>
59619
59620         * m4/argp: Depend on alloca.
59621
59622 2004-05-17  Derek R. Price  <derek@ximbiot.com>
59623             Paul Eggert  <eggert@cs.ucla.edu>
59624
59625         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
59626         freecoding.
59627
59628 2004-05-17  Bruno Haible  <bruno@clisp.org>
59629
59630         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
59631         precision that consists of a '.' followed by an empty digit string.
59632         Patch by Tor Lillqvist <tml@iki.fi>.
59633
59634 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
59635
59636         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
59637         for backward compatibility with older code.  We need our own
59638         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
59639         it under some other name, and our alloca.h will define it.
59640
59641 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
59642             Derek Price  <derek@ximbiot.com>
59643
59644         * lib/alloca.c: Include <alloca.h>, to get our interface.
59645         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
59646         include <alloca.h> first.  Use C89 prototype for alloca; this
59647         requires including <stddef.h> for size_t.  Use extern "C" if C++.
59648         Use #elif for simplicity, since we can assume C89 now.
59649         Don't try to source the system alloca.h since it will not be found
59650         and to prevent recursively including its replacement.
59651         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
59652         * lib/regex.c: Likewise.
59653
59654 2004-05-16  Derek Price  <derek@ximbiot.com>
59655             Paul Eggert  <eggert@cs.ucla.edu>
59656
59657         getline cleanup.  This changes the getndelim2 API: both order of
59658         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
59659         no delimiter).
59660
59661         * lib/getline.c: Don't include stddef.h or stdio.h, since our
59662         interface does that.
59663         (getline): Always use getdelim, so that we don't have two
59664         copies of this code.
59665         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
59666         if available.
59667         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
59668         (GETNDELIM2_MAXIMUM): New macro.
59669         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
59670         instead of the old practice of delim2==0.  All callers changed.
59671         Return -1 on overflow, instead of returning junk.
59672         Do not set *linesize unless allocation succeeds.
59673         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
59674         that we include sys/types.h.
59675         * lib/getnline.h: Likewise.
59676         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
59677         (getndelim2): Reorder arguments.
59678         * lib/getnline.c (getnline, getndelim):
59679         Don't discard the NMAX argument.
59680         (getnline): Invoke getndelim, to avoid code duplication.
59681         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
59682         of (size_t) -1 by callers of the getnline family.
59683
59684 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
59685
59686         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
59687         Check for gettimeofday.
59688         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
59689         Check for settimeofday, stime.
59690
59691 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
59692
59693         * lib/nanosleep.c (suspended): Change its type from int to
59694         sig_atomic_t volatile.
59695         (first_call): Make it private to rpl_nanosleep, and have it
59696         be zero initially as that's a bit faster.
59697         (my_usleep): Round up fractional times instead of truncating them,
59698         as this is the usual meaning for 'sleep'.
59699
59700         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
59701         doesn't work.
59702         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
59703         (ENOSYS): Define if not defined.
59704         (settime): Fall back on stime if it exists and settimeofday fails.
59705         But don't bother with fallbacks if a method fails with errno == EPERM.
59706
59707 2004-05-11  Jim Meyering  <jim@meyering.net>
59708
59709         Prior to this change, the save_cwd caller required read access to the
59710         current directory on most systems (ones with the fchdir function).
59711
59712         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
59713         fails, try write-only, and finally, resort to using xgetcwd.
59714
59715 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
59716
59717         * lib/obstack.c, obstack.h: Import changes from libc.
59718
59719 2004-04-28  Bruno Haible  <bruno@clisp.org>
59720
59721         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
59722         also implicitly appends .exe to executables.
59723         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
59724         accepts Windows pathnames.
59725         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
59726         Treat Cygwin like Windows, since it now accepts Windows pathnames.
59727         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
59728         Treat Cygwin like Windows, since it now accepts Windows pathnames.
59729         Reported by Derek Robert Price <derek@ximbiot.com>.
59730
59731 2004-04-21  Karl Berry  <karl@gnu.org>
59732
59733         * config/srclist.txt (localcharset.c): break sync.
59734
59735 2004-04-20  Paul Eggert  <eggert@twinsun.com>
59736
59737         * m4/host-os.m4: Add a copyright notice.
59738
59739 2004-04-20  Jim Meyering  <jim@meyering.net>
59740
59741         Change UTILS_ to gl_ in AC_DEFINE'd names.
59742         Change utils_- and jm_-prefixed variables, too.
59743         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
59744         UTILS_FUNC_MKDIR_TRAILING_SLASH.
59745         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
59746
59747         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
59748         Don't emit trailing blanks.
59749         Also rename jm_-prefixed variables to have gl_ prefix.
59750
59751         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
59752         Also rename jm_-prefixed variables to have gl_ prefix.
59753
59754         * m4/jm-macros.m4: Reflect the renamings.
59755         * m4/prereq.m4: Likewise.
59756
59757 2004-04-20  Jim Meyering  <jim@meyering.net>
59758
59759         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
59760         memory.
59761
59762 2004-04-20  Jim Meyering  <jim@meyering.net>
59763             Bruno Haible  <bruno@clisp.org>
59764
59765         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
59766         memory when realloc fails.
59767
59768 2004-04-19  Jim Meyering  <jim@meyering.net>
59769
59770         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
59771         now that readutmp.c may call `free (0)'.
59772
59773 2004-04-19  Bruno Haible  <bruno@clisp.org>
59774
59775         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
59776         * m4/inttypes_h.m4: Likewise.
59777         * m4/stdint_h.m4: Likewise.
59778         * m4/intmax_t.m4: Likewise.
59779         * m4/uintmax_t.m4: Likewise.
59780
59781 2004-04-18  Jim Meyering  <jim@meyering.net>
59782
59783         * m4/prereq.m4: Don't forbid jm_ prefix.
59784
59785         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
59786         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
59787         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
59788         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
59789         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
59790         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
59791         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
59792         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
59793         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
59794         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
59795         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
59796         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
59797         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
59798         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
59799         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
59800         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
59801         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
59802         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
59803         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
59804
59805 2004-04-18  Jim Meyering  <jim@meyering.net>
59806
59807         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
59808         failure, don't leak memory and do call END_UTMP_ENT.
59809
59810 2004-04-16  Jim Meyering  <jim@meyering.net>
59811
59812         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
59813         coreutils' stat program.
59814         (gl_PREREQ): Don't require jm_PREREQ_STAT.
59815
59816 2004-04-11  Paul Eggert  <eggert@twinsun.com>
59817
59818         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
59819         C89.
59820         (CHAR_BIT): Remove, since we assume C89.
59821         Include <stdint.h> if available, as per current Autoconf CVS advice.
59822
59823 2004-03-31  Jim Meyering  <jim@meyering.net>
59824
59825         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
59826         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
59827         * m4/xalloc.m4: Likewise.
59828
59829 2004-03-30  Paul Eggert  <eggert@twinsun.com>
59830
59831         Merge from coreutils.
59832
59833         * m4/inttostr.m4: New file.
59834         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
59835         Require AM_STDBOOL_H and gl_TIMESPEC instead.
59836         Require gl_CLOCK_TIME.
59837         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
59838
59839 2004-03-30  Paul Eggert  <eggert@twinsun.com>
59840
59841         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
59842         not bool, to be more consistent with Unix conventions.
59843         Suggested by Bruno Haible.
59844
59845         Merge from coreutils.
59846
59847         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
59848         * lib/umaxtostr.c: New files.
59849
59850         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
59851         the usual <time.h> dance.
59852         (get_date): Change signature to support fractional time stamps.
59853         All callers changed.
59854         * lib/getdate.y: Include "getdate.h" first, as we can now
59855         assume C89 and don't need to worry about 'const'.
59856         Similarly, include "unlocked-io.h" near start, not in middle.
59857         Include <limits.h>.
59858         (textint.value): Use long int rather than int.
59859         (textint.digits): Use size_t rather than int.
59860         (BILLION, LOG10_BILLION): New constants.
59861         (parser_control): New member rel_ns.  Members day_ordinal,
59862         time_zone, month, day, hour, minutes, rel_year, rel_month,
59863         rel_day, rel_hour, rel_minutes, rel_seconds
59864         are now long int, not int.  Member seconds is now struct timespec,
59865         not int.  New member timespec_seen.  Members dates_seen, days_seen,
59866         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
59867         not int.
59868         (%union.intval): Now long int, not int.
59869         New member timespec.
59870         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
59871         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
59872         (spec): Now is a timespec or an item list.
59873         (timespec, items): New nonterminals.
59874         (time, rel, relunit, number, get_date):
59875         Add support for fractional seconds.
59876         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
59877         (gmtime, localtime, mktime): Remove decls; not needed with C89.
59878         (to_hour): First arg is now long int, not int.
59879         (to_year): Returns long int, not int.
59880         Don't treat year -70 like 70.
59881         (tm_diff): Returns long int, not int.
59882         (lookup_word): Use bool instead of int when appropriate.
59883         (yylex): Use size_t for count, not int.
59884         Detect overflow when parsing large integer constants.
59885         Add support for fractions.
59886         (get_date): Make pointers 'const' if possible.
59887         Use more-portable code to detect integer overflow.
59888         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
59889         Don't use ctime; it's not reliable if the year has >4 digits.
59890
59891         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
59892         This is for compatibility with BSD.
59893
59894         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
59895         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
59896         From coreutils' system.h.
59897
59898         * lib/userspec.c: Don't include "posixver.h".
59899         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
59900         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
59901         compatible extension.  Simplify code by removing a boolean int
59902         that was always nonzero if a string was nonnull.
59903
59904 2004-03-30  Jim Meyering  <jim@meyering.net>
59905
59906         Merge from coreutils.
59907
59908         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
59909         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
59910         on some systems one must include <grp.h> before it.
59911         Reported by Christian Krackowizer.
59912
59913 2004-03-30  Jim Meyering  <jim@meyering.net>
59914
59915         Merge from coreutils.
59916
59917         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
59918
59919         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
59920         an empty input stream.
59921
59922         * lib/readtokens.c: Include <stdbool.h>.
59923         (readtoken): Use `size_t' rather than int/long.
59924         All callers adjusted.
59925         Use `bool' rather than `int' where appropriate.
59926         Use memset rather than an explicit loop.
59927         Use x2nrealloc rather than xrealloc.
59928         Allow the use of `\0' as a delimiter.
59929         (readtokens): Likewise.
59930         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
59931
59932 2004-03-30  Jim Meyering  <jim@meyering.net>
59933
59934         * m4/realloc.m4: Remove file, since now it does no more than
59935         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
59936         the `configure.ac' section of module/realloc.
59937         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
59938
59939 2004-03-30  Bruno Haible  <bruno@clisp.org>
59940
59941         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
59942         nonnull.
59943
59944 2004-03-29  Paul Eggert  <eggert@twinsun.com>
59945
59946         Merge changes to getloadavg.c from coreutils and Emacs.
59947
59948         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
59949         Define to an expression, not to the empty string.
59950         Include cloexec.h and xalloc.h.
59951         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
59952         Use set_cloexec_flag rather than rolling our own.
59953         * lib/cloexec.c, lib/cloexec.h: New files.
59954
59955 2004-03-29  Paul Eggert  <eggert@twinsun.com>
59956
59957         * m4/cloexec.m4: New file.
59958
59959 2004-03-18  Paul Eggert  <eggert@twinsun.com>
59960
59961         * lib/getopt.h: Sync with libc CVS.
59962
59963 2004-03-18  Paul Eggert  <eggert@twinsun.com>
59964             Bruno Haible  <bruno@clisp.org>
59965
59966         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
59967         mbswidth.
59968
59969 2004-03-18  Paul Eggert  <eggert@twinsun.com>
59970             Bruno Haible  <bruno@clisp.org>
59971
59972         * lib/mbswidth.h: Include <wchar.h> only if
59973         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
59974         <wchar.h>.
59975         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
59976
59977 2004-03-09  Paul Eggert  <eggert@twinsun.com>
59978
59979         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
59980         Sync with libc CVS.
59981         * lib/getopt_int.h: New file, also synced from libc.
59982
59983 2004-03-09  Paul Eggert  <eggert@twinsun.com>
59984
59985         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
59986         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
59987         Bring back getopt.c, getopt.h, getopt1.c.
59988
59989 2004-03-07  Paul Eggert  <eggert@twinsun.com>
59990
59991         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
59992         All uses changed.  Check for sa_sigaction member; this fixes
59993         a bug first reported by Jason Andrade in
59994         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
59995
59996 2004-03-07  Paul Eggert  <eggert@twinsun.com>
59997
59998         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
59999         '#if' expressions.  Unlike the code it replaces, it does not
60000         depend on (defined _SC_PAGESIZE).  However, it does depend on
60001         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
60002         first reported by Jason Andrade in
60003         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
60004
60005 2004-02-25  Simon Josefsson  <jas@extundo.com>
60006
60007         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
60008
60009 2004-02-25  Simon Josefsson  <jas@extundo.com>
60010
60011         * lib/strdup.h: New file.
60012         * lib/strdup.c: Include it.
60013         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
60014         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
60015
60016 2004-02-23  Karl Berry  <karl@gnu.org>
60017
60018         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
60019         (from fencepost.gnu.org:/gd/gnuorg).
60020
60021 2004-02-23  Karl Berry  <karl@gnu.org>
60022
60023         * config/srclistvars.sh (GNUORG) [karl]: redefine.
60024         * config/srclist.txt: add maintain/standards documents.
60025
60026 2004-02-18  Bruno Haible  <bruno@clisp.org>
60027
60028         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
60029         Reported by Derek Robert Price <derek@ximbiot.com>.
60030
60031 2004-02-16  Karl Berry  <karl@gnu.org>
60032
60033         * config/mkinstalldirs, install-sh: update from automake.
60034
60035 2004-02-06  Karl Berry  <karl@gnu.org>
60036
60037         * m4/po.m4: update from gettext 0.14.1.
60038
60039 2004-02-06  Karl Berry  <karl@gnu.org>
60040
60041         * lib/config.charset: update from gettext 0.14.1.
60042
60043 2004-02-05  Paul Eggert  <eggert@twinsun.com>
60044
60045         Add comments and code, prompted by suggestions from Bruno Haible
60046         for sh-quote.
60047         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
60048         describing the enum quoting_style values.
60049         * lib/quotearg.c (quotearg_alloc): New function.
60050         (quotearg_buffer_restyled): Treat lone { and } as special.
60051         Treat = as special.  Work around bug with older shells
60052         that "see" a '\' that is really the 2nd byte of a multibyte char.
60053         Quote empty string with shell_quoting_style.
60054
60055 2004-02-03  Bruno Haible  <bruno@clisp.org>
60056
60057         * m4/pipe.m4: New file, from GNU gettext.
60058
60059 2004-02-03  Bruno Haible  <bruno@clisp.org>
60060
60061         * lib/pipe.h: New file, from GNU gettext.
60062         * lib/pipe.c: New file, from GNU gettext.
60063
60064 2004-01-27  Bruno Haible  <bruno@clisp.org>
60065
60066         * m4/execute.m4: New file, from GNU gettext.
60067
60068 2004-01-27  Bruno Haible  <bruno@clisp.org>
60069
60070         * lib/execute.h: New file, from GNU gettext.
60071         * lib/execute.c: New file, from GNU gettext.
60072         * lib/w32spawn.h: New file, from GNU gettext.
60073
60074 2004-01-24  Paul Eggert  <eggert@twinsun.com>
60075
60076         Merge from diffutils.
60077
60078         * lib/file-type.c (file_type): Add typed memory objects.
60079         * lib/file-type.h (S_TYPEISTMO): New macro.
60080
60081         * lib/c-stack.h (c_stack_action): Remove argv argument.
60082         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
60083         (die): Don't calculate message unless segv_action returns.
60084         (get_stack_location, min_address_from_argv, max_address_from_argv,
60085         volatile stack_base, volatile_stack_size): Remove.
60086         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
60087         that every segmentation violation is a stack overflow.  (Ouch!)
60088         See Debian bug 136249 (still outstanding) for more info about why
60089         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
60090
60091 2004-01-24  Paul Eggert  <eggert@twinsun.com>
60092
60093         Exit-status fix from coreutils.
60094
60095         Use exit_failure consistently in place of EXIT_FAILURE,
60096         so that program exit statuses are consistent on failure.
60097
60098         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
60099         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
60100         * lib/argmatch.h: Comment fix to match the above.
60101         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
60102         Now a macro referring to exit_failure, instead of a separate
60103         variable.  Include "exitfail.h" to get it.
60104         * lib/xstrtol.h: Include "exitfail.h".
60105         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
60106
60107         * lib/long-options.c (parse_long_options): Use prototype
60108         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
60109         for clarity.
60110
60111 2004-01-21  Jim Meyering  <jim@meyering.net>
60112
60113         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
60114         so as not to conflict with a different-sized __mktime_internal
60115         function in GNU libc.
60116         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
60117         Problem building statically-linked `ls' reported by Michael Brunnbauer.
60118
60119 2004-01-20  Karl Berry  <karl@gnu.org>
60120
60121         * config/config.guess: update from config.
60122
60123         * config/srclistvars.sh: GNUWWWLICENSES for karl.
60124
60125 2004-01-20  Bruno Haible  <bruno@clisp.org>
60126
60127         Safer stack allocation.
60128         * lib/setenv.c: Include allocsa.h.
60129         (alloca): Remove fallback definition.
60130         (freea): Remove macro.
60131         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
60132         instead of freea.
60133
60134 2004-01-20  Bruno Haible  <bruno@clisp.org>
60135
60136         * m4/eealloc.m4: New file, from GNU gettext.
60137
60138 2004-01-20  Bruno Haible  <bruno@clisp.org>
60139
60140         * m4/allocsa.m4: New file, from GNU gettext.
60141
60142 2004-01-20  Bruno Haible  <bruno@clisp.org>
60143
60144         * lib/xallocsa.h: New file, from GNU gettext.
60145         * lib/xallocsa.c: New file, from GNU gettext.
60146
60147 2004-01-20  Bruno Haible  <bruno@clisp.org>
60148
60149         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
60150
60151 2004-01-20  Bruno Haible  <bruno@clisp.org>
60152
60153         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
60154         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
60155         specially.
60156
60157 2004-01-20  Bruno Haible  <bruno@clisp.org>
60158
60159         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
60160         patch.
60161
60162 2004-01-20  Bruno Haible  <bruno@clisp.org>
60163
60164         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
60165
60166 2004-01-20  Bruno Haible  <bruno@clisp.org>
60167
60168         * lib/eealloc.h: New file.
60169
60170 2004-01-20  Bruno Haible  <bruno@clisp.org>
60171
60172         * lib/binary-io.h: Avoid warnings on Cygwin.
60173
60174 2004-01-20  Bruno Haible  <bruno@clisp.org>
60175
60176         * lib/allocsa.h: New file, from GNU gettext.
60177         * lib/allocsa.c: New file, from GNU gettext.
60178
60179 2004-01-18  Karl Berry  <karl@gnu.org>
60180
60181         * doc/gpl.texi, doc/lgpl.texi: new files.
60182
60183 2004-01-18  Karl Berry  <karl@gnu.org>
60184
60185         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
60186         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
60187
60188 2004-01-15  Paul Eggert  <eggert@twinsun.com>
60189
60190         Merge from coreutils.
60191
60192         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
60193         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
60194         (gl_DEFAULT_POSIX2_VERSION): Move
60195         the documentation from 'configure' into 'config.hin',
60196         so that 'configure --help' isn't burdened by it and
60197         we don't have to worry about its formatting there.
60198         Reword the documentation so that it's more succinct
60199         and can be run together into a single paragraph.
60200         * m4/same.m4 (gl_SAME): Check for pathconf.
60201
60202 2004-01-15  Paul Eggert  <eggert@twinsun.com>
60203
60204         Merge from coreutils.
60205
60206         * lib/posixver.c: Include posixver.h.
60207
60208         * lib/same.c: Include <stdbool.h>, <limits.h>.
60209         (_POSIX_NAME_MAX): Define if not defined.
60210         (MIN): New macro.
60211         (same_name): If file names are silently truncated, report
60212         that the file names are the same if they are the same after
60213         the silent truncation.
60214
60215         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
60216         conversion function.
60217         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
60218         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
60219         longer needed.
60220
60221 2004-01-15  Jim Meyering  <jim@meyering.net>
60222
60223         Merge from coreutils.
60224
60225         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
60226         if no library is required.
60227         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
60228         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
60229         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
60230         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
60231         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
60232         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
60233         value, $ac_cv_search_crypt, if it's "none required".
60234         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
60235         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
60236         not gl_FUNC_GETLOADAVG.
60237         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
60238         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
60239
60240 2004-01-15  Jim Meyering  <jim@meyering.net>
60241
60242         Merge from coreutils.
60243
60244         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
60245         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
60246         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
60247
60248         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
60249         optional configure-time default.
60250
60251         * lib/version-etc.c (version_etc_copyright): Update copyright date.
60252
60253         * lib/xreadlink.c (xreadlink): Correct outdated comment.
60254
60255 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
60256
60257         Merge from coreutils.
60258
60259         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
60260         value, $ac_cv_search_nanosleep, if it's "none required".
60261
60262 2004-01-14  Paul Eggert  <eggert@twinsun.com>
60263
60264         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
60265         with like-named macro in fnmatch.c.
60266         (EXT): Use an internal constant instead.
60267
60268         Merge fnmatch patches from glibc.
60269         * lib/fnmatch.c (mbsinit): Remove define.
60270         Add libc_hidden_ver (__fnmatch, fnmatch).
60271         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
60272         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
60273
60274 2004-01-14  Karl Berry  <karl@gnu.org>
60275
60276         * config/install-sh: update from automake.
60277
60278 2004-01-13  Karl Berry  <karl@gnu.org>
60279
60280         * config/install-sh: update from automake.
60281
60282 2004-01-09  Karl Berry  <karl@gnu.org>
60283
60284         * config/install-sh: update from automake.
60285
60286 2004-01-05  Karl Berry  <karl@gnu.org>
60287
60288         * config/config.{sub,guess}: update from config.
60289
60290 2003-12-31  Karl Berry  <karl@gnu.org>
60291
60292         * config/depcomp: update from automake.
60293
60294 2003-12-14  Karl Berry  <karl@gnu.org>
60295
60296         * lib/config.charset: update from gettext-runtime.
60297
60298 2003-12-03  Paul Eggert  <eggert@twinsun.com>
60299
60300         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
60301         Bug reported by Alfred M. Szmidt.
60302
60303 2003-12-03  Bruno Haible  <bruno@clisp.org>
60304
60305         * m4/gettext.m4: Upgrade from gettext-0.13.
60306         * m4/po.m4: Upgrade from gettext-0.13.
60307         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
60308         * m4/intmax.m4: New file, from gettext-0.13.
60309         * m4/printf-posix.m4: New file, from gettext-0.13.
60310
60311 2003-11-29  Karl Berry  <karl@gnu.org>
60312
60313         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
60314
60315 2003-11-25  Paul Eggert  <eggert@twinsun.com>
60316             Bruno Haible  <bruno@clisp.org>
60317
60318         * lib/printf-parse.h: Don't include sys/types.h.
60319         (ARG_NONE): New macro.
60320         (char_directive): Change type of *arg_index fields to size_t.
60321         * lib/printf-parse.c: Don't include sys/types.h.
60322         (SSIZE_MAX): Remove macro.
60323         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
60324         Remove unnecessary overflow check.
60325         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
60326         fields.
60327
60328 2003-11-25  Bruno Haible  <bruno@clisp.org>
60329
60330         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
60331
60332 2003-11-25  Bruno Haible  <bruno@clisp.org>
60333
60334         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
60335         gt_TYPE_SSIZE_T.
60336
60337 2003-11-24  Paul Eggert  <eggert@twinsun.com>
60338
60339         * modules/alloca: Remove dependency on xalloc.
60340
60341 2003-11-24  Paul Eggert  <eggert@twinsun.com>
60342
60343         * lib/alloca.c: Remove dependency on xalloc module.
60344         (xalloc_die): Remove.
60345         (memory_full) [!defined emacs]: New macro.
60346         [!defined emacs]: Don't include xalloc.h.
60347         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
60348         address arithmetic overflows.  Change datatypes a bit to avoid
60349         unnecessary casts.
60350
60351 2003-11-22  Jim Meyering  <jim@meyering.net>
60352
60353         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
60354         s/size/size_t/.
60355
60356 2003-11-21  Karl Berry  <karl@gnu.org>
60357
60358         * config/config.{sub,guess}: update from config.
60359
60360 2003-11-18  Karl Berry  <karl@gnu.org>
60361
60362         * config/config.{sub,guess}: update from config.
60363
60364         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
60365
60366 2003-11-17  Paul Eggert  <eggert@twinsun.com>
60367
60368         * README: Mention that S+T cannot overflow if S is the size of
60369         an existing object and T is sufficiently small.
60370
60371 2003-11-17  Jim Meyering  <jim@meyering.net>
60372
60373         On systems without utime and without a utimes function capable of
60374         dealing with a NULL struct utimbuf* argument, this utime replacement
60375         could -- in unusual circumstances -- leak a file descriptor.
60376         * lib/utime.c: Include <unistd.h> and <errno.h>.
60377         (utime_null): Be sure to close `fd' and to preserve errno.
60378         Reported by Geoff Collyer via Arnold Robbins.
60379
60380 2003-11-17  Bruno Haible  <bruno@clisp.org>
60381
60382         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
60383         (Depends-on): Add xsize.
60384
60385 2003-11-17  Bruno Haible  <bruno@clisp.org>
60386
60387         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
60388
60389 2003-11-17  Bruno Haible  <bruno@clisp.org>
60390
60391         * lib/vasnprintf.c (alloca): Remove fallback definition.
60392         (freea): Remove definition.
60393         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
60394         Reported by Paul Eggert.
60395
60396 2003-11-16  Paul Eggert  <eggert@twinsun.com>
60397             Bruno Haible  <bruno@clisp.org>
60398
60399         Protect against address arithmetic overflow.
60400         * lib/printf-args.h: Include stddef.h.
60401         (arguments): Change type of field 'count' to size_t.
60402         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
60403         'unsigned int' where appropriate.
60404         * lib/printf-parse.h: Include sys/types.h.
60405         (char_directive): Change type of *arg_index fields to ssize_t.
60406         (char_directives): Change type of fields 'count', max_*_length to
60407         size_t.
60408         * lib/printf-parse.c: Include sys/types.h and xsize.h.
60409         (SSIZE_MAX): Define fallback value.
60410         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
60411         instead of 'int' where appropriate. Check a_allocated, d_allocated
60412         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
60413         * lib/vasnprintf.c: Include xsize.h.
60414         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
60415         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
60416         overflow. Avoid wraparound when converting a width or precision from
60417         decimal to binary.
60418
60419 2003-11-16  Bruno Haible  <bruno@clisp.org>
60420
60421         Update from GNU gettext.
60422         * lib/printf-parse.c: Generalize to it can be compiled for wide
60423         strings.
60424         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
60425         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
60426         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
60427         SNPRINTF): New macros.
60428         Don't include <alloca.h> if the file is used inside libintl.
60429         (local_wcslen): New function, for Solaris 2.5.1.
60430         (VASNPRINTF): Use it instead of wcslen.
60431
60432 2003-11-16  Bruno Haible  <bruno@clisp.org>
60433
60434         * lib/xsize.h (xmax): New function.
60435         (xsum, xsum3, xsum4): Declare as "pure" functions.
60436
60437 2003-11-12  Paul Eggert  <eggert@twinsun.com>
60438
60439         * modules/xalloc (Files): Undo latest change, since xalloc.h
60440         no longer needs SIZE_MAX or PTRDIFF_MAX.
60441
60442 2003-11-12  Paul Eggert  <eggert@twinsun.com>
60443
60444         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
60445         gl_PTRDIFF_MAX.
60446
60447 2003-11-12  Paul Eggert  <eggert@twinsun.com>
60448
60449         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
60450         "return", to pacify some unknown compiler.  Problem reported
60451         by Joerg Schilling.
60452
60453 2003-11-12  Paul Eggert  <eggert@twinsun.com>
60454
60455         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
60456         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
60457         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
60458         heuristic is just as accurate as far as we know, and it removes a
60459         dependency on size_max.m4 and ptrdiff_max.m4.
60460
60461 2003-11-11  Bruno Haible  <bruno@clisp.org>
60462
60463         * modules/xsize (Files): Add m4/size_max.m4.
60464         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
60465
60466 2003-11-11  Bruno Haible  <bruno@clisp.org>
60467
60468         * m4/size_max.m4: New file.
60469         * m4/ptrdiff_max.m4: New file.
60470         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
60471         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
60472         (gl_XALLOC): Invoke it.
60473
60474 2003-11-11  Bruno Haible  <bruno@clisp.org>
60475
60476         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
60477         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
60478         defined.
60479
60480 2003-11-10  Paul Eggert  <eggert@twinsun.com>
60481
60482         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
60483         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
60484         rejected some allocations of exactly SIZE_MAX - 2 bytes.
60485         From Bruno Haible.
60486         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
60487         not (size_t) -1, since it's defined here.
60488
60489 2003-11-09  Karl Berry  <karl@gnu.org>
60490
60491         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
60492
60493 2003-11-06  Paul Eggert  <eggert@twinsun.com>
60494
60495         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
60496         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
60497         Reject sizes of exactly SIZE_MAX bytes.
60498         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
60499         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
60500
60501 2003-11-05  Bruno Haible  <bruno@clisp.org>
60502
60503         * lib/xsize.h: Include limits.h, to avoid a possible collision with
60504         SIZE_MAX defined in <limits.h> on Solaris.
60505
60506 2003-11-04  Jim Meyering  <jim@meyering.net>
60507
60508         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
60509         variable names, rather than @VAR@.
60510         * modules/poll: Likewise.
60511
60512 2003-11-04  Bruno Haible  <bruno@clisp.org>
60513
60514         * modules/xsize: New file.
60515         * modules/linebreak: Depend on xsize.
60516         * MODULES.html.sh (func_all_modules): Add xsize.
60517
60518 2003-11-04  Bruno Haible  <bruno@clisp.org>
60519
60520         * m4/xsize.m4: New file.
60521
60522 2003-11-04  Bruno Haible  <bruno@clisp.org>
60523
60524         * lib/xsize.h: New file.
60525         * lib/linebreak.c: Include xsize.h.
60526         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
60527         argument for overflow.
60528         Suggested by Paul Eggert.
60529
60530 2003-11-03  Karl Berry  <karl@gnu.org>
60531
60532         * config/config.{guess,sub}: update from config.
60533
60534 2003-11-03  Jim Meyering  <jim@meyering.net>
60535
60536         * modules/userspec (lib_SOURCES): Add userspec.h.
60537         (Include): Add "userspec.h".
60538         Improve description.
60539
60540 2003-11-03  Jim Meyering  <jim@meyering.net>
60541
60542         * lib/userspec.c: Include "userspec.h".
60543         * lib/userspec.h: New file.
60544
60545 2003-11-03  Bruno Haible  <bruno@clisp.org>
60546
60547         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
60548
60549 2003-11-03  Bruno Haible  <bruno@clisp.org>
60550
60551         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
60552         available, to avoid (extremely rare) race condition.
60553         Suggested by Paul Eggert.
60554
60555 2003-11-02  Karl Berry  <karl@gnu.org>
60556
60557         * config/srclist.txt (vasprintf.c): sync broken, sigh.
60558
60559 2003-10-31  Paul Eggert  <eggert@twinsun.com>
60560
60561         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
60562         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
60563         (read_filesystem_list): Set and use me_type_malloced.
60564         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
60565         whatever the type happens to be), for brevity and consistency.
60566         Check for size calculation overflow on Alphas running OSF/1.
60567
60568 2003-10-31  Jim Meyering  <jim@meyering.net>
60569
60570         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
60571
60572         * lib/linebuffer.c: Include <string.h> for declaration of memset.
60573
60574 2003-10-30  Paul Eggert  <eggert@twinsun.com>
60575             Bruno Haible  <bruno@clisp.org>
60576
60577         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
60578         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
60579
60580 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
60581
60582         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
60583         netbsd*-gnu*.  Suggested by Robert Millan.
60584
60585 2003-10-29  Paul Eggert  <eggert@twinsun.com>
60586
60587         * modules/group-member: Depend on stdbool.
60588
60589 2003-10-29  Paul Eggert  <eggert@twinsun.com>
60590
60591         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
60592
60593 2003-10-29  Paul Eggert  <eggert@twinsun.com>
60594
60595         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
60596         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
60597         after the 'gnu' in these cases.  This fixes some bugs in the
60598         previous change, and is based on suggestions by Robert Millan.
60599
60600 2003-10-29  Paul Eggert  <eggert@twinsun.com>
60601
60602         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
60603         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
60604         no longer needed.
60605         * lib/quotearg.c (quotearg_n_options): Use it.
60606         * lib/group-member.c: Include <stdbool.h>.
60607         (free_group_info): Arg is now const *; don't free arg.
60608         (get_group_info): Now returns bool and accepts struct group_info *,
60609         rather than returning a malloc'ed struct group_info *.
60610         All uses changed.  Check for overflow in internal size calculation.
60611
60612         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
60613         rather than xmalloc/xrealloc.
60614         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
60615         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
60616         conformance bug: the old code used a pointer after freeing the
60617         storage that it addressed.
60618         * lib/hash.c (hash_initialize): Simplify the code by using
60619         xalloc_oversized rather than doing it by hand.
60620         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
60621         the buffer preserved.  Use free and xmalloc instead.
60622         * lib/quotearg.c (quotearg_n_options): Likewise.
60623         Use a simpler test for size overflow.  Don't use xalloc_oversized
60624         because unsigned int might be wider than size_t (!); this suggests
60625         that we should switch from unsigned int to size_t for slot numbers.
60626
60627 2003-10-28  Paul Eggert  <eggert@twinsun.com>
60628
60629         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
60630         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
60631         NetBSD kernels.  Requested by Richard Stallman.
60632
60633 2003-10-27  Paul Eggert  <eggert@twinsun.com>
60634
60635         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
60636         to allocate the returned structure.  Do not allocate a subarray,
60637         as x2nrealloc will do that.
60638         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
60639         instead of xnrealloc.
60640         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
60641
60642 2003-10-27  Bruno Haible  <bruno@clisp.org>
60643
60644         * lib/stdbool_.h: Better support for BeOS.
60645
60646 2003-10-26  Paul Eggert  <eggert@twinsun.com>
60647
60648         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
60649         now uses inline.
60650
60651 2003-10-26  Paul Eggert  <eggert@twinsun.com>
60652
60653         * lib/xalloc.h (xalloc_oversized): New static inline function, for
60654         callers that want to do their own size-overflow checking.  Include
60655         <stdbool.h>, since xalloc_oversized returns bool.
60656         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
60657         to use xalloc_oversized.
60658
60659         Add two functions x2realloc, x2nrealloc, for programs that grow
60660         arrays dynamically by doubling their sizes.
60661         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
60662         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
60663         New functions.
60664
60665         Port to C99 semantics for 'inline' of external functions.
60666         Bug reported by Bruno Haible.
60667         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
60668         with the old contents of xnmalloc.
60669         (xnmalloc, xmalloc): Use it.
60670         (xnrealloc_inline): New static inline function,
60671         with the old contents of xnrealloc.
60672         (xnrealloc, xrealloc): Use it.
60673
60674         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
60675         that.
60676
60677 2003-10-26  Karl Berry  <karl@gnu.org>
60678
60679         * config/srclist.txt (COPYING.DOC): no longer available from
60680         /gd/gnuorg; don't know where the ultimate source is.
60681
60682 2003-10-25  Paul Eggert  <eggert@twinsun.com>
60683
60684         Fix several address-calculation bugs in the hash modules,
60685         plus some minor code cleanup.
60686
60687         * lib/hash.h: Include <stdbool.h>, for bool.
60688         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
60689         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
60690         hash_get_n_entries, hash_get_max_bucket_length,
60691         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
60692         hash_rehash): Use size_t rather than unsigned.
60693         * lib/hash.c (struct hash_table, hash_get_n_buckets,
60694         hash_get_n_buckets_used, hash_get_n_entries,
60695         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
60696         hash_get_entries, hash_do_for_each, hash_string, is_prime,
60697         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
60698         Likewise.
60699         (SIZE_MAX): Define if not defined.
60700         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
60701         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
60702         hash_print):
60703         Use const * when possible.
60704         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
60705         (check_tuning): Fix bug: if tuning parameters were very close to
60706         0 or 1, rounding errors could have caused subscript violations.
60707         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
60708         (hash_initialize): Add 'fail:' label
60709         to free table and return NULL, and use it to simplify code.
60710         Use calloc rather than clearing the storage ourself.
60711         (hash_initialize, hash_rehash): Check for arithmetic overflow in
60712         buffer size calculations.
60713         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
60714         Include <stddef.h>, for size_t.
60715         * lib/hash-pjw.c (hash_pjw): Likewise.
60716         Switch to method described by Bruno Haible.
60717         Include <limits.h>, for CHAR_BIT.
60718         (SIZE_BITS): New macro.
60719
60720 2003-10-23  Paul Eggert  <eggert@twinsun.com>
60721
60722         * m4/getline.m4 (AM_FUNC_GETLINE):
60723         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
60724         hosts.  Problem reported by Derek Robert Price in
60725         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
60726         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
60727         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
60728
60729 2003-10-21  Paul Eggert  <eggert@twinsun.com>
60730
60731         * lib/getndelim2.c (getndelim2): When size calculation overflows,
60732         ceiling the allocation at NMAX bytes rather than silently
60733         discarding input bytes before NMAX is reached.  This makes
60734         a difference only if NMAX exceeds SIZE_MAX / 2.
60735
60736         * lib/obstack.c: Merge from glibc.
60737         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
60738         Add libc_hidden_def (_obstack_newchunk).
60739         (_obstack_free) [! defined _LIBC]: Remove.
60740         [defined _LIBC]: Make a strong alias from obstack_free, rather than
60741         a clone of the function body.
60742         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
60743         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
60744
60745         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
60746         glibc.
60747         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
60748         arg to memcpy.
60749
60750         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
60751         (obstack_ptr_grow_fast, obstack_int_grow_fast):
60752         Don't use lvalue casts, as GCC plans to remove support for them
60753         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
60754         was also present in the non-GCC version, indicating that this
60755         code had always been buggy and had never been widely used.
60756         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
60757         Use the fast variant of each macro, rather than copying the
60758         definiens of the fast variant; that way, we'll be more likely to
60759         catch future bugs in the fast variants.
60760
60761 2003-10-20  Bruno Haible  <bruno@clisp.org>
60762
60763         * modules/wait-process: New file.
60764         * MODULES.html.sh (func_all_modules): Add wait-process.
60765
60766 2003-10-20  Bruno Haible  <bruno@clisp.org>
60767
60768         * m4/wait-process.m4: New file.
60769
60770 2003-10-20  Bruno Haible  <bruno@clisp.org>
60771
60772         * lib/wait-process.h: New file, from GNU gettext.
60773         * lib/wait-process.c: New file, from GNU gettext.
60774
60775 2003-10-19  Jim Meyering  <jim@meyering.net>
60776
60777         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
60778         HPUX 10.20.
60779
60780 2003-10-18  Karl Berry  <karl@gnu.org>
60781
60782         * config/config.guess: update from config.
60783
60784 2003-10-16  Paul Eggert  <eggert@twinsun.com>
60785
60786         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
60787         (getgroups): First arg is int, not size_t.
60788         Don't let 'free' mangle errno.
60789
60790 2003-10-16  Paul Eggert  <eggert@twinsun.com>
60791
60792         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
60793
60794 2003-10-16  Karl Berry  <karl@gnu.org>
60795
60796         * config/config.{guess,sub}: update from config.
60797
60798 2003-10-16  Jim Meyering  <jim@meyering.net>
60799
60800         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
60801         memcpy.
60802
60803 2003-10-15  Paul Eggert  <eggert@twinsun.com>
60804
60805         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
60806         (SIZE_MAX): Remove.
60807         (new_exclude, add_exclude_file): Initial size no longer needs to
60808         be a power of 2.
60809         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
60810         our own address arithmetic overflow checking.
60811
60812         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
60813         (fnmatch): Do not alloca more than 2000 wide characters;
60814         instead, use malloc for large buffers.
60815         Check for address arithmetic overflow, and return -1
60816         with errno set to ENOMEM in that case.
60817         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
60818         (NEW_PATTERN): Do not alloca more than 8000 bytes;
60819         instead, return -1.  Check for address arithmetic overflow.
60820
60821 2003-10-14  Paul Eggert  <eggert@twinsun.com>
60822
60823         Handle invalid suffixes and overflow independently, so that
60824         callers can treat them independently as needed.  Fix some bugs in
60825         suffix handling, e.g., "100k@" was not diagnosed as an invalid
60826         suffix for a human-readable blocksize.  The major caller-visible
60827         change is the addition of a new
60828         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
60829         that both overflow and suffix chars were found.
60830
60831         * lib/human.c (humblock): Don't check separately for invalid suffix
60832         char; that is xstrtoumax's job (now that its bug is fixed).
60833         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
60834         INTMAX_MAX]: New macros.
60835         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
60836         TYPE_MAXIMUM): New macros.
60837         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
60838         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
60839         if overflow occurs, as it's what __strtol does and it's more useful
60840         in practice.
60841         (__xstrtol): If __strtol reports some error other than ERANGE,
60842         reflect it to the caller as LONGINT_INVALID.  If it reports
60843         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
60844         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
60845         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
60846         value.
60847         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
60848         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
60849         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
60850         [defined UINTMAX_MAX]: New macros.
60851
60852 2003-10-14  Bruno Haible  <bruno@clisp.org>
60853
60854         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
60855
60856 2003-10-14  Bruno Haible  <bruno@clisp.org>
60857
60858         * m4/sig_atomic_t: New file, from GNU gettext.
60859         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
60860
60861 2003-10-14  Bruno Haible  <bruno@clisp.org>
60862
60863         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
60864         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
60865         Also use volatile where needed.
60866
60867 2003-10-12  Paul Eggert  <eggert@twinsun.com>
60868
60869         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
60870         Change maintainer from Bruno Haible to 'all'.
60871
60872 2003-10-12  Paul Eggert  <eggert@twinsun.com>
60873
60874         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
60875
60876 2003-10-12  Paul Eggert  <eggert@twinsun.com>
60877
60878         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
60879         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
60880         and define in terms of the other primitives.
60881         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
60882         (SIZE_MAX): Define if not already defined.
60883         (array_size_overflow): New function.
60884         (xalloc_die): Abort instead of exiting if 'error' returns.
60885         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
60886         (xmalloc, xrealloc): Use them.
60887         (xcalloc): Check for address arithmetic overflow.
60888         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
60889         a bit faster than strcpy.
60890
60891 2003-10-10  Simon Josefsson  <jas@extundo.com>
60892
60893         * modules/argp (Depends-on): Add restrict and strcase.
60894
60895 2003-10-10  Simon Josefsson  <jas@extundo.com>
60896
60897         * m4/argp.m4: Add AC_C_INLINE.
60898
60899 2003-10-08  Paul Eggert  <eggert@twinsun.com>
60900
60901         Merge getpass from libc, plus a few fixes.
60902
60903         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
60904         Include <stdbool.h>.
60905         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
60906         __fsetlocking to empty.
60907         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
60908         do include <bits/libc-lock.h>.
60909         Do not include <fcntl.h>; not needed.
60910         [_LIBC]: Include <wchar.h>.
60911         (NOTCANCEL_MODE): New macro.
60912         (flockfile, funlockfile) [_LIBC]: New macros.
60913         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
60914         [!_LIBC]: New macros.
60915         (call_fclose): New function.
60916         (getpass): Use it.  Save tty stream separately; this simplifies the
60917         code and makes it more reliable if stdin happens to equal stdout.
60918         Invoke __fsetlocking on tty.
60919         Handle thread cancellation if needed.
60920         Namespace cleanup (use __tcgetattr, __getline).
60921         Use bool for Booleans.
60922         [USE_IN_LIBIO]: Handle wide streams.
60923         [!_LIBC]: Unconditionally do the fseek, since we don't know what
60924         stream might go where.
60925
60926         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
60927         doesn't have to include <stdio.h> before us.
60928         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
60929         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
60930         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
60931         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
60932         if not declared, so that we can use getpass.c code from libc without
60933         rewriting it.
60934         (flockfile, ftrylockfile, funlockfile): New macros.
60935
60936 2003-10-08  Paul Eggert  <eggert@twinsun.com>
60937
60938         * modules/getpass: Depend on stdbool.
60939
60940 2003-10-08  Paul Eggert  <eggert@twinsun.com>
60941
60942         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
60943
60944 2003-10-07  Karl Berry  <karl@gnu.org>
60945
60946         * config/config.{guess,sub}: update from config.
60947
60948 2003-10-06  Jim Meyering  <jim@meyering.net>
60949             Bruno Haible  <bruno@clisp.org>
60950
60951         This lets translators provide better translations for the
60952         "Written by ..." part of --version output.
60953         * lib/version-etc.h: Include stdarg.h.
60954         (version_etc_copyright): Declare as readonly.
60955         (version_etc): Make this function variadic with a NULL-terminated list
60956         of author name strings.
60957         (version_etc_va): New declaration.
60958         * lib/version-etc.c: Include stdarg.h, stdlib.h.
60959         (version_etc_copyright): Declare as readonly.
60960         (version_etc_va): New function. Provide a different translatable string
60961         for each possible number of authors < 10. Abbreviate when there are 10
60962         authors or more.
60963         (version_etc): Make this function variadic. Call version_etc_va.
60964         Suggestion from Gary V. Vaughan.
60965
60966         * lib/long-options.h (parse_long_options): Change prototype: the
60967         authors string is moved to the end and becomes variadic.
60968         * lib/long-options.c: Include stdarg.h.
60969         (parse_long_options): Make this function variadic, too.
60970         Call version_etc_va, not version_etc.
60971
60972 2003-10-06  Bruno Haible  <bruno@clisp.org>
60973
60974         * modules/version-etc-2: Remove file.
60975         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
60976
60977 2003-10-06  Bruno Haible  <bruno@clisp.org>
60978
60979         * modules/fatal-signal: New file.
60980         * MODULES.html.sh (func_all_modules): Add fatal-signal.
60981
60982 2003-10-06  Bruno Haible  <bruno@clisp.org>
60983
60984         * m4/fatal-signal.m4: New file.
60985         * m4/signalblocking.m4: New file, from GNU gettext.
60986
60987 2003-10-06  Bruno Haible  <bruno@clisp.org>
60988
60989         * lib/version-etc-2.h: Remove file.
60990         * lib/version-etc-2.c: Remove file.
60991
60992 2003-10-06  Bruno Haible  <bruno@clisp.org>
60993
60994         * lib/fatal-signal.h: New file, from GNU gettext.
60995         * lib/fatal-signal.c: New file, from GNU gettext.
60996
60997 2003-10-05  Paul Eggert  <eggert@twinsun.com>
60998
60999         * README: Rework advice for preventing empty .o files.
61000         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
61001         not <sys/types.h>.
61002
61003 2003-10-04  Karl Berry  <karl@gnu.org>
61004
61005         * lib/argp*: update from libc.
61006
61007 2003-10-04  Karl Berry  <karl@gnu.org>
61008
61009         * config/config.{guess,sub}: update from config.
61010
61011 2003-10-02  Bruno Haible  <bruno@clisp.org>
61012
61013         * modules/lchown (Include): Add lchown.h.
61014         * modules/time_r (Include): Use "..." syntax.
61015         * modules/xgetdomainname (Include): Add xgetdomainname.h.
61016
61017 2003-10-01  Simon Josefsson  <jas@extundo.com>
61018
61019         * MODULES.html.sh (func_all_modules): Move gethostname from section
61020         'based on' to section 'lacking' POSIX:2001.
61021
61022 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
61023
61024         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
61025         to output mode on the same stream.
61026
61027 2003-09-29  Paul Eggert  <eggert@twinsun.com>
61028
61029         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
61030         Fix arg typo in previous patch.
61031
61032 2003-09-28  Jim Meyering  <jim@meyering.net>
61033
61034         * lib/error.c: Correct cpp indentation.
61035
61036 2003-09-27  Paul Eggert  <eggert@twinsun.com>
61037
61038         * modules/free: New file.
61039
61040 2003-09-27  Paul Eggert  <eggert@twinsun.com>
61041
61042         * m4/free.m4: New file.
61043
61044 2003-09-27  Paul Eggert  <eggert@twinsun.com>
61045
61046         * lib/minmax.h (MIN, MAX)
61047         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
61048         Omit the special code that used __typeof__, since we worry that
61049         it could be more trouble than it's worth.  See:
61050         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
61051         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
61052
61053         * lib/free.c: New file.
61054
61055 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
61056
61057         Trivial fixes to Makefile.am parts of module listings.
61058         * modules/strstr: Append strstr.h to lib_SOURCES.
61059         * modules/strcase: Likewise, for strcase.h.
61060
61061 2003-09-27  Karl Berry  <karl@gnu.org>
61062
61063         * config/mkinstalldirs: update from automake.
61064
61065 2003-09-26  Paul Eggert  <eggert@twinsun.com>
61066
61067         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
61068         (error_tail): Do not loop, reallocating temporary buffer, since
61069         the output cannot contain more wide characters than the input
61070         contains bytes, the size must be big enough already.  This avoids
61071         one potential size overflow calculation.  Check for size overflow
61072         when calculating temporary buffer size.  Free temporary buffer
61073         when done, if it was allocated with malloc; this plugs a memory
61074         leak.  Remove casts from void * to pointers, that are no longer
61075         needed now that we're assuming C89 or better.
61076
61077         Merge error changes from glibc.
61078
61079         * lib/error.c, error.h: Update copyright notice header to match glibc.
61080         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
61081         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
61082         Disable cancellation while printing error.
61083         * lib/error.h: Prepend __ to parameter names.
61084
61085 2003-09-26  Jim Meyering  <jim@meyering.net>
61086
61087         * lib/error.c (error_tail): Move some declarations
61088         into inner scope where the local variables are used.
61089
61090 2003-09-26  Bruno Haible  <bruno@clisp.org>
61091
61092         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
61093         stpncpy().
61094         Don't define stpncpy through config.h; it's now done through stpncpy.h.
61095
61096 2003-09-26  Bruno Haible  <bruno@clisp.org>
61097
61098         * lib/stpncpy.h (gnu_stpncpy): New declaration.
61099         (stpncpy): Define as alias for gnu_stpncpy.
61100         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
61101
61102 2003-09-25  Simon Josefsson  <jas@extundo.com>
61103
61104         * lib/xgetdomainname.h: New file.
61105         * lib/xgetdomainname.c: New file.
61106
61107 2003-09-25  Simon Josefsson  <jas@extundo.com>
61108             Bruno Haible  <bruno@clisp.org>
61109
61110         * modules/getdomainname: New file.
61111         * modules/xgetdomainname: New file.
61112         * MODULES.html.sh (func_all_modules): Add getdomainname,
61113         xgetdomainname.
61114
61115 2003-09-25  Simon Josefsson  <jas@extundo.com>
61116             Bruno Haible  <bruno@clisp.org>
61117
61118         * m4/getdomainname.m4: New file.
61119
61120 2003-09-25  Simon Josefsson  <jas@extundo.com>
61121             Bruno Haible  <bruno@clisp.org>
61122
61123         * lib/getdomainname.h: New file.
61124         * lib/getdomainname.c: New file.
61125
61126 2003-09-25  Karl Berry  <karl@gnu.org>
61127
61128         * lib/argp-fmtstream.c, argp-help.c: update from libc.
61129
61130 2003-09-25  Karl Berry  <karl@gnu.org>
61131
61132         * config/install-sh: update from automake.
61133
61134 2003-09-25  Bruno Haible  <bruno@clisp.org>
61135
61136         * modules/version-etc-2: New file, from modules/version-etc with
61137         modifications.
61138         * MODULES.html.sh (func_all_modules): Add version-etc-2.
61139
61140 2003-09-25  Bruno Haible  <bruno@clisp.org>
61141
61142         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
61143         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
61144
61145 2003-09-24  Simon Josefsson  <jas@extundo.com>
61146
61147         * modules/xgethostname: Add xgethostname.h.
61148
61149 2003-09-24  Paul Eggert  <eggert@twinsun.com>
61150
61151         * lib/linebuffer.c (freebuffer): Don't free the argument, just
61152         the buffer associated with the argument.  Bug reported by
61153         Simon Josefsson.
61154
61155 2003-09-24  Paul Eggert  <eggert@twinsun.com>
61156
61157         * README: Document assumptions that 'int' is at least 32 bits
61158         wide, that integer arithmetic is 2's complement without overflow,
61159         that there are no holes in integer values, that adding sizes of
61160         two nonoverlapping objects can't overflow, and that all-bits-zero
61161         yields scalar zero.  Fix spelling and capitalization typos.
61162
61163 2003-09-19  Karl Berry  <karl@gnu.org>
61164
61165         * lib/argp.h: update from libc.
61166
61167 2003-09-17  Paul Eggert  <eggert@twinsun.com>
61168
61169         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
61170         to avoid spurious warnings like "AC_RUN_IFELSE was called before
61171         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
61172
61173 2003-09-17  Paul Eggert  <eggert@twinsun.com>
61174
61175         * gnulib-tool: Use "test -h", not "test -L", for portability
61176         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
61177         (tags_regexp): Remove, since \| doesn't conform to POSIX.
61178         (sed_extract_prog): Issue s commands one-by-one, rather than
61179         using \| in one s command.
61180
61181 2003-09-16  Paul Eggert  <eggert@twinsun.com>
61182
61183         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
61184         input error, instead of returning NULL the next time we are called
61185         (and therefore losing track of errno).
61186
61187 2003-09-16  Bruno Haible  <bruno@clisp.org>
61188
61189         * gnulib-tool (func_create_testdir): Warn about duplicated
61190         dependencies.
61191
61192 2003-09-15  Paul Eggert  <eggert@twinsun.com>
61193
61194         * modules/argmatch, modules/fatal, modules/obstack,
61195         modules/xalloc, modules/xgethostname: Sort dependencies by
61196         importance, not alphabetically.
61197
61198 2003-09-15  Paul Eggert  <eggert@twinsun.com>
61199
61200         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
61201         fails, so that the caller gets the proper errno.
61202
61203         * lib/readutmp.c (read_utmp): Likewise.
61204         Check for fstat error.  Close stream and free storage
61205         when failing.
61206
61207 2003-09-14  Karl Berry  <karl@gnu.org>
61208
61209         * config/srclist.txt (strdup.c): disable for c89 changes.
61210
61211 2003-09-14  Jim Meyering  <jim@meyering.net>
61212
61213         * lib/getloadavg.c: Correct cpp indentation.
61214         * lib/strdup.c: Likewise.
61215         * lib/vasnprintf.c: Likewise.
61216
61217 2003-09-14  Bruno Haible  <bruno@clisp.org>
61218
61219         * modules/fwriteerror: New file.
61220         * MODULES.html.sh (func_all_modules): Add fwriteerror.
61221
61222 2003-09-14  Bruno Haible  <bruno@clisp.org>
61223
61224         * lib/fwriteerror.h: New file.
61225         * lib/fwriteerror.c: New file.
61226
61227 2003-09-12  Paul Eggert  <eggert@twinsun.com>
61228
61229         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
61230         modules/xgethostname, modules/xalloc: Depend on exit.
61231
61232 2003-09-12  Paul Eggert  <eggert@twinsun.com>
61233
61234         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
61235
61236         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
61237         and AC_MINIX, too, so that their extensions are available.
61238
61239         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
61240         This macro has been superseded by gl_BACKUPFILE.
61241
61242         More patches to assume C89 or better.
61243
61244         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
61245
61246         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
61247         unconditionally.
61248         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
61249         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
61250         Include <string.h>, <stdlib.h> unconditionally.
61251         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
61252         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
61253         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
61254         headers or for string.h.
61255         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
61256         or strtoul.
61257
61258         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
61259         headers.
61260         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
61261         * m4/userspec.m4 (gl_USERSPEC): Likewise.
61262         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
61263         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
61264         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
61265         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
61266         memcpy, memset.
61267         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
61268         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
61269         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
61270         strtol.
61271         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
61272         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
61273         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
61274         strtoul.
61275
61276 2003-09-12  Paul Eggert  <eggert@twinsun.com>
61277
61278         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
61279         * lib/obstack.c [!defined _LIBC]: Likewise.
61280         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
61281         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
61282         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
61283
61284         More changes to assume C89 or better.
61285
61286         * lib/error.c (error_tail): Assume vprintf.
61287
61288         * lib/argmatch.c (getenv): Remove decl.
61289         * lib/progreloc.c (get_full_program_name): Define via prototype.
61290         * lib/setenv.c (clearenv): Likewise.
61291         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
61292         needed.
61293         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
61294         (malloc, memcpy): Remove decls.
61295         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
61296         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
61297         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
61298         (memcpy): Remove macro.
61299         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
61300         (__P): Remove.  All uses removed.
61301         (PTR): Remove.  All uses changed to void *.
61302         (CHAR_BIT, NULL): Remove.
61303         (spaces, zeros, memset_space, memset_zero)
61304         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
61305         Remove.
61306         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
61307         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
61308         Define with prototype.
61309         Remove now-unnecessary prototype decl.
61310         (extra_args_spec): Assume ANSI C.  All uses changed.
61311         (extra_args_spec_iso): Remove.
61312         (my_strftime, emacs_strftimeu): Define via prototype.
61313         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
61314         unconditionally.
61315         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
61316         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
61317         (strtoul, strtol): Remove decls.
61318         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
61319         LONG_MAX): Remove.
61320         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
61321         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
61322         (LOCALE_PARAM_PROTO): New macro.
61323         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
61324         (INTERNAL (strtol), strtol): Define with a prototype.
61325         (PARAMS): Remove.  All uses removed.
61326         * lib/tempname.c: Include <string.h> unconditionally.
61327         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
61328         * lib/xgethostname.c (main): Define with a prototype.
61329         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
61330         Include <stdlib.h> unconditionally.
61331         (calloc, malloc, realloc, free): Remove decls.
61332         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
61333         Include <stdlib.h> unconditionally.  Sort include file names.
61334         (strtod): Remove.
61335         (xstrtod): Define with a prototype.
61336         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
61337         (strtol, strtoul): Remove decls.
61338
61339 2003-09-11  Paul Eggert  <eggert@twinsun.com>
61340
61341         More patches to assume C89 or better.
61342         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
61343         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
61344         string.h, memchr, STDC_HEADERS.
61345
61346 2003-09-11  Paul Eggert  <eggert@twinsun.com>
61347
61348         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
61349         Include <stdlib.h>, <string.h> unconditionally.
61350         Remove now-unnecessary cast to char *.
61351         * lib/strnlen.c: Include <string.h> unconditionally.
61352         * lib/yesno.c (yesno): Define with a prototype.
61353
61354 2003-09-11  Bruno Haible  <bruno@clisp.org>
61355
61356         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
61357
61358 2003-09-10  Jim Meyering  <jim@meyering.net>
61359
61360         * lib/error.c: Correct indentation of cpp directives.
61361
61362 2003-09-10  Bruno Haible  <bruno@clisp.org>
61363
61364         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
61365         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
61366         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
61367         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
61368         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
61369         <stdlib.h> and <string.h> checks.
61370         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
61371         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
61372
61373 2003-09-10  Bruno Haible  <bruno@clisp.org>
61374
61375         * lib/strcspn.c: Include <string.h> unconditionally.
61376         * lib/strpbrk.c: Include <string.h> unconditionally.
61377         * lib/strstr.c: Include <string.h> unconditionally.
61378         * lib/unicodeio.c: Include <string.h> unconditionally.
61379         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
61380         * lib/unsetenv.c: Likewise.
61381         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
61382         * lib/yesno.c: Include <stdlib.h> unconditionally.
61383         (rpmatch): Add prototype.
61384
61385 2003-09-09  Paul Eggert  <eggert@twinsun.com>
61386
61387         More patches to assume C89 or better.
61388         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
61389         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
61390         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
61391         or for string.h.
61392         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
61393         stdlib.h.
61394         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
61395         C headers.
61396         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
61397         string.h.
61398         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
61399         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
61400         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
61401         or for string.h.
61402         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
61403         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
61404         C headers.
61405         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
61406         memcpy.
61407         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
61408         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
61409         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
61410         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
61411         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
61412         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
61413         string.h, free.
61414         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
61415         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
61416         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
61417         C headers, or for string.h.
61418         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
61419         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
61420         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
61421         headers, memory.h, stdlib.h, string.h, strings.h.
61422         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
61423         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
61424         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
61425         strchr.
61426         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
61427         headers, memory.h, string.h.
61428         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
61429         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
61430         free.
61431         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
61432         headers.
61433         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
61434         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
61435         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
61436         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
61437         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
61438
61439 2003-09-09  Paul Eggert  <eggert@twinsun.com>
61440
61441         More K&R removal.
61442
61443         * lib/acosl.c (main): Use a prototype.
61444         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
61445         tanl.c: Likewise.
61446
61447         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
61448
61449         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
61450         (getopt, etopt_long, getopt_long_only, _getopt_internal)
61451         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
61452         with a prototype.
61453         * lib/getopt.c (const): Remove macro.
61454         Include <string.h> unconditionally.
61455         (my_index): Remove; all uses changed to strchr.
61456         (strlen): Remove decl.
61457         (exchange): Remove forward decl; no longer needed.
61458         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
61459         Define with prototype.
61460         * lib/getopt1.c (const): Remove macro.
61461         (getopt_long, getopt_long_only, main): Define with prototype.
61462
61463         * lib/getugroups.c: Include <string.h> unconditionally.
61464
61465         * lib/getusershell.c: Include <stdlib.h> unconditionally.
61466         (getusershell, setusershell, endusershell, readname, main):
61467         Define with prototypes.
61468
61469         * lib/group-member.c: Include group-member.h first.
61470         Include <stdlib.h> unconditionally.
61471
61472         * lib/hard-locale.c: Include hard-locale.h first.
61473         Include <stdlib.h>, <string.h> unconditionally.
61474
61475         * lib/hash.c (free, malloc): Remove decls.
61476         Include <stdlib.h> unconditionally.
61477
61478         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
61479         (getenv): Do not declare.
61480
61481         * lib/idcache.c: Include <string.h> unconditionally.
61482
61483         * lib/long-options.c: Include long-options.h first, to test interface.
61484         Include <stdlib.h> unconditionally.
61485
61486         * lib/makepath.c: Include makepath.h first, to test interface.
61487         Include <stdlib.h> and <string.h> unconditionally.
61488
61489         * lib/linebuffer.c: Include <stdlib.h>.
61490         (free): Remove decl.
61491
61492         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
61493         stddef.h. rpl_malloc returns void *, not char *.
61494         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
61495         prototype.
61496
61497         * lib/md5.h: Include <limits.h> unconditionally.
61498         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
61499         (__P): Remove; all uses removed.
61500         * lib/md5.c: Include "md5.h" first.
61501         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
61502         md5_buffer, md5_process_bytes, md5_process_block):
61503         Define with prototypes.
61504         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
61505         * lib/sha.c: Include "sha.h" first.
61506         Include <stdlib.h>, <string.h> unconditionally.
61507
61508         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
61509         * lib/memcmp.c (__ptr_t): Likewise.
61510         * lib/memrchr.c (__ptr_t): Likewise.
61511         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
61512         Include <string.h> unconditionally.
61513         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
61514         * lib/memchr.c: Include <stdlib.h> unconditionally.
61515         * lib/memchr.c (LONG_MAX): Remove.
61516         * lib/memrchr.c (LONG_MAX): Likewise.
61517         * lib/memchr.c (__memchr): Define via a prototype.
61518         * lib/memrchr.c (__memrchr): Likewise.
61519         * lib/memcmp.c (__P): Remove, and remove all uses.
61520         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
61521         Remove forward decls; no longer needed.
61522         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
61523         Use types required by C89 in prototype.
61524
61525         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
61526         * lib/savedir.c: Likewise.
61527         * lib/mkdir.c (free): Remove decl.
61528         * lib/rmdir.c (rmdir): Define with a prototype.
61529         * lib/savedir.c: Include savedir.h first, to test interface.
61530
61531         * lib/mktime.c (STDC_HEADERS): Remove.
61532         Include <stdlib.h>, <string.h> unconditionally.
61533
61534         * lib/modechange.c: Include <stdlib.h> unconditionally.
61535         (malloc): Remove decl.
61536
61537         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
61538         (free): Remove decl.
61539
61540         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
61541         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
61542         (This type really should be intptr_t, but that's a C99ism.)
61543         (_obstack_memcpy): Remove: all uses changed to memcpy.
61544         Include <string.h> unconditionally.
61545         (struct obstack): Assume __STDC__ for types of members
61546         chunkfun, freefun, extra_arg.
61547         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
61548         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
61549         obstack_begin, obstack_specify_allocation,
61550         obstack_specify_allocation_with_arg, obstack_chunkfun,
61551         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
61552         Remove unprototyped decls and the macros that use them.
61553         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
61554         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
61555         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
61556         (defined __STDC__ && __STDC__)]:
61557         Remove nonprototyped code.
61558         Include <stdlib.h> unconditionally.
61559         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
61560         _obstack_allocated_p, _obstack_free, obstack_free,
61561         _obstack_memory_used, print_and_abort):
61562         Define using prototypes.
61563         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
61564         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
61565         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
61566         obstack_next_free, obstack_object_size, obstack_room) [0]:
61567         Remove unused, unprototyped code.
61568
61569         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
61570
61571         * lib/physmem.c (physmem_total, physmem_available, main): Define
61572         with prototypes.
61573
61574         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
61575         (main): Define with a prototype.
61576
61577         * lib/posixver.c (getenv): Remove decl.
61578
61579         * lib/putenv.c (malloc): Returns void *, not char *.
61580         Include <string.h> unconditionally.
61581         (strchr, memcpy, NULL): Do not define.
61582
61583         * lib/readtokens.c: Include readtokens.h first, to test interface.
61584         Include <stdlib.h>, <string.h> unconditionally.
61585         (init_tokenbuffer): Define with a prototype.
61586
61587         * lib/regex.c (PARAMS): Remove.  All uses removed.
61588         All uses of _RE_ARGS removed, too.
61589         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
61590         unconditionally.
61591         (bzero): Assume memset exists.
61592         (memcmp, memcpy, NULL): Remove.
61593         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
61594         char, or assignments to local vars of type signed char.
61595         (init_syntax_once, PREFIX(extract_number_and_incr),
61596         PREFIX(print_partial_compiled_pattern),
61597         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
61598         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
61599         PREFIX(regex_grow_registers), PREFIX(regex_compile),
61600         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
61601         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
61602         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
61603         wcs_compile_range, byte_compile_range, truncate_wchar,
61604         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
61605         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
61606         count_mbs_length, wcs_re_match_2_internal,
61607         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
61608         PREFIX(alt_match_null_string_p),
61609         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
61610         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
61611         regfree, PREFIX(extract_number)): Define with prototype.  Remove
61612         now-unnecessary declaration, if any.
61613         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
61614         regcomp, regexec):
61615         Remove now-unnecessary casts among pointer types.
61616         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
61617
61618         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
61619         (free): Remove decl.
61620
61621         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
61622
61623         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
61624         (free): Remove decl.
61625
61626         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
61627         * lib/xgetcwd.c: Likewise.
61628
61629         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
61630         (free): Remove decl.
61631
61632         * lib/strchrnul.c (strchrnul): Define with a prototype.
61633         Fix bug: c_in was not converted to char before searching.
61634
61635         The following changes are not K&R related:
61636
61637         * lib/group-member.h: Include <sys/types.h>, so that this file is
61638         self-contained.
61639         * lib/makepath.h: Likewise.
61640
61641         * lib/getusershell.c (readname, default_index, line_size, readname):
61642         Use size_t, not int, for sizes.
61643         (readname): If the size overflows, report an error instead of
61644         looping forever.
61645
61646 2003-09-09  Paul Eggert  <eggert@twinsun.com>
61647
61648         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
61649         libc.
61650
61651 2003-09-09  Paul Eggert  <eggert@twinsun.com>
61652
61653         * README: New section: portability guidelines.
61654
61655 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
61656
61657         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
61658         C89 spec.
61659
61660 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
61661
61662         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
61663
61664 2003-09-08  Paul Eggert  <eggert@twinsun.com>
61665
61666         Assume C89 or better; remove K&R cruft.
61667         A few of these changes were first proposed by Derek Robert Price
61668         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
61669
61670         * lib/addext.c: Include <string.h> unconditionally.
61671         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
61672         Don't declare getenv or malloc.
61673
61674         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
61675         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
61676         (NULL): Remove.
61677         (find_stack_direction, alloca): Use prototypes.
61678
61679         * lib/atexit.c (atexit): Define using a prototype.
61680
61681         * lib/basename.c, dirname.c, stripslash.c:
61682         Include <string.h> unconditionally.
61683
61684         * lib/bcopy.c: Include <stddef.h>.
61685         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
61686
61687         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
61688
61689         * lib/error.h (error, error_at_line, error_print_progname)
61690         [! (defined (__STDC__) && __STDC__)]: Remove decls.
61691         * lib/error.c: Include error.h first, to check interface.
61692         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
61693         (VA_START): Remove; all uses changeed to va_start.
61694         (exit, strerror): Remove decls.
61695         (error_print_progname): Prototype uncondionally.
61696         Don't include <errno.h>; no longer needed.
61697         (private_strerror): Remove.
61698         (error_tail): Always define.
61699         (error, error_at_line): Assume C89 or better; always use prototypes.
61700         * lib/fatal.c: Include "fatal.h" first, to test interface.
61701         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
61702         (VA_START): Remove; all uses changed to va_start.
61703         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
61704         this case.
61705         (exit): Remove decl.
61706         (fatal): Prototype unconditionally.  Assume va_start works.
61707         Abort at end, to pacify gcc.
61708
61709         * lib/euidaccess.c (main): Define with a prototype.
61710
61711         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
61712
61713         * lib/exitfail.c: Include <stdlib.h> unconditionally.
61714
61715         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
61716         prototypes.
61717         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
61718         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
61719         (getenv): Remove decl.
61720         (fnmatch): Define using a prototype.
61721         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
61722         (FCT): Define using a prototype.
61723
61724         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
61725
61726         * lib/gethostname.c: Include <stddef.h>.
61727         (gethostname): Define with prototype.  Length is size_t, not int.
61728
61729 2003-09-08  Paul Eggert  <eggert@twinsun.com>
61730
61731         Assume C89 or better; remove K&R cruft.
61732         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
61733         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
61734         string.h, getenv, malloc.
61735         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
61736         headers.
61737         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
61738         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
61739         do not check for strerror.
61740         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
61741         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
61742         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
61743         do not check for doprnt or vprintf.
61744         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
61745         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
61746
61747 2003-09-08  Paul Eggert  <eggert@twinsun.com>
61748
61749         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
61750         getversion.c should have been removed then, but was accidentally
61751         preserved.
61752
61753         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
61754         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
61755
61756 2003-09-08  Karl Berry  <karl@gnu.org>
61757
61758         * config/config.sub, config.guess, srclistvars.sh: update from savannah
61759                 config, forget about prep.
61760
61761         * config/depcomp, missing: update from automake.
61762
61763 2003-09-07  Paul Eggert  <eggert@twinsun.com>
61764
61765         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
61766         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
61767
61768 2003-09-07  Paul Eggert  <eggert@twinsun.com>
61769
61770         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
61771         copy_tm_result.  Bug reported by Simon Josefsson in
61772         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
61773
61774 2003-09-06  Paul Eggert  <eggert@twinsun.com>
61775
61776         * m4/time_r.m4: New file.
61777         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
61778         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
61779         is. Check for timegm declaration.
61780         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
61781         Do not check for gmtime_r.
61782         Replace mktime if __mktime_internal does not exist and if mktime
61783         hasn't been replaced already.
61784
61785 2003-09-06  Paul Eggert  <eggert@twinsun.com>
61786
61787         * lib/time_r.c, lib/time_r.h: New files.
61788
61789         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
61790         __localtime_r.
61791         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
61792         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
61793
61794         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
61795         __gmtime_r.
61796         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
61797         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
61798         Include <time_r.h>.
61799
61800         * lib/timegm.c: Switch to glibc implementation, with the following
61801         changes:
61802         [defined HAVE_CONFIG_H]: Include <config.h>.
61803         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
61804         (__mktime_internal) [!defined _LIBC]: New decl.
61805         (__gmtime_r) [!defined _LIBC]: New macro and function.
61806         (timegm): Use a prototype, since gnulib assumes C89.
61807         Do not bother declaring tmp to be const, as it's not really usefu.
61808         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
61809         (timegm): Declare only if HAVE_DECL_TIMEGM.
61810
61811 2003-09-06  Paul Eggert  <eggert@twinsun.com>
61812
61813         * MODULES.html.sh (func_all_modules): Add time_r.
61814         * modules/time_r: New file.
61815         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
61816         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
61817
61818 2003-09-03  Paul Eggert  <eggert@twinsun.com>
61819
61820         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
61821         Bug reported by Lute Kamstra in
61822         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
61823
61824         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
61825         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
61826         course with correspondingly smaller numbers for tomorrow and
61827         yesterday.  From Tadayoshi Funaba.  Originally installed into
61828         sh-utils on 1999-08-07, but the patch got lost (I guess during the
61829         coreutils merge?).
61830
61831 2003-08-31  Simon Josefsson  <jas@extundo.com>
61832
61833         * modules/timegm: New file.
61834         * MODULES.html.sh (func_all_modules): Add timegm.
61835
61836 2003-08-31  Simon Josefsson  <jas@extundo.com>
61837
61838         * m4/timegm.m4: New file.
61839
61840 2003-08-31  Simon Josefsson  <jas@extundo.com>
61841
61842         * lib/timegm.h: New file.
61843         * lib/timegm.c: New file.  Based on
61844         wget-1.8.2/src/http.c:mktime_from_utc.
61845
61846 2003-08-31  Karl Berry  <karl@gnu.org>
61847
61848         * lib/argp.h: update from libc.
61849
61850 2003-08-28  Bruno Haible  <bruno@clisp.org>
61851
61852         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
61853         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
61854         followed by '#define fnmatch fnmatch_posix' gives an error.
61855
61856 2003-08-28  Bruno Haible  <bruno@clisp.org>
61857
61858         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
61859         warning on QNX, which defines O_BINARY to 000000.
61860
61861 2003-08-27  Jim Meyering  <jim@meyering.net>
61862
61863         * m4/mkstemp.m4: Require that the system mkstemp be able to create
61864         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
61865         would fail after 32.  Reported by Danny Levinson.  Details here:
61866         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
61867
61868 2003-08-24  Bruno Haible  <bruno@clisp.org>
61869
61870         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
61871         MSVC7 <stdio.h> is included later.
61872
61873 2003-08-22  Simon Josefsson  <jas@extundo.com>
61874
61875         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
61876
61877 2003-08-20  Karl Berry  <karl@gnu.org>
61878
61879         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
61880
61881 2003-08-20  Bruno Haible  <bruno@clisp.org>
61882
61883         * modules/progname: New file.
61884         * MODULES.html.sh (func_all_modules): Add progname.
61885
61886 2003-08-20  Bruno Haible  <bruno@clisp.org>
61887
61888         * lib/progname.h: New file, from GNU gettext.
61889         * lib/progname.c: New file, from GNU gettext.
61890         * lib/progreloc.c: New file, from GNU gettext.
61891
61892 2003-08-19  Jim Meyering  <jim@meyering.net>
61893
61894         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
61895         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
61896
61897 2003-08-19  Bruno Haible  <bruno@clisp.org>
61898
61899         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
61900         more.
61901
61902 2003-08-19  Bruno Haible  <bruno@clisp.org>
61903
61904         * lib/xstrdup.c: Assume <string.h> exists.
61905
61906 2003-08-18  Paul Eggert  <eggert@twinsun.com>
61907
61908         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
61909         in makefile rules.
61910
61911 2003-08-18  Jim Meyering  <jim@meyering.net>
61912
61913         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
61914         * m4/lib-ld.m4: Likewise.
61915
61916 2003-08-18  Jim Meyering  <jim@meyering.net>
61917
61918         * lib/setenv.h: Indent nested cpp directive.
61919         * lib/vasnprintf.c: Remove trailing blanks.
61920
61921 2003-08-17  Simon Josefsson  <jas@extundo.com>
61922
61923         * modules/xstrndup: New file.
61924         * MODULES.html.sh (func_all_modules): Add xstrndup.
61925
61926 2003-08-17  Simon Josefsson  <jas@extundo.com>
61927
61928         * modules/argp: Fix autoconf macro name. Add more dependencies.
61929
61930 2003-08-17  Simon Josefsson  <jas@extundo.com>
61931
61932         * m4/xstrndup.m4: New file.
61933
61934 2003-08-17  Simon Josefsson  <jas@extundo.com>
61935
61936         * m4/argp.m4: New file.
61937
61938 2003-08-17  Simon Josefsson  <jas@extundo.com>
61939             Bruno Haible  <bruno@clisp.org>
61940
61941         * lib/xstrndup.h: New file.
61942         * lib/xstrndup.c: New file.
61943
61944 2003-08-17  Bruno Haible  <bruno@clisp.org>
61945
61946         * modules/strndup (Files, Include): Add lib/strndup.h.
61947
61948 2003-08-17  Bruno Haible  <bruno@clisp.org>
61949
61950         * modules/euidaccess (Files): Add lib/euidaccess.h.
61951
61952 2003-08-17  Bruno Haible  <bruno@clisp.org>
61953
61954         * lib/strndup.h: New file.
61955
61956 2003-08-17  Bruno Haible  <bruno@clisp.org>
61957
61958         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
61959         like AC_GNU_SOURCE.
61960         * modules/extensions (configure.ac): Comment out the invocation of
61961         gl_USE_SYSTEM_EXTENSIONS.
61962
61963 2003-08-16  Paul Eggert  <eggert@twinsun.com>
61964
61965         Merges from coreutils, etc.
61966         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
61967         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
61968         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
61969         fixing a typo.
61970         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
61971         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
61972
61973 2003-08-16  Paul Eggert  <eggert@twinsun.com>
61974
61975         Document merge from coreutils.
61976         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
61977         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
61978         * modules/utime: Add m4/utimes-null.m4.
61979
61980 2003-08-16  Paul Eggert  <eggert@twinsun.com>
61981
61982         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
61983         space, undoing this 2003-08-12 change:
61984         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
61985
61986 2003-08-16  Paul Eggert  <eggert@twinsun.com>
61987
61988         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
61989         strtoul.c from libc, undoing this 2003-08-12 change:
61990         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
61991
61992 2003-08-16  Jim Meyering  <jim@meyering.net>
61993
61994         Merges from coreutils.
61995         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
61996         prefix.  Adjust cache variables similarly.  Create 500 rather than
61997         just 300 files, to exercise bug on Darwin6.5, too.
61998         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
61999         $missing_dir.
62000         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
62001         AM_SYS_POSIX_TERMIOS.
62002         Reported by mkc@mathdogs.com.
62003         Also change use of $am_cv_sys_posix_termios
62004         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
62005         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
62006         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
62007         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
62008         in /proc/mounts until it finds one with matching device number.  This
62009         is unnecessary when the FILE argument *is* a mount point.  No stat call
62010         is necessary in that case.  So, disable the statvfs-testing code on
62011         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
62012         as RedHat bug# 84846.
62013         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
62014         to 1MB, so as not to render systems with no stack size limit (e.g.,
62015         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
62016         Include <unistd.h>.  On some systems,
62017         it is required for the definition of _SC_PAGESIZE.
62018
62019 2003-08-16  Jim Meyering  <jim@meyering.net>
62020
62021         Merge from coreutils.
62022         * lib/xstrtoimax.c: #else #if -> #elif.
62023         * lib/xstrtoumax.c: Likewise.
62024
62025 2003-08-16  Jim Meyering  <jim@meyering.net>
62026
62027         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
62028         * m4/utimes.m4: Removed.
62029         * m4/utimes-null.m4: Renamed from utimes.m4.
62030
62031         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
62032         to 1MB, so as not to render systems with no stack size limit (e.g.,
62033         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
62034         Include <unistd.h>.  On some systems,
62035         it is required for the definition of _SC_PAGESIZE.
62036
62037 2003-08-16  Jim Meyering  <jim@meyering.net>
62038         and Paul Eggert  <eggert@cs.ucla.edu>
62039
62040         Merges from coreutils, etc.
62041
62042         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
62043         using the latest version from cvs.  This avoids problems with #line
62044         directives using a vendor (Sun) compiler.
62045         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
62046         Don't set GETGROUPS_LIB here; now it's
62047         done via getgroups.m4's wrapper function.
62048         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
62049         rather than just in sh-util/configure.in, so that the
62050         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
62051         same.
62052         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
62053         AC_FUNC_GETLOADAVG where to find getloadavg.c.
62054         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
62055         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
62056         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
62057         Remove code that is now done by the newly-required macros.
62058         Append $(EXEEXT) to DF_PROG.
62059         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
62060         Do not invoke or require the following here,
62061         since prereq.m4 or some gnulib .m4 now does this for us:
62062         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
62063         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
62064         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
62065         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
62066         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
62067         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
62068         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
62069         AC_FUNC_OBSTACK.
62070         Do not replace the following functions, as this is now the job
62071         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
62072         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
62073         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
62074         atexit getpass, strdup, getpagesize.
62075         Replace 'raise'.
62076         Do not check for the following functions, as this is now the job
62077         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
62078         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
62079         setregid.
62080         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
62081         Check for sys/sysctl.h.
62082         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
62083         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
62084         of checking for ssize_t ourselves.
62085
62086         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
62087         Require every macro that gnulib/modules/* suggests for us.
62088         (jm_PREREQ_ADDEXT): New macro.
62089         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
62090         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
62091
62092         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
62093         (gl_PHYSMEM): Use it.
62094         Also check for `table' function.
62095         Check for new headers and functions.
62096         Add check for sys/sysmp.h.
62097         With suggestions from Kaveh Ghazi.
62098         Ignore headers that are present but cannot be compiled.  This
62099         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
62100         C 5.4.
62101
62102 2003-08-15  Paul Eggert  <eggert@twinsun.com>
62103
62104         Document merge from coreutils.
62105         * modules/userspec: Depend on posixver.
62106         * modules/strftime: Depend on tzset.
62107
62108 2003-08-15  Paul Eggert  <eggert@twinsun.com>
62109
62110         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
62111         rather than tab, after '#' in shell-script copyright notices.
62112         Suggested by Bruno Haible.
62113
62114 2003-08-15  Paul Eggert  <eggert@twinsun.com>
62115
62116         * config/srclist-update: Use three spaces, rather than tab, after '#'
62117         in shell-script copyright notices.  Suggested by Bruno Haible.
62118         Remove unnecessary parenthesization in regular expression.
62119
62120 2003-08-15  Jim Meyering  <jim@meyering.net>
62121
62122         Merge from coreutils.
62123         * lib/xgethostname.c: Include <stdlib.h>.
62124         (xghostname): Don't exit for anything other than memory-related
62125         failure; just return NULL.
62126         * lib/userspec.c: Include "posixver.h".
62127         (parse_user_spec): Accept `.' as a separator only
62128         in pre-POSIX-200112 mode.
62129         * lib/strtoimax.c: Use #elif rather than #else #if.
62130         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
62131         Remove function, now that we can rely on a working tzset function.
62132         [!_LIBC]: Ensure that the required autoconf test has been run.
62133         [!defined _NL_CURRENT && HAVE_STRFTIME]:
62134         Use underlying_strftime for %r.
62135         * lib/sha.c: Merge in some clean-up and optimization changes from
62136         glibc.
62137         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
62138         Ensure that it is a multiple of 64.
62139         Rearrange loop exit tests so as to avoid performing an
62140         additional fread after encountering an error or EOF.
62141         * lib/realloc.c: Update copyright date.
62142
62143 2003-08-15  Jim Meyering  <jim@meyering.net>
62144         and Paul Eggert  <eggert@twinsun.com>
62145
62146         Merge from coreutils.
62147         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
62148         member but strut utmpx does not.  Needed for AIX 4.3.3.
62149         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
62150
62151 2003-08-15  Jim Meyering  <jim@meyering.net>
62152         and Paul Eggert  <eggert@cs.ucla.edu>
62153
62154         Merges from coreutils, etc.
62155         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
62156         Require gl_FUNC_TZSET_CLOBBER.
62157         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
62158         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
62159         members.
62160
62161 2003-08-14  Paul Eggert  <eggert@twinsun.com>
62162
62163         Help the merge from coreutils.
62164         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
62165         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
62166         * m4/tzset.m4: Use it too.
62167
62168 2003-08-14  Paul Eggert  <eggert@twinsun.com>
62169
62170         * modules/tzset: New file.
62171
62172 2003-08-14  Jim Meyering  <jim@meyering.net>
62173
62174         Merges from coreutils.
62175         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
62176         variable names, rather than @FNMATCH_H@.
62177         * modules/alloca: Likewise for $(ALLOCA_H).
62178
62179         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
62180         the three copies of the literal target, `fnmatch.h'.
62181         * modules/alloca (alloca.h): Likewise.
62182
62183 2003-08-14  Jim Meyering  <jim@meyering.net>
62184
62185         Merge from coreutils.
62186         * m4/tzset.m4: New file.
62187         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
62188         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
62189         otherwise, AIX 5.1 systems would end up using the latter.
62190         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
62191         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
62192         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
62193         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
62194
62195 2003-08-14  Jim Meyering  <jim@meyering.net>
62196
62197         Merge from coreutils.
62198         * lib/obstack.h: Whitespace changes.
62199         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
62200         and xcalloc return values.
62201         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
62202         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
62203         hang on OSF/1 5.1 for DIR on both local and remote file systems.
62204         Reported by (and fix confirmed by) Nelson H. F. Beebe.
62205         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
62206         error from mntctl.
62207         Use mntctl's return value to drive the entry-processing loop, since
62208         we can't rely on the value of the vmt_length member in the last
62209         entry.  On some systems doing so could result in exhausting
62210         virtual memory.  Based in part on a patch from Mike Jetzer.
62211
62212 2003-08-14  Jim Meyering  <jim@meyering.net>
62213         and Paul Eggert  <eggert@twinsun.com>
62214
62215         Merges from coreutils, plus other fixes.
62216         * lib/physmem.c: Merge in portability changes from gcc/libiberty
62217         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
62218         for credits and details.  Thanks to Kaveh Ghazi for helping
62219         to keep these files in sync.
62220         (ARRAY_SIZE): Define it.
62221         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
62222         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
62223         (memcasecmp): Don't assume size_t fits in unsigned int.
62224         Remove casts and duplicate code.
62225         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
62226         (memcpy): Remove definition.
62227         Merge in some clean-up and optimization changes from glibc.
62228         [BLOCKSIZE]: Move definition to top of file.
62229         Ensure that it is a multiple of 64.
62230         Rearrange loop exit tests so as to avoid performing an
62231         additional fread after encountering an error or EOF.
62232         * lib/md5.h (md5_uintptr): Define.
62233         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
62234         return to the initial working directory.  Preserve errno
62235         for caller.
62236         * lib/idcache.c: Include "xalloc.h".
62237         (xmalloc, xrealloc): Remove decls.
62238         (getuser): Remove casts no longer required in C89.
62239         * lib/human.c: Include stdio.h, for sprintf.
62240         * lib/group-member.c: Include "xalloc.h".
62241         (xmalloc, xrealloc): Remove decls.
62242         (get_group_info): Remove casts no longer required in C89.
62243         * lib/getusershell.c (readname): Remove casts no longer required in
62244         C89.
62245         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
62246         * lib/getline.c: Whitespace fix, from coreutils.
62247
62248 2003-08-13  Paul Eggert  <eggert@twinsun.com>
62249
62250         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
62251         Check for isascii.
62252
62253         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
62254         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
62255         Undo previous (whitespace-only) change.
62256
62257 2003-08-13  Paul Eggert  <eggert@twinsun.com>
62258
62259         * lib/exclude.c: Include <ctype.h>
62260         (IN_CTYPE_DOMAIN): New macro.
62261         (is_space): New fn.
62262         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
62263         and empty lines.
62264
62265         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
62266         Undo previous (whitespace-only) change.
62267
62268 2003-08-13  Paul Eggert  <eggert@twinsun.com>
62269
62270         * config/srclist-update: Change update back to the old behavior,
62271         leaving whitespace alone.  Use one 'sed' command rather than a
62272         pipeline.
62273         (fixlicense): Now a variable, not a function.
62274         (remove_trailing_blanks): Remove.
62275         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
62276         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
62277         Undo previous (whitespace-only) change.
62278
62279 2003-08-12  Paul Eggert  <eggert@twinsun.com>
62280
62281         Merge from coreutils.
62282         * modules/euidaccess: Add lib_SOURCES, include for new
62283         file euidaccess.h
62284
62285 2003-08-12  Paul Eggert  <eggert@twinsun.com>
62286
62287         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
62288         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
62289         Normalize leading white space and remove trailing white space.
62290
62291         Merge from coreutils
62292         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
62293
62294         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
62295         0.12.1.  These files are now being upgraded automatically by
62296         ../config/srclist-update.
62297
62298 2003-08-12  Paul Eggert  <eggert@twinsun.com>
62299
62300         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
62301         Normalize leading white space and remove trailing white space.
62302         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
62303         notice, as per ../config/srclist-update.
62304
62305         Merge from coreutils.
62306         * lib/euidaccess.h: New file.
62307         * lib/euidaccess.c: Include it.
62308         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
62309         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
62310         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
62311
62312 2003-08-12  Paul Eggert  <eggert@twinsun.com>
62313
62314         * config/srclist-update: Add copyright notice.
62315         (remove_id_lines, remove_trailing_blanks): New constants.
62316         (fixfile): Use them to normalize spacing a bit in copied files.
62317         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
62318         Normalize leading white space and remove trailing white space.
62319
62320         * config/texinfo.tex: Sync with texinfo.
62321
62322         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
62323         strtoul.c from libc, to merge coreutils whitespace changes.
62324
62325         * config/srclist.txt: Get the following m4 files from gettext:
62326         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
62327         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
62328         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
62329         wint_t.m4.
62330
62331 2003-08-12  Karl Berry  <karl@gnu.org>
62332
62333         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
62334         been made.
62335
62336 2003-08-11  Paul Eggert  <eggert@twinsun.com>
62337
62338         * modules/gnu-source, m4/gnu-source.m4:
62339         Remove; we're assuming Autoconf 2.54 or later now.
62340         Suggested by Bruno Haible.
62341         * MODULES.html.sh (func_all_modules): Remove gnu-source.
62342
62343 2003-08-11  Bruno Haible  <bruno@clisp.org>
62344
62345         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
62346
62347 2003-08-11  Bruno Haible  <bruno@clisp.org>
62348
62349         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
62350         (vasnprintf): Use it instead of wcslen.
62351
62352 2003-08-11  Bruno Haible  <bruno@clisp.org>
62353
62354         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
62355         value to ensure that _Bool promotes to int. Use #define for _Bool when
62356         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
62357
62358 2003-08-10  Karl Berry  <karl@gnu.org>
62359
62360         * lib/regex.h: update from libc (whitespace fix).
62361
62362 2003-08-09  Paul Eggert  <eggert@twinsun.com>
62363
62364         Merge some files from coreutils.  These changes were
62365         originally made by Jim Meyering.
62366         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
62367         many older Unixes require this.
62368         * lib/alloca.c (alloca): Remove cast to argument of free;
62369         no longer needed in C89.
62370         * lib/alloca_.h, regex.h: Fix white space to match
62371         what GNU indent does.
62372
62373 2003-08-09  Paul Eggert  <eggert@twinsun.com>
62374
62375         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
62376         apparently Emacs's Unicode mode got confused before my 2003-08-05
62377         checkin.
62378
62379 2003-08-08  Paul Eggert  <eggert@twinsun.com>
62380
62381         * m4/extensions.m4: New file.
62382         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
62383         Require gl_USE_SYSTEM_EXTENSIONS.
62384         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
62385         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
62386
62387 2003-08-08  Paul Eggert  <eggert@twinsun.com>
62388
62389         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
62390         * modules/extensions, modules/gnu-source: New files.
62391         * modules/timespec, modules/unlocked-io: Depend on extensions.
62392
62393 2003-08-07  Paul Eggert  <eggert@twinsun.com>
62394
62395         * modules/restrict: New file.
62396         * MODULES.html.sh (func_all_modules): Add restrict.
62397         * modules/regex: Depend on restrict.
62398
62399 2003-08-07  Paul Eggert  <eggert@twinsun.com>
62400
62401         * m4/restrict.m4: New file.
62402         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
62403
62404 2003-08-07  Bruno Haible  <bruno@clisp.org>
62405
62406         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
62407         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
62408
62409 2003-08-07  Bruno Haible  <bruno@clisp.org>
62410
62411         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
62412         makes the module 'getndelim2' compatible with the module 'getline'.
62413
62414 2003-08-05  Paul Eggert  <eggert@twinsun.com>
62415
62416         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
62417         byte with "\201" to avoid glitches when editing that source file
62418         with multi-gnome-terminal.
62419
62420 2003-08-05  Paul Eggert  <eggert@twinsun.com>
62421
62422         * lib/bumpalloc.h: Remove.
62423
62424 2003-08-05  Paul Eggert  <eggert@twinsun.com>
62425
62426         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
62427         * modules/bumpalloc: Remove.
62428
62429 2003-08-04  Paul Eggert  <eggert@twinsun.com>
62430
62431         * lib/getloadavg.c: Change copyright notice and spacing to conform to
62432         GNU coding style.
62433
62434         Merge from coreutils.
62435         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
62436         1. From glibc.
62437         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
62438         from Karl Berry, implemented by Jim Meyering.
62439         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
62440         from Dmitry V. Levin.
62441         Remove anachronistic cast of xrealloc.
62442         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
62443         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
62444         type. Otherwise, it wouldn't compile with at least /bin/cc on
62445         ymp-cray-unicos9.0.2.X.
62446         Combine two mostly-identical uses of alloca into one.
62447         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
62448
62449 2003-08-04  Dave Love  <d.love@dl.ac.uk>
62450
62451         [From Emacs.]
62452
62453         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
62454         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
62455         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
62456         obsolete NLIST_NAME_UNION.
62457         [__GNU__]: Undef BSD and FSCALE.
62458         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
62459
62460 2003-08-03  Paul Eggert  <eggert@twinsun.com>
62461
62462         * lib/stdbool_.h (_Bool): Make it signed char, instead of
62463         an enum type, so that it's guaranteed to promote to int.  See:
62464         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
62465
62466 2003-08-03  Karl Berry  <karl@gnu.org>
62467
62468         * config/depcomp: update from automake.
62469
62470 2003-07-31  Paul Eggert  <eggert@twinsun.com>
62471
62472         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
62473         (strerror): Don't assume that a printable int fits in 14 bytes.
62474
62475 2003-07-31  Bruno Haible  <bruno@clisp.org>
62476
62477         * modules/getpass-gnu: New file.
62478         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
62479
62480 2003-07-31  Bruno Haible  <bruno@clisp.org>
62481
62482         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
62483
62484 2003-07-24  Karl Berry  <karl@gnu.org>
62485
62486         * config/missing: update from automake.
62487
62488 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
62489             Bruno Haible  <bruno@clisp.org>
62490
62491         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
62492         * lib/getline.c (getline, getdelim): Likewise.
62493         Remove _GNU_SOURCE define; now it's defined in config.h through
62494         m4/getline.m4.
62495
62496 2003-07-23  Karl Berry  <karl@gnu.org>
62497
62498         * config/config.sub: update from prep.
62499
62500 2003-07-22  Paul Eggert  <eggert@twinsun.com>
62501
62502         * modules/xalloc (Depends-on): Add exitfail.
62503         * modules/xmemcoll: Likewise.
62504
62505 2003-07-22  Paul Eggert  <eggert@twinsun.com>
62506
62507         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
62508         over-parenthesization in macros.
62509
62510         Sync with coreutils.
62511
62512         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
62513         required by C99.
62514
62515         Use `exit_failure' for xalloc and xmemcoll instead of their own
62516         private exit-failure variables.
62517         * lib/xalloc.h (xalloc_exit_failure): Remove.
62518         * lib/xmalloc.c: Likewise.  Include exitfail.h.
62519         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
62520         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
62521         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
62522         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
62523
62524 2003-07-20  Jim Meyering  <jim@meyering.net>
62525
62526         * modules/closeout (Depends-on): Add exitfail.
62527         Suggestion from Bruno Haible.
62528
62529 2003-07-19  Karl Berry  <karl@gnu.org>
62530
62531         * config/config.sub: update from prep.
62532
62533 2003-07-18  Paul Eggert  <eggert@twinsun.com>
62534
62535         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
62536         Remove.
62537         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
62538         to test that it can stand by itself.  Include "exitfail.h".
62539         Clients should set exit_failure instead.
62540         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
62541
62542 2003-07-18  Bruno Haible  <bruno@clisp.org>
62543
62544         * modules/getndelim2: New file.
62545         * modules/getline: Share files with module getndelim2.
62546         * modules/getnline: Depend on getndelim2 instead of sharing files with
62547         it. Add getnline.c to lib_SOURCES.
62548         * MODULES.html.sh (func_all_modules): Add getndelim2.
62549
62550 2003-07-18  Bruno Haible  <bruno@clisp.org>
62551
62552         * m4/getndelim2.m4: New file.
62553         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
62554         invoke gl_PREREQ_GETNDELIM2.
62555         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
62556         gl_PREREQ_GETNDELIM2.
62557         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
62558         gl_GETNDELIM2.
62559
62560 2003-07-18  Bruno Haible  <bruno@clisp.org>
62561
62562         * lib/getndelim2.h: New file.
62563         * lib/getndelim2.c: Make into a module of its own. Include config.h,
62564         getndelim2.h.
62565         (getndelim2): Make non-static. Change return type to ssize_t.
62566         * lib/getline.h: Change argument names.
62567         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
62568         * lib/getnline.c: Include getndelim2.h.
62569
62570 2003-07-18  Andreas Schwab  <schwab@suse.de>
62571
62572         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
62573
62574 2003-07-17  Karl Berry  <karl@gnu.org>
62575
62576         * config/config.sub: update from prep.
62577
62578 2003-07-17  Bruno Haible  <bruno@clisp.org>
62579
62580         * modules/getnline: New file.
62581         * modules/getline: Add lib/getndelim2.c to source file list.
62582         * MODULES.html.sh (func_all_modules): Add getnline.
62583
62584 2003-07-17  Bruno Haible  <bruno@clisp.org>
62585
62586         * m4/getnline.m4: New file.
62587
62588 2003-07-17  Bruno Haible  <bruno@clisp.org>
62589
62590         * m4/Makefile.am.in: Remove file.
62591         * m4/Makefile.am: Remove file.
62592         * m4/Makefile.in: Remove file.
62593
62594 2003-07-17  Bruno Haible  <bruno@clisp.org>
62595
62596         * lib/getnline.h: New file.
62597         * lib/getnline.c: New file.
62598         * lib/getndelim2.c: New file, extracted from getline.c.
62599         (getndelim2): Renamed from getdelim2, with added nmax argument.
62600         * lib/getline.c: Include getndelim2.c.
62601         (getdelim2): Moved out to getndelim2.c.
62602         (getline, getdelim): Update.
62603
62604 2003-07-17  Bruno Haible  <bruno@clisp.org>
62605
62606         * lib/Makefile.am: Remove file.
62607         * lib/Makefile.in: Remove file.
62608
62609 2003-07-17  Bruno Haible  <bruno@clisp.org>
62610
62611         * configure.in: Remove file.
62612         * Makefile.in: Remove file.
62613
62614 2003-07-17  Bruno Haible  <bruno@clisp.org>
62615
62616         * MODULES.html.sh: Put the </BODY> right before </HTML>.
62617
62618 2003-07-16  Karl Berry  <karl@gnu.org>
62619
62620         * config/srclist-update: was running fixlicense twice, which caused
62621                 texinfo.tex to be nullified for some reason.  Simplify,
62622                 $gplsrc is no longer needed as far as I can see?
62623
62624 2003-07-16  Jim Meyering  <jim@meyering.net>
62625
62626         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
62627
62628 2003-07-15  Paul Eggert  <eggert@twinsun.com>
62629
62630         * config/srclist.txt: Get the following files from gettext-runtime/intl
62631         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
62632         ref-del.sin.  From Bruno Haible.
62633         * config/srclist-update (fixfile): Change grep pattern again, since the
62634         previous fix didn't work (there was another trailing $).  Use
62635         '[$]' to escape the $s.
62636
62637 2003-07-15  Karl Berry  <karl@gnu.org>
62638
62639         * lib/vasnprintf.c: update from gettext.
62640
62641 2003-07-15  Karl Berry  <karl@gnu.org>
62642
62643         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
62644         gets expanded when surrounded by '$'.
62645
62646 2003-07-15  Jim Meyering  <jim@meyering.net>
62647
62648         * modules/save-cwd: Don't depend on error.  From Derek Price.
62649
62650 2003-07-15  Jim Meyering  <jim@meyering.net>
62651
62652         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
62653
62654 2003-07-14  Simon Josefsson  <jas@extundo.com>
62655
62656         * modules/mempcpy: New file.
62657         * MODULES.html.sh (func_all_modules): Add mempcpy.
62658
62659 2003-07-14  Simon Josefsson  <jas@extundo.com>
62660
62661         * m4/mempcpy.m4: New file.
62662
62663 2003-07-14  Simon Josefsson  <jas@extundo.com>
62664
62665         * lib/mempcpy.h: New file.
62666         * lib/mempcpy.c: New file.
62667
62668 2003-07-14  Paul Eggert  <eggert@twinsun.com>
62669
62670         * modules/getdate, modules/posixtm: Depend on mktime.
62671
62672 2003-07-14  Paul Eggert  <eggert@twinsun.com>
62673
62674         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
62675         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
62676         unicodeio.c, unicodeio.h, unlocked-io.h:
62677         Switch from LGPL to GPL.
62678
62679 2003-07-14  Paul Eggert  <eggert@twinsun.com>
62680
62681         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
62682         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
62683         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
62684         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
62685         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
62686         updated automatically by ../config/srclist-update.  This changes
62687         their license from LPGL to GPL.
62688
62689 2003-07-14  Paul Eggert  <eggert@twinsun.com>
62690
62691         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
62692         assumed to refer to the root of the most recent stable gettext version.
62693         * config/srclistvars.sh: Add defaults for eggert.
62694         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
62695         Match "This program" as well as "The program".  This is needed
62696         for gettext.
62697
62698 2003-07-14  Jim Meyering  <jim@meyering.net>
62699
62700         Don't emit diagnostics.  Let callers do that.
62701         * lib/save-cwd.c: Don't include "error.h".
62702         (save_cwd): Don't call error.  Ensure that errno is valid
62703         when returning nonzero.
62704
62705         * lib/save-cwd.h (restore_cwd): Update prototype.
62706         * lib/save-cwd.c (restore_cwd): Remove two parameters.
62707         Simplify.  Don't call error upon failure.  Let callers do that.
62708         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
62709         when auditing is enabled.  But don't bother updating the #if.
62710
62711 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
62712
62713         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
62714         it breaks C++ compilation.
62715         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
62716
62717 2003-07-10  Simon Josefsson  <jas@extundo.com>
62718
62719         * modules/strchrnul (Makefile.am): Add strchrnul.h.
62720
62721 2003-07-10  Jim Meyering  <jim@meyering.net>
62722
62723         * m4/clock_time.m4: Remove trailing blank.
62724         * m4/intmax_t.m4: Likewise.
62725
62726 2003-07-10  Jim Meyering  <jim@meyering.net>
62727
62728         * lib/vasnprintf.c: Remove trailing blanks.
62729         Make cpp indentation consistent.
62730
62731 2003-07-09  Paul Eggert  <eggert@twinsun.com>
62732
62733         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
62734         posixver.c, strftime.c, strnlen.c, strverscmp.c:
62735         Switch from LGPL to GPL.
62736
62737 2003-07-09  Paul Eggert  <eggert@twinsun.com>
62738
62739         * config/srclist.txt: Sort sublists.  Add
62740         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
62741         that differ from gnulib for one reason or another; we'd like this list
62742         to be smaller but for now let's document what we have.
62743
62744 2003-07-08  Paul Eggert  <eggert@twinsun.com>
62745
62746         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
62747         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
62748         and sweeter "eval x=$x".
62749         * config/srclist.txt: Get lib/argp* from glibc.
62750
62751 2003-07-07  Paul Eggert  <eggert@twinsun.com>
62752
62753         * lib/mktime.c: Fix some boundary cases and remove need for floating
62754         point.
62755
62756         Issue a compile-time diagnostic if time_t is floating point, or if
62757         two's complement arithmetic is not in effect, or if arithmetic
62758         right shift does not propagate the sign.  These assumptions were
62759         all in the original code but they weren't checked.
62760
62761         (TIME_T_MIDPOINT, verify): New macros.
62762         (__isleap): Remove; it has integer overflow problems.
62763         (leapyear): New function, without those problems.
62764         (ydhms_tm_diff): Remove; splitting into two parts.
62765         (ydhms_diff): New function, containing the arithmetic part of
62766         the old ydhms_tm_diff function.  Issue a compile-time
62767         diagnostic if we are not using C99 integer division.
62768         Avoid casts when possible.
62769         (guess_time_tm): New function, containing the checking part of
62770         the old ydhms_tm_diff function.  Return the new value, rather than
62771         the difference between it and the old.  Accept a new argument T
62772         so that *T specifies the old value.  Check for overflow in the result.
62773
62774         (__mktime_internal): Use a time_t offset, not a long int offset.
62775         This undoes the 2003-06-04 change, which is no longer needed now
62776         that we have better overflow checking.
62777         (localtime_offset): Likewise.
62778
62779         (__mktime_internal): Avoid harmful overflow on hosts where time_t
62780         and long are 64-bit but int is only 32-bit.
62781         (ydhms_diff): Use long int to store year1 and yday1.
62782         Issue a compile-time diagnostic if long int is not wide enough.
62783
62784         (__mktime_internal): Use long int to store adjusted year and yday.
62785         Use plain C rather than preprocessor commands, if that doesn't
62786         affect efficiency.
62787         Check for overflow (and try to repair) after each probe
62788         rather than checking only at the very end.  This avoids some bugs
62789         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
62790         does not equal GMT offset at maximum time).
62791         Use integer to check for overflow rather than floating point; this
62792         is more portable to non-IEEE hosts, and is a tad faster.
62793         When we detect that we are oscillating between two values,
62794         don't check whether tm_isdst has the requested value, since
62795         we already know the answer.  When tm_isdst has the wrong value,
62796         use a different heuristic to find the right one, based on the
62797         extreme values actually observed in practice in tz2003a,
62798         rather than the (overly optimistic) "previous 3 calendar quarters".
62799
62800         (not_equal_tm, print_tm, check_result): Use "const T" rather than
62801         "T const" to accommodate glibc style.
62802         (check_result): Use less-confusing report format.  "long" -> "long int.
62803         (main): Likewise.
62804         Don't loop if the iteration overflows time_t.
62805         Allow a negative step in the iteration.
62806
62807 2003-07-06  Karl Berry  <karl@gnu.org>
62808
62809         * config/depcomp: update from automake.
62810         * config/config.sub: update from prep.
62811
62812 2003-07-03  Karl Berry  <karl@gnu.org>
62813
62814         * config/config.guess: update from prep.
62815
62816 2003-07-01  Paul Eggert  <eggert@twinsun.com>
62817
62818         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
62819         xreadlink.c now includes it unconditionally.
62820
62821 2003-07-01  Paul Eggert  <eggert@twinsun.com>
62822
62823         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
62824         having it depend on HAVE_SYS_TYPES_H.
62825
62826 2003-07-01  Bruno Haible  <bruno@clisp.org>
62827
62828         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
62829         <sys/types.h> should be sufficient.
62830         Reported by Paul Eggert.
62831
62832 2003-06-26  Karl Berry  <karl@gnu.org>
62833
62834         * config/depcomp: update from automake.
62835
62836 2003-06-26  Bruno Haible  <bruno@clisp.org>
62837
62838         * modules/human: Depend on module stdbool.
62839
62840 2003-06-25  Bruno Haible  <bruno@clisp.org>
62841
62842         * modules/readlink: New file.
62843         * modules/xreadlink: Depend on it.
62844         * MODULES.html.sh (func_all_modules): Add readlink.
62845
62846 2003-06-25  Bruno Haible  <bruno@clisp.org>
62847
62848         * m4/readlink.m4: New file.
62849
62850 2003-06-25  Bruno Haible  <bruno@clisp.org>
62851
62852         * lib/readlink.c: New file.
62853
62854 2003-06-22  Karl Berry  <karl@gnu.org>
62855
62856         * config/srclist.txt: update mkinstalldirs from automake.
62857         * config/mkinstalldirs: update.
62858
62859 2003-06-22  Bruno Haible  <bruno@clisp.org>
62860
62861         Portability to mingw32.
62862         * m4/ssize_t.m4: New file, from GNU gettext.
62863         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
62864         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
62865
62866 2003-06-22  Bruno Haible  <bruno@clisp.org>
62867
62868         * modules/safe-read: Add m4/ssize_t.m4.
62869         * modules/xreadlink: Add m4/ssize_t.m4.
62870
62871 2003-06-20  Bruno Haible  <bruno@clisp.org>
62872
62873         Assume C89, so PARAMS isn't needed.
62874         * lib/unicodeio.h (PARAMS): Remove.
62875         * lib/unicodeio.c: Don't use PARAMS.
62876
62877 2003-06-18  Karl Berry  <karl@gnu.org>
62878
62879         * config/config.{guess,sub}: update from prep.
62880
62881 2003-06-18  Jim Meyering  <jim@meyering.net>
62882
62883         Merge changes from coreutils.
62884         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
62885         Remove explicit declarations of xmalloc and realloc.
62886         Include xalloc.h.
62887         (read_utmp): Remove anachronistic cast of xmalloc.
62888
62889 2003-06-17  Paul Eggert  <eggert@twinsun.com>
62890
62891         Assume C89, so PARAMS isn't needed.
62892         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
62893         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
62894         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
62895         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
62896         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
62897         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
62898         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
62899         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
62900         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
62901         lib/xstrtod.h, lib/xstrtol.h: Likewise.
62902         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
62903         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
62904         no longer needed. Anyway, config.h should always be included before any
62905         other file.
62906
62907 2003-06-11  Simon Josefsson  <jas@extundo.com>
62908
62909         * modules/sysexits: New file.
62910         * MODULES.html.sh (func_all_modules): Add sysexits.
62911
62912 2003-06-11  Simon Josefsson  <jas@extundo.com>
62913
62914         * lib/sysexit_.h: New file.
62915
62916 2003-06-11  Derek Price  <derek@ximbiot.com>
62917
62918         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
62919         necessary.
62920
62921 2003-06-11  Bruno Haible  <bruno@clisp.org>
62922
62923         * m4/sysexits.m4: New file.
62924
62925 2003-06-10  Simon Josefsson  <jas@extundo.com>
62926
62927         * lib/argp.h: New file, from glibc.
62928         * lib/argp-ba.c: New file, from glibc.
62929         * lib/argp-eexst.c: New file, from glibc.
62930         * lib/argp-fmtstream.c: New file, from glibc.
62931         * lib/argp-fmtstream.h: New file, from glibc.
62932         * lib/argp-fs-xinl.c: New file, from glibc.
62933         * lib/argp-help.c: New file, from glibc.
62934         * lib/argp-namefrob.h: New file, from glibc.
62935         * lib/argp-parse.c: New file, from glibc.
62936         * lib/argp-pv.c: New file, from glibc.
62937         * lib/argp-pvh.c: New file, from glibc.
62938         * lib/argp-xinl.c: New file, from glibc.
62939
62940 2003-06-10  Simon Josefsson  <jas@extundo.com>
62941
62942         * modules/strchrnul: New file.
62943
62944 2003-06-10  Simon Josefsson  <jas@extundo.com>
62945
62946         * modules/argp: New file.
62947
62948 2003-06-10  Simon Josefsson  <jas@extundo.com>
62949
62950         * m4/strchrnul.m4: New file.
62951
62952 2003-06-10  Simon Josefsson  <jas@extundo.com>
62953
62954         * lib/strchrnul.h: New file.
62955         * lib/strchrnul.c: New file.
62956
62957 2003-06-10  Bruno Haible  <bruno@clisp.org>
62958
62959         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
62960
62961 2003-06-07  Karl Berry  <karl@gnu.org>
62962
62963         * config/config.{guess,sub}: update from prep.
62964
62965 2003-06-07  Jim Meyering  <jim@meyering.net>
62966
62967         * modules/strtod: Use $(...) notation, not @...@ for
62968         AC_REPLACE'd variables.
62969         * modules/localcharset: Likewise.
62970
62971 2003-06-07  Jim Meyering  <jim@meyering.net>
62972
62973         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
62974         in place of my name in the copyright comment.
62975         Remove definition and uses of __P.
62976
62977         From coreutils.
62978         * lib/stat.c: Don't declare xmalloc explicitly.
62979         Instead, include "xalloc.h".
62980         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
62981         xrealloc, and xcalloc return values.
62982         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
62983         Improve comment.
62984         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
62985
62986 2003-06-07  Bruno Haible  <bruno@clisp.org>
62987
62988         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
62989         avoid AC_CONFIG_LINKS.
62990         * modules/fnmatch (Makefile.am): Use explicit creation rule for
62991         fnmatch.h, to avoid AC_CONFIG_LINKS.
62992         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
62993
62994 2003-06-07  Bruno Haible  <bruno@clisp.org>
62995
62996         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
62997         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
62998         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
62999         directory.
63000         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
63001         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
63002         directory.
63003
63004 2003-06-06  Jim Meyering  <jim@meyering.net>
63005
63006         Merge from coreutils.
63007         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
63008         Consolidate declarations and initializations of *_base* locals.
63009
63010         Merge from coreutils.
63011         This avoids a core dump on systems without GNU putenv,
63012         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
63013         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
63014         (unsetenv): New static function, from GNU libc.
63015         (rpl_putenv): Use it.
63016
63017         * lib/modechange.c: Remove trailing blanks.
63018
63019         Merge from coreutils.
63020         * lib/fsusage.c: Remove declaration of statfs.
63021         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
63022
63023         * lib/posixtm.c: Include <stdbool.h> unconditionally.
63024
63025 2003-06-06  Jim Meyering  <jim@meyering.net>
63026
63027         * lib/stdbool_.h: Renamed from stdbool.h.in.
63028
63029 2003-06-06  Jim Meyering  <jim@meyering.net>
63030             Bruno Haible  <bruno@clisp.org>
63031
63032         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
63033         Adjust Makefile.am snippet not to redirect directly to target.
63034         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
63035
63036 2003-06-05  Paul Eggert  <eggert@twinsun.com>
63037
63038         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
63039         mismatch, look in future quarters as well as past.  This fixes a
63040         bug when processing fall-backwards gaps immediately after a long
63041         period of daylight-saving time.
63042
63043         * lib/mktime.c: Assume freestanding C89 or better.
63044         (HAVE_LIMITS_H): Remove.  Assume it's 1.
63045         (__P): Remove; not used.
63046         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
63047         (mktime, not_equal_tm, print_tm, check_result,
63048         main): Use prototypes.  Use const * where appropriate.
63049         (main): Fix typo in testing code that uncovered by above changes.
63050         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
63051
63052 2003-06-04  Paul Eggert  <eggert@twinsun.com>
63053
63054         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
63055         locale.h, localeconv.  This merges changes from coreutils.
63056
63057         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
63058         It can be removed after the next Autoconf is released.
63059         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
63060         needed.
63061
63062 2003-06-04  Paul Eggert  <eggert@twinsun.com>
63063
63064         * lib/mktime.c: Fix Debian bug 177940
63065         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
63066         (localtime_offset): Now long int, not time_t, because we want it
63067         to be guaranteed to be signed.  All uses changed.
63068         (__mktime_internal): If overflow would occur when adding offset,
63069         don't add it.
63070
63071         Merge 'human' changes from coreutils.  Rewrite to support
63072         locale-specific notations like thousands separators.
63073         * lib/human.c: Simplify authorship notice.
63074         Include human.h immediately after config.h.
63075         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
63076         <limits.h>: Do not include, since human.h does.
63077         (SIZE_MAX, UINTMAX_MAX): New macros.
63078         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
63079         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
63080         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
63081         (power_letter): Renamed from suffixes.
63082         (generate_suffix_backwards): Remove.
63083         (adjust_value): Now takes int style (because of human.h changes)
63084         and long double value (for greater precision on some platforms).
63085         (group_number): New function.
63086         (human_readable): Use it.  Use integer options, not enum.
63087         Put the options before the sizes in the arg list.
63088         Support all the new options.
63089         The old human_readable function has been removed;
63090         use inttostr.h instead.
63091         (human_readable, default_block_size, humblock):
63092         Use uintmax_t, not int, for block sizes.
63093         (human_readable_inexact, block_size_types): Remove.
63094         (block_size_opts): New constant.
63095         (human_options): Renamed from human_block_size, with new signature
63096         that allows block sizes up to UINTMAX_MAX.  All callers changed.
63097         * lib/human.h: Add copyright and authorship notice.
63098         Include <limits.h> and <stdbool.h> unconditionally.
63099         (PARAMS): Remove.  All uses removed.
63100         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
63101         (enum human_inexact_style): Remove tag; now a nameless enum.
63102         (human_floor, human_ceiling, human_round_to_even): Now have
63103         values 2, 0, 1 rather than -1, 1, 0.
63104         (human_group_digits, human_suppress_point_zero, human_autoscale,
63105         human_base_1024, human_SI, human_B): New constants.
63106         (human_readable_inexact, human_block_size): Remove.
63107         (human_readable): Size args are now uintmax_t, not int.
63108         (human_options): New decl.
63109
63110         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
63111         unnecessary now that we assume C89 or better.  This change
63112         imported from coreutils.
63113
63114         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
63115         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
63116         in the 2003-05-30 sync from glibc.
63117
63118         .h files should stand alone, but we shouldn't include <sys/types.h>
63119         if we can get away with just <stddef.h>.
63120
63121         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
63122         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
63123         rather than <sys/types.h>, as we merely need size_t.
63124         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
63125         to get size_t.
63126         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
63127         Include <stdio.h>, to get FILE.
63128         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
63129         memcasecmp.h has included <stddef.h> and all we need is size_t.
63130         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
63131         our interface, instead of including <sys/types.h>
63132
63133 2003-06-04  Paul Eggert  <eggert@twinsun.com>
63134
63135         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
63136         now, as glibc mktime is buggy on non-glibc systems.
63137
63138 2003-06-03  Karl Berry  <karl@gnu.org>
63139
63140         * config/config.sub: update from prep.
63141
63142 2003-06-02  Paul Eggert  <eggert@twinsun.com>
63143
63144         [from coreutils]
63145         Fix some minor time-related bugs with POSIX time arguments.
63146         Some valid time stamps were being rejected (notably -1, and
63147         time stamps before 1900 on 64-bit hosts).  And some invalid
63148         time stamps were being accepted, e.g. September 31.
63149
63150         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
63151         that we can return (time_t) -1 successfully.
63152         * lib/posixtm.c: Likewise.
63153         [HAVE_STDBOOL_H]: Include <stdbool.h>.
63154         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
63155         (t): Remove static var.
63156         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
63157         of static var.  All uses changed.
63158         (year): Do not reject years before 1900; they can occur with
63159         64-bit time_t.
63160         (posix_time_parse): Do not check for out-of-range components;
63161         that is now the caller's responsibility, since our checks were
63162         only approximations.
63163         (posixtime): Use mktime to check for out-of-range components,
63164         since it knows them exactly.
63165         If mktime returns (time_t) -1, check whether an error actually occurred
63166         by invoking localtime on -1.
63167         (main) [TEST_POSIXTIME]: Check for input data errors, and report
63168         posixtime failures better.
63169         Improve the test data (in comments only).
63170
63171 2003-06-02  Karl Berry  <karl@gnu.org>
63172
63173         * config/mkinstalldirs (version): new variable.
63174         (--version): new option.
63175         (usage): improve message.
63176
63177 2003-05-30  Karl Berry  <karl@gnu.org>
63178
63179         * lib/mktime.c: update from libc.
63180
63181 2003-05-30  Bruno Haible  <bruno@clisp.org>
63182
63183         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
63184         * config/config.rpath: Upgrade to gettext-0.12.1.
63185
63186 2003-05-30  Bruno Haible  <bruno@clisp.org>
63187
63188         * m4/gettext.m4: Upgrade to gettext-0.12.1.
63189         * m4/nls.m4: New file, from gettext-0.12.1.
63190         * m4/po.m4: New file, from gettext-0.12.1.
63191         * m4/progtest.m4: Upgrade to gettext-0.12.1.
63192
63193 2003-05-30  Bruno Haible  <bruno@clisp.org>
63194
63195         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
63196         * lib/localcharset.h: Likewise.
63197         * lib/localcharset.c: Likewise.
63198
63199 2003-05-29  Karl Berry  <karl@gnu.org>
63200
63201         * config/config.rpath: update from gettext.
63202
63203 2003-05-28  Paul Eggert  <eggert@twinsun.com>
63204
63205         Assume the headers required for C89 freestanding compilers.
63206         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
63207         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
63208         * m4/human.m4 (gl_HUMAN): Likewise.
63209         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
63210         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
63211         * m4/userspec.m4 (gl_USERSPEC): Likewise.
63212         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
63213         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
63214         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
63215
63216 2003-05-28  Paul Eggert  <eggert@twinsun.com>
63217
63218         Assume the headers required for C89 freestanding compilers.
63219         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
63220         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
63221         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
63222         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
63223         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
63224         define, since <limits.h> is guaranteed to do that.
63225         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
63226         * lib/exclude.c: Include <stdbool.h> unconditionally.
63227         * lib/tempname.c: Include <stddef.h> unconditionally.
63228         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
63229         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
63230         <stddef.h> does that.
63231         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
63232         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
63233         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
63234         needed.
63235         * lib/xstrtol.c: Likewise.
63236         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
63237         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
63238
63239         * lib/addext.c (addext): Use assignment rather than cast, to avoid
63240         warnings on some platforms.
63241
63242         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
63243         arbitrarily.
63244
63245 2003-05-26  Jim Meyering  <jim@meyering.net>
63246
63247         Merge in a change from coreutils:
63248         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
63249         that is guaranteed to be `no'.  Use `no_such_member' to indicate
63250         that condition, rather than `-1' which is slightly misleading.
63251         Change the name of the cache variable to have the gl_ prefix.
63252         Prompted by a patch from Richard Dawe for DJGPP.
63253
63254 2003-05-24  Karl Berry  <karl@gnu.org>
63255
63256         * config/config.guess: update from prep.
63257
63258 2003-05-22  Karl Berry  <karl@gnu.org>
63259
63260         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
63261
63262 2003-05-20  Karl Berry  <karl@gnu.org>
63263
63264         * config/config.guess: update from prep.
63265
63266 2003-05-18  Karl Berry  <karl@gnu.org>
63267
63268         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
63269         might actually be set by the user.
63270
63271         * config/depcomp, install-sh, mdate-sh: update from automake.
63272
63273 2003-05-17  Bruno Haible  <bruno@clisp.org>
63274
63275         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
63276         invalid expansion for AC_EGREP_CPP.
63277         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
63278         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
63279         Suggested by Akim Demaille <akim@epita.fr> in
63280         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
63281
63282 2003-05-12  Jim Meyering  <jim@meyering.net>
63283
63284         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
63285         the space-padded-by-default conversion specifiers, %e, %k, %l.
63286
63287 2003-05-12  Bruno Haible  <bruno@clisp.org>
63288
63289         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
63290         the string is longer than 4 KB.
63291
63292 2003-05-11  Karl Berry  <karl@gnu.org>
63293
63294         * config/config.{guess,sub}: update from prep.
63295
63296 2003-05-09  Bruno Haible  <bruno@clisp.org>
63297
63298         * modules/error: Add m4/strerror_r.m4 to file list.
63299
63300 2003-05-03  Bruno Haible  <bruno@clisp.org>
63301
63302         Upgrade to Unicode-4.0.
63303         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
63304         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
63305         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
63306         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
63307         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
63308         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
63309         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
63310         Change width of U+E0100..U+E01EF from 1 to 0.
63311
63312 2003-04-25  Jim Meyering  <jim@meyering.net>
63313
63314         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
63315         of type size_t, not int.
63316
63317 2003-04-25  Bruno Haible  <bruno@clisp.org>
63318
63319         * lib/copy-file.c: Include <stddef.h>, for size_t.
63320
63321 2003-04-21  Paul Eggert  <eggert@twinsun.com>
63322
63323         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
63324         code which expansion is under static control.  Patch imported from
63325         Akim Demaille's patch to Bison; see
63326         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
63327
63328 2003-04-14  Bruno Haible  <bruno@clisp.org>
63329
63330         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
63331
63332 2003-04-11  Jim Meyering  <jim@meyering.net>
63333
63334         Merge changes from Coreutils.
63335
63336         2003-03-22  Jim Meyering  <jim@meyering.net>
63337
63338         * lib/strftime.c (widen): Cast alloca return value to proper type.
63339
63340         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
63341
63342         From GNU libc.
63343         * lib/strftime.c (my_strftime): Handle very large width
63344         specifications for numeric values correctly.  Improve checks for
63345         overflow.
63346
63347         2003-01-19  Jim Meyering  <jim@meyering.net>
63348
63349         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
63350         definitions.
63351         (nl_get_alt_digit) [! defined my_strftime]: Define.
63352         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
63353         _nl_get_alt_digit and _nl_get_walt_digit.
63354
63355         * lib/strftime.c (my_strftime): Merge in locale-related changes from
63356         libc. These changes have no effect outside of _LIBC.
63357
63358 2003-04-10  Bruno Haible  <bruno@clisp.org>
63359
63360         * modules/findprog: New file.
63361         * MODULES.html.sh (func_all_modules): Add it.
63362
63363 2003-04-10  Bruno Haible  <bruno@clisp.org>
63364
63365         * m4/findprog.m4: New file.
63366         * m4/eaccess.m4: New file.
63367
63368 2003-04-10  Bruno Haible  <bruno@clisp.org>
63369
63370         * lib/findprog.h: New file, from GNU gettext.
63371         * lib/findprog.c: New file, from GNU gettext.
63372
63373 2003-04-05  Jim Meyering  <jim@meyering.net>
63374
63375         Merge changes from Coreutils.
63376
63377         * lib/exclude.h (PARAMS): Remove definition and uses.
63378         * lib/exclude.c: Remove uses of `PARAMS'.
63379
63380         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
63381         Add test-cases for DOS filenames. Declare program_name.
63382         (main): Set up program_name.  Patch by Rich Dawe.
63383
63384         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
63385         error from mntctl.
63386         Use mntctl's return value to drive the entry-processing loop, since
63387         we can't rely on the value of the vmt_length member in the last
63388         entry.  On some systems doing so could result in exhausting
63389         virtual memory.  Based in part on a patch from Mike Jetzer.
63390
63391 2003-04-04  Bruno Haible  <bruno@clisp.org>
63392
63393         * modules/linebreak: New file.
63394         * MODULES.html.sh (func_all_modules): Add it.
63395
63396 2003-04-04  Bruno Haible  <bruno@clisp.org>
63397
63398         * m4/linebreak.m4: New file.
63399
63400 2003-04-04  Bruno Haible  <bruno@clisp.org>
63401
63402         * lib/linebreak.h: New file, from GNU gettext.
63403         * lib/linebreak.c: New file, from GNU gettext with slight
63404         modifications.
63405         * lib/lbrkprop.h: New file, from GNU gettext.
63406
63407 2003-04-03  Bruno Haible  <bruno@clisp.org>
63408
63409         * modules/utf8-ucs4: New file.
63410         * modules/utf16-ucs4: New file.
63411         * modules/ucs4-utf8: New file.
63412         * modules/ucs4-utf16: New file.
63413         * MODULES.html.sh (func_all_modules): Add them.
63414
63415 2003-04-03  Bruno Haible  <bruno@clisp.org>
63416
63417         * m4/utf-ucs4.m4: New file.
63418         * m4/ucs4-utf.m4: New file.
63419
63420 2003-04-03  Bruno Haible  <bruno@clisp.org>
63421
63422         * lib/utf8-ucs4.h: New file, from GNU gettext.
63423         * lib/utf16-ucs4.h: New file, from GNU gettext.
63424         * lib/ucs4-utf8.h: New file, from GNU gettext.
63425         * lib/ucs4-utf16.h: New file, from GNU gettext.
63426
63427 2003-04-02  Bruno Haible  <bruno@clisp.org>
63428
63429         * modules/binary-io: New file.
63430         * MODULES.html.sh (func_all_modules): Add it.
63431
63432 2003-04-02  Bruno Haible  <bruno@clisp.org>
63433
63434         * lib/binary-io.h: New file, from GNU gettext.
63435
63436 2003-04-01  Bruno Haible  <bruno@clisp.org>
63437
63438         * modules/pathname: New file.
63439         * MODULES.html.sh (func_all_modules): Add it.
63440
63441 2003-04-01  Bruno Haible  <bruno@clisp.org>
63442
63443         * lib/pathname.h: New file, from GNU gettext.
63444         * lib/concatpath.c: New file, from GNU gettext.
63445
63446 2003-03-30  Bruno Haible  <bruno@clisp.org>
63447
63448         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
63449
63450 2003-03-30  Bruno Haible  <bruno@clisp.org>
63451
63452         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
63453         function chown() doesn't exist.
63454
63455 2003-03-28  Bruno Haible  <bruno@clisp.org>
63456
63457         * modules/copy-file: New file.
63458         * MODULES.html.sh (func_all_modules): Add it.
63459
63460 2003-03-28  Bruno Haible  <bruno@clisp.org>
63461
63462         * m4/copy-file.m4: New file.
63463
63464 2003-03-28  Bruno Haible  <bruno@clisp.org>
63465
63466         * lib/copy-file.h: New file, from GNU gettext.
63467         * lib/copy-file.c: New file, from GNU gettext.
63468
63469 2003-03-18  Jim Meyering  <jim@meyering.net>
63470
63471         * lib/quote.c (quote_n): Fix typo in comment.
63472
63473 2003-03-18  Bruno Haible  <bruno@clisp.org>
63474
63475         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
63476         checking.
63477         * m4/onceonly_2_57.m4: Likewise.
63478
63479 2003-03-17  Bruno Haible  <bruno@clisp.org>
63480
63481         * m4/onceonly.m4: Require autoconf 2.54 or newer.
63482         (m4_quote): Remove macro.
63483         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
63484
63485 2003-03-14  Jim Meyering  <jim@meyering.net>
63486
63487         Merge changes from Coreutils.
63488         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
63489         to be const, in order to avoid warnings.
63490         (obstack_room): Likewise.
63491         (obstack_empty_p): Likewise.
63492
63493 2003-03-14  Bruno Haible  <bruno@clisp.org>
63494
63495         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
63496         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
63497
63498 2003-03-13  Paul Eggert  <eggert@twinsun.com>
63499
63500         Merge changes from Bison.
63501         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
63502         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
63503         when compiling Bison 1.875's `bitset bset = obstack_alloc
63504         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
63505         * lib/hash.c: Include <stdbool.h> unconditionally.
63506
63507 2003-03-13  Paul Eggert  <eggert@twinsun.com>
63508
63509         * m4/onceonly.m4 (m4_quote): New macro.
63510         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
63511         Quote AC_FOREACH variable-expansions properly.
63512
63513 2003-03-13  Paul Eggert  <eggert@twinsun.com>
63514
63515         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
63516
63517 2003-03-09  Paul Eggert  <eggert@twinsun.com>
63518
63519         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
63520         Reported by Bruce Becker; see:
63521         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
63522
63523 2003-03-03  Paul Eggert  <eggert@twinsun.com>
63524             Bruno Haible  <bruno@clisp.org>
63525
63526         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
63527         Reported by John Hughes, see
63528         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
63529
63530 2003-02-20  Bruno Haible  <bruno@clisp.org>
63531
63532         * MODULES.html.sh (func_all_modules): Add poll.
63533
63534 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
63535
63536         * modules/poll: New file.
63537
63538 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
63539
63540         * lib/poll_.h: New file.
63541         * lib/poll.c: New file.
63542
63543 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
63544
63545         * m4/poll.m4: New file.
63546
63547 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
63548
63549         * modules/mathl: New file.
63550
63551 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
63552
63553         * lib/mathl.h: New file.
63554         * lib/acosl.c: New file.
63555         * lib/asinl.c: New file.
63556         * lib/atanl.c: New file.
63557         * lib/ceill.c: New file.
63558         * lib/cosl.c: New file.
63559         * lib/expl.c: New file.
63560         * lib/floorl.c: New file.
63561         * lib/frexpl.c: New file.
63562         * lib/ldexpl.c: New file.
63563         * lib/logl.c: New file.
63564         * lib/sincosl.c: New file.
63565         * lib/sinl.c: New file.
63566         * lib/sqrtl.c: New file.
63567         * lib/tanl.c: New file.
63568         * lib/trigl.c: New file.
63569         * lib/trigl.h: New file.
63570
63571 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
63572
63573         * m4/mathl.m4: New file.
63574
63575 2003-02-18  Bruno Haible  <bruno@clisp.org>
63576
63577         * MODULES.html.sh (func_all_modules): Add mathl.
63578
63579 2003-02-17  Bruno Haible  <bruno@clisp.org>
63580
63581         * modules/mkdtemp: New module.
63582         * MODULES.html.sh (func_all_modules): Add it.
63583
63584 2003-02-17  Bruno Haible  <bruno@clisp.org>
63585
63586         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
63587
63588 2003-02-17  Bruno Haible  <bruno@clisp.org>
63589
63590         * lib/mkdtemp.h: New file, from GNU gettext.
63591         * lib/mkdtemp.c: New file, from GNU gettext.
63592
63593 2003-02-02  Jim Meyering  <jim@meyering.net>
63594
63595         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
63596         e.g. glibc-2.2.93.
63597
63598 2003-01-31  Bruno Haible  <bruno@clisp.org>
63599
63600         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
63601         'rpl_rename'.
63602         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
63603         'rpl_strnlen'.
63604         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
63605         'rpl_strtod'.
63606         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
63607         'rpl_utime'.
63608
63609 2003-01-31  Bruno Haible  <bruno@clisp.org>
63610
63611         * lib/rename.c: #undef rename before defining rpl_rename.
63612         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
63613
63614 2003-01-30  Bruno Haible  <bruno@clisp.org>
63615
63616         * modules/vasnprintf, modules/vasprintf: New modules.
63617         * MODULES.html.sh (func_all_modules): Add them.
63618
63619 2003-01-30  Bruno Haible  <bruno@clisp.org>
63620
63621         * m4/signed.m4: New file, from GNU gettext.
63622         * m4/longdouble.m4: New file, from GNU gettext.
63623         * m4/wchar_t.m4: New file, from GNU gettext.
63624         * m4/wint_t.m4: New file, from GNU gettext.
63625         * m4/vasnprintf.m4: New file.
63626         * m4/vasprintf.m4: New file.
63627
63628 2003-01-30  Bruno Haible  <bruno@clisp.org>
63629
63630         * lib/printf-args.h: New file, from GNU gettext.
63631         * lib/printf-args.c: New file, from GNU gettext.
63632         * lib/printf-parse.h: New file, from GNU gettext.
63633         * lib/printf-parse.c: New file, from GNU gettext.
63634         * lib/vasnprintf.h: New file, from GNU gettext.
63635         * lib/vasnprintf.c: New file, from GNU gettext.
63636         * lib/asnprintf.c: New file, from GNU gettext.
63637         * lib/vasprintf.h: New file, from GNU gettext with modifications.
63638         * lib/vasprintf.c: New file, from GNU gettext.
63639         * lib/asprintf.c: New file, from GNU gettext.
63640
63641 2003-01-29  Bruno Haible  <bruno@clisp.org>
63642
63643         * modules/stpncpy: New module.
63644         * MODULES.html.sh (func_all_modules): Add it.
63645
63646 2003-01-29  Bruno Haible  <bruno@clisp.org>
63647
63648         * m4/stpncpy.m4: New file.
63649
63650 2003-01-29  Bruno Haible  <bruno@clisp.org>
63651
63652         * lib/stpncpy.h: New file, from GNU gettext with modifications.
63653         * lib/stpncpy.c: New file, from GNU gettext with modifications.
63654
63655 2003-01-28  Bruno Haible  <bruno@clisp.org>
63656
63657         * modules/c-ctype: New module.
63658         * MODULES.html.sh (func_all_modules): Add it.
63659
63660 2003-01-28  Bruno Haible  <bruno@clisp.org>
63661
63662         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
63663         Paul Eggert.
63664         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
63665         Paul Eggert.
63666
63667 2003-01-27  Bruno Haible  <bruno@clisp.org>
63668
63669         * modules/xsetenv: New module.
63670         * MODULES.html.sh (func_all_modules): Add it.
63671
63672 2003-01-27  Bruno Haible  <bruno@clisp.org>
63673
63674         * lib/xsetenv.h: New file, from GNU gettext.
63675         * lib/xsetenv.c: New file, from GNU gettext.
63676
63677 2003-01-23  Jim Meyering  <jim@meyering.net>
63678
63679         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
63680         from working on systems without dirfd (at least Irix and OSF1/Tru64).
63681
63682 2003-01-23  Bruno Haible  <bruno@clisp.org>
63683
63684         * modules/minmax: New module.
63685         * MODULES.html.sh (func_all_modules): Add it.
63686
63687 2003-01-23  Bruno Haible  <bruno@clisp.org>
63688
63689         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
63690         Eggert.
63691
63692 2003-01-22  Bruno Haible  <bruno@clisp.org>
63693
63694         * modules/exit: New module.
63695         * MODULES.html.sh (func_all_modules): Add it.
63696
63697 2003-01-22  Bruno Haible  <bruno@clisp.org>
63698
63699         * lib/exit.h: New file, from GNU gettext.
63700
63701 2003-01-19  Bruno Haible  <bruno@clisp.org>
63702
63703         * gnulib-tool: Recognize option --extract-maintainer.
63704         (func_get_maintainer): New function.
63705         * modules/*: Add Maintainer entry.
63706
63707 2003-01-16  Jim Meyering  <jim@meyering.net>
63708
63709         * m4/regex.m4: The `regex' struct is both input and output.
63710         Initialize it before each use.  Patch by Tim Waugh.
63711
63712 2003-01-16  Bruno Haible  <bruno@clisp.org>
63713
63714         * MODULES.html.sh: Add a table of contents. Add the module name as
63715         leftmost column. Add hyperlinks.
63716
63717 2003-01-15  Bruno Haible  <bruno@clisp.org>
63718
63719         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
63720
63721 2003-01-15  Bruno Haible  <bruno@clisp.org>
63722
63723         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
63724         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
63725         suffix.
63726
63727 2003-01-15  Bruno Haible  <bruno@clisp.org>
63728
63729         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
63730
63731 2003-01-15  Bruno Haible  <bruno@clisp.org>
63732
63733         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
63734         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
63735
63736 2003-01-14  Jim Meyering  <jim@meyering.net>
63737
63738         * lib/same.c (same_name): Tweak a comment.
63739
63740 2003-01-14  Bruno Haible  <bruno@clisp.org>
63741
63742         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
63743         when a string comparison is sufficient.
63744
63745 2003-01-14  Bruno Haible  <bruno@clisp.org>
63746
63747         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
63748         'unsigned int'.
63749
63750 2003-01-14  Bruno Haible  <bruno@clisp.org>
63751
63752         * lib/hash-pjw.c: Add comment about low quality of this function.
63753
63754 2003-01-13  Bruno Haible  <bruno@clisp.org>
63755
63756         * modules/stpcpy: Distribute lib/stpcpy.h.
63757         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
63758
63759 2003-01-13  Bruno Haible  <bruno@clisp.org>
63760
63761         * modules/*: Add a description.
63762         * modules/strpbrk: Fix Makefile.am snippet.
63763         * modules/strtoimax: Fix dependencies.
63764         * modules/strtoumax: Likewise.
63765
63766 2003-01-13  Bruno Haible  <bruno@clisp.org>
63767
63768         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
63769         * modules/alloca (Makefile.am): All object files depend on alloca.h.
63770         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
63771
63772 2003-01-13  Bruno Haible  <bruno@clisp.org>
63773
63774         * gnulib-tool (func_create_testdir): Store config/* files in the main
63775         directory.
63776         * config.rpath: Move to ...
63777         * config/config.rpath: ... here.
63778         * modules/gettext: Contains config/config.rpath, not config.rpath.
63779         * modules/iconv: Likewise.
63780
63781 2003-01-12  Paul Eggert  <eggert@twinsun.com>
63782
63783         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
63784         to avoid collisions with libcurses and libreadline.
63785
63786         * m4/getstr.m4: Remove.
63787         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
63788
63789 2003-01-12  Paul Eggert  <eggert@twinsun.com>
63790
63791         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
63792         to avoid collisions with libcurses and libreadline.
63793
63794         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
63795         * lib/getstr.h, getstr.c: Remove.
63796         * lib/getline.c: Include "getline.h", to check interface.
63797         Move body of old getstr.c here: this defines MIN_CHUNK and
63798         declares getdelim2, which is renamed from getstr.
63799         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
63800
63801         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
63802         All uses changed.
63803         * lib/linebuffer.h: Likewise.
63804         (readline): Remove backward-compatibility macro.
63805
63806 2003-01-12  Paul Eggert  <eggert@twinsun.com>
63807
63808         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
63809         to avoid collisions with libcurses and libreadline.
63810         * getstr: Remove.
63811         * MODULES.html.sh: Remove getstr.
63812         * modules/getline: Depend on unlocked-io, not getstr.
63813
63814 2003-01-12  Jim Meyering  <jim@meyering.net>
63815
63816         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
63817
63818 2003-01-10  Bruno Haible  <bruno@clisp.org>
63819
63820         * modules/alloca: Change Makefile.am requirements. Simplify Include
63821         requirements. Add lib/alloca_.h to file list.
63822
63823 2003-01-10  Bruno Haible  <bruno@clisp.org>
63824
63825         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
63826
63827 2003-01-10  Bruno Haible  <bruno@clisp.org>
63828
63829         * lib/alloca_.h: New file.
63830         * lib/getdate.y: Unconditionally include alloca.h.
63831         * lib/makepath.c: Likewise.
63832         * lib/setenv.c: Likewise.
63833         * lib/userspec.c: Likewise.
63834
63835 2003-01-09  Karl Berry  <karl@gnu.org>
63836
63837         * MODULES.html.sh: include `dirname $0` in PATH, to find
63838         gnulib-tool.
63839
63840 2003-01-09  Bruno Haible  <bruno@clisp.org>
63841
63842         * modules/stdbool: Change configure.ac, Makefile.am requirements.
63843         Simplify Include requirements. Add lib/stdbool.h.in to file list.
63844
63845 2003-01-09  Bruno Haible  <bruno@clisp.org>
63846
63847         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
63848
63849 2003-01-09  Bruno Haible  <bruno@clisp.org>
63850
63851         * lib/stdbool.h.in: New file.
63852
63853 2003-01-09  Bruno Haible  <bruno@clisp.org>
63854
63855         * gnulib-tool (func_all_modules): Ignore files ending in ~.
63856         * MODULES.html.sh: Likewise.
63857
63858 2003-01-08  Jim Meyering  <jim@meyering.net>
63859
63860         * lib/full-write.c: Undefine and define-away `const' after inclusion
63861         of errno.h, not before.  Suggestion from Bruno Haible.
63862
63863 2003-01-08  Bruno Haible  <bruno@clisp.org>
63864
63865         * modules/full-read: Depend on full-write.
63866
63867 2003-01-08  Bruno Haible  <bruno@clisp.org>
63868
63869         * lib/safe-read.c: Include specification header first, to ensure its
63870         selfcontainedness.
63871         * lib/full-write.c: Likewise.
63872
63873 2003-01-07  Jim Meyering  <jim@meyering.net>
63874
63875         * lib/full-write.c: Rework so that it may serve to define full_read,
63876         too.
63877         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
63878
63879 2003-01-07  Bruno Haible  <bruno@clisp.org>
63880
63881         * lib/strtoimax.c: Include <stdint.h> as an alternative to
63882         <inttypes.h>.
63883         * lib/xstrtol.h: Likewise.
63884         * lib/xstrtoimax.c: Likewise.
63885         * lib/xstrtoumax.c: Likewise.
63886         * lib/human.h: Likewise.
63887
63888         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
63889         on systems that have <inttypes.h> but not <stdint.h>.
63890
63891 2003-01-07  Bruno Haible  <bruno@clisp.org>
63892
63893         * MODULES.html.sh: Add copyright notice.
63894         (missed_files): Omit CVS directory entries.
63895         (func_module): Make it work with sed-3.02.
63896         * MODULES.txt: Remove file.
63897
63898 2003-01-06  Jim Meyering  <jim@meyering.net>
63899
63900         * lib/version-etc.c: Update year in translatable copyright string.
63901
63902 2003-01-03  Karl Berry  <karl@gnu.org>
63903
63904         * config/config.{guess,sub}: update from prep.
63905
63906 2003-01-02  Karl Berry  <karl@gnu.org>
63907
63908         * doc/COPYING.DOC: belatedly updated to 1.2.
63909
63910 2003-01-01  Karl Berry  <karl@gnu.org>
63911
63912         * gnulib-tool (func_verify_module): report module name $module in
63913         error message, not $1.
63914         * gnulib-tool (create-testdir): don't complain if destdir couldn't
63915         be created, only if it doesn't exist.
63916         * gnulib-tool (last_checkin_date): don't expand the $Date here.
63917
63918 2002-12-31  Paul Eggert  <eggert@twinsun.com>
63919
63920         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
63921
63922 2002-12-31  Paul Eggert  <eggert@twinsun.com>
63923
63924         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
63925         memcmp if strcoll doesn't work.
63926
63927 2002-12-31  Bruno Haible  <bruno@clisp.org>
63928
63929         * lib/utime.c (utime_null): No need to call ftruncate if the file was
63930         nonempty.
63931
63932 2002-12-31  Bruno Haible  <bruno@clisp.org>
63933
63934         * lib/memcoll.c (STRCOLL): New macro.
63935         (memcoll): Use it.
63936
63937 2002-12-31  Bruno Haible  <bruno@clisp.org>
63938
63939         * lib/localcharset.h: New file.
63940         * lib/localcharset.c: Include it.
63941         * lib/unicodeio.c: Likewise.
63942
63943 2002-12-31  Bruno Haible  <bruno@clisp.org>
63944
63945         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
63946         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
63947
63948 2002-12-31  Bruno Haible  <bruno@clisp.org>
63949
63950         * lib/getline.h: Include <stddef.h>, for size_t.
63951
63952         * lib/unicodeio.h: Include <stddef.h>, for size_t.
63953         * lib/unicodeio.c: Don't include <stddef.h>.
63954
63955 2002-12-31  Bruno Haible  <bruno@clisp.org>
63956
63957         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
63958         HAVE_TM_ZONE.
63959
63960 2002-12-24  Karl Berry  <karl@gnu.org>
63961
63962         * config/config.guess: update from prep.
63963
63964 2002-12-24  Bruno Haible  <bruno@clisp.org>
63965
63966         General infrasructure.
63967         * m4/README: Rewritten.
63968         * m4/onceonly.m4: New file.
63969         * m4/onceonly_2_57.m4: New file.
63970
63971         Module atexit.
63972         * m4/atexit.m4: New file.
63973
63974         Module strtod.
63975         * m4/strtod.m4: New file.
63976
63977         Module strtol.
63978         * m4/strtol.m4: New file.
63979
63980         Module strtoul.
63981         * m4/strtoul.m4: New file.
63982
63983         Module memchr.
63984         * m4/memchr.m4: New file.
63985
63986         Module memcmp.
63987         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
63988         (jm_FUNC_MEMCMP): Invoke it.
63989
63990         Module memcpy.
63991         * m4/memcpy.m4: New file.
63992
63993         Module memmove.
63994         * m4/memmove.m4: New file.
63995
63996         Module memset.
63997         * m4/memset.m4: New file.
63998
63999         Module strcspn.
64000         * m4/strcspn.m4: New file.
64001
64002         Module strpbrk.
64003         * m4/strpbrk.m4: New file.
64004
64005         Module strstr.
64006         * m4/strstr.m4: New file.
64007
64008         Module strerror.
64009         * m4/strerror.m4: New file.
64010
64011         Module mktime.
64012         * m4/mktime.m4: Renamed from jm-mktime.m4.
64013         (gl_PREREQ_MKTIME): New macro.
64014         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
64015
64016         Module malloc.
64017         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
64018         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
64019         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
64020
64021         Module realloc.
64022         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
64023         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
64024         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
64025
64026         Module strftime.
64027         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
64028         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
64029         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
64030         gl_TM_GMTOFF.
64031         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
64032
64033         Module xalloc.
64034         * m4/xalloc.m4: New file.
64035
64036         Module alloca.
64037         * m4/alloca.m4: New file.
64038
64039         Module putenv.
64040         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
64041         (jm_FUNC_PUTENV): Invoke it.
64042
64043         Module setenv.
64044         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
64045         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
64046         when invoked twice.
64047         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
64048         gt_FUNC_SETENV.
64049
64050         Module memrchr.
64051         * m4/memrchr.m4: New file.
64052
64053         Module stpcpy.
64054         * m4/stpcpy.m4: New file.
64055
64056         Module strcase.
64057         * m4/strcase.m4: New file.
64058
64059         Module strdup.
64060         * m4/strdup.m4: New file.
64061
64062         Module strnlen.
64063         * m4/strnlen.m4: New file.
64064
64065         Module strndup.
64066         * m4/strndup.m4: New file.
64067
64068         Module xstrtod.
64069         * m4/xstrtod.m4: New file.
64070
64071         Module xstrtol.
64072         * m4/xstrtol.m4: New file.
64073
64074         Module getdate.
64075         * m4/getdate.m4: New file.
64076
64077         Module unlocked-io.
64078         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
64079         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
64080         * m4/jm-glibc-io.m4n: Remove file.
64081
64082         Module long-options.
64083         * m4/long-options.m4: New file.
64084
64085         Module md5.
64086         * m4/md5.m4: New file.
64087
64088         Module sha.
64089         * m4/sha.m4: New file.
64090
64091         Module getstr.
64092         * m4/getstr.m4: New file.
64093
64094         Module getline.
64095         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
64096         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
64097         <sys/types.h>, for size_t. Use the function name gnu_getline, not
64098         simply getline. Infoke gl_PREREQ_GETLINE.
64099
64100         Module obstack.
64101         * m4/obstack.m4: New file.
64102
64103         Module hash.
64104         * m4/hash.m4: New file.
64105
64106         Module readtokens.
64107         * m4/readtokens.m4: New file.
64108
64109         Module strverscmp.
64110         * m4/strverscmp.m4: New file.
64111
64112         Module stdbool.
64113         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
64114         OSF/1.
64115
64116         Module strtoll.
64117         * m4/strtoll.m4: New file.
64118
64119         Module strtoull.
64120         * m4/strtoull.m4: New file.
64121
64122         Module strtoimax.
64123         * m4/strtoimax.m4: New file.
64124
64125         Module strtoumax.
64126         * m4/strtoumax.m4: New file.
64127
64128         Module xstrtoimax.
64129         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
64130         jm_AC_PREREQ_XSTRTOIMAX.
64131         Moved the strtol prerequisites to strtol.m4.
64132         Moved the strtoll prerequisites to strtoll.m4.
64133         Moved the strtoimax prerequisites to strtoimax.m4.
64134
64135         Module xstrtoumax.
64136         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
64137         jm_AC_PREREQ_XSTRTOUMAX.
64138         Moved the strtoul prerequisites to strtoul.m4.
64139         Moved the strtoull prerequisites to strtoull.m4.
64140         Moved the strtoumax prerequisites to strtoumax.m4.
64141
64142         Module chown.
64143         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
64144         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
64145
64146         Module dup2.
64147         * m4/dup2.m4: New file.
64148
64149         Module ftruncate.
64150         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
64151         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
64152
64153         Module getgroups.
64154         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
64155         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
64156
64157         Module gettimeofday.
64158         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
64159         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
64160         gl_PREREQ_GETTIMEOFDAY.
64161
64162         Module mkdir.
64163         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
64164         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
64165
64166         Module mkstemp.
64167         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
64168         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
64169         jm_AC_TYPE_UINTMAX_T.
64170         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
64171
64172         Module stat.
64173         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
64174         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
64175
64176         Module lstat.
64177         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
64178         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
64179
64180         Module timespec.
64181         * m4/timespec.m4 (gl_TIMESPEC): New macro.
64182         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
64183         * m4/st_mtim.m4: Indentation.
64184
64185         Module nanosleep.
64186         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
64187         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
64188         gl_PREREQ_NANOSLEEP.
64189
64190         Module regex.
64191         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
64192         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
64193         (gl_REGEX): New macro.
64194
64195         Module rename.
64196         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
64197         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
64198
64199         Module rmdir.
64200         * m4/rmdir.m4: New file.
64201
64202         Module utime.
64203         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
64204         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
64205         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
64206
64207         Module dirname.
64208         * m4/dirname.m4: New file.
64209
64210         Module getopt.
64211         * m4/getopt.m4: New file.
64212
64213         Module unistd-safer.
64214         * m4/unistd-safer.m4: New file.
64215
64216         Module fnmatch.
64217         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
64218         declaration.
64219         (gl_PREREQ_FNMATCH_EXTRA): New macro.
64220         (gl_FUNC_FNMATCH_POSIX): New macro.
64221         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
64222         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
64223         simply fnmatch.
64224
64225         Module exclude.
64226         * m4/exclude.m4: New file.
64227
64228         Module human.
64229         * m4/human.m4: New file.
64230
64231         Module acl.
64232         * m4/acl.m4: Nop.
64233
64234         Module backupfile.
64235         * m4/backupfile.m4: New file.
64236         * m4/d-ino.m4: Indentation.
64237
64238         Module fsusage.
64239         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
64240         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
64241         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
64242
64243         Module dirfd.
64244         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
64245         requirements.
64246
64247         Module euidaccess.
64248         * m4/euidaccess.m4: New file.
64249
64250         Module file-type.
64251         * m4/file-type.m4: New file.
64252
64253         Module fileblocks.
64254         * m4/fileblocks.m4: New file.
64255
64256         Module filemode.
64257         * m4/filemode.m4: New file.
64258
64259         Module isdir.
64260         * m4/isdir.m4: New file.
64261
64262         Module lchown.
64263         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
64264         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
64265
64266         Module makepath.
64267         * m4/makepath.m4: New file.
64268
64269         Module modechange.
64270         * m4/modechange.m4: New file.
64271
64272         Module mountlist.
64273         * m4/mountlist.m4: New file.
64274         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
64275         Indentation.
64276
64277         Module path-concat.
64278         * m4/path-concat.m4: New file.
64279
64280         Module pathmax.
64281         * m4/pathmax.m4: New file.
64282
64283         Module same.
64284         * m4/same.m4: New file.
64285
64286         Module save-cwd.
64287         * m4/save-cwd.m4: New file.
64288
64289         Module savedir.
64290         * m4/savedir.m4: New file.
64291
64292         Module xgetcwd.
64293         * m4/xgetcwd.m4: New file.
64294         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
64295
64296         Module xreadlink.
64297         * m4/xreadlink.m4: New file.
64298
64299         Module safe-read.
64300         * m4/safe-read.m4: New file.
64301
64302         Module safe-write.
64303         * m4/safe-write.m4: New file.
64304
64305         Module closeout.
64306         * m4/closeout.m4: New file.
64307
64308         Module stdio-safer.
64309         * m4/stdio-safer.m4: New file.
64310
64311         Module getpass.
64312         * m4/getpass.m4: New file.
64313
64314         Module getugroups.
64315         * m4/getugroups.m4: New file.
64316
64317         Module group-member.
64318         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
64319         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
64320
64321         Module idcache.
64322         * m4/idcache.m4: New file.
64323
64324         Module userspec.
64325         * m4/userspec.m4: New file.
64326
64327         Module gettime.
64328         * m4/clock_time.m4: New file.
64329         * m4/gettime.m4: New file.
64330
64331         Module settime.
64332         * m4/settime.m4: New file.
64333
64334         Module posixtm.
64335         * m4/posixtm.m4: New file.
64336
64337         Module gethostname.
64338         * m4/gethostname.m4: New file.
64339
64340         Module canon-host.
64341         * m4/canon-host.m4: New file.
64342
64343         Module gettext.
64344         * m4/codeset.m4: New file, from gettext-0.11.5.
64345         * m4/gettext.m4: New file, from gettext-0.11.5.
64346         * m4/glibc21.m4: New file, from gettext-0.11.5.
64347         * m4/iconv.m4: New file, from gettext-0.11.5.
64348         * m4/intdiv0.m4: New file, from gettext-0.11.5.
64349         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
64350         * m4/inttypes.m4: New file, from gettext-0.11.5.
64351         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
64352         * m4/isc-posix.m4: New file, from gettext-0.11.5.
64353         * m4/lcmessage.m4: New file, from gettext-0.11.5.
64354         * m4/lib-ld.m4: New file, from gettext-0.11.5.
64355         * m4/lib-link.m4: New file, from gettext-0.11.5.
64356         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
64357         * m4/progtest.m4: New file, from gettext-0.11.5.
64358         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
64359         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
64360         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
64361
64362         Module localcharset.
64363         * m4/localcharset.m4: New file.
64364
64365         Module hard-locale.
64366         * m4/hard-locale.m4: New file.
64367
64368         Module mbswidth.
64369         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
64370         onceonly macros.
64371         * m4/mbrtowc.m4: Add comment.
64372
64373         Module memcasecmp.
64374         * m4/memcasecmp.m4: New file.
64375
64376         Module memcoll.
64377         * m4/memcoll.m4: New file.
64378
64379         Module unicodeio.
64380         * m4/unicodeio.m4: New file.
64381
64382         Module rpmatch.
64383         * m4/rpmatch.m4: New file.
64384
64385         Module yesno.
64386         * m4/yesno.m4: New file.
64387
64388         Module exitfail.
64389         * m4/exitfail.m4: New file.
64390
64391         Module c-stack.
64392         * m4/c-stack.m4 (gl_C_STACK): New macro.
64393         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
64394
64395         Module error.
64396         * m4/error.m4 (gl_ERROR): New macro.
64397         (jm_PREREQ_ERROR): Use onceonly macros.
64398
64399         Module fatal.
64400         * m4/fatal.m4: New file.
64401
64402         Module getloadavg.
64403         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
64404         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
64405
64406         Module getpagesize.
64407         * m4/getpagesize.m4: New file.
64408
64409         Module getusershell.
64410         * m4/getusershell.m4: New file.
64411
64412         Module physmem.
64413         * m4/physmem.m4: New file.
64414
64415         Module posixver.
64416         * m4/posixver.m4: New file.
64417
64418         Module quotearg.
64419         * m4/quotearg.m4: New file.
64420
64421         Module quote.
64422         * m4/quote.m4: New file.
64423
64424         Module readutmp.
64425         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
64426
64427         Module sig2str.
64428         * m4/sig2str.m4: New file.
64429
64430         Other.
64431         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
64432         ulonglong.m4.
64433         * m4/intmax_t.m4: New file.
64434         * m4/d-type.m4: Indentation.
64435         * m4/jm-macros.m4: Update.
64436         * m4/prereq.m4 (jm_PREREQ): Update.
64437         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
64438         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
64439         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
64440         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
64441         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
64442         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
64443         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
64444         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
64445         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
64446         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
64447         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
64448         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
64449         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
64450         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
64451         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
64452         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
64453         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
64454         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
64455         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
64456
64457 2002-12-24  Bruno Haible  <bruno@clisp.org>
64458
64459         * MODULES.txt: Update according to m4/ changes.
64460
64461         Module gettext.
64462         * config.rpath: New file, from gettext-0.11.5.
64463
64464         * modules/*: New module descriptions.
64465         * gnulib-tool: New file.
64466         * MODULES.html.sh: New file.
64467
64468 2002-12-21  Karl Berry  <karl@gnu.org>
64469
64470         * doc/fdl.texi: update to version 1.2.
64471
64472 2002-12-19  Karl Berry  <karl@gnu.org>
64473
64474         * config/config.guess: update from prep.
64475
64476 2002-12-18  Bruno Haible  <bruno@clisp.org>
64477
64478         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
64479         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
64480
64481 2002-12-17  Bruno Haible  <bruno@clisp.org>
64482
64483         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
64484         stdlib.h, string.h.
64485
64486 2002-12-17  Bruno Haible  <bruno@clisp.org>
64487
64488         * lib/canon-host.c (strdup): Remove unused declaration.
64489
64490         * lib/fsusage.c: Include full_read.h.
64491         (get_fs_usage): Use full_read instead of safe_read.
64492
64493         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
64494
64495 2002-12-12  Karl Berry  <karl@gnu.org>
64496
64497         * config/config.guess: update from prep.
64498
64499 2002-12-11  Bruno Haible  <bruno@clisp.org>
64500
64501         * m4/setenv.m4: New file, from gettext-0.11.5.
64502
64503 2002-12-11  Bruno Haible  <bruno@clisp.org>
64504
64505         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
64506         not unsetenv().
64507         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
64508         modifications:
64509
64510         2002-12-11  Bruno Haible  <bruno@clisp.org>
64511
64512                 * setenv.c (alloca): Fall back to malloc.
64513                 (freea): New macro.
64514                 (setenv): Use freea() to free memory allocated with alloca().
64515
64516         2002-11-13  Bruno Haible  <bruno@clisp.org>
64517
64518                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
64519                 function declarations.
64520                 * unsetenv.c (unsetenv): Likewise.
64521
64522         2002-03-04  Bruno Haible  <bruno@clisp.org>
64523
64524                 Portability to AIX 4.3.3.
64525                 * unsetenv.c: New file, extracted from setenv.c.
64526                 * setenv.c: Move the unsetenv() function to unsetenv.c.
64527
64528         2001-12-20  Bruno Haible  <bruno@clisp.org>
64529
64530                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
64531                 use malloc instead. For SunOS 4.
64532
64533         2001-12-11  Bruno Haible  <bruno@clisp.org>
64534
64535                 * setenv.c: Declare alloca.
64536                 (compar_fn_t): New typedef.
64537                 (KNOWN_VALUE, STORE_VALUE): Use it.
64538
64539         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
64540         setenv.h.
64541
64542 2002-12-10  Paul Eggert  <eggert@twinsun.com>
64543
64544         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
64545         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
64546         Choose values that are less likely to collide with system fnmatch
64547         options.
64548         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
64549         defined (e.g., a pure POSIX system).
64550         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
64551         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
64552
64553 2002-12-06  Paul Eggert  <eggert@twinsun.com>
64554
64555         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
64556         a pain in practice to deal with generated m4 files.  This change
64557         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
64558
64559         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
64560         and jm-glibc-io.m4, as they are no longer a special case.
64561         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
64562         kludge and the auto-generation stuff.  Check only whether the
64563         functions are declared, not whether they exist, since older hosts
64564         that don't declare the functions can't use the optimization anyway.
64565
64566 2002-12-06  Jim Meyering  <jim@meyering.net>
64567
64568         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
64569
64570         Merge in changes from libc's misc/error.c, in preparation
64571         for the merge of gnulib's changes back into libc.
64572
64573         * lib/error.c (_): Define only if not already defined.
64574         Move definition to follow all #include directives.
64575         Include unlocked-io.h only if !_LIBC.
64576         [_LIBC]: Include <libio/libioP.h>.
64577         [USE_IN_LIBIO]: Include <libio/iolibio.h>
64578         (fflush): Tweak definition to use INTUSE.
64579         (putc): Define.
64580
64581 2002-12-05  Paul Eggert  <eggert@twinsun.com>
64582
64583         * lib/alloca.c [defined emacs]: Include "lisp.h".
64584         (xalloc_die) [defined emacs]: New macro.
64585         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
64586         [! defined emacs]: Include <xalloc.h>.
64587         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
64588         (pointer): Typedef to POINTER_TYPE *.
64589         (malloc): Remove decl; we now always use xmalloc.
64590         (alloca): Use old-style definition, since Emacs needs this.
64591         Check for arithmetic overflow when computing combined size.
64592
64593 2002-12-04  Paul Eggert  <eggert@twinsun.com>
64594
64595         Do not generate unlocked-io.h automatically, since it's easier to
64596         maintain it by hand.
64597
64598         * lib/unlocked-io.h: New file, from GNU diffutils,
64599         but with proper copyright notice and attribution.
64600         * lib/gen-uio: Remove.
64601         * lib/Makefile.am: Add copyright notice.
64602         (libfetish_a_SOURCES): Add unlocked-io.h.
64603         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
64604         (DISTCLEANFILES, io_functions): Remove macros.
64605         (EXTRA_DIST): Remove gen_uio.
64606         (unlocked-io.h): Remove rule.
64607
64608 2002-12-04  Jim Meyering  <jim@meyering.net>
64609
64610         Reflect the fact that stat.c and lstat.c are no longer generated.
64611         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
64612         (DISTCLEANFILES): Likewise.
64613         (EXTRA_DIST): Likewise.
64614         (all_local): Don't depend on stat.c or lstat.c.
64615         (stat.c, lstat.c): Remove rules.
64616         (EXTRA_DIST): Remove xstat.in.
64617
64618         * lib/xstat.in: Remove file.  Contents moved into stat.c.
64619         * lib/stat.c: New file.  Contents mostly from xstat.in.
64620         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
64621         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
64622
64623         * lib/safe-read.c: Rework so that it may serve to define safe_write,
64624         too.
64625         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
64626
64627 2002-12-03  Jim Meyering  <jim@meyering.net>
64628
64629         * lib/safe-read.c, safe-write.c: Change variable names and comments,
64630         but not semantics, to minimize the differences between these two files.
64631         (safe_read): Change comment to mention SAFE_READ_ERROR.
64632
64633         * lib/safe-read.c (IS_EINTR): Define.
64634         (safe_read): Use IS_EINTR in place of in-function cpp directives.
64635
64636 2002-12-02  Jim Meyering  <jim@meyering.net>
64637
64638         * lib/safe-read.c (EINTR): Define.
64639         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
64640         (INT_MAX): Provide fallback.
64641         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
64642
64643         * lib/safe-read.h (SAFE_READ_ERROR): Define.
64644
64645 2002-12-02  Bruno Haible  <bruno@clisp.org>
64646
64647         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
64648         Define, taken from safe-read.c.
64649         (INT_MAX): Provide fallback.
64650         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
64651         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
64652
64653         * lib/safe-read.c (EINTR): Remove definition.
64654         (safe_read): Don't use EINTR if it is absent.
64655
64656 2002-12-01  Jim Meyering  <jim@meyering.net>
64657
64658         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
64659         zero.
64660         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
64661
64662 2002-11-27  Paul Eggert  <eggert@twinsun.com>
64663
64664         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
64665         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
64666         with `if (! (value < limit)) abort ();', for readability.
64667
64668 2002-11-26  Karl Berry  <karl@gnu.org>
64669
64670         * lib/strdup.c: copy from libc again, with jim's ok.
64671         * lib/.cppi-disable: re-add strdup.c
64672
64673 2002-11-25  Karl Berry  <karl@gnu.org>
64674
64675         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
64676         instead of "strtol.c".
64677
64678 2002-11-25  Karl Berry  <karl@gnu.org>
64679
64680         * config/install-sh: update from automake for variable quoting, $0 in
64681         error msgs, etc.
64682
64683         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
64684         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
64685         entry.
64686
64687 2002-11-25  Jim Meyering  <jim@meyering.net>
64688
64689         * lib/mktime.c: Sync from libc, now that it has the latest fix.
64690
64691 2002-11-24  Karl Berry  <karl@gnu.org>
64692
64693         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
64694         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
64695
64696 2002-11-24  Jim Meyering  <jim@meyering.net>
64697
64698         Update from coreutils:
64699
64700         * lib/mktime.c: Merge in changes from libc.
64701
64702         Avoid a link-time failure on some Linux systems.
64703         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
64704         (otherwise).
64705         (__mon_yday): Declare with the STATIC attribute.
64706         (__mktime_internal): Likewise.
64707         Based on a report from Greg Schafer.
64708
64709 2002-11-23  Jim Meyering  <jim@meyering.net>
64710
64711         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
64712         Use `unsigned', not `int', as type of index.
64713
64714         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
64715
64716         * lib/fsusage.c: Remove unneeded parentheses around operands of
64717         `defined'.
64718
64719 2002-11-22  Paul Eggert  <eggert@twinsun.com>
64720
64721         * lib/quotearg.h: Allow multiple inclusion by surrounding with
64722         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
64723         so that we can be included first.
64724         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
64725         * lib/quotearg.c: Include quotearg.h immediately after config.h.
64726         No need to include stddef.h or sys/types.h any more.
64727         Surround local include files with "", not "<>".
64728         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
64729         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
64730         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
64731         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
64732         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
64733         (ISPRINT): Remove; no longer needed now that we assume C89.
64734
64735         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
64736         Preserve errno.
64737
64738         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
64739         quotearg_char): Use SIZE_MAX rather than
64740         (size_t) -1 when we are talking about "infinity".
64741
64742         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
64743
64744 2002-11-22  Paul Eggert  <eggert@twinsun.com>
64745
64746         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
64747         hint that one should use `if (! x) abort ();' rather than `assert
64748         (x);', and anyway it's one less thing to worry about configuring.
64749         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
64750         hash_rehash, hash_insert): Use abort rather than assert.
64751
64752 2002-11-22  Bruno Haible  <bruno@clisp.org>
64753
64754         * lib/safe-read.h: Assume C89. Add comments.
64755         (safe_read): Change return type to size_t.
64756         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
64757         byte counts > SSIZE_MAX correctly.
64758         * lib/safe-write.h: New file.
64759         * lib/safe-write.c: New file.
64760         * lib/full-read.h: New file.
64761         * lib/full-read.c: New file.
64762         * lib/full-write.h: Assume C89. Add comments.
64763         * lib/full-write.c: Include safe-write.h.
64764         (full_write): Rewritten to use safe_write.
64765         Suggested by Jim Meyering and Paul Eggert.
64766
64767 2002-11-21  Jim Meyering  <jim@meyering.net>
64768
64769         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
64770
64771         Merge in changes from the coreutils.
64772
64773         2002-09-25  Paul Eggert  <eggert@twinsun.com>
64774         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
64775         <stdint.h>.
64776         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
64777         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
64778         int.  Work more efficiently if X is the same width as uintmax_t.
64779         Do not compare X to -1, to avoid bogus compiler warning.
64780         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
64781         Don't assume that f_frsize and f_bsize are the same type.
64782
64783         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
64784         warning on FreeBSD.
64785
64786         * lib/makepath.c (make_path): Restore umask *before* creating the final
64787         component.
64788         (make_path): Minor reformatting.
64789
64790         * lib/xmalloc.c: Adjust to work with new autoconf macros,
64791         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
64792         HAVE_MALLOC/HAVE_REALLOC.
64793
64794         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
64795         dummy ones.  At least on GNU/Linux systems, `auto' means something
64796         else.
64797         From Michael Stone.
64798
64799 2002-11-21  Bruno Haible  <bruno@clisp.org>
64800
64801         Remove case insensitive option matching.
64802         * lib/argmatch.h (argcasematch): Remove declaration.
64803         (ARGCASEMATCH): Remove macro.
64804         (__xargmatch_internal): Remove case_sensitive argument.
64805         (XARGMATCH): Update.
64806         (XARGCASEMATCH): Remove macro.
64807         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
64808         case_sensitive argument.
64809         (argcasematch): Remove function.
64810         (__xargmatch_internal): Remove case_sensitive argument.
64811         (main): Use XARGMATCH instead of XARGCASEMATCH.
64812
64813         * lib/xmalloc.c: Change compile-time error message. Add comment about
64814         required autoconf version.
64815
64816 2002-11-20  Paul Eggert  <eggert@twinsun.com>
64817
64818         Merge argmatch cleanups from Bison.  Assume C89.
64819
64820         * lib/argmatch.c: Include config.h here, not in argmatch.h.
64821         Include stdlib.h, for EXIT_FAILURE.
64822         Always include <string.h>, since we assume C89.
64823         (EXIT_FAILURE): Remove pre-C89 bug workaround.
64824         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
64825         Include <stddef.h> instead, since it's all we need for size_t.
64826         (PARAMS): Remove.  All uses removed.
64827         (ARRAY_CARDINALITY): Do not bother to #undef.
64828         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
64829         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
64830         Remove unnecessary parentheses.
64831         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
64832         Insert necessary parentheses.
64833         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
64834         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
64835
64836 2002-11-19  Bruno Haible  <bruno@clisp.org>
64837
64838         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
64839         * lib/mbswidth.h: Include <stddef.h>, for size_t.
64840
64841         * lib/mbswidth.h (PARAMS): Remove macro.
64842         (mbswidth, mbsnwidth): Use ANSI C function declarations.
64843         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
64844
64845         * lib/gcd.h (PARAMS): Remove macro.
64846         (gcd): Use ANSI C function declarations.
64847         * lib/gcd.c (gcd): Likewise.
64848
64849 2002-11-15  Bruno Haible  <bruno@clisp.org>
64850
64851         * lib/strcspn.c: Include <stddef.h>.
64852         (strcspn): Use ANSI C function declaration. Change return type to
64853         size_t. Use NULL.
64854         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
64855         (strpbrk): Use NULL.
64856         * lib/strpbrk.h (PARAMS): Remove macro.
64857         (strpbrk): Use ANSI C function declaration.
64858         * lib/strstr.c: Don't include <sys/types.h>.
64859         * lib/strstr.h (PARAMS): Remove macro.
64860         (strstr): Use ANSI C function declarations.
64861
64862 2002-11-14  Karl Berry  <karl@gnu.org>
64863
64864         * config/mkinstalldirs: `do' on separate line, instead of
64865         `for var; do'.
64866
64867 2002-11-06  Bruno Haible  <bruno@clisp.org>
64868
64869         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
64870         * lib/gcd.c (gcd): Likewise.
64871
64872 2002-11-05  Bruno Haible  <bruno@clisp.org>
64873
64874         * lib/gcd.h: New file, from gettext-0.11.5.
64875         * lib/gcd.c: New file, from gettext-0.11.5.
64876
64877 2002-11-05  Bruno Haible  <bruno@clisp.org>
64878
64879         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
64880         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
64881         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
64882         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
64883
64884         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
64885         <libintl.h>.
64886         * lib/makepath.c: Include gettext.h instead of <locale.h> and
64887         <libintl.h>.
64888
64889         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
64890         * lib/human.c: Include gettext.h instead of <libintl.h>.
64891         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
64892         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
64893         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
64894         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
64895         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
64896         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
64897         (textdomain): Remove definition.
64898         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
64899
64900         * lib/long-options.c: Remove include of <libintl.h> and definition of
64901         _.
64902         * lib/same.c: Remove include of <libintl.h> and definition of _.
64903
64904 2002-11-04  Owen Taylor  <otaylor@redhat.com>
64905
64906         * lib/config.charset: A few additions for Solaris.
64907
64908 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
64909
64910         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
64911         * lib/localcharset.c (locale_charset): Declare as extern "C".
64912
64913 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
64914
64915         * lib/config.charset: msdos in uk_UA uses CP1125.
64916
64917 2002-11-04  Bruno Haible  <bruno@clisp.org>
64918
64919         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
64920         * lib/strcase.h: New file, from GNU gettext-0.11.5.
64921         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
64922         * lib/strstr.h: New file, from GNU gettext-0.11.5.
64923         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
64924
64925 2002-11-04  Bruno Haible  <bruno@clisp.org>
64926
64927         * lib/localcharset.c (locale_charset): Don't return an empty string.
64928
64929 2002-11-04  Bruno Haible  <bruno@clisp.org>
64930
64931         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
64932         aliases.
64933
64934 2002-11-04  Bruno Haible  <bruno@clisp.org>
64935
64936         * lib/config.charset: Update for newest glibc. Add canonical names
64937         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
64938
64939 2002-11-04  Bruno Haible  <bruno@clisp.org>
64940
64941         * lib/config.charset: Add support for NetBSD.
64942
64943 2002-11-04  Bruno Haible  <bruno@clisp.org>
64944
64945         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
64946
64947 2002-11-01  Bruno Haible  <bruno@clisp.org>
64948
64949         * configure.in: Add AC_CONFIG_AUX_DIR call.
64950         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
64951         test/Makefile.
64952         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
64953
64954 2002-09-28  Karl Berry  <karl@gnu.org>
64955
64956         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
64957         installed automake until the next release, since changes have been
64958         made.
64959
64960 2002-09-25  Karl Berry  <karl@gnu.org>
64961
64962         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
64963         * lib/getopt*: copy from libc/posix.
64964         * lib/gettext.h: copy from gettext.
64965         * lib/.cppi-disable: add strdup.c, gettext.h.
64966
64967 2002-09-25  Karl Berry  <karl@gnu.org>
64968
64969         * config/srclist.txt: enable gettext.h check.
64970         * config/config.{guess,sub}: update from prep.
64971         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
64972                 from automake 1.6.3.
64973         See srclist*.
64974
64975 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
64976
64977         * regex.c (PATFETCH): Remove the translating fetch.
64978         (PATFETCH_RAW): Rename to PATFETCH.
64979         (set_image_of_range): New fun.
64980         (SET_RANGE_TABLE_WORK_AREA): Use it.
64981         (regex_compile): Don't translate the pattern chars so eagerly.
64982         Only do it when inserting an `exactn' bytecode or when handling
64983         a char-range.
64984         (mutually_exclusive_p): Avoid empty statement.
64985
64986 2002-07-06  Jim Meyering  <meyering@lucent.com>
64987
64988         * m4/README: Don't mention Makefile.am.in.
64989         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
64990
64991 2002-07-01  Jim Meyering  <meyering@lucent.com>
64992
64993         * lib/c-stack.c: Include sys/time.h.
64994         From Volker Borchert.
64995
64996 2002-06-26  Paul Eggert  <eggert@twinsun.com>
64997
64998         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
64999
65000 2002-06-26  Paul Eggert  <eggert@twinsun.com>
65001
65002         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
65003         New macro.  Use it uniformly instead of
65004         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
65005         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
65006         reported by Vin Shelton.
65007
65008 2002-06-22  Paul Eggert  <eggert@twinsun.com>
65009
65010         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
65011         Do not assume SA_SIGINFO behavior.
65012         Bug reported by Jim Meyering on NetBSD 1.5.2.
65013
65014 2002-06-22  Jim Meyering  <meyering@lucent.com>
65015
65016         * m4/c-stack.m4: New file, from diffutils-2.8.2.
65017         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
65018
65019         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
65020         now that configure.ac uses AC_GNU_SOURCE.
65021         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
65022         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
65023
65024         Update to latest tools.  Suggestions from Paul Eggert.
65025         * m4/stdbool.m4: New file, from diffutils-2.8.2.
65026         * m4/gnu-source.m4: Update from diffutils-2.8.2.
65027         * m4/fnmatch.m4: Likewise.
65028         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
65029         to AC_HEADER_STDBOOL
65030
65031 2002-06-22  Jim Meyering  <meyering@lucent.com>
65032
65033         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
65034         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
65035
65036 2002-06-22  Jim Meyering  <meyering@lucent.com>
65037
65038         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
65039
65040         * lib/exitfail.c, exitfail.h: Likewise.
65041         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
65042
65043         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
65044         of fnmatch.h.
65045         (EXTRA_DIST): Add fnmatch_loop.c.
65046         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
65047
65048         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
65049         * lib/fnmatch.c: Update from diffutils-2.8.2.
65050         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
65051         * lib/fnmatch.h: Remove file.
65052
65053 2002-06-21  Jim Meyering  <meyering@lucent.com>
65054
65055         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
65056         * m4/mbrtowc.m4: Likewise.
65057
65058         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
65059         * m4/mbswidth.m4: Reflect name change:
65060         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
65061         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
65062
65063         * m4/lib-link.m4: Update from gettext-0.11.2.
65064         * m4/gettext.m4: Likewise.
65065
65066         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
65067         From Alfred M. Szmidt.
65068
65069 2002-06-18  Paul Eggert  <eggert@twinsun.com>
65070
65071         * lib/file-type.h: Report an error if neither S_ISREG nor
65072         S_IFREG is defined, instead of using a test specific to glibc
65073         2.2.  This should be safe, since POSIX requires S_ISREG and
65074         Unix Version 7 had S_IFREG.  We don't need to check for
65075         <sys/types.h> since we don't use any symbols that it defines.
65076
65077 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
65078
65079         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
65080         $@-t, so that each temporary file name is unique and valid in the first
65081         8 characters, for operation under DOS.
65082
65083 2002-06-15  Paul Eggert  <eggert@twinsun.com>
65084
65085         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
65086
65087 2002-06-15  Jim Meyering  <meyering@lucent.com>
65088
65089         Work even with DJGPP 2.03, which lacks support for symlinks.
65090         From Richard Dawe.
65091         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
65092         is defined.
65093         * lib/lchown.c (S_ISLNK): Likewise.
65094
65095 2002-06-15  Jim Meyering  <meyering@lucent.com>
65096
65097         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
65098         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
65099         have been included before this file.
65100
65101 2002-06-14  Jim Meyering  <meyering@lucent.com>
65102
65103         * lib/file-type.h: Use the version from diffutils-2.8.2.
65104         * lib/file-type.c: Likewise.
65105
65106 2002-06-07  Jim Meyering  <meyering@lucent.com>
65107
65108         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
65109         They're needed at least for NetBSD 1.5.2.
65110         ($statxfs_includes): Include those same headers.
65111         ($statxfs_includes): Include sys/vfs.h if available.
65112         ($statxfs_includes): Likewise for sys/statvfs.h.
65113         Check for the following members in both structs statfs and statvfs:
65114         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
65115
65116 2002-06-01  Jim Meyering  <meyering@lucent.com>
65117
65118         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
65119         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
65120
65121 2002-05-28  Jim Meyering  <meyering@lucent.com>
65122
65123         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
65124         Reported by Volker Borchert.
65125
65126 2002-05-27  Jim Meyering  <meyering@lucent.com>
65127
65128         Fix a problem seen only on nonconforming systems whereby ls.c's
65129         use of localtime, and then of gettimeofday would cause trouble:
65130         the localtime call used to initialize rpl_gettimeofday's save
65131         mechanism would clobber ls's current local time information so
65132         that in any long listing the first file would always be listed
65133         with date 1970-01-01.  Analysis by Volker Borchert.
65134
65135         * lib/gettimeofday.c (localtime): Undefine.
65136         (rpl_localtime): New function.
65137
65138 2002-05-27  Jim Meyering  <meyering@lucent.com>
65139
65140         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
65141         localtime.
65142
65143         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
65144         use the replacement function; it wouldn't resolve at link time.
65145         Reported by Volker Borchert.
65146
65147 2002-05-22  Jim Meyering  <meyering@lucent.com>
65148
65149         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
65150         file-type.h.
65151         * lib/file-type.h: New file.
65152         * lib/file-type.c (file_type): New file/function.  Extracted from
65153         diffutils.
65154
65155 2002-04-30  Jim Meyering  <meyering@lucent.com>
65156
65157         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
65158
65159 2002-04-29  Paul Eggert  <eggert@twinsun.com>
65160
65161         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
65162
65163 2002-04-29  Paul Eggert  <eggert@twinsun.com>
65164
65165         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
65166         Do not check for alloca.h (no longer used) or stdbool.h (was never
65167         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
65168
65169 2002-04-29  Paul Eggert  <eggert@twinsun.com>
65170
65171         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
65172
65173 2002-04-29  Jim Meyering  <meyering@lucent.com>
65174
65175         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
65176         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
65177         Use AC_FUNC_STRNLEN here instead.
65178
65179         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
65180         With autoconf-2.53a, it's part of AC_PROG_CC.
65181
65182 2002-04-28  Paul Eggert  <eggert@twinsun.com>
65183
65184         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
65185         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
65186
65187 2002-04-28  Paul Eggert  <eggert@twinsun.com>
65188
65189         * lib/sig2str.h, lib/sig2str.c: New files.
65190         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
65191
65192 2002-04-28  Paul Eggert  <eggert@twinsun.com>
65193
65194         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
65195         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
65196         of 127, since 64 is the largest conceivable number for ancient
65197         nonstandard hosts.
65198         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
65199
65200 2002-04-28  Jim Meyering  <meyering@lucent.com>
65201
65202         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
65203
65204 2002-04-24  Jim Meyering  <meyering@lucent.com>
65205
65206         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
65207         (jm_PREREQ): Use it.
65208
65209         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
65210         mach/mach.h fcntl.h.
65211         Check for this function: setlocale.
65212
65213 2002-04-24  Jim Meyering  <meyering@lucent.com>
65214
65215         * lib/gettext.h: New file, from Gettext.
65216         * lib/Makefile.am (INCLUDES): Remove -I../intl.
65217         (libfetish_a_SOURCES): Add gettext.h.
65218
65219 2002-04-16  Jim Meyering  <meyering@lucent.com>
65220
65221         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
65222         ut_pid, ut_id, ut_exit.
65223
65224 2002-04-16  Jim Meyering  <meyering@lucent.com>
65225
65226         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
65227         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
65228         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
65229
65230 2002-04-12  Jim Meyering  <meyering@lucent.com>
65231
65232         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
65233         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
65234         existence of the getmntinfo function.  Needed for Darwin 5.3.
65235
65236         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
65237         This is necessary at least on Darwin 5.3.
65238
65239         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
65240         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
65241         strnlen.o in the library, and that makes some versions of ranlib
65242         object.
65243
65244 2002-04-12  Jim Meyering  <meyering@lucent.com>
65245
65246         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
65247
65248 2002-04-09  Jim Meyering  <meyering@lucent.com>
65249
65250         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
65251         to be more precise.  Rather than saying we're checking whether the
65252         function `works', say what we're testing.
65253         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
65254         Reported by Bruno Haible.
65255
65256 2002-03-10  Jim Meyering  <meyering@lucent.com>
65257
65258         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
65259         Suggestion from Santiago Vila.
65260
65261 2002-03-08  Jim Meyering  <meyering@lucent.com>
65262
65263         * lib/rename.c: Mention that this wrapper is needed also on
65264         mips-dec-ultrix4.4 systems.
65265
65266 2002-03-02  Jim Meyering  <meyering@lucent.com>
65267
65268         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
65269         not HAVE_CLOCK_SETTIME.
65270
65271 2002-02-27  Paul Eggert  <eggert@twinsun.com>
65272
65273         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
65274         Check for clock_settime.
65275
65276 2002-02-27  Paul Eggert  <eggert@twinsun.com>
65277
65278         * lib/nanosleep.h: Rename to....
65279         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
65280
65281         * lib/gettime.c: New file.
65282         * lib/settime.c: New file.
65283         * lib/stime.c: Remove.
65284
65285         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
65286         timespec.h.  Remove nanosleep.h.
65287
65288 2002-02-25  Paul Eggert  <eggert@twinsun.com>
65289
65290         * m4/acl.m4: New file.
65291         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
65292         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
65293
65294 2002-02-25  Paul Eggert  <eggert@twinsun.com>
65295
65296         * lib/acl.c, lib/acl.h: New files.
65297         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
65298
65299 2002-02-24  Jim Meyering  <meyering@lucent.com>
65300
65301         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
65302         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
65303         cause trouble.  Reported by Nelson Beebe.
65304
65305 2002-02-23  Paul Eggert  <eggert@twinsun.com>
65306
65307         * lib/path-concat.c (xpath_concat): Reorder code to pacify
65308         compilers that don't know that xalloc_die never returns.
65309
65310 2002-02-20  Jim Meyering  <meyering@lucent.com>
65311
65312         * lib/getdate.c: Regenerate using bison-1.33.
65313
65314 2002-02-17  Jim Meyering  <meyering@lucent.com>
65315
65316         * config/config.guess (main): Don't use `head -1'; it's no longer
65317         portable. Use `sed 1q' instead.
65318
65319 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
65320
65321         * m4/codeset.m4: Upgrade to gettext-0.11.
65322         * m4/gettext.m4: Upgrade to gettext-0.11.
65323         * m4/glibc21.m4: Upgrade to gettext-0.11.
65324         * m4/iconv.m4: Upgrade to gettext-0.11.
65325         * m4/isc-posix.m4: Upgrade to gettext-0.11.
65326         * m4/lcmessage.m4: Upgrade to gettext-0.11.
65327         * m4/lib-ld.m4: New file, from gettext-0.11.
65328         * m4/lib-link.m4: New file, from gettext-0.11.
65329         * m4/lib-prefix.m4: New file, from gettext-0.11.
65330         * m4/progtest.m4: Upgrade to gettext-0.11.
65331
65332 2002-02-15  Paul Eggert  <eggert@twinsun.com>
65333
65334         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
65335         (jm_PREREQ): Use it.
65336
65337 2002-02-15  Paul Eggert  <eggert@twinsun.com>
65338
65339         * lib/posixver.c, lib/posixver.h: New files.
65340         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
65341
65342 2002-02-02  Paul Eggert  <eggert@twinsun.com>
65343             Bruno Haible  <bruno@clisp.org>
65344
65345         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
65346         (fwrite_success_callback): New declaration.
65347         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
65348         print_unicode_char. Call failure callback instead of error.
65349         (fwrite_success_callback): New function.
65350         (exit_failure_callback): New function.
65351         (fallback_failure_callback): New function.
65352         (print_unicode_char): Call unicode_to_mb.
65353
65354 2002-01-26  Jim Meyering  <meyering@lucent.com>
65355
65356         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
65357         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
65358
65359 2002-01-26  Jim Meyering  <meyering@lucent.com>
65360
65361         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
65362
65363 2002-01-22  Paul Eggert  <eggert@twinsun.com>
65364
65365         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
65366
65367 2002-01-22  Jim Meyering  <meyering@lucent.com>
65368
65369         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
65370         Otherwise, some versions of automake would omit the rule that makes
65371         Makefile from Makefile.in.
65372
65373 2002-01-21  Paul Eggert  <eggert@twinsun.com>
65374
65375         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
65376         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
65377         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
65378         (memcoll): Set errno to zero if there is no error.
65379
65380         * lib/quotearg.c (quotearg_buffer_restyled):
65381         Fix bug with quoting buffers containing NUL when backslashing escapes.
65382         This bug was exposed by the other changes in this patch.
65383         (quotearg_n_options): New arg ARGSIZE.
65384         All callers changed.
65385         (quoting_options_from_style): New function.
65386         (quotearg_n_style): Use it.
65387         (quotearg_n_style_mem): New function.
65388
65389         * lib/quotearg.h (quotearg_n_style_mem): New function.
65390
65391 2002-01-19  Jim Meyering  <meyering@lucent.com>
65392
65393         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
65394         Remove useless quotes: DF_PROG="df".
65395         * m4/strnlen.m4: New file.
65396
65397 2002-01-16  Paul Eggert  <eggert@twinsun.com>
65398
65399         * lib/backupfile.c (ISDIGIT): Comment fix.
65400         * lib/getdate.y (ISDIGIT): Likewise.
65401         * lib/posixtm.c (ISDIGIT, year): Likewise.
65402         * lib/strverscmp.c (ISDIGIT): Likewise.
65403         * lib/userspec.c (ISDIGIT): Likewise.
65404
65405 2002-01-16  Jim Meyering  <meyering@lucent.com>
65406
65407         * lib/getdate.y: Add three semicolons, each just before a closing
65408         brace. Bison (as of version 1.31) no longer papers over that mistake.
65409
65410 2002-01-05  Jim Meyering  <meyering@lucent.com>
65411
65412         * lib/version-etc.c (version_etc_copyright): Update copyright year.
65413
65414 2001-12-19  Paul Eggert  <eggert@twinsun.com>
65415
65416         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
65417         not silently exit merely because the output buffer happens to
65418         have nothing pending.
65419
65420 2001-12-18  Paul Eggert  <eggert@twinsun.com>
65421
65422         See the big note in ../ChangeLog.
65423         * lib/human.c (suffixes): Prefer K to k for 1024.
65424         (generate_suffix_backwards): New function.
65425         (human_readable_inexact): Use it.
65426         * lib/xstrtol.c (__xstrtol): If there is no number but there
65427         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
65428         Accept 'K' as well as 'k'.
65429
65430 2001-12-15  Jim Meyering  <meyering@lucent.com>
65431
65432         * lib/regex.h (__restrict_arr): Update from libc.
65433
65434         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
65435         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
65436         (STREQ): Define.
65437
65438 2001-12-14  Jim Meyering  <meyering@lucent.com>
65439
65440         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
65441         Suggestion from Bruno Haible.
65442
65443 2001-12-10  Jim Meyering  <meyering@lucent.com>
65444
65445         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
65446         xrealloc, Instead, include "xalloc.h".
65447         (initbuffer): Don't cast xmalloc return value to char*.
65448         (readline): Reword comment.
65449         Don't cast xrealloc return value to char*
65450         Return NULL, not 0.
65451
65452 2001-12-09  Jim Meyering  <meyering@lucent.com>
65453
65454         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
65455         about `signed and unsigned type in conditional expression'.
65456         * lib/posixtm.c (posix_time_parse): Likewise.
65457
65458         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
65459
65460         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
65461         to avoid a pedantic warning.
65462
65463         * lib/getstr.c: Don't include assert.h.
65464         (getstr): Remove warning-evoking assertions.
65465         Return -1 if offset parameter is out of bounds.
65466         Change the type of a local from int to size_t.
65467
65468         * lib/strftime.c (my_strftime_localtime_r): Include this function
65469         definition in the `#if ! HAVE_TM_GMTOFF' block.
65470
65471         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
65472         Include xalloc.h instead.
65473
65474 2001-12-02  Jim Meyering  <meyering@lucent.com>
65475
65476         * lib/tempname.c: Don't declare getenv, thus reverting the change of
65477         2001-11-18.  It's no longer necessary, now that stdlib.h is always
65478         included.
65479
65480         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
65481         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
65482
65483 2001-11-30  Akim Demaille  <akim@epita.fr>
65484
65485         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
65486         before being defined.
65487
65488 2001-11-27  Paul Eggert  <eggert@twinsun.com>
65489
65490         * lib/quotearg.h (quotearg_n, quotearg_n_style):
65491         First arg is int, not unsigned.
65492         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
65493         (SIZE_MAX, UINT_MAX): New macros.
65494         (quotearg_n_options): Abort if N is negative.
65495         Avoid overflow check on hosts where size_t is 64 bits and int
65496         is 32 bits, as overflow is impossible there.
65497         Fix off-by-one typo that caused unnecessary reallocation.
65498
65499 2001-11-27  Jim Meyering  <meyering@lucent.com>
65500
65501         * lib/tempname.c: Merge with version from libc.
65502         * lib/regex.c: Likewise.
65503
65504         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
65505         systems for which STDC_HEADERS is 0, it was not included, resulting in
65506         a warning about an integer-to-pointer conversion problem with getenv.
65507         Reported by Volker Borchert.
65508
65509 2001-11-26  Jim Meyering  <meyering@lucent.com>
65510
65511         * lib/gtod.h: Remove file.
65512         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
65513         * lib/gettimeofday.c: Don't include gtod.h.
65514         (GTOD_init): Remove function.
65515         (rpl_gettimeofday): Do its job here instead, rather than aborting.
65516         Suggestion from Volker Borchert.
65517
65518 2001-11-23  Jim Meyering  <meyering@lucent.com>
65519
65520         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
65521         it.
65522         * lib/hash.c (struct hash_table): Define it here instead.
65523
65524 2001-11-22  Jim Meyering  <meyering@lucent.com>
65525
65526         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
65527
65528 2001-11-20  Jim Meyering  <meyering@lucent.com>
65529
65530         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
65531         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
65532
65533 2001-11-19  Jim Meyering  <meyering@lucent.com>
65534
65535         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
65536         directory.  Use "conftestXXXXXX" as the template.
65537         Suggestion from Paul Eggert.
65538
65539         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
65540         immediately, so the test doesn't mistakenly hit the max-open-files
65541         limit.
65542
65543 2001-11-18  Paul Eggert  <eggert@twinsun.com>
65544
65545         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
65546         (TEMPORARIES): New macro.
65547         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
65548         removes an artificial limitation (e.g. HP-UX 10.20, where
65549         TMP_MAX is 17576).
65550
65551 2001-11-18  Jim Meyering  <meyering@lucent.com>
65552
65553         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
65554
65555 2001-11-18  Jim Meyering  <meyering@lucent.com>
65556
65557         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
65558         on SunOS 4.
65559
65560         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
65561         files will be created before anything else.
65562
65563 2001-11-17  Paul Eggert  <eggert@twinsun.com>
65564
65565         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
65566         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
65567
65568 2001-11-17  Jim Meyering  <meyering@lucent.com>
65569
65570         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
65571         Prompted by a report from Bob Proulx.
65572
65573         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
65574         Instead, require UTILS_FUNC_MKSTEMP.
65575
65576 2001-11-17  Jim Meyering  <meyering@lucent.com>
65577
65578         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
65579         Now, that's done as part of AC_FUNC_STRTOD.
65580
65581 2001-11-17  Jim Meyering  <meyering@lucent.com>
65582
65583         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
65584         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
65585         rather than group writable.  Patch by Juan F. Codagnone.
65586
65587         * lib/readtokens.c: Remove explicit declarations of xmalloc and
65588         xrealloc, Instead, include "xalloc.h".
65589
65590         * lib/mountlist.c: Include unlocked-io.h after all system headers.
65591         Remove explicit declarations of xmalloc, xrealloc,
65592         and xstrdup.  Instead, include "xalloc.h".
65593
65594         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
65595         unlocked-io.h.
65596         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
65597         Likewise.
65598         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
65599
65600         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
65601         Reported by Padraig Brady.
65602
65603         * lib/mkstemp.c: #undef mkstemp.
65604         Include config.h.
65605         (rpl_mkstemp): Rename from mkstemp.
65606         Protoize.
65607
65608 2001-11-16  Jim Meyering  <meyering@lucent.com>
65609
65610         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
65611         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
65612         determine the amount of total physical memory, use pstat_getstatic.
65613         HPUX-11 doesn't define _SC_PHYS_PAGES.
65614         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
65615         If sysconf couldn't be used to determine the amount of available
65616         physical memory, use both pstat_getstatic and pstat_getdynamic.
65617         Based on a patch from Bob Proulx.
65618
65619 2001-11-10  Jim Meyering  <meyering@lucent.com>
65620
65621         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
65622         (jm_PREREQ): Use it.
65623
65624 2001-11-09  Jim Meyering  <meyering@lucent.com>
65625
65626         * m4/jm-macros.m4: Require autoconf-2.52f.
65627         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
65628         Use these AC_-prefixed names, not the AM_-prefixed ones.
65629
65630         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
65631
65632 2001-11-05  Jim Meyering  <meyering@lucent.com>
65633
65634         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
65635
65636 2001-11-04  Jim Meyering  <meyering@lucent.com>
65637
65638         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
65639         $DEFS.
65640
65641 2001-11-03  Jim Meyering  <meyering@lucent.com>
65642
65643         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
65644         of AC_DEFUN.
65645
65646         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
65647         know the name of the variable in the macro definition.
65648
65649 2001-11-03  Jim Meyering  <meyering@lucent.com>
65650
65651         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
65652         in argmatch_to_argument call.
65653
65654         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
65655         argument.
65656
65657         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
65658         e.g., a fault due to an attempt to free a NULL pointer.
65659
65660 2001-11-01  Jim Meyering  <meyering@lucent.com>
65661
65662         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
65663         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
65664
65665 2001-11-01  Jim Meyering  <meyering@lucent.com>
65666
65667         * lib/dirfd.c, lib/dirfd.h: New files.
65668         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
65669
65670         * lib/hash.c (hash_print) [TESTING]: Clean up.
65671
65672 2001-10-22  Paul Eggert  <eggert@twinsun.com>
65673
65674         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
65675         to avoid a warning if -Wall.
65676
65677 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
65678
65679         * README: New file
65680         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
65681         (per RMS's instructions, this is now the canonical source)
65682         * lgpl/, gpl/: New directories.
65683
65684 2001-10-21  Paul Eggert  <eggert@twinsun.com>
65685
65686         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
65687
65688 2001-10-21  Jim Meyering  <meyering@lucent.com>
65689
65690         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
65691         this code would end up calling gettext even in packages built
65692         with --disable-nls.
65693         * lib/getopt.c (_): Likewise.
65694         * lib/regex.c (_): Likewise.
65695
65696 2001-10-20  Paul Eggert  <eggert@twinsun.com>
65697
65698         * m4/error.m4 (jm_PREREQ_ERROR):
65699         Do not invoke AC_CHECK_FUNCS with strerror_r, as
65700         AC_FUNC_STRERROR_R does that.
65701         Check for strerror declaration.
65702
65703         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
65704         are supposed to have them these days.
65705         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
65706         Merge changes from latest Autoconf CVS.
65707         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
65708         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
65709         POSIX decided to standardize on the int flavor of strerror_r.
65710
65711 2001-10-20  Paul Eggert  <eggert@twinsun.com>
65712
65713         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
65714         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
65715         Use strerror_r that is only a macro, even if it is not a function.
65716         (strerror): Check for HAVE_DECL_STRERROR before declaring.
65717         (private_strerror): Use prototypes, not old-style function definition.
65718         (print_errno_message): New function.
65719         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
65720         char*-flavored one.
65721         (error_tail, error, error_at_line): Use it.
65722
65723 2001-10-11  Jim Meyering  <meyering@lucent.com>
65724
65725         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
65726         and quote_n (1, ... to avoid clobbering a buffer.
65727
65728 2001-10-05  Jim Meyering  <meyering@lucent.com>
65729
65730         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
65731         hash-pjw.h.
65732         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
65733         * lib/hash-pjw.h: New file.
65734
65735 2001-09-30  Jim Meyering  <meyering@lucent.com>
65736
65737         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
65738         `struct fsstat' has the `f_fstypename' member.
65739         Use that to define FS_TYPE, which is now used to make
65740         the getfsstat link test tighter.
65741
65742 2001-09-30  Jim Meyering  <meyering@lucent.com>
65743
65744         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
65745         Include <sys/ucred.h>, for Apple Darwin.
65746         Include sys/mount.h and sys/fs_types.h only if available.
65747         (FS_TYPE): Define.
65748         (read_filesystem_list): Use FS_TYPE.
65749
65750 2001-09-29  Paul Eggert  <eggert@twinsun.com>
65751
65752         * lib/exclude.c (excluded_filename): 0 -> false, since it's
65753         a boolean context.
65754
65755 2001-09-29  Jim Meyering  <meyering@lucent.com>
65756
65757         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
65758         [one-argument getmntent function]): Include stdio.h before mntent.h.
65759         SunOS 4.1.x needs it for the declaration of `FILE'.
65760         Patch by Volker Borchert.
65761
65762         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
65763         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
65764         sys/fs_types.h, and make the link-test for getfsstat guard #include
65765         directives with appropriate #if HAVE_*_H tests so that we can
65766         detect getfsstat on Apple Darwin1.3.7 systems.
65767         Reported by Nelson Beebe.
65768         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
65769
65770 2001-09-28  Paul Eggert  <eggert@twinsun.com>
65771
65772         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
65773         #defines strtoimax.  Also treat the other strto* functions
65774         like strtoimax.
65775
65776         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
65777         Check for strtoul and strtoumax,
65778         as those declarations are made even in the signed case.
65779         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
65780         Likewise, for strtol and strtoimax.
65781
65782 2001-09-28  Paul Eggert  <eggert@twinsun.com>
65783
65784         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
65785         #defines strtoimax.  Also treat the other strto* functions
65786         like strtoimax.
65787
65788         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
65789         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
65790         (strtoimax, strtoumax): Do not declare if already defined as a macro.
65791
65792 2001-09-26  Jim Meyering  <meyering@lucent.com>
65793
65794         Most macros in unlocked-io.h had the wrong number of arguments.
65795         * lib/gen-uio: New script.
65796         (USE_UNLOCKED_IO): Define to 1 if not already defined.
65797         * lib/unlocked-io.hin: Remove file.
65798         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
65799         rather than trying to embed it here.
65800         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
65801         Reported by Padraig Brady.
65802
65803 2001-09-25  Volker Borchert  <bt@teknon.de>
65804
65805         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
65806         `result'.
65807
65808 2001-09-24  Jim Meyering  <meyering@lucent.com>
65809
65810         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
65811
65812 2001-09-23  Jim Meyering  <meyering@lucent.com>
65813
65814         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
65815         instead of the mere test for existence of mntent.h.  The latter
65816         would get a false-positive on AIX 3.4 systems.
65817         In the outer getmntent if-block, don't die if neither of the getmntent
65818         tests succeeds.  Instead, just fall through and continue with the
65819         remaining tests.
65820
65821 2001-09-23  Jim Meyering  <meyering@lucent.com>
65822
65823         * lib/mountlist.c: Remove useless parentheses in #if directives.
65824         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
65825         the deprecated MOUNTED symbol is no longer defined in mntent.h.
65826
65827 2001-09-22  Jim Meyering  <meyering@lucent.com>
65828
65829         * m4/gettext.m4: New file.  From gettext.
65830         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
65831         * m4/progtest.m4: Likewise
65832         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
65833         * m4/glibc21.m4: Likewise.
65834
65835         * m4/libintl.m4: Remove.  No longer used.
65836
65837 2001-09-22  Jim Meyering  <meyering@lucent.com>
65838
65839         * lib/localcharset.c: Update from latest gettext.
65840         * lib/config.charset: Likewise.
65841
65842 2001-09-20  Jim Meyering  <meyering@lucent.com>
65843
65844         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
65845         strtoimax.
65846         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
65847         strtoumax.
65848
65849 2001-09-20  Jim Meyering  <meyering@lucent.com>
65850
65851         * lib/xstrtol.c (strtoimax): Guard declaration with
65852         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
65853         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
65854         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
65855         (strtoumax): Likewise, for completeness (it wasn't necessary).
65856
65857 2001-09-17  Paul Eggert  <eggert@twinsun.com>
65858
65859         * lib/strtoimax.c (HAVE_LONG_LONG):
65860         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
65861         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
65862         to work around bug in IBM C compiler.
65863
65864 2001-09-17  Jim Meyering  <meyering@lucent.com>
65865
65866         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
65867         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
65868         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
65869         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
65870         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
65871         whenever the right hand side need not be expanded by the shell.
65872
65873 2001-09-16  Paul Eggert  <eggert@twinsun.com>
65874
65875         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
65876         library.  It's not correct, as some older glibcs are buggy.
65877         fnmatch wasn't fixed until glibc 2.2.
65878
65879         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
65880         special shell magic here.
65881
65882 2001-09-16  Jim Meyering  <meyering@lucent.com>
65883
65884         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
65885         * m4/jm-macros.m4: Require it.
65886
65887 2001-09-16  Jim Meyering  <meyering@lucent.com>
65888
65889         * lib/mkdir.c: New file.
65890
65891 2001-09-15  Jim Meyering  <meyering@lucent.com>
65892
65893         * m4/jm-macros.m4: Check for help2man.
65894
65895 2001-09-11  Jim Meyering  <meyering@lucent.com>
65896
65897         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
65898         The body, by Paul Eggert, was moved here from configure.in.
65899         * m4/jm-macros.m4: Require UTILS_HOST_OS.
65900
65901 2001-09-04  Paul Eggert  <eggert@twinsun.com>
65902
65903         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
65904         (jm_PREREQ): Use it.
65905
65906 2001-09-04  Paul Eggert  <eggert@twinsun.com>
65907
65908         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
65909         Use ssize_t, not int, to store result of readlink.
65910         Check for ssize_t overflow as well as size_t overflow,
65911         as POSIX says the result of readlink is implementation-defined
65912         when ssize_t overflows.
65913         Remove unnecessary cast to char*.
65914         Use free+malloc instead of realloc, as the storage doesn't need
65915         to be preserved and it's clearer and can be more efficient that way.
65916         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
65917         * lib/xreadlink.h (xreadlink): Update prototype.
65918
65919 2001-09-04  Paul Eggert  <eggert@twinsun.com>
65920
65921         * lib/xgetcwd.c: Revert some of the previous change; intead,
65922         fix the HAVE_GETCWD_NULL code to behave more like the
65923         !HAVE_GETCWD_NULL code used to.
65924
65925         Include "xalloc.h".
65926         (xgetcwd): Do not return NULL when memory is exhausted; instead,
65927         invoke xalloc_die.
65928
65929 2001-09-03  Paul Eggert  <eggert@twinsun.com>
65930
65931         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
65932         sys/param.h, as pathmax.h includes them.
65933
65934 2001-09-03  Paul Eggert  <eggert@twinsun.com>
65935
65936         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
65937         (jm_PREREQ_XGETCWD): New macro.
65938
65939         * m4/getcwd.m4: New file.
65940
65941 2001-09-03  Paul Eggert  <eggert@twinsun.com>
65942
65943         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
65944         like the HAVE_GETCWD_NULL code.
65945         Include pathmax.h if not HAVE_GETCWD.
65946         Do not include xalloc.h.
65947         (INITIAL_BUFFER_SIZE): New symbol.
65948         Do not use xmalloc / xrealloc, since the caller is responsible for
65949         handling errors.  Preserve errno around `free' during failure.
65950         Do not overrun buffer when using getwd.
65951
65952 2001-09-03  Paul Eggert  <eggert@twinsun.com>
65953
65954         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
65955         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
65956         getcwd (NULL, 0).
65957
65958 2001-09-03  Paul Eggert  <eggert@twinsun.com>
65959
65960         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
65961         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
65962         spotted by Jim Meyering.
65963
65964 2001-09-03  Jim Meyering  <meyering@lucent.com>
65965
65966         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
65967         failure.
65968
65969 2001-09-02  Jim Meyering  <meyering@lucent.com>
65970
65971         * lib/error.c: Update from GNU libc.
65972
65973 2001-09-01  Jim Meyering  <meyering@lucent.com>
65974
65975         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
65976         Used by df.
65977
65978 2001-09-01  Jim Meyering  <meyering@lucent.com>
65979
65980         * lib/xreadlink.c: New file.
65981         * lib/xreadlink.h: New file.
65982         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
65983         xreadlink.h.
65984
65985         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
65986         doesn't conflict with sparc Solaris 7's definition in
65987         /usr/include/sys/int_types.h.
65988
65989         * lib/exclude.c: Use `""', not `<>' to #include non-system header
65990         files.
65991         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
65992         and strncasecmp as r-values.  Unixware didn't have declarations.
65993
65994 2001-08-31  Paul Eggert  <eggert@twinsun.com>
65995
65996         * lib/xstrtol.h: Add copyright notice.
65997         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
65998         LONGINT_INVALID_SUFFIX_CHAR.
65999
66000 2001-08-31  Paul Eggert  <eggert@twinsun.com>
66001
66002         * lib/xstrtol.c (strtoimax): New decl.
66003
66004 2001-08-31  Paul Eggert  <eggert@twinsun.com>
66005
66006         * lib/xgetcwd.c: Don't include pathmax.h.
66007         Include stdlib.h and unistd.h if available.
66008         Include xalloc.h.
66009         (xmalloc, xstrdup, free): Remove decls.
66010         (xgetcwd): Don't assume sizes fit in unsigned.
66011         Check for overflow when computing sizes.
66012         Simplify reallocation code.
66013
66014 2001-08-31  Paul Eggert  <eggert@twinsun.com>
66015
66016         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
66017         a directory's st_size can have an arbitrary value, so the old
66018         usage could waste an arbitrary amount of memory.  All uses
66019         changed.
66020         * lib/savedir.h: Update prototype.
66021
66022 2001-08-31  Paul Eggert  <eggert@twinsun.com>
66023
66024         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
66025
66026         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
66027         old strtoimax.c.
66028
66029         Also, make the following further changes to make this file's
66030         configuration more similar to that of strtol.c:
66031         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
66032         (strtoumax, uintmax_t, strtoull, strtol): Remove.
66033         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
66034         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
66035         changed to signed values.
66036
66037         And make the following changes as well:
66038         Fix copyright notice, as 1999 was missing.
66039         (verify): New macro.
66040         (strtoimax): Check sizes at compile-time, not run-time.
66041         Prefer strtol to strtoll if both work.
66042         (main): Remove; it was not that useful and was a pain to maintain.
66043
66044         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
66045
66046 2001-08-31  Jim Meyering  <meyering@lucent.com>
66047
66048         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
66049         Use an initial, malloc'd, buffer of length 128 rather than
66050         a statically allocated one of length 1024.
66051
66052 2001-08-30  Paul Eggert  <eggert@twinsun.com>
66053
66054         Simplify code, partly by assuming autoconf 2.52 semantics.
66055
66056         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
66057
66058         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
66059         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
66060         All uses removed.
66061         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
66062         Move AC_REQUIRE to next-to-top level, to avoid confusion.
66063         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
66064         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
66065         jm_AC_HEADER_INTTYPES_H.
66066         * m4/jm-macros.m4 (jm_MACROS): Likewise.
66067
66068         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
66069
66070         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
66071         Quote first arg of AC_DEFUN.
66072         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
66073         since they are needed to parse the include file even if we need
66074         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
66075         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
66076         but with opposite signedness.
66077
66078 2001-08-30  Paul Eggert  <eggert@twinsun.com>
66079
66080         Merge 'exclude' changes from tar 1.13.22.
66081         This fixes one or two unlikely storage allocation overflow bugs,
66082         but doesn't change user-visible behavior otherwise.
66083
66084 2001-08-30  Paul Eggert  <eggert@twinsun.com>
66085
66086         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
66087         (jm_PREREQ_EXCLUDE): New macro.
66088
66089 2001-08-30  Paul Eggert  <eggert@twinsun.com>
66090
66091         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
66092         tm to be declared.
66093
66094 2001-08-30  Paul Eggert  <eggert@twinsun.com>
66095
66096         * lib/hash.c: Remove '2001' from copyright notice.
66097
66098 2001-08-30  Paul Eggert  <eggert@twinsun.com>
66099
66100         * lib/full-write.h: New file.
66101         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
66102         * lib/full-write.c: Correct credits, as cccp.c no longer
66103         exists and anyway it was so heavily changed from the old cccp
66104         code as to be unrecognizable.  Include full-write.h.
66105         (full_write) Return size_t, with short writes meaning failure.
66106         All callers changed.  This fixes a bug with large buffers
66107         on 64-bit hosts.
66108         * lib/utime.c: Include full-write.h.
66109
66110 2001-08-30  Paul Eggert  <eggert@twinsun.com>
66111
66112         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
66113         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
66114         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
66115         Include if available.
66116         (<xalloc.h>): Include
66117         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
66118         (verify): New macro.  Use it to verify that EXCLUDE macros do not
66119         collide with FNM macros.
66120         (struct patopts): New struct.
66121         (struct exclude): Use it, as exclude patterns now come with options.
66122         (new_exclude): Support above changes.
66123         (new_exclude, add_exclude_file):
66124         Initial size must now be a power of two to simplify overflow checking.
66125         (free_exclude, fnmatch_no_wildcards): New function.
66126         (excluded_filename): No longer requires options arg, as the options
66127         are determined by add_exclude.  Now returns bool, not int.
66128         (excluded_filename, add_exclude):
66129         Add support for the fancy new exclusion options.
66130         (add_exclude, add_exclude_file): Now takes int options arg.
66131         Check for arithmetic overflow when computing sizes.
66132         (add_exclude_file): xrealloc might modify errno, so don't
66133         realloc until after errno might be used.
66134
66135         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
66136         New macros.
66137         (free_exclude): New decl.
66138         (add_exclude, add_exclude_file): Now takes int options arg.
66139         (excluded_filename): No longer requires options arg, as the options
66140         are determined by add_exclude.  Now returns bool, not int.
66141
66142 2001-08-30  Paul Eggert  <eggert@twinsun.com>
66143
66144         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
66145
66146 2001-08-27  Jim Meyering  <meyering@lucent.com>
66147
66148         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
66149
66150         * lib/version-etc.c (N_): Remove definition.
66151         Revert most of last change.
66152         Instead, simply don't mark the `Copyright...' string for translation.
66153         Based on advice from Paul Eggert.
66154
66155         * lib/strtoxmax.c: Tweak comment.
66156
66157 2001-08-26  Jim Meyering  <meyering@lucent.com>
66158
66159         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
66160
66161         * m4/xstrtoimax.m4: New file.
66162         * m4/xstrtoumax.m4: Add comments explaining why we
66163         AC_REPLACE_FUNCS(strtol).
66164
66165 2001-08-26  Jim Meyering  <meyering@lucent.com>
66166
66167         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
66168         of copyright with `%s' so translators don't get an untranslated
66169         message in 2002.
66170         (COPYRIGHT_YEAR): Define.
66171         (version_etc): Use fprintf rather than fputs.
66172         Suggestion from Ulrich Drepper.
66173
66174         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
66175
66176         * lib/strtoll.c: New file, from GNU libc.
66177         * lib/xstrtoimax.c: New file.
66178
66179         * lib/xstrtol.h: Add xstrtoimax.
66180         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
66181         * lib/strtoimax.c: New file.  Likewise, but first define
66182         STRTOUXMAX_SIGNED.
66183
66184         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
66185         ...
66186         * lib/strtoxmax.c: ... then renamed to this.
66187
66188 2001-08-18  Paul Eggert  <eggert@twinsun.com>
66189
66190         * m4/inttypes.m4: Add AC_PREREQ(2.13).
66191         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
66192         (jm_AC_TYPE_INTMAX_T): New macro.
66193         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
66194
66195         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
66196
66197         * m4/longlong.m4: Renamed from ulonglong.m4.
66198         * m4/inttypes.m4: Renamed from inttypes_h.m4.
66199         * m4/uintmax_t.m4: Removed.
66200
66201 2001-08-13  Paul Eggert  <eggert@twinsun.com>
66202
66203         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
66204         Port to Solaris 8, where 'sed' requires a space after the 'r'
66205         command, and where sh dislikes "$/".  Clean up the spacing a bit.
66206         Redirect output to $tmp just once.
66207
66208 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
66209
66210         * lib/addext.c (<errno.h>): Include.
66211         (errno): Declare if not defined.
66212         (addext): Work correctly when pathconf returns -1 and leaves
66213         errno alone because there is no limit.  Also, work even if
66214         pathconf returns a value greater than SIZE_MAX.
66215
66216 2001-08-12  Jim Meyering  <meyering@lucent.com>
66217
66218         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
66219         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
66220         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
66221         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
66222         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
66223         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
66224         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
66225         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
66226         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
66227         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
66228         utime.m4, utimes.m4, xstrtoumax.m4:
66229         Quote the first argument in each use of AC_DEFUN.
66230
66231 2001-08-12  Jim Meyering  <meyering@lucent.com>
66232
66233         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
66234         Simply `return getcwd (NULL, 0);'.
66235         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
66236         Use 1300 as initial value for length, not PATH_MAX.
66237
66238         * lib/pathmax.h: Clean up cpp syntax.
66239
66240 2001-08-12  Jim Meyering  <meyering@lucent.com>
66241
66242         * lib/gettimeofday.c: New file.
66243         * lib/gtod.h: New file.
66244         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
66245
66246 2001-08-05  Jim Meyering  <meyering@lucent.com>
66247
66248         * m4/jm-macros.m4: Require autoconf-2.52.
66249
66250 2001-08-04  Jim Meyering  <meyering@lucent.com>
66251
66252         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
66253         stmt, to get in sync with glibc.
66254
66255 2001-08-03  Paul Eggert  <eggert@twinsun.com>
66256
66257         The following changes are from gettext 0.10.39 as maintained by
66258         Bruno Haible.
66259
66260         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
66261         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
66262         with inverted sense.  All uses changed.
66263
66264         * lib/mbswidth.c: Don't include <limits.h>.
66265         Include <stdlib.h> and <string.h> unconditionally.
66266         (iswcntrl, mbsinit, ISCNTRL): New macros.
66267         (mbsnwidth): Use K&R style function declarations.
66268         Don't bother checking for MB_LEN_MAX == 1, since the compiler
66269         can optimize it when MB_CUR_MAX == 1.
66270         The width of control characters is zero, not 1.
66271
66272 2001-08-03  Paul Eggert  <eggert@twinsun.com>
66273
66274         The following changes are from gettext 0.10.39 as maintained by
66275         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
66276
66277         * m4/codeset.m4: Upgrade to serial AM1.
66278         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
66279         all uses changed.  Quote first arg of AC_DEFUN.
66280         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
66281
66282         * m4/iconv.m4: Upgrade to serial AM2.
66283         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
66284         Add --with-libconv-prefix.
66285         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
66286         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
66287         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
66288         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
66289         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
66290
66291         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
66292         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
66293         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
66294         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
66295         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
66296         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
66297         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
66298         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
66299         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
66300
66301         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
66302         string.h any more.
66303
66304         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
66305         not the default value.
66306
66307         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
66308         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
66309         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
66310         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
66311         Also check for iswcntrl, used for wcwidth fallback.
66312         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
66313         to Autoconf 2.13.
66314
66315 2001-08-03  Jim Meyering  <meyering@lucent.com>
66316
66317         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
66318         as it was in the original.  Reported by Paul Eggert.
66319
66320 2001-07-16  Jim Meyering  <meyering@lucent.com>
66321
66322         * m4/gettimeofday.m4: New file.
66323         Prompted by a report from Bernhard Baehr.
66324
66325 2001-07-15  Jim Meyering  <meyering@lucent.com>
66326
66327         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
66328         stuff. Now it's in ../Makefile.cfg.
66329
66330 2001-07-15  Jim Meyering  <meyering@lucent.com>
66331
66332         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
66333         (BUILT_SOURCES): Add unlocked-io.h.
66334         (io_functions): Define.
66335         (unlocked-io.h): New rule.
66336         (DISTCLEANFILES): Add unlocked-io.h.
66337         (all-local): Depend on unlocked-io.h, to ensure it is created.
66338
66339         * lib/unlocked-io.hin: New file
66340
66341         * lib/regex.c: Update from glibc.
66342
66343 2001-07-05  Jim Meyering  <meyering@lucent.com>
66344
66345         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
66346         recommendation.
66347         (libfetish_a_SOURCES): Put all .h files here instead.
66348         Remove a thus-exposed (better checks in automake) duplicate and
66349         two unnecessary .h files.
66350
66351 2001-07-04  Jim Meyering  <meyering@lucent.com>
66352
66353         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
66354         that generates jm-glibc-io.m4 so that it doesn't trigger any make
66355         distcheck failure.
66356
66357 2001-07-02  Jim Meyering  <meyering@lucent.com>
66358
66359         The following changes were prompted by suggestions from Bruno Haible.
66360
66361         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
66362         is now generated.
66363         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
66364         definition of EXTRA_DIST.
66365         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
66366         ensure that the generated file is created/updated whenever the list
66367         of $(unlocked_functions) is changed.
66368         (jm-glibc-io.m4): New rule.
66369         (unlocked-io.h): New rule -- currently unused.
66370
66371 2001-06-24  Jim Meyering  <meyering@lucent.com>
66372
66373         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
66374         unmatched right bracket, rather than kludging it with an extra,
66375         falsely-matching quote in a comment.  Patch by Akim Demaille.
66376
66377 2001-06-11  Jim Meyering  <meyering@lucent.com>
66378
66379         * lib/regex.c: Update from GNU libc.
66380
66381 2001-05-27  Jim Meyering  <meyering@lucent.com>
66382
66383         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
66384         Check for ut_type in struct utmp.
66385
66386 2001-05-27  Jim Meyering  <meyering@lucent.com>
66387
66388         * lib/readutmp.h (UT_TYPE): Define.
66389
66390 2001-05-24  Jim Meyering  <meyering@lucent.com>
66391
66392         * lib/argmatch.c: Include "quote.h".
66393         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
66394         quote function.  Reported by Göran Uddeborg.
66395
66396 2001-05-22  Jim Meyering  <meyering@lucent.com>
66397
66398         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
66399         now that we use the package-supplied version unconditionally.
66400         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
66401
66402 2001-05-21  Jim Meyering  <meyering@lucent.com>
66403
66404         * m4/regex.m4: Change a couple backticks to single quotes to avoid
66405         shell syntax errors.
66406
66407 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
66408
66409         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
66410
66411 2001-05-20  Paul Eggert  <eggert@twinsun.com>
66412
66413         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
66414         Don't bother to check library strftime, since
66415         we'll be using our own my_strftime function anyway.
66416         Define my_strftime instead of strftime.
66417
66418 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
66419
66420         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
66421         which is not yet declared.
66422
66423 2001-05-15  Jim Meyering  <meyering@lucent.com>
66424
66425         * m4/regex.m4: Use proper quoting so brackets appear in the test
66426         program.
66427         Reported by, and with help from, Bruno Haible.
66428
66429 2001-05-13  Jim Meyering  <meyering@lucent.com>
66430
66431         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
66432         undefined.
66433
66434 2001-05-11  Paul Eggert  <eggert@twinsun.com>
66435
66436         dirname code cleanup.  base_name now behaves more compatibly
66437         with POSIX basename when given file names that have trailing
66438         slashes, and similarly for dir_name.  Add new primitives
66439         base_len and dir_len.  Put the directory-name-related decls
66440         into dirname.h.
66441
66442         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
66443         * lib/backupfile.c (base_name): Likewise.
66444         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
66445         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
66446         * lib/makepath.c (strip_trailing_slashes): Likewise.
66447         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
66448         ISSLASH): Likewise.
66449         * lib/rename.c (strip_trailing_slashes): Likewise.
66450         * lib/same.c (base_name): Likewise.
66451         * lib/stripslash.c (ISSLASH): Likewise.
66452
66453         * lib/addext.c: Include <dirname.h> after size_t is defined.
66454         * lib/backupfile.c: Likewise.
66455
66456         * lib/addext.c (addext): Use base_len to trim redundant
66457         trailing slashes instead of doing it ourselves.
66458         But do not trim the last slash if it is not redundant.
66459
66460         * lib/backupfile.c (find_backup_file_name,
66461         max_backup_version): Use base_len instead of rolling it ourselves.
66462         Handle the case of "" and (on DOS) "C:" correctly.
66463
66464         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
66465         needed. Include <string.h>, <dirname.h>.
66466         (base_name): Allow file names ending in slashes, other than names
66467         that are all slashes.  In this case, return the basename followed
66468         by the slashes.  This is more general, and can be used in places
66469         where the original base_name purposely had an assertion failure.
66470         (base_len): New function.
66471
66472         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
66473         Do not include <assert.h>; no longer needed.
66474         Include xalloc.h.
66475         (memrchr): Remove decl.
66476         (dir_name_r): Remove.
66477         (dir_len): Renamed from dirlen.  All callers changed.
66478         Rewrite in terms of base_name, for simplicity and consistency.
66479         (dir_name): Never return NULL.  All callers changed.
66480         Do not include <stdlib.h> in test program; no longer needed.
66481         return 0; is fine for test program.
66482
66483         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
66484         New macros.
66485         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
66486
66487         * lib/path-concat.c (path_concat): Use base_len to compute
66488         base length, not strlen; this means we cannot rely on memcpy
66489         to null-terminate.
66490
66491         * lib/same.c (STREQ): Remove.
66492         (same_name): Handle the case where the basename ends in trailing '/'.
66493
66494         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
66495         a slash was stripped.  Do not strip the last slash after a
66496         file system prefix.
66497
66498 2001-05-11  Paul Eggert  <eggert@twinsun.com>
66499
66500         * lib/Makefile.am (libfetish_a_SOURCES):
66501         Add strftime.c, since we now compile it on all hosts.
66502
66503         * lib/strftime.c (my_strftime):
66504         Define to nstrftime if emacs, but only if my_strftime is not defined.
66505         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
66506         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
66507         Add one more extra argument: a nanoseconds value.
66508         All uses changed.
66509         (ns): New macro.
66510         (my_strftime function): Add %N format.
66511         (emacs_strftimeu): Renamed from emacs_strftime,
66512         with extra ut argument.
66513
66514 2001-05-09  Paul Eggert  <eggert@twinsun.com>
66515
66516         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
66517
66518 2001-04-21  Jim Meyering  <meyering@lucent.com>
66519
66520         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
66521         doesn't interfere.
66522
66523 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
66524
66525         * m4/ftruncate.m4: Check for chsize.
66526         Link with ftruncate.o unconditionally if ftruncate is missing.
66527         This was required when cross-compiling to i586-mingw32msvc.
66528
66529 2001-04-08  Jim Meyering  <meyering@lucent.com>
66530
66531         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
66532         recomputed; that's necessary when the offset spans a DST transition.
66533         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
66534
66535 2001-04-02  Jim Meyering  <meyering@lucent.com>
66536
66537         * lib/regex.h, regex.c: Update from GNU libc.
66538
66539 2001-03-24  Jim Meyering  <meyering@lucent.com>
66540
66541         * m4/jm-macros.m4: Require autoconf-2.49d.
66542
66543 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
66544
66545         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
66546
66547 2001-03-19  Paul Eggert  <eggert@twinsun.com>
66548
66549         * lib/version-etc.c (version_etc_copyright): Update to 2001.
66550
66551 2001-03-17  Jim Meyering  <meyering@lucent.com>
66552
66553         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
66554         now that the version in autoconf is equivalent.
66555         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
66556
66557         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
66558         Suggestion from Akim Demaille.
66559
66560         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
66561         (jm_PREREQ_TEMPNAME): New function.
66562
66563 2001-03-16  Paul Eggert  <eggert@twinsun.com>
66564
66565         * lib/tempname.c (uint64_t): Define to uintmax_t if
66566         not defined, and if UINT64_MAX is not defined.
66567         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
66568         Reported by John David Anglin.
66569
66570 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
66571
66572         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
66573         resolve alias if codeset is empty.
66574         * lib/config.charset (BeOS): Use wildcard syntax.
66575
66576 2001-03-13  Jim Meyering  <meyering@lucent.com>
66577
66578         * lib/path-concat.c (path_concat)
66579         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
66580         concatenating e.g., `C:' and `foo'.
66581         From Bruno Haible.
66582
66583 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
66584
66585         * lib/localcharset.c (locale_charset): Don't use
66586         setlocale(LC_CTYPE,NULL). Don't return NULL.
66587         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
66588
66589 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
66590
66591         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
66592         support for DOS/DJGPP.
66593
66594 2001-03-01  Paul Eggert  <eggert@twinsun.com>
66595
66596         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
66597         lacks mkstemp.  Compile our own tempname.c if we compile our own
66598         mkstemp.c, as mkstemp relies on tempname.
66599
66600 2001-03-01  Jim Meyering  <meyering@lucent.com>
66601
66602         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
66603         AH_VERBATIM really does output its argument verbatim.
66604
66605 2001-02-28  Paul Eggert  <eggert@twinsun.com>
66606
66607         * lib/Makefile.am (libfetish_a_SOURCES):
66608         Add dup-safer.c, fopen-safer.c.
66609         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
66610
66611         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
66612         * lib/unistd-safer.h: New files.
66613
66614 2001-02-25  Paul Eggert  <eggert@twinsun.com>
66615
66616         The mkstemp replacement is taken from glibc 2.2.2, with some
66617         portability fixes for use outside glibc, as follows:
66618
66619         * lib/tempname.c (struct_stat64): New macro.
66620         (direxists, __gen_tempname): Use it.
66621         This avoids a portability problem with Solaris 8.
66622
66623         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
66624         (<stddef.h>, <stdint.h>, <string.h>):
66625         Include only if STDC_HEADERS || _LIBC.
66626         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
66627         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
66628         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
66629         (__set_errno): Define this macro if <errno.h> doesn't.
66630         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
66631         Define these macros if <stdio.h> doesn't.
66632         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
66633         Define these macros if <sys/stat.h>
66634         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
66635         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
66636         __xstat64): Define if not _LIBC.
66637         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
66638         (__gen_tempname): Invoke gettimeofday only if
66639         HAVE_GETTIMEOFDAY || _LIBC;
66640         otherwise, fall back on plain "time".
66641         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
66642
66643         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
66644
66645         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
66646
66647 2001-02-18  Paul Eggert  <eggert@twinsun.com>
66648
66649         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
66650
66651 2001-02-17  Paul Eggert  <eggert@twinsun.com>
66652
66653         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
66654         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
66655         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
66656         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
66657
66658 2001-02-17  Paul Eggert  <eggert@twinsun.com>
66659
66660         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
66661         Remove workaround macros for hosts that have mbrtowc but not
66662         mbstate_t, as we now insist on proper declarations for both
66663         before using mbrtowc.
66664
66665 2001-02-17  Jim Meyering  <meyering@lucent.com>
66666
66667         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
66668         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
66669         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
66670         UnixWare 7.1.1.
66671
66672         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
66673         rather than AC_CACHE_VAL.
66674
66675 2001-02-17  Jim Meyering  <meyering@lucent.com>
66676
66677         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
66678         around included file name.
66679
66680         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
66681
66682         * lib/strftime.c: Update from GNU libc (the only changes were to
66683         comments).
66684
66685 2001-02-17  Jim Meyering  <meyering@lucent.com>
66686
66687         * lib/regex.c: Update from libc.
66688
66689 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
66690
66691         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
66692         clash.
66693
66694 2001-02-16  Paul Eggert  <eggert@twinsun.com>
66695
66696         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
66697         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
66698         Reported by Mark Hounschell via Paul Eggert.
66699
66700 2001-02-07  Jim Meyering  <meyering@lucent.com>
66701
66702         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
66703
66704 2001-02-05  Jim Meyering  <meyering@lucent.com>
66705
66706         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
66707         it includes the patch required for `large file' support with at least
66708         HP-UX's 10.20 /bin/cc.
66709
66710 2001-02-03  Jim Meyering  <meyering@lucent.com>
66711
66712         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
66713         AS_IF, now that it works once again (mysteriously).
66714         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
66715
66716 2001-01-30  Jim Meyering  <meyering@lucent.com>
66717
66718         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
66719         * m4/chown.m4: Rename conftestchown to conftest.chown.
66720         * m4/rename.m4: s/conftestdir/conftest.d1/ and
66721         s/conftestdir2/conftest.d2/.
66722         * m4/utimes.m4: s/conftestdata/conftest.data/
66723         Inspired by Pavel Roskin's change in autoconf.
66724
66725 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
66726
66727         * lib/config.charset: Update for FreeBSD 4.2.
66728
66729 2001-01-27  Jim Meyering  <meyering@lucent.com>
66730
66731         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
66732         a use of AS_IF.
66733         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
66734
66735 2001-01-26  Jim Meyering  <meyering@lucent.com>
66736
66737         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
66738         quotearg.c includes it.
66739
66740 2001-01-26  Jim Meyering  <meyering@lucent.com>
66741
66742         * lib/quotearg.c: Include stddef.h.
66743         * lib/quote.c: Include stddef.h.
66744         Reported by Axel Kittenberger.
66745
66746         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
66747         line in double quotes so that it evokes a better diagnostic.
66748         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
66749         Reported by Axel Kittenberger.
66750
66751 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
66752
66753         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
66754         as if it was a `charset'.
66755
66756 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
66757
66758         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
66759         has const.
66760
66761 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
66762
66763         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
66764         to avoid a warning.  Add back 'const' to inptr.
66765
66766 2001-01-20  Jim Meyering  <meyering@lucent.com>
66767
66768         Be sure that headers are checked before used in code compiled
66769         for the type checks.
66770         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
66771         In place of that, invoke jm_CHECK_ALL_TYPES.
66772         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
66773         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
66774         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
66775         The check for ssize_t was mistakenly run before the test for unistd.h.
66776
66777         The configure-time check for stdbool.h was missing.
66778         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
66779         (jm_PREREQ_HASH): New function.
66780
66781 2001-01-17  Jim Meyering  <meyering@lucent.com>
66782
66783         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
66784         for autoconf-2.49c.
66785         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
66786
66787 2001-01-16  Jim Meyering  <meyering@lucent.com>
66788
66789         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
66790         From Bruno Haible.
66791
66792 2001-01-14  Jim Meyering  <meyering@lucent.com>
66793
66794         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
66795         foo and bar.  Create conftestdir/ in the script, not in the C code.
66796         Remove directories in the script, not in the C code.
66797         Remove conftestdir{,2} before trying to create the directory.
66798         Make the entire configure script fail if the mkdir fails.
66799
66800 2001-01-14  Jim Meyering  <meyering@lucent.com>
66801
66802         * lib/rename.c: New file.  From Volker Borchert.
66803         Include stdlib.h, string.h or strings.h, and xalloc.h.
66804         Use strip_trailing_slashes rather than open-coding it.
66805
66806 2001-01-03  Paul Eggert  <eggert@twinsun.com>
66807
66808         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
66809
66810 2001-01-03  Jim Meyering  <meyering@lucent.com>
66811
66812         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
66813         of local `inptr' to avoid warning with some system declarations of
66814         iconv.
66815
66816 2001-01-02  Volker Borchert  <bt@teknon.de>
66817
66818         * m4/rename.m4: New file.
66819         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
66820
66821 2001-01-01  Jim Meyering  <meyering@lucent.com>
66822
66823         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
66824         even on systems with utmpx.h.  It's necessary for the declaration of
66825         utmp's ut_user member.  Reported by Andreas Jaeger.
66826
66827         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
66828         available. They are required for the declarations of getgrgid and
66829         getpwuid resp.
66830         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
66831         Reported by Andreas Jaeger.
66832
66833 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
66834
66835         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
66836         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
66837         so `make install' also works in VPATH builds.
66838
66839 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
66840
66841         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
66842         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
66843         can be used in subdirectories.
66844
66845 2000-12-29  Paul Eggert  <eggert@twinsun.com>
66846
66847         * lib/modechange.c: Do not assume that mode_t uses the
66848         traditional octal encoding.  E.g. "chmod 1 FOO" should set
66849         the other-execute bit of FOO even if S_IXOTH != 1.
66850
66851         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
66852         WOTH, XOTH, ALLM): New macros.
66853         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
66854          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
66855         Use them.
66856         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
66857         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
66858         (mode_compile):
66859         No need to use uintmax_t; unsigned long is long enough.
66860         Don't bother to get suffix since we don't use it.
66861
66862 2000-12-26  Jim Meyering  <meyering@lucent.com>
66863
66864         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
66865         better with autoheader.
66866
66867 2000-12-24  Jim Meyering  <meyering@lucent.com>
66868
66869         * lib/hash.c (is_prime): Return explicit boolean values.
66870         (hash_get_first): Return NULL to appease Irix5.6's 89.
66871         Reported by Nelson Beebe.
66872
66873 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
66874
66875         * lib/localcharset.c (locale_charset): Add support for Win32.
66876
66877 2000-12-18  Paul Eggert  <eggert@twinsun.com>
66878
66879         * lib/physmem.h, lib/physmem.c: New files.
66880
66881         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
66882         (noinst_HEADERS): Add physmem.h.
66883
66884         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
66885         't' for compatibility with Solaris 8 sort.
66886
66887 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
66888
66889         * lib/config.charset: Add support for BeOS.
66890
66891 2000-12-17  Jim Meyering  <meyering@lucent.com>
66892
66893         * m4/dos.m4 (jm_AC_DOS): New file and macro.
66894         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
66895
66896 2000-12-16  Jim Meyering  <meyering@lucent.com>
66897
66898         This bug had a serious impact on chown: `chown N:M FILE' (for integer
66899         N and M) would have treated it like `chown N:N FILE'.
66900
66901         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
66902
66903 2000-12-16  Jim Meyering  <meyering@lucent.com>
66904
66905         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
66906         SHELLS_FILE to a file name that's useful on djgpp systems.
66907         Include stdlib.h.
66908         (ADDITIONAL_DEFAULT_SHELLS): Define.
66909         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
66910         Based mostly on a patch from Prashant TR.
66911
66912 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
66913
66914         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
66915         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
66916         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
66917
66918 2000-12-08  Andreas Schwab  <schwab@suse.de>
66919
66920         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
66921         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
66922
66923 2000-12-07  Jim Meyering  <meyering@lucent.com>
66924
66925         * lib/stripslash.c (ISSLASH): Define.
66926         (strip_trailing_slashes): Use ISSLASH rather than comparing against
66927         `/'.
66928         From Prashant TR.
66929
66930         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
66931         (dir_name_r): Declare this function as static.
66932         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
66933         manifest itself on a name containing a mix of slashes and
66934         backslashes.
66935         Make this function work with names starting with a DOS-style
66936         drive letter and colon prefix.
66937         (dir_name): Append `.' if necessary.
66938         Based mostly on patches from Prashant TR and Eli Zaretskii.
66939
66940         * lib/dirname.h (dir_name_r): Remove prototype.
66941
66942 2000-12-06  Paul Eggert  <eggert@twinsun.com>
66943
66944         * m4/off_t-format.m4: Remove this file.
66945         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
66946
66947 2000-12-06  Jim Meyering  <meyering@lucent.com>
66948
66949         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
66950         replacement strtoull, we may well need the replacement strtoul, too.
66951         Check for declarations of strtoul and strtoull.
66952         Check for strtol.  Mainly as a cue to cause automake to include
66953         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
66954         Check for limits.h -- strtol.c needs it.
66955
66956 2000-12-05  Jim Meyering  <meyering@lucent.com>
66957
66958         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
66959
66960 2000-12-04  Jim Meyering  <meyering@lucent.com>
66961
66962         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
66963         Also include memory.h, stdlib.h, unistd.h if appropriate.
66964         Reported by Andreas Jaeger (conflicting declaration of malloc).
66965
66966 2000-12-02  Jim Meyering  <meyering@lucent.com>
66967
66968         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
66969         * m4/jm-macros.m4 (jm_MACROS): require it.
66970
66971 2000-12-02  Jim Meyering  <meyering@lucent.com>
66972
66973         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
66974
66975 2000-12-01  Paul Eggert  <eggert@twinsun.com>
66976
66977         * lib/memrchr.c: Include <config.h> before any system include file.
66978
66979 2000-11-30  Jim Meyering  <meyering@lucent.com>
66980
66981         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
66982
66983 2000-11-30  Jim Meyering  <meyering@lucent.com>
66984
66985         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
66986
66987 2000-11-29  Paul Eggert  <eggert@twinsun.com>
66988
66989         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
66990
66991 2000-11-26  Jim Meyering  <meyering@lucent.com>
66992
66993         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
66994
66995 2000-11-22  Paul Eggert  <eggert@twinsun.com>
66996
66997         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
66998         size of (size_t) -1; it's not portable.
66999
67000 2000-11-17  Jim Meyering  <meyering@lucent.com>
67001
67002         * lib/strstr.c: Update from GNU libc.
67003
67004 2000-11-17  Akim Demaille  <akim@epita.fr>
67005
67006         * lib/obstack.h: Formatting changes.
67007         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
67008         prevent type checking.
67009         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
67010         cast the value to (void *): assigning a `foo *' to a `void *'
67011         variable is valid.
67012         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
67013
67014 2000-11-16  Jim Meyering  <meyering@lucent.com>
67015
67016         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
67017
67018 2000-11-11  Jim Meyering  <meyering@lucent.com>
67019
67020         * lib/error.c: Add a couple #includes, merging from GNU libc version.
67021
67022 2000-11-10  Jim Meyering  <meyering@lucent.com>
67023
67024         * lib/obstack.h: Update from GNU libc.
67025         * lib/obstack.c: Likewise.
67026
67027 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
67028
67029         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
67030
67031 2000-11-06  Paul Eggert  <eggert@twinsun.com>
67032
67033         * lib/getusershell.c (setusershell): Use rewind rather than
67034         fseek/fseeko, to avoid configuration hassles with fseeko.
67035         Don't bother opening SHELLS_FILE if shellstream is NULL;
67036         it's not necessary.
67037
67038 2000-11-05  Jim Meyering  <meyering@lucent.com>
67039
67040         * lib/makepath.h (make_dir): Declare.
67041         * lib/makepath.c (make_dir): Remove `static' attribute.
67042         Tweak a comment.
67043
67044 2000-11-04  Jim Meyering  <meyering@lucent.com>
67045
67046         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
67047
67048 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
67049
67050         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
67051         last one in a bucket, advance to the next bucket.
67052
67053 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
67054
67055         * lib/fnmatch.c: Do not comment out all the code if we are using
67056         the GNU C library, because in some cases we are replacing buggy
67057         code in the GNU C library itself.
67058
67059 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
67060
67061         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
67062         (regex_compile): Catch bogus \(\1\).
67063
67064 2000-10-30  Paul Eggert  <eggert@twinsun.com>
67065
67066         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
67067         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
67068         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
67069
67070 2000-10-30  Paul Eggert  <eggert@twinsun.com>
67071
67072         * lib/error.h, getline.h, modechange.h:
67073         Remove "2000" from Copyright line, as the file hasn't been
67074         changed this year other than in the copyright notice.
67075
67076         * lib/xalloc.h: Add "2000" to Copyright line, as this file
67077         was changed this year.
67078
67079 2000-10-29  Jim Meyering  <meyering@lucent.com>
67080
67081         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
67082         renaming.
67083         * m4/ls-mntd-fs.m4: Likewise
67084
67085 2000-10-29  Jim Meyering  <meyering@lucent.com>
67086
67087         * lib/xstat.in: Fix grammar in comment.
67088
67089 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
67090
67091         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
67092         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
67093         doesn't define __restrict_arr.
67094
67095 2000-10-28  Jim Meyering  <meyering@lucent.com>
67096
67097         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
67098         (jm_PREREQ_MEMCHR): New function.
67099
67100 2000-10-28  Jim Meyering  <meyering@lucent.com>
67101
67102         * lib/memchr.c: Update from libc.
67103         Adjust for portability:
67104         [HAVE_STDLIB_H]: Include stdlib.h.
67105         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
67106         Undef __memchr, too.
67107         [!weak_alias]: Define __memchr to memchr.
67108
67109         * lib/regex.c: Update from libc.
67110         * lib/regex.h: Likewise.
67111         * lib/getopt1.c: Likewise.
67112         * lib/memcmp.c: Likewise.
67113
67114         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
67115         Avoid using fseek, when possible -- it's broken by design.
67116         Patch by Ulrich Drepper.
67117
67118 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
67119
67120         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
67121         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
67122         Giving in to popular pressure to shut up the compiler with casts.
67123
67124 2000-10-26  Jim Meyering  <meyering@lucent.com>
67125
67126         * lib/strftime.c: Update from libc.
67127
67128 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
67129
67130         * regex.c: More `unsigned char' -> `re_char' changes.
67131         Also change several `int' into `re_wchar_t'.
67132         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
67133         (PUSH_FAILURE_POINTER): Don't cast any more.
67134         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
67135         We want GCC to complain, since this piece of code makes
67136         re_match non-reentrant, which *should* be fixed.
67137         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
67138         (EXTEND_BUFFER): Use RETALLOC.
67139         (SET_LIST_BIT): Don't cast.
67140         (re_wchar_t): New type.
67141         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
67142         that those two functions will always properly return.
67143         (IMMEDIATE_QUIT_CHECK): Cast to void.
67144         (analyse_first): Use recursion rather than an explicit stack.
67145         (re_compile_fastmap): Can't fail anymore.
67146         (re_search_2): Don't check re_compile_fastmap for failure.
67147         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
67148         Now also sets the new value (passed in a new argument).
67149         (re_match_2_internal): Use it.
67150         Also, use a new var `reg' of type size_t when looping through regs
67151         rather than reuse the inappropriate `mcnt'.
67152
67153 2000-10-25  Jim Meyering  <meyering@lucent.com>
67154
67155         * lib/obstack.c: Update from libc.
67156
67157 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
67158
67159         * regex.c (regex_compile): Change the way of handling a range from
67160         a char less than 256 to a char not less than 256.
67161
67162 2000-10-24  Andrew Innes  <andrewi@gnu.org>
67163
67164         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
67165         NT-Emacs only.
67166         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
67167         so that re_search functions only quit when callers expect them to.
67168
67169 2000-10-23  Jim Meyering  <meyering@lucent.com>
67170
67171         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
67172         wrong.  That set_locale call must not have any side effects.
67173         From Paul Eggert.
67174
67175 2000-10-22  Jim Meyering  <meyering@lucent.com>
67176
67177         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
67178         [CYCLIC]: Remove now-unused definition.
67179
67180         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
67181         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
67182         Suggestion from Ulrich Drepper.
67183
67184 2000-10-21  Jim Meyering  <meyering@lucent.com>
67185
67186         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
67187         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
67188         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
67189
67190 2000-10-21  Jim Meyering  <meyering@lucent.com>
67191
67192         * lib/dirname.c (memrchr): Declare if necessary.
67193         (dir_name): Remove the restriction that there be no
67194         trailing slashes.  Now, this code skips past them, effectively
67195         ignoring them.
67196         [TEST_DIRNAME] (main): New unit tests.
67197
67198         * lib/memrchr.c: New file from GNU libc.
67199         Undef __memrchr, too.
67200         [!weak_alias]: Define __memrchr to memrchr.
67201         Guard weak_alias use with `#ifdef weak_alias'.
67202
67203 2000-10-21  Jim Meyering  <meyering@lucent.com>
67204
67205         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
67206         (dir_name): Use dir_name_r.
67207         * lib/dirname.h (dir_name_r): Declare it.
67208
67209 2000-10-17  Jim Meyering  <meyering@lucent.com>
67210
67211         * lib/quote.h (PARAMS): Define and use.
67212         Reported by Akim Demaille.
67213
67214         * lib/getopt.c: Update from libc.
67215
67216 2000-10-16  Jim Meyering  <meyering@lucent.com>
67217
67218         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
67219         setlocale.
67220         From Jan Fedak.
67221
67222 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
67223
67224         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
67225
67226 2000-09-25  Jim Meyering  <meyering@lucent.com>
67227
67228         * lib/md5.h (rol): Define (from GnuPG).
67229
67230         * lib/sha.c: Give credit (GnuPG) where due.
67231         (M): Use rol rather than open-coding it.
67232         Add a FIXME comment.
67233
67234 2000-09-21  Jim Meyering  <meyering@lucent.com>
67235
67236         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
67237         Reported by Michael Stone.
67238
67239 2000-09-20  Jim Meyering  <meyering@lucent.com>
67240
67241         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
67242         (noinst_HEADERS): Add sha.h.
67243         Based on code from Scott G. Miller and from GnuPG.
67244
67245 2000-09-18  Jim Meyering  <meyering@lucent.com>
67246
67247         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
67248         LIBS. Otherwise, everyone ends up linking with -lelf for some
67249         configurations.
67250         Reported by Mike Stone.
67251
67252 2000-09-15  Jim Meyering  <meyering@lucent.com>
67253
67254         * lib/regex.c: Update from libc.
67255
67256 2000-09-10  Jim Meyering  <meyering@lucent.com>
67257
67258         * lib/getopt.c (_getopt_internal): Update from glibc.
67259
67260 2000-09-09  Jim Meyering  <meyering@lucent.com>
67261
67262         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
67263         think it should be used as a general replacement for isascii.
67264         * lib/fnmatch.c: Likewise.
67265         * lib/mbswidth.c: Likewise
67266         * lib/regex.c: Likewise.
67267
67268         Don't use atoi.
67269         * lib/userspec.c: Include sys/param.h and limits.h.
67270         Include xstrtol.h.
67271         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
67272         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
67273         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
67274         UID, GID.  Check range.
67275
67276 2000-09-06  Jim Meyering  <meyering@lucent.com>
67277
67278         * lib/getopt.c (_getopt_internal): Update from glibc.
67279
67280 2000-08-30  Jim Meyering  <meyering@lucent.com>
67281
67282         * lib/strftime.c: Merge in changes from GNU libc.
67283
67284 2000-08-26  Jim Meyering  <meyering@lucent.com>
67285
67286         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
67287         * m4/fpending.m4: New file.
67288
67289 2000-08-26  Jim Meyering  <meyering@lucent.com>
67290
67291         * lib/closeout.c: Include "__fpending.h".
67292         (close_stdout_status): Return right away if there's nothing to flush.
67293
67294         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
67295         * lib/__fpending.c: New file.
67296         * lib/__fpending.h: New file.
67297
67298 2000-08-20  Jim Meyering  <meyering@lucent.com>
67299
67300         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
67301         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
67302         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
67303
67304 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
67305
67306         Improve fileutils installation on systems where running
67307         programs (like install) can't be unlinked.
67308         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
67309         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
67310
67311 2000-08-07  Paul Eggert  <eggert@twinsun.com>
67312
67313         Standardize on "memory exhausted" instead of "Memory exhausted"
67314         or "virtual memory exhausted".
67315         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
67316         "virtual memory exhausted".
67317         * lib/same.c (same_name): Invoke xalloc_die instead of printing
67318         our own message.
67319         * lib/userspec.c (parse_user_spec): Likewise.
67320         * lib/bumpalloc.h: comment fix
67321         * lib/same.c, userspec.c: Include xalloc.h.
67322
67323         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
67324         not char *const and pointing to a constant array.
67325         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
67326         (xrealloc): Comment fix.
67327
67328         * lib/userspec.c (parse_user_spec):
67329         Don't translate a message until just before returning,
67330         to avoid unnecessary translation.
67331
67332 2000-08-07  Jim Meyering  <meyering@lucent.com>
67333
67334         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
67335         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
67336         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
67337         getgroups.c, gethostname.c, getopt.h, group-member.c,
67338         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
67339         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
67340         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
67341         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
67342         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
67343         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
67344         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
67345         yesno.c: Back out Copyright date changes for each file with no change
67346         this year.  This eases coordination with other programs using the same
67347         source code modules.  From Paul Eggert.
67348
67349 2000-08-06  Paul Eggert  <eggert@twinsun.com>
67350
67351         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
67352         not char, for compatibility with glibc 2.1.3 strftime.c.
67353
67354 2000-08-03  Greg McGary  <greg@mcgary.org>
67355
67356         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
67357         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
67358         (EXTEND_BUFFER): Use them.
67359
67360 2000-08-01  Jim Meyering  <meyering@lucent.com>
67361
67362         * lib/dirname.c (ISSLASH): Define.
67363         (BACKSLASH_IS_PATH_SEPARATOR): Define.
67364         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
67365         both `\' and `/' may be use as path separators.
67366         Based on a patch from Prashant TR.
67367
67368 2000-07-31  Paul Eggert  <eggert@twinsun.com>
67369
67370         * lib/quotearg.c (quotearg_n_options): Don't make the initial
67371         slot vector a constant, since it might get modified.
67372
67373 2000-07-31  Jim Meyering  <meyering@lucent.com>
67374
67375         * lib/xmalloc.c: Use `virtual memory exhausted', not
67376         `Memory exhausted'.
67377         * lib/obstack.c (print_and_abort): Likewise.
67378
67379 2000-07-30  Paul Eggert  <eggert@twinsun.com>
67380
67381         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
67382         buffer, so that the caller can always quote one small
67383         component of a "memory exhausted" message in slot 0.
67384         From a suggestion by Jim Meyering.
67385
67386 2000-07-30  Jim Meyering  <meyering@lucent.com>
67387
67388         * lib/makepath.c (make_path): Quote the other instance, too.
67389
67390         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
67391         (STATIC_BUF_SIZE): Define.
67392         (quotearg_n_options): Use only statically allocated storage when
67393         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
67394         than STATIC_BUF_SIZE.
67395
67396 2000-07-29  Jim Meyering  <meyering@lucent.com>
67397
67398         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
67399         * lib/dirname.c (dir_name): Likewise.
67400
67401         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
67402         `/'.
67403
67404         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
67405         (dir_name): Assert that there are no trailing slashes.
67406
67407 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
67408
67409         * lib/mbswidth.h (mbswidth): Add a flags argument.
67410         (mbswidth): New declaration.
67411         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
67412         * lib/mbswidth.c (mbswidth): Add a flags argument.
67413         (mbsnwidth): New function.
67414
67415 2000-07-24  Jim Meyering  <meyering@lucent.com>
67416
67417         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
67418
67419 2000-07-23  Paul Eggert  <eggert@twinsun.com>
67420
67421         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
67422
67423 2000-07-23  Paul Eggert  <eggert@twinsun.com>
67424
67425         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
67426         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
67427         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
67428         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
67429         invoke multibyte primitives.
67430
67431 2000-07-23  Paul Eggert  <eggert@twinsun.com>
67432
67433         * lib/quotearg.c:
67434         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
67435         so that mbstate_t is always defined.
67436
67437         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
67438         be 1 in at least one GCC installation, and this configuration
67439         error is likely to be common.  Ignoring MB_LEN_MAX hurts
67440         performance on hosts that have mbrtowc but have only unibyte
67441         locales, but I assume these hosts are rare.
67442
67443 2000-07-23  Paul Eggert  <eggert@twinsun.com>
67444
67445         * lib/mbswidth.c (_XOPEN_SOURCE):
67446         Don't define; this causes problems on Solaris 7.
67447         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
67448
67449 2000-07-23  Jim Meyering  <meyering@lucent.com>
67450
67451         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
67452         too: getgrgid, getpwuid, getuid.
67453
67454 2000-07-23  Jim Meyering  <meyering@lucent.com>
67455
67456         * lib/basename.c (base_name): Add an assertion.
67457
67458 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
67459
67460         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
67461         shadow its mbsinit function.
67462
67463 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
67464
67465         * lib/mbswidth.h: New file.
67466         * lib/mbswidth.c: New file.
67467         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
67468         (noinst_HEADERS): Add mbswidth.h.
67469
67470 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
67471
67472         * lib/config.charset: Add support for FreeBSD. Improve support for
67473         HP-UX and IRIX 6.
67474
67475 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
67476
67477         * m4/mbswidth.m4: New file.
67478         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
67479
67480 2000-07-15  Jim Meyering  <meyering@lucent.com>
67481
67482         * lib/makepath.c: Include quote.h.
67483         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
67484         corresponding argument in a `quote (...)' call.
67485         Give better diagnostics.
67486
67487         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
67488         (noinst_HEADERS): Add quote.h.
67489
67490         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
67491         from tar's src/misc.c.
67492         * lib/quote.h: New file.  Prototypes for same.
67493
67494 2000-07-14  Paul Eggert  <eggert@twinsun.com>
67495
67496         From a suggestion by Bruno Haible.
67497         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
67498         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
67499         to decide whether to define the BeOS workaround macro;
67500         this adjusts to the change to AC_MBSTATE_T.
67501
67502 2000-07-14  Jim Meyering  <meyering@lucent.com>
67503
67504         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
67505         jm_AC_TYPE_UINTMAX_T.
67506
67507 2000-07-13  Paul Eggert  <eggert@twinsun.com>
67508
67509         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
67510
67511         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
67512         quotearg_buffer_restyled): Add support for
67513         clocale_quoting_style.  Undo previous change to
67514         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
67515         and "{RIGHT QUOTATION MARK}" msgids.
67516
67517 2000-07-10  Paul Eggert  <eggert@twinsun.com>
67518
67519         From a suggestion by Bruno Haible.
67520         * m4/mbstate_t.m4 (AC_MBSTATE_T):
67521         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
67522         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
67523         and mbstate_t, to a single-part test that simply defines mbstate_t.
67524         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
67525         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
67526
67527 2000-07-10  Jim Meyering  <meyering@lucent.com>
67528
67529         * m4/strerror_r.m4: Mirror the correction made in autoconf.
67530
67531         * m4/gnu-source.m4: Output to confdefs.h directly.
67532         Suggestion from Akim Demaille.
67533
67534 2000-07-09  Paul Eggert  <eggert@twinsun.com>
67535
67536         The old behavior of quoting `like this' doesn't look good with
67537         newer, ISO-style fonts.  See:
67538         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
67539
67540         Instead, quote "like this" by default.  Let the translator
67541         tailor the locale-specific quoting behavior by providing
67542         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
67543
67544         * lib/quotearg.c (N_): New macro.
67545         (gettext_default): New function.
67546         (quotearg_buffer_restyled): Use
67547         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
67548         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
67549
67550 2000-07-09  Jim Meyering  <meyering@lucent.com>
67551
67552         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
67553         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
67554
67555         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
67556         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
67557
67558 2000-07-09  Jim Meyering  <meyering@lucent.com>
67559
67560         * lib/Most files: Update copyright dates to include 2000.
67561
67562 2000-07-08  Jim Meyering  <meyering@lucent.com>
67563
67564         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
67565         if not defined.
67566         (xgethostname): Remove now-unnecessary #ifdef.
67567         Move declaration of `err' into loop where it's used.
67568
67569 2000-07-05  Paul Eggert  <eggert@twinsun.com>
67570         and Bruno Haible  <haible@clisp.cons.org>
67571
67572         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
67573         only if the test for an object-type mbstate_t fails.  This
67574         prevents us from mistakenly reporting that mbstate_t is a
67575         system object type after we "#define mbstate_t int" to work
67576         around its lack.
67577
67578 2000-07-05  Paul Eggert  <eggert@twinsun.com>
67579         and Bruno Haible  <haible@clisp.cons.org>
67580
67581         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
67582
67583 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
67584
67585         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
67586         to strerror_r.
67587         Include <ctype.h> for use of isalpha.
67588
67589 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
67590
67591         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
67592         by allocating a larger buffer. Test the gethostname return value for
67593         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
67594         returns an error and ENAMETOOLONG isn't defined.
67595
67596 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
67597
67598         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
67599         dimension.
67600
67601 2000-07-04  Jim Meyering  <meyering@lucent.com>
67602
67603         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
67604         of the deprecated AC_CHECKING.
67605
67606 2000-07-04  Jim Meyering  <meyering@lucent.com>
67607
67608         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
67609         Reported by Bruno Haible.
67610
67611 2000-07-04  Jim Meyering  <meyering@lucent.com>
67612
67613         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
67614         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
67615         lacks mbrtowc.
67616
67617 2000-07-03  Paul Eggert  <eggert@twinsun.com>
67618
67619         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
67620         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
67621
67622 2000-07-03  Paul Eggert  <eggert@twinsun.com>
67623         and Bruno Haible  <haible@clisp.cons.org>
67624
67625         * lib/quotearg.c (mbrtowc):
67626         Assign to *pwc, and return 1 only if result is nonzero.
67627         (iswprint): Use ISPRINT when substituting our own mbrtowc.
67628
67629 2000-07-03  Jim Meyering  <meyering@lucent.com>
67630
67631         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
67632
67633 2000-07-03  Jim Meyering  <meyering@lucent.com>
67634
67635         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
67636         This is necessary to get a definition of e.g., UTMP_FILE on
67637         HP-UX 10.20.
67638         From Bob Proulx.
67639
67640 2000-07-02  Jim Meyering  <meyering@lucent.com>
67641
67642         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
67643
67644         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
67645         AC_LIBOBJ(function_name).
67646         * m4/chown.m4: Likewise.
67647         * m4/fnmatch.m4: Likewise.
67648         * m4/ftruncate.m4: Likewise.
67649         * m4/getgroups.m4: Likewise.
67650         * m4/getline.m4: Likewise.
67651         * m4/group-member.m4: Likewise.
67652         * m4/jm-macros.m4: Likewise.
67653         * m4/lstat.m4: Likewise.
67654         * m4/malloc.m4: Likewise.
67655         * m4/memcmp.m4: Likewise.
67656         * m4/nanosleep.m4: Likewise.
67657         * m4/putenv.m4: Likewise.
67658         * m4/realloc.m4: Likewise.
67659         * m4/regex.m4: Likewise.
67660         * m4/stat.m4: Likewise.
67661         * m4/strftime.m4: Likewise.
67662
67663 2000-07-02  Jim Meyering  <meyering@lucent.com>
67664
67665         * lib/quotearg.c (mbstate_t): Don't define here.
67666
67667 2000-07-02  Jim Meyering  <meyering@lucent.com>
67668
67669         * lib/nanosleep.c (SIGCONT): Define if not already defined.
67670
67671 2000-07-01  Jim Meyering  <meyering@lucent.com>
67672
67673         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
67674
67675 2000-07-01  Jim Meyering  <meyering@lucent.com>
67676
67677         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
67678         problem.
67679
67680 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
67681
67682         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
67683         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
67684
67685 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
67686
67687         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
67688         per change in ../m4/ls-mntd-fs.m4.
67689         (read_filesystem_list): Ignore symbolic links.
67690
67691 2000-06-29  Jim Meyering  <meyering@lucent.com>
67692
67693         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
67694         for declaration of strcmp.
67695
67696         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
67697
67698         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
67699         Avoid warning by casting result to `char *' to remove `const'.
67700
67701 2000-06-28  Jim Meyering  <meyering@lucent.com>
67702
67703         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
67704         included by quotearg.c, for which we perform this test.  From
67705         Bruno Haible.
67706
67707 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
67708
67709         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
67710         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
67711         <utmpx.h> exists, put readutmp.o into LIBOBJS.
67712
67713 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
67714
67715         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
67716
67717 2000-06-26  Paul Eggert  <eggert@twinsun.com>
67718
67719         savedir now sets errno on failure and invokes xmalloc to get memory.
67720         Fix a couple of other minor bugs while we're at it.
67721
67722         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
67723         (NAMLEN): Remove macro.
67724         (malloc, realloc): Remove decls.
67725         (stpcpy): Likewise.
67726         ("xalloc.h"): Include.
67727         (NAME_SIZE_DEFAULT): New macro.
67728         (savedir): Use xmalloc / xrealloc to allocate memory.
67729         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
67730         Skip "" directory entries.
67731         Use strlen to calculate directory entry length, since the old method
67732         is rarely used these days and isn't worth supporting.
67733         Don't use a pointer after freeing it.
67734         Check for integer overflow when calculating allocation size.
67735         Use memcpy to copy entries, instead of stpcpy.
67736         Set errno properly when returning NULL.
67737         Check for readdir error.
67738
67739 2000-06-26  Jim Meyering  <meyering@lucent.com>
67740
67741         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
67742
67743 2000-06-25  Jim Meyering  <meyering@lucent.com>
67744
67745         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
67746         Linux header bug when _XOPEN_SOURCE is defined to 500.
67747
67748 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
67749
67750         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
67751         deficiency.
67752
67753 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
67754
67755         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
67756         Include xalloc.h.
67757         Don't include <stdlib.h>.  Don't declare malloc, realloc.
67758
67759 2000-06-24  Jim Meyering  <meyering@lucent.com>
67760
67761         * m4/strerror_r.m4: Revive this file -- to try out an experimental
67762         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
67763         for which strerror does return char*, but which lacks a conveniently
67764         accessible declaration of the function.  If the compile-test says
67765         strerror_r doesn't work, then resort to a `run'-test that works on
67766         BeOS and segfaults on DEC Unix.
67767
67768 2000-06-24  Jim Meyering  <meyering@lucent.com>
67769
67770         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
67771
67772 2000-06-23  Paul Eggert  <eggert@twinsun.com>
67773
67774         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
67775         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
67776
67777 2000-06-23  Paul Eggert  <eggert@twinsun.com>
67778
67779         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
67780         (mbrtowc, mbstate_t): Define substitutes if
67781         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
67782         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
67783         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
67784
67785 2000-06-23  Jim Meyering  <meyering@lucent.com>
67786
67787         * m4/afs.m4: Add missing AC_MSG_RESULT.
67788         Reported by Bruno Haible.
67789
67790         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
67791         Suggestion from Bruno Haible.
67792
67793 2000-06-23  Jim Meyering  <meyering@lucent.com>
67794
67795         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
67796
67797 2000-06-21  Jim Meyering  <meyering@lucent.com>
67798
67799         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
67800
67801 2000-06-21  Jim Meyering  <meyering@lucent.com>
67802
67803         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
67804         (noinst_HEADERS): Add getstr.h.
67805
67806         * lib/getline.c (getstr): Move into a separate file.
67807         * lib/getstr.c (getstr): New file, extracted from getline.c, with
67808         the following changes: new parameter, delim2; both delim[12]
67809         parameters have type `int', not `char'.  The latter would lose
67810         with 8-bit delimiters.
67811         * lib/getstr.h: New file.
67812
67813 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
67814
67815         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
67816         than 1024, return a memory chunk of least possible size, instead
67817         of size PATH_MAX + 2. In the loop, increment the size proportionally.
67818         Use free/xmalloc instead of xrealloc to avoid copying for very long
67819         paths.
67820
67821 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
67822
67823         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
67824         the empty string.
67825
67826 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
67827
67828         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
67829         address, not strdup.  Include <stdlib.h> and don't declare free().
67830
67831 2000-06-19  Jim Meyering  <meyering@lucent.com>
67832
67833         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
67834
67835 2000-06-18  Jim Meyering  <meyering@lucent.com>
67836
67837         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
67838
67839         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
67840         `checking whether...' message to be consistent with that of the
67841         lstat test.
67842
67843 2000-06-18  Jim Meyering  <meyering@lucent.com>
67844
67845         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
67846         Besides, these days every porting target provides a mkdir function.
67847
67848         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
67849         needed. (this snippet comes from src/system.h).
67850
67851 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
67852
67853         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
67854
67855 2000-06-15  Paul Eggert  <eggert@twinsun.com>
67856
67857         * lib/human.c (adjust_value): New function.
67858         (human_readable_inexact): Apply rounding style even when
67859         printing approximate values.
67860
67861 2000-06-14  Paul Eggert  <eggert@twinsun.com>
67862
67863         * lib/human.c (human_readable_inexact): Allow an input block
67864         size that is not a multiple of the output block size, and vice versa.
67865         Reported by Piergiorgio Sartor.
67866
67867 2000-06-14  Paul Eggert  <eggert@twinsun.com>
67868
67869         * lib/getdate.y (get_date): Apply relative times after time
67870         zone indicator, not before.  Reported by Todd A. Jacobs.
67871
67872 2000-06-13  Jim Meyering  <meyering@lucent.com>
67873
67874         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
67875
67876         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
67877
67878 2000-06-12  Paul Eggert  <eggert@twinsun.com>
67879
67880         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
67881
67882 2000-06-12  Jim Meyering  <meyering@lucent.com>
67883
67884         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
67885         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
67886         optional argument.
67887         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
67888         the optional argument, `lib'.
67889
67890 2000-06-08  Jim Meyering  <meyering@lucent.com>
67891
67892         * m4/largefile.m4: Remove file (now that it's part of autoconf).
67893
67894 2000-06-04  Paul Eggert  <eggert@twinsun.com>
67895
67896         Rewrite largefile configuration so that we don't need to run
67897         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
67898         AC_CANONICAL_HOST in configure.in -- jmm]
67899
67900         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
67901         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
67902         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
67903         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
67904         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
67905         All uses changed.
67906         Instead of inspecting the output of getconf, try to compile the
67907         test program without and with the macro definition.
67908         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
67909         for getconf.  Instead, check for the needed flags by compiling
67910         test programs.
67911
67912 2000-06-04  Paul Eggert  <eggert@twinsun.com>
67913
67914         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
67915
67916 2000-06-04  Jim Meyering  <meyering@lucent.com>
67917
67918         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
67919         SunOS 4.1.4 for which gid_t is an unsigned type.
67920
67921 2000-06-03  Jim Meyering  <meyering@lucent.com>
67922
67923         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
67924         now that autoconf requires that.
67925
67926         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
67927         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
67928         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
67929
67930 2000-06-03  Jim Meyering  <meyering@lucent.com>
67931
67932         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
67933
67934 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
67935
67936         * m4/glibc21.m4: New file.
67937         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
67938
67939 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
67940
67941         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
67942         newer, don't install charset.alias.
67943         * lib/config.charset: Change the Linux/glibc rules so they become empty
67944         on glibc-2.1 or newer.
67945
67946 2000-06-02  Jim Meyering  <meyering@lucent.com>
67947
67948         * lib/mountlist.c: Back out last change.  Instead, do this...
67949         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
67950         me_dummy member using the same `ignore'-testing code.
67951         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
67952         fs_type strings.
67953         From Mark D. Roth.
67954
67955 2000-05-29  Jim Meyering  <meyering@lucent.com>
67956
67957         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
67958         mounts with the `ignore' attribute.  Based on a patch from
67959         Mark D. Roth.
67960
67961 2000-05-28  Jim Meyering  <meyering@lucent.com>
67962
67963         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
67964         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
67965         * m4/stat.m4: Likewise.
67966         * m4/lstat.m4: Likewise.
67967         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
67968
67969         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
67970         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
67971
67972 2000-05-26  Jim Meyering  <meyering@lucent.com>
67973
67974         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
67975
67976 2000-05-24  Jim Meyering  <meyering@lucent.com>
67977
67978         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
67979         autoconf requires that.
67980         * m4/lib-check.m4: Likewise.
67981         * m4/jm-macros.m4: Likewise.
67982         * m4/strftime.m4: Likewise.
67983
67984         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
67985         AC_CHECK_DECLS, now that autoconf requires that.
67986
67987 2000-05-22  Jim Meyering  <meyering@lucent.com>
67988
67989         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
67990         * m4/lstat.m4: Likewise.
67991
67992 2000-05-22  Jim Meyering  <meyering@lucent.com>
67993
67994         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
67995
67996 2000-05-20  Jim Meyering  <meyering@lucent.com>
67997
67998         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
67999         (jm_PREREQ): Use it.
68000
68001 2000-05-18  Jim Meyering  <meyering@lucent.com>
68002
68003         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
68004         back, too, since it may have been modified by allocate_entry.
68005         (hash_delete): Rewrite to use neither the assignment operator
68006         nor the comma operator in an if-expression.
68007
68008 2000-05-15  Paul Eggert  <eggert@twinsun.com>
68009
68010         * lib/closeout.c:
68011         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
68012         Remove; no longer needed.
68013         "quotearg.h": Add include.
68014         (file_name): Do not bother to explicitly initialize to NULL; it's less
68015         efficient on some hosts.
68016         (close_stdout_status): Remove test as to whether stdout was already
68017         closed; it breaks for the case "echo x | sort >&-".
68018         Quote file name colons.
68019         Do not assume that _("write error") lacks format strings.
68020
68021 2000-05-15  Jim Meyering  <meyering@lucent.com>
68022
68023         * lib/version-etc.c (version_etc_copyright): Update the copyright
68024         string used in all --version output.
68025
68026 2000-05-14  Jim Meyering  <meyering@lucent.com>
68027
68028         * lib/closeout.c (close_stdout_set_file_name): New function.
68029         (close_stdout_status): Use new file-scoped global.
68030         Return right away if fstat says the stdout file descriptor is invalid.
68031         * lib/closeout.h (close_stdout_set_file_name): Declare.
68032
68033 2000-05-10  Jim Meyering  <meyering@lucent.com>
68034
68035         * lib/closeout.c [default_exit_status]: New file-scoped variable.
68036         (close_stdout_set_status): New function.
68037         * lib/closeout.h (close_stdout_set_status): Declare.
68038
68039 2000-05-09  Jim Meyering  <meyering@lucent.com>
68040
68041         * m4/gettext.m4: Rename this...
68042         * m4/libintl.m4: ...to this.
68043
68044 2000-05-08  Jim Meyering  <meyering@lucent.com>
68045
68046         * lib/long-options.c: Don't include closeout.h.
68047         (parse_long_options): Don't call close_stdout for --version.
68048
68049 2000-05-06  Paul Eggert  <eggert@twinsun.com>
68050
68051         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
68052         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
68053         2.1.3 bug.  This avoids a clash when files like regex.c define
68054         _GNU_SOURCE.
68055
68056 2000-05-06  Jim Meyering  <meyering@lucent.com>
68057
68058         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
68059         (AC_REPLACE_FUNCS): Add strnlen.
68060
68061         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
68062         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
68063
68064         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
68065         AC_SEARCH_LIBS call for nanosleep.
68066         (LIB_NANOSLEEP): Set and AC_SUBST.
68067
68068 2000-05-06  Jim Meyering  <meyering@lucent.com>
68069
68070         * lib/strnlen.c: Undefine __strnlen and strnlen.
68071         [!weak_alias]: Define __strnlen to strnlen.
68072
68073         * lib/atexit.c: New file, from libiberty.
68074
68075 2000-05-06  Jim Meyering  <meyering@lucent.com>
68076
68077         * lib/closeout.c (close_stdout_status): Also check for errors on the
68078         stderr stream.
68079
68080 2000-05-05  Jim Meyering  <meyering@lucent.com>
68081
68082         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
68083         AC_SEARCH_LIBS call for clock_gettime.
68084         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
68085
68086         * m4/search-libs.m4: Update from autoconf.
68087
68088         su doesn't work on Solaris 2.6.
68089         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
68090         <shadow.h>.  Reported by Dragos Harabor.
68091
68092 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
68093
68094         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
68095         memcpy instead of xmalloc, xrealloc, path_concat.
68096         (locale_charset): Treat empty environment variables as absent.
68097         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
68098
68099 2000-05-04  Jim Meyering  <meyering@lucent.com>
68100
68101         * lib/getopt.c: Update from glibc.
68102         * lib/obstack.c: Likewise.
68103         * lib/obstack.h: Likewise.
68104         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
68105         file
68106
68107         * lib/regex.h: Likewise.
68108         * lib/strndup.c: Likewise.
68109         * lib/strnlen.c: New file, from glibc.
68110
68111 2000-05-03  Jim Meyering  <meyering@lucent.com>
68112
68113         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
68114
68115 2000-05-02  Paul Eggert  <eggert@twinsun.com>
68116
68117         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
68118         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
68119         compile-time test, rather than inspecting host and OS, to
68120         decide whether to define _LARGEFILE_SOURCE.
68121
68122 2000-05-01  Jim Meyering  <meyering@lucent.com>
68123
68124         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
68125
68126         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
68127         Based on a patch from Bruno Haible.
68128
68129 2000-05-01  Jim Meyering  <meyering@lucent.com>
68130
68131         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
68132
68133 2000-04-29  Jim Meyering  <meyering@lucent.com>
68134
68135         * lib/path-concat.c: Declare strdup only if it's not defined.
68136         * lib/canon-host.c: Likewise.
68137
68138 2000-04-28  Jim Meyering  <meyering@lucent.com>
68139
68140         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
68141         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
68142         is included first, then limits.h is included by locale.h by libintl.h.
68143         From John David Anglin.
68144
68145 2000-04-25  Jim Meyering  <meyering@lucent.com>
68146
68147         * lib/makepath.c (S_IRWXUGO): Define.
68148         (make_path): Always perform explicit chmod if MODE specifies any
68149         of the `special' permission bits.  Prompted by a bug report against
68150         install from Mate Wierdl and Joost van Baal.
68151
68152 2000-04-18  Jim Meyering  <meyering@lucent.com>
68153
68154         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
68155         (jm_PREREQ): Use it.
68156
68157 2000-04-18  Jim Meyering  <meyering@lucent.com>
68158
68159         * lib/README: New file.
68160
68161         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
68162         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
68163
68164 2000-04-17  Jim Meyering  <meyering@lucent.com>
68165
68166         Get it right :-)
68167         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
68168         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
68169         Suggestion from Akim Demaille.
68170
68171 2000-04-17  Jim Meyering  <meyering@lucent.com>
68172
68173         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
68174         the definition of it to rpl_strftime also defined-away the system's
68175         declaration.
68176
68177 2000-04-15  Jim Meyering  <meyering@lucent.com>
68178
68179         Use `C' to denote so-called `contiguous' files, the same way
68180         that tar does.
68181         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
68182         (ftypelet): Use S_ISCTG.
68183         From Michael Deutschmann.
68184
68185 2000-04-14  Jim Meyering  <meyering@lucent.com>
68186
68187         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
68188         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
68189         clobbered.
68190
68191 2000-04-14  Jim Meyering  <meyering@lucent.com>
68192
68193         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
68194
68195 2000-04-13  Jim Meyering  <meyering@lucent.com>
68196
68197         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
68198         AH_VERBATIM to insert required #ifndef into config.h.in.
68199         Suggestion from Akim Demaille.
68200
68201 2000-04-12  Jim Meyering  <meyering@lucent.com>
68202
68203         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
68204         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
68205         Christian Krackowizer.
68206
68207         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
68208         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
68209         (AC_SYS_LARGEFILE): Require.
68210         (AM_C_PROTOTYPES): Require.
68211
68212 2000-04-08  Jim Meyering  <meyering@lucent.com>
68213
68214         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
68215         names don't conflict.  Reported by Eli Zaretskii.
68216
68217 2000-04-07  Jim Meyering  <meyering@lucent.com>
68218
68219         * lib/putenv.c: Move inclusion of errno.h so it follows that of
68220         sys/types.h, to work around system header problems on AIX 3.2.5.
68221         From Bruno Haible.
68222
68223 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
68224
68225         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
68226         bug.  Deal with the different error behavior of Irix iconv.
68227
68228 2000-04-05  Paul Eggert  <eggert@twinsun.com>
68229
68230         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
68231         IRIX if the installer said otherwise.
68232
68233 2000-04-05  Jim Meyering  <meyering@lucent.com>
68234
68235         Portability tweaks required for ultrix4.3.
68236         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
68237         (jm_CHECK_DECLS): Add getutent to the list of functions.
68238         (_jm_DECL_HEADERS): Add utmpx.h.
68239         From John David Anglin.
68240
68241         * m4/strftime.m4: Back out the 2000-04-02 change.
68242         Instead of that change, simply undefine putenv in the test program.
68243
68244 2000-04-05  Jim Meyering  <meyering@lucent.com>
68245
68246         Portability tweaks required for ultrix4.3.
68247         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
68248         getutent.
68249         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
68250         * lib/canon-host.c: Declare strdup.
68251         * lib/path-concat.c: Likewise.
68252         From John David Anglin.
68253
68254 2000-04-04  Jim Meyering  <meyering@lucent.com>
68255
68256         Be more DOS 8.3-friendly.
68257         * lib/ref-add.sin: Renamed from ref-add.sed.in.
68258         * lib/ref-del.sin: Renamed from ref-del.sed.in.
68259         * lib/Makefile.am: Reflect renaming.
68260         Reported by Eli Zaretskii.
68261
68262         Use a temporary file name that won't clash with `charset.alias'
68263         in the DOS 8.3 name space.
68264         * lib/Makefile.am (charset_tmp): Define.
68265         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
68266         (uninstall-local): Likewise.
68267         Reported by Eli Zaretskii.
68268
68269 2000-04-03  Jim Meyering  <meyering@lucent.com>
68270
68271         * m4/gettext.m4: Fix typo in comment.
68272
68273         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
68274         textutils/configure.in).  Suggestion from Paul Eggert.
68275         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
68276
68277 2000-04-02  Paul Eggert  <eggert@twinsun.com>
68278
68279         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
68280         variable in the shell rather than using putenv, which isn't
68281         portable.  This avoids the configure-time inter-test dependency
68282         on the potentially-renamed putenv function.
68283
68284 2000-03-30  Paul Eggert  <eggert@twinsun.com>
68285
68286         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
68287         before checking struct stat.st_blksize, so that
68288         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
68289
68290 2000-03-29  Paul Eggert  <eggert@twinsun.com>
68291
68292         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
68293         since strftime.c uses HAVE_STRFTIME to decide whether to use
68294         the underlying strftime.
68295
68296 2000-03-29  Paul Eggert  <eggert@twinsun.com>
68297
68298         * lib/time/strftime.c (my_strftime): Make sure we call the system
68299         strftime, not ourselves, when invoking the underlying strftime.
68300
68301 2000-03-24  Jim Meyering  <meyering@lucent.com>
68302
68303         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
68304         (charset_alias): Define.
68305         (install-exec-local): Factor out common code.
68306         (uninstall-local): Split lines longer than 80.
68307         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
68308         (SUFFIXES): Define.
68309         (.sed.in.sed): New rule.  Don't redirect directly to $@.
68310         (CLEANFILES): Add ref-add.sed and ref-del.sed.
68311
68312 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
68313
68314         * lib/config.charset: Output a line containing "Packages using this
68315         file".
68316         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
68317         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
68318         ref-del.sed): New rules.
68319
68320 2000-03-17  Jim Meyering  <meyering@lucent.com>
68321
68322         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
68323         Otherwise, include <strings.h>
68324
68325 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
68326
68327         * lib/unicodeio.c (utf8_wctomb): New function.
68328         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
68329         format instead of in UCS-4 with platform dependent endianness.
68330
68331 2000-03-10  Jim Meyering  <meyering@lucent.com>
68332
68333         * m4/lib-check.m4: Look for getspnam in -lgen, too.
68334         From Marco Franzen.
68335
68336 2000-03-07  Paul Eggert  <eggert@twinsun.com>
68337
68338         * lib/savedir.c (savedir): Work even if directory size is
68339         negative; this can happen with some screwy NFS configurations.
68340
68341 2000-03-06  Jim Meyering  <meyering@lucent.com>
68342
68343         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
68344         if it's NULL (because we ran out of memory).  From Bruno Haible.
68345
68346 2000-03-05  Jim Meyering  <meyering@lucent.com>
68347
68348         * lib/localcharset.c ("path-concat.h"): Include.
68349         (get_charset_aliases): Use path_concat instead of ANSI string
68350         concatenation.
68351
68352         * lib/unicodeio.h (PARAMS): Define.
68353         Use it to guard prototype.
68354
68355 2000-03-04  Jim Meyering  <meyering@lucent.com>
68356
68357         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
68358         for lib/localcharset.c.
68359
68360 2000-03-04  Jim Meyering  <meyering@lucent.com>
68361
68362         * lib/Makefile.am (install-exec-local): Create $(libdir) before
68363         installing into it.
68364         (uninstall-local): Uncomment this rule so `make distcheck' works
68365         once again.
68366
68367         * lib/unicodeio.c (<errno.h>): Include it.
68368         (errno): Declare if not defined.
68369
68370         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
68371
68372         * lib/config.charset: New version, incorporating remarks from a linux
68373         i18n mailing list.  From Bruno Haible.
68374
68375 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
68376
68377         * m4/codeset.m4: New file.
68378         * m4/iconv.m4: New file.
68379         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
68380
68381 2000-03-03  Jim Meyering  <meyering@lucent.com>
68382
68383         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
68384
68385 2000-03-02  Jim Meyering  <meyering@lucent.com>
68386
68387         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
68388         the messages come out on separate lines.
68389
68390         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
68391         rather than jm_CHECK_DECLARATIONS.
68392         * m4/decl.m4: Remove now-unused file.
68393
68394         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
68395         geteuid.
68396
68397 2000-03-02  Jim Meyering  <meyering@lucent.com>
68398
68399         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
68400
68401 2000-03-01  Jim Meyering  <meyering@lucent.com>
68402
68403         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
68404         * lib/unicodeio.c: Likewise.
68405
68406 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
68407
68408         * lib/config.charset: New file.
68409         * lib/localcharset.c: New file.
68410         * lib/unicodeio.h, lib/unicodeio.c: New files.
68411         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
68412         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
68413         (noinst_HEADERS): Add unicodeio.h.
68414         (all-local, install-exec-local, charset.alias): New targets.
68415
68416 2000-02-28  Paul Eggert  <eggert@twinsun.com>
68417
68418         * lib/quotearg.c (ALERT_CHAR): New macro.
68419         (quotearg_buffer_restyled): Use it.
68420
68421 2000-02-27  Jim Meyering  <meyering@lucent.com>
68422
68423         * m4/check-decl.m4: Add getenv to the list.
68424
68425 2000-02-27  Jim Meyering  <meyering@lucent.com>
68426
68427         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
68428         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
68429
68430         * lib/backupfile.c: Guard inclusion of stdlib.h with
68431         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
68432         Declare malloc if needed.
68433
68434         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
68435         `#ifndef HAVE_DECL..'
68436         now that autoconf always defines the HAVE_DECL_ symbols.
68437         * lib/human.c: Likewise.
68438         * lib/same.c: Likewise.
68439         * lib/strtoumax.c: Likewise.
68440
68441         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
68442         declaration check was not run.
68443         * lib/hash.c: Likewise.
68444         * lib/human.c: Likewise.
68445         * lib/same.c: Likewise.
68446         * lib/strtoumax.c: Likewise.
68447
68448         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
68449         `.', then first look up the entire `.'-containing string as a login
68450         name.
68451
68452 2000-02-23  Jim Meyering  <meyering@lucent.com>
68453
68454         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
68455         in place of my hack.
68456
68457 2000-02-18  Paul Eggert  <eggert@twinsun.com>
68458
68459         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
68460         (textint): New typedef.
68461         (parser_control): Member year changed from int to textint.
68462         All uses changed.
68463         (YYSTYPE): Removed; replaced by %union with int and textint members.
68464         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
68465         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
68466         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
68467         (tSNUMBER, tUNUMBER): Now of type <textintval>.
68468         (date, number, to_year): Use width of number in digits, not its value,
68469         to determine whether it's a 2-digit year, or a 2-digit time.
68470         (yylex): Store number of digits of numeric tokens.
68471         Reported by John Kendall.
68472
68473         (parser_control): Changed from struct parser_control to typedef (for
68474         consistency).  All uses changed.
68475
68476         (tID): Removed; not used.
68477         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
68478
68479 2000-02-14  Paul Eggert  <eggert@twinsun.com>
68480
68481         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
68482         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
68483
68484 2000-02-12  Jim Meyering  <meyering@lucent.com>
68485
68486         * lib/userspec.c (ISDIGIT): Define it.
68487         (isdigit): Remove definition.
68488         (is_number): Use ISDIGIT, not isdigit.
68489         <libintl.h>: Include.
68490         (_ and N_): Define.
68491         (parse_user_spec): Mark translatable strings.
68492
68493 2000-02-10  Jim Meyering  <meyering@lucent.com>
68494
68495         With these changes, nanosleep.[ch] are finally enough like the other
68496         lib/* replacement files to compile on a few more losing systems.
68497
68498         * lib/nanosleep.h: Don't include config.h.
68499         Remove prototype from declaration of nanosleep.
68500         (PARAMS): Remove now-unneeded definition.
68501         * lib/nanosleep.c: #undef nanosleep.
68502         (rpl_nanosleep): Rename from nanosleep.
68503
68504 2000-02-10  Jim Meyering  <meyering@lucent.com>
68505
68506         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
68507         gnu_nanosleep to rpl_nanosleep.
68508
68509 2000-02-09  Jim Meyering  <meyering@lucent.com>
68510
68511         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
68512         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
68513
68514 2000-02-08  Akim Demaille  <akim@epita.fr>
68515
68516         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
68517         `[' and `]' and remove uses of `changequote'.
68518         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
68519         (AC_SYS_LARGEFILE): Likewise.
68520         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
68521         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
68522         of changequote.
68523         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
68524         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
68525         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
68526         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
68527
68528 2000-02-05  Jim Meyering  <meyering@lucent.com>
68529
68530         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
68531         Remove explicit use of AC_HEADER_TIME.  It is required by
68532         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
68533         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
68534         in autoconf whereby the expansion of the latter ended up preceding
68535         the expansion of its prerequisite, AC_HEADER_TIME.
68536         Reported by Volker Borchert.
68537
68538 2000-02-03  Jim Meyering  <meyering@lucent.com>
68539
68540         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
68541
68542 2000-02-03  Jim Meyering  <meyering@lucent.com>
68543
68544         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
68545         rather than with `#if HAVE_UTMPNAME'.
68546
68547 2000-02-02  Jim Meyering  <meyering@lucent.com>
68548
68549         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
68550         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
68551         Reported by Eli Zaretskii.
68552
68553 2000-02-01  Jim Meyering  <meyering@lucent.com>
68554
68555         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
68556
68557 2000-01-31  Jim Meyering  <meyering@lucent.com>
68558
68559         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
68560         functions.  Add the time.h and sys/time.h headers along with the
68561         AC_REQUIRE'ment of AC_HEADER_TIME.
68562
68563 2000-01-31  Jim Meyering  <meyering@lucent.com>
68564
68565         * lib/nanosleep.h (nanosleep): Guard declaration with
68566         `#if ! HAVE_DECL_NANOSLEEP'.
68567         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
68568         the declaration in that vendor's sys/timers.h.
68569         Reported by Christian Krackowizer.
68570
68571         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
68572         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
68573         (ISPRINT): Likewise.
68574         Reported by Tom Tromey.
68575
68576 2000-01-30  Jim Meyering  <meyering@lucent.com>
68577
68578         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
68579
68580         * m4/prereq.m4 (utmp_includes): Define.
68581         Check for ut_user and ut_name members in both struct utmpx
68582         and struct utmp.
68583
68584 2000-01-30  Jim Meyering  <meyering@lucent.com>
68585
68586         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
68587         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
68588         header files where only utmpx.ut_user is declared.
68589
68590         * lib/readutmp.h (UT_USER): Define.
68591
68592 2000-01-29  Jim Meyering  <meyering@lucent.com>
68593
68594         * m4/lib-check.m4: New file containing library-related checks from
68595         fileutils and sh-utils (textutils had none).
68596
68597 2000-01-28  Jim Meyering  <meyering@lucent.com>
68598
68599         * m4/perl.m4: Change format of warning message to look more like that
68600         from the missing script.  Suggestion from François Pinard.
68601
68602 2000-01-25  Jim Meyering  <meyering@lucent.com>
68603
68604         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
68605         well as time.h in the compile check.
68606         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
68607         Fix typo in cross-compiling case: s/yes/no/.
68608
68609 2000-01-23  Jim Meyering  <meyering@lucent.com>
68610
68611         * m4/jm-macros.m4: Move df-related tests here from
68612         fileutils/configure.in
68613
68614         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
68615         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
68616
68617         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
68618         s/space/ac_fsusage_space/.
68619         (jm_FILE_SYSTEM_USAGE): Take two parameters.
68620
68621         * m4/ftruncate.m4: New file (derived from part of
68622         fileutils/configure.in).
68623         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
68624         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
68625
68626         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
68627         AC_SUBST these here, rather than just in sh-util/configure.in, so
68628         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
68629         all the same.
68630         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
68631         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
68632         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
68633         (AC_SUBST(POW_LIBM)): Likewise.
68634         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
68635
68636 2000-01-23  Jim Meyering  <meyering@lucent.com>
68637
68638         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
68639         obstack.c.
68640
68641 2000-01-22  Jim Meyering  <meyering@lucent.com>
68642
68643         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
68644
68645         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
68646
68647         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
68648         configure.in
68649         (AC_CHECK_HEADERS): Likewise for sh-utils.
68650         (AC_CHECK_HEADERS): Likewise for textutils.
68651         Merge the three lists of headers.
68652
68653         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
68654         from fileutils' configure.in.
68655
68656         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
68657         code. Moved tests into their own function (_jm_DECL_HEADERS) in
68658         check-decl.m4.
68659
68660         * m4/check-decl.m4: Use #if rather than #ifdef.
68661         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
68662         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
68663         (_jm_DECL_HEADERS): Define new function.
68664         (jm_CHECK_DECLARATIONS): Require it.
68665
68666 2000-01-22  Jim Meyering  <meyering@lucent.com>
68667
68668         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
68669         [! HAVE_DECL_STRTOULL]: Declare strtoull.
68670         Required for some AIX systems.  Reported by Christian Krackowizer.
68671         [TESTING] (main): New function.
68672
68673         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
68674         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
68675         letters.
68676
68677         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
68678         iswprint.
68679
68680         * lib/strverscmp.c (ISDIGIT): Define.
68681         (strverscmp): Use ISDIGIT, not isdigit.
68682
68683 2000-01-19  Jim Meyering  <meyering@lucent.com>
68684
68685         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
68686         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
68687         defines `struct timespec' in <sys/time.h>
68688
68689         * m4/c-bs-a.m4: Remove uses of changequote altogether.
68690         Thanks to Akim for explaining.
68691
68692 2000-01-17  Paul Eggert  <eggert@twinsun.com>
68693
68694         * lib/nanosleep.c (nanosleep):
68695         Don't use SA_INTERRUPT to decide whether to call sigaction, as
68696         POSIX.1 doesn't require SA_INTERRUPT and some systems
68697         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
68698         it's been part of POSIX.1 since day 1 (in 1988).
68699
68700 2000-01-17  Jim Meyering  <meyering@lucent.com>
68701
68702         * lib/interlock: Remove unused file.  Reported by François Pinard.
68703
68704 2000-01-16  Paul Eggert  <eggert@twinsun.com>
68705
68706         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
68707         alert, backslash, formfeed, and vertical tab unnecessarily in
68708         shell quoting style.
68709
68710 2000-01-16  Jim Meyering  <meyering@lucent.com>
68711
68712         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
68713         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
68714         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
68715         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
68716
68717 2000-01-16  Jim Meyering  <meyering@lucent.com>
68718
68719         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
68720         because the latter didn't work.
68721
68722 2000-01-15  Jim Meyering  <meyering@lucent.com>
68723
68724         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
68725         (AC_REPLACE_FUNCS): Add memcpy and memset.
68726         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
68727         Add strpbrk.
68728         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
68729
68730 2000-01-12  Jim Meyering  <meyering@lucent.com>
68731
68732         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
68733         (jm_PREREQ): Use it.
68734         (jm_PREREQ_READUTMP): New macro.
68735         (jm_PREREQ): Use it.
68736
68737 2000-01-11  Paul Eggert  <eggert@twinsun.com>
68738
68739         Quote multibyte characters correctly.
68740         * m4/c-bs-a.m4: New file.
68741         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
68742         (jm_PREREQ): Use it.
68743
68744 2000-01-11  Paul Eggert  <eggert@twinsun.com>
68745
68746         * m4/uintmax_t.m4: Port to autoconf 2.13.
68747
68748 2000-01-08  Jim Meyering  <meyering@ascend.com>
68749
68750         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
68751         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
68752
68753 2000-01-04  Jim Meyering  <meyering@ascend.com>
68754
68755         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
68756         jm_STRUCT_DIRENT_D_TYPE.
68757         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
68758         jm_STRUCT_DIRENT_D_INO.
68759         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
68760         jm_STRUCT_UTIMBUF.
68761         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
68762         renamings.
68763         * m4/utime.m4: Likewise.
68764
68765         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
68766         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
68767
68768 2000-01-03  Paul Eggert  <eggert@twinsun.com>
68769
68770         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
68771         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
68772
68773 2000-01-02  Jim Meyering  <meyering@ascend.com>
68774
68775         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
68776         remember if this is necessary.
68777
68778 1999-12-26  Jim Meyering  <meyering@ascend.com>
68779
68780         * m4/jm-macros.m4: Use it here.
68781         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
68782
68783 1999-12-23  Jim Meyering  <meyering@ascend.com>
68784
68785         * m4/jm-macros.m4: Check for clock_gettime (moved from
68786         fileutils/configure.in)
68787         Check for gettimeofday.
68788
68789 1999-12-20  Jim Meyering  <meyering@ascend.com>
68790
68791         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
68792         autoconf-2.14a-1999-12-20.
68793
68794 1999-12-19  Jim Meyering  <meyering@ascend.com>
68795
68796         * m4/lstat-slash.m4: New file.
68797         * m4/jm-macros.m4: Use the new macro:
68798         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
68799
68800 1999-12-07  Jim Meyering  <meyering@ascend.com>
68801
68802         * m4/perl.m4: Require that File::Compare be available, too.
68803         Too many systems seem to lack it.
68804
68805         * m4/strftime.m4: Add checks for most of the cpp macros tested in
68806         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
68807
68808 1999-11-18  Paul Eggert  <eggert@twinsun.com>
68809
68810         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
68811         problem with the QNX 4.25 shell, which doesn't propagate exit
68812         status of failed commands inside shell assignments.
68813
68814 1999-11-17  Jim Meyering  <meyering@ascend.com>
68815
68816         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
68817
68818 1999-11-07  Jim Meyering  <meyering@ascend.com>
68819
68820         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
68821
68822 1999-11-06  Jim Meyering  <meyering@ascend.com>
68823
68824         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
68825         * m4/jm-macros.m4 (jm_MACROS): Use it here.
68826
68827 1999-11-05  Jim Meyering  <meyering@ascend.com>
68828
68829         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
68830         configure.in of textutils, fileutils, and sh-utils into this one
68831         (shared between those packages) file.
68832         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
68833         AC_STRUCT_ST_BLKSIZE.
68834
68835 1999-11-03  Jim Meyering  <meyering@ascend.com>
68836
68837         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
68838         of AC_CHECK_TYPE checks includes unistd.h.
68839         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
68840         Suggestion from Akim Demaille.
68841
68842 1999-10-30  Jim Meyering  <meyering@ascend.com>
68843
68844         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
68845         m4-quoted string.
68846         * m4/ls-mntd-fs.m4: Likewise.
68847         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
68848         * m4/jm-winsz1.m4: Likewise.
68849
68850         * m4/const.m4: Remove file, since the fix made it into the experimental
68851         version of autoconf.
68852         * m4/mktime.m4: Likewise.
68853
68854         * m4/check-type.m4: Remove file, now that the latest version of
68855         AC_CHECK_TYPE takes a third arg to specify additional #includes.
68856
68857         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
68858         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
68859         AC_CHECK_TYPE.
68860
68861 1999-10-04  Jim Meyering  <meyering@ascend.com>
68862
68863         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
68864
68865 1999-09-22  Paul Eggert  <eggert@twinsun.com>
68866
68867         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
68868         2.95.1 bug with HP-UX 10.20.
68869
68870 1999-09-17  Jim Meyering  <meyering@ascend.com>
68871
68872         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
68873         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
68874         due to missing strdup (against sh-utils-2.0).
68875
68876 1999-08-29  Jim Meyering  <meyering@ascend.com>
68877
68878         * m4/jm-macros.m4: Require jm_BISON.
68879         * m4/bison.m4: New file.
68880
68881 1999-08-17  Paul Eggert  <eggert@twinsun.com>
68882
68883         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
68884         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
68885
68886 1999-08-05  Jim Meyering  <meyering@ascend.com>
68887
68888         * m4/getline.m4: Rename test file from conftestdata to conftest.data
68889         to avoid conflicts with `conftest' on 8+3 filesystems.
68890         Suggestion from Eli Zaretskii.
68891
68892 1999-08-04  Jim Meyering  <meyering@ascend.com>
68893
68894         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
68895         fileutils and sh-utils (textutils's getline test was inadequate).
68896         (AM_FUNC_GETLINE): Run this test.
68897         (AC_CHECK_FUNCS): Check for getdelim.
68898         Reported by Bob Proulx.
68899
68900 1999-08-02  Jim Meyering  <meyering@ascend.com>
68901
68902         * m4/jm-macros.m4: Add a comment.
68903
68904 1999-08-01  Paul Eggert  <eggert@twinsun.com>
68905
68906         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
68907         <inttypes.h> defines strtoumax as a macro (and not as a
68908         function).
68909
68910 1999-08-01  Paul Eggert  <eggert@twinsun.com>
68911
68912         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
68913         that we can shift, multiply and divide unsigned long long
68914         values; Ultrix cc can't do it.
68915
68916 1999-08-01  Paul Eggert  <eggert@twinsun.com>
68917
68918         * m4/mktime.m4: New file, which is a preview of what should appear
68919         in the next public autoconf release.
68920
68921 1999-08-01  Paul Eggert  <eggert@twinsun.com>
68922
68923         * m4/lfs.m4: Remove this file.
68924         * m4/largefile.m4: New file.  It contains the old contents of
68925         lfs.m4, except that all names with prefix AC_LFS have been
68926         changed to use the prefix AC_SYS_LARGEFILE instead, to be
68927         compatible with future autoconf versions.  Also, some minor m4
68928         quoting problems have been fixed.
68929
68930 1999-08-01  Paul Eggert  <eggert@twinsun.com>
68931
68932         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
68933         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
68934         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
68935         and simplify the shell code.
68936
68937 1999-08-01  Jim Meyering  <meyering@ascend.com>
68938
68939         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
68940         m4.
68941
68942 1999-07-20  Jim Meyering  <meyering@ascend.com>
68943
68944         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
68945
68946 1999-07-15  Jim Meyering  <meyering@ascend.com>
68947
68948         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
68949
68950 1999-05-22  Jim Meyering  <meyering@ascend.com>
68951
68952         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
68953
68954 1999-05-20  Jim Meyering  <meyering@ascend.com>
68955
68956         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
68957         Add a colon after each `then' in case $4 is empty.
68958
68959 1999-05-16  Jim Meyering  <meyering@ascend.com>
68960
68961         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
68962
68963 1999-05-10  Jim Meyering  <meyering@ascend.com>
68964
68965         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
68966
68967         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
68968         AC_FUNC_MKTIME.
68969
68970 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
68971
68972         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
68973
68974 1999-05-04  Paul Eggert  <eggert@twinsun.com>
68975
68976         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
68977         not CPPFLAGS, so that linking works correctly in IRIX.
68978
68979 1999-04-30  Paul Eggert  <eggert@twinsun.com>
68980
68981         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
68982
68983 1999-04-20  Paul Eggert  <eggert@twinsun.com>
68984
68985         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
68986         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
68987         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
68988         jm_AC_TYPE_UNSIGNED_LONG_LONG.
68989         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
68990
68991         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
68992
68993 1999-04-20  Jim Meyering  <meyering@ascend.com>
68994
68995         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
68996         AC_REPLACE xstroull if necessary.  From Paul Eggert.
68997         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
68998
68999 1999-04-18  Jim Meyering  <meyering@ascend.com>
69000
69001         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
69002         * m4/jm-macros.m4: Use it.
69003
69004 1999-04-06  Jim Meyering  <meyering@ascend.com>
69005
69006         * m4/strftime.m4: Remove test for %f.
69007
69008 1999-03-29  Jim Meyering  <meyering@ascend.com>
69009
69010         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
69011         superset of the AC_TYPE_* checks in the textutils, fileutils,
69012         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
69013         AC_TYPE_PID_T.
69014
69015 1999-03-28  Jim Meyering  <meyering@ascend.com>
69016
69017         * m4/jm-macros.m4: Define GNU_PACKAGE here.
69018         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
69019         replaced e.g., in the *.sh files of the sh-utils.
69020
69021 1999-03-20  Jim Meyering  <meyering@ascend.com>
69022
69023         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
69024         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
69025         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
69026
69027 1999-03-19  Jim Meyering  <meyering@ascend.com>
69028
69029         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
69030
69031 1999-03-12  Jim Meyering  <meyering@ascend.com>
69032
69033         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
69034
69035 1999-03-07  Jim Meyering  <meyering@ascend.com>
69036
69037         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
69038         declared.
69039
69040 1999-02-17  Jim Meyering  <meyering@ascend.com>
69041
69042         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
69043         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
69044
69045 1999-02-07  Jim Meyering  <meyering@ascend.com>
69046
69047         * m4/group-member.m4: New file -- extracted from sh-utils'
69048         configure.in.
69049
69050         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
69051         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
69052
69053 1999-02-06  Jim Meyering  <meyering@ascend.com>
69054
69055         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
69056         * m4/fnmatch.m4: Likewise.
69057         * m4/getgroups.m4: Likewise.
69058         * m4/lstat.m4: Likewise.
69059         * m4/malloc.m4: Likewise.
69060         * m4/putenv.m4: Likewise.
69061         * m4/realloc.m4: Likewise.
69062         * m4/regex.m4: Likewise.
69063         * m4/stat.m4: Likewise.
69064         * m4/strftime.m4: Likewise.
69065         Suggestion from Alain Magloire.
69066
69067         * m4/chown.m4: Use `.$ac_objext', not `.o'.
69068         * m4/fnmatch.m4: Likewise.
69069         * m4/getgroups.m4: Likewise.
69070         * m4/getline.m4: Likewise.
69071         * m4/lstat.m4: Likewise.
69072         * m4/malloc.m4: Likewise.
69073         * m4/memcmp.m4: Likewise.
69074         * m4/putenv.m4: Likewise.
69075         * m4/realloc.m4: Likewise.
69076         * m4/regex.m4: Likewise.
69077         * m4/stat.m4: Likewise.
69078         * m4/strftime.m4: Likewise.
69079         Suggestion from Alain Magloire.
69080
69081         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
69082         an argument.
69083
69084         * m4/regex.m4: Add a run-time Test for proper operation of
69085         re_compile_pattern.
69086
69087 1999-01-31  Jim Meyering  <meyering@ascend.com>
69088
69089         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
69090
69091 1999-01-30  Jim Meyering  <meyering@ascend.com>
69092
69093         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
69094
69095         * m4/jm-mktime.m4: Make this a wrapper around the official
69096         AM_FUNC_MKTIME rather than my private copy, now that the official one
69097         is up to date.
69098         * m4/mktime.m4: Remove file.
69099
69100         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
69101         * m4/uptime.m4: Likewise.
69102         * m4/uintmax_t.m4: Likewise.
69103
69104 1999-01-28  Jim Meyering  <meyering@ascend.com>
69105
69106         * m4/jm-macros.m4: Use jm_AFS.
69107         * m4/afs.m4: New file (from fileutils' configure.in).
69108
69109         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
69110         * m4/chown.m4: Likewise.
69111         * m4/d-ino.m4: Likewise.
69112         * m4/d-type.m4: Likewise.
69113         * m4/fnmatch.m4: Likewise.
69114         * m4/getgroups.m4: Likewise.
69115         * m4/gettext.m4: Likewise.
69116         * m4/jm-mktime.m4: Likewise.
69117         * m4/jm-winsz2.m4: Likewise.
69118         * m4/lcmessage.m4: Likewise.
69119         * m4/ls-mntd-fs.m4: Likewise.
69120         * m4/malloc.m4: Likewise.
69121         * m4/memcmp.m4: Likewise.
69122         * m4/putenv.m4: Likewise.
69123         * m4/realloc.m4: Likewise.
69124         * m4/st_mtim.m4: Likewise.
69125         * m4/strftime.m4: Likewise.
69126
69127 1999-01-16  Jim Meyering  <meyering@ascend.com>
69128
69129         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
69130         (ARGMATCH_DIE_DECL): Define.
69131
69132 1999-01-12  Jim Meyering  <meyering@ascend.com>
69133
69134         * m4/Makefile.am.in: Rewrite to avoid using fmt.
69135         Reported by Lars Hecking.
69136
69137 1999-01-10  Jim Meyering  <meyering@ascend.com>
69138
69139         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
69140         gross kludge.
69141         * m4/inttypes_h.m4: Likewise.
69142         * m4/lstat.m4: Likewise.
69143         * m4/malloc.m4: Likewise.
69144         * m4/readdir.m4: Likewise.
69145         * m4/realloc.m4: Likewise.
69146         * m4/st_dm_mode.m4: Likewise.
69147         * m4/stat.m4: Likewise.
69148         * m4/utimbuf.m4: Likewise.
69149         * m4/utimes.m4: Likewise.
69150
69151         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
69152         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
69153         comments in config.h.in are meaningful.
69154
69155         * m4/jm-macros.m4: Require autoconf-2.13 here.
69156
69157         * m4/regex.m4: By default, don't use the included regex.c on systems
69158         with glibc 2.  Suggestion from Uli Drepper.
69159
69160 1999-01-02  Jim Meyering  <meyering@ascend.com>
69161
69162         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
69163
69164 1998-12-18  Jim Meyering  <meyering@ascend.com>
69165
69166         * m4/Makefile.am.in (Makefile.am): Simplify rule.
69167         Based on a suggestion from Lars Hecking.
69168
69169 1998-11-16  Paul Eggert  <eggert@twinsun.com>
69170
69171         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
69172
69173 1998-11-16  Jim Meyering  <meyering@ascend.com>
69174
69175         * m4/lfs.m4: Double-quote the `uname...` expression.
69176
69177 1998-11-14  Jim Meyering  <meyering@ascend.com>
69178
69179         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
69180         * m4/stat.m4: Likewise.
69181
69182 1998-11-03  Jim Meyering  <meyering@ascend.com>
69183
69184         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
69185         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
69186
69187 1998-10-18  Jim Meyering  <meyering@ascend.com>
69188
69189         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
69190
69191 1998-10-17  Jim Meyering  <meyering@ascend.com>
69192
69193         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
69194         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
69195         calls for those previously hard-coded headers.  Instead, take a new
69196         parameter.
69197         (jm_CHECK_DECLARATIONS): Reflect interface change.
69198         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
69199         (jm_CHECK_DECL_LOCALTIME_R): New macro.
69200
69201         * m4/mktime.m4: Test for spring-forward gap before long-running test.
69202
69203 1998-10-14  Jim Meyering  <meyering@ascend.com>
69204
69205         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
69206         instead of "TZ=America/Vancouver".  From Paul Eggert.
69207
69208 1998-10-11  Jim Meyering  <meyering@ascend.com>
69209
69210         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
69211         This adds a test for a recently added compatibility fix for mktime.c.
69212         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
69213
69214 1998-09-27  Jim Meyering  <meyering@ascend.com>
69215
69216         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
69217
69218         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
69219         ../configure.in, including a change from Gordon Matzigkeit to allow
69220         cross-compiling for the Hurd.
69221
69222         * m4/glibc.m4: New file/macro to test for the GNU C Library
69223         versions 1 and 2.  From Gordon Matzigkeit.
69224         Indent.
69225
69226 1998-09-21  Jim Meyering  <meyering@ascend.com>
69227
69228         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
69229
69230 1998-08-18  Paul Eggert  <eggert@twinsun.com>
69231
69232         Port nanosecond-resolution times to UnixWare 2.1.2 and
69233         pedantic Solaris 2.6.
69234
69235         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
69236         AC_STRUCT_ST_MTIM.
69237         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
69238         Generate name of ns member, instead of just 1 or undef.
69239         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
69240
69241 1998-08-15  Jim Meyering  <meyering@ascend.com>
69242
69243         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
69244         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
69245         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
69246         instead of jm_TYPE_SSIZE_T.
69247
69248 1998-08-12  Jim Meyering  <meyering@ascend.com>
69249
69250         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
69251
69252 1998-08-02  Jim Meyering  <meyering@ascend.com>
69253
69254         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
69255         in acconfig.h manually.
69256
69257 1998-07-31  Paul Eggert  <eggert@twinsun.com>
69258
69259         * m4/st_mtim.m4: New file.
69260
69261 1998-07-28  Jim Meyering  <meyering@ascend.com>
69262
69263         * m4/utimes.m4: Undef stat.
69264
69265 1998-07-25  Jim Meyering  <meyering@ascend.com>
69266
69267         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
69268         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
69269
69270 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
69271
69272         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
69273         uid and gid actually remain unchanged.
69274
69275 1998-07-07  Jim Meyering  <meyering@ascend.com>
69276
69277         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
69278
69279 1998-07-04  Jim Meyering  <meyering@ascend.com>
69280
69281         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
69282         to prove that this macro can be used in packages without regex.c.
69283
69284 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
69285
69286         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
69287         is to be used.
69288
69289 1998-07-03  Jim Meyering  <meyering@ascend.com>
69290
69291         * m4/gettext.m4: Add -lintl if it's found to be necessary.
69292
69293         * m4/gettext.m4: New file -- from gettext-0.10.35.
69294         * m4/lcmessage.m4: Likewise.
69295         * m4/progtest.m4: Likewise.
69296
69297         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
69298         * m4/jm-macros.m4: Require the new macro.
69299
69300 1998-06-29  Jim Meyering  <meyering@ascend.com>
69301
69302         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
69303         for the definition of NGROUPS (used in a system header included
69304         by sys/mount.h).
69305
69306 1998-06-28  Jim Meyering  <meyering@ascend.com>
69307
69308         * m4/ls-mntd-fs.m4: New file.
69309         * m4/fstypename.m4: New file.
69310
69311         * m4/jm-macros.m4: Require the new macro.
69312         * m4/jm-glibc-io.m4: New file.
69313
69314 1998-05-19  Jim Meyering  <meyering@ascend.com>
69315
69316         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
69317         * m4/lchown.m4: New file.
69318
69319         * m4/Makefile.am.in: New file.
69320         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
69321
69322 1998-05-14  Jim Meyering  <meyering@ascend.com>
69323
69324         * m4/Makefile.am (EXTRA_DIST): Add them.
69325         * m4/jm-macros.m4: New file.
69326         * m4/utimbuf.m4: New file.
69327
69328 1998-05-12  Jim Meyering  <meyering@ascend.com>
69329
69330         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
69331
69332 1998-05-11  Jim Meyering  <meyering@ascend.com>
69333
69334         * m4/isc-posix.m4: New file.
69335
69336 1998-05-10  Jim Meyering  <meyering@ascend.com>
69337
69338         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
69339
69340 1998-05-09  Jim Meyering  <meyering@ascend.com>
69341
69342         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
69343         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
69344         with automake.
69345
69346         * m4/ssize_t.m4: New file.
69347         * m4/mktime.m4: Remove file -- the new automake has this now.
69348
69349 1998-04-26  Jim Meyering  <meyering@ascend.com>
69350
69351         * m4/assert.m4: New file.
69352         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
69353
69354 1998-04-05  Jim Meyering  <meyering@ascend.com>
69355
69356         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
69357         (jm_PREREQ): Use it here.
69358
69359 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
69360
69361         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
69362         in acconfig.h.
69363
69364 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
69365
69366         * m4/prereq.m4: New file.
69367         * m4/error.m4: New file.
69368         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
69369
69370 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
69371
69372         * m4/getline.m4: Don't set am_cv_func_working_getline before the
69373         cache-check for the same variable -- that defeated the purpose of
69374         the test; the test program was never run.  This was a problem only
69375         on systems with losing getline functions -- HP-UX 10.20 is one.
69376         Reported by Bjorn Helgaas.
69377
69378 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
69379
69380         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
69381
69382 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
69383
69384         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
69385
69386         * m4/const.m4: New file.  Use an initializer in this declaration
69387         typedef int charset[2]; const charset x;
69388         Reported by Bob Glickstein.
69389
69390 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
69391
69392         * m4/chown.m4: Fix reversed types on -1 args to chown.
69393         From Kaveh Ghazi.
69394
69395 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
69396
69397         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
69398         Add lseek and memchr.
69399
69400         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
69401         T.E.Dickey <dickey@clark.net> said that some older preprocessors
69402         have a 20-character limit on names.
69403
69404 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
69405
69406         * m4/inttypes_h.m4: New file.
69407         * m4/uintmax_t.m4: New file.
69408         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
69409
69410
69411         -----
69412
69413         Local Variables:
69414         coding: utf-8
69415         End:
69416
69417         Copyright (C) 1997-2010 Free Software Foundation, Inc.
69418
69419         Copying and distribution of this file, with or without
69420         modification, are permitted provided the copyright notice
69421         and this notice are preserved.